Sunday, August 22, 2010

So, I'm successfully loading a rom into some sort of data structure. At this point, this is an array of bytes. In the case of my test rom this is an array of 40976 elements. I'm not completely certain this array is the best data structure to store this data. Nor am I at all certain what all of the data in the rom file means. However, I'm starting to figure it out.

I've been talking about roms a lot without really describing what they are. Roms are essentially a file that represents all of the data for a particular program. In the case of the NES, this would be all of the data from the cartridge that is inserted into the NES. Most of this data represents the program code, but also contained in the cartridge and in the rom file are the 8x8 pattern tiles that make up the visual portions of the game. It appears that most NES roms downloadable from the internet are stored in ines format. INES was an early NES emulator. I don't know very much about how it gained dominance in the NES rom market. However, my test rom appears to be in ines format, so this appears to be the format I will be supporting in my emulator. The .nes file I currently search for in the zipped rom is an ines file.

In a way I feel like I am going about this project backwards. I have not done any planning of the architecture for my code. I am not at all certain what it will look like when I'm done. In fact, I don't have the knowledge necessary to do this planning. Instead, I'm gathering this knowledge a I go. I'm concerned that decisions I make regarding the project without full knowledge will cause some portions to be written poorly and will likely need to be rewritten once I have a better understanding of the project.

bibliography:
http://wiki.nesdev.com/w/index.php/INES -- a nice introduction to the ines file format.
http://fms.komkon.org/EMUL8/HOWTO.html -- I am not reading anything too specific regarding nes emulation yet. This is a very high level guide to emulation.
http://www.cecs.csulb.edu/~hill/cecs497/nestreme/howto.html -- this is a pretty general introduction to NES emulation.

No comments:

Post a Comment