Hello, I am a 16 year old, programmer with 5 years of programming experience that wants to create a NES emulator. So far I have code that reads the headers (easy), and im pretty sure, the correct rom memory. I understand assembly programming concepts, and I know it seems like much for me, but I honestly feel that I am at this level. I have educated myself thoroughly before writing this post, and I have been writing many different types of tests dealing with rom images to prepare myself.
[iFirst off,[/i] let me ask you this... Is it possible to do all of my memory handling using the decimal system? For example, when I declare my memory array, may I declare it as memory(65536)? If not, I may be discouraged at writing this, because I want to start off in a basic language, one that I know well, and one that is very quick (Blitz Basic)
Second off, I have read all of the available 6502 documents, as well as NES-related documents, and I have yet to know what a trainer is?
Third, does the memory-from-rom-file to memory-array transfer start immediately after bytes 8-15 in the rom file (those 'unused' values)?
Four, It is fully possible to write a working emulator without emulating the graphics and sound, right? Like, I can complete the core before i show anything on the screen?
Ok, one last one, I promise:
I loaded 'Super Mario Bros (E).nes' into memory, and from what i can tell, it starts off with the following in the PRG ram: $D0 $11
If any of you could tell me if this is correct, I would be happy. I am not sure how to tell if the stuff I am loading is in the correct spaces or not, but i'm sure that this performs "BNE $11" (in the assembly form)
I hope you guys dont mind to answer my questions. And if I seem to have the wrong perception on some things, feel free to lead me on the right path.
Thank you VERY much in advance.
[iFirst off,[/i] let me ask you this... Is it possible to do all of my memory handling using the decimal system? For example, when I declare my memory array, may I declare it as memory(65536)? If not, I may be discouraged at writing this, because I want to start off in a basic language, one that I know well, and one that is very quick (Blitz Basic)
Second off, I have read all of the available 6502 documents, as well as NES-related documents, and I have yet to know what a trainer is?
Third, does the memory-from-rom-file to memory-array transfer start immediately after bytes 8-15 in the rom file (those 'unused' values)?
Four, It is fully possible to write a working emulator without emulating the graphics and sound, right? Like, I can complete the core before i show anything on the screen?
Ok, one last one, I promise:
I loaded 'Super Mario Bros (E).nes' into memory, and from what i can tell, it starts off with the following in the PRG ram: $D0 $11
If any of you could tell me if this is correct, I would be happy. I am not sure how to tell if the stuff I am loading is in the correct spaces or not, but i'm sure that this performs "BNE $11" (in the assembly form)
I hope you guys dont mind to answer my questions. And if I seem to have the wrong perception on some things, feel free to lead me on the right path.
Thank you VERY much in advance.