Selbstbau 68k Rechner

  • Hallo,


    ich bin momentan dabei, einen kleinen Rechner zu bauen. Ich wollte dabei nicht alles in ein FPGA quetschen, aber auch nicht nur TTL verwenden. So hab ich mich dann auf genau ein CPLD eingelassen und dort eingesetzt, wo es praktisch ist, wie z.B. die Adressdekodierung.


    Als CPU hab ich einen MC68008 verwendet und u.a. gibt es SID Sound in Stereo. :) Das System ist momentan ein angepasstes EHBasic 68k.


    Hier mal zwei Fotos während des Aufbaus.



    Und hier gibts noch zwei erste kleine Videos.




    Viele Grüße
    Bogo

  • Das ist ja der totale Hammer. Ich bin echt und tief beeindruckt. Wird man bald einen neuen Homecomputer kaufen können?
    Wie sind die genauen technischen Daten (Speicher, IDE, Floppy, etc.)


    Gruß
    Tom / Pentagon

    "Um den Krieg zu überleben, muss man selbst zum Krieg werden." - John Rambo / Rambo II - "Der Auftrag"

  • Irre! Da merkt man gleich, dass der 68k ne ganz andere Liga ist als der Z80, mit dem ich Selbstbau-Rechner gemacht habe. An mehr als 8 Bit und CP/M-basierende Systeme hab ich mich nicht rangetraut... ;) Hast du die Software auch komplett selbst entwickelt oder verwendest du ein angepasstes System? Wie hoch waren die Kosten für die Leiterplatte?

  • Oh, mit dem 68000 kann man auch einfache Rechner bauen. Ich hab hier noch eine c't KAT-CE rumliegen. 68000 auf Europakarte. Alles TTLs, kein PAL, GAL oder CPLD nötig. Hatte ich damals extra ausgesucht eben weil der so einfach im Aufbau ist. Die Originalschaltung war für 8MHz, passender CPU läuft er auch mit 12 MHz.

  • Hi,
    ich denk mal, da kommt der Rechner her. :)


    http://www.ist-schlau.de/downloads.html


    Gruß Höp

    8 Bit sind genug, sonst komme ich morgens nicht aus dem Bett. %)


    „Nous sommes dans un pot de chambre et nous y serons emmerdés.“
    („Wir sitzen in einem Nachttopf und wir werden darin zugeschissen werden“)
    2.9.1870, Auguste-Alexandre Ducrot


    www.emu64-projekt.de/acme The home of ACME win32 compile.

  • Ja, das stimmt hab ich auch gefunden. Allerdings ist es auch sein Server ;-)


    Ich würde mich echt freuen wenn es mal einen neuen Homecomputer geben würde. Die Platine macht mich auch an, die sieht richtig toll aus. Und wenn ich sehe das da gleich IDE, Floppy, PS/2 Maus und VGA dran sind, dann ist das ein feines Teil. Prozessor hätte ich mich persönlich auch lieber über einen sauschnellen Z80 gefreut, aber der ist ja auch nicht schlecht. Scheint dem Sinclair QL dann etwas näher zu sein, nur halt mit modernen I/O Ports.


    Ein Paar Details wären superinteressant.


    Gruß
    Tom / Pentagon

    "Um den Krieg zu überleben, muss man selbst zum Krieg werden." - John Rambo / Rambo II - "Der Auftrag"

  • Hallo,


    erstmal vielen Dank für die positiven Rückmeldungen! Ich hatte gestern Geburtstag und bin erst jetzt wieder am Rechner. :)


    Dann erzähl ich mal etwas über den Computer. Es ist übrigens nicht das, was ich auf meinen Webseiten hab. Das ist uralt und muss dringend überarbeitet werden. Davor möchte ich aber alle Komponenten getestet und alle Fehler beseitigt haben. Kleinere hab ich bei dieser Platine bereits beseitigen müssen.


    Also, "auf den Pfaden der alten Veteranen wandern" trifft es glaub ich ganz gut. Ich bin schon öfters dararuf angesprochen worden, warum ich nicht alles in ein FPGA packe. Aber das ist irgendwie nicht dasselbe. Ich wollte etwas bauen, was es damals hätte geben können - mehr oder weniger. Viele Bauteile sind obsolet und teilweise schwer zu bekommen. Das und die Größe der Platine (34x22cm) sorgen dafür, dass man diesen Rechner eher nicht kaufen kann. Die Platine hat zwei Layer und hat im PCB Pool nicht ganz 300€ gekostet. Wobei ich aus Spaß auch mal andere Stückzahlen angegeben hab und positiv überrascht war...


    Das System besteht im wesentlichen aus diesen Teilen:
    - MC68008 CPU, 10MHz (8 Bit Datenbus!)
    - 4MB dram und 512KB VRAM
    - 2 SIDs für Stereo
    - V9990 Video Display Processor (V9990 VDP)
    - IDE/ATA
    - Floppy Disk (WD1770, DD)
    - RTC (RTC72421)
    - 10base-T Ethernet (CS8900a)
    - ps/2 tastatur & maus (über einen Atmega8)
    - zwei joystick ports (über MC68230 PI/T)
    - RS232 und parallel port (MC68681 und MC68230)
    - Timer des MC68230
    - XC95108 CPLD


    Das CPLD enthält neben der vollständigen Adressdekodierung noch den Taktgenerator für die CPU, sowie eine FSM für das DRAM (man kann alte, 30-polige SIMM MOdule benutzen. Unterstützt wird CBR-Refresh), eine FSM für Zugriffe auf den VDP, sowie eine weitere FSM zur Erzeugung des PIO Timings (IDE Zugriffe sind trotz 8-Bit Datenbus 16-Bit, da die obere Hälfte gepuffert wird). Außerdem erzeugt sie noch notwendige WR* und RD* Strobes für die RTC. Es fehlt noch eine weitere FSM für den Ethernet Controller. Den CS8900a kann man zwar auch im 8-Bit Modus betreiben, aber dann funktionieren die Interrupts nicht. Daher hängt dieser ebenfalls hinter dem 8-zu-16-Bit Puffer.
    Tastatur und Maus hängen an einem Atmega8, welcher selbst über den zweiten seriellen Port des MC68681 mit dem System verbunden ist. Momentan ist der Atmega8 nur für die Tastatur programmiert und schickt direkt ASCII und keine Keycodes.


    Die komplette Entwicklung hab ich unter Linux gemacht. Für den Schaltplan gschem und für die Platine pcb. Das CPLD hab ich mit dem Webpack von Xilinx programmiert. Den Atmega8 mit Avrdude. Lediglich die erzeugten ROMs hab ich per X1541 Kabel zum C64 übertragen und mit dem Tiny Eprommer gebrannt. :D
    Es läuft eine angepasste Version von EHBasic 68k. Hierfür gibt es den Assembler Quellcode, bei welchem ich die Eingabe- und Ausgaberoutinen angepasst hab. Die Eingabe hab ich lediglich auf die zweite serielle Schnittstelle des MC68681 gelegt. Für die Ausgabe hab ich den VDP im P2 Modus (64x26 Zeichen) programmiert. Als Zeichensatz dient der gute, alte Topaz.
    Auf der CF Karte ist ein Fat32 Filesystem. Zugegriffen wird über eine open source Bibliothek, die in C geschrieben ist. Das ganze ist etwas abenteuerlich, da ich das EHBasic nicht mit dem cross gcc assemblieren kann und so das Basic Binary aus zwei Teilen zusammen bauen muss. Aber funktioniert.


    Das Starfield ist in C mit ein wenig Inline-Assembler programmiert. Es benutzt den VBI für den Musikplayer und zum Umschalten beim Doubblebuffering, falls das nächste Frame fertig ist. Die Musik ist schlicht ein mit siddump gedumptes SID File. Besonders vom VDP bin ich richtig begeistert. Ich glaub, damit kann man tolle Sachen machen. :)


    Vielleicht schaff ich es, mal zu einer der nächsten Doreco zu kommen und den Rechner mitzubringen. So weit von Lüdenscheid ist es ja nicht... :)


    Bogo

  • Cool :-) Wusste garnicht, dass es so eine Version vom 08er gibt. Man lernt echt nie aus. Schade, dass die HW so "exotisch" ist - mich juckts ja als alter Amiganer richtig, für das Ding was zu Programmieren.... 4 MB und quasi die HW direkt im Griff... Mhhh.. :-) Was kann denn der VDP so? Ist der auch Tile-basierend wie das Mega Drive, oder beherrscht der Bitmap-Grafik? Welche Auflösung und Farbtiefe kann der? (ja ich weiss, ich löcher dich grad ziemlich, aber das ist ein interessantes Projekt :-) )

  • Geiles Teil!
    Aber 300 Euro für eine leere Platine? Wenn du wirklich zur Doreco gehst, würde ich gern vorbeischauen.
    Das Basic scheint interessant zu sein ...


    Gruß,
    Stefan

  • Och, ein Einzelstück, doppelseitig und dazu noch in dieser Größe hat seinen Preis. Deshalb hatte ich weiter oben ja auch interessehalber gefragt und 300 finde ich dafür fair, wenn man es bezahlen möchte. Ich würde das nicht tun, aber ich hab ja auch eine masochistische Ader und stehe auf Kabelpr0n, bei mir werden Einzelstücke ausnahmslos handgefädelt :bgdev .

  • Ich finde auch, dass das noch ok ist. So oft lasse ich keine Platine herstellen.


    Zum VDP zitiere ich mal das programmers manual



    Und dann gibts noch diese Kommandos:



    In den Modi P1 & P2 (den Pattern Modi) hat man 125 Sprites zur Verfügung. :)