Jump to content
IGNORED

Help to modify some Atari game


anny84

Recommended Posts

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

Link to comment
Share on other sites

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 by Rybags
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...