📜Geschichte & Quellen

Vom 8-Bit-Prozessor zum Heimcomputer mit eingebautem Laufwerk – und warum ein Programm für den 464 fast immer auch auf dem 6128 läuft.

🕰️Zeitleiste

  1. 1976

    Zilog Z80

    Der Z80 erscheint – kompatibel zum Intel 8080, mit zweitem Registersatz, Indexregistern und Blockbefehlen.

  2. 1984

    CPC 464

    Amstrad stellt im April den CPC 464 vor: 64 KB RAM, eingebauter Kassettenrekorder, Locomotive BASIC 1.0, Firmware V1.0. In Deutschland verkauft Schneider die Geräte als „Schneider CPC“.

  3. 1985

    CPC 664

    Mit eingebautem 3-Zoll-Diskettenlaufwerk, AMSDOS und BASIC 1.1; Firmware V1.1 bringt neue Einsprünge (&BD3A–&BD58). Nur wenige Monate im Handel.

  4. 1985

    CPC 6128

    128 KB RAM (umschaltbar in acht Organisationen), 3-Zoll-Laufwerk, CP/M Plus. Firmware „V1.2“ = V1.1 plus KL BANK SWITCH (&BD5B).

  5. 1990

    CPC Plus & GX4000

    464 Plus und 6128 Plus mit ASIC (Hardware-Sprites, 4096 Farben) und die Konsole GX4000 – im gesperrten Zustand kompatibel zum Gate Array.

🔀Firmware V1.0 (464) und V1.1 (664/6128)

SOFT 968 beschreibt alle drei Versionen und kennzeichnet die Unterschiede; in der Firmware-Tabelle erscheinen sie als Chip „V1.0 ≠ V1.1“ und in den Hinweisen mit 🔀.
ThemaV1.0 (CPC 464)V1.1 (CPC 664/6128)
Neue Einsprünge–&BD3A KM SET LOCKS … &BD58 MC PRINT TRANSLATION (11 Einträge); 6128: &BD5B KL BANK SWITCH
GrafikLinien immer im StiftLinienmaske, transparenter Hintergrund, erster Punkt abschaltbar, GRA FILL
Steuercode 0 (NUL)keine WirkungCursor an eine gültige Position zwingen
Fehlernummern CAS/AMSDOSA undefiniertA enthält eine Fehlernummer (z. B. &0E = Datei schon offen)
Bildschirmposition–SCR SET POSITION: Firmware schreibt in einen unsichtbaren Bildschirm (Doppelpufferung)
Indirections13 (bis MC WAIT PRINTER)14 (+ KM SCAN KEYS &BDF4)
💡 Kompatibilität durch Sprungleisten
Weil Programme nur über die Sprungleisten gehen, durfte sich das ROM zwischen den Modellen ändern. Wer dagegen direkt in ROM-Adressen sprang (ein beliebter Trick für Geschwindigkeit), hatte auf dem 664/6128 oft ein Problem.

📚Quellen dieser App

Amstrad SOFT 968: „CPC 464/664/6128 Firmware“ (B. Godden, P. Overell, D. Radisic)
https://cpctech.cpcwiki.de/docs/manual/s968se15.pdf
Hauptquelle: Einsprung-/Rücksprungbedingungen aller Routinen, Speicher, Ereignisse, Farben (Abschrift bei CPCWiki)
B. Taylor, T. Defoe: „The Amstrad CPC Firmware Guide“ (1992)
https://www.cantrell.org.uk/david/tech/cpc/cpc-firmware/firmware.pdf
Zweitquelle für Adressen und Namen, Speicherbelegung 464/6128
CPCWiki: Firmware / Jumpblock
https://www.cpcwiki.eu/index.php/Firmware
Übersicht und Links zur Firmware-Dokumentation
Zilog Z80 CPU User Manual (UM0080)
https://www.zilog.com/docs/z80/um0080.pdf
Befehlssatz, Takte, Flags, Beispiele (DAA, NEG, RLD, CPIR …) – als Tests im Emulator
Sean Young: „The Undocumented Z80 Documented“
http://www.z80.info/zip/z80-documented.pdf
Flags X/Y, undokumentierte Befehle, DAA-Tabelle, Block-E/A-Flags
K. Thacker: „Instruction timings“ (cpctech)
https://cpctech.cpcwiki.de/docs/instrtim.html
gemessene Befehlsdauer auf dem CPC in µs
K. Thacker: „Amstrad CPC Gate-Array“ (cpctech)
https://cpctech.cpcwiki.de/docs/garray.html
Register des Gate Arrays, Hardware-Farbnummern
K. Thacker: „Reading the keyboard and joysticks“ (cpctech)
https://cpctech.cpcwiki.de/docs/keyboard.html
Tastaturmatrix → Tastennummern (Zeile × 8 + Bit)
T. Harte: „Amstrad CPC Timing“ (CLK-Wiki)
https://github.com/TomHarte/CLK/wiki/Amstrad-CPC-Timing
Erklärung der Wartezyklen (4-Phasen-Takt)
D. Hepper: font8x8 (gemeinfrei)
https://github.com/dhepper/font8x8
Ersatz-Zeichensatz des Simulators

Arbeitsweise: Adressen, Namen und Register jeder Routine stammen aus SOFT 968 und wurden automatisch mit Taylor/Defoe abgeglichen; die Nummer jedes Hauptsprungleisten-Eintrags wurde gegen &BB00 + 3 × Nummer geprüft. Die deutschen Texte sind maschinell übersetzt. Der Emulator wird mit den Beispielen aus UM0080, einer unabhängigen DAA-Referenztabelle und einem Assembler-Rundlauf über den gesamten Befehlssatz getestet. Amstrad und Schneider sind Marken ihrer Inhaber; die App ist ein unabhängiges Lernangebot und enthält keinen ROM-Inhalt.