Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
homecomputer:ac1:hrcpm [2024/03/05 14:35] – [Downloads] volkerp | homecomputer: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: | + | Neben seinem [[homecomputer: |
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:// | HRDOS ist ein [[http:// | ||
- | HRCPM ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1, welches aber auf dem [[cpm: | + | HRCPM ist ebenfalls ein ZSDOS kompatibles CP/M 2.2 Betriebssystem für den AC1, welches aber auf dem [[cpm: |
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) | ||
Zeile 27: | Zeile 27: | ||
* MLDOS v.1.5 Quelldateien | * MLDOS v.1.5 Quelldateien | ||
* http:// | * http:// | ||
+ | |||
+ | ===== Programme ===== | ||
+ | |||
+ | Check+CPM-Umgebung_2000_25FF.BIN Testprogramm, | ||
+ | |||
+ | ZSHELP.COM | ||
+ | |||
+ | FORMATAC.COM CP/ | ||
+ | |||
+ | |||
===== Hardware ===== | ===== Hardware ===== | ||
Zeile 32: | 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 42: | 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 85: | 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" | + | * 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, | * Unterstützung vieler Diskettenformate, | ||
Zeile 91: | 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 | + | * 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 123: | 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 | + | die RAM Floppy formatiert werden soll. **Das ist beim 1. Start zwingend**, andernfalls |
- | 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 200: | Zeile 210: | ||
* In CP/M sind ausschließlich GROSSBUCHSTABEN in Filenamen erlaubt. Das BIOS wandelt diese ggf. aber um ! | * In CP/M sind ausschließlich GROSSBUCHSTABEN in Filenamen erlaubt. Das BIOS wandelt diese ggf. aber um ! | ||
* Damit CP/M funktioniert, | * Damit CP/M funktioniert, | ||
- | * 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. | + | * 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 |
* 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 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, | + | * Sollte CP/M abstürzen, springt es meist in die Registeranzeige |
* 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 ! | * 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. | * 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. | * Die Zahl im Dateinamen HRDOS12 bzw. HRCPM12 stellt die Versionsnummer dar. | ||
+ | |||
+ | __Weitere Hinweise:__ | ||
+ | |||
+ | 1. Bei sämtlichen CPM-Bios' | ||
+ | bereits mit drin, aber so gestaltet, das erst beim realen Zugriff | ||
+ | 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, | ||
+ | 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 ! | ||
+ | |||
+ | < | ||
+ | ; 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 | ||
+ | ; | ||
+ | |||
+ | Als Festplatte nutze ich eine Delock 256MB SSD | ||
+ | ; Master = DELOCK SSD (256 MByte) | ||
+ | CYLS0 EQU 984 ; | ||
+ | HEAD0 EQU 16 ; | ||
+ | SECS0 EQU 32 ; | ||
+ | </ | ||
Diese Anleitung ist noch nicht ganz fertig ! | Diese Anleitung ist noch nicht ganz fertig ! | ||
Zeile 212: | Zeile 257: | ||
Ralph Hänsel | 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 | ||
+ | | 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, | ||
+ | | 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, | ||
+ | | 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: | ||
+ | |||
+ | < | ||
+ | 125 | ||
+ | 0153 TermTypStr: | ||
+ | 0168 Width: | ||
+ | 0169 Height: | ||
+ | 016A ???: 0 | ||
+ | 016B InitialStr: | ||
+ | 017B ResetStr: | ||
+ | 018B CursorStr: | ||
+ | 019B BinaryAddr: | ||
+ | 019C ColumnOff: | ||
+ | 019D LineOff: | ||
+ | 019E XPosition: | ||
+ | 019F YPosition: | ||
+ | 01A0 DelayCursor: | ||
+ | 01A2 ClearScrStr: | ||
+ | 01A8 HomeStr: | ||
+ | 01AE InsLineStr: | ||
+ | 01B4 DelLineStr: | ||
+ | 01BA DelayLine: | ||
+ | 01BC EraToEolStr: | ||
+ | 01C2 HLStartStr: | ||
+ | 01C8 HLEndStr: | ||
+ | 01CE DelayHL: | ||
+ | </ | ||