Dies ist eine alte Version des Dokuments!


HRCPM12

Von Ralph Hänsel gibt es umfangreiche Software für den AC1-2010. Neben seinem usb-komfort-monitor_v110 stammt aus seiner Feder auch eine Gruppe von CPM-Systemen.

Es gibt vier unterschiedliche Varianten der Version 1.2:

  • HRCPM12-AC2010_D000_FEFF_E600.BIN
  • HRCPM12-SCCH_D000_FEFF_E600.BIN
  • HRDOS12-AC2010_D000_FEFF_E600.BIN
  • HRDOS12-SCCH_D000_FEFF_E600.BIN

HRDOS ist ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1. Es basiert auf dem KC85/x-CP/M-System MLDOS.

HRCPM ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1, welches aber auf dem CPA CCP/BDOS vom 24.08.86 basiert und damit im Befehlssatz kompatibel ist.

Die obigen Versionen unterscheiden sich in ihrer unterstützten Hardware (AC1-2010 vs. SCCH) und in ihren residenten Kommandos (CPA vs. MLDOS)

Ich habe 2023-2024 die Software reassembliert und basierend auf den genutzten Original-Quellen für MLDOS, CPA etc. Quellen für HRDOS/HRCPM rückentwickelt. Vorteil ist die leichte Konfigurierbarkeit mit Diskettenformaten/verschiedenen Festplatten u.a. (OPTIONEN.INC, Ports etc. in HRBIOS12.ASM)

AC1-2010 / FA-Mode

  • Monitor V8
  • RAM-Floppy nach präcitronic mit 1024 KByte
  • Floppy-Platine nach FA, FDC-Controller Port 40h, /WAIT Monoflop Port 43h, Latch 74LS175 Port 45h
  • Abschaltung Monitor via Port 14h, Bit 2 (Modul1-Port)
  • Farb-BWS, der einfache BWS funktioniert natürlich auch
  • GIDE mit 256K-DOM-Modul
  • keine GIDE-RTC-Nutzung

SCCH

  • Monitor V8
  • RAM-Floppy nach präcitronic mit 1024 KByte
  • Floppy-Platine nach SCCH, FDC-Controller Port 40h, /WAIT Monoflop Port 50h, Latch 74LS175 Port 48h
  • Abschaltung Monitor via Port 19h, Bit 0
  • Farb-BWS, der einfache BWS funktioniert natürlich auch
  • GIDE mit 256K-DOM-Modul
  • GIDE-RTC-Nutzung bei ZSDOS

HRDOS12 / HRCPM12
Vers. 1.2 Stand 03.12.2011

HRDOS12 ist ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1. Es basiert auf einem KC 85x ähnlichen CCP, dem ZSDOS BDOS und dem AC1 Bios.
HRCPM12 ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1 welches aber auf dem CPA CCP/BDOS vom 24.08.86 basiert und damit im Befehlssatz kompatibel ist.

HRDOS / HRCPM wurde von R.Hänsel auf der Basis von Mario Leubners MLDOS für den AC1 komplett neu entwickelt und stellt für den AC1 User, die aktuell fortschrittlichste Basis zur Arbeit mit dem Betriebssystem CP/M 2.2 dar.

Wie jedes CP/M, setzen sich sowohl HRDOS als auch HRCPM aus 3 prinzipiell beliebig austauschbaren Bestandteilen zusammen:

CCP D000H-D7FFH CommandControlProzessor = Kommandointerpreter
BDOS D800H-E5FFH BasicDiskOperationSystem
BIOS E600H..FCFFH Bios

Der CCP steuert die Kommunikation des BDOS mit der realen AC1 Peripherie, die im BIOS an die CCP/BDOS Schnittstellen angepasst werden. Im BIOS wird auch entschieden, welche Hardware das CP/M nutzen kann. Im HRDOS/HRCPM sind das unter anderem HD und Diskette, aber auch die Uhr und versch. RAM-Floppy s sowie Tastaturtreiber.

HRDOS und HRCPM sind im BIOS fast identisch und unterscheiden sich nach außen nur im Befehlssatz des CCP und Einsprungadressen. Die wesentlichen Routinen sind identisch. Die Einzelheiten zur Programmierung und Nutzung von CP/M sollen hier nicht erläutert werden, sondern vielmehr die spezifischen BIOS Eckdaten und Eigenheiten.

Eckdaten zum BIOS:

  • Unterstützung HD's am GIDE, sowohl MASTER als auch SLAVE,
  • mit Adapter am GIDE funktionieren auch Flash-Speichermedien,
  • Unterstützung 3,5„ & 5¼ Laufwerke mit 40/80 Spuren,
  • am FDC sind alle 4 Laufwerke !! (LW-Nr. 00..03) unterstützt,
  • Unterstützung vieler Diskettenformate, Standard 800K und 640k,
  • Diskette in Laufwerk B: 100% KC kompatibles Dateiformat!,
  • Interruptgesteuerter Tastaturtreiber,
  • Unterstützung COLOR-BWS durch CONOUT Routine mit FARBE,
  • Unterstützung RAM-Floppytreiber bis 4 MB,
  • Unterstützung Echtzeituhr im GIDE,
  • HRDOS und HRCPM starten und funktionieren auch ohne installiertes GIDE und/oder FDC-Controller!!,
  • KEINE automatische Formaterkennung!

Voraussetzungen für HRDOS/HRCPM:

  • CP/M tauglicher AC1,
  • RAMFloppy nach Präcitronic / Modul 3 mit mind. 256k,
  • für Diskette: FDC Controller (FDC Port 40/41) nach SCCH oder ACC (AC1 2010),
  • für HD: GIDE Modul an Port 80H,
  • für Farbe: COLOR-BWS, der einfache BWS funktioniert natürlich auch !,
  • AC1 SCCH Monitor ab V8.x aufwärts,

Gestartet werden HRDOS und HRCPM mit einem Sprung auf Adresse E600H, also

J E600H CR 

direkt aus dem Monitor.

Nach dem Programmstart löscht das BIOS den Bildschirm und schreibt in der oberen Statuszeile, seine Versionsnummer, die Art des installierten BDOS (ZSDOS oder CPA), die Art des Tastaturtreibers (ConIn INT oder ConIn V3) und den Stand der letzten Änderung.
In den nächsten Zeilen folgen die installierten Parameter von GIDE und den HD s mit den festgelegten Laufwerksbuchstaben, sowie eine Zeile tiefer die FDC-Controllerparameter nebst Diskettenlaufwerke, die installiert sind.
Hierbei bedeuten die Zahlen nach den Laufwerksbuchstaben bei Diskette NUR die PHYSISCHE Laufwerksnummer. AC1 2010 User nutzen meist nur LW 0, also B0, F0, G0
Wieder eine Zeile tiefer steht die installierte RAM Floppy und deren Größe.

Achtung !! Um den Programmcode klein zu halten, sind das alles statische Anzeigen, die bei Änderungen ggf. nicht stimmen müssen !

In der gleichen Zeile wie die RAM Floppy Größe erfolgt beim Start die Frage, Format A: (J)? , also ob die RAM Floppy formatiert werden soll. Das ist beim 1.Start zwingend, andernfalls schlägt der CP/M Start fehl und CP/M muss neu geladen werden, weil der CCP/BDOS Code zerstört ist !!

Nach erfolgreichem Init..OK sollte sich dann der CP/M Prompt mit A:> melden und der Cursor blinken. Nun kann's schon mit der Arbeit losgehen.

Die verfügbaren CCP Kommandos, immer mit CR = Enter abgeschlossen:

HRDOS HRCPM Bedeutung
0 EXIT CP/M verlassen und zum Monitor zurück
1 CLS Bildschirm löschen und Kursor an Bildanfang
D DIR DIR=Inhalt vom aktuellen Laufwerk anzeigen
E ERA Filname ERA=löschen, Datei löschen
nicht unterst. REN REN=umbenennen, Datei umbenennen
L LOAD File mit Turbo in RAM laden
C nicht unterstützt TPA von 2000H nach 0100H umladen
G GO GO Programm ab 0100H starten
H nicht unterstützt Help zeigt Liste der CCP Befehle
T nicht unterstützt Anzeige und Uhrzeit stellen
S xx FileNam SAVE xx FileName Speichert xx CPM Seite als Datei ab
Z nicht unterstützt schaltet den Zeichengeneratur um (PIO B3 Port)
4 nicht unterstützt schaltet AC1 zwischen 2/4Mhz Takt um (IO Port F0H Bit0=1)

Files laden und speichern:

A:>LOAD CR lädt ein File im TurboMode zunächst nach Adresse 2000H und kopiert es nach dem erfolgreichen Laden an Adresse 0100H.
Hier kann es gleich mit dem Befehl A:>GO CR gestartet werden. Besser ist es jedoch, das File sofort auf Disk zu speichern.

A:>SAVE xx Filename CR kann genau das tun. Hier kommt nun auch die nach dem Laden angezeigte Anzahl der 100H Blöcke: ins Spiel, denn sie sind die Anzahl der CP/M Blöcke die beim Speichern (als xx) eingegeben werden müssen. Das SAVE Kommando speichert immer xx 100H Blöcke beginnend ab 0100H als Filename auf der Disk ab, und zwar unabhängig davon was grad im Speicher steht.

Ein File von Disk wird durch Eingabe des Namens geladen und anschließend auch sofort gestartet.

Zeitanzeige und RTC Uhr stellen:

A:>t CR zeigt die aktuelle Uhrzeit und das Datum an, sofern GIDE mit RTC
A:>t s CR setzt das Datum und Uhrzeit in der RTC

Spezialkommando C (HRDOS)

A:>C CR kopiert den RAM von 2000H..CFFFH nach 0100H..BEFFH. Dieses Kommando eignet sich hervorragend für die Arbeit am EMU, um ein Programm direkt an 2000H zu laden und dann sofort mit C nach 0100H zu kopieren.

Spezialkommando 4 (HRDOS)

A:>4 CR schaltet den CPU-Takt wechselseitig zwischen 2/4Mhz Takt um, (IO-Adr. F0H Bit 0=0/1), Umschaltung ist im COLOR-BWS enthalten

Spezialkommando Z (HRDOS)

A:>Z CR schaltet den ZG wechselseitig um (PIO1 Port B3)

Der CCP ist für das Auswerten der eingegebenen Kommandos zuständig. Findet er kein internes Kommando, so interpretiert der CCP Kommando als Filename.COM und versucht das File vom aktuellen Laufwerk zu laden. Findet er das File wird es an Adresse 100H geladen und gestartet.

A:>POWER startet POWER aus A:
A:>C:POWER startet POWER aus Laufwerk C:
A:>C:POWER Test startet POWER aus Laufwerk C: und startet den Test auf A:

Das Programm POWER.COM ist für das komfortable Kopieren und Bearbeiten von Files im CP/M zuständig. HRDOS und HRCPM selbst bieten KEINE Kopierfunktion an.

Auf eine normale Eigenheit des HRDOS möchte ich hinweisen. Beim Laden von COM-Files darf die Dateiendung COM nicht angegeben werden, weil sonst die Datei nicht gefunden wird. A:>POWER.COM würde im HRDOS eine Fehlermeldung erzeugen, im jedoch HRCPM nicht !

Einige wichtige Hinweise und Besonderheiten:

  • In CP/M sind ausschließlich GROSSBUCHSTABEN in Filenamen erlaubt. Das BIOS wandelt diese ggf. aber um !
  • Damit CP/M funktioniert, muss die RAM Floppy zwingend zuverlässig funktionieren !
  • Beim Schreiben auf die RAM Floppy findet automatisch ein Vergleichslesen statt. Das macht zwar den Zugriff etwas langsamer, ist aber für die Stabilität von CP/M, grad beim AC1 2010 notwendig.
  • Die NMI Taste ist im CP/M tabu !! und führt zwingend zum Absturz ! Leider liegt der wichtige FCB1 genau auf der NMI Startadresse. Das kann leider auch nicht verändert werden.
  • Sollte CP/M abstürzen, springt es meist in die Registeranzeige, daraus kann ich Rückschlüsse über die Absturzursache ziehen.
  • Wenn CP/M mal hängen sollte, bitte mit RESET raus und Disk NICHT rausnehmen, sondern SOFORT CP/M wieder starten. So könnte ein ggf. noch nicht geschriebenes File doch noch gespeichert werden, weil das BIOS einen ungeschriebenen Puffer erkennt und schreibt !
  • Ein CSAVE Kommando ist zur Zeit nicht vorgesehen, weil keine Notwendigkeit mehr besteht. Zum Speichern existieren genügend Alternativen.
  • Die Zahl im Dateinamen HRDOS12 bzw. HRCPM12 stellt die Versionsnummer dar.

Diese Anleitung ist noch nicht ganz fertig !

Viel Spaß damit wünscht
Ralph Hänsel

  • homecomputer/ac1/hrcpm.1709649346.txt.gz
  • Zuletzt geändert: 2024/03/05 14:35
  • von volkerp