MFA Gedanken für eine Z80 CPU Karte

  • Hier:

    http://www.vaxman.de/projects/Z80_mini/index.html

    http://www.vaxman.de/projects/tiny_z80/ (Monitorlisting)


    Gibt es eine Mini Z80 Karte. Da ist quasi schon alles drauf (CPU, Rom, Ram, Serieller Controller).

    Anstatt serieller DB9 bestücken, Rx + Tx zum Bus verbinden (Rx=29c; Tx=30c).

    GND (32a+c) und +5V (1a+c) vom Bus holen zur Versorgung.

    Schnittstelle passend zur Video/Keyboard Karte konfigurieren im Monitorprogram (4800 Baud).


    Damit nutzt man quasi 'nur' die Backplane, Stromversorgung und Video/Keyboard Karte - kann aber ggf. mit Monitorerweiterungen dann auch andere Karten nutzen. Das wäre dann quasi Schritt 1 mit minimaler Verbindung zur Backplane.


    Schritt 2: A0-A7 (evtl. reicht auch A0-A3?), D0-D7 und /IOR+/IOW an den Bus ankoppeln = I/O Baugruppen können angesprochen werden (Und das sind viele).

    (/MEMR+/MEMW werden ja fast nur für den eigenen Rom+Ram genutzt - was hier schon mit auf der Platine wäre)


    Schritt 3 könnte dann eine vollständige Busankopplung sein - fragt sich nur ob das hier so wirklich viel Sinn macht..?


    "Zufällig habe ich noch solche Platinen ;-) "


    Bei mir stehen aber zuerst noch Rom/Ram-Karte an und danach "Ersatz" der Video/Keyboard-Karte durch Arduino+PS/2 Tastatur.


    Falls jemand sich also daran versuchen möchte und das Monitorprogram entsprechend anpassen kann, so kann ich ihm gerne eine Z80 Leerplatine zukommen lassen. Dann bitte PN.


    Bei mir wird das sicher noch Monate dauern, bis ich mal dazu komme.


    Peter

  • Hi Peter,


    solche Gedanken hatte ich auch schon. Ging in eine etwas andere Richtung, aber man ist ja für alles offen ;)


    Was ich vermutlich nicht machen würde ist die Verwendung der Terminalkarte - wenn mich was nervt bei dem Gerät sind das die 4800 Baud.

    Dann lieber mit einem Terminal und 19200 Baud (das sollte mit der UART doch drin sein?).

    Oder die Terminalkarte mal hochdrehen auf 9600 oder 19200 - afaik ist der 8085 der Flaschenhals, die Videokarte kann sicher mehr. Vom Platzbedarf kostet ein Terminal wie z.B. das gerade aktuelle Wyse60 nicht mehr als Bildschirm und Tastatur.


    Ich habe das Z80-Projekt bisher nur kurz überflogen - das könnte mich reizen, dort einzusteigen. Ich muss mal sehen, was ich an Material da habe...


    Ich melde mich dann noch mal.

  • Klar - geht alles.. die Idee war, diese Z80 Karte einfach anstatt der 8085 CPU Karte einzustecken - und fertig.

    Dann eben Monitor+Tastatur, Baugruppenträger+Stromversorgung und im 2ten Schritt die IO Baugruppen zu nutzen.

    Deshalb würde ich hier der Einfachheit halber an den 4800 Baud festhalten (ich meine aber auch in der Doku gelesen zu haben, das die Graka evtl. nicht mehr kann..?)(Wobei ich noch eine ähnliche Graka hier am Arduino Mega dran haben mit 9600 Baud).


    Und dann evtl. wieder die 8085 CPU Karte rein.. ;-)


    Wenn man auf einem (z.B. diesem) Design aufsetzt, spart man sich viel Arbeit.. Für Schritt 1 einfach die Platine aufbauen, Monitorprogramm auf 4800 Baud ändern und 4 Leitungen verbinden ;-)


    Platinen habe ich ca. 7-8 da..kannst du gerne eine haben..


    Peter

  • Ich habe mir gestern das Z80-mini Projekt mal genauer angesehen.

    Die Software habe ich nur überflogen, die sieht interessant aus. Viel zunächst unnötiges Zeug dabei (Unterstützung der nicht vorhandenen IDE-Schnittstelle), aber das kann ja noch kommen.

    Ich habe es auch mal assembliert, hat auf Anhieb geklappt. Die Anpassung auf 4800 Baud ist auch kein Thema.


    Problematisch sehe ich die fehlende Adressdekodierung für I/O. Der 16550 belegt den gesamten Adressraum, und damit ist Stufe 2 in Deinem Plan etwas aufwendiger. Und ohne die Möglichkeit, die anderen I/O Baugruppen anzusprechen bringt der Einbau in den MFA nicht wirklich viel ;)


    Vielleicht reicht es, wenigstens A7 an einen der CS-Eingänge zu legen, dann hat man wenigstens die Hälfte der Adressen frei. Die nötige Anpassung des Monitors an die Adresse 0x80 statt 0x00 ist kein Thema.


    Ich werde jedenfalls wie vereinbart die Testexemplare aufbauen, dann können wir sehen, wie es weiter geht. Bin gespannt...

  • Es könnte leider noch etwas komplizierter werden. Ich hatte gestern mal versucht von einem Arduino etwas über die Videokarte auszugeben mit 4800 Baud, was leider nicht geklappt hatte. Habe mir heute dann nochmal die Doku zur Videokarte angesehen..


    Die Videokarte läuft defaultmäßig mit 1200 Baud! Man kann sie wohl auch auf 600 Baud umjumpern.

    PLUS!! Die Karte scheint einen 2MHz Takt von der CPU Karte zu benötigen!! (Siehe Bild).


    D.h. evtl. doch die CPU anstatt mit 4MHz mit 2MHz versorgen und diesen Takt am richtigen Pin auf den Bus koppeln.

    (Oder die 4MHz durch 2 geteilt). Einen 2MHz Oszi konnte ich auf meiner Karte nicht finden. Auch den Jumper P1/P2 nicht.


    Und die Baudrate muss 1200 Baud betragen, um mit der Video+KBD Karte zu sprechen.


    (Ich konnte heute mit der CPU unter Linux+Minicom sprechen - anstatt der Video/KBD Karte mit 4800 oder 1200 Baud - ABER 7E1 musste ich einstellen - 8N1 gab nur Schmutzzeichen)


    EDIT: Der 2MHz Pin ist 2a. Und es gibt doch den 2MHz Taktgenerator auf der Platine. Kein Quarz-Oszi, sondern ein 4049 IC Nr. 17. Nur die P1-P2 Brücke habe ich immer noch nicht gesehen.. Ich denke trotzdem wäre es schöner den Takt analog wie die original CPU extern über Pin2a einzuspeisen.


    EDIT2: P0, P1+P2 sind Lötbrücken zwischen Platinenrand und IC12 74LS93 Nähe der VG-Leiste. Default=P0+P1 gebrückt = externer 2MHz Takt von CPU.


    Peter

  • Gerade getestet, den internen Takt vom 4049 verwendet - nicht brauchbar - Bild ist zwar da.. aber sehr schlecht - und konnte ich am Trimmer nicht besser einstellen..


    Scheint also wirklich nur der externe 2MHz Takt zu bleiben..


    Leider habe ich keinen 2MHz Quarz Oszi da, sonst hätte ich den mal dran gehangen..


    Peter