PoP1 for ZX Spectrum

Discuss other PoP1 related things here.
Post Reply
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5785
Joined: April 9th, 2009, 10:58 pm

PoP1 for ZX Spectrum

Post by Norbert »

Attached to this post is PoP1 for ZX Spectrum.

The README.txt inside the ZIP explains how to get it to run.

Easiest way to play is to not use arrow keys:
o (+ arrow down) / p (+ arrow up) = left and right
a (+ right arrow) / q = down and up/block
Space = for small steps, picking up (and hitting with) sword, drinking potions

It takes time to get used to the controls.
Also, the running jump and running turns react late.
Attachments
PoP_for_ZX_Spectrum.zip
(992.22 KiB) Downloaded 149 times
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5785
Joined: April 9th, 2009, 10:58 pm

Re: PoP1 for ZX Spectrum

Post by Norbert »

PoP_MC_Software.trd and PoP_Omega_Group.trd use the same packed rooms, with the first tile of the starting room at 0x50BB6 and 0x54BB6 respectively.

PoP_Another_World.trd includes cheats and is unpacked and thus easier to mod. Here's some info about this variant:

It has the first three levels at:
- 1: 0x50B3C u/i 0x50E15
- 2: 0x4DD3C u/i 0x4E155
- 3: 0x4AF3C u/i 0x4B2F0
I've also attached the levels to this post.
(I was too lazy to look up the other levels, but they are easy to find with the info below.)

This port stores all levels row by row, with an extra row above the rooms at the top, plus an extra wall tile left of the left most rooms.
It does not store the torches and chompers as tile types; they are stored separately.

In ASCII, most tiles look like what they represent.
- space = 0x20 = ( )
- spikes = 0x21 = (!)
- gate = 0x23 = (#)
- rubble = 0x2E = (.)
- loose = 0x3A = (:)
- wall = 0x40 = (@)
- small pillar = 0x49 = (I)
- floor = 0x5F = (_)
- raise = 0x6x = (a, b, etc)
Attachments
level3.txt
(2.78 KiB) Downloaded 142 times
level2.txt
(3.08 KiB) Downloaded 148 times
level1.txt
(2.14 KiB) Downloaded 130 times
David
The Prince of Persia
The Prince of Persia
Posts: 2877
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: PoP1 for ZX Spectrum

Post by David »

Norbert wrote: June 16th, 2018, 7:05 pm Attached to this post is PoP1 for ZX Spectrum.
I see you also included the system roms, I guess not all emulators include them?
Norbert wrote: June 22nd, 2018, 8:55 pm PoP_MC_Software.trd and PoP_Omega_Group.trd use the same packed rooms, with the first tile of the starting room at 0x50BB6 and 0x54BB6 respectively.
I have looked at those offsets, but I can't see anything there that looks like a level.
Norbert wrote: June 22nd, 2018, 8:55 pm PoP_Another_World.trd includes cheats and is unpacked and thus easier to mod. Here's some info about this variant:
Are you maybe planning to make a level editor for this version?
Norbert wrote: June 22nd, 2018, 8:55 pm It has the first three levels at:
- 1: 0x50B3C u/i 0x50E15
- 2: 0x4DD3C u/i 0x4E155
- 3: 0x4AF3C u/i 0x4B2F0
What does "u/i" mean?
I guess it means "through" (from...to), but what is it the abbreviation of?
Norbert wrote: June 22nd, 2018, 8:55 pm I've also attached the levels to this post.
Why did you post them in hex? They would look better in ASCII, since, as you wrote, "In ASCII, most tiles look like what they represent".
Norbert wrote: June 22nd, 2018, 8:55 pm (I was too lazy to look up the other levels, but they are easy to find with the info below.)
Here are my level maps: (made in 2008)
zx-levels-map.txt
(9.97 KiB) Downloaded 144 times
Norbert wrote: June 22nd, 2018, 8:55 pm This port stores all levels row by row, with an extra row above the rooms at the top, plus an extra wall tile left of the left most rooms.
This sounds quite similar to the Genesis version.
Norbert wrote: June 22nd, 2018, 8:55 pm It does not store the torches and chompers as tile types; they are stored separately.
The same applies to guards, level doors, potions, and the sword.
Norbert wrote: June 22nd, 2018, 8:55 pm In ASCII, most tiles look like what they represent.
- space = 0x20 = ( )
- spikes = 0x21 = (!)
- gate = 0x23 = (#)
- rubble = 0x2E = (.)
- loose = 0x3A = (:)
- wall = 0x40 = (@)
- small pillar = 0x49 = (I)
- floor = 0x5F = (_)
- raise = 0x6x = (a, b, etc)
A few more tiles from level 4 and later levels:
gate top = 0x24 = ($)
open gate = 0x27 = (')
And there is this code that appears at the place of some chompers: 0x2B = (+)

So it seems there are no drop buttons in this version.

Also, I just found out, while I was looking at the maps here, that Level 2 does not have the room with the open gate (and the blue potion), instead there is a room where you need to climb down.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5785
Joined: April 9th, 2009, 10:58 pm

Re: PoP1 for ZX Spectrum

Post by Norbert »

David wrote: June 23rd, 2018, 10:32 amI see you also included the system roms, I guess not all emulators include them?
On GNU/Linux they aren't included with (the apt-get installable) Fuse.
Most likely a license issue.
David wrote: June 23rd, 2018, 10:32 amI have looked at those offsets, but I can't see anything there that looks like a level.
This is because the data is packed. If you change the (30 or so) bytes starting there, you can see the starting room change in-game.
David wrote: June 23rd, 2018, 10:32 amAre you maybe planning to make a level editor for this version?
No, definitely not.
Maybe the Mac version.
David wrote: June 23rd, 2018, 10:32 amWhat does "u/i" mean?
Up to and including.
David wrote: June 23rd, 2018, 10:32 amWhy did you post them in hex?
As an illustration of what to look for in the file.
David wrote: June 23rd, 2018, 10:32 ammade in 2008
Man, you've really looked at a lot through the years.
(So have I, but usually you beat me to it, plus your skills usually surpass mine.)
David wrote: June 23rd, 2018, 10:32 amThe same applies to guards, level doors, potions, and the sword.
Yeah.
David wrote: June 23rd, 2018, 10:32 amSo it seems there are no drop buttons in this version.
Similar to Harem Adventures.
David wrote: June 23rd, 2018, 10:32 am[...], instead there is a room where you need to climb down.
Yes, there's a lot different in the levels.
One reason might be that the room width is 8 instead of 10 tiles.
Post Reply