Monochrome bitmap graphics demo

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Monochrome bitmap graphics demo
by on (#180177)
I've been experimenting with rendering full screen bitmaps on the NES without complex mappers. The viewport is 224x240 pixels. This demo uses the BattleToads AOROM cartridge, but the only feature of the cartridge that I need is the CHR-RAM.

It pushes 368 bytes of data to the PPU every frame, in 8 byte chunks, which adds up to 46 changed tiles. That should be plenty to make a 4-way scrolling engine and update character tiles. To do scrolling on the Y axis, I have a variable-length delay routine based on DMC IRQs, but I've been manually figuring out the right combination of sample rates and busy waiting for each scanline. I need to find a formula and generate it instead. It will support PAL and NTSC systems, but for now it only works with NTSC.

Thanks to tepples, tokumaru, Bregalad, and many others of the nesdev community, for figuring out the concepts required to implement something like this. This topic explores displaying a full-screen bitmap with CHR-RAM. This topic explores using the DMC as a video timer.