emrsmsrli / gameboiadvance Goto Github PK
View Code? Open in Web Editor NEWA Gameboy Advance emulator that kinda works
License: GNU General Public License v3.0
A Gameboy Advance emulator that kinda works
License: GNU General Public License v3.0
Implement a full fledged disassembler.
Following format should be fine:
[address] | [instruction_dword] - [disassembly]
Implement these registers:
the game has a blending issue with the Maxis logo
Implement input controller as follows:
See this GBATEK section.
Rough TODO list:
Should show the contents of memory within a certain region.
Included regions taken from GBATEK:
General Internal Memory
00000000-00003FFF BIOS - System ROM
00004000-01FFFFFF Not used
02000000-0203FFFF WRAM - On-board Work RAM
02040000-02FFFFFF Not used
03000000-03007FFF WRAM - On-chip Work RAM
03008000-03FFFFFF Not used
04000000-040003FE I/O Register
04000400-04FFFFFF Not used
Internal Display Memory
05000000-050003FF BG/OBJ Palette RAM
05000400-05FFFFFF Not used
06000000-06017FFF VRAM - Video RAM
06018000-06FFFFFF Not used
07000000-070003FF OAM - OBJ Attributes
07000400-07FFFFFF Not used
External Memory (Game Pak)
08000000-09FFFFFF Game Pak ROM/FlashROM (max 32MB)
0A000000-0BFFFFFF Game Pak ROM/FlashROM (max 32MB)
0C000000-0DFFFFFF Game Pak ROM/FlashROM (max 32MB)
0E000000-0E00FFFF Game Pak SRAM
Should show gamepak metadata info.
Optionally show memory views of the Pak and the backup medium. Or alternatively they should be shown in memory debugger mentioned in #4
Mother 3 intro shows washed up colors and "press to start" objs are not being shown
game crashes when first game is picked to play
The game shows 4 empty rectangular shapes instead of SEGA logo on start
The game is hanging because of block transfer
Game reads etc without CMD, something must be broken with RTC impl
A list of TONC demos. Won't try to run them all correctly probably:
Game is crashing because of block data transfer cpsr load
Implement a debugger module which shows the current CPU state
Game crashes when "Sleep Mode" is selected in the options
This should be one of the hardest aspects of the emulator. Lots of things to do:
implement a stack based vector (or use PMR) for use in hot loops, where variable size container are needed (i.e block data transfer -> generate rlist)
Uno 52 and Uno Free Fall never transitions into main menu
KEYINPUT should be initialized with 0x03FF rather than 0x003F
Implement DMA mechanism https://problemkaputt.de/gbatek.htm#gbadmatransfers
When 3 channels are running simultaneously, the length field of the last one gets corrupted. this generally happens in the case of dma1(fifo) + dma2(fifo) + dma3(imm).
Take Mother 3 for example, it freezes the emulator on title screen, or shortly after the game begins
This issue tracks ARM7TDMI emulation
game sometimes runs too slow. should profile while running it
Mostly same with the GB sound. DMA and timers supply 2 channels, should be tricky to do.
game immediately crashes after bios
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.