Revolution in the Valley

I been an avid read reader of folklore.org for a while now. Recently Andy Hertzfeld released a book that I’ve been meaning to buy.
But from the begining, I found this article to be the most interesting. Ever since I’ve been trying to figure out the execution address of the easter egg. Fortunately someone posted it. I’ve made some screen shots (from minivmac) for everyone to enjoy.

stolenfromapple.png

And a close up:

stolenfromapplecloseup.png

2001 Kia Rio

Last night, on my way home, my “Check Engine” light came on as I went thru the Caldacot tunnel. I decided not to stop and just continue for home. When I got home I read my owners manual and found out that light speciffically means: Something is wrong with the emmisions systems. There is no immediate danger, but the issues should be looked into as soon as possible. It also said that this light would go on is the gas cap was not tighten properly.
Hmm, I thought to myself, I should into that tomorrow morning.
This morning I decided to take my car into the shop. I went to our regular guy, and his building was empty! I called my friend to find out where he moved to and I could not get any signals on my cell phone. I drove to her house and she was not there. I drove back to my house and called here again.
This time we talked and she told me to “Make a u-turn at Shell and he is three doors down.” So I went up the street a little and made a u-turn the Shell gas station and didn’t find anything three doors down.
So I called her back and said as much. Debbie promptly informed me that I need to do a u-turn at Shell Avenue. D’oh. Shell Avenue is down the street the other way.
After I found the place I told the guy what had happened, and he asked me “When was the last time you got gas?”
“Monday morning”, I replied.
“Because if the gas cap is loose that light will come on.”
So we went to my car ad I turned the gas cap a little. It seemed tight as usual. So we talked about how I am at 59,900 miles and need service anyway. So we scheduled it for tomorrow morning.
When I started my car to go, the “Check Engine” light turned off.

Counting opcodes

A friend of mine recently asked me to write a disassembler for the hd6309 microprocessor. Since I had already taken the m6809 disassembler in MAME and reconfigured it into a 6309 disassembler I decided to start with that work.
It turned out to be pretty easy to deMAMEify the disassembler. But after I was done, how did I know I didn’t break it? So I decided to write some test code to disassemble every 6309 opcode, including every variation of 6309 opcode. I use the unix regex library to determine if the disassembly was correct. For every opcode of every addressing mode I write a pattern, and then compare it to the resulting disassemble.
So far I have 12 opcodes begin disassembled and this results in 4,011,927 different tests. And I already found numerous bugs from the original work. They’ll need to be back ported into the hd6309 MAME disassembler.
Now I am finishing this task just to see how many opcode variations there are!

New MAME Debugger

I am about half way through porting Aaron Giles new MAME debugger to MacMAME/MacMESS. It is really interesting, this is really my first exposure to Windows GUI programming. It is interesting the creating a window and creating a control in a window use the same function call, that’s different.

But with Mac OS X 10.3′s HIView API the two platforms have very similar C APIs. It is a case of: the function names have changed to protect the innocent constants.

I do like the all-in-one call Windows has that sets scroll bar properties.