Umbauten am ZX81NU

ZX-Team Forum
Benutzeravatar
ZX-Heinz
User
Beiträge: 1270
Registriert: 05.12.2011, 14:45

Re: Umbauten am ZX81NU

Beitrag von ZX-Heinz » 21.03.2017, 14:42

PokeMon hat geschrieben:
21.03.2017, 14:37
Also ich habe das ja schon mal nachvollzogen. Normalerweise erfordert das H4TH explizit das Spiegeln von ROM und RAM (!).
Ich hatte das schon mal untersucht und hier geschrieben. M.E. wurde da im EightyOne absichtlich getrickst, um das H4TH zum Laufen zu bringen. Das H4TH hat eine wirklich schräge Speicherverwaltung.

viewtopic.php?f=2&t=1467&p=22306&hilit= ... one#p22306
@pokemon: Deine Bemerkungen zur Speicherverwaltung erklären schon mal, warum ich den editorscreen weder auf #7D00 noch auf #FD00 finde, wo sie hin gehören, sondern auf #BD00 beim EO im 48k-Modus. Wieder ein Problem geklärt.

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Umbauten am ZX81NU: Paging ab 48K

Beitrag von siggi » 29.03.2017, 18:32

Olli hat im NU ja noch diverse Ram-Bänke vergraben, die man mit Standard-NU-Paging nicht erreichen kann. Da im Bereich 48-64K im Standard-Nu noch ungenutzes 16K Shadow-Ram vorhanden ist, das man für "großes" MEFISDOS gut brauchen kann, habe ich dort kurzerhand was im NU geändert.

Bisher lagen die 16-Rambänke alternierend auf die beiden 64K-Pages im 128K Ram verteilt: 0-16K auf Page 0, BASIC auf Page 1, 32-48K auf Page 0 und ab 48K auf Page 1.
Da mir das den einfachen Umbau (mit Dioden, Transis und Widerständen, aber ohne neue ICs) erschwert hätte, habe ich das vereinheitlicht: nun sind alle "Standard" Pages in Ram Bank 1 und die "Shadow"-Pages in Ram Bank 0. Der Bereich 16-32K wird nicht umgeschaltet, damit das BASIC, der Stack und das D-File immer verfügbar sind und nicht im Hintergrund verschwinden.

Dazu wir erst mal das Signal "RAM_A16" vom Ram IC2 Pin 2 (A16) abgetrennt (auf Unterseite direkt am Pin 2) und dieser Pin mit einem 4K7 Widerstand auf +5V gelegt (auf Unterseite Widerstand zu naheliegendem IC und dessen +5V Pin anbringen).

Damit das bisherige Paging (mittels Signal "RAM_BANK") wieder funktinoniert (muß nun A16 am RAM auf LOW ziehen, nicht mehr nach High), wird die Diode D5 ausgelötet und "oben"durch einen NPN-Transi (BC237 o.ä) ersetzt: Emitter kommt ans Anoden-Ende der Ex-Diode (an A14), Basis ans Kathodenende (und damit auch an R42, der nun als Vorwiderstand dient), der Collektor wird mit einem dünnen Drähtchen versehen und dieses wir durch ein Loch (Durchkontaktierung) zur Unterseite geführt und an IC2 Pin 2 (A16) angelötet.
Nach diesem Umbau muß der NU nun immer noch normal booten und normal funktionieren (USB). Das erstmal testen ...

Nun wird die RAM-A15-Logik (Umschalten der Ram-Pages zur während Video-Ausgabe) umgebaut, damit wir dort bessere Low-Pegel kriegen, die wir nachher noch brauchen: D2 (1N4148) wird durch eine Diode BAT42 ersetzt. R22 wird ausgelötet und ebenso durch eine Diode BAT42 ersetzt (gleiche Orientierung wie D2). Der gemeinsame Anschluß zwischen beiden Dioden wird mit eine neuen 10k-Widerstand auf +5V gezogen (zu benachbartem IC auf Unterseite anbringen).
Nach diesem Umbau muß der NU nun immer noch normal booten und normal funktionieren (USB). Das erstmal testen ...

Nun kommt das neue Paging bei 48K: ein NPN-Transistor wird auf der Unterseite (bei IC2) mit seinem Collektor an IC2 Pin2 (A16) angelötet. Sein Emitter wir über eine Diode 1N4148 (in Durchlassrichtung) mit GND verbunden (dadurch wir der Pegel des Emitters etwas angehoben).
Nun werden 2 Dioden (BAT42) an die Basis des Transis gelötet (Anoden zur Basis). Das andere Ende der einen Diode kommt an A14 (IC2 Pin 3), die andere an "A15" (IC2 Pin31). Diese beiden Dioden sorgen dafür, daß der Transi nur durchschalten kann, wenn die obersten 16K adressiert werden (außer bei Video-Ausgabe).
Geschaltet wird das Paging ab 48K über die Mini-Mefisdos-Platine, Signal "EE-A14". Das wird mit einem Drähtchen von der Mini-Mefisdos-Platine über einen 10K Vorwiderstand an die Basis des Transis angeschlossen.

Das war's erstmal. Auch nach diesem Umbau muß der NU nun immer noch normal booten und normal funktionieren (USB). Das erstmal testen ...

Nun kann aber auch über OUT $7F, 1 bz. OUT $7F, 0 (bzw. POKE 0,1 oder POKE 0,0) die oberen 16K umgeschaltet werden (testen!)

Und so sieht es nun im Schaltplan aus:
48k-paging-1.jpg
48k-paging-1.jpg (175 KiB) 468 mal betrachtet
48k-paging-2.jpg
48k-paging-2.jpg (168.36 KiB) 468 mal betrachtet
Und nun kann man auch mit Mefisdos diese Bänke nutzen, sodaß diese nicht mehr den Speicher 32K-48K für Zwischenspeichern von Daten benötigt. Da aber das Banking das gleiche Latch benutzt, das auch für Umschaltung RAM/ROM bei 8K verwendet wird, muß Mefisdos nun "wissen", ob es im RAM oder EEPROM läuft, damit es sich beim Paging bei 48K nicht selbst ausblendet. Es gibt nun also 2 Mefisdos-Varianten (jeweils für RAM und EPROM).

Und hier Source und Programme:
MFNU-paged.zip
(36.37 KiB) 20-mal heruntergeladen
Bei meinen Paging-Experimenten habe ich noch was festgestellt: meine ersten Versuche, das Paging ab 48K durch freie Ausgänge an Ollis-Augabe Latch (IC21. z. B. "Spare_Out") vorzunehmen, haben unter BASIC funtioniert, aber MEFISDOS ist mir immer haarstäubend abgeschmiert :cry:
Grund ist, daß bei Ansteuerung der MMC-Karten (über die PIO-Adressen) sich auch Ollis Latch angesprochen fühlt und dann die Ram-Pages ungewollt umgeschaltet wurden! Nach Sinclair-Manier hat Olli die Adressdecodierung des Latches nur unvollständig ausgeführt. Es fühlt sich also auf viel mehr I/O-Adressen angesprochen als aus Ollis Software zu erwarten gewesen wäre :shock:

Gruß und viel Spaß beim Nachbauen
Siggi
Zuletzt geändert von siggi am 29.03.2017, 18:55, insgesamt 1-mal geändert.
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
tofro
User
Beiträge: 782
Registriert: 14.06.2012, 16:45

Re: Umbauten am ZX81NU: Paging ab 48K

Beitrag von tofro » 29.03.2017, 18:47

siggi hat geschrieben:
29.03.2017, 18:32
Nun kommt das neue Paging bei 48K: ein NPN-Widerstand
Was es nicht alles gibt! Kannte ich noch nicht ;)

Tobias
"On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' ... I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Umbauten am ZX81NU

Beitrag von siggi » 29.03.2017, 18:49

Und hier ein Bild meiner Bastelei: Transi links neben braunem Kabel über gelbem, darunter 2 BAT42 Dioden und der 10K Vorwiderstand (liegt unter dem weissen Kabel). Die 1N4148-Diode geht (durch den gelben Isolierschlauch) nach GND am Slot-Stecker. Leider geht es da etwas eng zu:
P1110862_640x480.JPG
P1110862_640x480.JPG (123.62 KiB) 464 mal betrachtet
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Benutzeravatar
siggi
User
Beiträge: 2083
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Re: Umbauten am ZX81NU: Paging ab 48K

Beitrag von siggi » 29.03.2017, 18:53

tofro hat geschrieben:
29.03.2017, 18:47
siggi hat geschrieben:
29.03.2017, 18:32
Nun kommt das neue Paging bei 48K: ein NPN-Widerstand
Was es nicht alles gibt! Kannte ich noch nicht ;)

Tobias
Jeder Widerstand ist zwecklos!
Dann nehmen wir einen Transi. Ich korrigiere den Text, die Schaltung bleibt aber so :mrgreen:
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Antworten