I was bored one day and decided I wanted to write my own NES emulator.
So I started looking for information on the NES. I found out it uses a modified 6502 processor, that has added function for sound. Found some info on the PPU and started hacking away.
The CPU Emulation is basically done, and works fine, lately I have been working at getting video up and running..
Ive been busy with finals in the last little while so its not finished, but I figured I would put up some screens anyways.
NES outputs data in 8*8 pixel tiles, so the first thing I did was make sure I was outputting the correct tiles.
I did this by having the emulator "run" in the terminal.... kinda amusing, im definitley going to leave support for this in the final version
If you use your imagination you can see the title screen in the terminal window. Super mario bros does
this weird thing where it stores the machine code to display the "SMB" logo and the copyright underneath
it in the section of cartridge rom that stores the background images. for some reason this doesn't work yet
ill figure it out at some point...
Sorry for the huge images
Then I went from that, to having simple OPENGL output. NES has 64 possible colors, but I only supported 4 in this demo to see if it was handling scanlines right.
This version is the latest (from about a week ago). It supports all colors now, but due to a bug in how I am
handling the attribute table of the background it is only using 4! Still neat to have output though
More updates as I keep working on this coming up this week sometime