From: Subject: Tempest: A hack for open level selection Date: Friday, October 08, 1999 1:48 PM OPEN LEVEL SELECTION HACK FOR TEMPEST Created by Josh McCormick Oct 8, 1999 ===================================== Here's a gift for Eric Clayberg and every other Tempest freak out there. Courtesy: Tempest Code Project http://arcade.gameshop.com/tempest-sw Would you like for Tempest to allow you to select any level you want (up to 81, the green level), any time you play, regardless of score? Get out your hex editor, folks. It is easy. Yes, it works in MAME and the real thing, regardless of ROM versions. Make a backup copy of the ROMs. (No, I'm serious!) Open up the ROM file "136002.113". Go to offset #CD (that's byte 205 for you decimal folks). You should see the numbers (in hexidecimal) "90" followed by an "FA". That's 6502 machine language for a conditional branch statement. We want to change this to a NOP (no-operation) statement so it slips right through the loop which determines the highest level you can select. Change the two numbers to (hexidecimal) "EA" followed by an "EA". Save the changes. Make sure you've done it right by pulling up the game in MAME. You should get a warning that rom 136002.113 has the WRONG CRC, and that it found "a9000137". If you get a different CRC number, start over using your backup copy. (You *did* make one, right?) Play the game. Make sure it works correctly. If it does, you're *go* to burn a new ROM with the hacked code, if you so choose. For the curious assembler programmer types, here's the code you are playing with: ; LEVEL SELECTION CODE BEGINS HERE 90C4 AD:26 01 LDA:abs $0126 ; See what level the player is 90C7 A2:1C LDX:imm #1C ; permitted to restart on, and 90C9 CA: DEX:imp X=X-1 ; look up on the starting 90CA DD:FE 91 CMP:abs,x $91FE,X ; level table list. 90CD 90:FA BCC:rel Branch->$90C9 ; X = # of menu choices on ; the selection screen. Here's the table of levels to choose from (poorly formatted). Convert to decimal and add "1" for the actual level number. 91FE 00: DATA ; Data used by $90C4 and $9187. 91FF 02: DATA ; This table contains a list of 9200 04: DATA ; the valid levels that a user 9201 06:08 DATA ; is able to start on. The 9203 0A: DATA ; highest starting level is 9204 0C: DATA ; decimal 81 (#50 + 1). 9205 0E:10 13 DATA 9208 15:17 DATA 920A 19:1B 1E DATA 920D 20:23 27 DATA 9210 2B: DATA 9211 2E:30 33 DATA 9214 37: DATA 9215 3B: DATA 9216 3E:40 48 DATA 9219 50:FF DATA Enjoy! Sent via Deja.com http://www.deja.com/ Before you buy.