SNES special events (draft)

Discuss PoP1 for SNES here.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SNES special events (draft)

Post by David »

Okay.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: SNES special events (draft)

Post by Norbert »

Here it is:
http://www.popot.org/documentation/docu ... Events.pdf

A page at popot.org about the document also has the ODT download link.

I'll mention the document on the social media later today. [Edit: Done.]
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SNES special events (draft)

Post by David »

I found something that is missing from the document.
In 15.5 it doesn't mention that a music is played everytime the player enters the room, and the prince is stunned (can't move) for a while.
The shadow also falls from the ceiling everytime the player enters the room.

Another interesting thing about the shadow fight:
Put away your sword. The shadow will do the same.
Then turn around, and press the button with which you can draw the sword.
(If you kept the default settings of PoP, then it's button "A" on a real SNES.)
The prince won't draw his sword, but the shadow will, and attacks the prince from behind!
This works only if the prince is standing still when you press "A".
I'm wondering why does the shadow react to a keypress that has no effect on the prince.
The DOS version doesn't do this.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SNES special events (draft)

Post by David »

It seems we forgot to document a rather important thing about the shadow fight:

When either the prince or the shadow is hurt, the other also loses a HP.
(It's one-way in the DOS version, but two-way in the Apple II and SNES versions.
The difference was noticed by NITM-T here: viewtopic.php?p=29098#p29098 )

If either the prince or the shadow dies, the other dies too.
(This is two-way in the Apple II and the DOS versions as well.)
realXCV
Beylerbey
Beylerbey
Posts: 72
Joined: November 4th, 2011, 12:04 am
Location: Right here
Contact:

Re: SNES special events (draft)

Post by realXCV »

Partly missing: the brown skeleton on level 18 will stay dead for shorter period of time.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SNES special events (draft)

Post by David »

realXCV wrote: June 7th, 2020, 9:53 pm Partly missing: the brown skeleton on level 18 will stay dead for shorter period of time.
Than maybe this is the purpose of the "check with the brown skeleton" I mentioned in the draft text files?

I looked into it again. The check chooses between two animation sequences depending on whether we are on level 18:

Code: Select all

brown skeleton check:
01:CEA8: AD 2B 06    LDA $062B ; guard type
01:CEAB: C9 02       CMP #$02 ; brown skeleton
01:CEAD: D0 0F       BNE $CEBE
level 18:
01:CEAF: AD 79 05    LDA $0579 ; current level
01:CEB2: C9 11       CMP #$11 ; level 18
01:CEB4: F0 04       BEQ $CEBA
01:CEB6: A9 8A       LDA #$8A ; sequence $8A, outside level 18
01:CEB8: 80 06       BRA $CEC0

01:CEBA: A9 A0       LDA #$A0 ; sequence $A0, on level 18
01:CEBC: 80 02       BRA $CEC0

01:CEBE: A9 4A       LDA #$4A ; sequence $4A, for other kinds of opponents
01:CEC0: 20 42 AE    JSR $AE42 ; char sequence ; jumpseq
According to the SNES sequence table:
In sequence $8A, the skeleton remains dead for 64 animation frames.
In sequence $A0, the skeleton remains dead for 56 animation frames.
(You need to multiply the numbers with 4 to get the number of PAL or NTSC frames. Here is a post about how frames work in PoP1 SNES.)

So yes, this check is indeed about what you wrote.


I'm curious, how did you find this out?
Did you notice the difference while playing the game, or did you find this out from the disassembly?

After I read your post, I tried to see the difference in the game itself, but the difference is just too small for me to notice.
That's why I looked into the disassembly and the sequence table.

Anyway, thank you for mentioning this!
realXCV
Beylerbey
Beylerbey
Posts: 72
Joined: November 4th, 2011, 12:04 am
Location: Right here
Contact:

Re: SNES special events (draft)

Post by realXCV »

David wrote: June 13th, 2020, 4:01 pm Than maybe this is the purpose of the "check with the brown skeleton" I mentioned in the draft text files?
That's why I said "Partly missing".
David wrote: June 13th, 2020, 4:01 pm I'm curious, how did you find this out?
Did you notice the difference while playing the game, or did you find this out from the disassembly?
From up to 3 disassemblies, the sequence table and a bit of guessing because I'm sure the pictures shown in the sequence table aren't the right ones.
David wrote: June 13th, 2020, 4:01 pm After I read your post, I tried to see the difference in the game itself, but the difference is just too small for me to notice.
8 animation frames converted to NTSC would be around 0.5 secs.

But you could change the jump to the rising animation at the end to somewhere in the other animation and have the skeleton stay dead for up to 120 animation frames (8 secs on NTSC)
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: SNES special events (draft)

Post by David »

realXCV wrote: June 14th, 2020, 4:26 am From up to 3 disassemblies, the sequence table and a bit of guessing because I'm sure the pictures shown in the sequence table aren't the right ones.
You're right, it shows the prince for the skeleton's moves.
I might fix this in a later release of the sequence table.

realXCV wrote: June 14th, 2020, 4:26 am 8 animation frames converted to NTSC would be around 0.5 secs.

But you could change the jump to the rising animation at the end to somewhere in the other animation and have the skeleton stay dead for up to 120 animation frames (8 secs on NTSC)
I did that, and now I can see the difference.
Thank you!
User avatar
Shauing
Calif
Calif
Posts: 431
Joined: April 5th, 2018, 10:38 pm
Contact:

Re: SNES special events (draft)

Post by Shauing »

Not sure if this should go here or just in the music format but I think I found out what the '' ! '' command does.
I was experimenting with the different commands for some music compositions I was doing, and was looking for how the original game music used the commands.
I got to the Level 17 boss music (the four-armed boss), and on the first channel data I found a '' ! '' written before the very last note of the intro section.
I deleted it to see if I could hear any difference in sound, but didn't hear any.
But then I noticed the boss once he descended the stairs and reached the floor didn't move anymore when the intro section was over nor the Prince could move.
I restored the command, and tried different music tracks to be sure, and indeed, both characters remain stunned until I played the Level 17 boss music again and the intro portion was over.
So it seems to be a check/flag for the game to resume movement after the boss intro.
The only other music track that also has this flag is the Jaffar theme, close to the end of the first channel and it has the same function.
NEW UPDATE! Prince Of Persia: 30th Anniversary Port v1.1.5. Download it today!: viewtopic.php?p=29053#p29053
NEW UPDATE! Prince Of Persia: The Queen Of Light v2.6. Download it today! viewtopic.php?p=33174#p33174
Post Reply