Skip to content

ChanellR/Fatboy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fatboy! 🙏🏾

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.

Demonstration Video

Watch the video

Screenshots

Compatible with all these titles and perhaps more, with minor auditory and visual bugs in pokémon Red.

Installation

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

Controls

Keyboard Gameboy
Enter Start
Shift Select
Up
Down
Left
Right
X A
Z B
+ Increase Volume
- Decrease Volume

TODO

  • 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

Tests

There is still work to be done in clearing up inaccuracies in my HALT opcode.

Historic README file

Notes.md

References