Fatboy was written for the purposes of learning about low-level programming, the C language and emulation in general for future projects. It took around a month and a half to complete, starting on 11/19/22 and releasing the first official version on 1/3/23. It utilizes SDL2 for visual and auditory output. A currently up to date release of the SDL2.dll is included.
It was extremely difficult, but I learned about an abundance of Computer Enginnering topics: Compilation, Interpretation, Display Rendering, Digital Audio Processing, Assembly Languages, General Software Development Workflow, etc. I'm very glad I decided to pursue this.
Compatible with all these titles and perhaps more, with minor auditory and visual bugs in pokémon Red.
You can either download the latest release or build the source code with make.
output:
gcc -I./src -ISDL2/Include -LSDL2/lib -o Fatboy src/*.c -lSDL2main -lSDL2 -lcomdlg32 -lgdi32
Keyboard | Gameboy |
---|---|
Enter | Start |
Shift | Select |
↑ | Up |
↓ | Down |
← | Left |
→ | Right |
X | A |
Z | B |
+ | Increase Volume |
- | Decrease Volume |
- CPU instruction emulation
- Audio emulation
- BG & OBJ Scanline Renderer
- Spritesheet, OAM, and TileMap display in View Tab
- Saving and File IO
- Accurate Sprite Priority Rendering
- Accurate Instruction Timing
- Accurate Window Scrolling
There is still work to be done in clearing up inaccuracies in my HALT opcode.