Electron to BBC Conversions

having trouble with an archived file or want to correct something? report it here!
Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Electron to BBC Conversions

Postby Michael Brown » Wed Aug 23, 2017 12:08 pm

Hi All,

Thought I'd start a new topic here.

Many years ago I came across some games that only got released on the Acorn Electron.
These games would usually run faster on the BBC than they would on the Electron.

For the purpose of this topic I am refering only to Machine Code games and not Basic ones as they can be slowed down with various FOR/NEXT loops etc.

Back in the day I never had an Electron (or access to one) so a lot of guess work went into getting the right speed for the game.

Now days we have emulators like BeebEm, B-em and ElectrEm to test the games.

The first game I came across was a Defender clone called Guardian by Alligata that was written by Steve Evans who had written several BBC games for them - but no BBC released version of Guardian (unless the author wrote one but didn't submit it or Alligata didn't publish it).

Here's a list of things to do...

1) take the original Electron uef of Guardian and load it into ElectrEm and see how it performs making a note of the speed of the game and the sound effects and any mode 6 screens.

2) take the original Electron uef of Guardian and load it into BeebEm or B-em and see also how it performs again making a note of the speed of the game and the sound effects.

3) load in a copy of the amended version and compare with the 2 above.

here is my latest revised version of Guardian with the speed set faster than the version on my disc014 but slightly slower than the original euf.

guardian.zip
(8.63 KiB) Downloaded 11 times


The idea is to get this game to run on the BBC at the same speed as the original uef does on a Electron.
It would appear that my original attempt on disc014 made the game too slow.

Here's the routine to slow the game down that gets poked into memory at &3A2

3A2 LDX #&FF
3A4 LDY #&12
3A6 DEY
3A7 BNE &3A6
3A9 DEX
3AA BNE &3A4
3AC JSR whatever routine was originally intended
3AF RTS
Note the &12 at &3A4 is currently included in the version of the game above and the one on disc014 has &18 which slows the game down further.

Also with Electron games the Envelopes sometimes need changing - well the last 6 numbers to 126,0,0,-126,126,126.

regards,
Mick.
Last edited by Michael Brown on Wed Aug 23, 2017 3:25 pm, edited 3 times in total.

User avatar
leenew
Posts: 3362
Joined: Wed Jul 04, 2012 3:27 pm
Location: Doncaster, Yorkshire

Re: Electron to BBC Converts

Postby leenew » Wed Aug 23, 2017 12:13 pm

Has the slowing down made the game more jerky?
Can it be done in a smoother way?
Challenge? :D

Lee.

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Wed Aug 23, 2017 12:20 pm

I think what's needed it to take the new version and load it into both BeebEm and b-em emulators and also load it onto a real BBC and compare the 3 and see where any jerky (if any) come into play.

It may then be that altering that figure (&12) to say &11 or &13 makes for a less jerky game.

I can't use my Beeb but the newer version seems alright under emulation.

Hopefully members can check this game out and leave me some feadback.

regards,

Mick.

PS If anyone has a better or alternative way to make Electron games run at the correct speed on the Beeb, then please let me know.
Last edited by Michael Brown on Wed Aug 23, 2017 3:26 pm, edited 2 times in total.

User avatar
lurkio
Posts: 1245
Joined: Tue Apr 09, 2013 11:30 pm
Location: Doomawangara
Contact:

Re: Electron to BBC Converts

Postby lurkio » Wed Aug 23, 2017 1:41 pm

Mick, this is a very minor and unconstructive comment, I suppose, but do you want to change the subject of this thread from "Converts" to "Conversions"?

Otherwise it sounds like it's about former Elk users who saw the light and became converts to The Way Of The Beeb -- which is only right and proper!

[runs like hell before daveejhitchins reads this]

:?:

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Wed Aug 23, 2017 3:23 pm

Sorted.

User avatar
daveejhitchins
Posts: 3673
Joined: Wed Jun 13, 2012 5:23 pm
Location: Newton Aycliffe, County Durham

Re: Electron to BBC Converts

Postby daveejhitchins » Wed Aug 23, 2017 8:24 pm

lurkio wrote:[runs like hell before daveejhitchins reads this]
[-X :lol:

Dave H :D
Parts: UM6502CE, GAL22V10D, GAL16V8D, AS6C62256A, TC514400AZ, WD1772, R6522, TMS27C512, AT28C256
Products: ARA II, ABR, ATI, AP6, MGC, AP5 . . .
For a price list, contact me at: Retro Hardware AT dave ej hitchins DOT plus DOT com

User avatar
Wouter Scholten
Posts: 171
Joined: Wed May 02, 2001 10:14 pm
Location: NL
Contact:

Re: Electron to BBC Conversions

Postby Wouter Scholten » Thu Aug 24, 2017 9:08 am

Michael Brown wrote:I think what's needed it to take the new version and load it into both BeebEm and b-em emulators and also load it onto a real BBC and compare the 3 and see where any jerky (if any) come into play.

It may then be that altering that figure (&12) to say &11 or &13 makes for a less jerky game.

I can't use my Beeb but the newer version seems alright under emulation.

Hopefully members can check this game out and leave me some feadback.

regards,

Mick.

PS If anyone has a better or alternative way to make Electron games run at the correct speed on the Beeb, then please let me know.



I tried the new version of Guardian and it's much better, as in playable and not as if I'm watching slow motion. But I have no reference as to what the original speed is. I do notice big slow downs when there are 2 or 3 landers picking up men at the same time on screen, then scrolling is juddery. Is it that way on the Electron?

As to proper speed decrease, this is not so easy as the time per loop can vary. I think the way to be most accurate is to use a interrupt routine that sets up a 6522 timer (a high order counter in zpage should not be needed, with the counter starting at 65535 you have 0.06 seconds), then when the loop ends you read out the 6522 counter registers to decide on how much time to wait. For MODE 5, what was the speed difference, about a factor 2? Well, wait (speedfactor-1) * elapsed time (elapsed time = 65535-counter) and then continue. This does not take into account games that speed up by I think it was switching the screen of during vertical retrace that I read about. So would need to measure there what would be a more appropriate speedfactor. Also vsync waiting or counting in games may be getting cooked by the long wait in one particular spot at the end of the game loop...

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Thu Aug 24, 2017 10:23 am

Just loaded the uef again into ElectrEm and there is a bit of judder, not sure though if this is a emulator problem - so this needs playing on a real Electron to see what happens there.

Just tried the game again and one thing I have noticed is that the game seems to run slower on B-em than it does on BeebEm.
Now if it is just BeebEm that runs it fast then I can add a detect routine to check for BeebEm and if not there then change the contents of &38A5 from &12 to &08 to make it faster on B-em (and a real BBC?).

Here is a brand new modified version of the game with the check for BeebEm.
Speed is set at &12 under BeebEm and will change to &08 under B-em (and on a real BBC?).

guardiantest.zip
(8.63 KiB) Downloaded 15 times


What I really need is for someone to play this newly amended verson of the game on a real BBC and compare the speed with B-em and if they are the same, and it is simply a BeebEm issue, then hopefully this version should sort it.

regards,
Mick.

User avatar
leenew
Posts: 3362
Joined: Wed Jul 04, 2012 3:27 pm
Location: Doncaster, Yorkshire

Re: Electron to BBC Conversions

Postby leenew » Fri Aug 25, 2017 1:01 pm

Hi Mick
I have tried the latest image on a real beeb and it plays well.
I have tried it on BeebEm and it seems to be comparable.
However, when playing it on B-Em, it is really sluggish, so I would ditch the differentiation between the emulators and I will try it again.
Please bear in mind I still haven't played it on a real Electron or Electron Emulator so I am not sure of the original speed, but it seems about right to me....

**EDIT** I have played the game in JSBeeb and the speed seems comparable, but it seems *SMOOTHER*, not as jerky....

Lee.

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Fri Aug 25, 2017 1:40 pm

Hi Lee,

That's odd - I thought B-Em would be closer to a BBC than BeebEm is.
Sadly cannot ditch the Emulator detector as it only detects if BeebEm is there (or not) and not B-em.

One thing I have done is alter the code that slows the game down to make it JSR its original routine &18A8 first then do the slow-down instead of the slow-down then JSR&18A8.

Here is another test image of that change.
Can someone check what this runs like on all formats.

Mick.

guardiantest2.zip
(8.63 KiB) Downloaded 15 times

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Fri Sep 01, 2017 8:41 am

Hi,

After playing the latest version a few times on both BeebEm and B-em - I think I have the closest balance I can get with this.
If anyone has any issues then please let me know.
If not - then I will add this version to my collection and re-post the disc asap.

regards,
Mick.

Michael Brown
Posts: 1883
Joined: Sat Apr 03, 2010 12:54 pm
Location: Nottingham

Re: Electron to BBC Conversions

Postby Michael Brown » Thu Sep 07, 2017 8:57 am

Disc 014 now re-posted featuring this amended version of Guardian.
I hope this is better for everyone.

regards,
Mick.

PS Will also re-post Alternative discs 105 and 109 which feature this change as well.


Return to “archive issues”

Who is online

Users browsing this forum: No registered users and 0 guests