Hallo beisammen,
mein Monitor/Debugger/Freezer-Projekt habe ich hier im Forum64 verschiedentlich ja schon mal erwähnt und in Denial gibt's schon seit längerem einen ausführlichen Thread dazu.
Hier nun das vorläufige Ergebnis:
- Die Firmware, MINIMON, ist gerade mal 2 KB groß!
- Üblicherweise liegt MINIMON im Bereich $9800..$9FFF, der von der meisten 'üblichen' Software auf dem VC-20 nicht genutzt wird. Start mit SYS 38912.
- MINIMON hat alle Kommandos, die man von gängigen Monitoren kennt: Speicheranzeige und -änderung ("M" und ">"), Registeranzeige und -änderung ("R" und ";"), Maschinenprogramm ausführen ("G"), Direkt-Assembler und Disassembler mit allen dokumentierten Opcodes des NMOS 6502 ("A"/"." und "D"), Speicherbereiche kopieren ("T"), vergleichen ("C"), füllen ("F"), in Speicherbereichen suchen ("H"). Breakpoints gehen mit dem BRK-Befehl. Laden, speichern und überprüfen ("L", "S", "V") mit Floppy, Tape, etc.
- Besondere Aufmerksamkeit wurde darauf gelegt, daß MINIMON andere laufende Programme nicht beeinträchtigt. Der Betrieb von BASIC und KERNAL wird überhaupt nicht beeinflußt, Speicheradressen die häufig von anderen Maschinenprogrammen benutzt werden, wurden freigehalten - dies meint im besonderen die 'üblichen Verdächtigen' $FB..$FE in der Zero-Page, aber auch die sogenannten Program-Indirects ($02A1..$02FF) und der Tape-Buffer ($033C..$03FF) sind nach wie vor verfügbar für den Anwender.
- Die Ein- und Ausgabe von MINIMON kann umgelenkt werden. Hierdurch ist Stapel-Verarbeitung mit Dateien möglich, Ausdrucke auf einem Drucker, sogar Fernwartung über RS232 geht!
Die Cartridge enthält einen durchgeschleiften Expansionsport. Jede Standard-RAM-Erweiterung läuft in Kombination mit MINIMON. Wenn eine solche Cartridge ebenfalls den I/O-Bereich belegt, kann zwischen diesem I/O-Bereich ("CART") und MINIMON ("MON") mit einem Schiebeschalter umgeschaltet werden:
Der Reset-Button hat zwei Betriebsarten: eine kurze Betätigung erzeugt einen Reset-Puls, der sowohl auf den VC-20 (und Laufwerke, etc.) als auch auf die im durchgeschleiften Port eingesteckte Cartridge geht. Hält man den Button länger als 1 Sekunde, so leuchtet eine blaue LED auf um anzuzeigen, daß das jetzt ein "Freeze"-Reset wird: beim Loslassen geht dieser Reset *nur* auf den VC, nicht auf die Cartridge im durchgeschleiften Port und verhindert auch deren Autostart. Man landet also in der normalen Einschaltmeldung, kann (sofern nicht schon geschehen), den Schiebeschalter auf "MON" stellen und sich den Inhalt der hinzugesteckten Cartridge mit MINIMON genauer anschauen.
Um den Sockel des EPROMs herum ist genug Platz, daß da auch ein ZIF-Sockel paßt. Der Betrieb geht mit 2716 EPROMs, (z.B.) 28C64 EEPROMs mit Adaptersockel oder 2Kx8 6116 SRAMs. Ist ein 6116 gesteckt, oder soll das EEPROM programmiert werden, wird der Jumper in die Position "PGM" gesetzt. Ist ein 2716 gesteckt, oder soll das EEPROM sicher schreibgeschützt sein, so setzt man den Jumper in die Position "PCT".
...
So - damit hat der VC-20 jetzt endlich auch eine Freezer-Cartridge. Oder das, was am nächsten dran kommt.
Viele Grüße,
Michael