Jump to content
IGNORED

synapse blue max cheat ?


em_kay

Recommended Posts

replying to my own post in case anyone else is interested in this..

 

using Altirra debugger it seems as you play the game the number of special targets you hit is stored in $06AC

 

so using the built in cheater function, set $06AC to a high number such as $60 and start the game

 

you go straight to the final battle and if you manage to hit the 3 targets then the next runway will be flashing green and you win the game :)

 

next step is to patch the ATR...

 

 

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

You'd probably just do well to search the program area for the hex sequence AC 06.  Likely there's instructions that set it, increment it, compare it.

Match found at: 0DCB
Match found at: 0F8D
Match found at: 2F26
Match found at: 3E2C
Match found at: 3E4C
Match found at: 3E74
Match found at: 3F4F
Match found at: 3FDD
Match found at: 437E
Match found at: 45C4
Match found at: 45DA
Match found at: 4C94

 

That's looking from $600 to end of 48K Ram.

 

You'd also do better to leave the ATR alone - Blue Max has been available as an XEX for a long time.

The done thing is to just append a cheat menu to such programs, it would probably be worthwhile doing Lives and maybe having some disable collision options as well though you'd probably not want to disable ground collisions.

 

Atari800Win+ has trainer (A8T) files for some games though I've only got a few and Blue Max isn't one of the ones I have.

  • Like 1
Link to comment
Share on other sites

special targets and final battle are all mentioned in the manual - http://www.atarimania.com/game-atari-400-800-xl-xe-blue-max_5978.html

 

so back to the hex edit challenge... it was the 2nd address block identified by Rybags

 

looking at the source code to blue max here - https://gitlab.com/atari/bluemax (linked from 

it is this block of code that executes if you make a successful take off -

 

005800  LDA $6AC
005820  CMP #2
005840  BCC SRT
005860  CMP $6C7
005880  BCS V0
005900  INC $6A7
005920 .18 LDA 53770
005940  CMP #160
005960  BCC ZN
005980 .9 JMP SRT
006000 V0 INC $6AE
006020 ZN LDA #90

 

with the lack of source code comments, it first checks the number of special targets hit ($6AC) is less than 2 (which it isnt at the start of the game)

then subsequent check is if you have reached the target number required ($6C7) then you get the final battle

 

so for the .xex file in Altirra -

 

before...

 

Altirra> u 0f8c
    0F8C: AD AC 06          LDA $06AC
    0F8F: C9 02             CMP #$02
    0F91: 90 5C             BCC $0FEF
    0F93: CD C7 06          CMP $06C7
    0F96: B0 0D             BCS $0FA5
    0F98: EE A7 06          INC $06A7
    0F9B: AD 0A D2          LDA RANDOM
    0F9E: C9 A0             CMP #$A0
    0FA0: 90 06             BCC $0FA8
    0FA2: 4C EF 0F          JMP $0FEF
    0FA5: EE AE 06          INC $06AE
    0FA8: A9 5A             LDA #$5A
    0FAA: 8D 67 06          STA $0667
    

after...

 

Altirra> u 0f8c
    0F8C: AD C7 06          LDA $06C7
    0F8F: 8D AC 06          STA $06AC
    0F92: 4C A5 0F          JMP $0FA5
 

cleanest solution tested so far is putting the required targets number into the number of targets hit

 

to hex edit the .xex file -

search  - AD AC 06 C9 02 90 5C CD C7
replace - AD C7 06 8D AC 06 4C A5 0F

 

.xex file attached for testing

 

cheers!

Emkay

 

 

 

Blue Max final battle hack.zip

  • Like 5
Link to comment
Share on other sites

ah my fault I should have used a forced branch instead of an absolute jump as the cartridge has the code relocated at a different address in memory

 

using the rom dump here - http://www.atarimania.com/game-atari-400-800-xl-xe-blue-max_s700.html

 

original -

 

Altirra> s 0 Lffff AD AC 06 c9 02
Match found at: 5381
Altirra> u 5381
    5381: AD AC 06          LDA $06AC
    5384: C9 02             CMP #$02
    5386: 90 5C             BCC $53E4
    5388: CD C7 06          CMP $06C7
    538B: B0 0D             BCS $539A

 

patched -
    
Altirra> u 5381
    5381: AD C7 06          LDA $06C7
    5384: 8D AC 06          STA $06AC
    5387: 18                CLC
    5388: 90 10             BCC $539A

 

search for   - AD AC 06 C9 02 90 5C CD C7
replace with - AD C7 06 8D AC 06 18 90 10

 

attached file for testing

 

now on to bombing your own hanger... it might take me a while 

Blue Max final battle hack.rom

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

The Display List corruption after bombing your own hangar was intentional.

 

Patch to remove it = [D28D3002:XXEAEAEA]

 

And, while I'm at it:

 

Don't Spawn Enemy Planes = [291FD0:A9XXXX]

Player's Plane doesn't take damage = [CE5906:60EAEA]

 

And here's a "fun" one I came up with since I use an actual SNES controller with Altirra and I have the Y button mapped as "space" since that's usually "pause" in most games. This patch allows me to drop bombs with it in this game.

 

"Space Bar" drops bombs instead of pausing the game (regardless of whether bombing damage is present) =

[60A907A225A025205CE4:XXXX008DFC024C1C1AEA]

 

 

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

19 hours ago, em_kay said:

impressive thanks for those :) especially like the idea of space bar for bombing

 

dont suppose you have one to stop you going too low and crashing ?

 

 

 


That's a challenge considering the way the program was written.

 

After tinkering a while I was able to limit the plane so it wouldn't go lower than the "strafe" range where you can shoot ground objects but aren't in danger of crashing. Unfortunately, as I was patting myself on the back for that, I realized that I wouldn't be able to land the plane for repairs/refueling either as said plane has to go lower than the "capped" range I set in order to land. Back to square one!

 

So the only method I see left, without extensive code replacement, is to NO-OP the "crash routine" calls. It's a little "rough" and may create some temporary "quirks" in the graphics, but works overall. And it pretty much eliminates all crashes.

 

No Crashing Patch = [4CD916:EAEAEA] (ALL 10 occurrences)

 

  • Like 3
Link to comment
Share on other sites

impressive thanks I'll give that a go :) needing to land on the runway didnt even cross my mind either

 

I'm moving onto my next favorite game - http://www.atarimania.com/game-atari-400-800-xl-xe-galahad-and-the-holy-grail_6499.html but I'll head over to your official game patch topic for this one and keep the forum nice and clean ....

 

 

 

 

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...