Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
homecomputer:ac1:picoac1 [2024/04/11 07:06] – [CP/M] volkerp | homecomputer:ac1:picoac1 [2024/12/05 13:18] (aktuell) – [Hardware] volkerp | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
Nach dem Anschließen der Stromversorgung sollte der picoAC1 ein Bild ähnlich wie folgt anzeigen: | Nach dem Anschließen der Stromversorgung sollte der picoAC1 ein Bild ähnlich wie folgt anzeigen: | ||
- | TODO | + | {{: |
+ | |||
+ | |||
+ | Die mittig auf der Leiterplatte sitzende LED kennzeichnet den AC1-Betriebsmodus. Im CP/ | ||
- | Die mittige LED kennzeichnet den AC1-Betriebsmodus. Im CP/ | ||
===== Bedienung ===== | ===== Bedienung ===== | ||
Zeile 29: | Zeile 31: | ||
Das Standard-System des picoAC1 ist eine Erweiterung des originalen Monitors 3.1 [[homecomputer: | Das Standard-System des picoAC1 ist eine Erweiterung des originalen Monitors 3.1 [[homecomputer: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | |||
==== Tastatur ==== | ==== Tastatur ==== | ||
Zeile 89: | Zeile 99: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
- | TODO | + | * {{ : |
+ | |||
+ | Auf der SD-Karte ist folgende Verzeichnisstruktur angelegt: | ||
+ | |||
+ | < | ||
+ | E: (PICOAC1) | ||
+ | ├───.ac1bin | ||
+ | ├───basic8k | ||
+ | ├───cpm | ||
+ | │ | ||
+ | │ | ||
+ | ├───edas | ||
+ | ├───forth | ||
+ | ├───minibas | ||
+ | └───spiele | ||
+ | </ | ||
==== Systemdateien ==== | ==== Systemdateien ==== | ||
Zeile 184: | Zeile 209: | ||
Die Funktionsweise der Hardware ist auf https:// | Die Funktionsweise der Hardware ist auf https:// | ||
- | ^ Merkmal ^ Beschreibung ^ | + | ^ Merkmal |
- | | CPU | U880 | | + | | CPU |
- | | ROM | 4K 0000-0FFF (Monitor) | | + | | ROM |
- | | RAM | 64K 1000-FFFF (ab 0000 im CP/M-Modus) | | + | | RAM |
- | | Takt | 1,2,4,8 MHz | | + | | Takt | 1,2,4,8 MHz | |
- | | Anzeige | 64x32 Zeichen, s/w, versch. Zeichensätze möglich | | + | | Anzeige |
- | | Tastatur | ASCII | | + | | Tastatur |
- | | Peripherie | 2 PIO, 1 CTC | | + | | Peripherie |
+ | | | Videoprozessor (raspberry pico ) | | ||
+ | | | I/ | ||
^ Port | Verwendung | | ^ Port | Verwendung | | ||
Zeile 204: | Zeile 231: | ||
Die Umschaltung in den CP/M-Modus erfolgt durch ein Latch auf Port 1Ch(..1Fh). OUT 1Ch, Bit0=0 schaltet den AC1-Modus ein (Monitor-ROM, | Die Umschaltung in den CP/M-Modus erfolgt durch ein Latch auf Port 1Ch(..1Fh). OUT 1Ch, Bit0=0 schaltet den AC1-Modus ein (Monitor-ROM, | ||
- | <ditaa noedgesep> | + | <a2s> |
- | FFFF | + | FFFF |
| | | | ||
| | | | ||
Zeile 211: | Zeile 238: | ||
| | | | ||
| | | | ||
- | 2000 | + | 2000 |
| Mon-RAM | | Mon-RAM | ||
| 2K | | 2K | ||
- | 1800 | + | 1800 |
| BWS | | | BWS | | ||
| 2K | | 2K | ||
- | 1000 | + | 1000 |
| Monitor | | Monitor | ||
| 4K | | 4K | ||
- | 0000 | + | 0000 |
OUT 1Ch,0 OUT 1Ch,1 | OUT 1Ch,0 OUT 1Ch,1 | ||
- | </ditaa> | + | </a2s> |
+ | |||
+ | |||
+ | Zeichensätze: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
===== CP/M ===== | ===== CP/M ===== | ||
+ | |||
+ | Aktuell gibt es eine CP/ | ||
Für den Betrieb von CP/M sind auf der SD-Karte diverse Dateien abzulegen, am besten in einem eigenen Verzeichnis. | Für den Betrieb von CP/M sind auf der SD-Karte diverse Dateien abzulegen, am besten in einem eigenen Verzeichnis. | ||
TODO | TODO | ||
+ | |||
+ | Es gibt 6 Laufwerke A-F, die als Disketten-Image auf der SD-Karte liegen. | ||
+ | C und D sind dabei 8 MByte große " | ||
+ | |||
+ | Der Bildschirmtreiber nutzt die Cursor-Positionierung nach SCP. Steuerzeichen: | ||
+ | < | ||
+ | ; Bildschirm-Steuerzeichen, | ||
+ | ; 00h NOP (keine Wirkung) | ||
+ | ; 01h Cursor links oben (home) | ||
+ | ; 07h akustisches | ||
+ | ; 08h Cursor zurueck | ||
+ | ; 0ah Linefeed (neue Zeile) | ||
+ | ; 0ch Bildschirm | ||
+ | ; zuletzt ausgegebenen Bildschirmzeilen), | ||
+ | ; links oben | ||
+ | ; 0dh Carriage Return (an Zeilenanfang) | ||
+ | ; 14h Rest des Bildschirms löschen | ||
+ | ; 15h Cursor nach rechts | ||
+ | ; 16h Rest der Zeile löschen | ||
+ | ; 18h Zeile löschen, Cursor an Zeilenanfang | ||
+ | ; 1ah Cursor eine Zeile hoch | ||
+ | ; 1bh Einleitung | ||
+ | ; sten beiden Bytes beinhalten Zeile und Spalte | ||
+ | ; Offset 00h oder 80h | ||
+ | ; 7fh Delete (streichen Zeichen links vom Kursor) | ||
+ | ; 20H..7EH | ||
+ | </ | ||
Hier die **diskdefs** für die [[cpm: | Hier die **diskdefs** für die [[cpm: | ||
Zeile 237: | Zeile 301: | ||
diskdef ac1 | diskdef ac1 | ||
seclen 512 | seclen 512 | ||
- | tracks | + | tracks |
- | sectrk | + | sectrk |
blocksize 2048 | blocksize 2048 | ||
maxdir 256 | maxdir 256 | ||
Zeile 258: | Zeile 322: | ||
end | end | ||
</ | </ | ||
+ | |||
+ | Starten von CP/M aus dem Monitor: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Importieren und Starten von CP/ | ||
+ | |||
+ | {{: |