Prince of Persia 1 EXE differences
Posted: December 13th, 2015, 2:15 pm
I compared the disassemblies of v1.0, v1.3 and v1.4.
Here is what I found.
I list only those things that have observable effects.
So, for example, I skipped things like procedures/variables in different order.
These are about the original, non-cracked versions.
So I didn't list the various differences and bugs in the cracks.
Load a saved game. Now the potions level starts. Press Ctrl-R, and complete level 1.
v1.0: You won't see the potions level now. It will appear only if you reach the level that was in the saved game.
v1.1, v1.3, v1.4: The potions level will appear.
Already mentioned here.
Cheats on the potions level: (including Shift-L)
v1.0: enabled
v1.1, v1.3, v1.4: disabled
Already mentioned here.
The behavior of v1.0 is mentioned here.
Drink a potion on the potions level. Note that the letter disappears.
Press Ctrl-R and start the potions level again.
v1.0: The letter at that place will not appear.
v1.1, v1.3, v1.4: All letters will appear correctly.
Already mentioned here.
Status text on potions level:
v1.0: "WORD %d LINE %d PAGE %d"
v1.1, v1.3, v1.4: "PAGE %d LINE %d WORD %d"
Mentioned here.
Number of points in "Loading...":
v1.0: 4
v1.1, v1.3, v1.4: 3
Guard skills:
v1.0: octal mistake
v1.1, v1.3, v1.4: as Apple II
See here for explanation.
(Okay, this is not as observable as the others...)
Index overflow / checkpoint bug.
If you break a loose floor from the rightmost tile of the ceiling, it will enable the checkpoint at the next time you restart the level.
v1.0: happens
v1.1, v1.3, v1.4: fixed
The bug itself was mentioned here.
"demo" command line parameter:
v1.0, v1.1: no
v1.3, v1.4: yes
Already mentioned here.
Quotes (in demo mode) are from:
v1.0, v1.1: Computer Entertainer, Computer Gaming World / Nibble
v1.3, v1.4: Computer Entertainer, Computer Gaming World / Game Players PC Strategy Guide, inCider/A+
Screenshots from v1.0
Cheat activation parameter:
v1.0, v1.1: megahit
v1.3, v1.4: improved
Already mentioned here.
Alternate level colors (green level 3):
v1.0, v1.1: no
v1.3, v1.4: yes
I think you already knew this.
Beep after "UNABLE TO SAVE":
To test: Make PRINCE.SAV read-only and press Ctrl+G.
v1.0, v1.1: yes
v1.3, v1.4: no
Wave format:
v1.0, v1.1: old
v1.3, v1.4: new
Already mentioned here.
Skeleton's sword (when falling):
A you may know, some images of the sword contain part of the hand.
Now, this looks silly with the skeleton, so the newer versions force the sword to be drawn all white.
But only if the skeleton is looking at the opposite direction as the prince.
v1.0, v1.1: no change
v1.3, v1.4: all white Press Esc while a cutscene is playing.
v1.0, v1.1: GAME PAUSED
v1.3, v1.4: Cutscene is interrupted.
Run into spikes.
v1.0, v1.1: The "spikes come out" sound will play.
v1.3, v1.4: That sound will be interrupted with the "something spiked" sound.
"digi" command line parameter:
The digi option tells that if there is not enough memory to start with digital sounds, then don't even try to start without them.
v1.0, v1.1: no
v1.3, v1.4: yes
Already mentioned here.
After the demo quotes, the game tells how to purchase.
v1.0, v1.1: no
v1.3: yes
v1.4: no, but they left the texts in the EXE.
CONFIG.DAT/SETUP.DAT needed to start?
v1.0, v1.1: no
v1.3: CONFIG.DAT
v1.4: SETUP.DAT
MT32SND*.DAT (MIDI sound effects on AdLib and MT32)
v1.0, v1.1: no
v1.3: yes
v1.4: no
Here, KJV writes:
"the one that actually plays back FX samples, not the other with the broken config which does everything through OPL".
The latter might refer to this.
(OPL is the sound synthesis chip used in AdLib and Sound Blaster. It is usually used for playing MIDI sounds.)
Supported graphics modes:
v1.0, v1.1, v1.3: Hercules, CGA, EGA, Tandy, VGA
v1.4: VGA only
Mentioned for example here and here.
Joystick debug text:
v1.0, v1.1, v1.3: no
v1.4: yes (annoying)
Already mentioned here and here.
Sound drivers (*.DRV), PRESETS.DEF, and related error messages.
v1.0, v1.1, v1.3: no
v1.4: yes
In pcspeaker mode, there is a related bug here.
Order of demo quotes.
There are two screens of text, and the game chooses among them in the following way:
v1.0, v1.1, v1.3: alternating (1,2,1,2,...)
v1.4: randomly chosen
Potion codes.
v1.0: http://www.popuw.com/files/pop1manual.pdf
v1.1: http://www.popuw.com/files/pop1manualA_A_CPC_PCC.pdf
v1.3, v1.4: http://www.popuw.com/files/pop1manualbw.pdf
Mentioned for example here.
Supported sound cards:
I did not really look into this. The related command line parameters are listed here.
It seems to me that "midi" refers to the MT32.
There are some more differences that I don't fully understand yet.
Here is what I found.
I list only those things that have observable effects.
So, for example, I skipped things like procedures/variables in different order.
These are about the original, non-cracked versions.
So I didn't list the various differences and bugs in the cracks.
Load a saved game. Now the potions level starts. Press Ctrl-R, and complete level 1.
v1.0: You won't see the potions level now. It will appear only if you reach the level that was in the saved game.
v1.1, v1.3, v1.4: The potions level will appear.
Already mentioned here.
Cheats on the potions level: (including Shift-L)
v1.0: enabled
v1.1, v1.3, v1.4: disabled
Already mentioned here.
The behavior of v1.0 is mentioned here.
Drink a potion on the potions level. Note that the letter disappears.
Press Ctrl-R and start the potions level again.
v1.0: The letter at that place will not appear.
v1.1, v1.3, v1.4: All letters will appear correctly.
Already mentioned here.
Status text on potions level:
v1.0: "WORD %d LINE %d PAGE %d"
v1.1, v1.3, v1.4: "PAGE %d LINE %d WORD %d"
Mentioned here.
Number of points in "Loading...":
v1.0: 4
v1.1, v1.3, v1.4: 3
Guard skills:
v1.0: octal mistake
v1.1, v1.3, v1.4: as Apple II
See here for explanation.
(Okay, this is not as observable as the others...)
Index overflow / checkpoint bug.
If you break a loose floor from the rightmost tile of the ceiling, it will enable the checkpoint at the next time you restart the level.
v1.0: happens
v1.1, v1.3, v1.4: fixed
The bug itself was mentioned here.
"demo" command line parameter:
v1.0, v1.1: no
v1.3, v1.4: yes
Already mentioned here.
Quotes (in demo mode) are from:
v1.0, v1.1: Computer Entertainer, Computer Gaming World / Nibble
v1.3, v1.4: Computer Entertainer, Computer Gaming World / Game Players PC Strategy Guide, inCider/A+
Screenshots from v1.0
Cheat activation parameter:
v1.0, v1.1: megahit
v1.3, v1.4: improved
Already mentioned here.
Alternate level colors (green level 3):
v1.0, v1.1: no
v1.3, v1.4: yes
I think you already knew this.
Beep after "UNABLE TO SAVE":
To test: Make PRINCE.SAV read-only and press Ctrl+G.
v1.0, v1.1: yes
v1.3, v1.4: no
Wave format:
v1.0, v1.1: old
v1.3, v1.4: new
Already mentioned here.
Skeleton's sword (when falling):
A you may know, some images of the sword contain part of the hand.
Now, this looks silly with the skeleton, so the newer versions force the sword to be drawn all white.
But only if the skeleton is looking at the opposite direction as the prince.
v1.0, v1.1: no change
v1.3, v1.4: all white Press Esc while a cutscene is playing.
v1.0, v1.1: GAME PAUSED
v1.3, v1.4: Cutscene is interrupted.
Run into spikes.
v1.0, v1.1: The "spikes come out" sound will play.
v1.3, v1.4: That sound will be interrupted with the "something spiked" sound.
"digi" command line parameter:
The digi option tells that if there is not enough memory to start with digital sounds, then don't even try to start without them.
v1.0, v1.1: no
v1.3, v1.4: yes
Already mentioned here.
After the demo quotes, the game tells how to purchase.
v1.0, v1.1: no
v1.3: yes
v1.4: no, but they left the texts in the EXE.
CONFIG.DAT/SETUP.DAT needed to start?
v1.0, v1.1: no
v1.3: CONFIG.DAT
v1.4: SETUP.DAT
MT32SND*.DAT (MIDI sound effects on AdLib and MT32)
v1.0, v1.1: no
v1.3: yes
v1.4: no
Here, KJV writes:
"the one that actually plays back FX samples, not the other with the broken config which does everything through OPL".
The latter might refer to this.
(OPL is the sound synthesis chip used in AdLib and Sound Blaster. It is usually used for playing MIDI sounds.)
Supported graphics modes:
v1.0, v1.1, v1.3: Hercules, CGA, EGA, Tandy, VGA
v1.4: VGA only
Mentioned for example here and here.
Joystick debug text:
v1.0, v1.1, v1.3: no
v1.4: yes (annoying)
Already mentioned here and here.
Sound drivers (*.DRV), PRESETS.DEF, and related error messages.
v1.0, v1.1, v1.3: no
v1.4: yes
In pcspeaker mode, there is a related bug here.
Order of demo quotes.
There are two screens of text, and the game chooses among them in the following way:
v1.0, v1.1, v1.3: alternating (1,2,1,2,...)
v1.4: randomly chosen
Potion codes.
v1.0: http://www.popuw.com/files/pop1manual.pdf
v1.1: http://www.popuw.com/files/pop1manualA_A_CPC_PCC.pdf
v1.3, v1.4: http://www.popuw.com/files/pop1manualbw.pdf
Mentioned for example here.
Supported sound cards:
I did not really look into this. The related command line parameters are listed here.
It seems to me that "midi" refers to the MT32.
There are some more differences that I don't fully understand yet.