My first nes sample

This is the current state of my learning process. The file is located at the end of the post.

I started with Blarg's tutorials, took some code from the Wiki and tried to mix them together and see what happens. Of course, nothing was working (which is what I expected) and I had to debug it out to make it work. From debugging here and there I was able to have my first beep without a grey screen.


Then I started to test some code in the 6502 simulator (which is a nice little tool by the way) to understand more about 6502 assembly. This helped me to understand some of the bugs I had.


My first break was when I was able to show the content of the pattern table. Once I was able to show it, I tried to load some color to make it look better.


Now that I had data on the screen, I started to play with reading the joystick then scrolling. I was able to make it work so I decided to try to show some sprites.


I took some CHR-DATA from Bionic commando and tried to show one sprite on the screen. I was able to remake the sprite and I was happy by the results.


My problem was that now I wanted some data for my name table but I didn't have any. Making it by hand was tedious so I decided to start to work on a map editor (...). Because of that, I drifted away from my main project for a month without coding on my sample.


My map editor was going nowhere because I had no time to invest in it so I was a little mad about that. One day, while fooling around with Rocknes I found that I could dump most of the data located in memory. With that new knowledge, I decided to dump some of Bionic commando's name table data.


I decided to restart to program on my nes project. I took the name table dump and tried to show it on the screen. I was able to do it.


So is the current status of my experiments on the nes. here's the current file, source code included:


> file <