0

Game Young Boy Cartridge Emulator använder STM32

February 18, 2022

Spel Unga pojkar kan vara gammal tech, men de erbjuder fortfarande utmaningar till moderna hackare. [Dhole] har kommit med en patronemulator som använder en STMICROELECTRONICS STM32F4 Discovery Board för att göra allt arbete. Hittills använde många flashpatroner programmerbara logiska enheter, antingen CPLD eller FPGAS för att hantera höghastighetslogikkraven. [Alex] visade att en mikrokontroller skulle kunna emulera en patron genom att använda en arduino för att visa “Nintendo” -spelet Young Boy Boot-logotypen. Arduino var inte tillräckligt snabbt för att faktiskt hantera höghastighetsåtkomst som krävs för spel.

[Dhole] sparkade hastigheten upp genom att flytta till ARM Cortex-M4 baserade 168 MHz STM32F4. F4s 70 GPIO-stift kan springa genom interna kringutrustning på upp till 100 MHz, vilket är mycket att hantera den 1 mhz klockhastigheten för spelpojkens buss. Logiknivåer är ett problem, eftersom STM32 använder 3.3V Logic medan spelet Young Boy är en 5V-enhet. Tack och lov är STM32s ingångar 5V toleranta, så det fungerade bra.

Enkelt spel Unga pojkepatroner som Tetris kunde direkt kartlägga en ROM-enhet i spelet Young Boys Memory Space. Mycket mer komplexa titlar använde Memory Block Controller (MBC) chips för att kartlägga sektioner av ROM och genomföra andra uppgifter. Det fanns flera MBC-chips som användes för olika titlar, men [Dhole] kan emulera MBC1, som är kompatibel med den största kodbasen.

En av de coolaste tricks [DHOLE] implementerad visade en anpassad bootlogo. Spelet Ung pojke använde “Nintendo” -logotypen som ett metod för upphovsrättsskydd. Om en patron inte hade logotypen, skulle spelet unga pojke inte springa. Logotypen läses faktiskt två gånger – en gång för att kontrollera upphovsrättsinfo, och en gång för att visa den på skärmen. Genom att berätta för emulatorn att ändra data som är tillgängliga hos de adresser efter den första läsningen kan varje grafik visas.

Om du undrar vad en patronemulator skulle vara till hjälp för (andra än piratkatalogen), borde du kolla in [Jeff Frohwein’s] Gameboy Dev-sida! [Jeff] har varit inblandad i spel Ung pojkeutveckling eftersom de tidiga dagarna. Det finns bokstavligen decennier av demos och homebrew-spel där ute för spelet ung pojke och olika derivat. .