Over the past several weeks, it's been unusually hot and dry in northern Indiana, and I haven't been able to work on my platformer due to lack of opportunity to shoot footage from which to make character sprite graphics. (Sorry tokumaru.) So I decided to work on a different project, and when I can't make games, I make tools.
I discovered duplicate tiles in the background bank of Super Mario Bros.: $43 and $BB. Shame on you Nintendo for missing these!
And in the process of doing so, I created a nametable editor that runs on an NES. It already has these features:
- Draw on nametable using 8x8 pixel tiles from the pattern table and 16x16 pixel color areas
- Edit the background palette
- CHR optimization: remove duplicate tiles or unused tiles
- Create a .sav from a pattern table or nametable in a 2-bit PNG file
- Create a .sav from a PPU memory dump produced using FCEUX for Windows (Debug > Hex Editor, then File > Dump > PPU Memory) or other debugging NES emulators. Useful for getting title screens and the like.
- Export a drawing or just the tile sheet from a .sav to a PNG file
Code: Select all
THE SCREEN IS 30 ROWS OF 32 TILES, EACH 8 BY 8 PIXELS. A PICTURE CAN USE UP TO 256 DIFFERENT TILES. EACH 2 BY 2 TILE AREA CAN USE ONE OF FOUR COLOR SETS IN THE PALETTE. ALL COLOR SETS HAVE THREE COLORS PLUS A SHARED BACKGROUND COLOR.
The CHR optimization isn't very useful now, but it will be once I add a tile editor in a future release. The next things I plan are a way to build a slideshow ROM from multiple .sav files, a tile editor, and an OAM editor.
The FCEUX PPU dump does not cover scrolling, selection of background patterns from $0000 or $1000, raster effects, or OAM. Background pattern table selection and limited support for scrolling are in the PPU dump converter, but one needs the forthcoming FCEUX 2.1.6 to export OAM.