Ultimate Game Boy Advance Mod

Deze mod begon allemaal op een voormiddag op een rommelmarkt centrum Gent. Als kind (en als volwassene) heb ik steeds een passie gehad voor retro gameconsoles. In mijn jonge jaren was ik het gelukkigste kind met een eigen Game Boy Classic of zoals iedereen deze kent als “de groten grijzen bak”. Jammer genoeg waren die dingen niet goedkoop, dus toen de Game Boy Advance op de markt kwam, kon ik er geen krijgen. Schaarse, harde tijden.

     

20 jaar later liep ik op die rommelmarkt en kon ik deze bij een standje op de kop tikken voor enkele euro’s. Het enige dat ik wel moest doen, was het scherm vervangen en de behuizing vernieuwen. Dus eenmaal thuisgekomen ging ik eBay op en ontdekte ik Monster Arcade. Iemand die allerlei Game Boy-onderdelen verkocht. Daar tikte ik een shell op de kop met de kleur “Raichu-yellow” voor een kleine 13 USD. Ook een plastic lens, stickertje met serienummer en een speciale schroevendraaier-set bestelde ik daarbij. Nadat alles toegekomen was volgde ik een video op YouTube die netjes stap voor stap toonde wat er moest gebeuren.

 

Natuurlijk blijft het nooit bij 1 video op YouTube. Dus na wat doorklikken kwam ik uit op een community die soms tot in het extreme ging als het neerkwam op Game Boy-modding. Dit leek me leuk te doen, dus ik begon op te zoeken. Wat iedereen doet is een Game Boy Advance SP – ook wel gekend als “de klapper – opengooien, het scherm eruit halen en met minimaal solderen in de Game Boy Advance plaatsen. Een scherm van een SP is namelijk verlicht. Dit staat gekend als een Backlit-mod. Een andere populaire mod is dan een afterburner. Hier gaat men ledjes of een verlichte bescherm-lens op de Game Boy plaatsen zodat het scherm zichtbaar is in het donker.

Ik wou echter nog een stapje verder. Ik had op de Duitse website ProblemKaputt de datasheets en blueprints gevonden van alles dat je maar van een Game Boy Advance kan te weten komen. Dit is van de standaard technische data (welke hardware er in zit) tot hoe de dataoverdracht gebeurt. Ook ben ik op de website RetroModding uitgekomen waar ze veel custom onderdelen verkopen. Het is daar dat ik uiteindelijk mijn Game Boy Micro AAC-mod heb gekocht voor een betere geluidskwaliteit.

Naast beter geluid, heb ik nog vele dingen gedaan. Ik ben begonnen met te zoeken wat ik sowieso wou, namelijk een HD-scherm. Ik ben uitgekomen op een klein online bedrijf “Screen Slicers”. Na veel heen en weer gemail heb ik een HD-scherm toegekregen van 40,8mm x 61,2mm. Het scherm had een resolutie van 1056×704 met een 3:2 ratio. Erbij geleverd zat ook een kleine adapter zodat het scherm in de socket van het moederbord zou passen. Na testen merkte ik dat het (uiteraard) niet werkte. Het lichtte enkel op.

 

Een probleem hier was het grafische geheugen en de processor. De standaard-processor van een Game Boy Advance draait op een maximum clock van 16,8MHz. Dit was veel te weinig. Naast de grafische buffer, moet er ook data verwerkt worden van het spelletje dat gespeeld wordt. Na lang zoeken heb ik een alternatieve processor op de kop kunnen tikken uit China. Dit was een 32bit-microCPU die gemaakt werd om replica’s van de Nintendo 64 aan te drijven.  Deze heeft een clock van 62.5MHz (beweren ze).

     

Na de CPU aan te passen, ben ik begonnen aan het geheugen. Aan het intern geheugen kon ik niet veel doen qua vergroten, maar ik zag wel op een datasheet dat de Game Boy Advance ook extern geheugen gebruikt. Namelijk 256KB DRAM. Dit is dan uiteindelijk vervangen door een 1280KB DRAM-chip waarvan 768KB gebruik wordt als het oorspronkelijk extern geheugen en 512KB als dedicated VRAM. Dit was een aanzienlijke vergroting van de grafische buffer. Hierdoor was er – na lang proberen – eindelijk een soepele display. Als je je afvraagt hoe je dit doet, moet je de EEPROM-chip in de Game Boy Advance verbinden met je computer via een Multiboot-cable met GameLink aansluiting. Let wel op! Je MOET kennis hebben van Assembler. Zonder deze programmeertaal is het niet mogelijk! Voor diegenen die het wel kennen, is het redelijk gemakkelijk. Voor je extern geheugen toe te kennen, moet je zoeken naar “SZE 255, INT 21H, 17A” hier verander je de “256” naar “768”. Voor het VRAM-gedeelte ga je op zoek waar er naar het extern geheugen gesprongen wordt bij een volle buffer. Die pointer pas je aan naar de adresplaats waar je dedicated geheugen begint. Dit is normaal “SZE 256, INT 21H, 22F”.

Ook raad ik aan altijd eerst te testen in een Game Boy Advance emulator. Daarna pas ROM-flashen!

Nadat alle prep-werk gedaan is, zette ik de Game Boy Advance terug in elkaar. Hieronder kan je een video zien van de eerste keer dat ik de Game Boy opstart. Ook spreek ik over een custom cartridge. Deze zal ik toelichten in mijn volgende post.

Geraadpleegde forums, websites, webshops, …: