Peanut-GB icon indicating copy to clipboard operation
Peanut-GB copied to clipboard

A Game Boy (DMG) emulator single header library written in C99. Performance is prioritised over accuracy.

Results 40 Peanut-GB issues
Sort by recently updated
recently updated
newest added

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...

diff: complex
Performance

Work is being completed on the debugger branch. - [x] Frame stepping - [x] Instruction stepping - [ ] Memory viewer - [x] VRAM viewer - [x] Disassembly viewer -...

diff: complex

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...

enhancement
diff: intermediate
Performance

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...

enhancement
diff: complex
feat: crucial

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....

diff: complex
feat: low-impact
Performance

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...

enhancement
diff: intermediate
feat: medium
Performance

Insertion sort can be faster for small data.

enhancement

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...

diff: intermediate
feat: low-impact
Performance

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...

question

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...

bug