Home Journal Contact Me Tools Comments

Dig Journal


3/20/2011
Working on the "Game Programming on Everything" book. I am back to the Atari2600. I deployed the Missile Command initial disassembly.

1/26/2011
I bumped into FROTZ for iPod/iPhone/iPad. I began translating Madness and the Minotaur into zcode for play on my iPod touch. See the "Madness and the Minotaur" section for the source and zcode. Like so many things here it is a work in progress.

1/18/2011
Getting started back on ZELDA while I am waiting for Nintendo to release another game!

9/30/2010
Done with Space Invaders. I need a vacation.

9/21/2010
I finished commenting Space Invaders. It has been quite a challenge. I even found and verified a bug in the code. Now for the write-up.

7/30/2010
Making good progress in the Space Invaders dig. My original disassembly comments were not very good and often wrong. The work is slow going ... the code is like spagheti.

7/20/2010
I got an email from Joe Hagan with a code bug he found in Madness. I added that to the code and noted it in the write up. He also pointed out some typos in Madness and Frogger. Thanks Joe.

7/11/2010
I took a tangent into the Frogger sound board. Turns out there is hidden music in there, and you can hear a recording of it from the Frogger link. I took some time to compare/contrast all three sound boards with shared text in each of them. I also finished the Time Pilot specific discussion. I am just about burned out of sound board disassembly.

6/12/2010
I burned a LOT of time on the tool chain. I wrote the common disassembler framework for all the processors used here (excpet for the 8086 in STONED). There were lots and lots of mistakes in the disassemblies. There were places where the binary file didn't match up to the disassembly. Everything is in sync now. I can finally get back to actually doing disassembly!

6/4/2010
I am working on the java tool chain that generates the code and pages for this site. It is getting much better, but a lot of the pages will be broken for another week or so.

4/21/2010
I am knocking out the SpaceInvaders dig. I'll come back for Zelda. The SpaceInvaders disassembly text is in bad shape. I'm not sure what I used to disassemble that. The code is so fragmented. But the generated HTML version with the routine-names is helping a lot.

1/24/2010
Wow. The month has flown. I've been digging around in the Zelda sound code. It is all nice and tightly confined to bank 0, and a good bit of bank 0 is empty FFs. I've uncovered a lot of the individual sound effects and the songs. The code comments now include the names of the notes and the durations so pull out your piano and play along.

James Vanderhyde identified two of the sound effects. He is currently digging into Metroid. My biggest problems on this dig are 1) I never played the original and don't know what and seeing/hearing and 2) Zelda: Spirit Tracks on the DS is eating all my time!

12/23/2009
Now that I know the tile-numbers for the letters I wrote a program to look through the binary for strings of printed text. There are some interesting phrases mostly isolated to #2, #3, and #6. The "legend of Zelda" text is in 6.

12/18/2009
Making some progress in Zelda2.txt. Progress is slow.

12/07/2009
We watched the Nintendo Singers on Youtube again this weekend, and I preordered the new Zelda game for the DS. I have an old NES Zelda cartridge I bought to take apart and make my own NES game. The Zelda cartridge is a classic and it has a battery-backed memory area to play with. I decided to dig into the ROM a little bit. It's 128K. Thank goodness most of that appears to be data. The bank-switching process is really quite simple, and the disassembly should follow easily.

12/06/2009
I did some cleaning up in the SpaceInvaders code. I am going to make an 8080 emulator on the propeller chip and play SpaceInvaders on it. I need to finish the commenting to make that emulation easier to debug.

12/04/2009
I finished up the Bedlam discussion. That finally wraps up the Pyramid/RaakaTu/Bedlam trio. It was fun stuff, but I am ready to move on!

12/03/2009
I outlined the logic of the patrolling guards. That finishes up RaakaTu for now.

12/01/2009
I enhanced the DOCXToWeb utility. The Java program now reads DOCX files directly and creates simple HTML. The tool automatically creates a table-of-contents similar to the wiki. I added some discussion to Raaka Tu.

11/19/2009
I finished the "Arnstein" discussion following the evolution of the adventure-engine from Pyramid to RaakaTu to Bedlam.

11/1/2009
Finished the RAAKA-TU disassembly. There were several minor "upgrades" from RaakaTu to Bedlam. It is interesting to see the evolution.

10/31/2009
Finished the BEDLAM disassembly. I still have the write-up to do.

I made a few corrections to Madness and the Minotaur (thanks Joe Hagan)

10/8/2009
I have to suspend the BEDLAM dig for a couple of weeks to finish up a Circuit Cellar article. Stay tuned.

10/1/2009
The interpreted language in BEDLAM/RAAKATU is very rich. There are commands for storing variables. There is an IF/ELSE structure. I can't help but wonder if it wouldn't have been easier to just code it natively. Once I get the language processor disassembled I'll have to disassembled the interpreted code -- a double dig.

I am slowly deciphering the size of each command and the nesting of lists within lists. That allows me to run the java disassembler on the interpreted language and figure out what things do by the prints sprinkled through.

9/29/2009
What a stroke of luck! The character packing and printing follows the Pyramid2000 code almost to the opcode. That puts a huge crack in this nut. Now I can work backwards and find the print commands and then decode the packed strings themselves.

9/27/2009
I ran into one of my longest-known friends, Wendell Behel at the Big Spring Jam this weekend. He and I learned on the CoCo together long ago. We stood at the Jam recalling the early days. He mentioned the CoCo text game Bedlam, and that got me digging into the code.

I found the tables of input words and worked backwards to the using-code. Looks like there is a massive command scripting language within the game ... much more elaborate that Pyramid.

9/13/2009
Site is back up now after major reorganization. Different projects now live in their own subdirectories. This avoides name collision on the web but also makes it easier for me to work on separate projects locally. The TOOLS now include the javadocs.

9/8/2009
Worked a little on Atari Chess. I found the images and a couple of RAM uses. There is surprisingly little data in the code. Most of the ROM is code.

8/31/2009
I added the Chess dig to the Atari 2600 section. This chess program fits in 4K (half the size of Asteroids). How in the world did they make a chess AI player in so small a space?

8/30/2009
Better organized the dig tabs on the left of the main page.