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: February 12th, 2018, 1:57 am You're right, picking the BBC Master 128 makes the off-line BeebEm work, thanks.
Fun sword pickup (/guard kill/exit door open) sound effect.
It plays smoothly (minor screen loading, not an issue) and, so far, also seems accurate.
Thanks! I'm glad you got it going. The music comes from the Sega Master System version (as it shares the SN sound chip with the BBC) but I also have a musician helping with the project to make custom sound effects and some new music.
Norbert wrote: February 12th, 2018, 1:57 am In fighting stance, the sword in waiting (horizontal) position seems invisible (black?).
The potion bubbles need minor changes, for instance the left potion here has blue bubbles, and the bubbles of (big) life potions should be more to the right - more centered above the bottle.
Ahh, I should have called this out - I'm so familiar I just see past it. At the moment the player sprites are half vertical resolution to save memory and have been quickly auto-converted from the Apple II sprite data - this has caused the sword to disappear in some frames. My goal is to get as many as possible back to full resolution (RAM dependent) and they will all be touched up for the BBC screen resolution & palette by our artist.

Thanks for the info about the potion bubbles - is there a standard colour scheme used to indicate what effect each one hsa on the player?
Norbert wrote: February 12th, 2018, 1:57 am I'd playtest more, but would need:
- an action key on the left side of the keyboard,
- to be able to use cursor keys (either on the numpad or the arrow pad).
That's just for me though; other players may not mind - or even enjoy - the current setup.
I don't like to cross my arms/hands and don't like the angle/slant of the alphanumeric keys.
The latter isn't a problem for the first few levels, but there's no way I'll attempt, for example, level 8 like this. ;)
I think that's a fair point! Updating the keyboard handling has been on my list for a while. The cursor keys on a real BBC machine are not very conveniently placed, so I wasn't going to support them, but you've made me realise that many people won't ever play this on anything other than a PC, so supporting PC style controls makes a lot of sense. I think I'll add SHIFT to also be the action key so there are options on both sides of the keyboard.

The other known issue to be aware of is that saving the game with CTRL-G does work but only if the disc image is not write protected. I have yet to implement error handling so the game will crash if it is unable to write to the disc - not a very handy save game feature! You can turn off disc write protection from the File > Disc Options menu on BeebEm. Load the save game with L on the title screen.

Thanks again for your feedback, it is much appreciated. :cool:
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

kieranhj wrote: February 13th, 2018, 2:07 pmThanks for the info about the potion bubbles - is there a standard colour scheme used to indicate what effect each one hsa on the player?
Yes, see the attached image.
(You can ignore the far left and far right potions.)
The DOS port also has green bubbles, for float and flip.
Norbert wrote: February 12th, 2018, 1:57 am[...], and the bubbles of (big) life potions should be more to the right - more centered above the bottle.
Hm, actually, even Apple II's red bubbles appear to be too far to the left...
Attachments
Apple II potions.
Apple II potions.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

Here's what I found so far:

* I see now there are sounds and music.

* The order of the music in the intro is somewhat different from the DOS version.

* There should be some text before the Jaffar+Princess scene.

* On the demo level, the prince falls into the spikes. Ouch.

* There are no sounds on the demo level, except the beginning of the death music.

* When watching the intro in B-em, the emulator window sometimes changes into an odd narrow shape (while loading?).

* 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
kieranhj wrote: February 13th, 2018, 2:07 pm The music comes from the Sega Master System version
Ah, so that's why the "echoing" in the title music sounded familiar! :)
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

kieranhj wrote: February 13th, 2018, 2:07 pm You can turn off disc write protection from the File > Disc Options menu on BeebEm.
On B-Em it's "Disc ->Write protect disc :0/2".
There, I found it helpful to turn off "Disc -> Default write protect" as well.
kieranhj wrote: February 13th, 2018, 2:07 pm Load the save game with L on the title screen.
That's Ctrl+L in the original game, it also seems to work here.


I have played the game until level 10, here is what I found:

* It seems there is no way to pause the game.

* The remaining time is not shown, either. (But the level number is.)

* After I load a saved game with (Ctrl+)L, there are no sound effects until some music has been played.

* The game crashes when a guard is chomped.
I noticed that on level 7 first.
Interestingly, the debugger does not stop on a BRK in this case.

* I can't crouch-hop.
This would require holding down + pressing left or right, but this version can't handle if multiple keys are pressed at once.

* When I load a saved game, the game does not show the cutscene that belongs to the level.
The Apple II version doesn't show it either, but the DOS version does.
Maybe it can stay like this.

* The game crashes when I drink an upside-down potion on level 9. (BRK at 28AC)

* The game crashes on level 10 when I would return to the starting room. (BRK at 9B02)
But only if before that I have been two rooms away from the starting room.
(There used to be a similar crash on level 5, also when returning to the first room.)
Screenshots:
Spoiler: show
Trying to enter from left:
crash_level_10_why.png
Trying to enter from right:
crash_level_10_why5.png
This also means that I could not go further than level 10.
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

Hm, going by what David writes there are still some showstoppers.
In particular the crashes, although being able to crouch-hop would also be nice.
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: February 13th, 2018, 7:52 pm Yes, see the attached image.
(You can ignore the far left and far right potions.)
The DOS port also has green bubbles, for float and flip.

Hm, actually, even Apple II's red bubbles appear to be too far to the left...
Thank you for the image, that is very helpful! Apple II colours depend on the odd/even pixel alignment so red (orange) will be further to the left than the blue bubbles.
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: February 17th, 2018, 2:10 pm Here's what I found so far:

* There should be some text before the Jaffar+Princess scene.
Yes, all to do with a mismatch between screens & music vs Apple II. https://github.com/kieranhj/pop-beeb/issues/84
David wrote: February 17th, 2018, 2:10 pm * On the demo level, the prince falls into the spikes. Ouch.
Yes, I think this is to do with the frame rate difference between Apple II and BBC. https://github.com/kieranhj/pop-beeb/issues/75
David wrote: February 17th, 2018, 2:10 pm * There are no sounds on the demo level, except the beginning of the death music.
Yes, not sure what's going on here, to be investigated! https://github.com/kieranhj/pop-beeb/issues/79
David wrote: February 17th, 2018, 2:10 pm * When watching the intro in B-em, the emulator window sometimes changes into an odd narrow shape (while loading?).
Hmm, not seen this before. I do turn the screen display off whist loading which might be confusing the emulator. If you have b-em set up with "no borders" under Settings > Video > Borders then it could be this, try "Small" or "Full" and let me know if it still happens.
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
Good spot, thank you. I have added to GitHub: https://github.com/kieranhj/pop-beeb/issues/94
David wrote: February 17th, 2018, 2:10 pm Ah, so that's why the "echoing" in the title music sounded familiar! :)
Yes, the Sega Master System uses the same SN76489 sound chip as the BBC Micro (albeit at a slightly different frequency) so easy for us to "borrow" the music. :) I have a musician helping out on the project who might create some new renditions of the original tunes if he has time.
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: February 18th, 2018, 5:06 pm
kieranhj wrote: February 13th, 2018, 2:07 pm Load the save game with L on the title screen.
That's Ctrl+L in the original game, it also seems to work here.
Thanks, I now have a copy of the manual with all of the "official" controls I need to support.
David wrote: February 18th, 2018, 5:06 pm I have played the game until level 10, here is what I found:
Thank you again for testing this build - the bugs you have found are very helpful and would have taken me a long while to spot on my own!
David wrote: February 18th, 2018, 5:06 pm * It seems there is no way to pause the game.
I have implemented pause with CTRL-P. It will single step with P or continue with any other keypress.
David wrote: February 18th, 2018, 5:06 pm * The remaining time is not shown, either. (But the level number is.)
Odd, you can trigger the time remaining with CTRL-Space (should just be Space, I know) but hadn't realised it wasn't showing every 5 minutes as it is supposed to. Added to GitHub: https://github.com/kieranhj/pop-beeb/issues/95
David wrote: February 18th, 2018, 5:06 pm * After I load a saved game with (Ctrl+)L, there are no sound effects until some music has been played.
Great find. Added to GitHub: https://github.com/kieranhj/pop-beeb/issues/96
David wrote: February 18th, 2018, 5:06 pm * The game crashes when a guard is chomped.
I noticed that on level 7 first.
Interestingly, the debugger does not stop on a BRK in this case.
Good spot, I will try and repro this and figure out what it is: https://github.com/kieranhj/pop-beeb/issues/97
David wrote: February 18th, 2018, 5:06 pm * I can't crouch-hop.
This would require holding down + pressing left or right, but this version can't handle if multiple keys are pressed at once.
The Apple II version doesn`t support multiple key presses simultaneously but I am going to add support for this shortly. This way I can also support the cursor keys for those running under emulation on PC. https://github.com/kieranhj/pop-beeb/issues/22
David wrote: February 18th, 2018, 5:06 pm * When I load a saved game, the game does not show the cutscene that belongs to the level.
The Apple II version doesn't show it either, but the DOS version does.
Maybe it can stay like this.
Sounds good, I will add this to the nice to have: https://github.com/kieranhj/pop-beeb/issues/98
David wrote: February 18th, 2018, 5:06 pm * The game crashes when I drink an upside-down potion on level 9. (BRK at 28AC)
Ah, yes. Drawing everything upside down is going to be quite a bit more difficult on the BBC Master than Apple II because the screen is mapped in character rows. It`s on my list but will require some thought! https://github.com/kieranhj/pop-beeb/issues/14
David wrote: February 18th, 2018, 5:06 pm * The game crashes on level 10 when I would return to the starting room. (BRK at 9B02)
But only if before that I have been two rooms away from the starting room.
(There used to be a similar crash on level 5, also when returning to the first room.)
This also means that I could not go further than level 10.
Another great find! This is the same issue you identified before - for some reason plotting the background requires a larger draw list when re-entering the screen and the currently buffer size overflows. Added to GitHub: https://github.com/kieranhj/pop-beeb/issues/99

(Just to note that whilst in development you can skip level with CTRL-N although this will be disabled for release, of course.)

Thanks again for taking the time to play the build all the way through to level 10. This is all tremendously helpful and much appreciated. I am looking forward to the day (soon, hopefully) that it can be completed. I will post an update when I have fixed all of the issues you have identified.

PS. I am now using GitHub "properly" so master contains the latest known good build and all bugs / features are implemented in a branch before being PR'd back to master.
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: February 18th, 2018, 9:49 pm Hm, going by what David writes there are still some showstoppers.
In particular the crashes, although being able to crouch-hop would also be nice.
Yes, not quite ready for release but still looks possible by my original (self-imposed) Easter deadline. :D Thanks again for your support and encouragement.
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Apple II port to BBC Master computer

Post by David »

Norbert wrote: February 12th, 2018, 1:57 am I'd playtest more, but would need:
- an action key on the left side of the keyboard,
- to be able to use cursor keys (either on the numpad or the arrow pad).
You can redefine keys with Ctrl+K in the current version on GitHub.

kieranhj wrote: February 18th, 2018, 11:04 pm
David wrote: February 17th, 2018, 2:10 pm * On the demo level, the prince falls into the spikes. Ouch.
Yes, I think this is to do with the frame rate difference between Apple II and BBC. https://github.com/kieranhj/pop-beeb/issues/75
I don't really understand how it is related to frame rates, since the replayed moves should use the same framerate as the display.
Anyway, I see you fixed it already: https://github.com/kieranhj/pop-beeb/co ... 9ddcf9f355
kieranhj wrote: February 18th, 2018, 11:04 pm
David wrote: February 17th, 2018, 2:10 pm * When watching the intro in B-em, the emulator window sometimes changes into an odd narrow shape (while loading?).
Hmm, not seen this before. I do turn the screen display off whist loading which might be confusing the emulator. If you have b-em set up with "no borders" under Settings > Video > Borders then it could be this, try "Small" or "Full" and let me know if it still happens.
That seems to fix it. Thanks!
kieranhj wrote: February 18th, 2018, 11:38 pm I have implemented pause with CTRL-P. It will single step with P or continue with any other keypress.
Odd, you can trigger the time remaining with CTRL-Space (should just be Space, I know)
(Just to note that whilst in development you can skip level with CTRL-N although this will be disabled for release, of course.)
I just realized that keys are listed on the project page: https://github.com/kieranhj/pop-beeb/
And they were added on the 11th, so I could have seen them last week. Oh well.
kieranhj wrote: February 18th, 2018, 11:38 pm
David wrote: February 18th, 2018, 5:06 pm * The game crashes when I drink an upside-down potion on level 9. (BRK at 28AC)
Ah, yes. Drawing everything upside down is going to be quite a bit more difficult on the BBC Master than Apple II because the screen is mapped in character rows. It`s on my list but will require some thought! https://github.com/kieranhj/pop-beeb/issues/14
Right, but maybe you could at least make the game not hang?
Or do you prefer to mark missing features with BRK so they don't go unnoticed?
kieranhj wrote: February 18th, 2018, 11:38 pm Thanks again for taking the time to play the build all the way through to level 10. This is all tremendously helpful and much appreciated.
You're welcome!
kieranhj wrote: February 18th, 2018, 11:38 pm I will post an update when I have fixed all of the issues you have identified.
I see you already fixed many of them.
kieranhj wrote: February 18th, 2018, 11:38 pm PS. I am now using GitHub "properly" so master contains the latest known good build and all bugs / features are implemented in a branch before being PR'd back to master.
Thank you!
This way people can find the latest version without needing to search among the side branches.


A question about the current build:
There is a number in the bottom-right corner while playing. What does it mean?
kieranhj
Sheikh
Sheikh
Posts: 30
Joined: October 13th, 2017, 3:02 pm

Re: Apple II port to BBC Master computer

Post by kieranhj »

Hi David, thanks again for taking the time to provide such comprehensive feedback. It is always appreciated!
David wrote: February 24th, 2018, 12:06 pm You can redefine keys with Ctrl+K in the current version on GitHub.
Yes, I gave up the unequal struggle trying to keep everyone happy. :) One thing that I have changed, which may be considered controvertial to the purists, is to have just one key for "forward jump" rather than two separate "up left" and "up right" keys. After some testing with those less familiar with the Apple II "JKLUIO" controls (or the PC version) the feedback was that this was simpler to understand and easier to make precise jumps from ledges etc. Pressing "up left" when facing right didn't do anything useful anyway (the player turns around on the spot then jumps upwards.) What do you think? (You can ignore the "forward jump" key anyway and just use PC style controls if you wish anyway.)
David wrote: February 24th, 2018, 12:06 pm I don't really understand how it is related to frame rates, since the replayed moves should use the same framerate as the display.
Anyway, I see you fixed it already: https://github.com/kieranhj/pop-beeb/co ... 9ddcf9f355
Yes, you would think so. I have experience (long ago!) of doing replay systems for commercial video games based on recording user inputs and they are notoriously easy to break. In the end I tweaked a couple of frame timings and it seemed to work, I don't have the time or energy to figure out exactly why this is.
David wrote: February 24th, 2018, 12:06 pm I just realized that keys are listed on the project page: https://github.com/kieranhj/pop-beeb/
And they were added on the 11th, so I could have seen them last week. Oh well.
I haven't been terribly good at keeping the project page up-to-date so would have been easy to miss.
David wrote: February 24th, 2018, 12:06 pm Right, but maybe you could at least make the game not hang?
Or do you prefer to mark missing features with BRK so they don't go unnoticed?
There shouldn't be any more BRK's in the game as all known (gameplay) features are implemented, including the upside down potion on level 8. (So much work for one potion on one level, but there you go.) I have also fixed the problem of running out of memory on level 13 when battling Jaffar. If you do experience any crashes from this point forward please could you save the state of the machine from b-em using File > Save state? This will give me a full 128K memory dump at the time of the crash.
David wrote: February 24th, 2018, 12:06 pm You're welcome!
I see you already fixed many of them.
Thank you!
This way people can find the latest version without needing to search among the side branches.
I'm not sure if you've been following along with any of the checkins but there is quite a lot that has been fixed and updated now. The main outstanding work is to update all of the audio - we have a plan to recreate all of the original PC midi tunes but for the BBC sound chip, but this will depend on the availability of our musician over the coming weeks. There is no audio in the cutscenes between levels as yet but this is coming.
David wrote: February 24th, 2018, 12:06 pm A question about the current build:
There is a number in the bottom-right corner while playing. What does it mean?
That is the (50Hz/20ms) vsync counter for each frame so I can get an idea of performance. So 2=25Hz, 3=16.67Hz, 4=12.5Hz, 5=10Hz etc. Given that the BBC Master runs at 2MHz the game runs consistently faster than Apple II (you might notice that the timer goes down too quickly - this is on my list to fix just before the end of the project) but due to the rendering architecture of the game there are still some screens (particularly on the later levels) that can get very slow indeed because of the number of things being plotted / redrawn. I have no doubt the game could be optimised further but after a year of development I'm happy to live with it as is, given the Apple II heritage.

As always, any feedback and testing you are able to provide is incredibly helpful. I'm hopeful someone will be able to complete a playthrough one day soon...
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

I'm trying to use your latest pop-beeb.dsd from master with BeebEm, but even with the BBC Master 218 model and Full (instruction) set, it still just gives me a > prompt.
Any suggestions?
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, 2:07 pm I'm trying to use your latest pop-beeb.dsd from master with BeebEm, but even with the BBC Master 218 model and Full (instruction) set, it still just gives me a > prompt.
Any suggestions?
Hmmm, I just downloaded the dsd file from GitHub to check and it worked fine for me. Did you press SHIFT-BREAK (usally SHIFT-F12 on PC) to boot the disc? What does it report after that?

I am trying to ensure that the dsd image in master is in a good state but I periodically update this link to always be a known good: https://bitshifters.github.io/content/w ... aytest.dsd
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Apple II port to BBC Master computer

Post by Norbert »

kieranhj wrote: March 7th, 2018, 2:44 pmDid you press SHIFT-BREAK (usally SHIFT-F12 on PC) to boot the disc?
Thanks for the quick feedback.
Okay, I had to do Shift+Pause. (My Pause key doesn't mention Break, by the way.)
This is after using Shift+F12 to access the System settings to pick the different model.
I thought I could just press Okay to verify the different model, because that redraws and thus appears to restart the "Acorn MOS" etc. process.
I also tried the "Reset" button from the Shift+F12 menu, which visually does the same as pressing Okay.
But, as I wrote, apparently, Shift+Pause is required.
Hm, this seems complicated enough that it's a process that will require documentation for the average end user.
Anyway, I'll now try to play through the entire game; will report findings later.
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, 3:02 pm Thanks for the quick feedback.
Okay, I had to do Shift+Pause. (My Pause key doesn't mention Break, by the way.)
This is after using Shift+F12 to access the System settings to pick the different model.
I thought I could just press Okay to verify the different model, because that redraws and thus appears to restart the "Acorn MOS" etc. process.
I also tried the "Reset" button from the Shift+F12 menu, which visually does the same as pressing Okay.
But, as I wrote, apparently, Shift+Pause is required.
Hm, this seems complicated enough that it's a process that will require documentation for the average end user.
Anyway, I'll now try to play through the entire game; will report findings later.
Hi Norbert, glad you got it running in the end.

I don't use BeebEm as often as b-em but either way you are certainly right that BBC Micro computer emulators are fairly arcane to users who are not familiar with the original 8-bit hardware. The BREAK key is very much a BBC Micro convention as is SHIFT-BREAK to boot a disc. I suppose it's not as bad as Commodore 64 having to type "LOAD *,8,1" but if you didn't own the original machine you woudn't be expected to know either! This is one reason why I tend to try and share using the online emulator which at least has an auto-boot option from a http link but has other downsides (browser performance.)

Let me know how your gameplay test goes - I really appreciate you taking the time to play through it. Thanks again.
Post Reply