RevEng Posted August 27, 2016 Share Posted August 27, 2016 I think I found it. Try again with this updated version. distella-301b.zip Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 27, 2016 Share Posted August 27, 2016 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 2 Quote Link to comment Share on other sites More sharing options...
Wayne2072 Posted August 28, 2016 Author Share Posted August 28, 2016 (edited) 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 August 28, 2016 by Wayne2072 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 28, 2016 Share Posted August 28, 2016 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! 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.