Cartridge till gammal bärbar spelkonsoll: Gamate

Berätta om dina pågående projekt.
Användarvisningsbild
adent
Inlägg: 4094
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av adent »

Hejhopp!

Har i två år haft en tanke om att bygga en "pirat"-cartridge till den gamla bärbara spel-konsollen Gamate. Det finns svjv bara en sådan
i dagsläget och den ska inte vara så bra. Det finns en emulator till Mame för Gamate dock, så folk har helt klart reverse-engineerat
allt och läst ut spelen.

På wikipedia: https://en.wikipedia.org/wiki/Gamate

Det finns även en mycket bra beskrivning på hur den utför sin startup-sekvens och förhandlar mellan consolen och cartridgen, en textfil på det vilda Internet. Jag har den sparad om någon mot förmodan skulle vara intresserad.

Min första tanke var att bara sätta en snabb CPU, typ en STM32:a på kortet och låta den emulera parallellt ROM/flash. Men jag
är lite orolig för att inte hinna. Bussklockan på Gamate:n är trots allt 2MHz. Dessutom kan spelen vara upp till 512kB så lagring
blir ett problem.

Min senaste tanke till schema är alltså:

Gamate adress/data-buss <=> 5V/3.3V levelshifters <=> CPLD <=> 512kB parallellt RAM.

Utöver det ovan blir det en parallell eller seriell buss mellan CPLD och en MCU (STM32 eller AVR).
Till MCU:n ansluts ett SD-kort. För att kunna ladda upp spel/program i RAM från SD-kort

Jag har aldrig programmerat en CPLD innan, men har fått låna ett labbkort och gjort ett första test, det verkar lovande.
Så det första jag tänker göra är att CAD:a ett kort med levelshifters, samt CPLD på och mycket breakout-pinnar.

På så vis kan jag börja med att få igång CPLD:n och implementera kopieringsskydds-kretsfunktionaliteten.

Det slutgiltiga målet är att skapa ett demo för Gamate:n och ställa upp i Wild-compot på Gerp något år!

Men min första fråga är:

Har någon tips på bra kompakt (ytmonterad) tvåvägs levelshifter? Behöver 8 pinnar till databussen.
För adressbuss och övriga signaler räcker det med envägs levelshifter. Tips?

Kommer rapportera framsteg (och motgångar) i denna tråd.

MVH: Mikael
Användarvisningsbild
Glenn
Inlägg: 33667
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av Glenn »

Eller så använder du en CPLD som kör 5V logiknivåer ?

Iofs verkar tex xilinx fasat ut sina 5V-enheter, jag skaffade ett gäng av 5V-varianten till ett projekt för spectravideo jag håller (läs: höll) på med för att slippa krångla med levelshifters.

(Dom nya är 5V-toleranta men hög är ju mer 3.3V-hög än 5V-hög..)
Zhorts
Inlägg: 217
Blev medlem: 15 augusti 2011, 14:42:03

Re: Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av Zhorts »

Eftersom du behöver dubbelriktad kommunikation på databussen (antar jag?) så blir det en smula knepigare. Normalt sett så räcker det med en icke-inverterare med open collector-utgång, finns massor för just detta användningsområde. Finns även kretsar som tål 5V på ingången men har 3.3V matning (och utgång). Det omvända är enklare, antingen fungerar det att köra 3.3V in på 5V-ingången direkt, eller så hittar man en 5V icke-inverterare med tillräckligt inspänningsområde (tillräckligt låg V_IH).

Exempelvis: https://www.ti.com/lit/ds/symlink/txb0108.pdf ?
Liten brasklapp om att använda dessa: De känner automagiskt själva av datariktning. Det är jättebra, tills det kommer in en liten störning som får den att tro att data är på väg åt andra hållet. Då sitter plötsligt två utgångsdrivare ihop, och kanske inte håller med om vilken nivå som är rätt -> I värsta fall kan det bli väldigt varmt. Oftast blir det "bara" datafel.
Användarvisningsbild
adent
Inlägg: 4094
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av adent »

Glenn: Det är en lösning som jag funderat på, men då måste jag även hitta någon form av RAM på 512kB eller mer som går på 5V paralllellbuss, så då är det lika bra att ta tjuren vid hornen och göra omvandlingen direkt så blir resten konsekvent 3.3V tänkte jag.

Zhorts: Jo det finns ett gäng, jag tänkte om nån hade erfarenhet av någon och som provat den i något projekt med ungefär samma klocka (2MHz). Jo tvåvägaren är lite lurig. Kanske kan man använda R/W-signalen för att bestämma riktning, men vore skönt med nån som sköter sig själv. Vill helst inte bränna konsolen.

MVH: Mikael
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Re: Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av Hedis »

Det är inte så enkelt att den accepterar 3,3v som hög trots att det ursprungligen var designat för 5v?
Isf. skulle du ju klara dig med elektronik som är 5v tolerant.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Cartridge till gammal bärbar spelkonsoll: Gamate

Inlägg av Swech »

Envägs löser du med 2.2k i serie med 3.3k resistorer t.ex. 0603 blir kompakt och bra.

tvåvägs SN74LVC8T245DWR

Swech
Skriv svar