Spectrum ZX48 - Arithmetic Processing Unit (APU)

SPC Club Forum
Benutzeravatar
tokabln
User
Beiträge: 1461
Registriert: 10.11.2013, 00:24
Wohnort: D, Berlin (Mariendorf)

Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 22.08.2018, 22:33

Liebe Zeddy und Speccy Freunde,

Joachim hat heute das Sommerloch mit einer tollen Sache in Sachen CNC ausgefüllt... was Ihm aus meiner Sicht prima gelungen ist.

In den letzten Wochen habe ich mich mit einem Thema für den Speccy 48K (aber auch für den ZX81 beschäftigt), das beiden Rechnern im mathematischen Bereich auf die Sprünge helfen soll. Angefixt durch einen alten Magazin Artikel habe ich mich erstmal am Speccy vergriffen, da der Artikel genau auf diesen Rechner abzielte.

Aber ich möchte das Ganze auch noch auf den ZX81 transferieren, mal sehen ob ich das dann hinbekomme. Ich hatte auch schon (ZX-) Heinz zum Thema FORTH kontaktiert, da ich glaube dass das Ganze auch hier ganz toll wäre, aber er hat mir aus Gründen die ich akzeptiere eine Absage erteilt. Vielleicht kann ich ja später über kurz oder lang... Bokje dafür gewinnen.

Aber nun ersteinmal ein erster Screenshot zu der geplanten Karte... welche gerade beim Chinamann im Auftrag zur PCB Fertigung ist. Das ROM (EPROM) habe ich bereits angepasst und hoffe das dann auch alles so funktioniert wie es soll. Mehr dazu dann später wenn alles so läuft wie geplant.

Aber hier schon mal ein erster Screenshot der geplanten Platine aus KiCAD... mehr dann demnächst.

Update 23.08.2018: das Eprom enthält das Speccy ROM welches an den entscheidenden mathematischen Routinen dann die APU statt den ZX80 verwenden wird. Ob letztlich alle Routinen angepasst werden, muß ich dann mal sehen, aber einige signifikante wurden in dem Artikel erwähnt und angepasst, so das ich diese übernehmen konnte.


ZX-Spectrum - APU Card.jpg
ZX-Spectrum - APU Card.jpg (92.28 KiB) 1281 mal betrachtet

und hier noch ein PDF welches den Co-Prozessor etwas näher beschreibt...

AMD 9511 FPU.pdf
(584.49 KiB) 60-mal heruntergeladen

Damit für heute ENDE

Torsten
Zuletzt geändert von tokabln am 23.08.2018, 22:22, insgesamt 1-mal geändert.
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
Jungsi
User
Beiträge: 734
Registriert: 05.10.2012, 13:53
Wohnort: Simbach am Inn
Kontaktdaten:

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von Jungsi » 23.08.2018, 22:16

Da bin ich ja mal gespannt :-)
Vieles rund um Sinclair und andere Retro-Computer:
http://www.jungsi.de

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 23.08.2018, 22:24

Nicht nur Du, ich auch :mrgreen:


Vor allem, wenn ich das dann noch auf den ZX81 portiert bekomme... wir werden sehen...
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
msch
User
Beiträge: 3818
Registriert: 05.02.2013, 15:42
Wohnort: Hessen, Rhein-Main-Gebiet

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von msch » 24.08.2018, 14:50

cool!
Erinnert mich an meine ersten Programmiererfahrungen mit dem Spectrum: Apfelmännchen/Fraktale mit Hisoft-Pascal. Damit wäre die Wartezeit nicht so elendig lange gewesen... melde mich schon mal für die Interessenliste an ;-)
P.S.: mal schauen, ob ich den Pascal-Code von damals noch irgendwo als Ausdruck habe :mrgreen:
P.P.S.: Anregung für Mahlerts: zwei Rechner nebeneinander, beide berechnen das gleiche Apfelmännchen - einmal mit, einmal ohne APU :-)
manche meinen lechts und rinks kann man nicht velwechsern.
werch ein illtum! (lichtung, Ernst Jandl)

Benutzeravatar
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 24.08.2018, 16:31

@msch: Hier ist schon mal ein Feigenbaum-Diagramm, das könnte zum Vergleich schon genügen. (.txt-Endung muss gestrichen werden.)
Dateianhänge
FEIGE.tap.txt
(809 Bytes) 22-mal heruntergeladen

bokje
User
Beiträge: 107
Registriert: 02.05.2015, 15:38

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von bokje » 24.08.2018, 20:16

@tokabln: H4TH ist jetzt darauf vorbereitet :)
apu.png
apu.png (13.89 KiB) 1201 mal betrachtet
(AM9511 Code von https://github.com/Artanejp/common_sour ... rce/src/vm mit sz81 und IN/OUT verbunden.)

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 24.08.2018, 21:02

Hallo Bokje...

wow... das ist ja ganz ganz toll... ist das jetzt eine H4TH Version für den Speccy oder eine für den ZX81?
Kannst Du mir das/die ROM Image/Images zusenden?... dann könnte ich bei Erhalt der Platine das Ganze schon mal mit dem Speccy testen.

Nächstes geplantes Etappenziel:
Wenn das läuft, dann würde ich eine Platine für den ZX81 generieren... eigentlich ist das die gleiche Platine, aber ich muß da noch eine Schaltung für einen Spannungsregler draufbauen damit die für die APU benötigten +12V direkt auf dem Board generiert werden oder aber die +12V von meiner Bus Treiber Platine aus dem ZX81 Backplane Projekt verwendet werden. Damit wäre dann sicher gestellt, das auch Leute ohne Bus Treiber die APU Platine am ZX81 nutzen könnten und die die den Bus Treiber bzw. das Backplane Projekt nutzen bräuchten dann diesen +12V Spannungsregler nicht installieren.

LG 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

bokje
User
Beiträge: 107
Registriert: 02.05.2015, 15:38

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von bokje » 24.08.2018, 21:47

Hallo Torsten, es wird eine Version für den ZXmore sein.

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von Joachim » 27.08.2018, 16:23

Hallo Torsten,
bekommt man die AMDs immer wieder bzw. hast du eine gute Quelle oder soll ich hier https://www.ebay.com/itm/AMD-AM9511-AM9 ... 1241733445 zuschlagen?
Viele Grüße!
Joachim


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

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 27.08.2018, 16:52

Hallo Joachim, die APUs sind schon recht schwer zu bekommen. Ich hatte mir 3 Stück bestellt (bin nicht sicher ob von diesem Anbieter). Der Preis ist denke ich okay, hab schon wesentlich teurere Angebote gesehen. Eventuell bestelle ich da auch noch 2 Stück... ich weiß halt nicht ob diese Quelle okay ist. Ich konnte meine 3 Stück mangels Platine auch noch nicht testen, da ich keinen Breadboardaufbau gemacht habe. Aber meine PCBs müssten die Tage hoffentlich eintreffen. Dann sehe ich ob die okay sind.
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: 1018
Registriert: 06.11.2004, 20:21

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von Joachim » 27.08.2018, 17:25

Hier was Ähnliches für den ZX81, auch rechenintensiv.
titel26.jpg
titel26.jpg (16.76 KiB) 1120 mal betrachtet
MANDEL.P
(4.36 KiB) 30-mal heruntergeladen
Viele Grüße!
Joachim


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

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 27.08.2018, 17:37

Hallo Joachim,

prima und Danke... das kann ich dann nutzen wenn ich mich an die ZX81 APU Karte mache, im Moment werde ich erstmal sehen, das das mit dem Spectrum läuft. Da hat ja ZX-Heinz auch schon was bereitgestellt :mrgreen:
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
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 28.08.2018, 12:10

bokje hat geschrieben:
24.08.2018, 20:16
@tokabln: H4TH ist jetzt darauf vorbereitet :)
Hallo bokje,
ich habe mir das Datenblatt des AM9511 angesehen. Hast Du die IO-Adressen vorerst willkuerlich gesetzt, oder kennst Du die von tokabeln verwendeten? Kannst Du als Beispiel einmal die Befehlserweiterung zu 2APU oder SIN hier einstellen?

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 28.08.2018, 16:33

Hallo Heinz,

kurze Anmerkung von meiner Seite. Die geplante APU Karte fungiert so, das eine direkte aber angepasste Kopie des Spectrum ROM (EPROM) auf der Karte vorhanden ist und das originale ROM (EPROM) im Rechner nicht verwendet wird. Die mathematischen Routinen, welche durch die APU berechnet werden, wurden entsprechend angepasst, sprich statt der Berechnung auf dem Z80 werden einige Berechnungen umgelenkt und auf der APU berechnet. Dazu sind Sprungadressen angepasst und neue Routinen zur Berechnung auf der APU im Adressbereich ab 386Eh abgelegt. Dieser Adressbereich ist im originalen Speccy 48k ROM nicht belegt bzw. frei.

Ich hab eben mal geschaut welche Routinen angepasst wurden.

- multiply
- division
- to power
- sin
- cos
- tan
- asn
- acs
- atn
- ln
- exp
- sqr

Soviel erstmal von meiner Seite. Ähnliches müsste wenn dann später für das ZX81 ROM bzw. für das H4TH ROM erfolgen, damit diese angepassten ROMs statt des internen ROMs genommen werden können.

Gruß Torsten

PS: meine 5 Prototyp Platinen wurden heute vom PCB Hersteller versandt. Es kann also noch gut 3 Wochen dauern bis ich die habe und dann testen kann.
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
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 28.08.2018, 18:29

Hallo Torsten,
das ist mir schon klar. Und ich gehe davon aus, dass Deine Karte den APU über IO und nicht im direkten Memory-Zugriff anspricht. Dazu muss auf Deiner Karte aber eine entsprechende IO-Adresse zu /CS und zu C/D des APU hin verdrahtet sein. Um diese Adressen ging es u.a. Unter FORTH werden neue Befehle, z.B. SINUS, definiert und entsprechende Bytes an den APU geschickt. Auch dazu braucht man die IO-Adressen, die auf der Karte verdrahtet sind, oder man nimmt erst einmal fiktive Adressen. Stell doch mal ein Schaltbild ein.
Gruß, Heinz

PS. Fährst Du eigentlich nach WB?

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 28.08.2018, 18:46

Hallo Heinz,

here you are: viewtopic.php?f=7&t=2833

und NEIN ich fahre nicht nach Wolfsburg... werde aber geplant im kommenden Jahr in Mahlerts dabei sein.

LG 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
Joachim
User
Beiträge: 1018
Registriert: 06.11.2004, 20:21

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von Joachim » 28.08.2018, 19:51

Interessant und aufschlussreich ist auch der Artikel in Happy Computer 3/1983, Seite 153. Die vier Benchmarktests zeigen, was der AMD drauf hat.
Viele Grüße!
Joachim


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

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 28.08.2018, 20:02

Hallo Joachim,

Du hast es erfasst... aus selbiger Zeitschrift ist auch die APU Karte... MIST erwischt... :mrgreen:

na dann zur Vervollständigung:

Happy Computer 3/1983, Seite 153. - vier Benchmarktests
Happy Computer 4/1983, Seite 147ff. - die Karte samt Codesequenz
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

bokje
User
Beiträge: 107
Registriert: 02.05.2015, 15:38

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von bokje » 28.08.2018, 20:12

@Heinz: Ich hatte den Schaltplan noch nicht gesehen und hatte willkürlich Ports 67 und E7 gewählt für direkte Kommunikation mit dem APU. Angehängt ist was ich ergänzt habe.
Dateianhänge
apuasm.zip
(1.01 KiB) 19-mal heruntergeladen

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 28.08.2018, 20:54

Nachdem Joachim mich ja enttarnt hat hier mal der Link auf beide Artikel als ein PDF zusammengefasst.

viewtopic.php?f=7&t=2833#p37073

Have fun...
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
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 28.08.2018, 21:28

Hallo bokje,
das wird doch genau so auch auf jedem anderen H4TH-Rechner laufen, nicht nur am ZXmore. Oder?

bokje
User
Beiträge: 107
Registriert: 02.05.2015, 15:38

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von bokje » 28.08.2018, 21:41

Ja tatsächlich; gibt es auch H4TH für den Spectrum?

Benutzeravatar
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 28.08.2018, 21:45

bokje hat geschrieben:
28.08.2018, 21:41
gibt es auch H4TH für den Spectrum?
Meines Wissens nicht. Ich meinte ja auch einen ZX81NU oder einen modifizierten ZX81 mit H4TH-ROM. Die entsprechende Karte hat Torsten aber noch nicht aufgelegt. Die könnte aber universell für den ZX81 und den modifizierten H4TH-Zeddy oder den NU sein.

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

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von tokabln » 12.09.2018, 21:49

Sodele... mal ein kurzer Bericht zur Lage der Nation...

nachdem ich heute endlich die passenden Stecker und Buchsen zum Anschluß einer Pokemon Tastatur für meine beiden Spectrum 48K Testsysteme erhalten habe, konnte ich endlich mal anfangen zu testen. Was soll ich sagen... im Moment macht das Ganze (noch) nicht ganz was es soll.

Gebe ich eine Testroutine ein, so läuft diese auf dem Spectrum (ohne APU) normal durch und benötigt x Zeit. Soweit komme ich aber mit angeschlossener APU Karte garnicht. Gebe ich eine Basic Zeile ein und drücke ENTER, macht das System einen Reset und das war es. :(

Jetzt muß ich mal schauen ob das auf meinem 2. Testsystem auch so passiert und wenn ja was die Ursache sein könnte.

Hinweise werden gerne entgegen genommen.

Nachtrag: 22:10
Ich habe gerade mal das geänderte ROM im EightyOne (V1.12) geladen und hier passiert genau der gleiche Fehler. Das EPROM wird geladen aber gebe ich eine Zeile Basic Code ein und drücke Enter, macht das System (der EightyOne) einen Reset. Somit liegt das Problem wohl im geänderten ROM Code und wahrscheinlich nicht an der APU Karte...
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
ZX-Heinz
User
Beiträge: 1574
Registriert: 05.12.2011, 14:45

Re: Spectrum ZX48 - Arithmetic Processing Unit (APU)

Beitrag von ZX-Heinz » 14.09.2018, 17:09

Inzwischen ist mein Probeboard auch fertig - ich habe eine PIO-Platine von Joachim umfunktioniert (Verzeihung, Joachim).
board_klein.jpg
board_klein.jpg (48.68 KiB) 736 mal betrachtet
Das Board soll gleichermaßen am ZX Spectrum und am ZX81NU laufen.

Meinen AM9511 bekomme ich erste Ende September/Mitte Oktober. Dann kann ich auch probieren. Erste Versuche dann wahrscheinlich mit BASIC und dem Orig-ROM am Spectrum, da sind IN/OUT-Befehle einfach ausführbar. Damit kann ich den AM9511 testen. Bzgl. des chips aus Fernost für 5€ habe ich nämlich die größten Bedenken - Unter den Sprachchips, die ich seinerzeit erworben hatte, funktionierten auch nur ein paar.

Und hier liegt vielleicht Torstens Problem: Bist Du sicher, dass der chip i.O. ist?
Hier mein Vorschlag, Dein board und den chip zu testen: Du steckst das Orig-Spectrum-ROM auf Deine Karte und rufst über BASIC-Befehle die APU direkt auf um z.B. die Addition zu testen. Dann weißt Du vielleicht, ob das mod.ROM oder die Karte einen Fehler hat. Falls Du Details für solch Programm brauchst, gern.

Antworten