Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:hrcpm [2024/03/05 14:11] – angelegt volkerphomecomputer:ac1:hrcpm [2024/03/27 20:38] (aktuell) – [Turbo Pascal] frieder
Zeile 2: Zeile 2:
  
 Von Ralph Hänsel gibt es umfangreiche Software für den AC1-2010. Von Ralph Hänsel gibt es umfangreiche Software für den AC1-2010.
-Neben seinem [[homecomputer:ac1:monitor#usb-komfort-monitor_v110|]] stammt aus seiner Feder auch eine Gruppe von CPM-Systemen.+Neben seinem [[homecomputer:ac1:monitor#usb-komfort-monitor_v110|]] stammt aus seiner Feder auch eine Gruppe von CP/M-Systemen.
  
 Es gibt vier unterschiedliche Varianten der Version 1.2: Es gibt vier unterschiedliche Varianten der Version 1.2:
Zeile 12: Zeile 12:
 HRDOS ist ein [[http://www.gaby.de/ftp/pub/cpm/znode51/specials/zsdossrc/zsdos.htm|ZSDOS]] kompatibles CP/M 2.2 Betriebssystem für den AC1. Es basiert auf dem KC85/x-CP/M-System [[http://www.mpm-kc85.de/html/MLDOS.htm|MLDOS]]. HRDOS ist ein [[http://www.gaby.de/ftp/pub/cpm/znode51/specials/zsdossrc/zsdos.htm|ZSDOS]] kompatibles CP/M 2.2 Betriebssystem für den AC1. Es basiert auf dem KC85/x-CP/M-System [[http://www.mpm-kc85.de/html/MLDOS.htm|MLDOS]].
  
-HRCPM ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1, welches aber auf dem [[cpm:cpa|CPA CCP/BDOS]] vom 24.08.86 basiert und damit im Befehlssatz kompatibel ist.+HRCPM ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1, welches aber auf dem [[cpm:cpa|CPA CCP/BDOS]] vom 24.08.86 basiert und damit im Befehlssatz kompatibel ist. CCP und BDOS sind bis auf Seriennummer und Datumskennung identisch mit der beim [[homecomputer:ac1:cpm|FA-CP/M]] genutzten CP/A-Version (incl. Zusatzkommandos LOAD und EXIT).
  
 Die obigen Versionen unterscheiden sich in ihrer unterstützten Hardware (AC1-2010 vs. SCCH) und in ihren residenten Kommandos (CPA vs. MLDOS) Die obigen Versionen unterscheiden sich in ihrer unterstützten Hardware (AC1-2010 vs. SCCH) und in ihren residenten Kommandos (CPA vs. MLDOS)
 +
 +===== Downloads =====
 +
 +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)
 + 
 +  * BIN's, orig. Doku, Quellcodes
 +  * ZSDOS http://www.gaby.de/ftp/pub/cpm/znode51/specials/zsdossrc/zsdos.htm
 +  * deutsche Beschreibung ZSDOS RedNil 1994
 +    * http://www.kc85.info/index.php/download-topmenu/viewdownload/18-cp-m/155-zsdos-1-1-handbuch-fuer-den-programmierer.html
 +    * http://www.kc85.info/index.php/download-topmenu/viewdownload/18-cp-m/156-zsdos-1-0-handbuch-fuer-den-anwender.html
 +  * MLDOS v.1.5 Quelldateien
 +    * http://www.kc85.info/index.php/download-topmenu/viewdownload/21-ml-dos/82-mldos.html
 +
 +===== Programme =====
 +
 +Check+CPM-Umgebung_2000_25FF.BIN Testprogramm, ob der AC1 eine korrekt funktionierende Speicherumschaltung besitzt. Start des Testprogramms mit "t".
 +
 +ZSHELP.COM  CP/M-Programm zur Anzeige einer kleinen Hilfe
 +
 +FORMATAC.COM CP/M-Programm zum Formatieren von Disketten und Festplatten
 +
 +
  
 ===== Hardware ===== ===== Hardware =====
Zeile 20: Zeile 42:
 AC1-2010 / FA-Mode AC1-2010 / FA-Mode
  
-  * Monitor V8+  * Monitor V8 oder 1088
   * RAM-Floppy nach präcitronic mit 1024 KByte   * RAM-Floppy nach präcitronic mit 1024 KByte
   * Floppy-Platine nach FA, FDC-Controller Port 40h, /WAIT Monoflop Port 43h,  Latch 74LS175 Port 45h   * 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)+  * Abschaltung Monitor via Port 1Eh, Bit 0
   * Farb-BWS, der einfache BWS funktioniert natürlich auch   * Farb-BWS, der einfache BWS funktioniert natürlich auch
   * GIDE mit 256K-DOM-Modul   * GIDE mit 256K-DOM-Modul
Zeile 30: Zeile 52:
 SCCH SCCH
  
-  * Monitor V8+  * Monitor V8 oder 1088
   * RAM-Floppy nach präcitronic mit 1024 KByte   * RAM-Floppy nach präcitronic mit 1024 KByte
   * Floppy-Platine nach SCCH, FDC-Controller Port 40h, /WAIT Monoflop Port 50h,  Latch 74LS175 Port 48h   * Floppy-Platine nach SCCH, FDC-Controller Port 40h, /WAIT Monoflop Port 50h,  Latch 74LS175 Port 48h
-  * Abschaltung Monitor via Port 19h, Bit 0+  * Abschaltung Monitor via Port 14h, Bit 2
   * Farb-BWS, der einfache BWS funktioniert natürlich auch   * Farb-BWS, der einfache BWS funktioniert natürlich auch
   * GIDE mit 256K-DOM-Modul   * GIDE mit 256K-DOM-Modul
Zeile 73: Zeile 95:
   * Unterstützung HD's am GIDE, sowohl MASTER als auch SLAVE,   * Unterstützung HD's am GIDE, sowohl MASTER als auch SLAVE,
   * mit Adapter am GIDE funktionieren auch Flash-Speichermedien,   * mit Adapter am GIDE funktionieren auch Flash-Speichermedien,
-  * Unterstützung 3,5& 5¼ Laufwerke mit 40/80 Spuren,+  * Unterstützung 3,5 & 5¼ Zoll Laufwerke mit 40/80 Spuren,
   * am FDC sind alle 4 Laufwerke !! (LW-Nr. 00..03) unterstützt,   * am FDC sind alle 4 Laufwerke !! (LW-Nr. 00..03) unterstützt,
   * Unterstützung vieler Diskettenformate, Standard 800K und 640k,   * Unterstützung vieler Diskettenformate, Standard 800K und 640k,
Zeile 79: Zeile 101:
   * Interruptgesteuerter Tastaturtreiber,   * Interruptgesteuerter Tastaturtreiber,
   * Unterstützung COLOR-BWS durch CONOUT Routine mit FARBE,   * Unterstützung COLOR-BWS durch CONOUT Routine mit FARBE,
-  * Unterstützung RAM-Floppytreiber bis 4 MB,+  * Unterstützung RAM-Disk bis 4 MB,
   * Unterstützung Echtzeituhr im GIDE,   * Unterstützung Echtzeituhr im GIDE,
   * HRDOS und HRCPM starten und funktionieren auch ohne installiertes GIDE und/oder FDC-Controller!!,   * HRDOS und HRCPM starten und funktionieren auch ohne installiertes GIDE und/oder FDC-Controller!!,
Zeile 111: Zeile 133:
  
 In der gleichen Zeile wie die RAM Floppy Größe erfolgt beim Start die Frage, Format A: (J)? , also ob 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 +die RAM Floppy formatiert werden soll. **Das ist beim 1. Start zwingend**, andernfalls stürzt CP/M 
-Start fehl und CP/M muss neu geladen werden, weil der CCP/BDOS Code zerstört ist !!+beim ersten WBOOT ab, weil der CCP/BDOS Code nicht aus den Systemspuren der RamDisk geladen werden kann !!
  
 Nach erfolgreichem Init..OK sollte sich dann der CP/M Prompt mit A:> melden und der Cursor Nach erfolgreichem Init..OK sollte sich dann der CP/M Prompt mit A:> melden und der Cursor
Zeile 124: Zeile 146:
 | D | DIR  | DIR=Inhalt vom aktuellen Laufwerk anzeigen |  | D | DIR  | DIR=Inhalt vom aktuellen Laufwerk anzeigen | 
 | E | ERA Filname  | ERA=löschen, Datei löschen |  | E | ERA Filname  | ERA=löschen, Datei löschen | 
-| nicht unterst. | REN |  REN=umbenennen, Datei umbenennen | +| nicht unterst. | REN | REN=umbenennen, Datei umbenennen | 
 | L | LOAD  | File mit Turbo in RAM laden |  | L | LOAD  | File mit Turbo in RAM laden | 
 | C | nicht unterstützt  | TPA von 2000H nach 0100H umladen |  | C | nicht unterstützt  | TPA von 2000H nach 0100H umladen | 
Zeile 134: Zeile 156:
 | 4 | nicht unterstützt  | schaltet AC1 zwischen 2/4Mhz Takt um (IO Port F0H Bit0=1) |  | 4 | nicht unterstützt  | schaltet AC1 zwischen 2/4Mhz Takt um (IO Port F0H Bit0=1) | 
  
-Files laden und speichern:+__Files laden und speichern:__
  
 A:>LOAD CR lädt ein File im TurboMode zunächst nach Adresse 2000H und kopiert es nach dem A:>LOAD CR lädt ein File im TurboMode zunächst nach Adresse 2000H und kopiert es nach dem
Zeile 148: Zeile 170:
  
 Ein File von Disk wird durch Eingabe des Namens geladen und anschließend auch sofort gestartet. 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+__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 A:>t s CR setzt das Datum und Uhrzeit in der RTC
-EMU Spezialkommando + 
-A:>C CR kopiert den RAM von 2000H..CFFH nach 0100H..BEFFH. Dieses Kommando eignet+__Spezialkommando (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 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. und dann sofort mit C nach 0100H zu kopieren.
-Spezialkommando 4+ 
 +__Spezialkommando (HRDOS)__ 
 A:>4 CR schaltet den CPU-Takt wechselseitig zwischen 2/4Mhz Takt um, 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 (IO-Adr. F0H Bit 0=0/1), Umschaltung ist im COLOR-BWS enthalten
-Spezialkommando Z+ 
 +__Spezialkommando (HRDOS)__ 
 A:>Z CR schaltet den ZG wechselseitig um (PIO1 Port B3) 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 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 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. 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:>POWER startet POWER aus A:\\ 
-A:>C:POWER Test startet POWER aus Laufwerk C: und startet den Test auf 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 Das Programm POWER.COM ist für das komfortable Kopieren und Bearbeiten von Files im CP/M
-zuständig. Der HRDOS und HRCPM selbst bieten KEINE Kopierfunktion an.+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 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. 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 ! A:>POWER.COM würde im HRDOS eine Fehlermeldung erzeugen, im jedoch HRCPM nicht !
-Einige wichtige Hinweise Besonderheiten : + 
-In CP/M sind ausschliesslich GROSSBUCHSTABEN in Filenamen erlaubt. Das BIOS wandelt +__Einige wichtige Hinweise und Besonderheiten:__ 
-diese ggf. aber um ! + 
-Damit CP/M funktioniert, muss die RAM Floppy zwingend zuverlässig funktionieren ! +  * In CP/M sind ausschließlich GROSSBUCHSTABEN in Filenamen erlaubt. Das BIOS wandelt diese ggf. aber um ! 
-Beim Schreiben auf die RAM Floppy findet automatisch ein Vergleichslesen statt. Das macht +  Damit CP/M funktioniert, muss die RAM Floppy zwingend zuverlässig funktionieren ! 
-zwar den Zugriff etwas langsamer, ist aber für die Stabilität von CP/M, grad beim AC1 2010 +  Beim Schreiben auf die RAM Floppy findet automatisch ein Vergleichslesen statt. Das macht zwar den Zugriff etwas langsamer, ist aber beim Einsatz von dRAM für die RamDisk notwendig. 
-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. 
-Die NMI Taste ist im CP/M tabu !! und führt zwingend zum Absturz ! Leider liegt der wichtige +  Sollte CP/M abstürzen, springt es meist in die Registeranzeige (Monitor 10/88), daraus kann man Rückschlüsse über die Absturzursache ziehen. 
-FCB1 genau auf der NMI Startadresse. Das kann leider auch nicht verändert werden. +  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 ! 
-Sollte CP/M abstürzen, springt es meist in die Registeranzeige, daraus kann ich Rückschlüsse +  Ein CSAVE Kommando ist zur Zeit nicht vorgesehen, weil keine Notwendigkeit mehr besteht. Zum Speichern existieren genügend Alternativen. 
-über die Absturzursache ziehen. +  Die Zahl im Dateinamen HRDOS12 bzw. HRCPM12 stellt die Versionsnummer dar. 
-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 +__Weitere Hinweise:__ 
-gespeichert werden, weil das BIOS einen ungeschriebenen Puffer erkennt und schreibt ! + 
-Ein CSAV Kommando ist zur Zeit nicht vorgesehen, weil keine Notwendigkeit mehr besteht. +1. Bei sämtlichen CPM-Bios'n ist jeweils der FDC und das GIDE  
-Zum Speichern existieren genügend Alternativen. +bereits mit drin, aber so gestaltet, das erst beim realen Zugriff 
-Die Zahl im Dateinamen HRDOS12 bzw. HRCPM12 stellt die Versionsnummer dar.+auf die Routinen wirklich zugegriffen wird. 
 + 
 +Solange nur mit A: gearbeitet wird, wird es keine Fehlermeldung 
 +geben, wenn KEIN FDC oder GIDE gesteckt ist. 
 + 
 +Beim FDC sind dabei prinziell alle 4 Laufwerks-ID ansprechbar. 
 +Das ist auch in der Startausschrift zu erkennen, welche ID genutzt wird. 
 + 
 +Beim GIDE sind 3 Laufwerke eingestellt, die auf der HD physikalisch 
 +ab Spur 10 (dez.) beginnen. Ich nutze die Spur 1 im Monitor (V10/88) 
 +und die Spuren Spuren 4..9 für DiskVerHD und zum Booten versch. BootLader. 
 + 
 +Konkret sind die Laufwerke wie folgt im Bios fest verdrahtet ! 
 + 
 +<code> 
 +; DeLock SSD 256MB je Track 256KB, 984 Tracks 
 +; 1.Partition beginnt ab Spur 10, damit stehen die Spuren 0..9  
 +;   zusätzliche als Bootspuren 
 + 
 +PART C, 10, 64,2048 ; C: mit  64 Spuren ab Spur 10  (16 MB) HR 
 +PART D,150, 64,4096 ; D: mit  64 Spuren ab Spur 150 (16 MB) HR 
 +PART E,300, 64,4096 ; E: mit  64 Spuren ab Spur 300 (16 MB) HR 
 +;PART E,300,128,4096 ; E: mit 128 Spuren ab Spur 300 (32 MB) HR 
 + 
 +Als Festplatte nutze ich eine Delock 256MB SSD 
 +; Master = DELOCK SSD (256 MByte) 
 +CYLS0 EQU 984 ; Anzahl Zylinder 
 +HEAD0 EQU 16 ; Anzahl Koepfe 
 +SECS0 EQU 32 ; Anzahl Sektoren 
 +</code> 
 Diese Anleitung ist noch nicht ganz fertig ! Diese Anleitung ist noch nicht ganz fertig !
  
 +Viel Spaß damit wünscht\\
 +Ralph Hänsel
 +
 +===== Details =====
 +
 +**CONSOLE** die Bildschirm-Steuerzeichen sind SCP-kompatibel
 +
 +^ Code ^ Gültig ^ Taste ^ Beschreibung ^
 +| 00h | | | NOP (keine Wirkung) |
 +| 01h | | %%^%%A | Cursor links oben (home) |
 +| 07h | | %%^%%G | akustisches Zeichen an Tastatur |
 +| 08h | | %%^%%H | Cursor links |
 +| 0ah | | %%^%%J | Linefeed (neue Zeile) |
 +| 0ch | | %%^%%L | Bildschirm  loeschen, Cursor links oben |
 +| 0dh | | %%^%%M | Carriage Return (an Zeilenanfang) |
 +| 14h | | %%^%%T | Rest des Bildschirms loeschen |
 +| 15h | | %%^%%U | Cursor nach rechts |
 +| 16h | | %%^%%V | Rest der Zeile loeschen |
 +| 18h | | %%^%%X | Zeile loeschen, Cursor an Zeilenanfang |
 +| 1ah | | %%^%%Z | Cursor eine Zeile hoch |
 +| 1bh yyh xxh | nur cpm320 | ESC Spalte Zeile | Cursorpositionierung, Spalte/Zeile +00h oder +80h möglich |
 +| 7fh | nur cpm320 | | Delete (streichen Zeichen links vom Kursor) |
 +| 1bh 5Dh xxh | | ESC 5Dh farbbyte | Setzen Farbe (bei Color-BWS |
 +| 1bh 5Fh xxh | nur hrdos | ESC 5Fh Zeichen | direkte Zeichenausgabe (Grafik >= 80h und < 20h) |
 +| 1bh yyh+80h xxh | nur hrdos | ESC Spalte+80h Zeile+80h | Cursorpositionierung, Spalte+80h! Zeile kann +80h |
 +| 02h | nur hrdos | | Kursor ein |
 +| 03h | nur hrdos | | Kursor aus |
 +| 82h | nur hrdos | | Kursor ein |
 +| 83h | nur hrdos | | Kursor aus |
 +| 84h | nur hrdos | | normale Darstellung |
 +| 85h | nur hrdos | | invers |
 +| 86h | nur hrdos | | intensiv (HighLight) |
 +| 87h | nur hrdos | | intensiv + invers |
 +
 +===== Turbo Pascal - Patch =====
  
 +Anpassung von Turbo Pascal - Programmen an HRCPM12 (s.a. [[cpm:turbo_pascal:tinst|]])
  
 +<code>
 +125
 +0153  TermTypStr:  16,AC1-2010 (64x32)
 +0168  Width:       64
 +0169  Height:      32
 +016A  ???:         0
 +016B  InitialStr:  01,82
 +017B  ResetStr:    00
 +018B  CursorStr:   03,1B,00,00
 +019B  BinaryAddr:  1
 +019C  ColumnOff:   128
 +019D  LineOff:     128
 +019E  XPosition:   3
 +019F  YPosition:   2
 +01A0  DelayCursor: 0
 +01A2  ClearScrStr: 01,0C
 +01A8  HomeStr:     00
 +01AE  InsLineStr:  00
 +01B4  DelLineStr:  00
 +01BA  DelayLine:   0
 +01BC  EraToEolStr: 01,16
 +01C2  HLStartStr:  01,86
 +01C8  HLEndStr:    01,84
 +01CE  DelayHL:     0
 +</code>
  
  • homecomputer/ac1/hrcpm.1709647876.txt.gz
  • Zuletzt geändert: 2024/03/05 14:11
  • von volkerp