Steckmodule auf Kassette
Vielleicht kennen Sie das Problem. Sie haben einen VC 20, eine Vollerweiterung und ein Programmierhilfemodul, aber keine Modulbox. Sie können das Programmierhilfemodul nur in der Grundversion einsetzen, möchten aber auch gerne bei 16 KByte damit arbeiten. Hier wird nun die Methode vorgestellt, das Modul auf Kassette zu kopieren und dann bei Vollerweiterung in den jeweiligen Speicherbereich zu laden.
Anhand der SYS-Adresse, mit der Sie das Programm starten, sehen Sie, in welchem 16- oder 8-KByte-Block das Modul liegt. Zum Beispiel Start mit SYS 32592, das Modul befindet sich also im Bereich von 16 384 bis 32 768.
Kopieren auf Band
Stecken Sie das Modul in den Erweiterungsport und schalten Sie den VC 20 ein. Legen Sie eine Kassette in den Recorder und tippen Sie
POKE 43,0:POKE 44,64: POKE 45,0:POKE 46,128: Save”(Name)”,1
ein, wenn das Modul ab 16384 liegt, oder
POKE 43,0:POKE 44,160: POKE 45,0:POKE 46,192: Save”(Name)”,1
wenn das Programm ab 40960 gespeichert ist.
Stecken Sie die für das Modul benötigte 16- oder 8- KByte-Erweiterung in den Port, legen Sie die Kassette ein und laden Sie das Programm mit »Load«. So einfach ist das. Nach dem Laden starten Sie das Modul mit der gewohnten SYS-Adresse.
Der Autostart bei Modulen…
Module, die im Bereich von 40960 liegen, werden beim Einschalten selbst gestartet, wenn die Anfangsadressen folgendermaßen belegt sind:
40960 | Startadresse des Programms low |
40961 | Startadresse des Programms high |
40962 | Adresse bei Restore low |
40963 | Adresse bei Restore high |
40964 | 65 = a |
40965 | 48 = 0 |
40966 | 195 = C |
40967 | 194 = B |
40968 | 205 = M |
Während eines Kaltstartes werden die Adressen von 40964 bis 40968 nach der Zeichenfolge "a0CBM” abgesucht und das Programm gegebenenfalls gestartet.
Wenn Sie über eine Speichererweiterung in diesem Bereich verfügen, manipulieren Sie doch einmal diese Adressen, lassen Sie die Startadresse auf ein Maschinenprogramm zeigen und tippen Sie SYS 64802 (Kaltstart) ein. Sie werden sehen, daß das Maschinenprogramm gestartet wird.
… und seine Überlistung
Da der Computer die Adressen für den Autostart nur beim Kaltstart absucht, könnte man den Computer einschalten und dann das Modul einstecken. Mit viel Glück könnte es klappen, aber es können auch erhebliche Schäden am Computer oder am Modul auftreten.
Softwaremäßig gibt es keine Lösung, den Autostart zu verhindern. Ein kleiner Eingriff in die Hardware macht’s aber doch möglich. Auf Seite 150 des VC 20-Handbuches ist die Hauptspeicher-Erweiterung beschrieben. Uns interessiert Pin 21 (+ 5 V). Wenn Sie Ihren VC 20 öffnen, sehen Sie die Anordnung entsprechend dem Bild.
Kneifen Sie den Draht von Pin 21 durch und löten Sie zwei nicht zu dünne, isolierte Kabel an. Die Kabel verbinden Sie mit einem Schalter, den Sie im Gehäuse einbauen oder nach außen legen können. Mittels dieses Schalters können Sie Module ein- und ausschalten!
Also, wir stecken das Modul bei ausgeschaltetem Computer in den Port und unterbrechen Pin 21 mit unserem Schalter. Dann schalten wir den VC 20 ein, der Computer findet in den betreffenden Adressen kein a0CBM und meldet sich mit dem üblichen Bild. Jetzt drücken wir unseren Schalter, der Strom fließt, aber es wird kein Autostart mehr ausgeführt. Wir können das Modul jetzt mit
POKE 43,0:POKE 44,160:POKE 45,0:POKE 46,192: SAVE”(Name)”,1
auf Kassette abspeichern oder mit SYS 64802 (Kaltstart, wir erinnern uns) starten.
(Jörg Grohne)