Hallo, ich möchte mit einem8-fach DIP-Switch das Bank-Switching machen. Wie muss die Schaltung dazu aussehen ?? gruß, thomas
ich habe "ein" flash programm das verschiedene HW versionen und filter verwendet. dieses müss aber vor programm start schon festgelegt sein. in der anzeige steht dann von 00-FF alles, also alle 256 möglichkeiten der 8 DIP schalter. wie kann so etwas realisiert oder möglich sein. sind doch nicht etwa 256 progs oder ?? gruß, thomas
Wie breit ist deine Adressbus bzw. wieviel Speicherplatz brauchst du für deine HW Versionen und Filter?
adressbus [21..0] Speicherplatz weiss ich leider nicht ... das programm ist nur funktionsfähig compiliert vorliegend, ich das cpld im prinzip kopieren, ist aber schriebgeschützt .. :(
ich verstehe nicht wo das Problem ist? Nimm einfach deinen dip schalter und schließe ihn an die hohen address pins des flash speichers an [21..13], dann verbinde [12..0] mit dem gerät das code ausführen soll und fertig! Dann hast du 256 pages zu je 4096 bytes die du per dip schalter auswählen kannst, du musst nur sicherstellen, das das Gerät welches das Programm ausführt beim umschalten auch reseted wird oder noch im reset status ist.
das gerät ist übrigens ein Gameboy und der benötigt Adresse[15:0] für die Programmabfrage. Also hab ich nur 6 freie Leitung zur Verfügung.
Was genau baust du denn? eine flash karte für deinen gameboy? Warum benutzt du noch einen alten gameboy? der GBA ist viel besser und einfacher zu programmieren :P Naja egal, also wenn er soviel Addressraum benötigt kannst du halt nur 64 bänke machen und brauchst einen 6-fach DIP-Schalter oder du nimmst einen größeren Speicher der mehr address-leitungen hat. Dein Speicher scheint ja 2 Mb groß zu sein und jedes gameboy ROM ist dann 32kb groß (32kb * 64 bänke = 2048kb) Das Prinzip ist halt das du die hohen address-signale über schalter anwählst um damit die pages um zu schalten, der Gameboy bekommt davon nix mit und befindet sich dann auf einmal ganz woanders im Speicher ohne es zu merken, deshalb bekommst du bestimmt auch ganz lustige Ergebnisse wenn du während des Betriebes die DIP-Schalter betätigst ;) Ich bin selber dabei eine Speicherkarte für einen Pokemon Mini zum laufen zu bekommen (http://pokeme.shizzle.it/), das ist noch etwas komplizierter dank multiplexed address bus. Bankswitching hat die zwar noch nicht aber ich möchte das im CPLD machen, den ich bereits für das ent-multiplexing benutze, weil das halt eleganter ist als DIP-Schalter (bei einer CPLD lösung muss das Bankswitching aber auch im Programm-Code erfolgen, zB durch eine Kombination aus mehreren Lese- und Schreibzugriffen (So wird das normalerweise gehandhabt)).
1: Ich nutze den GBA 2: Ich nutze den GBA mit multiplexed Bus (funktioniert) 3: Ich weiss nicht, ob die DIP-Schalter bei meinem (ich habe nur eine kompilierte Fassung) Programm was mit dem Bank-Switching zu tun haben oder wozu die dienen. Ich weiss nur, dass sie alle 8 irgendetwas bewirken und zwar umschaltung von filtern, HW-Versionen, Flash-Burner starten etc .... und auch beim aufstarten nach dem GB Logo eine unterschiedlich Version anzeigen (Ox XX, also von 00-FF) Gruß, thomas
tja dann kann ich dir auch nicht weiter helfen. warum willst du dir sowas überhaupt selber bauen? es gibt doch gute GBA flash karten für wenig geld. Ich hatte mal eine F2A Ultra 256 mbit karte, aber die hab ich irgendwie zusammen mit meinen GBA verloren :(
sowas kann man nicht kaufen ... ich will doch daten von extern da rein bringen !! und dann zB als tacho usw an mein fahrrad bauen !! gruß, thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.