Website
Home
Database
News
Submissions queue
Community
Forum
Clubs
Discord
Members
Tools
ROM Patcher
ROM Hasher
Pages
Support us
Learn Romhacking
About
Contact Us
Help & Legal Pages
Guest
Login
Forum
Entries
News
Settings
Community
Help Wanted & Support
Help for a Bomberman II restoration hack
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="SpiderDave" data-source="post: 97" data-attributes="member: 1105"><p>Ok so in fceux, open the jpn version, open up the nametable viewer and hover the top left tile of the cross.</p><p>The PPU Address is 0x211c, the tile is 0x60.</p><p>Using the debugger, set a breakpoint for 211c, write, ppu mem. Add a condition A==#60.</p><p>Reset the game (still need to unpause after the reset too), it will stop when that tile is written to the PPU. Sometimes this is it, you can see right where it stops where it's grabbing data from. This game needs more.</p><p>You can see where it stops with the line above here:</p><p>```</p><p> 07:C5D3: BD 00 06 LDA $0600,X @ $0689 = #$60</p><p>>07:C5D6: 8D 07 20 STA PPU_DATA = #$00</p><p>```</p><p>So we see it's getting the tile from 0x689, which is just memory so it's processing it from somewhere else. So we set another breakpoint on 0689, write, CPU mem this time, condition A==#60.</p><p>Reset/unpause the game and when it stops we see this:</p><p>```</p><p> 07:C6B5: AD B1 04 LDA $04B1 = #$60</p><p> 07:C6B8: E8 INX</p><p>>07:C6B9: 9D 00 06 STA $0600,X @ $0689 = #$30</p><p>```</p><p>We see a few lines above that it's getting the tile from 0x4b1, still not the rom.</p><p></p><p>Set another breakpoint for 04b1, write, CPU mem, condition A==#60</p><p>Reset/unpause and when it stops we have this:</p><p>```</p><p> 04:B890: B1 24 LDA ($24),Y @ $996B = #$60</p><p>>04:B892: 8D B1 04 STA $04B1 = #$00</p><p>```</p><p>Now we see it's grabbing that tile from 0x996b. You can put that in the "Seek To" field and it will still be in the correct bank so we can see the rom address. Ignore the asm here, we know it's actually data.</p><p>```</p><p> 04:996B: 60 RTS -----------------------------------------</p><p> 04:996C: 61 62 ADC ($62,X) @ $0000 = #$47</p><p> 04:996E: 63 UNDEFINED</p><p> 04:996F: 00 BRK</p><p> 04:9970: 67 UNDEFINED</p><p> 04:9971: 00 BRK</p><p> 04:9972: 6B UNDEFINED</p><p> 04:9973: 68 PLA</p><p> 04:9974: 69 6C ADC #$6C</p><p> 04:9976: 6D 6A 00 ADC $006A = #$00</p><p> 04:9979: 6E 00 00 ROR $0000 = #$47</p><p> 04:997C: 70 00 BVS $997E</p><p> 04:997E: 74 UNDEFINED</p><p> 04:997F: 71 72 ADC ($72),Y @ $0000 = #$47</p><p> 04:9981: 75 76 ADC $76,X @ $007A = #$00</p><p> 04:9983: 73 UNDEFINED</p><p> 04:9984: 00 BRK</p><p>```</p><p>Hovering the first line we see the rom offset is 0x1197b. That's the file offset where the top left part of the cross is.</p><p></p><p>You can do this for the USA rom now with the top of the church and find the area close to where it would be. I can tell you they didn't just blank out the cross, it's removed, so you have to figure it out and find some space, but this should help.</p><p></p><p>EDIT: code tags</p></blockquote><p></p>
[QUOTE="SpiderDave, post: 97, member: 1105"] Ok so in fceux, open the jpn version, open up the nametable viewer and hover the top left tile of the cross. The PPU Address is 0x211c, the tile is 0x60. Using the debugger, set a breakpoint for 211c, write, ppu mem. Add a condition A==#60. Reset the game (still need to unpause after the reset too), it will stop when that tile is written to the PPU. Sometimes this is it, you can see right where it stops where it's grabbing data from. This game needs more. You can see where it stops with the line above here: ``` 07:C5D3: BD 00 06 LDA $0600,X @ $0689 = #$60 >07:C5D6: 8D 07 20 STA PPU_DATA = #$00 ``` So we see it's getting the tile from 0x689, which is just memory so it's processing it from somewhere else. So we set another breakpoint on 0689, write, CPU mem this time, condition A==#60. Reset/unpause the game and when it stops we see this: ``` 07:C6B5: AD B1 04 LDA $04B1 = #$60 07:C6B8: E8 INX >07:C6B9: 9D 00 06 STA $0600,X @ $0689 = #$30 ``` We see a few lines above that it's getting the tile from 0x4b1, still not the rom. Set another breakpoint for 04b1, write, CPU mem, condition A==#60 Reset/unpause and when it stops we have this: ``` 04:B890: B1 24 LDA ($24),Y @ $996B = #$60 >04:B892: 8D B1 04 STA $04B1 = #$00 ``` Now we see it's grabbing that tile from 0x996b. You can put that in the "Seek To" field and it will still be in the correct bank so we can see the rom address. Ignore the asm here, we know it's actually data. ``` 04:996B: 60 RTS ----------------------------------------- 04:996C: 61 62 ADC ($62,X) @ $0000 = #$47 04:996E: 63 UNDEFINED 04:996F: 00 BRK 04:9970: 67 UNDEFINED 04:9971: 00 BRK 04:9972: 6B UNDEFINED 04:9973: 68 PLA 04:9974: 69 6C ADC #$6C 04:9976: 6D 6A 00 ADC $006A = #$00 04:9979: 6E 00 00 ROR $0000 = #$47 04:997C: 70 00 BVS $997E 04:997E: 74 UNDEFINED 04:997F: 71 72 ADC ($72),Y @ $0000 = #$47 04:9981: 75 76 ADC $76,X @ $007A = #$00 04:9983: 73 UNDEFINED 04:9984: 00 BRK ``` Hovering the first line we see the rom offset is 0x1197b. That's the file offset where the top left part of the cross is. You can do this for the USA rom now with the top of the church and find the area close to where it would be. I can tell you they didn't just blank out the cross, it's removed, so you have to figure it out and find some space, but this should help. EDIT: code tags [/QUOTE]
Insert quotes…
Verification
Post reply
Community
Help Wanted & Support
Help for a Bomberman II restoration hack
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Back
Top