[ Zu JKCEMU ]


JKCEMU als VCS80-Emulator

Der VCS80, auch VCS 80 oder VCS-80 geschrieben, ist ein Eigenbau-Lerncomputer, dessen Bauanleitung Eckhard Schiller 1983 in der Zeitschrift radio fernsehen elektronik veröffentlicht hat.


Screenshot der VCS80-Emulation

1. Emulierte Hardware

Der ROM ist aufgrund der unvollständigen Adressdekodierung auch im Bereich 0200-03FF sichtbar.

Die 7-Segment-Anzeige hat eigentlich 9 Stellen. Allerdings wird die mittlere Stelle nicht verwendet. Somit gibt es vier Stellen links und vier Stellen rechts.

1.1. Tastatur

Die Tabelle zeigt, wie die Tasten des VCS80 auf der Tastatur des Emulatorrechners abgebildet werden:
VCS80-Taste Taste im Emulator Bedeutung
RESET Escape Zurücksetzen
PE P Periphere Eingabe,
Vom Monitorprogramm mit keiner eigenständigen Funktion belegt
ST S Schrittbetrieb
TR T Unterbrechnungspunkt eingeben
GO G Programm starten
RE R Register anzeigen
MA M Eingegebene Adresse übernehmen
A- - Vorherige Adresse
A+ + Nächste Adresse
0...9 0...9 Adress-/Dateneingabe
A...F A...F oder a...f Adress-/Dateneingabe

Achtung! Escape löst der Einfachheit halber RESET ohne Sicherheitsabfrage aus, auch wenn in den Einstellungen dafür die Sicherheitsabfrage aktiviert ist.

2. Im ROM enthaltene Software


2.1. Hinweise zur Bedienung des Monitorprogramms

Nach einem RESET steht links Mo und rechts eine beliebige Adresse.

2.1.1. Speicherzellen anzeigen/ändern

  1. Zurücksetzen (Taste RESET (Escape))
  2. Adresse eingeben (Tasten 0...9, A...F, A+ (+) und A- (-))
  3. Adresse übernehmen (Taste MA (M)),
    Sie befinden sich jetzt im Hauptzyklus, d.h. die Stellen 7 und 8 zeigen das Byte auf der übernommenen Adresse an und die beiden Stellen davor das Byte der vorherigen Adresse.
  4. Gegebenfalls Wert eingeben (Tasten 0...9 und A...F)
  5. Wert übernehmen und nächste Adresse angezeigen (Taste A+ (+)),
  6. Weiter mit Punkt 4


2.1.2. Register anzeigen/ändern

RESET (Escape)RE (R)

Es wird das AF-Register angezeigt. Mit den Tasten A+ (+), A- (-), MA (M) RE (R) und GO (G) wechseln Sie zu den Registern BC, DE, HL, IX bzw. IY. Jede andere Funktionstaste führt zum Hauptzyklus.

2.1.3. Programmstart

RESET (Escape)GO (G) → <Adresse> → <beliebige Funktionstaste>

2.1.4. Einzelschrittbetrieb

RESET (Escape) → <Adresse> → MA (M)ST (S)

Mit jedem Betätigen der Taste ST (S) wird nun ein Befehl abgearbeitet. Dabei wird vor dem auszuführenden Befehl ein Interruptfreigabebefehl geschrieben und dieser auch angesprungen. Während der Befehlsausführung löst dann die Adressleitung A0 über PIO-Bit B7 einen Interrupt aus. Die Interrupt-Service-Routine korrigiert die Speicherzelle, in die der Interruptfreigabebefehl geschrieben wurde und kehrt in die Eingabeschleife zurück.

Für den Schrittbetrieb gelten folgende Einschränkungen:

2.1.5. Unterbrechungspunkt

RESET (Escape)TR (T) → <Adresse> → <beliebige Funktionstaste>

Auf die angegebene Adresse wird ein Restart-Befehl geschrieben. Wenn die Programmausführung diesen Befehl erreicht, wird die Speicherzelle wieder mit dem ursprüglichen Wert beschrieben und in die Eingabeschleife zurückgekehrt.

Ein Unterbrechungspunkt kann nur auf einer RAM-Adresse gesetzt werden.

© 2009-2017 Jens Müller