Skip to content
Mr-PauI edited this page Jan 8, 2026 · 3 revisions

Welcome to the Walnut-CGB wiki!

Walnut-CGB is a performance oriented rewrite of Peanut-GB targeting 16-bit and 32-bit little endian MCU's(such as the ESP32-series). The largest architectural difference between the two projects is the CPU dispatch model.

16-bit and 32-bit DMA options are optional, 32-bit DMA is enabled by default. This provides the largest boost to DMA operations, but requires a 32-bit MCU. Alignment checks for 16/32-bit reads/writes are also optional but on by default. If your platform supports and has no penalty for unaligned reads/writes these can be disabled. Default Peanut-GB behaviour is to perform these operations in 8-bit. That behaviour can still be enabled by not using either DMA option flag.

If migrating from Peanut-GB there is a short explanation here.
Information on using the included extras/sgb.h & cgb.h with your implementation can be found here.

Clone this wiki locally