Allereerst mijzelf even voorstellen; (tenslotte net geregistreerd)
Hallo beste mensen, ik heet Joshua en ik ben een tweede jaars elektrotechniek student.
Vanaf een jonge leeftijd toonde ik grote interesse in elektronische apparaten en heb die, tot de ongenoegen van mijn ouders, ook vaak uit elkaar gehaald
(zal de meeste wel bekend voorkomen haha)
<on-topic>
Een week geleden had ik op 'hackaday' een artikel gelezen over een persoon die met behulp van een logic analyzer erachter was gekomen hoe de (oude) gameboy met zijn LCD schermpje communiceerde.
Tot mijn genoegen kwam ik erachter dat de communicatie protocol heel erg overeen kwam met de VGA protocol, er wordt namelijk gebruik gemaakt van:
HSYNC
VSYNC
2 Data lijnen voor de grijswaarden
Pixelclock
De VSYNC is 60hz wat al redelijk gunstig is.
De 2 datalijnen kunnen met een DAC vastgemaakt worden aan de RGB pinnen.
De pixelclock wordt niet gebruikt in VGA is niet direct zichtbaar voor VGA.
De HSYNC vormt een probleem alhoewel; deze is 9.2kHz, terwijl het minimum voor VGA ruwweg 31.5 kHz is.
Nu was mijn idee om 2 'buffers' te gebruiken, een buffer die volgeschreven wordt door de gameboy en de ander die afgelezen wordt door de VGA connectie en dat deze van buffer wisselen om en om.
De buffers zorgen ervoor dat resolutie en HSYNC kloppend worden gemaakt.
Het schakelen tussen deze twee buffers zal worden gedaan door een 'T flip flop' die vast aan de VSYNC zit van de gameboy. Tevens zal de VSYNC van de gameboy direct verbonden worden aan de VGA connector (met opamp natuurlijk).
Mijn probleem nu momenteel is dat ik niet precies weet waar ik voor deze buffer moet zoeken.
Het zal waarschijnlijk in de vorm van een sync. 4kB fifo sram ic'tje zijn maar waar ik zo eentje vind :s?
tl;dr
Gameboy heeft intern een vergelijkbaar video protocol als VGA.
Alleen HSYNC heeft te lage freq, oplossing; buffers gebruiken.
Voor de buffers wil ik een 4kB fifo sync (s)ram IC'tje, waar kan ik deze vinden?
p.s.
http://flashingleds.wordpress.com/2010/10/26/intercepting-the-gameboy-… <- Gameboy scherm research
mr.stijntje
Een banaan schillen met een vork is slimmer dan een cactus pellen met een afwaskwast. ©Graafvaag
Interessante vraag.. Dus eigenlijk ben je op zoek naar een buffer waar op een simpele manier 4K data in geplaatst kan worden, om dat vervolgens tijdens het volgende frame rustig te verwerken en met de juiste HSYNC uit te sturen.
Je wilt dan twee van zulke buffers afwisselen zodat je geen frame mist en telkens de een leest terwijl de ander geschreven wordt.
Dit is als ik je verhaal (hier en via MSN) goed begrepen heb.
Een oplossing die mij zo te boven komt:
Gebruik een chip met 4K geheugen en een parallelle adresbus. Je moet dan een 12bit counter aansturen met de baudrate van je signaal. Deze counter selecteert het adres.
Die baudrate kun je misschien maken met een PLL in combinatie met de pixel clock lijn? Ik neem aan dat een pixel altijd evenveel bits heeft.
Als dit teveel hardware wordt kun je natuurlijk ook een CPLD/FPGA inzetten..