AC1-2010
Zu-Erledigen-Box
Der AC1-2010 ist ein modular aufgebauter AC1 mit Erweiterungen. Unterlagen etc. siehe http://www.ac1-info.de/, AC1-2010.
Entwicklung von Andreas Suske, DL9UNF u.a.
Es gibt durch den modularen Aufbau nicht DEN AC1-2010; jedes Exemplar ist individuell. Mein AC1 hat mit seinem Modul 1 statt der ROM-Bank eine Besonderheit, ebenso scheint die PIO2/PIO3-USB-Karte in dieser Kombi-Form einzigartig zu sein.
AC1-2010
Merkmal | Beschreibung |
---|---|
CPU | U880 |
ROM | 4K System + Erweiterungen |
RAM | 64k |
Takt | 2 MHz / 4 MHz |
Anzeige | VGA: 64×32 Zeichen, ASCII + Pseudografik, Farbe |
Tastatur | ASCII, PS/2 |
Peripherie | VGA, USB, Kassettenrecorder, Floppy, RAM-Disk, V24, … |
Software | diverse Monitor SCCH erweitert / HCCPM .. |
Der AC1-2010 bietet gegeben über dem AC1 nach Funkamateur diverse Erweiterungen, die im Laufe der Zeit entwickelt wurden und die mit moderneren Bauelementen effektiv aufzubauen sind. Dennoch kann der AC1 auch mit dem originalen Betriebssystem „Monitor 3.1“ arbeiten und klassisch auf Kassette speichern!
Die Erweiterungen machen den AC1-2010 zum kompletten CP/M-System.
Programme können geladen/gespeichert werden auf:
- Kassette (via PIO)
- Floppy-Disk 3.5„, 800K-Disketten, AC1-Format sowie CPM
- Festplatte (128 MByte-DOM-Modul an GIDE)
- USB-Stick (via VDIP1 an PIO)
- 256K-RAM-Floppy
- sowie direktes Laden von einer ROM-Bank (Modul 1, Paket X, 1 MByte ROM, sowie 16K-BASIC)
Busplatine
Die Busplatine ist eine modifizierte Eurobus-Karte mit 10 Steckplätzen. Steckverbinder nach DIN 41612. Die Steckplätze auf der Busplatine sind teilweise fest vorgegeben; eine willkürliche Reihenfolge ist nicht möglich. Ursache dafür sind zusätzliche Signalleitungen zwischen den Karten.
Von rechts nach links in den Steckplätzen 1..3 müssen zwingend in dieser Reihenfolge stecken: BWS, CPU, PIO/CTC
Die anderen sechs Steckplätze 4..10 können prinzipiell beliebig mit weiteren Karten bestückt werden.
Unterlagen: http://www.ac1-info.de/ac1_2010/backplane.htm
Von rechts nach links stecken in meinem Gerät:
- Color-BWS
- CPU
- PIO-CTC-PS/2-Kass.-Joy.
- 64K-RAM
- Modul 1
- PIO2/PIO3-USB
- GIDE
- FDC
Color-BWS
AC1-2010 BWS Grafikkarte, mit CPLD, Heiko Poppe
Unterlagen: http://www.ac1-info.de/ac1_2010/color_bws_cpld.htm
von Heiko Poppe und Ralph Hänsel entwickelte Farbgrafikkarte, die auch eine Taktfrequenz- und Zeichensatzumschaltung sowie einen Inversmodus bietet. Der Farbspeicher liegt parallel zum Zeichenspeicher und enthält pro Zeichen eine Vorder- und eine Hintergrundfarbe. Das Ein- und Ausblenden des Farbspeichers erfolgt über das rücklesbare Ein- /Ausgabetor F0h, über das zusätzlich auch die Taktfrequenz umgeschaltet werden kann.
VGA-Grafik-Karte, kompatibel zur AC1-Grafik. Entwickler: Heiko Poppe, vorgestellt u.a. im robotrontechnik-Forum. 64×32 Zeichen, Farbe (je 16 Vorder- und Hintergrundfarben pro Zeichen), Umschaltbarer Zeichensatz.
VGA wird am Pfostenstecker rechts an Pins 1..7 angeschlossen.
Adressbereich 1000h-17FFh, 4 KByte RAM (2K Zeichenspeicher + 2K Farbattribut-Speicher, liegen beide im selben System-Adressbereich).
Speicher | 1000-1FFF 2 kByte RAM |
Ports | F0, BWS-Port lesen+schreiben |
05, PIO1 B3 → Zeichensatzumschaltung, lesen | |
Bus | OUT Signal A25 CLK |
IN Signal A2 /VDUSEL → Bereich 1000-17FF f. BWS | |
IN Signal C2 Bildinvers (von PIO1 B3) |
Signal C2 wird von der Karte nicht genutzt, stattdessen wird im CPLD die Portadresse 05 ausgelesen.
Signal C2 Bildinvers ist damit als → Zeichensatzumschaltung umfunktioniert
CPU-Karte und BWS-Karte sind als Einheit zu betrachten! Auf der BWS-Karte sitzt der Taktgenerator, Die Signalleitungen A25..A30 und C25..C30 sind mit der CPU-Karte verbunden.
JP1: JTAG-Adapter (leer) JP2: 1-2 RW-Mode enabled JP3: Anschluss VGA: Steckverbinder untere Reihe, an linken Pin (1) 2K RAM 1000-17FF, 2 Ebenen (Text+Farbe) 32 Zeilen a 64 Zeichen (64x32) Speicher wird rückwärts beschrieben (AC1-Besonderheit, 17FF ist links oben!)
CPU
Auf der Karte ist eine CPU U880, der System-Monitor und ein kleiner statischer RAM enthalten. Es gibt Tasten für Reset und NMI.
Es gibt hier keinen Taktgenerator! Dieser sitzt auf der BWS-Karte.
Takt | 2/4 Mhz |
Speicher | 0000-0FFF 4kByte Monitor |
1800-1FFF 2kByte RAM | |
Ports | - |
Bus | OUT Signal /VDUSEL → Bereich 1000-17FF f. BWS |
IN Signal CP/M-Umsch., deaktiviert RAM,ROM,BWS |
v.o.n.u.: LED: Halt Taster lang: Reset Taster kurz: NMI Monitor "* AC1-2010 * MONITOR * 12/2011 *"
PIO-CTC-PS/2-Kass.-Joy.
Unterlagen: http://www.ac1-info.de/ac1_2010/pio_joystick.htm
Die I/O-Karte enthält die PIO1 für den Anschluss einer Tastatur und das Kassetteninterface (kompatibel zum Ur-AC1). Als Tastatur kommt eine PS2-Tastatur zum Einsatz. Ein Arduino-Nano übernimmt die Umsetzung der PS2-Daten in ASCII.
Zusätzlich gibt es eine CTC, einen Joystickanschluss und einen Piepser.
Speicher | - |
Ports | 00-03 CTC |
04-07 PIO1 | |
Bus | OUT C2 Signal Bildinvers (PIO B3) |
Belegung PIOA B0..B6 ASCII-Code Zeichen B7 Taste gedrückt Belegung PIOB B0 Ton-Ausgang B1 Joystick ges. A B2 Grafiktaste B3 Bildschirm-Mode invers bzw. -> Zeichensatzumschaltung (s. BWS) B4 frei B5 Start/Stop-Schaltung (alternativ auch B1 oder B4) B6 TB-Interface-Ausgang B7 TB-Interface-Eingang
In der umfangreichen Dokumentation pio_joystick_beschreibung.pdf sind die Sonderfunktionen der Tastatur ausführlich beschrieben.
Tastenkombination | Befehl |
---|---|
F1 | ?+CR |
F4 | CLS+CR |
F5 | CLOAD |
F6 | CSAVE |
F8 | Teststring |
F9 | STOP+CR |
F10 | RUN+CR |
F11 | LIST+CR |
F12 | CONT+CR, Alt+F12 Version |
Shift-F2 | 2 MHz |
Shift-F4 | 4 MHz |
Ctrl+ESC | AC1-NMI |
Alt+ESC | Ardunio-Reset und PS/2-Tastatur-Reset |
Ctrl+Alt+Entf | AC1-Reset |
NUM-Taste | NUM-Lock + SCCH-Grafiktaste ein/aus |
Rollen-Taste | Umschaltung Tastencodes: AC1 - CP/M (Kursortasten etc.) |
AltGr+0 | 40ms-Impulse auf PA7, „Standard-Modus“ |
AltGr+1 | PA7 ist aktiv, bis Taste losgelassen wird, „Ralphs Spezial-Modus“, für EDAS*4 |
AltGr+F1 | Joystick-Modus SCCH-Monitor Joystickabfrage |
AltGr+F2 | Joystick-Modus Kursortasten + Enter, z. B. Ghosttown |
AltGr+F3 | Joystick-Modus Kursortasten + Space, z. B. ACBALL |
AltGr+F4 | Joystick-Modus Belegung für ACTRIS |
AltGr+F5 | Joystick-Modus Ziffernblock + Space, z. B. WURMI |
AltGr+F6 | Joystick-Modus Belegung für PACMAN |
64K-RAM
64k-CP/M-Umschaltung DL9UNF, 02/2007, 05/2010
Unterlagen: http://www.ac1-info.de/ac1_2010/64k_ram.htm
Auf der Karte sind 64 KByte statischer RAM. Der Bereich 0000-1FFF ist normalerweise nicht verfügbar, in diesem Bereich befinden sich auf der CPU-Leiterplatte System-Monitor, 2 KByte RAM und auf der BWS-Karte weitere 2 KByte RAM. Für CP/M-Betrieb kann der komplette RAM ab 0000 eingeschaltet werden; die BWS-Ausgabe erfolgt in diesem Fall durch internes Umschalten auf den BWS-RAM. Die ROM-Karten können durch Signale den RAM deaktivieren.
Speicher | 0000-FFFF 64kByte RAM |
Ports | 1E, nur Bit 0, nur schreibend |
Bus | OUT Signal C22 CP/M-Umschaltung |
IN Signal A2 RAM 2000-7FFF ausblenden | |
IN Signal C2 RAM 8000-FFFF ausblenden |
v.o.n.u.: LED rot aktiv LED gelb RAM von 2000...7FFF ( A2/ IC1 ) aus LED (gelb) RAM von 8000...FFFF ( C2/ IC2 ) aus LED (grün) blau RAM aktiv 64K RAM 0000-FFFF Port: 1E IOSEL7 Bank-Umschalter CP/M Bankumschalter 0x01E Bit 0 = 0 4K-ROM, 2K-BWS, 2K-SRAM Bit 0 = 1 untere 8K von 64K-RAM (alles RAM) RESET Bit 0 = 0
RAM-Floppy 256k
AC1 RAM-Floppy 256 kByte nach MP 3/88, DL9UNF 05/2010
Unterlagen: http://www.ac1-info.de/ac1_2010/ram_floppy.htm
http://www.ac1-info.de/literatur/mp_88_03.htm
Die eigentliche RAM-Disk wird über IN- und OUT-Befehle bedient und tangiert den Hauptspeicher nicht. Genutzt wird die RAM-Floppy vor allem im CP/M als Laufwerk A:. Im AC1-Modus kann die RAM-Disk mit den Floppy-Routinen von Johann Spannenkrebs verwendet werden. http://www.ac1-info.de/ac1_2010/fdc/Beschreibung_FDC_16.pdf Zur Speicherung von Programmen über einen längeren Zeitraum wird der Einbau einer Stützbatterie (wie hier im Bild) empfohlen.
Speicher | - |
Ports | E0..E7 |
Bus |
Ports: E0 = Lesen/Schreiben Bank 1 E1 = Lesen/Schreiben Bank 2 E2 = Lesen/Schreiben Bank 3 E3 = Lesen/Schreiben Bank 4 E4 = frei E5 = eigentlich frei, wird von HRCPM12 als extended Adressbit für RAM-Floppys > 256 MByte genutzt E6 = mittlere 8 Adressbit laden E7 = niedrigste 8 Adressbit in den Zähler laden. v.o.n.u.: LED gelb (blau) aktiv LED rot Bank 1 LED rot Bank 2 LED rot Bank 3 LED rot Bank 4
Modul 1
ROM-Modul AC1 R. Weidlich 1/2008
Unterlagen: http://www.ac1-info.de/ac1_2010/modul_1.htm
Auf der Karte sind 2 EPROMs und eine 1 MByte-EPROM-Bank. Die EPROMs blenden sich in den Adressraum des Systems ein: Bei Schreibzugriffen im Bereich 0-0FFF wird der „hinter“ dem System-ROM liegende, verdeckte RAM der 64K-RAM-Karte beschrieben.
Das Kopieren von Programmen aus der ROMBANK in den Arbeitsspeicher übernimmt das Programm "Paket X", Es wird mit dem Monitorkommando „X“ gestartet.
Es gibt von mir eine neue Software "ROM-Disk-Verwaltung 2023"!
Speicher | 2000-5FFF 16 kByte BASIC |
Speicher | E000-FFFF 8 kByte Paket-X |
Speicher | 8000-FFFF 32 kByte ROMBANK-Page (32 Pages) |
Ports | 14 Modul1-Port |
Bus | OUT Signal A2 RAM 2000-7FFF ausblenden |
OUT Signal C2 RAM 8000-FFFF ausblenden | |
OUT Signal C22 System 0000-1FFF ausblenden (CP/M-Umschaltung) |
00 Modul1 inaktiv, System-ROM 0-0FFF ein, BWS 1000-17FF ein, RAM 1800-1FFF ein 01 Programm X, E000-EFFF 02 BASIC, 2000-5FFF 04 CP/M-Mode: 64K RAM 0-FFFF ein, System-ROM aus, BWS aus, RAM 1800-1FFF aus 08h EPROM1 Bank0, 09h EPROM2 Bank0 18h EPROM1 Bank1, 19h EPROM2 Bank1 ... ... F8h EPROM1 Bank15, F9h EPROM2 Bank15, jeweils 8000-FFFF
PIO2/PIO3-USB
PIO2 serielle Schnittstelle, Eprommer, …
PIO3 USB-Anschluss mittels VDIP1
Unterlagen:
- pio23-usb.zip Sprint6-Layout
Die Herkunft dieser Karte ist nicht weiter bekannt. Die PIOs haben die Standard-Adressen, so dass die vorhandene Software auch mit dieser Karte läuft.
Für USB braucht man ein VDIP-Modul. Der USB-Stick wird mit FAT16 am PC formatiert (kurze Dateinamen 8.3). Beschreibung des VDIP-Moduls s. VDIP1 und v2dip.
Speicher | - |
Ports | 08-0F PIO2 |
FC-FF PIO3 USB | |
Bus | - |
vgl.a. Z1013-USB-Modul
GIDE
IDE-Anschluss nach Tilmann Reh (http://www.gaby.de/gide), incl. RTC (real time clock)
Unterlagen: http://www.ac1-info.de/ac1_2010/gide.htm
Statt einer IDE-Festplatte kommt praktisch nur ein 128/256/512 MByte-DOM-Modul zum Einsatz. Auch diese Kapazität wird bei weitem nicht ausgeschöpft.
Das IDE-Laufwerk wird mit im Monitor mit „DVHD-V3.X“ angesteuert. Der Komfortmonitor 11 erlaubt das Arbeiten mit IDE (und USB) anstelle Diskette in allen Programmen. Die CPM-Versionen HRCPM12, HRDOS12 u.a. nutzen auf dem IDE-Laufwerk drei virtuelle CP/M-Laufwerke. Das IDE-Laufwerk ist dazu in einen Monitor- und einen CP/M-Bereich aufgeteilt. (Das sind keine DOS-Partitionen!)
Unter Windows gibt es das Programm DOM-Manager von R. Weidlich zum Sichern und Beschreiben einer AC1-IDE-Festplatte am PC. Das Programm muss mit Admin-Rechten laufen. http://www.ac1-info.de/galerie/weidlich_rolf/weidlich.htm
Der Zugriff erfolgt über einen frei wählbaren Port-Bereich x4..xF. Die bekannte Software arbeitet im Bereich 8x.
Speicher | - |
Ports | 84-8F |
Bus | - |
; HR: voreingestellt ist DELOCK SSD 256MB 984*16*32 ; Per 09/2012 hat meine 256MB HDD folgende Aufteilung: ; 1. Spur 0 reserviert für "s/l" Kommando Monitor >= V10.2 ; 2. Spur 1..9 reserviert für DiskVerHD bzw. DVHD ; 3. Spuren 10..399 CPM Laufwerke für HRCPM und HRDOS ; 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 ; 4. Spuren 400.. frei zu eigenen Verwendung..
FDC
Unterlagen: http://www.ac1-info.de/ac1_2010/fdc.htm
Für den AC1 wurden mehrere Schaltungen für eine Diskettenanbindung entwickelt, die sich teilweise funktional und in den verwendeten Ein-/Ausgabeadressen etwas unterscheiden.
Dies ist der AC1-FDC.
Speicher | - |
Ports | 40H Statusregister FDC |
41H Datenregister FDC | |
42H/43H Aktivierung WAIT | |
44H/45H Latch DL175 | |
D0 Motor0 | |
D1 Wait | |
D2 - | |
D3 Motor1 | |
Bus | - |
Der SCCH-FDC nutzt Port 48H als IO-Adr. für Latch 74LS175 mit etwas anderer Bit-Belegung.