Ausbaustufe CP/M

die Ausbaustufe CP/M ist im Buch nicht vollständig beschrieben. Die abgedruckten Programme passen nicht ganz zusammen. Das ganze ist eher ein Rezeptbuch als eine Nachbauanleitung, aber als solche ist es im Buch auch nicht gedacht. Dr. Fuhrmann hat seinen Nachbau 2019 ausgebaut und CP/M-fähig gemacht.

Vielen Dank an Dr. Fuhrmann für die Arbeit, die Bilder und die ganzen Unterlagen!

Karten von vorn nach hinten:

  • Einzelschritt-Karte
  • CPU-Karte mit EPROM-Adapter
  • Bildschirm-Karte
  • Floppy-Karte

Der Bus ist über Flachbandkabel realisiert.

April 2020. Dr. Fuhrmann schreibt:

Die Bildschirmkarte habe ich modifiziert, mittels Jumpern kann die Platine jetzt zwischen 1kB und 2kB Bildwiederholspeicher, also 32 Zeilen x 64 Zeichen, umgesteckt werden, siehe Schaltplan. Eine ordentliche Anschlussbuchse für den Monitor gibt es noch immer nicht. Die CPU-Platine hat noch einen 4MHz Quarz bekommen, ein externes FF für die Speicherumschaltung und eine RESET-Taste. Neu sind die Platinen Einzelschrittsteuerung und natürlich die Floppy-Steuerung. Die Einzelschrittsteuerung hat eine einfache Anzeige mit einer Diode pro Bit sowie 7-Segmentanzeigen mit V40511 für Adress- und Datenbus. Als Diskettenlaufwerke benutze ich zwei nach https://honi.hucki.net/ umgebaute 3,5„-Laufwerke. Das Kramer-CP/M benutzt nur ein Laufwerk, Ihr FORMATZ beide. Die Formatierung mit Ihrem Programm, hatte ich ja bereits erwähnt, funktioniert zur Zeit nur mit dem zweiten Laufwerk.

Die Platzierung der Bauelemente auf der Floppy-Platine habe ich dem Modul von Herrn Sander nachempfunden. https://www.sax.de/~zander/index2h.html

Anbei auch die Programme.

Es gibt jetzt 4 EPROM/GAL-Versionen:

  • 1kB Bildwiederholspeicher (BWS) Ausbaustufe 1
  • 2kB BWS Ausbaustufe 1
  • 1kB BWS Ausbaustufe CP/M CTAB ab 0F800H Monitor-RAM ab 0FB00H
  • 2kB BWS Ausbaustufe CP/M CTAB ab 0D000H Monitor-RAM ab 0D300H

Zur Erzeugung des EPROM-Abbildes gibt es jeweils Batch-Dateien mit dem JKCemu.

  • kramer-jkcemu-1k.bat
  • kramer-jkcemu-2k.bat
  • CPM-EPROM-1k.bat
  • CPM-EPROM-2k.bat

CP/M

Das CBIOS/CPP/BDOS sowie der Monitor werden mittels Kopierprogramm copy2.asm (Aufruf G1000) vom EPROM in den RAM geladen. Zur Zeit wird das CP/M danach durch zwqeimaligen Sprung auf 0EA00H (CBIOS) gestartet. Dadurch wird BDOS und CPP nochmal von der Systemdiskette geladen.

Formatierung einer Diskette:

G1000 CBIOS/CPP/BDOS und Hilfsprogramme in den RAM laden.
GEA00 einmal ausführen
G8800 Disketten-init starten

Erstellung der Systemdiskette:

CBIOS/CPP/BDOS mit G1000 in den RAM laden. Im CBIOS RFLOP Call zu WFLOP ändern wie in den Kommentaren im Kramer-CBIOS beschrieben:

Mit dem S(ubstitute) Kommando dazu ab 0EB0FH

CD 6C EB     CALL RFLOP    ändern in
CD C6 EB     CALL WFLOP

und das CP/M mit GEA00 starten.Systemspuren werden auf die formatierte Diskette geschriebenkann man eine Systemdiskette erzeugen.

Einige transiente CP/M-Kommandos aus http://www.classiccmp.org/cpmarchives/cpm/Software/rlee/D/DIGITAL%20RESEARCH/CPM_2-2/SYSTEM/ habe ich zunächst nacheinander auf EPROM gebrannt, mit dem Monitorkommando Move auf Adresse 100H kopiert und dann im CP/M mit dem save-Kommando auf Diskette gespeichert. Ebenfalls auf der Diskette ist das Formatierungsprogramm aus dem Buch Disketten-Init (KRFORMAT.COM) ab Adresse 100H.

Mit dabei mein Z80-Crossassembler von 1991, mit Delphi7 neu übersetzt, sowohl für die Kommandozeile als auch mit grafischer Umgebung. Den habe ich aktualisiert, um die Listfiles zu erzeugen und bedingte Compilierung zu ermöglichen, weil das der JKCemu nicht leistet.

Alle Karten sind auf Lochrasterplatten aufgebaut und handverdrahtet (gefädelt).

  • Einzelschritt-Karte
  • CPU-Karte mit EPROM-Adapter
  • Bildschirm-Karte
  • Floppy-Karte

Einzelschritt-Karte CPU-Karte mit EPROM-Adapter Bildschirm-Karte Floppy-Karte

Der EPROM auf der CPU-Karte ist zum einfachen Wechsel über einen kleinen Adapter nach oben herausgeführt:

Floppy-Anschluss. Zum Anzeigen der Motorsignale gibt es 4 LEDs

CP/M-Start

Informationen aus dem Buch zur dort beschriebenen Ausbaustufe CP/M.

Die orig.Programme aus dem Buch (korrigiert bzw. ergänzt) sind im Basis-Download-Paket enthalten (→ downloads)

Ausbaustufe CP/M (S.119)

  • Takt 2.625 MHz (10.5 MHz:4)
  • RAM ab 0000
  • Monitor ab F000

Nach Einschalten ist Monitor auf 0000 ansprechbar, der RAM ist deaktiviert. Ein Sprung auf Adresse F003 schaltet den Monitor auf Adresse F000 und aktiviert den RAM.

Einbeziehung Kassetteninterface mit USART nach Bild 4.1 in die Monitorroutinen RI und WO. Das CBIOS wird von Kassette geladen.

  • FC00-FFFF Bildwiederholspeicher
  • F800-FBFF Monitor-RAM
  • F000-F7FF Monitor (ohne Disassembler)
  • E200-EFFF CBIOS
  • D400-E1FF BDOS
  • CC00-D3FF CCP
  • 0100-C000 freier RAM (TPA)
  • 0000-00FF freier RAM (Zero-Page)

Das Listing im Buch auf S. 199 ist falsch. Der Bereich 400h-7FFh (rechtes Listing) ist DE.ASM der originalen Version. Das kann so nicht funktionieren!!

nicht beschriebene externe Kommandos:

  • Kdo A → jp C800
  • Kdo Y → jp F7B0

FDC-Laufwerk K5600.10 (MFS 1.2)

32 Records/Spur, 3 Systemspuren mit CP/M 74 Blöcke a 2K = 148K Disk
Phys. Sektoren a 256 Byte, 40 Spuren mit 16 Sektoren

  • Port 78h, 7Ch, 7Dh FDC U8272 (S. 124)
  • Port 7eh, 7fh USART 8255 (Kassetteninterface S. 111)

RAM-Disk 7000h-BFFFh

26 Records/Spur, 20 Blöcke a 1K = 20K Disk

  • homecomputer/kramermc/ausbaustufe2.txt
  • Zuletzt geändert: 2020/07/08 10:30
  • von volkerp