Forum: Projekte & Code Projektvorstellung: µMk64 - 2-MHz Heimcomputer aus 5 AVRs


von Mark L. (m2k10) Benutzerseite


Lesenswert?

Jetzt, wo es läuft und wohl alle technischen Probleme gelöst sind, ist 
es ein guter Zeitpunkt mein aktuelles Projekt der Öffentlichkeit 
vorzustellen.

Ich habe mir mehrere Streifenlochrasterplatinen, einige(15) 
74er-Logikbausteine, 64kB SRAM, ein paar Widerstände und Kondensatoren 
sowie 5 AVRs genommen und mir daraus einen kompletten Heimcomputer 
konstruiert.

Einige Highlights:
- Per Bootmenü Auswählbarer Hauptprozessor-Emulator:
    6510-1,00 MHz   6502-2+MHz   Z80-4+MHz   6809-2+MHz
    alle mit (F)IRQ, NMI
- Video an RGB-TV Auflösungen: 256x192 Pixel, 80-Zeichen (480x192
    Pixel), 160x192 Pixel, 15 verschiedene Modi, teilweise
    mit RasterIRQ, 32 Sprites, Softscrolling
- PS/2-Tastatur, FAT16-SD-Karte mit 32MB-VirtualDisk, über 600kB/s netto
    Lesegeschwindigkeit
- 4-Kanal-ADSR-Synthesizer, wahlweise C64-SID-Registerkompatibel
- Eigene Betriebssysteme je CPU-Architektur für Zugriff auf die
    VirtualDisk, CP/M 2.2 (nur Z80) als Software

Das ganze System arbeitet übertaktet mit 24MHz stabil. Die gesamte 
Software (>60.000 Opcodes) ist vollständig in Assembler so geschrieben, 
dass ein Programmierer/Anwender einen 2-MHz schnellen Heimcomputer wie 
in den 80ern vor sich findet. Alle Prozessoren, bzw. das gesamte System 
arbeitet zyklengenau mit 2,00 MHz, dadurch ist Echtzeitprogrammierung 
wie in den 80ern möglich(u.a. RasterIRQ). Drei der AVRs (plus Platz für 
einen vierten) verfügen dazu über DMA mit je 2MB/s.

Homepage mit mehr Informationen ist in Arbeit, Soundchip und 6809 müssen 
noch getestet werden.

Soweit mal ein grober Überblick.
Ich würde mich freuen, mal eure Ansichten und Meinungen zu diesem 
Projekt zu erfahren!

Viele Grüße
Mark

: Verschoben durch User
von Jürgen (Gast)


Lesenswert?

> ... übertaktet mit 24MHz  ...

Mist.

von lager (Gast)


Lesenswert?

>60.000 Opcodes ... in Assembler
whow !

von Benjamin K. (benjamin92)


Lesenswert?

Also Bilder vom Aufbau wären interessant und welche AVRs hast du genau 
genommen? Schaltplan wäre auch cool. Klingt zwar nach viel Bastelei, 
aber Dokumentation wäre ganz nützlich.

von Monokultur (Gast)


Lesenswert?

Das ein solches Projekt durchaus eine bemerkenswerte Leistung ist, steht 
außer Frage. Nur: Wozu das Ganze? Der Sinn eines solchen Projektes 
erschließt sich mir nicht so ganz. Reines Spaßvergnügen? Zuviel 
Freizeit? Fall letzteres zutrifft, wäre es besser gewesen die freie Zeit 
mit dem Lernen von VHDL zuzubringen und das Ganze dann per FPGA zu 
realisieren...

von Mark L. (m2k10) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier mal zwei Photos vom Aufbau und vom Z80-Startbildschirm.
Die AVRs sind ein tiny2313, ein mega48, ein mega644, zwei mega1284.

Doku etc. bin ich dran, möchte aber auch mal wissen, ob sich die ganze 
Arbeit daran überhaupt lohnen würde. Ich mache sowas größtenteils im 
Kopf, daher ist das ein 'etwas' größerer Aufwand.

von Steffen H. (avrsteffen)


Lesenswert?

lager schrieb:
>>60.000 Opcodes ... in Assembler
> whow !

Full ACK!!
Wahnsinn, ich bin auf die Homepage gespannt und dem Design.

Steffen

von Benjamin K. (benjamin92)


Lesenswert?

Okay, sieht ja sehr interessant aus. Jetzt würde ich an deiner Stelle 
noch ein schönes Platinenlayout machen und das ganze auf eine Platine 
bauen oder wirklich mit FPGA realisieren. Klar kann man es so machen, 
wie du, aber du baust im Prinzip so, wie ein 80er Jahre Kellerschrauber. 
Ist aber keinesfalls abwertend gemeint, ich finde, man hat Respekt 
verdient, wenn man sowas ans Laufen bekommt. Dokumentation solltest du 
auf jeden Fall machen, weil du willst ja nicht dein Wissen mit ins Grab 
nehmen, oder?

von my 2Cents (Gast)


Lesenswert?

Das Board soll auch ZF-Sockets für problemlose CPU-Upgrades haben.

von Hannes H. (mui)


Lesenswert?

Ich find's cool :-)

von Mick M. (highlow)


Lesenswert?

Respekt!
Bin auf die Dokumentation gespannt.

von Marco M. (marco_m)


Lesenswert?

Toll!! Ich bin sehr gespannt!

von AVR (Gast)


Lesenswert?

Melde hiermit auch mein Interesse an einer entsprechenden Seite bzw. 
Doku an. Nette Idee und scheinbar gute Umsetzung. Einzig und allein die 
Übertaktung spricht mir nicht ganz so zu, aber da wirst du wohl schon 
deine Gründe gehabt haben.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Danke für die Antworten :-)

Eine meiner selbstgestellten Anforderungen war es, nur mit dem absolut 
nötigsten auszukommen. Werden wohl viele nicht verstehen, aber für mich 
hätte es keinen Reiz gehabt den 1000sten Kleincomputer in ein FPGA zu 
stecken. Da gibt's schon Bücher drüber, Standarts und Unmengen 
Beispiele, kurz gesagt: langweilig(nur meine ganz persönliche Ansicht). 
So musste ich wieder ganz zurück, konnte alles Wissen und alle Erfahrung 
ab ca. 1985 vergessen und musste/durfte/konnte mir mal eigene Konzepte 
entwickeln.
Mir ging es um harte Herausforderung, Kreativität und neue Ideen und 
Konzepte entwickeln zu müssen, nicht darum einen Heimcomputer 30 Jahre 
zu spät zu bauen. Der entstand aus der 'Aufgabe' einen Computer aus 
einer handvoll Bauteile mit minimalstem Werk- und sonstigem Hilfszeug zu 
entwickeln. Einzige Ergebnisvorgabe war eine mögliche 
Demo-/Spiele-Programmierung wie am C64(Raster-IRQ und 100%ig taktgenaue 
Assembler-programmierung).
Verwendet habe ich nur:
Hirn, Papier, Stift, Lötkolben, Schraubendreher, Durchgangsprüfer, 
Schmuckzange, Cutter, Datenblättern, tab. Übersichten, Texteditor, 
Atmel-Assembler, STK500 als ISP-Programmer, Fernseher, PS2-Tastatur und 
SD-Karte.

Es ist eine interessante Herausforderung ganz ohne Oszi mehrere AVRs mit 
versetzten Takten bei 24MHz zu koordinieren. Ich möchte es vermutlich 
nicht nochmal machen, aber das waren Logikrätsel vom Feinsten, Unmengen 
Unbekannte, nur ein Ziel im Kopf und nur einen Fernseher zur Kontrolle. 
Kein Debugger, kein Simulator, nur Mensch 'gegen' Elektronik.

AVR schrieb im Beitrag #2896908:
> Einzig und allein die Übertaktung spricht mir nicht ganz so zu,
> aber da wirst du wohl schon deine Gründe gehabt haben.

Die 24MHz ergaben sich fast zwingend sowohl aus der Hard- als auch der 
Software. U.a. nutzen verschiedene Videomodi fast jeden Takt aus, 
SPI+Auflösung benötigte 24MHz und die Hauptschleifen der Emulatoren 
bekomme ich nicht unter 12 Takte optimiert(drei Sprünge, IRQ, 
ExtRAM-Zugriff etc.). Probleme habe ich bisher keine gehabt, auch nicht 
mit reduzierter Spannung.

Benjamin K. schrieb:
> Dokumentation solltest du auf jeden Fall machen, weil du willst
> ja nicht dein Wissen mit ins Grab nehmen, oder?
Einmal davon abgesehen, das das Grab noch einige Jahrzehnte Zeit haben 
sollte, ich habe meinen Spaß dabei gehabt, es zu tun und zu schaffen, 
fertig. Ich hätte diesen Thread nicht eröffnet, wenn ich dieses Projekt 
anderen vorenthalten wollte. Aber ich mache mir auch keinen Stress 
damit, hab' mich auch noch nicht entschieden, was ich mit dem 'Ding' 
anfange, ob ich es zum Nachbau freigebe (ggf. eingeschränkt) und/oder 
eine Vermarktung versuche (erweitertes Konzept mit geätzten Platinen 
etc. ist fast fertig).

von Jackfritt (Gast)


Lesenswert?

Respekt. Jetz musst du nur noch Last Ninja ans laufen bekommen ;)
Darf man fragen wieviel Milliarden Stunden du damit verbracht hast?
Ich glaube nicht das es viele Leute gibt die das kaufen
bzw nachbauen würden. Da es einfach zu speziell ist. Allein
Schon die Synchronisierung der avr...., da wollen doch nicht
Viele dran.

Ich würde mir dann wohl eher einen alten C64 besorgen.

Ansonsten natürlich Hut ab vor soviel Ehrgeiz und durchhaltevermögen.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Jackfritt schrieb:
> Darf man fragen wieviel Milliarden Stunden du damit verbracht hast?

Ich hab's nicht gezählt, aber würde mal so grob ca. 1.500 sagen, wobei 
sich das etwa drittelt in Methoden zur Umgehung eines Oszis(4x Konzept 
erweitert und neu aufgebaut, ges.500h), Taktezählen (>500h) und die 
eigentliche Entwicklungsarbeit (Rest).

Jackfritt schrieb:
> Allein Schon die Synchronisierung der avr....

Grundsätzlich läuft die, da muss ja keiner mehr ran und wenn wäre es nur 
ein Eintrag im EEPROM. Ich überlege aber noch, ob ich das zuverlässig 
automatisiert bekomme, würde einen Pin an jedem Prozi frei machen. Außer 
dem Flashen ist das System vollständig vom AVR abstrahiert.

Jackfritt schrieb:
> Jetz musst du nur noch Last Ninja ans laufen bekommen ;)

Lustig, ich bin nebenbei an einem Spectrum-Emulator dran und habe auch 
schon überlegt, ob ich versuchen sollte, Last-Ninja mit den 
Software-Sprites hinzubekommen. Fürchte aber, dass das wegen der 
24/3.5MHz nicht zu machen ist.

Jackfritt schrieb:
> Ich würde mir dann wohl eher einen alten C64 besorgen.

Um mal einen Retro-Abend zu machen, ich auch. Aber wenn's einem um's 
selbst programmieren geht kann ich aus meinen bisherigen Testerfahrungen 
nur sagen, dass alleine schon eine zuunterst eingebundene SD-Karte ein 
Traum ist. Hab selbst mit dem C64 1982 angefangen und nach der Datasette 
war die Floppy schon fast eine neue Welt. Aber eine 32MB-'Disk', die 
schneller läd als der Prozessor mit 2MHz arbeitet eröffnet da doch 
wieder völlig neue Möglichkeiten. OK, ist vllt. nur mal was für einen 
langen Winterabend, aber die 8-bit-Szene lebt schließlich immer noch. 
Und da die Original-Chips langsam zerfallen ist es vllt. auch mal Zeit 
für etwas Neues im alten Stil :-)

von Mikel M. (mikelm)


Lesenswert?

Mark L. schrieb:

>
> Doku etc. bin ich dran, möchte aber auch mal wissen, ob sich die ganze
> Arbeit daran überhaupt lohnen würde. Ich mache sowas größtenteils im
> Kopf, daher ist das ein 'etwas' größerer Aufwand.
 Friere einen funktionierenden Stand ein,evt noch vorher Kommentare 
ergänzen., druck die die aktuellen Schaltpläne aus.
 Ob sich der Aufwand lohnt, weist du in 2-5 Jahren, wenn du dann nochmal 
was ändern willst/mußt. Wenn du dann nicht halbwegs vernünftig 
dokumentiert hast, wird es schwer.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Mikel M. schrieb:
> daher ist das ein 'etwas' größerer Aufwand.

Ähm, ich meinte damit all das, was nicht für das Projekt selbst ist, 
sondern damit andere das nachvollziehen können und das in einer 
vorzeigbaren(digitalen) Form. Ob sich 'der Aufwand lohnt' bezog sich 
darauf, ob dieses Projekt ausreichend wahrscheinlich überhaupt auf 
Interesse stößt. Nur um mal vom Google-Bot besucht zu werden wäre mir 
die Zeit zu schade ;-)

von Antwortender (Gast)


Lesenswert?

Also - ich find das auch gut. Schönes Projekt.

von Lolly (Gast)


Lesenswert?

Also grundsätzlich finde ich das schon toll :-)
Aber ehrlich, 1500 Stunden -- das sind knapp 9 Mannmonate :-o Und dabei 
ist nicht mal Doku "abgefallen", Du hast nichts simuliert, 
wahrscheinlich durch try & error die Sachen zurechtgebogen...

von Dr. G. Reed (Gast)


Lesenswert?

Mach eine kleine Seite und empfehle diese mal bei Hack-A-Day.
Die zeigen gern so Retro-Sachen, und das bringt dann etliche Besucher

von Konrad S. (maybee)


Lesenswert?

Ich finde dein Projekt beeindruckend, würde es aber bestimmt nicht 
nachbauen wollen - allein schon wegen Zeitmangel. Aber interessehalber 
über die Dokumentation drüberfliegen würde ich gern mal.
Du könntest einfach deine Papiersachen einscannen, muss ja nicht immer 
alles in Eagle&Co sein.

von Thomas K. (tkroth) Benutzerseite


Lesenswert?

Mal großes Interesse anmeld.

von Thomas W. (diddl)


Lesenswert?

Absolut cooles Projekt! Warte schon gespannt auf die Homepage und Doku.

von Bogo (Gast)


Lesenswert?

In der Tat ein schönes Projekt! Hack-a-Day wäre wirklich die richtige 
Platform, wenn du die Webseite mit der Doku fertig hast. :) Ich konnte 
mir auch nicht vorstellen, dass sich jemand für mein Projekt 
interessiert. Und dann kam Hack-a-Day und prompt ist einmal mein 
Webserver zusammen gebrochen. Also bitte bitte eine Webseite machen... 
:)

Ignoriere die Mies-Macher, die nach einem Sinn fragen und alles schlecht 
reden wollen. Du bist kreativ, aktiv und hast Spaß bei der Sache und 
lernst nebenbei noch ganz viel. Welchen tieferen Sinn braucht ein Hobby 
sonst noch?

Bogo

von Rene B. (themason) Benutzerseite


Lesenswert?

@Mark

Also ich find so Sachen immer toll. Gerade dieses idealistische "Mensch 
gegen Elektronik" mit minimalistischsten Werkzeugen hat echt was. Man 
mag über das Projekt nörgeln wie man will, aber sowas auf die Beine zu 
stellen ist schon echt ne tolle Sache. (und ich denke die Nörgler würden 
bzw könnten sowas nicht auf die Beine stellen :-))
Bin mal gespannt auf die Webseite (und vllt sogar Videos ? :-))
Weiter so. Coole Sache das.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Vielen Dank für die Antworten :-)

Ich hatte leider ein größeres Chaos mit dem Hoster, hoffe aber, dass es 
diese Woche alles geklärt wird. Ansonsten wende ich mich dann doch an 
einen der 'üblichen', größeren Hoster, die haben hoffentlich 
Urlaubsvertretungen ;-)

Mark

von Wolfgang M. (womai)


Lesenswert?

Tolles Projekt, alle Achtung! In nur 1500 Stunden haette ich das nicht 
hinbekommen, nicht mal MIT Oszi :=) Also bitte unbedingt dokumentieren 
und veroeffentlichen, das klingt nach hoechst interessanter Lektuere. 
Und ja nicht auf die Miesmacher hoeren - muss denn jedes Hobby einen 
tiefen praktische Sinn haben???

von Robert (Gast)


Lesenswert?

Ich schwanke, ob man dafür besonders klug oder einfach nur verrückt sein 
muss, um seine Zeit in so ein Projekt zu stecken. Ich tendiere zum 
Zweiten. Laufen denn darauf 64er Arcade games?

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Also irgendwo ist das heutzutage schon ziemlich verrückt, wenn man sich 
mal ansieht, welche Datenmenge schon bei einer einfachen Webseite so 
zusammenkommt und mit wie wenigen (im Verhältnis) Bytes man mehrere 
8-bit-Systeme realisiert bekommt.

Sei's drum, hat etwas gedauert mich durch den CSS/PHP/html-Dschungel zu 
kämpfen, aber nun ist die Seite zu erreichen:

http://www.mmk64.de

Es ist erstmal ein Anfang, ich werd noch viel ergänzen und erweitern.

Viele Spaß beim umsehen :-)
Mark

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Robert schrieb:
> Laufen denn darauf 64er Arcade games?

In Bezug auf Originalsoftware, eindeutig nein. µMk64 ist kein 
(C64-)Emulator sondern ein kompletter eigenständiger 2MHz-Heim-Computer.

Von den technischen Möglichkeiten, auch für Arcadespiele, her betrachtet 
kann man auf µMk64 insgesamt sogar mehr machen, als auf dem C64 (bspw. 
horizontaler Splitscreen, VideoStreaming von SD etc.), aber im Detail 
gibt es viele Unterschiede.
Bspw. die 32 statt 40 Zeichen schränken einerseits ein, die möglichen 
80-Zeichen, der mehr als doppelt schnelle Prozi und die VirtualDisks 
bieten aber auch ganz neue Möglichkeiten. Es gibt auch keine 
Hintergrundsprites dafür aber 32 im Vordergrund ohne Tricks, so dass man 
sich Überlappungen selber basteln kann.

von Konrad S. (maybee)


Lesenswert?

Ah, Weihnachtslektüre. ;-)
Vielen Dank dafür!

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Hallo allerseits,

den Seitenaufrufen nach, gibt es wohl ein lebhaftes Interesse an dem 
Projekt :-)

Mich würde nun mal sehr interessieren, wie informativ etc. Besucher die 
Seite empfanden und was ich ggf. verbessern könnte.

Habe ich es geschafft, einen Einblick in das Projekt zu vermitteln?
Sind es zuviele oder zuwenige Informationen, sind diese verständlich 
oder zu abstrakt?
Ist es nachzuvollziehen, was dieser Computer alles kann?

Und eine ernst gemeinte (vielleicht etwas lächerlich wirkende) Frage: 
;-)
Wie nennt sich das, was ich da gebaut habe? (Ist das ein Heimcomputer, 
ein Heimcomputer-Echtzeitemulator oder was???)


Viele Grüße
Mark

von Sven (Gast)


Lesenswert?

Wow das is echt mal nett. Vorallem für mich als Kind der 80er Jahre um 
einfach mal zu verstehen wie son PC eigentlich arbeitet. Vielen dank

von Simon N. (ardi)


Lesenswert?

Also ich muss sagen: Respekt.
Sowas finde ich richtig cool und dass du Software und HArdware entworfen 
hast und noch gut umgesetzt hast ist einfach genial.
Also wenn du die Dinger verkaufen möchtest und ne Firma :) aufmachen 
möchtest würde ich gerne einen kaufen.
Du hast ein ganzes Betriebssystem darauf bekommen. Das finde ich am 
genialsten.
Freue mich auch schon auf die Doku und mehr Bilder vom Betriebssystem.
Nochmals Respekt.

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.