Retro-Projekt Poke-Karte V.3.0

ZX-Team Forum
Antworten
Benutzeravatar
Joachim
User
Beiträge: 1041
Registriert: 06.11.2004, 20:21

Retro-Projekt Poke-Karte V.3.0

Beitrag von Joachim » 03.12.2018, 23:57

Sie war schon legendär, zur damaligen Zeit, die Poke-Karte. Entwickelt hat sie Gotthard S., als es erforderlich wurde, 4 Floppies per Programm zu aktivieren (Programme, Daten, Backup etc.).
Seine Idee war einfach aber genial: Mit dem Basic-Befehl Poke 8, Wert oder in MC z.B. ld hl,8 ld (hl),Wert wird die Adresse 8 auf den Adressbus gelegt. Dies erkennt eine Vergleichslogik und schaltet ein Latch frei. Dieses gibt den Wert, den es zu diesem Zeitpunkt vom Datenbus gelesen hat, aus und behält ihn. Auch bei New.

Anfangs waren es noch Logikbausteine für den Adressenvergleich. In der Version 2 wurde dann ein GAL daraus. Das hat den Vorteil, dass man auch eine andere Adresse als 8 wählen kann. Warum die Acht? Für das Layout war es leichter, es war nur eine Leitung (A3) zu beachten. Außerdem muss die Adresse größer als 5 sein, weil bekanntermaßen gewisse Routinen im ROM auf die Adressen unter 5 poken.
Hier der orignale Schaltplan. Eine der Dioden ist leider verkehrt herum gezeichnet.
pokekartealt.jpg
pokekartealt.jpg (79.1 KiB) 345 mal betrachtet
Die Poke-Karte gibt am Ausgang des 74LS573 8 Bit aus. Damit kann man z.B. auf einem großen Speicherbaustein die oberen Adressleitungen verbinden und damit ein Bankswitching realisieren. Üblicherweise haben wir im Team aber damit die Freigabepins der EEPROMs bzw. RAMs bedient und konnten so Bänke ein- und ausschalten. Dazu war aber ein 4 zu 16-Adressdekoder 74LS154 erforderlich. Ohne diese Poke-Karte gäbe es zum Beispiel das Harddisk-Interface für den ZX81 nicht, denn damit werden die darauf befindlichen RAM-Bänke (mit Poke 8,13 ... 15) geschaltet. Nur so war es möglich, Platz für Directories und das Zwischenlager für Files und Programme zu haben. Sehr häufig wurde und wird die Poke-Karte für die Aufteilung eines EEPROMs mit Tools wie zum Beispiel ASDIS in 8KB-Bänke verwendet. Damit wurde sie auch zum Kernstück des ZX96 und seiner GIANT-RAM-Erweiterung.

Als Paul mitteilte, dass er eine Speicherkarte entwirft, war mir klar, dass ich diese pimpen werde. Dazu brauchte ich aber eine Poke-Karte. Als ich feststellte, dass diverse Logikbausteine nicht mehr oder nur sehr schwer beschaffbar waren, entschloss ich mich zur Verwendung eines GAL. Ich habe damit keine Probleme. Sie laufen bei mir bereits auf verschiedenen Karten seit Jahrzehnten ohne Ausfälle. Den Schaltplan gab es auch schon dazu:
pokekart.gif
pokekart.gif (21.03 KiB) 345 mal betrachtet
Der zweite GAL auf diesem Plan ist für den ZX96 und deshalb nicht auf meiner Platine. Auch habe ich mir erlaubt, die Datenleitungen ordentlich zu sortieren. Damals legten wir größten Wert darauf, dass eine Platine einseitig bleibt. In der Herstellung waren die Vias sehr teuer und beim Selbermachen war das Durchkontaktieren auch kein großes Vergnügen - eher der Grund für Fehler. Jetzt ist das aber kein Problem mehr und so konnte ich mir dieses Design erlauben:
version 3.0.jpg
version 3.0.jpg (118.31 KiB) 345 mal betrachtet
Zuletzt geändert von Joachim am 07.12.2018, 14:03, insgesamt 1-mal geändert.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
Joachim
User
Beiträge: 1041
Registriert: 06.11.2004, 20:21

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von Joachim » 04.12.2018, 00:09

Teil 2:

Auf der Platine kann man nun entweder die 8 Highpegel (JP1: Pfostenleiste zwischen 74LS573 und 74LS154) oder maximal 32 Lowpegel (JP2, JP3) abgreifen. Den zweiten '154er habe ich noch draufgepappt, damit das Highnibble nicht unbenutzt bleibt. Die Highpegel erreicht man mit POKE 8, 1 ... 15. Die Lowpegel 1 bis 15 werden mit auch damit erzeugt. Die Lowpegel 17 bis 31 aus dem linken Nibble werden mit POKE 8, 16/32/48/ ... 208/224/240 erreicht. POKE 8,0 geben einen Lowpegel an Pin 0 und 16 von JP2/3 aus. Bei JP3 (leider ist die Bezeichnung irgendwie verschwunden) sind noch oben und unten GND- und +5V-Pins, falls man hier eine Anzeige, welcher Poke-8 gesetzt ist, anstecken möchte. Ich habe das für mich mit einem TIL311 realisiert, der den Wert des unteren Nibble auf einem 7Segment-Display in Hex ausgibt.

Wir haben damals das Bussystem mit den 64 Pins gewählt, weil wir auf dem Bus noch weitere Signale transportieren wollten. Das waren z.B. das Signal vom Pin 16 der ULA (Videoausgabe), 12 Volt und eben die Signale von der Poke-Karte (1 - 4 für Floppies, 13 - 15 für das Festplatteinterface). Das habe ich jetzt auch realisiert. Dazu ist die zweite Stiftreihe JP4 gedacht. Jumpered man die Signale, die man braucht, werden sie zum VG64-Stecker geleitet (Pins P1 ... 8 ). Damit muss man keine Kabel zwischen den Platinen verlegen.

Die Platine versorgt auch das BUSCS-Signal für den Bustreiber. Wer das nicht benötigt, kann sich die unterste Diode sparen.

P1070881.jpg
P1070881.jpg (114.33 KiB) 343 mal betrachtet

Ich kann 7 Platinen zum Preis von 3 Euro das Stück abgeben. Auch habe ich noch 7 74LS154. Weitere habe ich geordert. Das sind aber dann schmale Typen, die vom Layout zwar vorgesehen sind, die ich aber noch nicht testen konnte. Ich hoffe, sie passen dann auch. Auch die GALs kann ich noch für 7 Platinen bereits programmiert liefern. Der Rest sind dann nur noch zwei Dioden BAT42 und 4 Kondensatoren mit 100 nF. Die VG64-Leisten habe ich leider nicht so üppig, weshalb man sie sich selber besorgen müßte.

P1070880.jpg
P1070880.jpg (105.1 KiB) 343 mal betrachtet

Hier noch das SprintLayout-File. Jetzt gibt es hier https://www.electronic-software-shop.co ... rodr3214g1 eine Demo-Version von SprintLayout, mit dem man zwar nicht drucken und speichern aber den Testmodus verwenden kann. Damit kann man alle Leiterbahnen verfolgen. Evtl. ist das nützlich, wenn man Eigenkreationen machen möchte.

POKE8-V3-Karte.zip
(51.81 KiB) 9-mal heruntergeladen
Zuletzt geändert von Joachim am 07.12.2018, 14:05, insgesamt 1-mal geändert.
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

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

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von siggi » 04.12.2018, 09:13

Hallo Joachim
ich hätte gern 2 von den Platinen, wenn möglich mit GAL und 154 (die anderen Bauteile habe ich).

Gruß
Siggi

Edit: Könntest Du den Schaltplan noch einstellen (im ZIP ist ein .lay6-File drin, mit dem ich nix anfangen kann)
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
Joachim
User
Beiträge: 1041
Registriert: 06.11.2004, 20:21

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von Joachim » 04.12.2018, 10:20

Im Nachgang hier noch die GAL-Gleichung:
POKE1_8.txt
(2.01 KiB) 14-mal heruntergeladen

@Siggi:
Geht klar! Genügt es, wenn ich dir vorläufig nur insgesamt zwei 74154 mitschicke?
Das .lay6 ist das SprintLayout-File für die Demo (siehe Link). Der Schaltplan ist im Prinzip der zweite im Thread. Ich zeichne aber noch einen vom aktuellen Stand und stelle ihn hier ein. Ich wußte nicht, ob das Thema überhaupt von Interesse ist. Heutzutage hat man ja große Speicher und FPGAs (siehe ZXblast, ZXmore etc).
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

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

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von siggi » 04.12.2018, 10:30

Hallo Joachim
ja, 2 reichen auf alle Fälle.

Danke und Gruß
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Benutzeravatar
tokabln
User
Beiträge: 1475
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von tokabln » 04.12.2018, 12:00

Hallo Joachim,

du hast Post :mrgreen:

Hätte gerne 2 Karten inkl. GAL und 74154 Blaustein :D

Lieben Dank
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

Benutzeravatar
Joachim
User
Beiträge: 1041
Registriert: 06.11.2004, 20:21

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von Joachim » 05.12.2018, 14:42

Als Nachtrag hier noch der Schaltplan:
Schaltplant PokeKarteV3.JPG
Schaltplant PokeKarteV3.JPG (73.87 KiB) 234 mal betrachtet
Viele Grüße!
Joachim


ZX80, ZX81, ZX-Spectrum, ZX96, ZX2000, ZXmore, ZX81NU, Blauer Engel, AX81

Benutzeravatar
tokabln
User
Beiträge: 1475
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von tokabln » 06.12.2018, 13:03

Hallo Joachim,

Platinen und Bausteine sind heute angekommen.

Es ist Bastelzeit :mrgreen:

Ganz lieben Dank.

Gruß Torsten
Lieben Gruß Torsten
BMZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, T41, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e

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

Re: Retro-Projekt Poke-Karte V.3.0

Beitrag von siggi » 07.12.2018, 20:00

Meine waren heute auch im Briefkasten :)

Danke
Siggi
Mein ZX81-Web-Server: online seit 2007
http://zx81-siggi.endoftheinternet.org/index.html

Datenkraken bitte nicht füttern!

Antworten