Hmm aber wie bastle ich mir dann zB für den C64 oder Amiga 500 einen Mehrfachumschalter zum ROM switchen? ![]()
How to: Mehrfachumschalter zum ROM switchen[ aus eprom wo kaufen]
-
ir6Oixah -
17. April 2025 um 22:11 -
Erledigt
Es gibt 36 Antworten in diesem Thema, welches 2.174 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Eine ganz frühe Version
Bitte melde dich an, um diesen Link zu sehen.
-
Hmm aber wie bastle ich mir dann zB für den C64 oder Amiga 500 einen Mehrfachumschalter zum ROM switchen?

der weg ist immer gleich, egal für welches gerät.
so habe ich es schon so beim commodore PET und allen nachfolgegeräten und allen anderen geräten gemacht.
gehen wir mal von einem c64 aus.
und wir nehmen das kernal rom,
welches 64kbit = 8Kbyte groß ist.
so hat man 13 adressleitungen von A0 bis A12 (für 1, 2, 4 ,8, 16, 32, 64, 128 ,256, 512, 1024, 2048, 4096)
nun gibt es verschiedene möglichkeiten.
1. wenn man zwei der 64Kbit = 8kbyte = 27x64 eproms nehmen würde.
muss man den eprom /OE pin an einen pullup widerstand legen und den gegen masse zwischen den eproms umschalten. das /CS signal, welches von dem board kommt, geht an die /CS signal, der eproms.
möchte man z.b. eine 8fach umschaltung haben, dann benötigte man damals 8x 27x64 eproms, 8x pullup widerstände (2,2K bis 10 kohm), an jedem /OE pin und eine 8 fach stufenschalter.
so machte man es damals, da es größere eproms noch nicht gab oder die viel teurer waren als zwei kleinere eproms.
2. inzwischen gibt es sehr große speicher bausteine = eproms, eeproms, flashs, nvrams (sram mit bastterie).
um eine 8 fach kernal umschalter mit nur einem speicher baustein zu bauen, benötigt man mindestens 8x 8KB = 8x 64kbit, also einen 512 kbit typ = 27x512. oder 28x512, 29x512, 39x512 usw.
(oder aber größer.)
die haben dann noch zusätzliche adressleitungen um den speicherbereich auch adressieren zu können.
512 kbit hat A0 bis A15.
die A0 bis A12 kommen ja vom c64 board, der dekodierte = benutzte 8kb bereich.
A13, A14 und A15 legen wir über einen pullup widerstand auf +5V.
so machen es viele, ich aber oft nicht. weil ich die auf GND lege, dazu sagt man dann pulldown
an A13, A14 und A15 kommen dann drei jumper oder dip-schalter oder ein bcd-schalter.
so hat man dann 8 möglichkeiten (0 bis 7) um das passende kernal (rom) auszuwählen.
ich baute oft auch noch eine 7-segment anzeige mit dazu.
wenn du noch größere eproms benutzt, als benötigt und pullups,
dann musst du deinen 64 kbyte bereich ganz oben hin speichern und der untere, der unbenutzte bereich, bleibt frei oder man kopiert den kleineren inhalt, bis das eprom voll belegt ist. bringt aber nichts.
wenn man pulldown widerstände benutzt, dann kopiert man, den inhalt, ab der erste adresse, rein.
und man muss sich um nichts kümmern. der rest dahinter bleibt leer und später kann man es einfach erweitern und ohne das eprom löschen zu müssen, nachprogrammieren.
es hört sich, für einen anfänger kompliziert an, so zeichen ich etwas und presentiere es hier später.
viel spass beim basteln.
gruß
helmut
edit........
Bitte melde dich an, um diesen Anhang zu sehen. -
Alles anzeigen
Hmm aber wie bastle ich mir dann zB für den C64 oder Amiga 500 einen Mehrfachumschalter zum ROM switchen?

der weg ist immer gleich, egal für welches gerät.
so habe ich es schon so beim commodore PET und allen nachfolgegeräten und allen anderen geräten gemacht.
gehen wir mal von einem c64 aus.
und wir nehmen das kernal rom,
welches 64kbit = 8Kbyte groß ist.
so hat man 13 adressleitungen von A0 bis A12 (für 1, 2, 4 ,8, 16, 32, 64, 128 ,256, 512, 1024, 2048, 4096)
nun gibt es verschiedene möglichkeiten.
1. wenn man zwei der 64Kbit = 8kbyte = 27x64 eproms nehmen würde.
muss man den eprom /OE pin an einen pullup widerstand legen und den gegen masse zwischen den eproms umschalten. das /CS signal, welches von dem board kommt, geht an die /CS signal, der eproms.
möchte man z.b. eine 8fach umschaltung haben, dann benötigte man damals 8x 27x64 eproms, 8x pullup widerstände (2,2K bis 10 kohm), an jedem /OE pin und eine 8 fach stufenschalter.
so machte man es damals, da es größere eproms noch nicht gab oder die viel teurer waren als zwei kleinere eproms.
2. inzwischen gibt es sehr große speicher bausteine = eproms, eeproms, flashs, nvrams (sram mit bastterie).
um eine 8 fach kernal umschalter mit nur einem speicher baustein zu bauen, benötigt man mindestens 8x 8KB = 8x 64kbit, also einen 512 kbit typ = 27x512. oder 28x512, 29x512, 39x512 usw.
(oder aber größer.)
die haben dann noch zusätzliche adressleitungen um den speicherbereich auch adressieren zu können.
512 kbit hat A0 bis A15.
die A0 bis A12 kommen ja vom c64 board, der dekodierte = benutzte 8kb bereich.
A13, A14 und A15 legen wir über einen pullup widerstand auf +5V.
so machen es viele, ich aber oft nicht. weil ich die auf GND lege, dazu sagt man dann pulldown
an A13, A14 und A15 kommen dann drei jumper oder dip-schalter oder ein bcd-schalter.
so hat man dann 8 möglichkeiten (0 bis 7) um das passende kernal (rom) auszuwählen.
ich baute oft auch noch eine 7-segment anzeige mit dazu.
wenn du noch größere eproms benutzt, als benötigt und pullups,
dann musst du deinen 64 kbyte bereich ganz oben hin speichern und der untere, der unbenutzte bereich, bleibt frei oder man kopiert den kleineren inhalt, bis das eprom voll belegt ist. bringt aber nichts.
wenn man pulldown widerstände benutzt, dann kopiert man, den inhalt, ab der erste adresse, rein.
und man muss sich um nichts kümmern. der rest dahinter bleibt leer und später kann man es einfach erweitern und ohne das eprom löschen zu müssen, nachprogrammieren.
es hört sich, für einen anfänger kompliziert an, so zeichen ich etwas und presentiere es hier später.
viel spass beim basteln.
gruß
helmut
edit........
Bitte melde dich an, um diesen Anhang zu sehen.Vielen Dank für die umfangreiche Erklärung Helmut. Puh ja da tu ich mir schwer das zu verstehen.
"Geheimtipp":
in Handy Desinfektionsboxen sind tw. passende UV Röhren drin. Funktioniert topp! Habe selbst eine für unter 10€ bekommen, die im Beitrag gezeigte "Samsung":
Bitte melde dich an, um diesen Link zu sehen.
Oh danke das sieht aber vernünftig aus.


Klein, günstig und handlich.
-
Puh ja da tu ich mir schwer das zu verstehen.
ich wollte es ja erklären, wie es funktioniert.
wenn man sich meine zeichnung ansieht, da kann man sehen, es sind nur schalter oder jumper und widerstände vorhanden.
um das ganze zu verwirklichen.
mit dem tip, doch vielleicht auch mal pulldowns zu verwenden, anstatt den pullups
was ich kaum oder garnicht so gesehen habe.
es aber sinnvoll ist, den eprom usw. speicher ab der adresse 0000 doch zu benutzen und zu betrachten
-
Alles anzeigen
Puh ja da tu ich mir schwer das zu verstehen.
ich wollte es ja erklären, wie es funktioniert.
wenn man sich meine zeichnung ansieht, da kann man sehen, es sind nur schalter oder jumper und widerstände vorhanden.
um das ganze zu verwirklichen.
mit dem tip, doch vielleicht auch mal pulldowns zu verwenden, anstatt den pullups
was ich kaum oder garnicht so gesehen habe.
es aber sinnvoll ist, den eprom usw. speicher ab der adresse 0000 doch zu benutzen und zu betrachten
Ja ein bisschen erkenne ich wohl an der Zeichnung, aber trotzdem nicht so einfach. Mal suchen welche Fertigbau Sachen es so gibt. Aber naja für ein paar Geräte das zu kaufen ist dann doch etwas kostspielig.

-
Mal suchen welche Fertigbau Sachen es so gibt. Aber naja für ein paar Geräte das zu kaufen ist dann doch etwas kostspielig.

dafür benötigst du keine platine, das kannst du auch um das eprom herum verdrahten

da hat einer schon bilder, von solchen kunstwerken oben presentiert, so machte ich es, auf die schnelle auch oft.
trotzdem gab es natürlich fertige adapter dann, um z.b. eine 7-segment anzeige auch benutzen zu können.
aber auch noch andere spielereien.
gruß
helmut -
Ein kleines Display wäre ein Gimmik,
wo angezeigt wird welcher Kernel grade eingeschaltet ist.
-
Ein kleines Display wäre ein Gimmik,
wo angezeigt wird welcher Kernel grade eingeschaltet ist.
ja gehört zu meinem rom (z.b. 23xxx) und eprom ersatzteil und ersatz adapter als standart möglichkeit schon mit dazu.
genauso wie das ersetzen aller 24, 28 und 32 pin rom typen, möglichst alle versionen, die alle hersteller der welt, in den letzten 50 jahre, hergestellt haben.
so ist es auch klar, auch für alle 23xxx variationen von commodore.
mit mehreren pins und möglichkeinten, für die high und low aktiven cs pins.
die standart version, kann 4 der cs pins verwalten.
dann die möglichkeit von dem bank switching. dem umschalten der rom banks.z.b. wie hier besprochen der kernal umschaltung aber auch jedem anderem rom oder betriebssystems.
wo man, mit dem optional aufgestektem display, das ausgewählte (kernal) anzeigen kann.
dann die möglichkeit von meinem multi rom ersatz.
wo dann so ein adapter gleich mehrere roms / eproms gleichzeitig mit ersetzen kann.
die automatische bank umschaltung machen dann die verschiedenen cs pins.
so kann man dann mehrere roms, in einem gerät, durch einen meiner adapter gleichzeitig ersetzen.
in dem man die verschiedenen cs pins, der anderen roms, als umschaltsignal benutzt.
so kann man z.b. bei dem c64, alle roms in eins packen und cs-kernal, cs-basic und cs-charom macht dann automatisch die umschaltung zu der entsprechenden bank in dem nur einem adapter.
so etwas gab es schon hier. ich mache aber alles, was ich da hier beschrieben habe mit einem einzigen adapter und alles ohne spezial ics, also auch ohne ein GAL.
und ein paar der spielereien noch mit dazu.
ich wollte möglichst einen universal rom / eprom ersatz verwirklichen, der alles machen kann, woran ich so dachte und was es bis jetzt so immer noch nicht gibt. obwohl ich in den letzten ca. 13 jahren schon vieles erwähnt habe.
ich suche mal später nach meiner zeichnung mit dem 7-segment display teil.
oder es schicken mir die leute, denen ich meine schaltungen als anregung oder zum hoffentlichen verwirklichen eines layouts für mich, bereits zugesendet habe, dann an meine email. dann müsste ich nicht suchen.
gruß
helmut -
Alles anzeigen
Mal suchen welche Fertigbau Sachen es so gibt. Aber naja für ein paar Geräte das zu kaufen ist dann doch etwas kostspielig.

dafür benötigst du keine platine, das kannst du auch um das eprom herum verdrahten

da hat einer schon bilder, von solchen kunstwerken oben presentiert, so machte ich es, auf die schnelle auch oft.
trotzdem gab es natürlich fertige adapter dann, um z.b. eine 7-segment anzeige auch benutzen zu können.
aber auch noch andere spielereien.
gruß
helmutOK ja würde mir auch reichen, vielleicht hast du ja mal ein Foto von deinen Adaptern.

Ein kleines Display wäre ein Gimmik,
wo angezeigt wird welcher Kernel grade eingeschaltet ist.
Ja klänge schon verlockend sowas zu haben.
-
OK ja würde mir auch reichen, vielleicht hast du ja mal ein Foto von deinen Adaptern.

es gibt keine fotos, weil aus dem layout, der letzten ca. 12 jahre, immer noch nichts geworden ist.
ich habe nur schaltpläne und zeichnungen da an andere gesendet.
so hoffe ich, es meldet sich einer und ich muss nicht meine unterlagern im keller suchen. -
OK ja würde mir auch reichen, vielleicht hast du ja mal ein Foto von deinen Adaptern.

es gibt keine fotos, weil aus dem layout, der letzten ca. 12 jahre, immer noch nichts geworden ist.
ich habe nur schaltpläne und zeichnungen da an andere gesendet.
so hoffe ich, es meldet sich einer und ich muss nicht meine unterlagern im keller suchen.Ah verstehe.
-
einer hat mir meinen schaltplan gesendet. so musste ich nicht suchen gehen.
Bitte melde dich an, um diesen Anhang zu sehen.
hier der ausschnitt mit dem 7-segment hucke pack display aufgesteckt auf dem multi-switch oder dem multi-rom adapter.
welches man abnehmen und woanders verbauen kann.
gruß
helmut -
Alles anzeigen
einer hat mir meinen schaltplan gesendet. so musste ich nicht suchen gehen.
Bitte melde dich an, um diesen Anhang zu sehen.
hier der ausschnitt mit dem 7-segment hucke pack display aufgesteckt auf dem multi-switch oder dem multi-rom adapter.
welches man abnehmen und woanders verbauen kann.
gruß
helmutOh danke sieht toll aus.

-
Wie ist das eigentlich bei den ganzen Umschaltern wo ich zwischen zwei oder mehreren ROMS umschalten kann, wenn ich da während des Betriebs den Schalter versehentlich umschalte? Stirbt dann der IC oder trägt das Board oder die Komponenten eventuell einen Schaden davon?
-
wenn ich da während des Betriebs den Schalter versehentlich umschalte?
Stirbt dann der IC oder trägt das Board oder die Komponenten eventuell einen Schaden davon?
im c64 geht nichts kaputt.
da es keine wichtigen signale gibt, wo z.b. spannungen, motoren oder andere dinge gesteuert werde.was zu 99%, der rechner hängt sich auf.
wenn umgeschalten wird, wenn gerade die cpu, in diesem speicherbereich am werken ist.
schaltet man, in dem moment, wo die cpu, diesen bereich nicht benutzt.
passiert was immer nichts und der rechner funktioniert dann weiter.
so habe ich damals, für meine kunden, die von mir erweiterte commodore boards, für z.b. maschinensteuerungen benutzt haben, eine rom / eprom / kernal umschaltung gebaut, die erst die umschaltung frei gab, wenn die cpu, diesen bereich nicht benutzte.
benutzt man aber bereiche und routinen, die nach der umschaltung nicht mehr vorhanden sind, muss man natürlich dafür sorgen, das es trotzdem problemlos weiter geht.
für meine kunden, die z.b. meine umgebauten c64 boards benutzten habe ich oft die pla umprogrammiert.
da eine kompatibilität bewust vermieden werden sollte, damit die konkurenz, nicht so einfach etwas nachbauen kann. an keinem dieser boards wurde geschpielt
so konnte ich z.b. die pla eingänge, für die modul erkennung zweckentfremden.
so habe ich dann /exrom, /game, /romL und /romH für mich benutzt.
und keiner der auf so ein board schaute, konnte meine tricks durchschauen.
den im sockel der pla, steckte eine für die normale pla 82s100.
so benutzte ich die eingänge /exrom und /game auch zum umschalten von rom / eprom erweiterungen.
ich benutzte auch gerne die cpu port ausgänge, für manche tricks. die ja auch zu der pla gehen. so konnte ich alles so verwalten, wie ich wollte.
es gab auch c64 boards, von mir, wo die pla auf einem zwischenadapter steckte.auf dem war ein 74s138 oder 74f138 oder 74as138. seine ausgänge, ersetzten die cs-signale zum board.
so benötigte ich nur drei pla ausgänge um dann die 7 cs-signale, die zum board gehen, zu verwirklichen.
nun konnte ich die dadurch freien pla ausgänge, /casram, /basic, /kernal, /charom, /io, roml und romh, für andere schöne sachen benutzen. nur den ausgang GR/W habe ich so gelassen.
deswegen staune ich, das es keiner so macht, bei einem pla ersatz.
warum man zwei gals benutzt, wenn es mit einem gal und einem 74hc138 viel preiswerter und universeller geht.
so hätte man sogar noch pins frei, für eine umschaltung oder für signale, die einem bei einer reparatur viel helfen würden.
gruß
helmut -
deswegen staune ich, das es keiner so macht, bei einem pla ersatz.
warum man zwei gals benutzt, wenn es mit einem gal und einem 74hc138 viel preiswerter und universeller geht.Die Schwierigkeit ist das Timing richtig hinzubekommen... siehe Epro-PLA. Die läuft zwar mit dem richtigen Eprom, hat aber ein leit abweichendes Timing und maccht dann je nachdem Probleme (ohne das jetzt hier weiter vertiefen zu wollen)
-
Epro-PLA
ich kenne es nicht, falls es einen schaltplan gibt, würde ich es mir mal ansehen.
als ich damals es machte, musste ich die damals schnellen 74s138 oder 74f138 oder die 74as138 benutzen. da die viel schneller arbeiten als die normalen und preiswerten 74ls138.
da die gals, viel schneller sind, als die alte 82s100 pla, hat man sogar, bei manchen der signale nun probleme in der dekodierung, das die zu früh, also zu schnell kommen. so wäre ein 74hc138 oder ein 74hct138 nun kein problem.
auch der nicht ttl kompatibler 74hc138 würde keine probleme machen, denn es werden nicht ttl signal pegel an seinen eingängen benutzt, sondern die 3 binär dekodierten leitungen aus dem gal. woras dann ja der 74hc(t)138 dann die bis zu 8 normale und ttl kompatible signale macht. denn ein 74hc... ic hat auch immer ttl kompatible ausgänge, wie ein 74hct ic. nur bei den eingangssignalen muss man bei einem 74hc ic aufpassen.
lg
helmut
edit.....ein weiteres ic, an dem gal ausgang, hier mein trick mit dem 74138, hilft sogar das schnelle signal, aus dem gal, für die schaltung im c64, zu verlangsamen
wenn es nicht ausreichen würde, hätte ich noch ein paar tricks, die man anstellen könnte
ganz zu schweigen, so etwas zu untersuchen, woran es gegenüber der original pla und an welchem signal es liegen würde, so etwas liebte ich damals, für andere, mit meinen tricks, zu unteruschen, so übernahm damals manch einer die auch gerne, so auch leute bei commodore
edit.....
auch dabei würde meine minimal version (a) 4040 schaltung helfen
-
ich kenne es nicht, falls es einen schaltplan gibt, würde ich es mir mal ansehen.
Kein Problem. Bitte melde dich an, um diesen Anhang zu sehen.
ganz zu schweigen, so etwas zu untersuchen,
Das hier kennt du aber schon ?
Bitte melde dich an, um diesen Link zu sehen.
aber wir schweien vom eigentlichen Thema ab... wenn du das näher besprechen willst dann sollten wir einen neuen Thread aufmachen....
BTT
-
Alles anzeigen
wenn ich da während des Betriebs den Schalter versehentlich umschalte?
Stirbt dann der IC oder trägt das Board oder die Komponenten eventuell einen Schaden davon?
im c64 geht nichts kaputt.
da es keine wichtigen signale gibt, wo z.b. spannungen, motoren oder andere dinge gesteuert werde.was zu 99%, der rechner hängt sich auf.
wenn umgeschalten wird, wenn gerade die cpu, in diesem speicherbereich am werken ist.
schaltet man, in dem moment, wo die cpu, diesen bereich nicht benutzt.
passiert was immer nichts und der rechner funktioniert dann weiter.
so habe ich damals, für meine kunden, die von mir erweiterte commodore boards, für z.b. maschinensteuerungen benutzt haben, eine rom / eprom / kernal umschaltung gebaut, die erst die umschaltung frei gab, wenn die cpu, diesen bereich nicht benutzte.
benutzt man aber bereiche und routinen, die nach der umschaltung nicht mehr vorhanden sind, muss man natürlich dafür sorgen, das es trotzdem problemlos weiter geht.
für meine kunden, die z.b. meine umgebauten c64 boards benutzten habe ich oft die pla umprogrammiert.
da eine kompatibilität bewust vermieden werden sollte, damit die konkurenz, nicht so einfach etwas nachbauen kann. an keinem dieser boards wurde geschpielt
so konnte ich z.b. die pla eingänge, für die modul erkennung zweckentfremden.
so habe ich dann /exrom, /game, /romL und /romH für mich benutzt.
und keiner der auf so ein board schaute, konnte meine tricks durchschauen.
den im sockel der pla, steckte eine für die normale pla 82s100.
so benutzte ich die eingänge /exrom und /game auch zum umschalten von rom / eprom erweiterungen.
ich benutzte auch gerne die cpu port ausgänge, für manche tricks. die ja auch zu der pla gehen. so konnte ich alles so verwalten, wie ich wollte.
es gab auch c64 boards, von mir, wo die pla auf einem zwischenadapter steckte.auf dem war ein 74s138 oder 74f138 oder 74as138. seine ausgänge, ersetzten die cs-signale zum board.
so benötigte ich nur drei pla ausgänge um dann die 7 cs-signale, die zum board gehen, zu verwirklichen.
nun konnte ich die dadurch freien pla ausgänge, /casram, /basic, /kernal, /charom, /io, roml und romh, für andere schöne sachen benutzen. nur den ausgang GR/W habe ich so gelassen.
deswegen staune ich, das es keiner so macht, bei einem pla ersatz.
warum man zwei gals benutzt, wenn es mit einem gal und einem 74hc138 viel preiswerter und universeller geht.
so hätte man sogar noch pins frei, für eine umschaltung oder für signale, die einem bei einer reparatur viel helfen würden.
gruß
helmutOK vielen Dank für die Erklärungen Helmut. Verhält sich das zum Beispiel Amiga 500 genau so oder könnte da was kaputt gehen beim Umschalten während des Betriebs?
-