Peanut-GB
Peanut-GB copied to clipboard
A Game Boy (DMG) emulator single header library written in C99. Performance is prioritised over accuracy.
On consecutive reads, it may be faster to obtain a pointer to ROM data on a single call to gb_read, rather than calling gb_read for each byte read. The same...
Work is being completed on the debugger branch. - [x] Frame stepping - [x] Instruction stepping - [ ] Memory viewer - [x] VRAM viewer - [x] Disassembly viewer -...
The address of the DMA transfer is always within a specific memory boundary. So if the first address is in WRAM, then the last address is too. We can use...
I added CGB support here: https://github.com/froggestspirit/Peanut-GB I only really tested this with Pokemon Crystal, but seemed to work fine. I wasn't sure if you might want to merge it, or...
Before rendering a line on the LCD, use a fast checksum on the tile data for the line to check whether any tiles or sprites have changes for that line....
The LCD pixel data that Peanut-GB produces uses bits 0 and 1 for shade data, and bits 4 and 5 for layer data. If only bits 0-3 are used, then...
Insertion sort can be faster for small data.
Some checks, like the following NULL check, will either always be true or false depending on if the user application is implemented correctly. When using peanut-gb with LCD enabled, this...
Please comment whether Peanut-GB was able to play a game in a playable state or not. Any issues with playable games must be listed with a comment. Unplayable games must...
When the program turns on rendering by changing bit 7 of LCDC ($FF40) from 0 to 1, the PPU goes straight to the start of rendering (scanline 0) without sending...