Yes, that should be changed to make it work like a trap, when you cross the mirror you get 1 point damage, that way is no more useless, just an idea
Hacking the SNES ROM
-
- Calif
- Posts: 553
- Joined: August 27th, 2011, 2:04 am
Re: Hacking the SNES ROM
Check my Prince in C# https://github.com/salvadorc17/Prince-Monogame
Re: Hacking the SNES ROM
Norbert wrote: Is there an easy (to find ) hex edit to make jumping through the mirror possible in all levels and at all locations?
Code: Select all
coll mirror:
01:9A74: ad 64 04 LDA $0464 ; Char.chtype ; CharID
01:9A77: d0 40 BNE $9ab9 ; :c1
level 5 room 15 (mirror):
01:9A79: ad 79 05 LDA $0579 ; current level
01:9A7C: c9 04 CMP #$04
01:9A7E: d0 39 BNE $9ab9 ; :c1
Change: AD 79 05 to 4C 90 9A
There is a similar hack in the big list (first post) that disables row/column checks.
This one also disables level/room checks.
I did not find a solution, but here is what I tried:salvadorc17 wrote: that should be changed to make it work like a trap, when you cross the mirror you get 1 point damage
Code: Select all
01:D180: a9 01 LDA #$01
01:D182: 8d 08 05 STA $0508 ; kid current HP ; KidStrength
//Change: 8D 08 05 to 20 74 CF -- This wants to hurt the shadow instead! (hurt star)
//Change: 8D 08 05 to CE 08 05 -- This has problems if this was the last HP: The kid will keep running.
//Change: 8D 08 05 to 20 79 CF -- Still does not work. It shows the red flash and the hurt star, but the HP does not change.
Re: Hacking the SNES ROM
Thanks!David wrote:Search: AD 79 05 C9 04 D0 39
Change: AD 79 05 to 4C 90 9A
You're referring to this, right?David wrote:There is a similar hack in the big list (first post) that disables row/column checks.
[Edit: Just tested this. Yes, this is it.]
Kaslghnoon wrote:2) Make these offset changes:
x9A87 [$AD] to $4C
x9A88 [$5C] to $90
x9A89 [$04] to $9A
Maybe salvadorc17 meant what you already posted about, that the prince goes to 1 hitpoint with damage.David wrote:I did not find a solution, [...]salvadorc17 wrote: that should be changed to make it work like a trap, when you cross the mirror you get 1 point damage
Re: Hacking the SNES ROM
Hm, is it also possible/easy to also make the shadow appear from the mirror?
Similar to allowing the prince to jump through the mirror everywhere, this would be useful for mods.
Then the shadow can trigger, for example, raise and drop buttons.
I didn't think of this earlier because only now that I know how to make the hex edits for the mirror I noticed the differences with the shadow.
Similar to allowing the prince to jump through the mirror everywhere, this would be useful for mods.
Then the shadow can trigger, for example, raise and drop buttons.
I didn't think of this earlier because only now that I know how to make the hex edits for the mirror I noticed the differences with the shadow.
Re: Hacking the SNES ROM
Do you mean when the prince jumps through it?Norbert wrote:Hm, is it also possible/easy to also make the shadow appear from the mirror?
The shadow appears then, but with the wrong palette.
Re: Hacking the SNES ROM
Interesting...David wrote:Do you mean when the prince jumps through it?Norbert wrote:Hm, is it also possible/easy to also make the shadow appear from the mirror?
The shadow appears then, but with the wrong palette.
Apparently I picked a room where the shadow doesn't show up.
It works for DOS:
It works for SNES:
But in level 5, room 4 (3), it does not:
And that's the room where I first tested it.
-
- Calif
- Posts: 553
- Joined: August 27th, 2011, 2:04 am
Re: Hacking the SNES ROM
Yes, that was what i meant..Norbert wrote:
Maybe salvadorc17 meant what you already posted about, that the prince goes to 1 hitpoint with damage.
You also need to change the level where shadow appears in the right hex offseft? or no extra changes needed?Norbert wrote:But in level 5, room 4 (3), it does not:
Check my Prince in C# https://github.com/salvadorc17/Prince-Monogame
Re: Hacking the SNES ROM
It looks like the shadow is explicitly removed on level 5 if he is not in room 15.
In the original game, this happens when he runs offscreen.
In the original game, this happens when he runs offscreen.
Code: Select all
shadow level checks: ShadowProg:
01:8BED: ad 79 05 LDA $0579 ; current level
01:8BF0: c9 04 CMP #$04 ; level 5
01:8BF2: f0 0d BEQ $8c01 ; level 5 room 15 shadow mirror
...
level 5 room 15 shadow mirror:
01:8C01: ad 62 04 LDA $0462 ; Char.room ; CharScrn
01:8C04: c9 0f CMP #$0f ; room 15
01:8C06: f0 03 BEQ $8c0b
01:8C08: 4c d5 92 JMP $92d5 ; VANISHCHAR
Re: Hacking the SNES ROM
Kaslghnoon, apoplexy currently allows its users to more or less immediately playtest SNES levels by temporarily modifying the ROM before and after ZSNES' launch. At least for the US and EU versions. I used your findings to skip the intro and to set the non-training and training starting level numbers to the level number currently open in the editor. (The functions in the code are ModifyForZSNES() and ModifyBack().)
I'm wondering if maybe there's an even faster way.
I mean, it's not that important, but if it can be done even faster, then why not.
Somehow skip past the menu altogether...
I'm wondering if maybe there's an even faster way.
I mean, it's not that important, but if it can be done even faster, then why not.
Somehow skip past the menu altogether...
-
- Sultan
- Posts: 153
- Joined: February 27th, 2010, 8:35 pm
- Location: United States
Re: Hacking the SNES ROM
Hi Norbert. Yes, what you requested can be done and it only takes two offset changes
For the US and EU versions:
x18018 to $6B
x1806C to the level number currently open in the editor
For the Japan version:
x18018 to $71
x18072 to the level number currently open in the editor
The first change skips right to Demo play, and the second offset edits the level which used to be Demo play.
Congratulations on releasing the latest apoplexy on time! The capability to modify SNES levels and playtest them on the spot makes the new apoplexy invaluable.
For the US and EU versions:
x18018 to $6B
x1806C to the level number currently open in the editor
For the Japan version:
x18018 to $71
x18072 to the level number currently open in the editor
The first change skips right to Demo play, and the second offset edits the level which used to be Demo play.
Congratulations on releasing the latest apoplexy on time! The capability to modify SNES levels and playtest them on the spot makes the new apoplexy invaluable.
Re: Hacking the SNES ROM
Hey, thanks Kaslghnoon, I'll use this for the next version.
Re: Hacking the SNES ROM
How to find a offset for time remaining change in Jp version?
Re: Hacking the SNES ROM
Hi elveskz,elveskz wrote:How to find a offset for time remaining change in Jp version?
As Kaslghnoon mentions in his post here, you will need a patched ROM.
In his post, search for "Edit time limit:", then read the section above it.
The patched ROM he included - linked to - in his post there is the US (= KONAMI) version.
You need to start by patching the JP version, see the instructions here.
Then use a hex editor to search for and modify the values I've marked with brackets below.
Kaslghnoon's post includes example values.
-----
27 06 8D 47 05 A9 [00] 4C C6 FE 05 8D 2F
C9 AD 8D 2D 05 A9 [00] 8D 2E 05 A9 00 4C
-----
Re: Hacking the SNES ROM
Thanks Norbert!! It worked, now only need to edit the name of the game in the main menu and the rom is ready for download.Norbert wrote:Hi elveskz,elveskz wrote:How to find a offset for time remaining change in Jp version?
As Kaslghnoon mentions in his post here, you will need a patched ROM.
In his post, search for "Edit time limit:", then read the section above it.
The patched ROM he included - linked to - in his post there is the US (= KONAMI) version.
You need to start by patching the JP version, see the instructions here.
Then use a hex editor to search for and modify the values I've marked with brackets below.
Kaslghnoon's post includes example values.
-----
27 06 8D 47 05 A9 [00] 4C C6 FE 05 8D 2F
C9 AD 8D 2D 05 A9 [00] 8D 2E 05 A9 00 4C
-----
Re: Hacking the SNES ROM
Hi guys, I need a little help here. Training Mode have 5 levels and each one it's like: Training 1, 2, 3... Which are the HEX for these numbers? I mean, the offset is xCAEF (T) till xCAF6 (G) and xCAF7, it's a space before the number (supposed to be the number), but it's $00 that also have one before the (T). I looked on the Lost Bottle, but I did not find the difference...
May the Moon light your path.