anny84 Posted April 19, 2008 Share Posted April 19, 2008 I would like to modify some 2600 game, but I'm not able to understand a bit of assembler I like to change number of lifes in following games: - Breakout - Superbreakout - Vader vs Luke (Dodge'm Hack) - Circus Atari also, I would like to avoid Air Sea Battle and Street Racer stop at 99 points. I would like the score "rolls" to 0 to count over 100; it could be nice, but I think it's harder, to have a third digit for score. is there somebody can help me? Just write here the code to modify in the source code (disassembled with Distella 3). For example, by debugging Breakout from Stella, I've found the lives are stored in the $b9 cell but I don't know how to modify it in the source. Thanks! Anny Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 19, 2008 Share Posted April 19, 2008 (edited) Change "3" to "4", like you asked in the other one. In many cases, such hacking is trial and error. With the 2600, you only have 128 bytes RAM which makes things a lot easier to work out. However, having said that - it's entirely possible that a given memory location might store Lives remaining, along with other information so it mightn't be as straight-forward as you initially think. Can you upload a Zip with a TXT file of the Breakout listing? Edited April 19, 2008 by Rybags Quote Link to comment Share on other sites More sharing options...
anny84 Posted April 19, 2008 Author Share Posted April 19, 2008 Change "3" to "4", like you asked in the other one. In many cases, such hacking is trial and error. With the 2600, you only have 128 bytes RAM which makes things a lot easier to work out. However, having said that - it's entirely possible that a given memory location might store Lives remaining, along with other information so it mightn't be as straight-forward as you initially think. Can you upload a Zip with a TXT file of the Breakout listing? Here's the disassembled Breakout taken from a Breakout.bin image found on the net. Anny b.zip Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 19, 2008 Share Posted April 19, 2008 If that's the case ($B9 = lives), there doesn't look like much room to put a patch in. It just stores the X register value in there after a subroutine (F730) which uses X - it happens to always have a value of 5 when it returns. You could increase lives by 1 - try changing: LF3EF: DEC $B9 ;5 BNE LF41E ;2 BEQ LF3B8 ;2 change the BNE to a BPL. Change the BEQ to a BMI. Or, just change the DEC $B9 to an INC $B9 for 250 or so lives. Although you'll probably get garbage displayed in the lives position. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.