mikrocontroller.net

Forum: FPGA, VHDL & Co. C64 auf Cyclone II


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Peter G. (peter_geher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend, ich hatte mir vor Ewigkeiten bei Amazon einen Cyclone II 
FGPA-Kit gekauft. Also so einen:
https://smile.amazon.de/dp/B07BVN2R7X/
(Inkl. USB-Blaster)

Da das angedachte Projekt nicht umgesetzt wurde, liegt das dingen hier 
rum und staubt ein. Jetzt kam mir beim Googlen die Idee, darauf einen 
C64 zu machen.
http://searle.hostei.com/grant/Multicomp/index.html#HardwareWiring

Leider finde ich dazu keine wirklichen Berichte/Videos, wie gut oder wie 
schlecht das so läuft. Hat da einer von euch Erfahrung zu sammeln 
können? Bevor ich mir jetzt den Ram und alles weitere besorge, aufbaue 
und dann feststelle: Alles Mist...

Gefordert wird nicht viel, bin kein Spieler. Vielleicht mal eine runde 
Kaiser oder Gianna Sisters. Ansonsten reicht es mir, wenn ich ein wenig 
Basic "Programmieren" kann und es läuft :-)

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man C64 (insbesondere das vorzuegliche Commodore Basic)
spielen will, nimmt man einen C128D.

Der Cyclone II kann sicher noch wo anders recycled werden.

Autor: Markus F. (mfro)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Peter G. schrieb:
> Gefordert wird nicht viel, bin kein Spieler. Vielleicht mal eine runde
> Kaiser oder Gianna Sisters. Ansonsten reicht es mir, wenn ich ein wenig
> Basic "Programmieren" kann und es läuft :-)

Letzteres funktioniert (habe ich mit der Z80-Version ausprobiert). Der 
Cyclone II schafft den Z80 mit 50 MHz ;).

Ersteres kannst Du vergessen (oder musst noch einiges selbst machen). 
Bloß, weil die CPU dieselbe ist, wird aus dem Ding längst kein C64 - da 
ist ein bißchen mehr notwendig.

Die Maschine realisiert einen BASIC-Rechner mit ASCII-Terminal. Mehr 
nicht.

Autor: Peter G. (peter_geher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus F. schrieb:
> Ersteres kannst Du vergessen (oder musst noch einiges selbst machen).
> Bloß, weil die CPU dieselbe ist, wird aus dem Ding längst kein C64 - da
> ist ein bißchen mehr notwendig.
>
> Die Maschine realisiert einen BASIC-Rechner mit ASCII-Terminal. Mehr
> nicht.

Nicht das selbe Board, aber gleicher FPGA:
Youtube-Video "Commodore 64 On FPGA"

Also scheint das ja prinzipiell zu laufen.

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
a) Das ist ein DE1 und hat schon alles drauf was man für einen 
"vollständigen" Computer braucht und 18000 Luts.

b) Dein Board hat nur Pins und einen C2 mit 5000 Luts.

Grober Vergleich: mein Gameboy Color im FPGA braucht rund 10000 Luts. 
Fairerweise muss ich zugeben auch nicht auf minimalen Verbrauch geachtet 
zu haben, z.b. läuft mein Z80 deswegen auch auf 100 MHz.
Trotzdem mal als Größenordnung.


Dein Vorhaben KANN gut gehen, ist aber hart, gerade als Anfänger wo man 
noch nicht so gut einschätzen kann wie man LUTs spart.

Dann musst du alles selbst dran basteln.

Unterschätze bitte auch den Aufwand nicht.
Ein fertiger Core ist eine Sache, aber wenn du wirklich etwas selbst 
machen willst da dran, dann sind schnell ein paar Monate weg.

Das soll nicht den Spaß nehmen, denn den kann man damit definitiv haben.
Nur klingt dein Beitrag nicht so als wärst du übermäßig motiviert, 
sondern eher als willst du mal kurz etwas zusammen basteln was noch in 
der Ecke liegt.

Autor: Bla (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Der C64 ist ja kein Hexenwerk: der besteht nur aus ein paar Tausend 
Transistoren.

Man müsste den 1:1 nachbauen ...

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Naja Hexenwerk... hart wird es schon das in 5000 LE zu packen.

- CPU
- RAM
- Graphic (Backgroundlayer  + Sprites + Collision)
- Videoausgabe(VGA oder so)
- Eingabegeräte (Tastatur + Joystick)
- Soundausgabe
...

1:1 Nachbau würde bedeuten mit Laufwerk, das will aber keiner, also 
kommt noch Massenspeicher dazu.


Nur ein Beispiel: allein die 47 Grafikregister(noch ohne jegliche 
Funktion) anzubinden führt bei einer 1:1 Implementierung bereits zu 
~500LE.

Autor: Bla (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Kann man den C64 nicht auf einzelner Transistor/Gatter-Ebene nachbauen ? 
Gibt ein FPGA das nicht her ? Natürlich vorausgesetzt man hat die Pläne 
des C64...

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bla schrieb:
> Kann man den C64 nicht auf einzelner Transistor/Gatter-Ebene nachbauen ?
> Gibt ein FPGA das nicht her ? Natürlich vorausgesetzt man hat die Pläne
> des C64...

Ja klar. Aber nicht auf einem Cyclone II.

Hier: http://www.fpgasid.de/documentation wird **nur** der SID 
implementiert. Auf einem MAX10. Und der ist voll...

Autor: Peter Bierbach (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Schau dir diesen Core an für den MiSTer :

https://github.com/MiSTer-devel/C64_MiSTer

gruss

Autor: Bla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Bierbach schrieb:
> Schau dir diesen Core an für den MiSTer :
>
> https://github.com/MiSTer-devel/C64_MiSTer

Interessant ... ich wüsste nichtmal wie man das Boot-Dings irgendwo auf 
die SD-Karte bekommt   :-)  Das wird da sehr oberflächlich, also nur für 
Vollstudierte erklärt.

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Beim Mister wird leider fast nirgends irgend etwas erklärt, das ist 
immer für Anwender geschrieben die von FPGAs eh keiner Ahnung haben.

Das "Boot-Dings" ist ein rbf das von dem integrierten ARM im Mister-FPGA 
den FPGA-Teil konfiguriert, so eine Art JTAG Player.

Das hilft hierfür garnix, weil es ein Binary für das Cyclone 5 FPGA ist.

Man muss dann also den Core neu bauen. Die sourcen sind da, sollte 
prinzipiell gehen.


Dann kommt leider die zweite Schwachstelle beim Mister auf, die wieder 
den gleichen Grund hat: die interessiert einfach nicht der Core selbst, 
sondern nur das er auf dem Mister läuft.

Dementsprechend sind FPGA-Typ(Cyclone 5) spezifische Konstrukte im Code. 
Instantierungen statt Inferierungen usw.

Hier geht das noch einigermaßen, weil man wenigstens bei Altera bleibt.
Beschäftigen muss man sich damit trotzdem bevor man überhaupt einmal 
bauen kann um zu sehen ob es reinpasst.

Autor: DCF 7. (dcf77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Tipp.
Das interessiert mich auch sehr.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.