Shauing wrote: ↑June 3rd, 2020, 5:25 am
3. On Level 5, it seems that the Shadow should not display his HP.
In the DOS version the Shadow shows HP only on level 12.
Here is how to do that on the SNES:
At 0x5125 write: 4C E0 FE
At 0x7EE0 write: C9 01 00 D0 0E AD 79 05 29 FF 00 C9 0B 00 F0 03 4C 2A D1 4C 2F D1
Details:
Code: Select all
At 0x5125 write:
4C E0 FE JMP $FEE0
At 0x7EE0 write:
C9 01 00 CMP #$0001 ; shadow
D0 0E BNE :1
AD 79 05 LDA $0579 ; current level
29 FF 00 AND #$00FF
C9 0B 00 CMP #$000B ; level 12
F0 03 BEQ :1
4C 2A D1 JMP $D12A ; don't draw HP
:1
4C 2F D1 JMP $D12F ; draw HP
While testing the hack above, I noticed a problem: On level 6, the shadow won't step onto the closer button when you jump over to his side.
That's caused by one of my previous hacks, which makes the prince step up to closer buttons, instead of stepping onto them.
But it also causes the shadow to do the same.
Here is my fix:
At 0x9BEB write: 4C 40 FD EA
At 0xFD40 write: C9 05 D0 0D AD 64 04 C9 01 F0 03 4C 04 9C 4C FE 9B 4C EF 9B
This will make the shadow step onto the closer button, while the prince will still step up to them.
Details:
Code: Select all
At 0x9BEB write:
4C 40 FD JMP $FD40
EA NOP
At 0xFD40 write:
C9 05 CMP #$05 ; closer button
D0 0D BNE :1
AD 64 04 LDA $0464 ; Char.chtype
C9 01 CMP #$01 ; shadow
F0 03 BEQ :2
4C 04 9C JMP $9C04 ; step up to edge
:2
4C FE 9B JMP $9BFE ; full step
:1
4C EF 9B JMP $9BEF ; continue checking for other tile types
Note: In the DOS version, the shadow on level 6 is placed right next to the left edge of the button. That's why he can step onto the button.
The DOS version places the shadow using a special event, so it can set the place of the shadow pixel-perfectly.
In the SNES version, the shadow on level 6 is just a regular guard in the room, which does not allow such precision.
I wonder if this is part of the reason why they decided to make the prince step onto closer buttons in the SNES version.