Nimm drei! Drei Computer in einem 64'er? Dieses nur wenige Zeilen kurze Programm schafft drei voneinander unabhängige 12K Blocks die sich sehr einfach ansprechen lassen. Ein sehr interessantes Tool beispielsweise für die Programmentwicklung oder zum Vergleichen. Nikolaus M. Heusler Hatten Sie nicht auch schon öfters den Wunsch, an zwei oder drei C 64 auf einmal arbeiten zu können? Man könnte ein Programm auf dem einen Gerät entwickeln und auf dem zweiten testen, während auf dem dritten C 64 das aktuelle Directory geladen und angezeigt wird, ohne ein Programm zu zerstören. Dieses kurze Maschinenprogramm erlaubt es Ihnen. »Nimm drei« ist ein Maschinenprogramm in Form eines Basic-Laders, das den Basic-Speicher des C 64 in drei gleich große Bereiche zu je 12 KByte unterteilt. Mit diesen Bereichen können Sie unabhängig voneinander arbeiten, ohne die anderen Bereiche zu beeinflussen. Es ist sogar möglich, die drei Bereiche zu speichern oder zu laden ohne die übrigen zu verändern. Das Programm liegt ab 40004 im Speicher und belegt nur wenige Bytes. Außerdem wird der gern von anderen Utilities belegte Bereich ab 49152 nicht benötigt. Nach der Eingabe von »Nimm drei« sollten Sie das Listing unbedingt speichern. Erst jetzt erfolgt der Start mit RUN. Nach kurzer Zeit erscheint eine Kontrollmeldung am Bildschirm, die Erweiterung ist jetzt aktiv. Es wurde Bereich 1 eingeschaltet, alle drei Bereiche werden gelöscht, wobei auch der Lader verloren geht. Um einen der drei Bereiche anzusprechen, geben Sie nur ein: SYS 40004 (leicht zu merken). Der Cursor verschwindet, und der Computer wartet auf die Eingabe einer Ziffer 1, 2 oder 3. Diese Eingabe stellt die Identifikatinsnummer des gewünschten neuen Bereiches dar. Nach der Eingabe wird der zuletzt bearbeitete Bereich eingefroren, und der neue Bereich steht für die Programmierung zur Verfügung. Wenn Sie sich nicht mehr daran erinnern können, welchen Bereich Sie gerade bearbeiten, genügt schon der Befehl PRINT PEEK (40061) der eine 1, 2 oder 3 ergibt. Der wichtigste Anwendungsfall von »Nimm drei« ist es, den Computer in drei Bereiche zu unterteilen und dort drei verschiedene Basicprogramme zu speichern und zu bearbeiten. Das können Spiele sein, Anwendungen, Tools - oder beliebige andere Kombinationen. Und zur Umschaltung genügt ein simpler SYS-Befehl, gefolgt von einem Tastendruck. Jeder Bereich speichert maximal 12 KByte, das entspricht etwa 48 Blocks auf Diskette. Nur wenige Basicprogramme sind größer und bereiten demzufolge Speicherprobleme. Selbstverständlich steht jedem der drei Basicspeicher sein eigener Satz Variablen zur Verfügung. »Nimm drei« bewährt sich aber auch hervorragend in der Programmentwicklung. Stellen Sie sich vor, im ersten Bereich liegt die lauffähige Version eines Programms, im zweiten Block haben Sie die Version, an der Sie gerade »herumbasteln«, und im dritten Sektor befindet sich der Arbeitsbereich zur Aufnahme von Directories, kurzen Hilfsprogrammen oder als Experimentierfeld für neue Ideen. Haben Sie etwas gefunden, das gut arbeitet und soll dieser Programmteil in einen der beiden anderen Bereiche transportiert werden, gehen Sie einfach so vor: 1. Geben Sie den Bereich mit LIST auf dem Bildschirm aus. 2. Schalten Sie mit SYS 40004 auf den gewünschten Zielbereich um. 3. Bewegen Sie den Cursor auf die Zeile(n), die transportiert werden soll(en), und bestätigen sie mit . Sofort wird/werden sie in das Basicprogramm im neuen Arbeitsbereich einsortiert. »Nimm drei« eröffnet ganz neue Programmiermöglichkeiten. Die drei getrennten Arbeitsbereiche wirken fast wie drei unabhängige 12K-Laufwerke, die Ihnen jetzt zur Verfügung stehen. Besitzen Sie ein echtes Laufwerk, können Sie das Directory jetzt ständig zu Ihrer Verfügung halten. Das ist sehr praktisch, wenn eines der anderen Programme Files von Diskette benötigt. Das Besondere an »Nimm drei« im Gegensatz zu vergleichbaren Tools ist zunächst die Kürze. Nur etwa zehn Basiczeilen ist der Lader lang. Ein pfiffiger Prüfsummen-Algorithmus erkennt Eingabefehler und bricht die Bearbeitung ab. Die interne Funktionsweise ist unkompliziert. Das ganze Geheimnis besteht in der Manipulation der Speicherzellen-Paare 43/44 und 45/46. Hier sind jeweils der Anfang und das Ende des aktuellen Basicprogramms im Speicher vermerkt. Bei der Umschaltung speichert der C 64 den letzten Stand dieser Pointer zwischen und schreibt neue Werte in die Speicherzellen. Zugleich wird jeweils die erlaubte Obergrenze in Speicherzelle 56 entsprechend angepaßt, damit nicht zum Beispiel ein überlanges Basicprogramm in Bereich 1 das Programm in Bereich 2 überschreibt. Die drei Programmspeicher belegen die Bereiche Bereich 1: 2048 bis 14335 Bereich 2: 14336 bis 26623 Bereich 3: 26624 bis 38911