RB3 Version 1.1.1 Release
Another weekend has gone, and I have been busy tying loose ends on Red Block Blue Block (RB3). I am happy to say that I now have RB3 at a stable state. This is the official release of RB3 Version 1.1.1.
It is not flashy, it is not epic, but it is a start. All in all, my primary goal was accomplished: I created a NES game completely in the 6502 assembly language.
From a high level, there are some screen fades, basic collision, and dynamic graphic updates. And at a low level, I have organized some reusable code, figured out the NES memory map, and tinkered with PPU raster effects. These concepts, by themselves, are enough for most of your simple games. And, below I have briefly summarized the features in RB3 v1.1.1.
- screen fading by switching the color palette between four levels of “saturation”
- the “Parkes Games” splash screen, the title screen, and the game screen
- a super simple scoring system (one point per hit)
- collision for the blocks and boundary detection
- a global timer
- tons of code cleanup (huge thanks to 3GenGames at nintendoage)
Fixed CHR-ROM Graphics Corruption
This bug took some outside help to fix. Techincally, the CHR-ROM was getting corrupted which was causing graphics glitches. But in more simple terms, timing inconsistencies were causing background tiles to be drawn at an incorrect time (leaving them in a dirty state). This was not revealed until I tested RB3 on real hardware. Thanks to some advice from 3GenGames, I rewrote the area of code which handled drawing the tiles to the screen, and the bug was fixed!
I have also embedded a short video of RB3 running on my NES.
Now that I am finished with this first version of RB3, I am back to the pencil and paper. In the next version, I hope to actually create a light plot and add some real entertainment value.