Apple II port to BBC Master computer

Threads about other remakes and ports.
kieranhj
Sheikh
Sheikh
Posts: 30
Joined: October 13th, 2017, 3:02 pm

Re: Apple II port to BBC Master computer

Post by kieranhj »

Norbert wrote: March 7th, 2018, 5:23 pm There is a high pitched ding sound effect, similar to - I guess - gates fully opening or closing, or the spike sound, that plays occasionally. Seemingly out of nowhere, for no apparent reason. Even after playing all levels, it's still unclear to me what audio clue/indicator this is supposed to be. All I know is, from what I can tell, this is specific to your port. If you do not understand what I'm referring to, I could make a recording.
David wrote: February 17th, 2018, 2:10 pm * The sound of a gate completely closing can be heard even if that gate is not visible.
Just like in the SNES version: viewtopic.php?f=122&t=4149
I also did some more digging to discover the origin of the mystery "ding" sounds that happen seemingly at random. It is actually the GateDown sound effect being played when a gate closes, regardless of where the player is in the level. To compound, if you have multiple gates closing then you will get all of the sound effects happening one after another even if you are many screens away. This is how the original Apple II code is written, and you can hear the effect on that version - it's just that the GateDown effect is just a small "tick" sound, not the more extravagent "ding!" that we have on BBC. Note that the code shares the same sound effect for GateDown and spikes appearing.

I decided to fix this by only playing the sound effect if the gate is present on the visible screen (or the gate is on the edge of the visible screen.)
David
The Prince of Persia
The Prince of Persia
Posts: 2848
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

I found a misspelling in the intro: https://github.com/kieranhj/pop-beeb/bl ... Prolog.png
It says "absense" instead of "absence".
kieranhj
Sheikh
Sheikh
Posts: 30
Joined: October 13th, 2017, 3:02 pm

Re: Apple II port to BBC Master computer

Post by kieranhj »

David wrote: March 16th, 2018, 4:04 pm I found a misspelling in the intro: https://github.com/kieranhj/pop-beeb/bl ... Prolog.png
It says "absense" instead of "absence".
Great spot, thank you! Have added to GitHub issues: https://github.com/kieranhj/pop-beeb/issues/153
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

Is there any way you could cut down the 8 second loading time?
Maybe decrease the "BITSHIFTERS" promo?

[Edit: Video may be temporarily unavailable. If it is, please check back later.]

Last edited by David on December 8th, 2018, 6:15 pm, edited 1 time in total.
Reason: fixed video
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

Minor issue. Restarting insta-chomps the prince.
Only happens if death is by chomper (anywhere in the level), and the top row has that chomper.
Maybe the game doesn't reset the prince's horizontal position quickly enough - or something?

Last edited by David on December 8th, 2018, 6:17 pm, edited 1 time in total.
Reason: fixed video
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

How sure are you about the cheat codes for the 'released game', as mentioned by you in the README.md?
In particular the following:
KILL - Kill guard on screen
ZAP - Zap guard to 1 health
I'm asking because the cheats of the Apple II version include a ZAP that kills.
(I didn't look at the code of your port. Maybe you simply modified these.)
kieranhj
Sheikh
Sheikh
Posts: 30
Joined: October 13th, 2017, 3:02 pm

Re: Apple II port to BBC Master computer

Post by kieranhj »

Hi everyone,

Just to let you know that I release v1.0 of the port last night. You can find more details and the download / online emulator here: https://bitshifters.github.io/posts/pro ... -beeb.html.

Big thanks again to Norbert and David for all their help playtesting, giving feedback on the port and explaining some of the finer details of the game that I wasn't aware of. Both have been incredibly generous with their time and immensely helpful for me to get to this point.

There are already a few compatibility issues and requests coming back, so there will no doubt be a v1.1 release soon, but for now I need to take a little rest!

Let me know what you think. :)
Attachments
Prince of Persia for the BBC Master
Prince of Persia for the BBC Master
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

kieranhj wrote: March 30th, 2018, 2:09 pmLet me know what you think. :)
Congratulations on the release!
Solid port. :)

If you have time, can you look into this.
[Edit: Never mind. I looked into it myself.]

Also, currently, for me, make.bat results in:
version.txt:1: error: Bad hex.

EQUB $, $0/, $3/, $9:, $2 , "no"
^
Assemble failed!
[Edit: Probably simply doesn't work with Wine.]

Finally, can you tell me if there are any cheat codes currently unmentioned in the "Cheat Codes (Released game!)" section of README.md (e.g. easy guards)?

Too bad the GitHub code currently doesn't fully reflect the released version, even though you didn't make code changes after the release datetime.
David
The Prince of Persia
The Prince of Persia
Posts: 2848
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

Norbert wrote: March 30th, 2018, 9:09 pm
version.txt:1: error: Bad hex.

EQUB $, $0/, $3/, $9:, $2 , "no"
^
Assemble failed!
[Edit: Probably simply doesn't work with Wine.]
version.txt is generated by this line in make.bat:

Code: Select all

echo EQUB $%DATE:~8,2%, $%DATE:~3,2%, $%DATE:~0,2%, $%HH%, $%TIME:~3,2%, "%USERNAME:~0,2%" > version.txt
This would extract parts of the current date with substring operations, assuming a certain date format (DD-MM-YYYY), and it creates garbage if the date format is different from that.
It doesn't work for me either because my system uses YYYY.MM.DD.

You could change the character positions or just enter fixed values.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

David wrote: March 31st, 2018, 4:38 pmYou could change the character positions or just enter fixed values.
Yeah, I already figured that out. Thanks anyway.
But then I noticed the GitHub code doesn't actually reflect the released port, so I decided to just ignore all the code and not build anything myself.
David
The Prince of Persia
The Prince of Persia
Posts: 2848
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

Norbert wrote: March 31st, 2018, 4:49 pm But then I noticed the GitHub code doesn't actually reflect the released port, so I decided to just ignore all the code and not build anything myself.
Take a look at the release-candidate branch.
If I compile the source on that branch, then the resulting disk image will match the released version from here, except for the few bytes that are the version number.
David
The Prince of Persia
The Prince of Persia
Posts: 2848
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

PoP crashed on level 12:
crash_level_12.png
Here is the savestate:
crash_level_12.zip
(142.21 KiB) Downloaded 98 times
Unfortunately I did not save the game *before* the crash, so I can't easily test whether the game always crashes at that point.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

David wrote: March 31st, 2018, 5:09 pmTake a look at the release-candidate branch.
Ah.
kieranhj
Sheikh
Sheikh
Posts: 30
Joined: October 13th, 2017, 3:02 pm

Re: Apple II port to BBC Master computer

Post by kieranhj »

Hi Nobert & David,

Sorry for the slow reply - it's been a crazy few days. I see you have figured out the versioning system and located the build number within the disc image.

If you hadn't found them yet, the level files start at offset 0x24200 and are spaced 0xA00 bytes apart (not 0x900.)

I did change the cheat codes because 'Z' is a movement key (left) in the standard keyboard configuration, so settled on 'ZAP' and 'KILL'. I also added 'EASY' which just divides the guard strike and restrike probabilities by 2 to make the game a little bit easier for those of us who don't have the same reflexes as we did when the game was released!

Thank you for the bug report and save state file - I will take a look into this when I get chance. I'm taking a week's holiday so likely won't be for a while. I did complete the game myself before release and have had others report successful completion as well but there are still clearly some issues remaining so will do a V1.1 when I am happy with any fixes & changes.

For this build, to start the game directly (skipping the attract sequence) change the byte at offset 0x428 from 0x8A to 0xD5. (Changes the JMP AttractMode to JMP DOSTARTGAME.)

To alter the start level change the byte at offset 0x12F9 from 0x01 to the level number. (Changes the Accumulator register before JMP start in master.asm.)

I hope this helps! Thanks again for your help.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5745
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

kieranhj wrote: March 31st, 2018, 6:53 pmFor this build, to start the game directly (skipping the attract sequence) change the byte at offset 0x428 from 0x8A to 0xD5. (Changes the JMP AttractMode to JMP DOSTARTGAME.)

To alter the start level change the byte at offset 0x12F9 from 0x01 to the level number. (Changes the Accumulator register before JMP start in master.asm.)
Thanks.
Post Reply