Jump to content
IGNORED

64 bit assember/disassembler for 7800?


Wayne2072

Recommended Posts

I'm not sure if it's a kindness or ruining your fun, but an infinite lives hack of Scrapyard Dog is attached below. More or less I used this method

 

I reread what you actually wanted to do with the ROM. Generally for these simple sorts of changes I'll use the MAME debugger and a hex editor, instead of a disassembly. It's a lot simpler.

 

In this case I "save"d memory before and after dying, and performed a binary diff between each memory file, which indicated the lives memory location was 22AF. (it was the only location that changed from "03" to "02". Then I set a breakpoint for 22AF, which displayed the relevant code the next time I died...

 

lda $22af,x     BD AF 22
sbc #$01        E9 01
sta $22af,x     9D AF 22

I found each instance of this in the ROM (there were 2) and I changed "E9 01" to "EA EA". EA is the "No OPeration" opcode, loved by 6502 hackers everywhere.

 

Lastly, I checked to see if the result needed to be signed with 7800sign. It didn't.

Scrapyard Dog (Infinite Lives).a78

  • Like 2
Link to comment
Share on other sites

I'm not sure if it's a kindness or ruining your fun, but an infinite lives hack of Scrapyard Dog is attached below. More or less I used this method

 

I reread what you actually wanted to do with the ROM. Generally for these simple sorts of changes I'll use the MAME debugger and a hex editor, instead of a disassembly. It's a lot simpler.

 

In this case I "save"d memory before and after dying, and performed a binary diff between each memory file, which indicated the lives memory location was 22AF. (it was the only location that changed from "03" to "02". Then I set a breakpoint for 22AF, which displayed the relevant code the next time I died...

 

lda $22af,x     BD AF 22
sbc #$01        E9 01
sta $22af,x     9D AF 22
I found each instance of this in the ROM (there were 2) and I changed "E9 01" to "EA EA". EA is the "No OPeration" opcode, loved by 6502 hackers everywhere.

 

Lastly, I checked to see if the result needed to be signed with 7800sign. It didn't.

 

Kindness, definitely. Thank you! I was not ready for a bankswitched cart yet. :-) I didn't know that these changes could be made/tested on MAME, either. That's slick. I'm going to check out the version of SD you created, and test my version of Galaga somewhere other than ProSystem13 (this version of SD didn't come up on ProSystem13).

 

And, how much do I owe ya? :-)

 

Also, on another note, I am really enjoying playing Salvo. Awesome game!

Edited by Wayne2072
Link to comment
Share on other sites

You're welcome - not a problem!

 

I'm going to check out the version of SD you created, and test my version of Galaga somewhere other than ProSystem13 (this version of SD didn't come up on ProSystem13).

Yeah, prosystem emu has some built-in hacks it uses to get certain games running, because the hardware emulation isn't super-accurate. My hex edit makes it look like a new game to it.

 

Trebor wrote up a nice guide to 7800 emulation under MAME, to get you started.

 

 

And, how much do I owe ya? :-)

Hah, no charge. Just pay it forward. And thanks for the kind words for Salvo! :)

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