24kB RAM Cartdridge für CBM 710/720

  • Hallo.


    Verschiedene CBM2 Programme erfordern eine 24kB Speichererweiterung in der Bank 15. Dazu gab es wohl ein Cartridge von

    Commodore. Hat das schonmal jemand nachgebaut ? Hat jemand die Gerber-Files oder gar ein komplettes Modul zum Verkauf ?


    Vielen Dank !


    Gruß Jan

  • Verschiedene CBM2 Programme erfordern eine 24kB Speichererweiterung in der Bank 15. Dazu gab es wohl ein Cartridge von

    Commodore.

    soweit ich mich erinnern kann, gabs die nicht von commodore.
    ich hatte beides, ram und (ep)rom versionen.

    gruß

    helmut

  • Ich hab bei Zimmers verschiedene Software runtergeladen und ich nutze am 710 ein Pet2SD, das funktioniert ganz gut. Diese wedge Programm läuft zwar nicht, aber es geht ja auch mit open-Befehlen. Leider ist mein 710er jetzt kaputt gegangen. Im Netzteil ist ein Kurzschluß. Die Netzfilter wurden vom Vorbesitzer bereits erneuert. Ich habe die 2200µF Elkos der 5V Schiene in Verdacht, ich mach jetzt erstmal ein recap und dann gehts weiter...


    Dieses Modul als RAM Erweiterung braucht man zB für:


    - JCL Workshop & Assembler

    - Scott´s B-Mon


    Außerdem kann man ja die RAM Chips entfernen und ein Eprom einsetzen und das Teil als Programm Modul einsetzen.


    Hier hab ich was gefunden, aber leider out of stock... Ich werde den Verkäufer einfach mal anschreiben.


    24K Ram Expansion Cartridge for Commodore B Series by DrShock on Tindie
    This cartridge will add 24KB of RAM expansion to bank 15, via the cartridge port, into user memory map space.
    www.tindie.com


    Gruß Jan

  • Ich bin mir nicht sicher, ob das so zuverlässig funktioniert.

    Am Cartridge-Port liegt SR/W an.

    Da auf dem Cart kein Logik-IC verbaut ist, wird das wohl direkt an die SRAMs gehen.

    Das interne SRAM in Bank 15 bekommt an R/W aber EXTBUFR/W - Das ist SR/W zusätzlich mit Phi1 verknüpft.


    Zusätzlich liegt am Cartridge-Port Phi2 an. Ich kann mir gut vorstellen, daß das mit einbezogen werden muß.

    Hierzu kann axorp vermutlich handfestere Informationen liefern. :)

    +++ ATH

  • Meinst du, die Karte funktioniert nicht richtig als ROM Cart oder als RAM Cart ? Ich habe mir den Schaltplan des cbm2 mainboards noch nicht genau angeschaut. Aber am Pinout des cartslots sind die 3 Chipselect Leitungen für die 3 8kb Bänke. Deswegen ist vermutlich auf dem Modul keinerlei Logikgedöhns drauf ?!


    Gruss Jan

  • Ich konnte mich dunkel erinnern, mich mit dem Thema schonmal befasst zu haben.

    Die entsprechende Notiz habe ich eben wiedergefunden.

    Mein Gedanke war, ein 32K SRAM zu verwenden statt drei 8K. Ist günstiger und kann mehr.

    Um die zusätzlichen 8K nicht brach liegen zu lassen, ist ein Schalter eingeplant,

    mit dem einer der 8K Bereiche doppelt belegt werden kann:

    Wenn man ein Timekeeper SRAM nimmt, und die Adressierung passend sortiert,

    kann man sich die Echtzeituhr in den umschaltbaren Bereich legen.


    Außerdem wird R/W mit Phi2 verknüft, und ein Schreibschutzschalter war auch angedacht:

  • Zusätzlich liegt am Cartridge-Port Phi2 an. Ich kann mir gut vorstellen, daß das mit einbezogen werden muß.

    ja

    Für ROM/EPROM ist das völlig OK, bei RAM bin ich mir da nicht so sicher.

    mit RAM ohne phi2 (phi1) zu benutzen gibt es probleme.


    die 8kx8 6264 srams haben aber zwei cs-pins (andere srams haben nur einen cs-pin).


    die 8kx8 haben einen low und einen high aktiven cs-pin.
    so vermute ich, das beide da in dem modul benutzt wurden. so habe ich es damals auch gemacht.

    Außerdem wird R/W mit Phi2 verknüft, und ein Schreibschutzschalter war auch angedacht:

    ja, da die 32kx8 und andere srams mit nur einem cs-pin benötigen dann diese zusatzschaltung.
    phi2 (phi1) verknüpft entweder mit r/w oder dem cs signal.

    lg

    helmut

  • ich hatte beides, ram und (ep)rom versionen.

    die eprom version wurde z.b. für die proxa7000 benutzt.


    in den eproms war das komplette 8032 betriebssystem.

    so hatte man direkt nach dem einschalten eines cbm700er den 8832 / 8032 (8096 / 8296) modus.

    und man musste es nicht erst von der diskette laden.


    die ram version gab es auch mit einem akku, so hatte man eine eprom emu / emulation.

    so konnte man selbst jederzeit nachladen und der inhalt blieb erhalten, ohne eproms zu programmieren.

    ich hatte auch module mit bankswitching, damit man größere programme oder daten speichern konnte.

    die eprom emu (ram türmchen) gab es aber auch schon vorher für die anderen (commodore) rechner.

    gruß
    helmut

    Einmal editiert, zuletzt von axorp ()

  • Vielen Dank für die Infos ! Also bei Tindie war ich nicht in der Lage den Verkäufer an zu schreiben, da kamen immer Fehler. Wenn ich die Tage Zeit habe werde ich einfach mal selber mal was entwerfen in Eagle. Wenn man drei SRAM Bausteine benutzt wird das Dingen wirklich sehr teuer.. Das mit dem 32kb RAM/Timekeeper is wirklich ne gute Idee ! Mal schauen, wie man das unter einen Hut bekommt.. :)


    Vielen Dank !


    Gruß Jan

  • Das mit dem 32kb RAM/Timekeeper is wirklich ne gute Idee ! Mal schauen, wie man das unter einen Hut bekommt.. :)

    hallo jan,

    dafür habe ich mir extra die neue generation der nvsram oder der mrams in smd zugelegt.
    in dem ic chip ist ein sram und ein eeprom verbaut und die datenrettung erfolgt automatisch.
    und durch das interne sram ist es auch so schnell wie ein normales ram und beliebig oft beschreibbar.

    damit man auch ganz kleine ersatzteil oder experimentier speicher adapter hat, die nicht größer sind als das

    original rom / prom / eprom / eeprom / flash usw.

    und man benötigt dann inzwischen keinen akku oder eine batterie.

    ich habe mir die mit 64kbit 8k x 8 zugelegt, da die meisten alten roms, in den ganzen alten geräten
    und auch bei commodore nicht größer als 8kb sind.

    so sind die nvsrams / mrams ideal als eprom emulator oder für reparaturen,
    da sie einfach, ohne einen programmer und schnell (programmiert / gebrannt ;) ) befüllt werden können.

    so gehören die eprom / ersatzteil speicher adapter auch zu meinen wichtigsten adaptern für z.b.
    die wiederbelebung der alten schätzchen. aber auch ideal zum experimentieren und für programmerstellung
    oder dem beliebigen nachladen eines kernels / betriebssystems usw.

    gruß
    helmut

  • Ich bin gerade bei der Planung des Moduls mit dem 32kb timekeeper flash. Unterhalb der 3 Cartridge-Bänke haben wir ja noch die 4k für das Disk-ROM und die 2k für das ext. Buffer RAM frei. Wollte Commodore da ursprünglich mal das Floppy-DOS integrieren ? Was bedeutet das mit dem ext. Buffer RAM ?

    Diesen leeren Platz könnte man ja auch für das RAM Cart einbinden.


    Gruß Jan

  • Das ext. Buffer RAM ist z.B. auf der 8088 Karte vorhanden, wenn ich das richtig erinnere. Wird demach gebraucht, wenn die 8088 läuft.

    Der Disk-ROM Bereich war für die interne Floppy gedacht, die es ja nicht bis in die Realität geschafft hat. Der Bereich wird also normalerweise garnicht genutzt.


    Von Cartridge Port aus sind aber nur die Bereiche verwendbar, die auch über die vorhandenen /CS Leitungen vorgesehen sind.

    Der Rest kann nicht ausdekodiert werden, da die hohen Adressleitungen und die Bank-Adressleitungen nicht vorhanden sind.

  • Ah ja, du hast Recht, wegen dem Bankswitching kann ich diesen RAM-Bereich nicht direkt adressieren bzw. decodieren ohne die passende CS-Leitung.



    Gruß Jan

  • Ich habe gestern Abend den Schaltplan des Moduls im Eagle teilweise erstellt. Die Adresslogik habe ich im Logik-Simulator skizziert. Der Speicherbaustein ist ein M48T35 timekeeper SRAM. Dieser hat eine Speicherkapazität von 32kb. Der CBM2 kann an seinem Cartridgeport allerdings nur 3 Bänke zu je 8kb ansprechen. Deswegen wird es einen Schalter geben, mit dem man zwischen Bank 3 und Bank 4 umschalten kann.

    Die Uhrzeit befindet sich BCD codiert im obersten Bereich der Bank 4, ebenso wie das dementsprechende Controllregister. Falls irgendein CBM-Programm die Bank 3 komplette benötigt (keine Ahnung, ob es ein solches Programm gibt), muß der Wahlschalter auf Bank 3 stehen, da in Bank 4 die Register der Echtzeituhr stören würden.

    Den Anschluß /G des Speicherchips habe ich dauerhaft auf low gelegt. /E kann nur auf low gezogen werden, wenn PHI2 auf high ist. Hier mal die Skizzen. Für Verbesserungen/Anregungen/Ergänzungen bin ich natürlich dankbar.. :)



    Hier erstmal in inaktivem Zustand. Die Glühbirnen bei A13 müsst ihr euch als eine einzige vorstellen, ich konnte die irgendwie nicht koppeln.




    Bank 1 aktiv. Wenn PHI2 high ist und CSBank1 low, geht enable auf low. Die untersten 8kb können nun adressiert werden.




    Bank 2 aktiv. Wenn PHI2 high ist und CSBank2 low, geht enable auf low und Adressbit 13 auf high. Die nächsten 8kb können nun adressiert werden.




    Bank 3 aktiv. Wenn PHI2 high ist und CSBank3 low, geht enable auf low und Adressbit 14 auf high. Die nächsten 8 kb können nun adressiert werden.



    Mehr kann der Commodore an dieser Stelle nicht adressieren. So sollten die 3 Bänke ansprechbar sein und durch die Synchronisation mit PHI2 das timing auch stimmen. Zu guter Letzt noch das Schaltbild, wenn in Bank3 seitens des Commodores die letzten 8kb (inkl Uhr) verwendet werden sollen. Ich nenne sie einfach mal Bank4.




    Bank 4 aktiv. Wenn PHI2 high ist und CSBank3 low, geht enable auf low und Adressbit 14 auf high. Der Wahlschalter ist eingeschaltet, durch ein weiteres UND-Gatter sind jetzt Adressbit 13 und 14 auf high. Es können jetzt weitere 8kb verwendet werden und eine batteriegepufferte Echtzeituhr.




    Gruß Jan

  • Ja, es war mir in dem Programm nicht möglich, die 2 Kabel an eine Glühbirne an zuschließen, da ist gedanklich nur eine Glühbirne, a die zwei Kabel gehen. Ich ändere das 3-fache UND-Gatter noch in zwei 2-fache ab, dann komme ich auf 3 Logikchips + den Speicherchip.

    Deine Schaltung von oben habe ich nicht verwendet, weil ich sie anscheinend nicht verstanden habe - wenn Bank1 und Bank2 high sind, also nicht aktiv, dann würde durch das UND-Gatter Bit 14 auf high, also in dem Fall aktiv, geschaltet werden.


    Gruß Jan

  • Ja ok, du hast natürlich Recht. Ich montiere an die Stelle ein Oder-Gatter und gehe mit dem Ausgang auf diese Glühbirne.


    Gruss Jan

  • So, ich habe es korrigiert. Adressbit 13 is jetzt nur noch 1 Glühbirne, anstatt 2 und der Kurzschluß wäre mit der neuen Schaltung auch beseitigt.. :)




    Aber ich denke, so kann man es jetzt lassen ?! Andererseits - Das sind das AND-Gatter, NOT-Gatter, NAND-Gatter, OR-Gatter und XOR-Gatter. Also 5 Logikchips + dem Speicherchip. Ich denke mal, mit einem PAL oder GAL könnte man das wesentlich eleganter lösen. Mein Programmer (Beeprog2) kann diese zwar beschreiben, aber mit der Programmierung hab ich mich nie befasst. Vielleicht kann ja hier einer diese Logik in ein passendes GAL programmieren ?!



    Gruß Jan