Suche: ISA 16bit Memoryboard / RAM Karte für AT / Speichererweiterung

  • Hallo zusammen.


    Ich suche für einen IBM 5170 AT eine Speichererweiterung. Die Maschine hat 512 KB onboard, was doch ziemlich wenig ist. Der Computer läuft im Digital Retro Park Computermuseum in Offenbach. Auf 640 KB möchte ich ihn gerne bringen, damit wenigstens Commander Keen läuft.


    eBay Preise schrecken mich mächtig ab. 80 Euro und mehr gehen da. Bei mir nicht ;)


    Wer was hat, bitte per PN melden, wir werden uns einig! :)


    Gruß,

    Guido

    "MIG"

  • Müsste doch auch relativ leicht selber zu bauen sein. Bei 80 Euro pro Stück könnte man den Ebay Wucherern auch vielleicht eins auswischen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Unterm Strich ist das alles ne Kostenfrage. Was soll das Board kosten, welche ICs müssen noch beschafft werden?


    Sicher gibts auch das 1MB RAM Board von lo-tech, welches man für schmales Geld zum Bestücken erwerben kann. Bin jedoch mit dem neuen Shop "texelec" aus USA derzeit vorsichtig. Schon zwei Lieferungen, die nicht angekommen sind.

  • Es gibt ein offenes Projekt für ein ROM auf einer ISA Karte:

    https://hackaday.io/project/166529-8-bit-isa-rom-card


    Also, mit einem parallelen SRAM (128kx8 für unter 3 Euro) und ein paar TTLs zum dekodieren der Adresse sollte das im Wesentlichen getan sein. Ich hab' mal ein ISA prototype board und die Bauteile in meine Projektliste gelegt. Wird aber etwas dauern. meine letzte Planinenbestellung läuft gerade noch. Sollte insgesamt weniger als 10 Euro kosten, wenn man 20 Stück der Platinen in ENIG oder 10 Stück in HASL fertigen lässt.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Mit Lochraster-Prototypingbereich?

    Ja, hab gestern so ein Ding auf Github gefunden und noch von 4x4inch auf 100x100 mm angepasst.


    Ich kann aber nicht's versprechen. Ich hab' im Bereich alter PCs nur eine A1060 Sidecar daheim und eigentlich nur von Amiga Hardware halbwegs eine Ahnung. Wie gesagt, landet bei mir auf dem Stapel zukünftiger Projekte. Wird in jedem Fall sicherlich auch noch das eine oder andere Monat dauern.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

    • Offizieller Beitrag

    Wenn man sowas angeht, sollte man ein paar Kleinigkeiten auf alle Fälle berücksichtigen:

    - Startadresse einstellbar machen, zur Anpassung an die vorhandene RAM-Ausstattung des Rechners

    - Speicherbereich 640kB bis 704kB einzeln schaltbar machen. Mit HGC kann man dann 704 kB konventionellen DOS-Speicher nutzen.

    - Speicherbereiche oberhalb 704kB in 4kB oder 8kB Blöcken schaltbar machen, zur Anpassung an vorhandene BIOS-Erweiterungen.

  • Richtig, Toast_r !


    Und noch zwei CR-2032-gepufferte 6132, (oder halt irgendwas für Data retention geeignetes CMOS SRAM)

    -zwei Stück wg 16bit Zugriff

    -in Bereichen 4k-16k aktvierbar, überblendet dort das volatile RAM

    -Read-only/Read-Write Schalter an Slotblech


    für eigene CMOS-"ROM"s ohne Eprommer haben zu müssen

    -um Karten zu testen oder zu nutzen ohne das ROM dafür zu haben

    -um BIOS-Erweiterungen zu modden und testen zu können ohne dauernd Chips wechseln zu müssen

    -z.B. BIOS-Erweiterung, um Booter via Memory-Snapshot zu cracken und damit spielbar zu machen auch ohne die historischen 180k/360k Disketten, somit historische Software zu erhalten, vor der Vergessenheit zu bewahren?


    -Reset-Button an Slotblech

    -dito NMI-Button für Debugger, Bootercracken oder sonstwas


    ggf auch 0.254-Posts zum Anstecken von Reset-/NMI-Kabeln an Karte (von Frontplatte etc)


    am feinsten wärs wenn man die Karte als 16bit Karte machen könnte... könnte dann ja bei 8-bit-Slot automatisch auf 8-bit-Modus wechseln? oder stattdessen einfach ein Jumper?

    2 Mal editiert, zuletzt von 6502 ()

  • Ops. Hatte überlesen, dass Du 16Bit willst. Dann wird das ganze etwas teurer, da man zwei SRAM Chips braucht und die Platine länger als 100mm ist. Da könnte es (je nach Menge der georderten Platinen) mit 10 Euro pro Board schon eng werden. Ich werd' mich erstmal an einer (nicht konfigurierbaren) 8-Bit 128k Erweiterung für meine Sidecar versuchen. Wenn das funktioniert sehen wir weiter.


    Wenn man das so feinmaschig mit endlichen Kosten (und endlichem Platz) konfigurieren will, braucht man einen Mikrocontroller (wenn die Frequenz nicht zu hoch ist) oder einen CPLD. Das wäre ein ganz anderes und viel aufwändigeres Projekt.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • weiss ich nicht... mit ein paar 138, Diodengattern und einer Reihe Jumper-Steckleisten für die Konfiguration der aktiven Adressbereiche...

    1-2 wenn RAM, 2-3 wenn CMOS-Pseudo-ROM, offen wenn nicht belegt.

    Die Granularität und die Laufzeit bestimmen dann halt die Anzahl der Chips, und ob LS, ALS oder S.

    Kann man das nicht mit wenigen Chips machen?

  • Also ein 138 selektiert 8 Adressbereiche von 8 bis F.

    in B folgt ein wenig Logik, damit man die Bereiche per Jumper einstellen kann: MDA/HGC lower/HGC upper.

    in F muss man ähnliches machen wenn man bei unterschiedlichen ROM-Grössen RAM einblenden will (wenn das denn geht vom Mobo her)

    ansonsten kann man die Granularität wo RAM oder Pseudo-ROM eingeblendet werden soll, ja unterschiedlich wählen


    wenn man Pseudo-ROM in nur einem Segment macht, dann kann man mit dem zweiten 138 in der Kaskade mit 8 Jumpern schon 8k-Stücke selektieren.


    Alle Kombinationen möglich, mit ein wenig Nachdenken vllt mit wenig Chips realisierbar?

    Das sähe dann jedenfalls auch schön retro aus...

  • - Speicherbereiche oberhalb 704kB in 4kB oder 8kB Blöcken schaltbar machen, zur Anpassung an vorhandene BIOS-Erweiterungen.

    Wie man den Wunsch mit ein paar TTLs erfüllen soll, ist mir nicht klar. So wie ich das sehe, müsste man zuerst mit TTLs filtern, in welchem 8k Block man ist und den dann mit einem Jumper ein- oder ausschalten. Das kann man sicherlich intelligent lösen, aber dennoch würde ich bezweifeln, dass das auf eine ISA Karte passen würde. Das wären im Extremfall bei 8k Blöcken ja schon alleine 48 Jumper. Also vielleicht bei 64k.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Die Frage ist ja, wie macht man eine möglichst universelle Speicherkarte...

    anfangs hatte ich, bevor Toast_r seine Ideen dazuschrieb, ähnliches gedacht, aber mit einer Granularität von 64k-16k, je nach Segment.

    Wobei man ja den Bereich 512k-640k wieder zusammenfassen kann in einen Jumper (RAM enable, sonst keine weiteren Optionen)

    Dann könnte man mit ein oder zwei zusätzlichen 138 schon recht gut konfigurieren.

    Es geht ja nur darum, das Enable-Signal der einzelnen Bereiche auf Jumpern zu selektieren RAM-ROM-ignore(offen), wohin es geleitet wird.

    Meiner Meinung wären 48 Jumper Pins nicht so schlimm... das wären drei Reihen a 12 Pins, also wie anderthalb kleine TTL.

    Sagen wir mal Fläche von zwei kleinen TTL für die Speicher-Adressauswahl-Jumper.


    Und wenn man mich fragt was ich noch gerne drauf hätte, dann würde ich mir noch Interrupt- und DMA-Auswahl wünschen (für den Prototyping-Teil).

    Das wären dann nochmal ein paar mehr schöne Jumperchen.

    Bus-Transceiver wären auch noch toll (bei einer reinen Speicherkarte eigentlich nicht nötig)


    Und der Rest der grossen ISA-Karte durchkontaktiertes Lochraster... wäre für mich der Retro-Maker-Hit.

  • Ich finde eure Diskussion super :)


    Ein 16bit Ram-Board findet man ja nicht mehr so häufig.

    Gerade UMB ist für DOS > 5.0 sehr wichtig, wobei 32K Blöcke eigentlich ausreichend sind.

    In der CT gab es mal ein SRAM/ROM Board für bis zu 10 32K ICs, die man per 74LS154 zuordnen konnte.

    Per Jumper stellte man den unteren 512k oder oberen 512k Bereich ein aber leider nur für den 8bit Bus.

    ----


    Eines der 16bit Ramboards, die ich habe würde ich für 20€+Versand abgeben.


    Es gibt 3 Varianten:

    V1: 256Kx1 für 2Mb max. in 512K Schritten (18-72 ICs)

    V2: 256Kx1 für 2Mb max oder 1Mx1 für 8Mb max in 512K oder 2Mb Schritten (18-72 ICs)

    V3: 1Mx1 in 2Mb Schritten für 8Mb max (18-72 ICs)


    Ich müsste nochmal nachsehen, was tatsächlich noch da ist. Es sollten aber noch 5 oder 6 Boards übrig sein.


    Alle Karten unterstützen (soweit ich mich erinnere) das Auffüllen auf 640K, EMS und XMS. XMS und EMS können aber nicht gleichzeitig genutzt werden, dafür braucht man dann 2 Boards (eines für EMS konfiguriert und eines für XMS).

  • Es gibt noch etwas zu bedenken. Nach IBM Standard wird das mem16 Signal aus den oberen Adressbits für je 128k Segmente gebildet.

    Eigentlich sollte es so kaum unmöglich sein, Speicher unterhalb von 1MB zu Adressieren.

    Leider kann man da kaum herumzuarbeiten, Da man nur 3 Adressbits bei 1MB LA17..LA23 zur Verfügung hat.


    https://www.google.com/url?sa=…Vaw0R_Us7bC6IlbOHBxI77tsO


    MEM CS16 (I)

    '-MEM 16 Chip Select' signals the system board if the present

    data transfer is a 1 wait-state, 16-bit, memory cycle. It must be

    derived from the decode of LA 17 through LA23. ' -MEM

    CS16' should be driven with an open collector or tri-state driver

    capable of sinking 20 mA.


    Oder anders gesagt 16 Bit funktioniert nur oberhalb 1M oder wenn im Segment Cxxxx-Dxxxx keine 8 Bit Speicherkarte z.b VGA hängt.

    2 Mal editiert, zuletzt von Hobi ()

  • Ich hab' gerade mal das Lo-tech board gefunden.


    https://www.lo-tech.co.uk/wiki/Lo-tech_1MB_RAM_Board


    das ist allerdings auch nur 8 Bit. Das könnte aber als Referenz nehmen. Allerdings ist das mit 1MB etwas overkill... ich meine, wer hat schon weniger als 512 kb im Rechner? Und jeder der RAM Chips kostet bei Mouser schon 4 Euro...

    Der Preis für das PCB wäre noch OK, aber die wollen 14$ für shipping und dann kommen oben noch Steuern drauf, so dass man selbst bei 10 Stück bei 15 Euro pro Platine wäre.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Also ich hab' das ganze mal kurz überflogen. Mit 9 138ern könnte man die obersten 6 Adressbits unterteilen und damit den gesamten Speicher in 16K- Blöcke unterteilen oder die obere Hälfte des Speichers in 8K-Blöcke. Das wäre mir aber zuviel gewurstel.

    Also ich denke, es gibt zwei bezahl- und machbare Lösungen:


    1. Eine handvoll sinnvoller Speicherblöcke definieren und die dann per TTL und Jumper realisieren

    2. Nur einen STM32H7 drauf packen und den alles machen lassen. Der hat intern 1MB RAM und 2MB ROM, 280MHz, und kostet mit 13 Euro auch nur unwesentlich mehr, als die beiden 512K SRAM Bausteine (9 Euro) von der Lo-tech Karte. Hat den Nachteil, dass man da auch noch ein wenig programmieren muss, aber dafür den Vorteil, dass man damit praktisch alles erdenkliche realisieren kann.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Das ist eine ziemlich genaue Kopie der Lo-Tech Karte. Wie Hobi oben schreibt, kann es aber gut sein, dass nach IBM Standard im unteren Adressbereich nur 8 Bit angesprochen werden. Dann bräuchte man sich über 16 Bit keine Gedanken machen. Müsste man mal in den Schaltplan schauen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Muss echt die ISA Spezifikation mal nochmal angucken, um das mit MEMCS16 und dem 8-bit-Zugriff zu rekapitulieren.

    Jedenfalls ist die HGC 8bit, ohne ROM und meiner Erinnerung nach wirkt sich eine HGC im Rechner auch dahingehend aus, dass auf die VGA nur noch 8bittig zugegriffen wird.