Forum: Mikrocontroller und Digitale Elektronik Z80 Emulator auf dem STM32 sinnvoll ?


von Uwe B. (derexponent)


Lesenswert?

Hi,

nachdem Josef mit seiner "8bit eigenbau CPU per FPGA" ziemlich viel 
Kritik einstecken musste, frage ich hier mal, bevor ich richtig anfange 
:-)

Im Internet gibt es viele freie Z80 Emulatoren auf "C" Basis
und ich hab jetzt mal in einer 1h "Quick & Dirty" Session
einen Test auf dem STM32F4-Discovery gemacht

Fazit : der Emulator funktioniert (war auch nicht anders zu erwarten)

doch jetzt die Frage, wie viele würden sich hier finden die mit sowas 
etwas anfangen können oder ist das ganze nur "Futter für die Fische" ?

Nach einem "Sinn und Zweck" darf man hier natürlich auch nicht fragen
event. wenn man das ganze richtig aufbläst, ein Gameboy oder Spektrum 
Emulator (natürlich nicht auf die schnelle)

die ersten kleine Schritte wären, Z80-File per UART ins RAM schieben,
EIN-/Ausgabe-Funktionen und so zeug

aber lasst mal eure Meinung dazu hören.

Uwe

von Frank K. (fchk)


Lesenswert?

Meiner Meinung ist das Unsinn, ein ARM-Board aufzubauen, um Z80-Code 
auszuführen. Zilog produziert moderne Z80-Prozessoren, die mit 50 MHz 
laufen, 16 MB linearen Adressraum haben, und einiges an Peripherie 
enthalten, aber immer noch binärkompatibel sind. Dazu gibts IDE, 
Compiler, Debugger inkl. Debug Probe, Echtzeitbetriebssystem und 
TCP/IP-Stack. Auch hier ist die Zeit also nicht stehen geblieben.

Wenn Dich das interessiert:

http://www.zilog.com/index.php?option=com_product&Itemid=26&task=parts&BL=1&familyId=130&productId=EZ80F91AZA

fchk

von W.S. (Gast)


Lesenswert?

Die Frage ist doch eher, was man denn damit will.
Brauchst du ein bestimmtes Programm, das nur unter CP/M läuft? Oder 
willst du nen ZX-Spectrum nachbauen? Oder was sonst (nur aus Spaß..)?

W.S.

von (prx) A. K. (prx)


Lesenswert?

Frank K. schrieb:
> Meiner Meinung ist das Unsinn, ein ARM-Board aufzubauen, um Z80-Code
> auszuführen.

Yep. Weiss er bereits:

Uwe B. schrieb:
> Nach einem "Sinn und Zweck" darf man hier natürlich auch nicht fragen

von Uwe B. (derexponent)


Lesenswert?

Frank K. schrieb:
> Zilog produziert moderne Z80-Prozessoren, die mit 50 MHz
> laufen

wusste gar nicht das es "Zilog" als Firma überhaupt noch gibt :-)

W.S. schrieb:
> Die Frage ist doch eher, was man denn damit will.

wie gesagt auf Anhieb fällt mir da auch nicht viel ein

ich hab jetzt für den STM32F4 für fast alle Funktionen eine Library 
geschrieben um sie "einfacher" nutzen zu können aber ein richtiges 
"Projekt" für die CPU will mir einfach nicht einfallen

ein "Spectrum" oder "Gameboy" auf ARM Basis habe ich zumindest im 
Internet noch nicht gefunden

wäre natürlich viel Arbeit der im Endeffekt keinen Nutzen hat. Wie alle 
Hobbys halt ;-)

wer will kann ja mal hier ein paar Vorschläge posten was man mit dem 
Discovery-Board sonst noch machen könnte

von Manfred B. (manib)


Lesenswert?

Hi Uwe,

für einen Z80 Emulator fällt mir auf die Schnelle auch kein brauchbares 
Szenario ein. Und das obwohl ich mit dem Z80 in mein Computerzeitalter 
eingestiegen bin (ZX81, ZX Spectrum).

Ich bin bei meiner Idee, einen BASIC Interpreter für den STM32, leider 
auch noch nicht viel weiter gekommen. Ich finde einfach keine Zeit für 
die Umsetzung.

Es gibt hier ein Artikel über AVR BASIC:
http://www.mikrocontroller.net/articles/AVR_BASIC

Das ganze basiert auf ein C-Ge¬rüst von Adam Dunkle für einen kleinen 
und ressourcenschonenden TinyBasic-Interpreter (uBasic):
http://www.sics.se/~adam/ubasic/

Das wäre doch für dich bestimmt auch eine Herausforderung, oder?

Ciao,
ManiB

von Uwe B. (derexponent)


Lesenswert?

Manfred Becker schrieb:
> einen BASIC Interpreter

ich glaube ein Interpreter wäre noch mehr Arbeit als
ein reiner Emulator (der ja eigentlich schon fertig ist)

viel mit "anzufangen" wüsste ich jetzt auch nicht damit
(und du willst doch deine Hardware nicht "umsonst" gekauft haben :-)

UB

von Marius S. (lupin) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe mal einen Emulator für Pokemon Mini auf den F4 discovery 
portiert.

Das Problem bei komplexeren Systemen wird der Speicher sein. Gameboy 
ROMs können z.B. schon mal 2 oder 4 MB groß sein.

Um ein wenig mit Emulatoren zu spielen wäre dieses Board bestimmt gut 
geeignet:
Beitrag "Neues Entwicklungsboard von STM [32F429IDISCOVERY]"

Die 8 MB SDRAM kann man dann als Programmspeicher verwenden. Ein 
ausreichend hochauflösendes Display ist schon dabei. Ich würde die 
Emulatoren aber nicht selber schreiben sondern eher portieren. Der Sinn 
und Nutzen davon ist natürlich begrenzt...

von Uwe B. (derexponent)


Lesenswert?

Marius S. schrieb:
> Ich habe mal einen Emulator für Pokemon Mini auf den F4 discovery
> portiert.

sieht gut aus (sind bestimmt einigen Stunden draufgegangen)

Marius S. schrieb:
> Gameboy
> ROMs können z.B. schon mal 2 oder 4 MB groß sein.

da sehe ich kein Problem, ich hab Libraries für SD-Karte und USB-Stick 
als Speicher-Medium (mit FATFS Dateisystem)

die Umsetzung der externen PIOs wird da schwieriger

das neue STM-Board habe ich gesehen...kann aber (außer dem externen RAM) 
auch nicht mehr wie mein jetziges System

von Marius S. (lupin) Benutzerseite


Lesenswert?

Ja, ich hatte auch eine SD Karte dran. Aber der Zugriff auf SD-Karte 
oder USB-Stick ist bestimmt zu langsam um davon Code ausführen zu 
können. Deshalb muss das Programm erstmal in den Flash oder RAM geladen 
werden denke ich.

Ich hatte eigentlich vor die Spiele von der SD-Karte aus zu wählen und 
in das Flash zu laden bevor der Emulator ausgeführt wird. Die Spiele für 
PM sind maximal 512kb groß, von daher hätte der interne Flash gereicht.

Ja, dem neuen STM-Board fehlt auch ein DAC und SD-Karte...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.