Top-Themen:
- Software-Updates
- Defragmentierung von CP/M-Datenträgern
- BasiCode
- Übertragung von BASIC-Programmen auf fremde Computer
Ein paar Worte zur Einleitung
von Andreas Ose
Ja, so ist das eben. Die Zeit rennt und eh man sich versieht, ist schon wieder ein neues Jahr da. Und auch in diesem sind wir schon wieder mitten drin. Trotzdem: Auch von mir an alle die besten Wünsche für 1999.
Mit dem Jahreswechsel hat wie überall natürlich auch bei uns der EURO Einzug gehalten. Wer schon jetzt in der neuen Währung überweisen möchte, nachfolgend die entsprechenden Werte:
Voller Beitrag: | DEM 40,00 = EUR 20,45 |
Halber Beitrag: | DEM 20,00 = EUR 10,23 |
Da aber nicht alles so heiß gegessen wird, wie man es kocht, bleibt bei uns erst mal alles beim alten. Bis zum Jahr 2002 werden unsere Finanzen inkl. dem Club-Konto bei der Postbank auch weiterhin in Deutsche Mark geführt. Danach gibt es ja bekanntlich kein Ausweichen ...
Apropos Beitragszahlungen: Im Moment sieht es hier (noch) etwas kümmerlich aus, so daß ich doch mal den mahnenden Finger heben muß. Per 07.02.1999 hatten gerade mal 48 Mitglieder ihren (Halb-) Jahresbeitrag überwiesen. Das entspricht ca. 70 % der Mitglieder. In der letzten Zeit hatte ich übrigens mehrere Anfragen nach der Bankverbindung. Also hier ist sie nochmal:
Konto-Nr.: | 03 512 606 09 |
Bankleitzahl: | 500 100 60 |
Kreditinstitut: | Postbank AG Frankfurt am Main |
Kontoinhaber: | Andreas Ose |
Und wer ausnahmsweise mal die KC-News weiter als bis zur Rubrik ,,KC- Flohmarkt`` oder ,,Inhalt Beilagendiskette`` liest, findet diese auch im ,,Impressum`` einer jeden Ausgabe. Sieh’ mal an ... :-)
Und bitte denkt daran, rechtzeitig zu überweisen. Zwar muß niemand befürchten, sofort aus der Mitgliederliste gestrichen zu werden, aber jede Nachsendung bringt uns immerhin um die Portoersparung von 10 % je Sendung. Und Kleinvieh macht ja bekanntlich auch Mist.
In der Mitgliederliste fandet Ihr im letzten Jahr neben Hendrik auch den Namen Kay Wagenknecht. Kay hatte sich per eMail das Anmeldeformular angefordert, ohne dies jedoch jemals zurückgesand zu haben. Soweit nichts besonderes. Ungwöhnlich jedoch ist, daß er seinen Beitrag auf das Clubkonto überwies, ohne jemals seine Anschrift mitgeteilt zu haben. Als ich diesbezüglich nachfragen wollte, war sein eMail-Account bereits wieder erloschen. Mit dieser Ausgabe nehmen ich Kay aus der Mitgliederliste. Sollte jemand von Euch Kontakt zu ihm (gehabt) haben oder wissen, wie ich ihn erreiche, dann wäre ich über eine kurze Nachricht dankbar.
Und weil wir gerade bei Erreichbarkeit sind. Bis letzten November hattet Ihr die Möglichkeit, mich neben dem Postweg und eMail auch über meinen Anrufbeantworter (via Voice-Modem) zu erreichen. Nachdem sich dann meine Festplatte verabschiedet hat, lasse ich den Rechner die Woche über nicht mehr an. Hat übrigens jemand von Euch eine Platine für eine Seagate ST31621A?
Wenn Ihr mich also momentan telefonisch erreichen wollt: Die beste Gelegenheit ist freitags und samstags zwischen ca. 20.30 Uhr und ca. 23.30 Uhr. Die restliche Zeit des Wochenendes müßt Ihr eventuell mehrmals probieren. Sorry, für die damit verbundene Mühe. Eine Lösung ist bereits in Sicht...
Abschließend noch eine Bitte (Aufrufe werden ja sowieso nicht erhört): Ich weiß, daß bei mir im letzten Jahr nicht alles in Sachen KC-News kopieren und versenden optimal verlaufen ist. Dennoch ist das Feedback so gut wie Null. Also, sollte Euch was gegen den Strich gehen, dann scheut Euch nicht, mir Eure Kritiken und Vorschläge auch mitzuteilen. Danke!
Soweit für diesmal. Bestimmt fällt mir noch etwas ein, wenn ich den Artikel weggeschickt habe. In dem Zusammenhang: Danke an Frank, daß er auf diese Zeilen gewartet hat. Nun aber viel Spaß mit den KC-News wünscht Euch
Euer Andreas
Noch ein paar mehr Vorworte
von Frank Dachselt
Ja, nicht nur gewartet, sondern - um etwas Abwechslung auf die erste Seite zu bringen - auch gleich an die erste Stelle gesetzt habe ich Andreas' Zeilen. Diesen Zustand, daß also auch mal jemand anders die einleitenden Worte schreibt, würde ich mir als Redakteur viel häufiger wünschen. Schaut man sich die Editorials der ,,professionellen`` Zeitschriften an, dann kann jeder feststellen, daß dort die unterschiedlichsten Leute zu Wort kommen und damit eine bunte Palette an Meinungen, Problemen, Geschichten usw. veröffentlicht wird. Warum sollte das bei uns nicht auch so sein? Wenn sich also jemand berufen fühlt, mal ein paar einleitende Sätze für eine Ausgabe zu schreiben, dann immer her damit! Nicht nur ich, sondern bestimmt auch die anderen Leser der KC-News würden diese Abwechslung begrüßen.
Auch wenn Aufrufe nach Andreas' Meinung wenig Wirkung zeigen - hier kommt noch einer, der Euch nicht unbekannt vorkommen dürfte: Ein Blick ins Inhaltsverzeichnis dieser Ausgabe verrät, daß ich auch diesmal nicht gerade reichlich mit Beiträgen ,,versorgt`` wurde. Das mag auch daran liegen, daß einige Autoren, die sonst dort mit ihren Beiträgen zu finden sind, zur Zeit fleißig am Assembler-Programmierkurs schreiben oder an Projekten arbeiten, die bis zum Clubtreffen im April vorführreif sein sollen. Deshalb an dieser Stelle einmal mehr die Bitte an alle Clubmitglieder: Jeder Beitrag, der in irgend einer Weise in Verbindung mit dem KC85 steht, ist hier willkommen!
Aber ich will nicht nur klagen. Immerhin steht uns das 5. Clubtreffen unmittelbar bevor. Zur Erinnerung gibt's auf der Titelseite noch einmal eine Lageskizze. Genauere Informationen zur Anreise können in den KC-News 3/98 auf Seite 1 nachgelesen werden. Sollten noch Fragen offen sein, dann setzt Euch am besten direkt mit Dietmar Meyer, der das Treffen in diesem Jahr organisiert, in Verbindung.
Zur Zeit gibt es bereits 30 verbindlich angemeldete Teilnehmer, einige weitere Interessenten haben bereits ihren Besuch im Aussicht gestellt. Damit stehen die Chancen recht gut, daß wir wieder die Größenordnung des ,,Rekordtreffens`` vom Vorjahr erreichen werden.
Ein festes Programm, nach dem sich dann sowieso wieder keiner richtet, wird es diesmal nicht geben. Vielmehr werden wird uns ganz auf das kreative Chaos verlassen, das den Teilnehmern der vorangegangenen Treffen bestens bekannt sein dürfte. Trotzdem gibt es natürlich bereits einige Ankündigungen für Vorführungen, die mit Gewissheit auf breites Interesse stoßen werden. Laßt Euch also überraschen!
Und nun auch von meiner Seite viel Vergnügen beim Lesen dieser Ausgabe!
Euer Redakteur Frank
Software-Updates
von Mario Leubner
Neue Plug-In's für UNIKON
Heute möchte ich 5 neue Plug-In's für das Konvertierungsprogramm UNIKON von Jörg Linder vorstellen. Durch das verwendete Konzept von UNIKON lassen sich weitere Prozeduren für die umfangreiche Vielfalt von Konvertierungen leicht einbinden. Beschrieben ist das recht ausführlich in den HELP-Dateien zu UNIKON, siehe dazu KC-News 2/97. Die einzelnen Module werden im PRL-Code erzeugt und erhalten den Dateityp .PLG, alle Module werden in einer Library zusammengefaßt, die für die Anwendung von UNIKON einen speziellen Namen (z.B. UNIKON21.OVR) erhält. Um ein neues Modul aufnehmen zu können ist eine Umbenennung der Datei in *.LBR erforderlich. Danach können die Kommandos LDIR, LPUT, LGET usw. benutzt werden um diese Library zu bearbeiten. Zum Schluß nennt man die LBR-Datei wieder in UNIKON21.OVR um. Doch nun zu meinen neuen Plug-In's:
- CRLF.PLG
- ergänzt alle einzeln auftretenden Textendezeichen CR oder LF zu einem Paar CR+LF, vorhandene CR+LF bleiben erhalten. Diese Methode eignet sich zur Konvertierung von Texten, die entweder nur CR als Trennzeichen enthalten oder nur LF. Der erzeugte Text liegt im Standardformat mit CR und LF vor.
- DEUTSCH.PLG
- konvertiert Texte mit deutschen Umlauten zu den Ersatzzeichen, die mit amerikanischem Zeichensatz besser lesbar sind (Ä nach Ae, ä nach ae usw.). Das ist günstig für HLP-Dateien oder andere Texte, die vorwiegend unter CP/M mit amerikanischen Zeichensatz angezeigt werden sollen. Falls Texte im Blocksatz konvertiert wurden, dann ist eine Nachbehandlung mit einem Textprogramm nötig, da ja die Ersatzzeichen jeweils zwei Zeichen beanspruchen.
- HILFE.PLG
- entfernt die Steuerzeichen für die Inversdarstellung aus HELP-Dateien. Diese Anwendung ist erforderlich, wenn HLP-Dateien unter CP/M mit der Vorgängerversion HILFE.COM angezeigt werden sollen. HILFE.COM kennt die Inversdarstellung noch nicht und gibt so die Steuerzeichen direkt aus. Folge für KC-Besitzer: man kann nichts lesen, da immer wieder der Bildschirm gelöscht wird!
- TYPESTAR.PLG
- konvertiert Textdateien des Textprogrammes Typestar'90 (Modul M033) nach ASCII. Es können sowohl unkomprimierte Texte *.TYP wie auch komprimierte Texte *.SQZ als Quelldatei dienen. Erzeugt wird eine normale ASCII-Datei, die dann mit TPKC oder WordPro6 weiter bearbeitet werden kann. Leider standen mir zum Test dieses Moduls nur sehr wenige TYPESTAR-Dateien zur Verfügung, so daß ich nicht weiß, ob ich das Typestar-Format korrekt analysiert habe. Sollte es bei jemandem Probleme mit der Konvertierung geben, so bitte ich um Einsendung einer Diskette mit der Typestar-Datei und einem Ausdruck des Textes. Ich werde dann versuchen, das Format noch zu integrieren.
- WS2ASCII.PLG
- dient zum Konvertieren von Wordstar-Texten, die im Dokumentmodus erstellt worden sind, in einen ,,normalen`` ASCII-Text. Dabei werden alle gesetzten Bit 7 zurückgesetzt. Steuerzeichen außer CR, LF und FF werden entfernt. Trennzeichen am Zeilenende werden durch richtige Trennzeichen ,,-`` ersetzt, mitten in der Zeile werden sie entfernt.
-
Update von MODF.COM - Version 1.4
Mit den bisherigen Versionen von MODF.COM war es möglich, Diskettenformate mit mehr als 255 1K-Blöcken zu erzeugen. Erst jetzt ist mir aufgefallen, daß das keinen Sinn macht. Bei mehr als 255 Blöcken sind 16-Bit Blocknummern zu benutzen, in einem Verzeichniseintrag haben aber nur 8 Blocknummern zu je 16 Bit Platz. Ein solcher Verzeichniseintrag kann also nur maximal 8 KByte aufnehmen, obwohl mindestens 16 KByte für einen Extent erforderlich sind. In der Version 1.4 von MODF ist eine Überwachung dieser Grenze eingebaut. Die Reihenfolge der Parametereingabe mußte dabei etwas geändert werden, um zu jedem Zeitpunkt die benötigten Werte für die erforderlichen Berechnungen zur Verfügung zu haben. Bereits definierte Formate in einer vorhandenen Datei MODF.DAT können ohne Änderungen für MODF V1.4 weiter verwendet werden.
TRANSFER - Version 1.92
auch wenn es in letzter Zeit bereits verschiedene Aktivitäten zur direkten Datenübertragung KC <--> PC gab, habe ich am Programm TRANSFER noch ein paar Erweiterungen vorgenommen. Am meisten störte mich bisher, daß keine Dateiattribute übergeben werden. In der aktuellen Version 1.92 habe ich dies für das R/O-, das System- und das Archivflag realisiert. Außerdem werden alle CP/M-Flags im Dateinamen zurückgesetzt, bevor dieser in das MS-DOS-Verzeichnis geschrieben wird. Läuft TRANSFER unter ZSDOS, dann erhalten die im MS-DOS-Verzeichnis erzeugten Dateien das aktuelle Datum (statt wie bisher das Versionsdatum von TRANSFER).
Defragmentierung von CP/M-Datenträgern?
von Mario Leubner
Werden auf einer Diskette oder Festplatte häufig Daten gelöscht, neue kopiert und wieder gelöscht, oder Dateien wachsen nach und nach immer weiter an, dann erhält man nach kurzer Zeit sehr fragmentierte Dateien. Das heißt, einzelne Dateien sind über den ganzen Datenträger verteilt abgespeichert. Als Folge werden die Zugriffszeiten auf solche Dateien immer größer und Lesefehler häufiger, weil der Schreib-/Lesekopf große Wege zurücklegen muß. Ursache ist die Vorgehensweise, wie CP/M (und auch andere Betriebssysteme) die Daten abspeichern: Jede Datei besteht aus Datenblöcken, die Blockgröße hängt dabei vom Datenträger ab und ist zum Beispiel bei den KC-Disketten 2 K, bei Festplatten auch 4 K oder 8 K. Soll jetzt eine 40 K große Datei auf eine Diskette gespeichert werden, sind 20 Datenblöcke dazu erforderlich. Das CP/M sucht nun nach dem ersten freien Datenblock und benutzt diesen, dann wird der nächste freie Block gesucht usw. Solange die Diskette der Reihe nach beschrieben wird, sind die Datenblöcke auch der Reihe nach belegt. Wurde jedoch am Beginn der Diskette eine vorhandene 8K-Datei gelöscht, so werden auch diese Blöcke mit vergeben und die neu erzeugte Datei liegt in mehreren Stücken auf der Diskette: 8 K am Anfang der Diskette und der Rest weiter hinten. Je öfter solche Vorgänge auftreten, um so mehr werden die Daten verstreut.
Um Abhilfe zu schaffen, wäre ein Programm erforderlich, das die Blöcke neu ordnet. Als wünschbarer Nebeneffekt könnte das Verzeichnis gleich mit alphabetisch sortiert werden. Leider konnte ich bis jetzt kein CP/M-Programm finden, das diese Aufgabe erfüllt - zumindest nicht für Festplatten. Folgende Leistungsmerkmale sind mindestens erforderlich:
- Prüfung des Verzeichnisses auf doppelt belegte Datenblöcke
- Alphabetische Sortierung der Verzeichnisnamen
- Berücksichtigung der Datestamps in !!!TIME&.DAT
- Neuanordnung der Datenblöcke
- Berücksichtigung einer BAD-Sektordatei
- Bevorzugtes Anordnen häufig benutzter Dateien
- Ignorieren bestimmter Dateien (EPROM-Floppy)
Gefunden habe ich ein Programm ,,Sort and Pack`` oder kurz SAP, damit kann das Verzeichnis sortiert werden - allerdings nur wenn es komplett in den TPA geladen werden kann. Meine zwei Festplattenpartitionen mit 4096 Verzeichniseinträgen belegen jedoch bereits 128 K, wohin damit in den 64 K Adreßraum des Z80? SAP ordnet aber auch nicht die Datenblöcke, so daß nur ein sortiertes Verzeichnis entsteht. Weiter habe ich ein Programm RESTORE gefunden, womit Datenblöcke geordnet werden können. RESTORE fordert jedoch als Voraussetzung ein sortiertes Verzeichnis und überprüft dies auch noch. Eine Sortierung ist jedoch mit RESTORE nicht möglich. Also wenn das Verzeichnis nicht sortiert werden kann, ist die Anwendung von RESTORE auch nicht möglich. Ob RESTORE mit einer Blockgröße von 8 K zurechtkommt, falls das Verzeichnis sortiert wäre, ist ebenfalls fraglich, und theoretisch sind auch noch 16 K Blöcke unter CP/M möglich!
Für Disketten ist die Kombination von SAP und RESTORE eine durchaus brauchbare Lösung. Jedoch habe ich festgestellt, daß es bei Disketten günstiger ist, nur das Verzeichnis zu sortieren und dann die Daten auf eine neu formatierte Diskette zu kopieren. Das geht in den meisten Fällen schneller und ist noch sicherer.
Doch für den wichtigeren Anwendungsfall Festplatte scheint es nichts brauchbares zu geben? Einziger Ausweg: man schreibt so ein Programm selbst. Und ich habe bereits begonnen und die ersten Erfolge verzeichnen können. Doch für ein Programm mit einem derartigen Eingriff in die Organisation des Datenträgers müssen noch ein paar weitere Tests folgen, bevor eine Freigabe möglich ist. Wert lege ich dabei in erster Linie auf die Datensicherheit und erst danach auf Schnelligkeit. Denn eine zerstörte Datei ist meist schwieriger wieder zu beschaffen als man Zeit für ein paar zusätzliche Dateizugriffe warten muß. Da das Programm je nach Laufwerksbelegung auch mal Stunden für eine vollständige Neuordnung benötigen kann, muß es eine Möglichkeit zum vorzeitigen Abbruch geben. Vor einer Defragmentierung sollte trotzdem immer ein Backup durchgeführt werden. Es kann also nichts schaden, sich schon einmal mit den diversen Backup-Programmen (z.B. BU17.COM) zu befassen...
BasiCode - Übertragung von BASIC-Programmen auf fremde Computer
von Henning Räder, Peter Liebert-Adelt und Thomas Rademacher
Was reizt uns an der Beschäftigung mit Computer-Oldies aus der 8-Bit-Ära? Es genügt uns nicht, Icons anzuklicken und ständig Updates oder die neuesten Programme zu erwerben, damit wir uns für die souveränen Beherrscher modernster High-Tech halten können. Wir sind auch nicht spätestens aller zwei Jahre der Meinung, die Hardware müßte entscheidend aufgerüstet oder noch besser komplett neu angeschafft werden.
Stattdessen bleiben wir unseren alten Heimcomputern treu, die auf Flohmärkten zu Preisen angeboten werden, die einst gerade für ein Zehnerpack Disketten reichten. Warum, aus Geiz? Nein, es stellt uns nicht zufrieden, die Bildchen anzuklicken, die uns Bill Gates' Leute vorsetzen, wir wollen auch nachvollziehen, was sich im Inneren des Computers tut. Wir wollen uns nicht von fertigen Programmen beschäftigen lassen, sondern eigene Zielstellungen so formulieren, daß sie der Computer für uns lösen kann. So stehen wir als Sonderlinge da, doch stört uns das? Nein, uns stört etwas anderes: wir Sonderlinge sind trotz eigentlich gleicher Interessen noch einmal in Dutzende Grüppchen aufgespalten. Ein C64-Programm nützt mir am Atari nichts, mit einem ZX-Programm kann ich am Schneider nichts anfangen. Oder doch?
Bei den attraktivsten Programmen wird das zutreffen, sie nutzen die Hardware-Eigenheiten und Systemroutinen des jeweiligen Computers und können höchstens mit viel Arbeit auf einen andersartigen Computer übertragen werden, wenn man sich mit beiden Geräten perfekt auskennt.
Doch arbeitet nicht fast jeder Heimcomputer mit BASIC? Können sich BASIC-Programme übertragen lassen? Jein! BASIC ist nicht genormt - jeder Hersteller hat einen anderen Dialekt auf dem Markt geworfen und verwendet vor allem andere Token. Trotzdem, hier läßt sich etwas machen, Programme können schließlich auch in Textform abgespeichert werden, und wenigstens ASCII konnte sich als Standard etablieren.
Viele Heimcomputer sind CP/M-fähig, günstige Voraussetzungen für einen Austausch. Übrigens ist sogar so etwas wie ein Kassetten-CP/M erfunden worden. Dieses Konzept heißt BasiCode, es stellt für unterschiedliche Heimcomputer eine einheitliche Bedienoberfläche und ein einheitliches Kassettenaufzeichnungsverfahren bereit und umschifft auch manche Klippe der Dialektunterschiede. BasiCode-Programme (die Freeware sind) gibt es für unterschiedlichste Anwendungsgebiete, obwohl man sich zunächst Beschränkungen auferlegen mußte, damit die Übertragbarkeit gewährleistet werden konnte. Ein BasiCode-Programm, das am C64 geschrieben und auf Kassette abgespeichert wurde, kann tatsächlich von dieser Kassette in den Atari, in den ZX und in den Schneider eingelesen und dort genauso benutzt werden!
Doch sind wir nicht alle bequem geworden, seit wir mit Disketten arbeiten? Wollen wir uns noch das Gefiepse anhören? Und wie lange das dauert! Die Übertragung von Computer zu Computer kann auch per Diskette geschehen, BasiCode ist dann nur noch für die Sprachvereinheitlichung zuständig. Ebenso können wir uns auch ganz von BasiCode lösen, aber dann müssen wir uns um die Sprachanpassung kümmern. Dafür bieten sich Textverarbeitungen an, WordStar unter CP/M oder der DOS-Editor reichen aus.
Ein idealer Weg zur Programmübertragung ist natürlich auch die serielle Kopplung, doch mancher traut sich hier nicht ran, weil es ihm zu kompliziert ist oder er fürchtet, die Hardware könnte Schaden nehmen, weil irgendetwas nicht klappt.
Fassen wir zusammen: BASIC-Programme (oder überhaupt Texte) können wir mit Disketten von einem Heimcomputer zu einem andersartigen übertragen, doch müssen wir die Eigenheiten der jeweiligen Geräte noch berücksichtigen. Zum Beispiel kann jede ZX81-Zeile nur einen BASIC-Befehl aufnehmen, eine KC85-Zeile darf nicht länger als 60 Zeichen sein. Ähnlich unterschiedlich reagieren diese beiden Computer auf die Dimensionierung einer schon dimensionierten Variablen: der ZX81 dimensioniert sie eben neu, doch der KC85 meldet einen Fehler DD (,,Doubly defined array``) usw.
Natürlich gibt es noch Unmengen an unterschiedlichen Diskettenformaten, doch hier zeigt sich, das sogar ein PC zu etwas zu gebrauchen ist. SYDEX vertreibt beispielsweise das Programm 22DISK, das ziemlich alle denkbaren CP/M-Formate verarbeiten kann. Vielleicht reicht schon die Shareware-Version. Ein File wird aus einem CP/M-Format in DOS kopiert und aus diesem wieder in ein anderes CP/M-Format übertragen.
Ein Problem bleiben die Disketten von Commodore-Laufwerken, hier ist das Aufzeichnungsprinzip völlig anders, doch es gibt drei Wege zur Lösung. Der erste ist die schon erwähnte serielle Kopplung. Zweitens soll auf einem C128 die Übertragung machbar sein, da dieser im selben Laufwerk beide Aufzeichnungsverfahren anwenden kann. Drittens, hier sind wir wieder bei dem Punkt, daß auch PCs nützlich sein können, besteht die Möglichkeit, mit Emulatorprogrammen, die es für viele ,,historische`` Computertypen gibt, Programme PC-lesbar zu bekommen oder umgekehrt.
Wichtig ist, daß das BASIC-Programm in ASCII-Form und nicht in Token abgespeichert wird. Bei manchem Computer genügt es, dafür die Option A für den SAVE-Befehl anzugeben, bei anderen gerät es weniger handlich. Zum Beispiel ist beim C64 folgende Sequenz erforderlich:
OPEN 1,8,1,"0:programmname,S,W":CMD 1:LIST:CLOSE 1:CLOSE 1
Der entscheidende Punkt ist CMD 1, ab hier gehen die Ausgaben nicht mehr auf den Monitor, sondern auf das Floppy-Drive. Deswegen müssen auch die Befehle in einem Zug angegeben werden, sonst würde jede Ausgabe ,,READY.`` auch auf der Diskette landen. Geht es um BasiCode, muß übrigens statt LIST angegeben werden LIST 1000-. Die BASIC-Zeilen unter 1000 sind beim BasiCode-Konzept computerspezifisch, nur die Zeilen ab 1000 sind auf fremden Computern nutzbar. Wenn der C64 Programme erhalten soll, muß ein Diskettenmonitorprogramm benutzt werden, um aus Text- in Tokenform umzuwandeln, von vornherein ist er nicht für diese Möglichkeit eingerichtet.
Auch beim KC85 ist das ein wenig umständlich. Das Lesen geht noch, egal, ob von Tape oder Disc, das Programm wird mit LOAD#1``filename`` geladen. Allerdings kann der KC es nur als Programm in ASCII-Form erkennen, wenn es die Namenserweiterung .UUU hat. In irgendeiner Phase muß man also für eine solche Umbenennung sorgen. Der Computer liest es ein und schreibt es dabei auf den Monitor, während er es in interne Darstellungsweise umwandelt. Hierbei hält das Scrolling zusätzlich auf. Man kann Zeit sparen, indem man vor dem Laden PRINT CHR$(17) ausführen läßt, dann wird nicht mehr gescrollt, sondern wieder von oben überschrieben, wenn die letzte Zeile gefüllt ist. Zwar sieht das dann eigenartig aus, doch beeinträchtigt es nicht die Funktion. Mit PRINT CHR$(18) kann man hinterher das Scrolling wieder zulassen.
Das ASCII-Speichern auf dem KC ist noch aufwendiger:
NULL 0:OPENO #1"":LIST #1"":CLOSEO #1
Diese Befehle können aber auch einzeln eingegeben werden, bei BasiCode ist wieder, das gilt für alle Computer, darauf zu achten, nur ab Zeile 1000 abzuspeichern.
Zuletzt ein Überblick über schon erreichte Erfolge und in Bearbeitung befindliche Vorhaben: ein am ZX-Spectrum gesavetes BasiCode-Programm ließ sich unproblematisch in den KC 85/4 einladen und war, einschließlich Teilen der HRG-Graphik, nutzbar. ASCII-Listings von BASIC-Programmen für den KC85, die uns auf 3 1/2``-Diskette vorlagen, benannten wir in *.UUU um, brachten sie via 22DISK auf eine 5 1/4``-Diskette im MicroDOS-Format (in 22DISK hat das Format die Abkürzung HCL1) und konnten sie mit dem LOAD#1-Befehl am KC85/4 einlesen und benutzen. Zwei BasiCode-Programme vom C+4, die zunächst wie oben beschrieben in ASCII-Form gespeichert worden waren, wurden unter Nutzung eines C64-Emulators in den PC geladen und ebenfalls auf dem DISK22-Weg auf KC-Diskette gespeichert. Der umgekehrte Weg ,,funktioniert mittlerweile astrein, und zwar mit Hilfe eines von James Hehl entwickelten 'Seq to Prg'-Konverters, der nicht allein den Directory-Eintrag von Seq zu Prg ändert, sondern das File wirklich Zeile für Zeile umschreibt`` - Zitat vom C+4-Club-Info-Redakteur Erich Laber. Anhand des umfangreichen ZX81-BASIC-Programms TECSTAT, das Peter Liebert-Adelt am PC mittels des ZX81-Emulators in ASCII-Form umwandelt, wollen wir auch die Übertragung von ZX81-Programmen auf den KC85 wagen. Anschließend nehmen wir den umgekehrten Weg in Angriff, wobei den größten Anteil der Arbeit vermutlich der ZX81-Emulator leisten muß. Gut so, denn auf dem BasiCode-Weg hätten wir einiges zu tun: als erstes RENUMBER, damit alle Zeilennummern über 999 liegen, evtl. Aufspalten zu langer Zeilen und ,,Tarnen`` von Befehlen, die als nicht vereinbart bemängelt werden, durch Davorsetzen von REM, und das alles nach der Übertragung wieder rückgängig machen... Mit solchen Kunstgriffen gelang die Übertragung von SWING.SSS vom KC85 auf einen CPC-Computer. Dieses Programm spielt zweikanalig den Glenn-Miller-Titel ,,In The Mood``, hier kam noch hinzu, daß die Parameter des SOUND-Befehls umgerechnet und umsortiert werden mußten. Trotzdem ging die Übertragung durch BasiCode schneller als Abtippen des Programms und der vielen DATAs und war außerdem weniger fehlerträchtig. Ein Problem wäre hier vor allem noch, daß wir zwar die BasiCode-Load-Routine für den ZX81, aber noch nicht die für dessen Arbeit erforderliche Hardware-Erweiterung haben.
Anmerkung der Redaktion:
Der vorliegende Beitrag stammt von den Disketten mit BasiCode-Material, die Thomas Rademacher dem KC-Club zur Veröffentlichung zur Verfügung gestellt hat (siehe dazu auch die Rubrik ,,Mailbox`` in dieser Ausgabe). Insgesamt handelt es sich dabei um drei jeweils volle 1,44-MB-Disketten im MS-DOS-Format. Um die darauf enthaltene Directory-Struktur zu erhalten, habe ich den Inhalt der Disketten unter MS-DOS jeweils in ein ZIP-Archiv gepackt. Die ZIP-Datei mit den Inhalt der ersten Diskette befindet sich auf der Beilagendiskette der heutigen Ausgabe. Die zwei weiteren Disketten werden in gleicher Weise in den folgenden KC-News-Ausgaben nachgereicht. Ich hoffe, jeder Interessent kann diese ZIP-Dateien auf einen MS-DOS-PC übertragen (z.B. mittels TRANSFER.COM) und dort wieder entpacken.
Das BasiCode-Projekt
von Thomas Rademacher
Liebe Computerfreunde,
mein Name ist Thomas Rademacher, ich bin ein 40-jähriger Fan guter alter 8-Bit-Computer (in meinem Fall vor allem des KCcompact, der ein nichtautorisierter Nachbau des CPC von Schneider ist).
Seit einem guten Jahr stehe ich mit einem ZX81-Nutzer - namentlich Henning Räder aus Oberhausen - in recht lebhaftem Briefkontakt, der sich bekanntlich auch dem KC85 widmet, wobei ich ihm, soweit es meine Möglichkeiten zulassen, mit Rat und Tat zur Seite stehe.
Er wiederum hat Kontakt zu anderen 8-Bit-Sparten. Zum zentralen Thema unserer Korrespondenz wurde inzwischen BasiCode, ein Konzept eines niederländischen Tüftlerteams, Computer unterschiedlicher Hersteller mit einer gemeinsamen Basis auszustatten. Wir fanden, daß zwar die technische Entwicklung mittlererweile die 8-Bit- Oldies überrannt hat, doch solange noch Clubs die Erinnerung an die Veteranen wachhalten, wäre es doch schade, wenn jeder nur sein Süppchen für sich alleine kocht. So beschlossen wir, das geniale BasiCode-Konzept wieder in die Erinnerung zurückzurufen und deshalb verschiedene Clubs anzuschreiben.
Auf den beiliegenden Disketten befindet sich der gemeinsame Artikel TRANSFER.TXT1 je eines CPC-, ZX81- und Commodore-Plus4-Users zum Thema der Übertragbarkeit von Dateien zwischen Computern verschiedener Hersteller. Als Dokumentation einer Variante der Übertragung ist auf den Disketten BasiCode ausführlich vorgestellt.
BasiCode-Programme sind entsprechend dem Status der NOS frei für die Weiterverbreitung, nur die Änderung bzw. die Weitergabe geänderter Programme ohne Rücksprache mit dem Autor ist nicht erwünscht. Ebenso stellen wir unsere Artikel unentgeltlich für die Veröffentlichung zur Verfügung.
Wir hoffen, daß wir das Interesse wecken konnten, denn wir finden es wirklich verblüffend, welche Anwendungsbreite auf der Plattform von BasiCode realisierbar ist.
Der KCcompact scheint für den KC-Club - so ist mein Eindruck bisher - allenfalls in seiner MicroDOS-Betriebsart interessant zu sein. Falls ich im Irrtum bin, sind auf den Disketten auch ein paar KCc- und CPC-spezifische Sachen hinzugefügt, die ich ebenfalls unentgeltlich zur Verfügung stelle.
- ... TRANSFER.TXT1
- Anm. d. Redak.: Der Artikel ist in dieser KC-News-Ausgabe unter der Überschrift "BasiCode - Übertragung von BASIC-Programmen auf fremde Computer" abgedruckt.
Einladung zur ZX81-Geburtstagsfeier
von Peter Liebert-Adelt
Liebe Computerfreunde,
im März 1981 stellte Clive Sinclair seinen neuen Computer, den ZX81, der Öffentlichkeit vor. Der kleine schwarze ,,Türstopper`` wurde durch seinen Taschengeldpreis schnell zu einem der bekanntesten und beliebtesten Computer für Einsteiger und Bastler. Aber auch heute gibt es trotz Pentium und Co. immer noch (oder wieder) aktive ZX81-Freunde, die neue Hard- und Software entwickeln und die vielen vermeintlichen Grenzen des kleinsten aller PCs überschreiten.
Im März 1999 veranstaltet das ZX-TEAM - die weltweit letzte aktive ZX81-User-Gruppe - das dritte große ZX-TEAM-Treffen. Grund genug, dabei auch den 18. Geburtstag unseres Lieblingscomputers zu feiern. Dazu laden wir alle ZX81-Freunde ganz herzlich ein.
Wir treffen uns von Freitag, dem 26.03.99 ab 18 Uhr bis gegen Mittag am Sonntag, dem 28.03. im Kreisjugendheim Dietges. Dietges liegt an der B458, ca. 20 km östlich von Fulda, das Kreisjugendheim 500 Meter hinter dem Ortsausgang von Dietges in Richtung Wasserkuppe.
Wer bei uns übernachten möchte, wird um eine vorherige Anmeldung gebeten. Die Kosten werden unter 100 DM für zwei Übernachtungen und Vollverpflegung liegen. Tagesgäste sind am Samstag auch ohne Anmeldung herzlich willkommen.
Auf ein zahlreiches Erscheinen freut sich im Namen des ZX-TEAM
Peter Liebert-Adelt
http://www.zx81.de
Die Ballade vom Bitkönig
Wer tastet sich nachts die Finger klamm?
Es ist der User mit seinem Programm.
Er tastet geschwind, er tastet schnell,
Im Osten wird der Himmel schon hell.
Sein Haar ist ergraut, seine Hände sie zittern,
Vom unablässigen Kernspeicherfüttern.
Da - aus dem Programm tönt ein Geflüster:
'Wer popelt an meinem Befehlsregister?'
Bleib' ruhig, bleib' ruhig, meine liebe ZE,
Ich tu' dir ganz bestimmt nicht weh.
Mein Meister, mein Meister und siehst du nicht dort,
Aus dem Akku schleicht sich ein Vorzeichen fort.
Nur ruhig, nur ruhig, mein liebes Kind,
Ich hole es wieder, ganz bestimmt.
Mein Meister, mein Meister, hörst du das Grollen,
Die wilden Bits durch den Speicher tollen?
Nur ruhig, nur ruhig, das haben wir gleich,
Die sperren wir in den Pufferbereich.
Er tastet wild, er tastet besessen,
Mist - er hat das S i c h e r n vergessen.
Der Rechner schreit auf in höchster Qual,
Da zuckt durch das Fenster ein Sonnenstrahl.
Die Konsole schimmert im Morgenrot,
Der Bitkönig lebt - das Programm ist tot.
(Verfasser unbekannt)