David wrote: ↑May 16th, 2020, 12:01 pm
Shauing wrote: ↑May 10th, 2020, 7:24 pm
A sort of sidepoint: I found while watching the demo that when the demo guard is in his last hitpoint, it does not flash, instead it disappears. Why this happens?
It's because the blinking is controlled by the elapsed time, but time doesn't pass on the demo level, because the demo level is "after" Jaffar's level (by its level number).
See also here about the connection between the blinking and the timer:
viewtopic.php?p=27523#p27523
My solution is to enable time passing on the demo level.
At 0xEFFD write: 20 C0 FD
At 0xFDC0 write: AD 79 05 C9 15 D0 02 A9 00 60
At 0xE9C3 write: EA EA
Details:
Code: Select all
At 0xEFFD write:
20 C0 FD JSR $FDC0
This overwrites the first line here:
01:EFFD: ad 79 05 LDA $0579 ; current level
01:F000: c9 13 CMP #$13 ; (in your mod this has been changed to CMP #$0C in an earlier hack)
01:F002: 90 05 BCC $f009 ; :ticking
01:F004: ad b5 04 LDA $04b5 ; (this has been changed as well)
01:F007: d0 03 BNE $f00c ; :stopped
:ticking:
01:F009: 20 be e9 JSR $e9be ; level 20 (timer check) ; KEEPTIME
:stopped:
At 0xFDC0 write:
AD 79 05 LDA $0579 ; current level
C9 15 CMP #$15 ; demo level
D0 02 BNE :1
A9 00 LDA #$00 ; pretend it's a level before Jaffar's level
:1
60 RTS
The third write disables this additional level check:
level 20 (timer check): KEEPTIME:
01:E9BE: AD 79 05 LDA $0579 ; current level
01:E9C1: C9 13 CMP #$13
01:E9C3: B0 49 BCS $EA0E ; return
(Really, why does the game check the current level *twice* before updating the timer?)
Hmm ok, but the ''60 minutes left'' text prompt is back. This cannot be hidden?
Listing the few pending things left:
1. Be able to skip the Konami and/or Title Screen by pressing any button like in the Japanese version and on DOS, instead of being forced to wait until after the title screen appears.
2. Shadow's hitbox palette should be the same as Prince but not in design, as the Prince has the triangle pointing to the right, and all of the enemies triangle point to the left.
Hitpoint Palette:
- Hitpoint Palette.png (376 Bytes) Viewed 55954 times
3. The float potion lacks a green screen flash like on DOS; without it, visually there's no indication for the potion. Also, the maximum time value for the duration of the effect (FF) is still a bit short than what the music lasts (potion effect lasts 17 seconds, music lasts around 19).
4. Can the Best Time menu look like this? :
Before:
- In-Game Best Time.png (9.83 KiB) Viewed 55955 times
After:
- Mock-Up Best Time.png (6.93 KiB) Viewed 55955 times
5. There's a major glitch I shall explain on a PM, and see if there's any possible solution.