Artikel/Projekt Retrocomputing auf FPGA - Diskussion dazu

Gast #3164595
Lesenswert?

Moin,

ich hab als FPGA-projekt ein älteren 8bit Computer auf Xilinx Spartan3 
nachgezimmert und Artikel/Sourcen auf www.mikrocontroller.net abgelegt:

http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA

Es gibt inzwischen von anderen Tüftlern Portierungen auf andere boards 
(Altera DE1 o.ä.) und eine rege Diskussionen auf:

http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=9276&time=1368597673&s=e4a3608d0c1019698cae834bca626ad1

Für Hinweise und Anregungen dazu habe ich diesen thread eröffnet, 
ebenfalls
um Fragen von Nutzern zu beantworten.

MfG,
Gast #3165516
Lesenswert?

Josef G. schrieb:
> Frage zum Takt: In deinem Artikel steht
>> wird ein Takt von 3.125 MHz für den Computer erzeugt
>
> Wie ist diese Frequenz zu verstehen? Wie lange dauert eine einfache
> Operation wie Load oder Store ohne/mit Einlesen des OpCodes?

Die 3.125 MHz treiben den Z80 kompatiblen Softcore. Beim Z80 werden 
mehrere dieser Takte (3 bis 6 plus optional Waitzyklen) zu einem 
Maschinenzyklus  zusammengefasst und mehrere Maschinenzyklen zu einem 
Befehl.
Maschinzyklen sind:

*OP-Code Holzyklus (M1-Zyklus)
 (Op-codes sind zw. 1 bis Byte lang, dementsprechend unterschiedlich 
lang ist die Dauer)
*Speicher Schreibzyklus
*IO-IN-Zyklus
*IO-OUT-Zyklus
*INTERRUPT-Zyklus
...

Siehe auch: http://www.sxlist.com/techref/mem/dram/slide4.html

MfG,
Gast #3165871
Lesenswert?

Thomas Reinemann schrieb:
> Hallo,
>
> tolle Leistung, bei mir liegt noch das Original.
> Insbesondere die Bildschirmfotos setzen einen > 20 Jahre zurück.


Na so gestochen scharf sieht das Original doch nicht aus ;-). Und die
wirren Muster aus dem nichtinitialisierten Bildspeicher beim Anschalten 
zeigt die FPGA-Lösung auch nicht. Könnte man aber noch einbauen. ;-)
Gast #3165947
Lesenswert?

Duke Scarring schrieb:
> Fpga Kuechle schrieb:
>> Und die
>> wirren Muster aus dem nichtinitialisierten Bildspeicher beim Anschalten
>> zeigt die FPGA-Lösung auch nicht. Könnte man aber noch einbauen. ;-)
> Wenn Du mir Schreibzugriff auf das Repository gibst, bau ich Dir das
> ein. Sowas hab ich schon fertig hier liegen ;-)


Nö, kein Schreibzugruff für Dich. Dann finden sich noch sublimale 
Botschaften im Code und Speicher: "Atari rulez" oder "Folgt dem 
Fliegenden Spaghetti-Monster" ;-)
(Firma: Starfleet) #8007162
Lesenswert?

Weiß jemand wo die Souvenirs geblieben sind?

Die wurden vor 13 Jahren zusammen mit dem Thread beerdigt;-(

Nein, die Sourcen "entschwanden" erst mit der Abschaltung des Forums SVN-Servers einige Jahre später.

Wobei alle Jahre wieder ins Forum nach Kopien etc. gefragt wird. Peter Sieg, hier im Forum unter https://www.mikrocontroller.net/user/show/petersieg ist/war da recht aktiv im Bereich Erhalt des Wissens über Home-Computer.

Und wer den thread aufmerksam liest, wird vielleicht drüber stolpern, das es in einem anderem Forum -- www.robotrontechnik.de -- Aktivitäten zu diesen Retroprojekt gab. Vielleicht kann man ja darüber einen Kontakt zum Urheber der Quellcodes aufbauen ?!

Ergänzung: mit etwas guten Willen auf google nach den Sourcen gesucht, findet man schnell den Port auf das MIST-Board, der die Sourcen von mikrocontroller.net verwendete um das Ganze auf das Altera Board und dem "MiSTer-Ecosystem" zu portieren:

https://github.com/boert/Z1013-mist

Und wer das MiSTer-Project nicht kennt:

: Bearbeitet durch User
Persönliche Seite #8084865
Lesenswert?

Wer unbedingt scharf darauf ist, einen (alten) 8-Bitter zu programmieren, dem empfehle ich das 6502/6810-Projekt. Damit kann man einen etablierten Prozessor nutzen, diesen in seiner (damaligen) Trequenz takten und damit in Echtzeit die alten ASM-Programme drauf laufen lassen. Soweit ich das mal getestet habe, lief das. Ich bin nur nicht sicher, ob auch die "schwarzen OP-Codes" alle laufen.

Dazu gibt es auch ein komplettes C64-Retro-Projekt: Damit hat man dann eine Plattform, für die es auch Programme gibt und sich das entwickeln lohnt, weil es andere nutzen können.

Nur irgendeinen 8er zu haben, damit man was im FPGA hat, ist irgenwie nicht schlüssig. Es gibt ja moderne 8er als PIC, die auch schnell genug sind. Im FPGA kommt man einfach nicht über die Taktgrenzen hinweg, die am Ende zu Ausführungszyklen im 20-50MHz-Bereich enden. Mehr geht nicht.

Auch der "Agon" kann nicht mehr!

Da würde ich lieber in solche Systeme wie den LEON investieren, mit denen man gut Echtzeit machen konnte, aber auch das ist einfach zu speziell.

Wer im FPGA in C programmieren will und einen Softcore benutzt, ist und bleibt langsam. Zum Einarbeiten würde ich einen PicoBlaze empfehlen oder eben den MicroBlaze.

Die kann man auch schon mehrfach instanziieren und parallel arbeiten lassen. Da kommt dann auch Knowhow bei rum.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren