000
20.05.2021, 20:22 Uhr
Hobi
|
basierend auf der Idee vom BASIC oder ROM-Modul war der Gedanke Basic-ROM und Monitor gemeinsam in einen einzelnen 16K ROM-Baustein zu packen.
Ziel ist es, einen unverbastelten Z1013 mit verschiedenen Tastaturen und Monitorvarianten zu testen sowie die Tonausgabe extern herauszuführen, um. ggf den Tastaturclick über den Monitorlautsprecher auszugeben.
Kurz: Ich will die Drähte von meinem Board zurückbauen und die Platine möglichst in den Originalzustand zurückversetzen. Mein Drahtverhau ist nicht mehr feierlich, ROM Abschaltung und anderes Gefrickel sehen auf dem Board nicht schön aus und gehen irgendwann auch mal kaputt, ohne dass mein Nachfolger weiss, warum das da mal drauf war.
Eventuell kann das Modul für andere interessant sein, die auf die Brosig-Tastatur umsteigen möchten und als Goodie die Tonausgabe direkt auf den Monitor ausgeben wollen.
Die Idee war so einfach nicht umzusetzen. Gleich zu Anfang, bin ich 3x gestolpert:
1. Spannungsversorgung 2. Power-On Reset 3. Zugriff auf F000 darf beim Z1013 kein /MEMDI auslösen
um das Modul komplett zu bekommen. 4. 64K Erweiterung 5. Tonausgabe für Brosig und Save/Load
1. Endlich ein richtiges Netzteil wählen! Die Einschaltspannung darf nicht zu langsam ansteigen. Das FlipFlop um A26 wird noch während die Spannung ansteigt in einen definierten Zustand gesetzt.
Der interne Regler mag zwar irgendwie gehen, aber ist nicht geeignet um dem Modulträger zu betreiben.
Nach mehreren Versuchen und Nachmessen habe ich jetzt ein 5V/2A Schaltnetzteil im Einsatz und schicke den MA7805 in Rente. Das Netzteil liefert innerhalb von ein paar ms die vollen 5V, der Tesla ist immer hart an der Grenze.
Um die -5 -/+12V kümmere ich mich später, irgendwann.
Die Spannung vom MA7805 war maximal 4,8V. Damit konnte ich den TL7705 auch nicht verwenden. 4.8V waren wohl zu wenig, um ein Power-Good Signal zu generieren.
2. Das /BS Signal A26(2) braucht beim Einschalten etwa 20..50ms um aus den verbotenen Bereich zu kommen. In der Zeit darf kein externer /Reset aktiviert werden, sonst bleibt der Rechner beim Starten hängen. Das gleiche Problem kommt auch von der Spannungsversorgung. Das Reset-FF muss schnell, innerhalb der ersten µS initialisiert werden. Es scheint, dass C12 eine Art Preset ist.
Die Lösung: mit dem TL7705 wird der Einschaltvorgang überwacht. Man könnte auch 100ms Zeitverzögerung nehmen. Danach wird sinngemäß FA 6/88, S. 276 ein kurzer Reset-Impuls generiert.
3. Generell sollte für den Zugriff auf den Speicher auf den Modul das /MEMDI Signal aktiviert werden. Für den Bereich C000-DFFF ist dies unproblematisch. EC00-EFFF kann nicht abgeschalten werden, muss so ausgenommen werden. F000-FFFF braucht dagegen eine besondere Logik.
Hier kommt die Eigenart des Z1013 zum Tragen, bei der der Bustreiber nach dem Einschalten NOPs für die CPU produziert, bis die Adresse F000 erreicht ist. Schaltet man den internen Speicher gleich nach dem RESET mittels /MEMDI ab, wird aber der Bustreiber nicht freigeschalten.
Die bisherige Lösung war /MEMDI soweit zu verzögern, dass der Bustreiber schaltet, aber der intere ROM (und somit gleichzeitig der Monitor auf dem Modul) den Datenbus noch nicht belegen.
Lösung: /MEMDI wird erst generiert, NACHDEM der Buszyklus auf F000 abgeschlossen ist. Damit wird zwar das erste Byte aus dem ROM gelesen, bevor dann das zweite Byte vom Modul kommt. Aber da das erste Byte in den meisten Monitorvarianten 18 JR xx ist, gibt es eigentlich kaum eine Einschränkung, abgesehen von der Tatsache, dass das erste Byte aus dem internen Speicher kommt. -- ------------------------------------------- Corontäne ------------------------------------------- Dieser Beitrag wurde am 20.05.2021 um 20:53 Uhr von Hobi editiert. |