Toorcamp 2012 installation.
RobotronMeetingJun11
RobotronMeetingJun25
RobotronComponents
Technical Notes
MAME/Robotron
Some notes originally from here:
http://seanriddle.com/robob.dat
are over here:
http://pastebin.com/7dhftVgF
The interesting/different parts:
- label 983F jjp - holds current player number (1 or 2)
- label 9848 jjp - turns to a 1 immediately upon death, back to 0 during regular gameplay
- program counter 310d btr - This is hit on every player death
- program counter 3112 btr - This is hit on game end
- program counter 3130 btr - This is hit on a player death that is not the game over death
- program counter 6f15&e868 -- Crappy notifications that a new highscore has been entered. The highscores are stored in NVRAM which is CC00-CFFF. All-time scores start around CC90, and current heros start around CDB0. A copy of nvram is written to disk in the nvram folder. But it's not written until you shut mame down. It's stored as 4 bit nibbles, so you decode like this: ((addr & 0xFF) << 4) + ((addr+1) & 0xFF). Undecoded storage of a high score is 3 bytes for initials followed by 4 bytes for the score. The upper 4 nibbles of the first byte appear to be a checksum?
For the program counter values, you can start mame in debug mode with "mame --debug" and enter the following lines in the console:
- bp 310d,1,{printf "Player death\n"; g}
- bp 3112,1,{printf "Game over\n"; g}
- bp 3130,1,{printf "Still trying\n"; g}
This will print out events to the debug console, we can also print these out to a tracefile and grep against that with other scripts.