Software

Vorwort: (Dezember 2024)

2014 hatte ich angefangen die Version x.5 in die moderne Welt zu überführen, so als kleinster gemeinsamer Nenner. Im Laufe der Jahre sind dann etliche Verbesserungen, Tools und Erweiterungen hinzu gekommen z.B. CF-Carte, Intel-Hex Ladeprogramm, Multi-IO-Karte etc. In 2023 kam noch ein kompletter Moppel mit der Monitor Version x.6 aus dem jahre 86/87 hinzu, auch hier wurden die alten Quellen entsprechend aufbereitet und mit dem IDE-Interface ausgestattet. Damit das noch ein wenig unübersichtlich wird, hat jeder unterschiedliche Hardware Ausstattung:

  • Moppel 1 CP/M Rechner, NSC800, CF/IDE-Interface, Multi-IO Karte, 87erV24, Softwarestand x.5n
  • Moppel 2 CPU, 32kRAM, 87erV24, Philips Mini DCR
  • Moppel 3 als CP/M Version (abgegeben)
  • Moppel 4 nur CPU mit HEX-Anzeige und Hexlader, Softwarestand x.5
  • Moppel 5 tragbare CP/M Rechner, IDE-Interface, Multi-IO-Karte, Softwarestand x.5n
  • Moppel 6 CP/M Rechner, NSC800, IDE-Interface mit Softwarestand x.62 (abgegeben)
  • Moppel 7 als CP/M System noch im Aufbau

Es ist also an der Zeit kräftig aufzurämen, denn die vielen unterschiedlichen Versionen und Erweiterungen bedürfen einen zu GROSSEN Wartungsaufwand.

Ziel der ganzen Übung, eine modulare Software-Version die einfach an die eingesetzte Hardware angepasst (Tabelle) werden kann. Zum anderem gibt es immer noch Macken aus 85, z.B. Floppy-Routinen die unter CP/M erst bei intensiver Nutzung auffallen oder in der 6er Version die übertriebene Menüführung mit den ganzen Unterpunkten. Auch fehlt unter CP/M eine standadisierte Behandlung der ESC-Sequenzen.

ToDos:

Hardware:

  • CPU-Karte mit NSC800 – OK ggf. IO-Adressen besser codieren
  • RAM Einsatz von 2 x 32k-Karten – OK
  • Banking auf 8000h erweitern damit das BIOS auch auf 4000-7FFF zugreifen kann – noch zu erledigen
  • Video-Karte Hardwareanpassung „Invers“ und 2. Zeichensatz ASCII – noch zu erledigen
  • Tastatur wahlweise original 87er, paralell über Multi-Io oder über SID/SOD dann kein NSC800 Betrieb möglich – OK
  • 87erV24-Karte DSR abschalten, fest auf +12V, Protokoll auf RTS/CTS – OK
  • 87er Uhrenkarte – OK
  • Multi-IO Karte (dann entfällt die 87er Uhrenkarte) – OK
  • Floppy Interface WD1770 gegen WD1772 tauschen – OK
  • IDE-Karte – OK

Software:

Zu allen Hardwaremodulen ist die Software ausgiebig erprobt und OK, was bleibt:

  • Softwareteile in Module mit festen Schnittstellen und deren Beschreibung aufgliedern
  • Monitoreingaben vom Bildschirmspeicher entkoppeln, damit ein Consolenbetrieb möglich wird
  • Monitor auf 8kByte begrenzen (EPROM #0,#1)
  • Speicherbereich 2000h als RAM für nachladbare Software/Treiber
  • Bildschirm (CO) Ausgabe mit Standard ESC-Sequenzen erweitern – in Arbeit
  • BIOS-Routinen, soweit sinnvoll, auf Monitor-Routinen lenken – BIOS ab F000h, Ziel TPA vergrößern

CO mit ESC-Sequenzen (24.01.2025)

Der Moppel hat für ein TEX Schreibprogramm einige ESC-Sequenzen, diese waren schön der Reihe nach von P bis Y.

Bei den „modernen“ Terminals wie ANSI, VT100, TVI950, etc. sieht das nicht so wohlgeordnet aus, somit ist eine mathematische Auswahl schwierig, mit einer Tabelle können beliebige ESC-Sequenzen einfacher dargestellt werden – so auch mein Ansatz. So kann ich ein Teil der TVI950 bedienen, der volle Befehlssatz ist mit der gegebenen Video-Karte z.B. blinken, halbe Helligkeit oder unterstreichen, nicht möglich.

Hier schon mal das Ablaufdiagramm:


CP/M BIOS (30.04.2026)

Es gibt immer noch was zu verbessern, die bisherigen Versionen können zwar mit dem IDE-Interface auf Festplatte/CF-Karte zugreifen aber die Floppyformate sind doch stark eingeschränkt. Hier funktioniert nur das 40/80Track SS und das IT3030 70Tr/DS, für den einfachen Datenaustausch könnten da ein paar mehr sein. Seit dem Zugang von Nr.6 von Manfred Meister gibt es auch ein reines Z80 BIOS von Ingolf Kühn mit vielen Funktionen und eine richtige Terminal Emulation TVI9xx um TurboPascal, Wordstart einfach anzupassen, das Ganze als ladbare Datei COM-Datei.

Dieses IK-BIOS lag mir leider nur als BIN-Datei vor, mit Disassembler und den netten „Kollegen“ aus dem VzEkC e.V. die über das Know-how der KI verfügen, war es schnell analysiert. Lediglich die Datenfelder für DPH, DPB sowie die Zieltabellen der IO-Geräte müssen noch eingepflegt werden…

Stand 05.05.2026

… mit dem lediglich war nicht so ernst gemeint, denn in der Symboltabelle fehlten noch die internen Verknüpfungen mit Speichervariablen und Monitor Routinen. Das hätte man sicherlich auch der KI überlassen können aber mit dem „Muskelmacro“ erhalte ich schon mal einen guten Überblick über das BIOS und verstehe die Zusammenhänge besser. Denn wenn es erstmal läuft wie das original kann ich die Routinen der IDE-Schnittstelle (CF-Karte als LW A) und meine „Gerätetreiber“ (V24) einfügen – wird aber noch etwas dauern…

 


Quellen:

Moppel-IO-Adressen

Moppel-ASM-Dateien-Vx6

Moppel-ASM-Dateien-Vx.5

IK-BIOS-050526