loading UEF images into the Elk with UPCFS on EUP

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
fatbob_gb
Posts: 59
Joined: Mon Feb 11, 2013 4:25 pm

Re: loading UEF images into the Elk with UPCFS on EUP

Postby fatbob_gb » Sat Oct 18, 2014 8:08 am

It would be interesting to know how many of these don't work because of the presence of the plus 1

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Sat Oct 18, 2014 10:30 am

An interesting thought Graham but I guess it'd be a long job to find out if you had to use real tapes etc.
I usually use Tom Walker's Elkulator ( =D> ) to get a feel for a given game's 'sensitivity' to different hardware and firmware environments but you can't of course quite get precisely the config we are using.

fatbob_gb
Posts: 59
Joined: Mon Feb 11, 2013 4:25 pm

Re: loading UEF images into the Elk with UPCFS on EUP

Postby fatbob_gb » Sat Oct 18, 2014 11:53 am

If I get time I might try a few of the failures to see if they work from tape, especially the ones that lockup, or reset on complete load.

Update from this afternoons testing:
Working
romik folder:
AlienBreakIn_E
BirdsOfPrey_E
Caterpillar-Romik_E

samurai folder:
CastleOfSkullLord-Bugged_E

sfa folder:
BeebTrek_BE
RowOfFour_BE

shards folder:
Empire_BE
Galilee_BE

sinvasion folder:
3DBombAlley_E
Blitzkrieg_E
Gunsmoke_E
SuperPool_E

softek folder:
EyeOfZolton_BE
FiveStonesOfAnadon_BE

square folder:
Runestaff_E

squirrel folder:
BunFun_E
Supergolf_E

stell folder:
MathsInvaders_BE
Time_E

superior_blue_ribbon folder:
Arcadians-SRR_E
DeathStar-BRRR_E
Hopper-PIASRR_E
MagicMushrooms-SRR_E
Maze-SRR_E
Meteors-SRR_E
Monsters-SRR_E
Planetoid-SRR_E
Snapper-PIASRR_E
Snooker-SRR_E
StarshipCommand-SRR_E
Zalaga-PIASRR_E

supersoft folder:
Stix_E

swift folder:
FrenchOnTheRun-SRR_E

talent folder:
LazerReflex_RUN_E
West_RUN_E

topten folder:
GridIron_BE
Warehouse_BE

tynesoft folder:
Alphatron_E
BouncingBombs_E
BozoTheBrave_E
BuffaloBillsRodeoGames_E
CommonwealthGames_E
CylonInvasion_E
JetSetWilly2_E
JetSetWilly_E
Megaforce_E
MouseTrap_E
Oxbridge_E
RigAttack_E
SpaceCaverns_E
USDragRacing_E

usgold folder:
CrystalCastles_E
Kayleth_E
RebelPlanet_E

viper folder:
Sim_E

virgin folder:
Bugs_E
JungleJive_E

visions folder:
DareDevilDenis_E
Pengi_E


Not Working
romik folder:
AtomSmasher_E (AT LINE 360)
SharkAttack_E (Unexpected EOF)
WeetabixVersusTheTitchies_BE (Locks up on start screen)

shards folder:
Whoopsy_BE ("9000 Chunk type?")

sinvasion folder:
ChipBuster_E.hq
StairwayToHell_E.hq

slogger folder:
Dogfight-Opus_E ("1951 Chunk type?")

stell folder:
Identikit_BE (BBC VERSION)

superior_blue_ribbon folder:
3DDotty-PIASRR_E (click noise, so goes back to tape – Works with CH.”DOTTY”)
Blagger-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
BugBlaster-PIASRR_E (click noise, so goes back to tape)
Commando-PIASRR_E (click noise, so goes back to tape)
FrakV2-PIASRR_E (click noise, so goes back to tape – Works with CH.”FRAK2”)
Ghouls-PIASRR_E (click noise, so goes back to tape)
Guardian-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
Hunchback-SuperiorPIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
KillerGorilla-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
Monsters-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
Moonraider-PIASRR_E
MrWiz-BRRR_E (AT LINE 10)
Network-PIASRR_E
Pandemonium-PIASRR_E (LOCK UP ON TITLE SCREEN)
PercyPenguin_BRRR_E (AT LINE 10)
Repton-BRRR_E
Repton2-BRRR_E
Skirmish-PIASRR_E (click noise, so goes back to tape)
SteveDavisSnooker-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)
VideosRevenge-PIASRR_E (click noise, so goes back to tape – Works with LOAD””, GOTO 70)

tynesoft folder:
Boulderdash_E (click noise, so goes back to tape)
CircusGames_E (6369 CHUNK TYPE)
FutureShock_E.hq (END OF UEF)
Goal_E (AT LINE 9)
IanBothamsTestMatch_E (1202 CHUNK TYPE)
IndoorSports_E (click noise, so goes back to tape)
Kastle_E.hq (LOCKS UP AFTER LOADING)
Saigon_E (click noise, so goes back to tape)
SpyVsSpy_E.hq (END OF UEF)
TheBigKO_E (Bad Program)
TrekII_E
Vindaloo_E ("9051 Chunk type?")
Wetzone_E (Bad Program)
WinterOlympiad_E (AT line 11)
WinterOlympics_E (click noise, so goes back to tape)

usgold folder:
BeachHead_E (Just stays at the “Wait a mo...” prompt )
ImpossibleMission_E

visions folder:
Snooker-Visions_RUN_E ("12A2 Chunk type?")

yes folder:
Golf-YesSoftware_BE (MODE1??)

yourcomputer folder:
T-Y504 (BBC ONLY to run on Electron LOAD”” GOTO 90)

User avatar
Elk Towers
Posts: 489
Joined: Sun Apr 23, 2006 2:10 am
Location: Kettering, Northants
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby Elk Towers » Sat Oct 18, 2014 7:03 pm

I think you will find that some have the code in the first file to switch off the plus one, I know quite a few of the superior ones do.


Nick
Nick

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Sat Oct 18, 2014 9:18 pm

Graham wrote:Update from this afternoons testing:
Many thanks again Graham =D>

Some interesting stuff in there and as with other test findings, I'm encouraged that lots of the 'failures' seemingly only require a slight tweak to the loader to get them to run. For example, I'll look further at that PIASSR bunch where you've noted that a GOTO 70 sorts the loading problem - I've had a cursory glance and the preceding lines seem largely just to set up a Superior Software loading window where amongst other things, they perform a screen mode change (not using MODE) but it's only to Mode 5 so that shouldn't in itself cause a problem to UPCFS... :-k

All really interesting stuff though so thanks again to everyone for your generous time... :D :wink:

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Tue Oct 31, 2017 10:27 pm

Over on 8bitkick's PlayUEF thread, we were drifting in and out of some UPCFS relevant discussion but rather than unduly clutter that thread, I've moved the UPCFS chat back over here......

On the other thread, davidb wrote:
MartinB wrote:Incidentally, Arcadians is sadly one of the UPCFS ‘doesn’t work’ games on the Elk, although it does go right through the loading sequence before crashing :roll:. If it did work, then I’d be claiming that ‘world speed record’ because UPCFS loads the entire UEF in less than 10 seconds.... :wink:


If the other Acornsoft games work then it's a bit surprising if Arcadians doesn't. However, it loads the main game in a fairly non-standard way - despite Acorn preaching to users that they should use documented system calls - so I could imagine that it might trip up a filing system that differed from the cassette filing system in some key way.

One trick with Arcadians, as with other Acornsoft titles, is to disable the lock flag, *LOAD the main game, and call the code in the last three bytes of the file which is a JMP to the correct entry point. My UEF2ROM recipe for Arcadians doesn't do this but still manages to trick the Electron OS from loading it from ROM, so I don't know exactly why it might fail for UPCFS. Anyway, as you said, this discussion possibly belongs in another thread. :)


Well, many Acornsoft titles do work (not all but I haven't got the list to hand) so there's something about Arcadians that must be a little different to the norm. As I suggested on the other thread, it's probably easier to just cut to the chase and publish the UPCFS source so that anyone interested can have a browse. I can answer questions if/as they arise but the salient features of UPCFS are that it's largely rom-based (included in the UPURS rom), with some code and data being copied to ram at run-time (details in the comments I think) and it essentially endeavours to totally hijack CFS replacing all necessary file handling routines with ones based on the UPURS engine. Implemented are....

 *RUN
 *LOAD
 */
 *CAT
 *OPT
 CHAIN
 LOAD
 OPENIN
 OPENUP (read only)
 BGET#
 CLOSE#
 INPUT#
 EOF#


The UPURS manual (courtesy Paul V =D> ) describes UPCFS operation in a little more detail so I've also attached that for anyone who hasn't seen it.

upcfss_1dot0E.txt
(41.18 KiB) Downloaded 14 times

Elk UPURS User Guide.pdf
(1.78 MiB) Downloaded 11 times

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Wed Nov 01, 2017 11:30 pm

I wrote:Well, many Acornsoft titles do work (not all but I haven't got the list to hand) so there's something about Arcadians that must be a little different to the norm.

However, on reading earlier posts in the thread, I noticed that Graham (fatbob_gb) had previously noted that Superior Software Arcadians from the superior_blue_ribbon Elk UEF folder does work. I haven't explored the differences between the two versions but this is typical of the UPCFS compatibility subtleties that I've encountered.... :-k



User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby myelin » Thu Nov 02, 2017 6:31 pm

A possibly useful resource if you're trying to narrow down if the Plus 1 is the problem: http://myelin-elkjs.appspot.com/

This is a hacked up version of ElkJS that includes the Electron UPURS ROM and code to feed in a .uef file when it accesses the EUP registers, but doesn't include the Plus 1 ROM or emulate any of its hardware. Assuming the .uef you're testing works in ElkJs (try loading it with the 'Browse' button, and if that doesn't work, try it again with normal loading speed), this should give you an idea whether a failed load is because of the Plus 1 or an incompatibility with UPCFS.

I can also try out .uefs on my Electron, which has a Minus One rather than a Plus 1. Removing the ROM from your Plus 1 might give similar results.
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Thu Nov 02, 2017 11:35 pm

Ahh, that’s fantastic stuff Phillip... =D> You did of course tell me about it offline but I’d completely forgotten! :oops: I shall certainly give that a go and add it to my UPURS & UPCFS development toolset.

I have a couple of other projects on the go that need wrapping up but 8bitkick and his excellent PlayUEF has rekindled my interest in UPCFS. The Beeb UPCFS compatibility level is much higher than that of the Elk and some of this is down to the Beeb being spoilt with a 1k Mode 7 but in the case of both machines, I still feel that a bespoke stand-alone FS based around the UPURS engine is where I really need to go. I just need to find the life bandwidth..... :roll: :wink:

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Sun Nov 05, 2017 6:20 pm

MartinB wrote:However, on reading earlier posts in the thread, I noticed that Graham (fatbob_gb) had previously noted that Superior Software Arcadians from the superior_blue_ribbon Elk UEF folder does work. I haven't explored the differences between the two versions but this is typical of the UPCFS compatibility subtleties that I've encountered.... :-k

I haven't looked at the differences between the Arcadians loader and those of the other Acornsoft games but I just dug through the original version and compared it to the re-release.

The original version does lots of copying and checking its code against code that the loader has squirrelled away in pages 0400 and 0500, so that might cause problems if you accidentally step on things there. It does the usual ROM check, though that seems to be done only to check between the BBC MOS and the Electron OS. Note that the game runs on the BBC, even showing the title screen in MODE 7. Eventually, it copies parts of itself down into lower pages and runs.

All the re-release does is bypass the checks in the original game, so kudos to the person involved with re-releasing the game for Superior/Blue Ribbon. :) That version appears to include some extra data at the end of the file but, since nothing else is different from the original and it shouldn't be needed, I don't know why it's there.

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Sun Nov 05, 2017 7:08 pm

Following up on myself. :roll:

I looked at Snapper, Hopper, Magic Mushrooms, Meteors and Free Fall. Snapper and Meteors seem to be more conventional in how they load their main code. Hopper, Magic Mushrooms and Free Fall have similar loaders to Arcadians but only Magic Mushrooms and Free Fall seem to have similar "protection" code. This seems to agree with my recollections of transferring Magic Mushrooms to disk in the 1980s - in other words, I remember using the trick where you call the address three bytes in from the end of the main file to bypass all the loader checks.

I think a few of the re-releases had the original protection removed, perhaps for compatibility with certain hardware variations or just to make it easier to duplicate and test, though surely not as a service to owners of disk interfaces. :(

Edit: Boxer also seems to use the same system as Arcadians.

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Sun Nov 05, 2017 10:03 pm

Thanks for the musings David 8)

The original version does lots of copying and checking its code against code that the loader has squirrelled away in pages 0400 and 0500, so that might cause problems if you accidentally step on things there.

During development of the Beeb and Elk versions, I played with seemingly endless permutations of memory cubby-holes for the (relatively small) ram-based code and data that UPCFS needs and, from the source, you can see that for the Elk I ended up with these...

9D96A62A-7AE6-4F76-B2EF-7CC28F713545.jpeg


...where the page $06 area is BASIC’s string buffer & CALL parameters, the page $07 area is BASIC’s input buffer and the page $03 stuff is already owned by the OS CFS. So, I haven’t been outrageously greedy and I did spiral down onto these areas by a process of compatibility analysis so as I’ve previously alluded to, I suspect that a properly written UPURS-based FS is the only realistic way forward.

(This thread actually began as a community-based testing exercise for alternative UPCFS memory usage, such as the stack centre for example, but all we seemed to ever do was lose as many games as we gained and so ended up with no net compatibility advantage... :roll: )

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Mon Nov 06, 2017 12:53 am

I think a proper UPCFS filing system would be the way to go, though I could imagine it would be a lot of work. I can't immediately see if the memory allocations would be a problem for the Acornsoft games, and I didn't notice anywhere that might check for modified vector tables. For the MGC I don't trap *TAPE for Arcadians but enabling that didn't cause any problems.

I was thinking you could probably use the ROM images that the MGC uses if the EUP board has enough sideways RAM, but I don't know the specs of the EUP to say if this would be practical.

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Tue Nov 21, 2017 3:38 pm

davidb wrote:I was thinking you could probably use the ROM images that the MGC uses if the EUP board has enough sideways RAM, but I don't know the specs of the EUP to say if this would be practical.

If I remember correctly, you tested the Jungle Journey ROMs with your EEPROM solution and it should be fairly easy to do the same thing with the EUP. The UPXROM screenshot in the EUP manual seems to suggest that the EUP has 32K of SRAM to play with, so all of the existing MGC ROMs should work without problems. You just need to copy them into SRAM and boot them. :)

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Tue Nov 21, 2017 9:31 pm

That’s a good point David, I think I must have missed your previous post where you already alluded to this. I did, as you say, use your Jungle Journey game roms when testing e-squared on the Elk and very good it was too! A great game and perfect for the integration testing... =D> 8)

Yes, EUP does indeed have a 32k device capacity that appears as 2x16k sideways roms in the usual way and the device can be rom, eprom, eeprom or SRAM, where the latter would typically be a 62256 sram chip. To load these SRAM slots with UPURS (and I do), you do though need another rom slot (e.g. a second Plus 1 cartridge or similar) because Elk UPURS has to run from rom, there’s no disc versions of the utils like the Beeb. This is due to the need for a constant 2MHz clock with the UPURS bit-banging engine being cycle-timed code and Elk software running in user ram doesn’t necessarily guarantee this.

Anyway, assuming that one has this configuration, you simply use *UPLOAD Rn twice to load each rom direct from a PC (not UPXROM which is for exporting rom images) and then I guess you’d just boot the loaded game with a CALL or star command (?) as I did with Jungle Journey.

So David, running MGC game rom conversions sounds like a good call to me and one I shall investigate at some point unless any other of our readers fancies a play.... :wink:

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Tue Nov 21, 2017 10:00 pm

MartinB wrote:That’s a good point David, I think I must have missed your previous post where you already alluded to this. I did, as you say, use your Jungle Journey game roms when testing e-squared on the Elk and very good it was too! A great game and perfect for the integration testing... =D> 8)

Thanks. 8)

MartinB wrote:Anyway, assuming that one has this configuration, you simply use *UPLOAD Rn twice to load each rom direct from a PC (not UPXROM which is for exporting rom images) and then I guess you’d just boot the loaded game with a CALL or star command (?) as I did with Jungle Journey.

Star commands should work for Jungle Journey and Castle Raider. For other ROMs used with the MGC, you just copy them into SRAM or page them in and do a CALL !-4 instruction from BASIC.

It should at least be possible to experiment with 16K games for those without separate SRAM. :)

User avatar
myelin
Posts: 202
Joined: Tue Apr 26, 2016 9:17 pm
Location: San Francisco, CA, USA
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby myelin » Tue Nov 21, 2017 10:08 pm

You could do this without a second cartridge by loading UPURS into one SWRAM bank, loading one ROM image into the other bank with *UPLOAD, loading the second ROM image at &2000 with *UPLOAD, then copying the second ROM image over the top of UPURS in your first SWRAM bank.

That said, the sweet spot would probably be a cartridge that has several RAM and flash banks, plus a CPLD, and lets you switch between them -- that way you could run MMFS out of bank 0, *UPLOAD into bank 1, map bank 1 to another RAM bank, *UPLOAD the second image into bank 1, then map the two RAM images into banks 0 and 1, and you're done. Basically the MGC, but with a selectable RAM chip as well.

(While you're at it, you could put in a USB serial port, and a micro SD socket or two, so you effectively have your EUP on board too. I'm going to do this as an internal Elk expansion sometime; not sure if it'll ever be a cartridge though.)
SW/EE from New Zealand, now in San Francisco: http://myelin.nz/
Having fun making hardware projects for the Electron!
So far: 32k flash cart, USB cart interface, 3-cart expansion, Elk PiTubeDirect. Later: Dual ported ram cart.

User avatar
MartinB
Posts: 4555
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity

Re: loading UEF images into the Elk with UPCFS on EUP

Postby MartinB » Tue Nov 21, 2017 10:51 pm

David wrote:Star commands should work for Jungle Journey and Castle Raider. For other ROMs used with the MGC, you just copy them into SRAM or page them in and do a CALL !-4 instruction from BASIC.

It should at least be possible to experiment with 16K games for those without separate SRAM. :)

Ok, thanks David, sounds good. Won't be in the immediate short term, I've got the eeprom utils to fix after Ken broke them ( :wink:) and I'm juggling a couple of other projects but this does sound like a fun experiment :). Incidentally, are all the MGC-converted images available anywhere?

Phillip wrote:You could do this without a second cartridge by loading UPURS into one SWRAM bank, loading one ROM image into the other bank with *UPLOAD, loading the second ROM image at &2000 with *UPLOAD, then copying the second ROM image over the top of UPURS in your first SWRAM bank.

Good point Phillip, but then we're creeping into needing at least some code-move software which would detract from the minimalist approach that I usually set as a remit for these things O:)

and wrote:That said, the sweet spot would probably be a cartridge that has several RAM and flash banks, plus a CPLD....

Ahhh, your skills far outweigh mine so I would surely have to defer to you for such things.... :wink:

User avatar
davidb
Posts: 1901
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: loading UEF images into the Elk with UPCFS on EUP

Postby davidb » Tue Nov 21, 2017 11:09 pm

MartinB wrote:Incidentally, are all the MGC-converted images available anywhere?

There are recipes available for converting the UEFs, but not the images themselves. I'm happy for someone to host them if they want to.


Return to “hardware”

Who is online

Users browsing this forum: No registered users and 10 guests