Super-Luxus-CMOS-RAM-Platine

Es gibt 152 Antworten in diesem Thema, welches 49.867 mal aufgerufen wurde. Der letzte Beitrag (30. Dezember 2020 um 19:26) ist von WalkThatWay.

  • Jetzt meld ich mich auch noch mal zu Wort :D

    Wahnsinn,was aus meinem kleinen Gedankenanstoss geworden ist.
    Danke x1541,cbmhardware und Jogi für eure bisherige Mühe.

    cbmhardware
    16MB? Komm,da knacken wir die RamLink :P

    Aber was mich noch interessiert,(vielleicht ein bisschen offtopic) könnte man eine Art Beschleuniger/Turbokarte noch integrieren(dachte an so 4Mhz) integrieren? Das wäre für Geos perfekt. Und nochwas: Bei mir muss nicht alles unbedingt in ein Modulgehäuse passen:)

  • Die Schaltung verwendet das gleiche Prinzip wie die vom Nicolas. Wenn man alle Leitungen verwendet, verliert man die Kompabilitaet zur GeoRam.
    Maximal sind dann nur 512Kb machbar. Evtl. bis 4 MB.

    Vieleicht ist das ein Ansatz fuer die C16-User. Die haben viele 6529B Portbausteine durch Unmengen an defekten Geraeten ohne Aussicht auf Ersatzteile.

    Mit so einer 8Kb-Karte koennte man auch noch etwas Beschaltung einbauen und direkt CRTs reinladen (evtl. sogar mit Batterie erhalten).

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

    Einmal editiert, zuletzt von cbmhardware (27. Juli 2006 um 20:16)

  • Zitat

    Originally posted by enthusi
    Uebrigens: laesst sich das normale, laengliche georam aehnlich einfach mit Batterie und Dioden aufruesten oder macht das nur das SRAM so simple?

    Ich vermute mal die alte GEORAM mit ihren DRAMs braucht ein Taktsignal vom C64, um den Speicher zu halten, nur eine Batterie wird nicht helfen.

    Es gab ja die BBGRAM, die hat das irgendwie geschafft. Hatte ich mal, hab ich aber nicht mehr und damals nicht untersucht. Keine Ahnung also wie das funktionierte.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • Hi,

    nun mal mein Testaufbau einer GEORAM 8k ...:)


    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.


    Funktioniert genau wie es sein soll komplette 8k durchgetestet schreibt und liest.....:)

    Michael der 6529 ist auch nichts anderes wie die 373 374 175 u.w...
    irgend einen Fehler must du an deiner Schaltung haben....oder liegt es an deinen langen Leitungen....?

    Gruß jogi

  • Die GEORAM baut auf DRAM's auf. Die brauchen ein Refresh-Signal, damit sie ihren Dateninhalt nicht vergessen. Das bedeutet, man muss diese Refresh-Signal auch bei abgeschaltetem Rechner erzeugen und diesen Schaltungsteil ebenfalls aus der Batterie bzw. Akku speisen. Dann geht das auch mit der GEORAM.
    Alternativ kann man aber auch DRAM's verwenden, die sich den Refresh zyklisch selbst erzeugen. Diese DRAM's sind jedoch nicht ganz so stark verbreitet.

  • Zitat

    Original von Jogi
    Michael der 6529 ist auch nichts anderes wie die 373 374 175 u.w...
    irgend einen Fehler must du an deiner Schaltung haben....oder liegt es an deinen langen Leitungen....?

    Der letze Versuch war auf einem Cartridge. An langen Leitungen kann es da nicht mehr liegen.
    7400 : R/W im ersten Gatter invertiert und im zweiten Gatter mit PHI2 verknuepft. Das Ergebnis habe ich dann als WE verwendet. Das funktionierte bei mir nicht.
    Wenn ich einfach R/W an das SRAM lege, geht es ohne Probleme. Komisch ist das ... habe keine Erklaerung dafuer.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

    Einmal editiert, zuletzt von cbmhardware (27. Juli 2006 um 22:15)

  • x1541 (et al)
    hast Du das Minimaldesign denn mal testen koennen? Und SRAM braucht keinen Takt fuer refresh? Ich hab noch einige alte Module gefunden deren Steckleiste ich ohne Zerstoerung anzapfen kann. Also ich koennte sofort loslegen :)
    (mit einer Verzoegerung via Reichelt :)
    Ich will auf keinen Fall draengeln - ich hab Zeit. Aber wollte mein bestehendes Interesse kundtun :)
    Es gaebe auch mindestens einen zweiten (in Schweden) der das auch bauen wuerde :)
    Besten Gruss aus dem vermutlich einzigem Ort in dem nicht ein Tropfen Regen gefallen ist,
    Martin

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Kannst anfangen, das funktioniert :)

    Ich habe heute aus einem alten DEC-Server einen 74139 zur Gegenprobe ausgeloetet. Nun geht es damit.
    Den alten habe ich eben plattgetreten. :)

    Wenn Dir ein 8K-Standartmodul zu schade ist, koenntest Du ein 8bit-Baby verwenden. Musst dann aber reichlich verdrahten.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Hi Michael und Danke :)
    Aber er... so wie das neoram-layout da steht ist es mir noch ein wenig zu hoch - es sei denn es gibt nichts zu uebersehen.
    Wie ich schon schrieb, loete ich zwar gern wohl rum und an und ab aber nicht nach 'professionellen' Schaltbildern.
    Ich weiss diese in-den-A-schieben-mentalitaet ist mies, aber ich waere dankbar fuer eine Art walkthrough :) Also falls x1541 oder so die Zeit findest ein schaltplan in dem alles drin ist was es braucht und womoeglich batterie. Und dann gerne 512k - d.h. mit dem Sram von reichelt waere dann dann wenn ich das richtig sehe.
    Wenn in einerm Schaltbild Dreiecke auftauchen (nicht Dioden, das geht noch :) statt pin 1 <---> pin 14 und so, bin ich ueberfordert :(
    Beschaemend aber leider wahr wohl...
    Bin also fuer jede Hilfe dankbar...
    Gruss,
    Martin

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Tach !

    Es gibt doch spezielle Chips, die bei Spannungseinbruch (ausschalten) automatisch auf den Akku umschalten. Kostet nen Schiss. Der gibt sogar noch nen Taktsymbol raus. Weiss nicht, ob nman das braucht. Ist Dil 8 wenn ich mich recht entsinne.

    Wollte mir mal ne Karte bauen, 8K ROM, 8K RAM. Dafür hatte ich mich mal schlau gemacht und den Chip besorgt. Liegt bis jetzt nur rum.

    mfG Hucky

    Bitte melde dich an, um diesen Link zu sehen.

    Arcade: Twinliner, Fashion Vision,
    "Cosmic Guerilla" cocktail table
    Pins: Scared Stiff + Getaway
    C64, C65, C66, Gammel+Mist...

  • Zitat

    Original von enthusi
    Hi Michael und Danke :)
    Aber er... so wie das neoram-layout da steht ist es mir noch ein wenig zu hoch - es sei denn es gibt nichts zu uebersehen.
    Wie ich schon schrieb, loete ich zwar gern wohl rum und an und ab aber nicht nach 'professionellen' Schaltbildern.
    Ich weiss diese in-den-A-schieben-mentalitaet ist mies, aber ich waere dankbar fuer eine Art walkthrough :) Also falls x1541 oder so die Zeit findest ein schaltplan in dem alles drin ist was es braucht und womoeglich batterie. Und dann gerne 512k - d.h. mit dem Sram von reichelt waere dann dann wenn ich das richtig sehe.
    Wenn in einerm Schaltbild Dreiecke auftauchen (nicht Dioden, das geht noch :) statt pin 1 <---> pin 14 und so, bin ich ueberfordert :(

    Ideal waere wohl eine fertige Platine. Aber das ist wieder so eine Sache.
    Im Prinzip ist das ganz einach : Man kann zu jedem TTL und auch anderen Bauteilen ein PDF bekommen. Da steht das Pinout immer drin. Bei Standard-Bauteilen sieht das (fast) immer so aus :

    Nach diesen Schema kann man das Pinout abzaehlen.


    Fuer die Erhaltung des SRAMs wuerde ich eine 3.x Volt Batterie verwenden.
    Mit zwei Standart-Dioden (4148) wird dann die restliche Schaltung von der Stromversorgung des SRAMs isoliert.


    Zum Schaltplan :

    Dicke blaue Linien : Das sind gebuendelte Leitungen zu einem Bus. Die verwendeten Signale (z.B. D0-D7) stehen jeweils an den Bauteilen mit Pin-Nummer.

    Gruene Linien : Das sind einzelne Signalleitungen.

    Die Bauteile wirst Du so im passenden PDF finden.

    Zur Funktion :

    A0-A7 werden direkt an das SRAM gelegt. Das entspricht max. %11111111 also 256 Bytes. Genau dieses Fenster hast Du bei I/O1 $DE00-DEFF.
    Der 74139 wird in diesem Schaltplan in zwei Teilen dargestellt, da er auch 2 separate Bereiche hat.
    In dem ersten Bereich (siehe PDF) wird das WE-Signal fuer das SRAM erzeugt und zugleich der zweite Teil zur Aktivierung der Register (V4: 74373) durchgeschaltet.
    Da Du nur 256 Byte zugleich einblenden kannst, werden die oeberen Adressleitungen ueber die Register geschaltet. RA8-RA13 entsprechen den neuen A8-13 fuer das SRAM.
    Diese werden aus einem Byte in $DFFE dekodiert : Bit 1 ist RA8, Bit 2 ist RA9 usw. bis RA13.
    Nun haben wir schonmal einen 16KB-Block : %11111111111111. Im zweiten Register (V3) wird nochmals ein Byte aus $DFFF dekodiert. Hier befindet sich die Dekodierung fuer die Leitungen A14-A18, die wieder aus den Bits (D0-D4) dekodiert werden : RA14-RA18 sind dann die neuen A14-A18 fuer das SRAM.
    Nun haben wir maximal : %1111111111111111111 : 524287 Bytes, also volle 512Kb.
    Das findest Du im Schaltplan wieder. Nur die Dekodierung von I/O2 ist mit A0 nicht so ueppig. Ohne zusaetzliches Bauteil geht das aber nicht anders.


    Wenn Du das auf einem Standard-8K-Cartridge aufbauen willst : Du kannst D0-D7, Stromversorgung und die Adressleitungen so lassen. Wenn noch ein zusaetzliches IC drauf ist, sollte das besser runter.
    Ansonsten wuerde ich noch alle Leitungen durchsehen/messen, damit man spaeter nicht auf eine Ueberraschung trifft.

    Das 512Kb-RAM musst Du so einsetzen, das Pin 1 und 2 ueberstehen.
    Folgende Pins werden rausgebogen : 1-4 und 22-32. Da werden dann die neuen Adressleitungen (siehe weiter oben), +5V und ein paar andere Signale nach PDF und Schaltplan angeloetet.

    Im Sockel bleiben : A0-A7, VSS, D0-D7.

    Die zusaetzlichen Bauteile wuerde ich auf einen Rasterstreifen loeten. Das sind gebohrte Platinen mit CU-Streifen. Mit einem Messer lassen sich leicht Unterbrechungen reinschneiden.
    Zum Verbinden ist lackierter Spulendraht nicht schlecht. Wie auf dem Foto von Jogi.

    Korrigiert mich wenn ich irgendwo falsch liege..

    Wenn Du Fragen haben solltest, werden wir Dir das schon irgendwie verklickern.

    Hucky: Wenn man eine Batterie anklemmt, braucht man soetwas eigentlich nicht. Die puffert immer.


    Btw, meine 512Kb Version hat die ersten Bytes geschluckt und wieder ausgespuckt. Knoble noch an einer etwas verbesserten Dekodierung von I/O2, ansonsten ist es fertig. =)


    Zitat


    Beschaemend aber leider wahr wohl...
    Bin also fuer jede Hilfe dankbar...


    Viel schlimmer ist es, wenn man weiss wie es funktionieren sollte, und es dennoch nicht auf die Reihe bekommt. :)


    hth,
    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

    Einmal editiert, zuletzt von cbmhardware (28. Juli 2006 um 18:47)

  • Ich habe in dem bestehenden Bild Stromversorgung der ICs und Batteriepufferung für das SRAM nachgetragen. Bitte prüfen ob das so Sinn macht :)

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • Ja, prima. Ist aehnlich wie bei diesem Luxus-CMOS-Ding. Die hatten aber einen Akku drauf und dementsprechend D1 zum Laden mit einem Widerstand gebrueckt.

    Etwas anderes : Ich habe den 74139 eingespart, da ich die alten 6529 verwendet habe. War zu faul das Ding wieder auszuloeten.

    Ich habe es jedenfalls auf dem Papier wenigstens bis $DFFx gebracht :

    74138 : A:A4, B:A5, C:A6, G1:A7 und G2:I/O = Y7 ($DFFx)

    Wenn man nun noch einen 7400 einplant, koennte man Y7 und A0 invertieren und danach nochmals verknuepfen :

    Code
    Y7: 0  NAND = 1
                     >   NAND =0  (CS $DFFE) NAND* = 1 (CS $DFFF)
    A0: 0  NAND = 1


    Hoffe ist so verstaendlich. Das waere der fehlende Schritt zu den exakten Adressen.

    Das duerfte doch besser sein ? - Sind natuerlich 2 Bauteile mehr.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

    Einmal editiert, zuletzt von cbmhardware (28. Juli 2006 um 19:30)

  • Ich habe ja auch schon Möglichkeiten zur genaueren Dekodierung geprüft. Der Stein der Weisen ist mir auch noch nicht begegnet. Entweder ist der Aufwand zu gross (zu viele TTL) oder das Ergebnis passt nicht. Anforderungen sind ja wie folgt:
    - nur ein TTL
    - Dekodierung I/O2 in mindestens zwei Hälften zur Kompatibilität mit dem MMC64.

    Mit einem halben '139 geht es leider schon mal nicht. Dem fehlt ein Eingang für eine weitere Adressleitung ...

    Mit einem ganzen '138 ginge es, und damit den halben '139 aus dem Schaltbild ersetzen. Dann wäre der halbe '139 frei (kann man ja für die Ansteuerung von 2MB RAM brauchen). Ist so der einzige Kompromiss den ich finden kann. Leider ist dann keine Leitung mehr für ein Flash frei (entweder auch '138 nehmen oder nur 1,5MB RAM).

    Der '138 kann auch schon ziemlich weit dekodieren:
    1 S0 - A0
    2 S1 - A5
    3 S2 - A6
    4 /EN1 - /WE aus '139
    5 /EN2 - /IO2
    6 EN3 - A7

    damit bin ich schon auf DFE0-DFFF. Reicht eigentlich? Welche Ausgänge dann die Steuersignale für die Register haben müsste ich erst raussuchen ... /Y6 und /Y7 wahrscheinlich.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • Ja, $DFE0 klingt nicht schlecht. Kannst Du das noch nachtragen und etvl. mal ein Board routen ?

    Man bekommt dieses ganze Kneul kaum in ein Cartridge und mit Spulendraht hat man bei zwei Platinenteilen schnell einen "Poltergeist".

    Mit geht es bei den I/Os spezill um den MMC64. Meine GeoRam hat scheinbar Probleme damit. Muss mal testen ob die sich spiegelt.


    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • So, nochmal mein aktueller Kenntnisstand. Da es nicht wirklich mehr Bauteile braucht, habe ich den übrigen 1/2 '139 gleich zur Ansteuerung von bis zu 2MB RAM verwendet. Muss man ja nicht alle einbauen :) Im Prinzip muss man die nur alle übereinanderlöten und den /CS Pin freilassen und auf den '139 führen. Deshalb habe ich mich hier auch gar nicht verkünstelt.

    Eine Variante habe ich drin: Im Prinzip sind jetzt 4MB dekodiert. Die oberen (nicht vorhandenen) 2MB schalten aber den I/O1 ab. Ist doch auch nett, oder?

    Bevor es ans routen geht muss ich erst noch die Bauteile in Ordnung bringen. Ich habe mich erstmal nicht um die Bauform geschert ...

    Bitte melde dich an, um dieses Bild zu sehen.

    PS: Kommando zurück, so geht das noch nicht. /OE kann nicht direkt an IO2 hängen, da es zum Schreiben gar nicht gebraucht wird. So wird alles in die Bausteine geschrieben, was so an Schreibzyklen über den Bus geht. Ändere ich noch, kostet die Abschaltung von I/O1 ...

    PPS: Jetzt geht es vielleicht :) Ich habe die Abschaltmöglichkeit erhalten können, indem ich zusätzlich /WE der SRAMs über den ersten '139er ziehe. Dieses /WE kommt jetzt nur noch bei Zugriffen auf I/O1. Das andere /WE wird davon nur so beeinflusst, dass es nur noch ausserhalb I/O1 erzeugt wird, was ja nichts ausmacht.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • Hi X1541,


    wenn du bei V4 einen 175 nimmst sparst du 4 Pins..
    die zwei Register wird man eh nicht nehmen können ohne die Kompalität zum Georam zu verlieren..

    Gruß Jogi

  • Hat der 175 nicht nur 4 Bit? Das reicht nicht. Aber die Idee ist gut, der 378 wie auf der Original GEORAM hat 6 Bit und auch nur 16 pins.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • Hi X1541,

    heute ist nicht mein Tag ich meine den 174er. ist 6Bit...
    denn hab ich in meiner Mini Georam auch benutzt...Sorry...

    Ist in Zwischenzeit auch Akku gepuffert...:)

    Bitte melde dich an, um diesen Link zu sehen.

    Gruß Jogi

  • Ich habe meine Peruecke erstmal wieder zelegt. Ich warte das endgueltige Board ab. Die Funktion ist imo belegt.

    Ich werde ein Testprogramm schreiben. Oder gab es da schonmal etwas fuer die GeoRAM ?

    Vieleicht auch ein Basic-AddOn ... mal sehen ..

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

    Einmal editiert, zuletzt von cbmhardware (29. Juli 2006 um 19:35)