[Bautagebuch] micro8088 Computer, mit CMS-Sound und CF-Karte

  • Hi,


    ich baue gerade an einem Nachbau des micro8088-Projektes von Sergey Kiselev und dachte mir, ich dokumentiere hier mal meinen Fortschritt.

    Kurzfassung zum Rechner:

    - micro8088 ist eine ISA-Karte, welche den Prozessor, Chipset und SRAM enthält

    - nutzt ein relativ fortschrittliches Chipset (Faraday FE2010A), welches ziemlich hoch integriert ist


    Die Karte kommt zusammen mit allen anderen ISA-Karten in eine Backplane und wird auch von der Backplane mit Strom versorgt.

    Für meinen Computer möchte ich hier also 4 Hauptkomponenten bauen und habe mittlerweile auch alle Teile bestellt.

    Das meiste ist schon eingetroffen, auch wenn ich noch auf einige wichtige Kernkomponenten warte.

    Die Backplane


    Fängt ganz unspannend an: Eine große Platine im microATX-Format, welche einfach nur alle ISA-Slots 1:1 durchverbindet.
    Keine Magie, einfach nur 8x 16-bit ISA-Slots, ein 0x80 Post-Code Display, ein Flip-Flop zum Einschalten des ATX-Netzteils und eine ATX-20-Pin-Buchse.

    Die Platinen ganz regulär als HASL (bleihaltig), 2-Layer herstellen lassen. Da die Platine selbst keine (Schleif-)Kontakte hat, bringt Goldbeschichtung hier nichts. Spart bei der amtlichen Platinengröße deutlich Kosten ein.



    Die Backplane hatte ich schon im Voraus zusammengebaut, weil mein eigenes ISASTM-Projekt auf der gleichen Backplane betrieben wird.

    Da hatte ich mir bisher die Post-Code Anzeige und ATX-Logik aber noch gespart und erstmal nur die Slots an sich bestückt.


    Link zur ISA-Backplane (retrobrewcomputers.org)


    micro8088 Karte und XT-CF Adapter


    Die Platinen für die micro8088 Karte und den XT-CF Adapter sind in der Zwischenzeit auch eingetroffen.

    Diese allerdings mit ENIG/Goldbeschichtung und 45° Chamfers an den Kontakten, sodass die Karten etwas schonender zu den ISA-Slots sind.


    Als CPU für den micro8088 habe ich NEC V20 gekauft, FPU werden Intel 8087.


    Link zum micro8088-Projekt (GitHub)

    Link zum XT-CF Adapter (malinov.com)

    Creative Game Blaster Soundkarte (MUS-1099)

    Die Platine für die Gameblaster-kompatible Soundkarte und auch die SAA1099 Chips aus China lassen noch auf sich warten, daher muss man sich hier an dieser Stelle mit einem Render aus KiCad zufriedengeben :)

    Die Beschreibung war bei der Platine recht dürftig, inbs. die Klinkenbuchse und das Poti waren ziemlich ungewöhnlich und ich musste eine gute halbe Stunde nach passenden Komponenten suchen.


    Link zur MUS-1099 (GitHub)


    Bauteile sind auf jeden Fall schon mal reichlich eingetroffen, Fa. Mouser hat mir 2 prall gefüllte "Müllsäcke" voll mit allerlei Komponenten geschickt:

    Rein theoretisch habe ich (hoffe mal, dass ich keine Teile beschädige) genug Teile für einen zweiten micro8088 und XT-CF Bausatz.

    Von den Chipsätzen habe ich auch noch 2 Stück über, den Platinen natürlich sowieso reichlich (Mindestbestellmenge ist ja immer 5 Stück).


    In Sachen Grafik wird der Rechner einfach eine von meinen Trident-Karten bekommen, vermutlich eine TVGA9000 oder TVGA8900, weil ich diese zur Hand habe und sie mit 8-bit ISA umgehen können.


    Ich werde mich morgen vermutlich direkt an die Bestückung der XT-CF-Karte machen, weil dafür bereits alle Teile da sind.

    Für die Bestückung des micro8088 fehlt aktuell nur noch das Chipset und die FPU (optional). Chipset kommt aus den USA, FPU aus China, das kann dauern.


    Viele Grüße,

    Tobias

  • Heute dann mal der Zusammenbau der XT-CF Lite v4 Karte:



    CF-Kartensockel mit M2 Schrauben und Muttern an der Platine befestigt (wenn die Ausrichtung von SMD Komponenten nur immer so einfach wäre :) )

    ordentliche Menge Amtech NC-559 Flussmittel und einmal quer mit dem Lötkolben rüber. Wird Zeit für eine Hohlspitze, mit der Meißelspitze ist es nicht 100% optimal.



    Abblock-Kondensatoren auf der Platine



    Restlichen Bauteile auch drauf... Dabei den ersten Bestellfehler entdeckt:

    5.6 Ohm anstelle von 5.6 kOhm bestellt. Kurzer Blick in den Schaltplan zeigt aber, dass das nur ein Pull-Down für einen ungenutzten Pin (DMA) ist. Also einfach einen weiteren 1kOhm Widerstand stattdessen eingelötet, macht nichts.



    Rückseite der Platine, teste aktuell ein neues bleifreies Lot von Felder, schon recht OK, aber immer noch ein deutlicher Unterschied zum gewohnten "EL"-Lot mit Blei. Besonders die matte Oberfläche der Lötstellen ist sehr ungewohnt.



    Ganze Platine darf dann 15 Minuten bei 50°C im Ultraschallreiniger schwimmen.

    Hinweis: Offiziell sind die DIP-Schalter nicht für ein 15min Bad spezifiziert, das Datenblatt rät eigentlich vom Eintauchen in Wasser/Lösungsmittel ab, inbs. über 5 Minuten. Ich bin da aber relativ schmerzfrei, zur größten Not müssen halt 2 neue Schalter rein. Ist ja kein kommerzielles Board.



    Während die Platine ein Bad nimmt, darf der MiniPro dann das AT28C64B EEPROM programmieren.

    Das BIOS-Image liegt netterweise bereits fertig kompiliert auf der Webseite von Sergey, das spart Zeit und Nerven.



    So sieht die fertige XT-CF Lite v4-Karte dann bestückt und mit ICs aus.

    Eine Slotblende dafür hätte ich zwar auch, aber meine Lust auf Metallbearbeitung ist eher eingeschränkt.


    Ja, ich bin mir bewusst, dass die mechanischen Laschen des CF-Sockels noch nicht verlötet sind. Das wird noch nachgeholt, habe ich schlicht vergessen.


    Jumper-Einstellungen: I/O Adresse 0x300, EEPROM aktiv, EEPROM Write inaktiv, BIOS Adresse 0xD0000



    Im Pentium getestet: Läuft beim ersten Versuch 8)

    DOS bootet sofort, Windows 3.11 getestet, alles läuft :thumbup:


    Viele Grüße,

    Tobias

    Einmal editiert, zuletzt von Manawyrm ()

  • Die Chipsätze und Soundchips lassen leider noch etwas weiter auf sich warten...

    Trotzdem schon mal eine gute Gelegenheit, eine Soundkarte für den neuen Rechner zu löten.

    Die Idee dazu kam beim Schauen des Video von @scorp/Necroware zum Thema Sound Blaster 2.0 Nachrüstung , es müsste ja relativ einfach möglich sein, die SAA1099 Chips direkt am ISA-Bus zu betreiben. Auf GitHub gab es dann dazu schon ein passendes Projekt, also konnte ich mir die Designarbeit sparen.


    Ich muss da dringend mal die Dokumentation etwas nachbessern, die Teileliste ist bestenfalls notdürftig, auch Bestückungspläne bzw. ein interaktives BOM wären schick.


    Die Platine hatte ich als erstes in einer anderen Bestellung mitbestellt, daher auch grünes PCB ohne ENIG-Finish.



    Zunächst mal wieder die Widerstände aufs Board.


    Eine runde Abblockkondensatoren und Filter später sieht das ganze so aus:


    Es folgen die IC-Sockel und das Widerstandsnetzwerk:


    und diese, völlig übertriebenen Polymer-Elektrolytkondensatoren ("solid polymer").

    Normale Wald-und-Wiesen Elkos wären hier vollkommen ausreichend gewesen,

    entgegen der Meinung der "HiFi-Freaks" würde ich mich auch nicht scheuen in solch eine Karte Keramikkondensatoren zu verbauen.

    Dafür sehen diese Kondensatoren schick aus und werden auch 50 Jahre alt ohne auszutrocknen:



    Klinkenbuchse und Stereo-Potentiometer folgen als letzte Bauteile:

    Das Poti ist (vom horrenden Preis von fast 5€ mal abgesehen) wesentlich zu hoch und die Karte nimmt fast 2 komplette ISA-Slots ein.

    Ein anderes Poti (oder idealerweise ein Footprint für mehrere "Allerweltstypen" z.B. von Bourns) sollte durchaus einfach machbar sein.



    Die Logikchips aus der 74er-Serie habe ich dann auch schon mal eingesteckt, allerdings muss der Test noch bis zur Ankunft der

    SAA1099-Soundchips und des etwas obskuren TEA2025-Audioverstärkers warten.

    Inbesondere der Audioverstärker-IC kann mit einer PCB-Änderung durch so ziemlich jeden anderen OpAmp ersetzt werden.

    Das wäre auch durchaus sinnvoll, anstatt hier alte, gebrauchte Chips aus China zu importieren.



    Soweit so gut...


    Viele Grüße,
    Tobias

    • Offizieller Beitrag

    Ja, gern, klingt nach einem interessanten Projekt.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Juhu, die Post war da!


    Um das Spannendste vorweg zu nehmen: Der Rechner läuft!

    YouTube-Video: https://www.youtube.com/watch?v=AlemTk6648E


    Mit einer Stange Chipsätzen ausgerüstet gehts dann mal an die Bestückung des eigentlichen Computers.

    Platine auch wieder in ENIG-Gold und mit 45°-Chamfers um die ISA-Slots nicht zu beschädigen:


    Paar Widerstände, einen Quarz drauf:


    Alle IC-Sockel eingelötet:


    Widerstandsnetzwerke, den PLCC-Sockel für den Chipsatz und die Abblockkondensatoren verlötet:


    DIP-Schalter, Lautsprecher, Stiftleisten, PS/2 Buchse, Resetschalter und den kleinen Trimmko verlötet:



    Da ich bei dieser Platine kein tacky SMD-Flussmittel verwendet habe, keine Reinigung im Ultraschall.

    Später nochmal etwas mit Isopropanol über die Platine schrubben, aber nicht weiter schlimm:


    Fehlen noch die Chips:


    eine handvoll Logikchips, ein NEC V20 Prozessor und das FE2010A Chipset.

    RAM kommt in 2x 512KiB SRAM Chips, ROM ist ein 128KiB EEPROM.

    Das Handling der UMB (>640KiB) sowie Details zur PC-Speaker Ansteuerung werden von einem PAL (ATF16V8) übernommen.

    Ein PIC12F629 wandelt AT/PS/2-Tastatur-Scancodes in XT-Scancodes für den Chipsatz um.

    Die 3 Chips ließen sich mit dem üblichen MiniPro ohne Probleme sofort programmieren. Die nötigen Dateien sind im GitHub-Repository vom micro8088 verlinkt.



    Nun noch 2 Jumper setzen:

    Einer auf der XSEL-Leitung (um 28 MHz Takt einzustellen)

    Einer auf dem 4poligen Speaker-Header, um den internen Lautsprecher zu aktivieren.

    Alternativ könnte hier ein normaler 4pin Lautsprecher angesteckt werden. Ein schöner Trick, den sich Sergey da ausgedacht hat :)


    Die DIP-Schalter werden auf SW2 ON, ON, ON konfiguriert, damit VGA-Grafik und E0-Scancode Passthru.

    Den zweiten DIP-Schalter (für das Memory-Mapping der oberen Speicherbereiche) habe ich mal auf 0xC8000, also SW3.2 = ON gesetzt.

    Bisher habe ich aber noch gar keine Software getestet, die den RAM tatsächlich nutzt.



    Nach einem kurzen Test (mit Strombegrenzung!) am Labornetzteil, um auszuschließen, dass irgendwelche Kurzschlüsse vorhanden sind, darf die Karte dann auch auf die Backplane.


    Zusammen mit der XT-CF Karte, einer Trident TVGA9000 VGA-Karte und einer Aztech SB-kompatiblen Karte hat man dann einen schönen kleinen 8086 Rechner. Die NEC V20 CPU ist eigentlich für 8 MHz spezifiziert, die 9.55 MHz Taktfrequenz scheinen bei mir hier aber auch ganz gut zu funktionieren :)



    Nochmal das Video vom laufenden Rechner: (.mod-Wiedergabe über die Aztech im SB-Mode, Monkey Island 1, Windows 3.0)

    https://www.youtube.com/watch?v=AlemTk6648E


    Fehlt eigentlich nur noch Gameblaster Sound... Netzwerk wäre allerdings auch schick ;)


    Viele Grüße,

    Tobias

  • Ich hätt' eigentlich ganz gerne Netzwerk an meinen Rechnern.

    CF-Karten sind zwar schon recht praktisch, aber ich benötige immer ein externes Lesegerät und muss den Rechner dafür ausschalten.


    Alle ISA-Netzwerkkarten sind aber in einer großen Kiste im Keller bei den Eltern. Ich hatte zuvor allerdings mal eine Netzwerkkarte für den RC2014 Z80-Rechner gebaut. Der Bus ist relativ ähnlich, allerdings dekodiert die Karte nur 8-bit Adressraum (wegen des Z80-I/O).

    Hab daher eine der ISA-Lochrasterkarten genommen und ein EEPROM als Adressdekoder/programmierbare Logik missbraucht.

    Datenbus, Interrupts und ~WR/~RD Leitungen 1:1 durchverbunden, das EEPROM dekodiert alle Adressen über 8bit, also alles ab dem 2ten Nibble. Im EEPROM ist an Position 3 einmal 0xFF, sonst komplett 0x00.




    Dazu gibts dann auch nochmal ein YouTube-Video:

    Musik runterladen, die Uhrzeit bei der PTB aus Braunschweig abholen und im IRC chatten, alles auf einem selbstgebauten 8088-Rechner.

    So machen Computer Spaß :)

    https://www.youtube.com/watch?v=6eKL-vuugbA


    Ein bisschen Kopfkratzen hat mir allerdings der Pakettreiber ne2000.com gebracht,

    wie sich rausstellt, kann ne2000.com nicht im 8bit-Modus mit Netzwerkkarten reden, sondern macht immer 16bit Zugriffe auf den ISA-Bus.

    Das geht in diesem Falle natürlich überhaupt nicht, weder Karte noch Rechner können 16bit.

    Im vcfed-Forum hat netterweise der User profdc9 den Treiber passend gepatched, damit dieser auch auf 8bit Rechnern korrekt läuft.


    Danach kann man wie gewohnt die Softwaresammlung mTCP benutzen um ins Netz zu gehen und z.B. einen FTP-Server aufmachen.


    Viele Grüße,

    Tobias

  • Die SAA1099 Soundchips sind dann auch eingetroffen und damit geht das Projekt auch schon so ziemlich dem Ende nah.

    Eingesteckt, Jumper auf 0x220 gesetzt, funktioniert sofort.


    Hörbeispiel:

    https://www.youtube.com/watch?v=bSW95JPUE4k



    Gibts nicht viel drüber zu erzählen, das Poti ist ein bisschen sehr hoch (berührt die Platine im nächsten ISA-Slot, kann im schlimmsten Falle Kurzschlüsse machen), sonst ganz OK. Der Audioausgang ist sehr sehr laut, vermutlich für passive Lautsprecher gedacht. Meine Aktivbox findet das eher mäßig lustig, funktioniert aber.


    Viele Grüße,

    Tobias


  • Das Schaltungsdesign der Game Blaster/CMS-Karte könnte noch einige Verbesserungen vertragen.

    Wie bereits erwähnt, war das Audiosignal extrem stark (der Verstärker kann ein halbes Watt in 32Ω treiben!), ich hab daher mal den Verstärker-IC ausgebaut und überbrückt.

    Das bringt das Signal auf ein deutlich besseres Niveau, allerdings können die SAA1099 selbst keinerlei Last treiben.

    Für Aktivboxen oder aktive Kopfhörer ist das Signal in dieser Form ziemlich ideal.

    Ich würde vermutlich eher einen OpAmp mit ner Verstärkung von 1 dazwischen setzen, das dürfte wesentlich besser funktionieren.


    Immerhin: Hörbares Rauschen oder irgendwelche Störgeräusche sind so überhaupt nicht zu hören, beim Verstärker-IC gab es immer eine kleine Menge weißes Rauschen (aufgrund der hohen Verstärkung).


    In Sachen Software habe ich mittlerweile Monkey Island 1, LSL3 und Arkanoid 2 erfolgreich getestet. Ich habe die CMS.DRV von LSL3 in den Ordner von SQ3 kopiert (der Trick hat schon mal für mein Casiotone-Keyboard funktioniert), aber beim CMS klappt das leider nicht. Im INSTALL.EXE-Menü wird die CMS-Karte dann angeboten, aber das Spiel beendet sich mit einer Meldung über einen Missing Port.


    Viele Grüße,

    Tobias

  • Die SAA1099 Soundchips sind dann auch eingetroffen und damit geht das Projekt auch schon so ziemlich dem Ende nah.

    Eingesteckt, Jumper auf 0x220 gesetzt, funktioniert sofort.

    Hörbeispiel:

    Ich weiß es ist Geschmackssache, aber mir gefällt der rauhere Sound der SAA1099 Soundchips besser als der weichgelutschte FM Sound des YAMAHA Soundchips der Soundblaster Karte.

    Liegt vielleicht auch daran, dass ich in den 80s groß geworden bin und auf ein Mal in jeder kommerziellen Musikproduktion das YAMAHA DX-7 E-Piano zu hören war... <X


    Tolles Projekt, Tobias - ich hab ja Bock bekommen mir auch die MUS-1099 zu bauen.


    Rainer

    -------------------------------------------------------------------------------
    Suche Rechentechnik aus Deutschland, bzw. Computer Deutscher Hersteller - z.B.

    ANKER, AKKORD, CTM (CTM 70, CTM 9000, CTM 9032), DIEHL/ DDS, DIETZ, FEILER, ISE,
    HOHNER GDC, KIENZLE, KRANTZ, NIXDORF, OLYMPIA, PCS/CADMUS, RUF, SALOTA, S.E.I.,
    SIEMAG, SIEMENS, TAYLORIX, TRIUMPH ADLER - TA, WAGNER, WALTHER, WANDERER,...

    -------------------------------------------------------------------------------