Now that I
have finished my 6502 emulation section, it is time to decide what to do next.
As I have mentioned a few times, my blog is a bit behind where I am with my
work on the emulator. What I tend to do is work on the emulator writing
articles as I go and then only post an article every fortnight. The reason for
doing this is that I knew that my University work (I am currently enrolled in a
Master of Science in Computer Science program while working part time) would be
taking a lot of my time so I wanted to make sure that I would have material to
post. My plan was to also have the blog follow my development down all the
ratholes that it leads down. I am rethinking that now as the sound emulation
took me down a really windy rathole. To make my blog a bit more coherent, I
will be editing my rathole and presenting the information in a bit more structured
way.
For those
of you who are wondering about the state of my emulator, the graphical portion
of the TIA chip has been completed. I still need to implement the sound, which has
led me down the random number generation path as the TIA sound generator is
based on a LFSR (Looped Feedback Shift Register). After the sound is either
implemented or muted, I will be synching the TIA and 6502 chips then
implementing the PIA at which point the emulator will be finished.
Before I
get to the TIA, I am going to take a bit of a dive into 6502 programming and
random number generation by creating several different random number generators
for the 6502 and some test games for the 2600. These test games will be used to
test our emulator but will likely also result in changes to the assembler I
wrote as I discover issues while creating these games. For the people who are
interested in creating games for the 2600, this will be a good break. For those
of you who are more interested in the emulator, remember that Test Driven
Development dictates that you write your tests first so I am simply following TDD
principles here.
My delve
into random number generation will start first with a rather in-depth look at a
particular paper on the subject. This is partially because the paper does a
really good job of explaining all the key concepts that are necessary for the
creation of a random number generator but mostly because I am presenting the
paper as part of my one of my courses so can effectively kill two birds with
one stone. This will give a basis for random number generation but then we look
at what can actually be done with the rather limited capabilities of the 2600.
We will then look at a few techniques that have been used in games while creating
one or more games that use those techniques. This will give us a test library
for the emulator while also demonstrating what is necessary to create a 2600
game.
No comments:
Post a Comment