Heimcomputer Z9001, KC85/1, KC87
Kombimodul:


Startmeldung Pflichtenheft von 2006
Zur Bestelliste
Zum Warenkorb bei Reichelt
Zu den Aufbauhinweisen
Zum Inbetriebnahmetest
Funktionsbeschreibung
Einsatzerfahrungen
Einsatz als FDC-Kontroller im BIC/A5105 und Z1013
Arbeiten mit der Firmware
Zur Leiterplatte der Revision C
Einsatz von FLASH-Speichern

Aktueller Stand der Firmware: (01/2021) (für 1MBx8-EPROM)
Auf dem Kombimodul läuft die Firmware des MEGA-Moduls, aber mit vermindertem Programmumfang. Sie braucht bei geändertem Betriebssystem die Klimmzüge für die Verlagerung der CPROM-Routine eigentlich nicht. Die gepatchte Version von 11/19 unterstützt beide Betriebssysteme, siehe EPROM-Inhalt V1902P auf dieser Seite.


Vorwort:
      Funktionsmuster
      Funktionsmuster
      Das alte Fumu ist totgeändert worden. Das neue erfüllt bisher alle Erwartungen, bis auf den EPROM-Inhalt.
Der Kombimodul, anfangs "Supermodul" genannt und wegen der anfänglichen Namens­gleichheit zum später entwickelten MEGA-Modul schließlich in Kombimodul umbenannt, war schon anfang der 1990er Jahre angedacht. Es sollte mindestens 64K-RAM-Modul, ROM-Bank und FDC-Modul auf einem Modul vereinen. Wegen des vorgesehenen Einsatzes der unkomplizierten TU-ROM-Bank, die allerdings eine Änderung des System-EPROMs (mit vielen Vorteilen) erforderlich gemacht hätte, traf die Idee auf einige Kritiker. Das war für die Entwicklungsarbeiten sehr demotivierend (rechts das Bild des seit 2004 nahezu unveränderten Labormusters (LAMU)).
Es gibt einen weiteren Nachteil gegenüber der TU-ROM-Bank: die Bank muß setzbar sein! Das kann man bei einem GAL nur synchron und verlangt deswegen eine diskrete Lösung mit Zähler-Schaltkreisen.
Durch den MEGA-Modul trat dann ein weiterer Effekt ein: bei jedem Bankdurchlauf wurde auch die unendlich lange Programmliste durchsucht. Die dadurch auftretende Verzögerung bei der Programmsuche war nicht tragbar. Erst als Volker Pohlers die unhandliche große Programmliste durch eine Suchroutine über den gesamten MEGA-Modul (ähnlich der Suchroutine in der TU-ROM-Bank) ersetzte, war eine ROM-Bank möglich, die ohne umständliche Neucompilierung das Anhängen eigener Erweiterungen/Programme erlaubte.

Funktionsumfang:
Der 64K-SRAM-Modul war die Vorstufe des Kombimoduls, das eigentlich nur um den FDC-Modul, eine Taste zum Weiterschalten der ROM-Bank von Hand (zum Entwickeln eigener Programme sehr hilfreich) und weitere RAM-Bänke erweitert ist. Neben dem Steckverbinder für das Floppykabel gibt es noch einen Stecker für die Stromversorgung der maximal zwei Diskettenlaufwerke.
Manch einer wird den Einsatz eines Diskettenlaufwerkes angesichts von GIDE und USB für überflüssig ansehen, ich sehe GIDE und USB als Verfrankensteinung des Z9001! Wer nicht will, braucht diesen Modul ja nicht zu verwenden. Immerhin ist durch die Vereinigung dreier Module Platz für Druckermodul, RAF2008 und TCP-IP-Modul (auch eine Verfrankensteinung) oder auch der GIDE-USB-Modul.
      Muster
         Das Testmuster unbestückt
Um die Zusammenarbeit mit anderen Modulen nicht zu behindern (andere Modul­entwickler sind da nicht so rücksichtsvoll, es gibt keine Akzeptanz einer zentralen Koordination), sind sowohl die ROM-Bank, die CMOS-Uhr als auch der RAM abschalt­bar. Damit kann der Modul auch nur als FDC-Modul betrieben werden oder eine beliebige Kombination. Der FDC-Teil ist nicht abschaltbar.
Der Gesamt-RAM beträgt 512 KB, davon sind 464 KB in Bänken ansprechbar. Unter CP/M gibt es einen Treiber RAFKOMBI.COM von Volker Pohlers. Damit ist eine RAM-Floppy (Laufwerk M:) mit max. 402KB nutzbar.
Mit einem in gestecktem Zustand zugänglichen Schalter wird das /ROMDI-Signal an Z9001 bzw. KC87 angepaßt. Ebenso kann der RAM-Bereich 4000H-BFFFH mit einem Schalter abgeschaltet werden, wenn bereits auf anderen Modulen RAM vorhanden ist.
Der Einsatz von vier GAL-Bausteinen minimiert den Schaltkreisaufwand, so daß alle Sub­module, einschließlich Uhr und Bankanzeige auf eine Modulplatine mit den Abmessungen  95 x 170 mm passen. Ein nun überflüssiger RAM-Erweiterungsmodul liefert den Steckverbinder und das Gehäuse für den MEGA-Modul oder einen anderen neuen Modul.

      Muster mit HCT-Schaltkreisen
         Modul mit HCT-Schaltkreisen
Die Stromaufnahme von typ. 450 mA ist geringer als die Summe der Stromaufnahmen der Einzelmodule (MEGA, 64K-DRAM, FDC). Mit HCT-Schaltkreisen bestückt sinkt die Stromaufnahme auf typ. 300 mA! Man sollte dabei bedenken, daß noch eine Bank­anzeige, eine Uhr und eine RAM-Floppy auf dem Modul sind.
Im Bild rechts sind die zu ersetzenden elf Schaltkreise mit einem * gekennzeichnet.

Der Einsatz eines GOTEK-Laufwerkes ist uneingeschränkt möglich.
Aufbau:
  1.       Muster, komplett
              Das Fertigungsmuster mit DIN-Stecker
    Es können sowohl EFS als auch DIN-Stecker eingebaut werden. Letztere werden mechanisch bearbeitet und sind dann kompatibel ohne Adapter!

  2. Es können verschiedene Kurzhubtaster verwendet werden, von vorn bzw. von oben bedienbar.

  3. Anstelle der vier DIP-Schalter können auch Steckbrücken verwendet werden, von vorn bzw. von oben bedienbar.

  4. Bis auf zwei können alle Widerstände auch als SMD (1206, besser 0805) bestückt werden, ebenso die LEDs.

  5. Durch Teilbestückungen arbeitet der Modul (optional mit Bankanzeige und optional mit Banktaste) als
    - 64K-RAM-Modul
    - CMOS-Uhr
    - ROM-Bank-Modul (abgerüstete MEGA-Software 1MBx8)
    - FDC-Modul
    - RAM-Floppy
    oder vollbestückt mit allem!

  6. Die Bestückung der Anzeige ist optional, es gibt auch eine Anzeige im Bildspeicher während der Programmsuche. Der SRAM ist wahlweise batteriegestützt (Steckbrücke). Ein nicht mehr benögter RAM-Erweiterungsmodul liefert das Gehäuse. Bearbeitet man dieses mechanisch, kann entweder der untere Teil oder der obere Teil der Platine "verkleidet" werden. Mit einem weiteren, geteilten Gehäuse kann alles versteckt werden. Die Ausbrüche für Anzeige, Schalter, Taster und Steckverbinder sind natürlich sinnvoll.

  7. Stützwiderstand SRAM
        Stützwiderstand SRAM
    Ein Fehler hat sich eingeschlichen:
    Klemmt man mit der Steckbrücke X9 den SRAM an 5PS, so ist er bei ausgeschaltetem Rechner im Schlafmodus und behält seinen Inhalt. Dieser Zustand ist für die Nutzung der RAM-Floppy zwingend, sonst wird sie beim Ausschalten gelöscht.
    Der /CS-Eingang an D2/22 ist bei ausgeschaltetem Rechner praktisch unbeschaltet, kann durch den GAL-Ausgang auf L gezogen werden und hält dadurch den SRAM aktiv. Das führt zu einer Stromaufnahme von ca. 5 mA und die CMOS-Batterie wird innerhalb weniger Tage entladen. Abhilfe schafft ein Widerstand (R49 = 100 kOhm, besser 220 kOhm) nach 5PS. Er zieht das Potential auf H, und der SRAM ist im Schlafmodus, seine Stromaufnahme liegt dann bei etwa 1 µA.

    Dieser Widerstand fehlte bisher im Leiterbild und im Bestückungsplan und muß, am besten auf der L-Seite, nachbestückt werden (Bild rechts, neben dem SRAM).
    In der Schaltung und den Stücklisten ist er nachträglich eingetragen.

  8. Einsatz von FLASH-Speichern:
    FLASH-Speicher sind in der Regel billiger. Nach Umstecken der Steckbrücken X10 und X11 auf F statt E kann man sie verwenden. In die Sockel passen aber nur maximal 29F040 mit 512KB Speicherkapazität und man kann von der Firmware nur die Hälfte nutzen.
    29F080 haben zwar 1MB Speicherkapazität, es gibt sie aber nicht im DIP-Gehäuse. Abhilfe schafft eine kleine Adapterplatine, mit der man Speicher im SOP32-Gehäuse adaptiert.

Die Bestückung ist unproblematisch, da die Bauteilbezeichnung nicht unter den Bauteilen liegt. Dennoch ist die Unterstützung durch den Lageplan sinnvoll. Speicher-IS, FDC-Kontroller und die GALs sollten auf Fassungen gesteckt werden. Das Raster ist - bis auf den 40poligen FDC-Kontroller - metrisch! Man muß also bei den 32poligen Fassungen etwas drücken, geht aber.

Die notwendigen Unterlagen
Schaltbild 75,728 Bytes 29. 11. 2016
Leiterplattendokumentation 781,478 Bytes 14. 03. 2015
Stückliste kpl. 14,750 Bytes 29. 11. 2016
Sammelstückliste 17,946 Bytes 05. 04. 2024
Test-EPROM-Inhalt (UZ mit Fehlern!) 1,048,576 Bytes 01. 04. 2014
EPROM-Inhalt V1902P neu 1,048,576 Bytes 18.04.2021, 14:39
     
23.02.19:
Die jetzt vorliegende Firmwareversion von Februar 2019 (V1902) wurde wieder gepatcht, die Funktionen sind nahezu vollständig im gewünschten Umfang umgesetzt worden. Es werden noch einige Programme getauscht.
09.09.19:
Für das neue Betriebssystem ist eine andere Behandlung der Rückstellung auf die Systembank notwendig. Sie funktionierte mit dem originalen Betriebssystem nicht mehr. Jetzt gibt es, wie vorgesehen, eine Verzweigung.

17.11.19:
Das in der aktuellen Firmware enthaltene Programm 'BOOT' zum Starten von CP/M hat einen Fehler. Beim Start treten gehäuft Fehler auf: der Rechner bleibt stehen oder stürzt nach einem vermeintlichen Fehler ab. 'BOOT' ist durch eine andere Version ohne FA-Rahmen ersetzt.
18.04.20:
V24 ist jetzt verschiebbar im RAM und gibt eine Meldung aus, ebenso GRAFP. Beide Programme führten beim neuen System zu Verklemmungen, weil als Startadresse FFFFH angegeben wurde.
05.08.20:
Das originale GRAF.COM ist aufgenommen und ermöglicht den Betrieb des externen Grafikzusatzes.
16.01.21:
Fehler in SYSINFO ist beseitigt.

Programmliste als TXT-Datei und als PDF-Datei 12,180KB / 23,419KB 02.02.2021
OUT_K.EQN GAL-Logik - OUT-Erzeugung 1,201 Bytes 30.03.2015
OUT_K.JED GAL-Inhalt - OUT-Erzeugung 775 Bytes 29.03.2015
LOGIK_K.EQN GAL-Logik - Restlogik 864 Bytes 30.03.2015
LOGIK_K.JED GAL-Inhalt - Restlogik 836 Bytes 30.03.2015
ADRW_K.EQN GAL-Logik - Adreßwandler (GAL 20V8) 1,928 Bytes 11.09.2015
ADRW_K.JED GAL-Inhalt - Adreßwandler (GAL 20V8) 1,588 Bytes 10.09.2015
ADRW_KH.EQN GAL-Logik - Adreßwandler (GAL 22V10) mit HG-RAM 2,023 Bytes 14.04.2021
ADRW_KH.JED GAL-Inhalt - Adreßwandler (GAL 22V10) mit HG-RAM 2,074 Bytes 14.04.2021
D345_S.EQN GAL-Logik - 7-Segmentdekoder 2,665 Bytes 26.02.2014
D345_S.JED GAL-Inhalt - 7-Segmentdekoder 3,611 Bytes 26.02.2014
readgal.zip ausgelesene GAL-Inhalte wenn der Prommer zickt 2,381 Bytes 25.10.2015
Modulbeschriftung   14,302 Bytes 14.03.2019
RAM-Floppy-Treiber 402KB von Volker Pohlers 2,560 Bytes 25.04.2017

Bilder von der Serie

Serienmuster Serienmuster mit Gehäuse  
 Das Serienmuster, Bedienelemente von vorn  Serienmodul, Bedienelemente von oben, mit "Gehäuse"
 
Serienmuster mit Gehäuse Ansicht hinten Serienmuster mit Gehäuse
 Serienmodul mit "Gehäuse", Bedienelemente von oben  Ansicht von hinten  dito, von vorn
 
Rückmeldungen
Aufbau von DL   > die Bestückung des Moduls verlief reibungslos und es funktioniert auch
  > auf Anhieb (bis auf den FDC-Teil, der ist noch unbestückt).
...
  > Eben mal den Rest der Platine (FDC) bestückt, startet auch auf
  > Anhieb und dies sogar mit meinem GOTEK Diskemulator (mangels eines echten
  > Laufwerks)

das beruhigt mich doch sehr.
 Aufbau von 'DL' mit Gehäuse
 
Marco Z. spielt nicht nur mit dem Z9001 und hat mit dem Kombimodul folgende Erfahrungen:
Der Kombimodul läuft nun einwandfrei, er hat mehrere Tage "Schwerstarbeit" hinter sich und hat sich bewährt!
Die Möglichkeit, sowohl im Z9001-OS als auch unter CP/M dieselben Laufwerke (physisch und RAM-Floppy) nutzen zu können, ist schon eine super Sache.
Ein paar Kleinigkeiten fallen zwar auf, aber die sind softwarebedingt und nicht dem Modul zuzuschreiben. So wird z.B. nach dem Laden der DISK-OS-Routinen mittels DOSX der Motor des Diskettenlaufwerks in den Dauerbetrieb genommen. Man muß dann erstmal DRIVE A: eingeben, um den Motor abzuschalten und kann dann DRIVE M: für die RAM-Floppy geben.
Der IDAS kann leider seine Quelltexte nicht auf Diskette bzw. RAM-Floppy sichern, was zunächst ein wenig Ernüchterung brachte. Aber auch hierfür habe ich nun eine brauchbare Lösung gefunden, in dem ich den Beginn des Quelltextes ab 400H setze und anschließend nach Rückkehr ins OS mittels SAVE den Bereich ab 300H bis Quelltextende auf (RAM)-Floppy speichere. Damit sind auch die IDAS-Arbeitszellen gesichert und ich kann so dem IDAS ein gespeichertes Programm wieder "unterjubeln".
Besondes gefreut hat es mich, daß mein FORTRAN-66-Compiler anstandslos unter dem CP/M läuft, genauso wie die mit ihm erzeugten Programme. Hier war ich mir im Vorfeld nicht so sicher, da ja beim Z9001 das I/O-Byte auf einer anderen Adresse liegt und ich nicht wußte, ob vom Compiler das I/O-Byte in irgendeiner Form entscheidend abgefragt wird. Hier bewährt sich die große RAM-Floppy außerordentlich, da ich sowohl Compiler und Linker als auch Quelltexte und Bibliotheken dort komplett ablegen kann und keine zeitraubenden Laufwerkszugriffe beim Compilieren und Linken mehr erfolgen.

Bildschirme
Startmeldung Startmeldung DIR
Startmeldung ohne Modul  Startmeldung mit Modul DIR zeigt Programme an
 
MAZOGS CENTIPED CPM
 Startbildschirm "CENTIPED" Startbildschirm "MAZOGS" Befehle unter "MINICPM"

Letzte Bearbeitung: 15.04.2024
25,479 Bytes

zur Startseite