More than likely an update to the main manual as it will be integral to the UPURS ROM image.
There's a long way to go yet though, with sorting out some questions over some UEF files and support for *RUN needs to be added so its use is limited at the moment.
We feel we've got to the stage though where the proof of concept is good, the target is achievable and the video shows the performance off to great effect.
It's now a matter of more time and testing to sort out the niggles.
...This is going to make the UPURS system so versatile...Hugh
Totally agree Hugh! I don't want to jump the gun or anything prior to MartinB formally releasing UPCFS down the road, but the speed of loading uef's is nothing short of phenomenal .
I'm just wondering if there's software in existence on uef's that never made it to disk?
If so, UPCFS will be a real treat for anyone with a disk-only system. Furthermore, for those of you with tape-based systems (or indeed precious tapes that you don't want to risk damaging/deteriorating), it will bring blistering 21st century speed to loading the multitude of uef's in wide circulation.
All-in-all, a brilliant utility that will supplement everyone's existing system(s)...!
Mr. Barr, I expect upon it's release, to see an annual Google Doodle celebrating it .
Ok, I've done another couple of videos of the latest UPCFS beta which introduces support for *RUN
MartinA and I have worked through a ton of UEF's checking for compatibility and MartinB I suspect has developed numb fingers from all the work he's put in to date
There's still a long way to go to maximise compatibility but it's definitely making good progress.
I think that the worst thing is the horrid smell that hangs around for a while and upsets the other people in the household, who then keep asking "what are you doing? Is that burning I can smell?"
Anyway, more good work by the UPURS team for the development of UPCFS. I look forward to its release
The sound at the end of that little video is that of the patio door being flung wide open on a cold November night to set the magic smoke free . It totally caught me unawares . I thought I'd already re-capped all my Beebs... Not that one it turned out . Still, I had some spare caps (my last in fact) so it didn't stop me testing UPURS for very long .
My testing alone now covers the use of *CAT on over 600 UEFs and the use of CHAIN, LOAD, *LOAD and now *RUN on 64 UEFs which we're using as a representative test set because the issues we've found seem to run along a handful of common themes such as copy protection methods etc.
When you consider what MartinB is up against with games programmers wringing every last byte of RAM out of the Beeb and using custom tape loaders etc., just finding a safe(ish) space for the UPCFS code to reside as a resident service is a pretty tall order, never mind the process of intercepting *TAPE and related OS calls and finally loading the stuff over the user port at 115Kbps.
Every single new release of the beta ROMs is like Christmas, figuring out which of the UEF's we can add to the confirmed working list
I know we've got plenty of options when it comes to file transfer tools and data storage solutions with the Beeb including great projects like the DataCentre, GoMMC etc. but I think that adding support for UEF's on real Beeb's into that mix provides a great benefit to the community and makes UEF's not only an emulator format but a true archival format too.
<snip> I think that adding support for UEF's on real Beeb's into that mix provides a great benefit to the community and makes UEF's not only an emulator format but a true archival format too. Can you tell I'm enthused by the project?
Not sure it really comes through in your post... I mean, hours of testing...
paulv wrote:
My testing alone now covers the use of *CAT on over 600 UEFs and the use of CHAIN, LOAD, *LOAD and now *RUN on 64 UEFs <snip>.
and repairing beeb's...
paulv wrote:
I thought I'd already re-capped all my Beebs... Not that one it turned out . Still, I had some spare caps (my last in fact) so it didn't stop me testing UPURS for very long .
I'm not sure, may be if you did a little more, we may then be able to call you dedicated
If this keeps up, I'm gonna have to search Google and / or eat a large dictionary for some more words to describe and thank all the good excellent work that is being done
If this keeps up, I'm gonna have to search Google and / or eat a large dictionary for some more words to describe and thank all the good excellent work that is being done
Mark
The way I look at it is this. MartinB is putting in a shed load of effort to actually make this happen and I'm going to benefit from it so doing the odd bit of testing is the least I can do to help. With that in mind, all those good vibes should be directed at MartinB after all, without his tinkering, MartinA and I wouldn't have anything to test.
Besides, both the Martins will tell you, I've got the bulk testing process down to a fine art with user defined function keys on the Beeb and the use of keyboard short cuts on the PC to make things go that bit faster. Once you start you get into a rhythm with these things
Paul is seriously understating the significance of his and t'other Martin's contributions to the development of UPURS in all it's guises. I won't have you all sticking your fingers down your throats because of gaggy back-slapping but trust me, it really is one of those things that without the close air support of P & M, the project would just crash and burn
On UPCFS and even if I say so myself, it is sooooo cool to grab a barebones Beeb with nothing more inside than it left the factory with, pop in an UPURS rom and then start playing endless games all served up direct from your PC. No media, no gadgets, no fuss, all fun
Where does UPURS curretly stand on tape emulation?
Currently it's still technically in beta form.
MartinA, Hugh and myself have been testing drops for the last couple of months on a regular basis for MartinB and we've just received "drop y" yesterday.
As of Drop x, UPCFS which is the CFS part of UPURS is exceeding an 84% compatibility rate from our tests which covers a total of 241 UEFs tested from the Stairway to Hell Archive of BBC Micro UEFs.
The main compatibility issues are those that arise from copy protection that effectively detects the fact that it's not the true in-built CFS and where the software resets the system vectors that UPCFS intercepts itself in order to work in the first place.
I'm working on a couple of things on the website to help us with error reporting once the initial public release goes out into the wild so we can keep track of any UEFs that we haven't tested during the process. As you'll appreciate, the STH BBC B archive alone has a shade over 1600 titles so testing that lot between four of us when we end up playing the games we're testing takes up quite some time.
Here's a short "highlights" list of known working titles.
Joined: Wed Feb 02, 2005 4:13 pm Posts: 2744 Location: Shadow in a Valley of Scotland
^ another two could be:- Ultimate-Nightshade (OS1.2 only) & Acornsoft-JCB Digger (see if it handles the '?' char). If they both work, all should work 101%
_________________ 10P."This site is ace "; 20GOTO10 RUN This site is ace This site is ace This site is ace This site is ace
& Acornsoft-JCB Digger (see if it handles the '?' char).
I've just tried it in BeebEm under a special version of UPCFS and it does load all the way through but then appears to perform a reset back to the standard Beeb start-up screen. Did you expect it not to load?
I'll try it on a real Beeb later.
EDIT : Just tried the JCB uef under *TAPE in BeebEm and it does the same thing!
One thought, which might get me shot down as a heretic: would it be possible to produce an OS ROM where the real CFS routines were replaced by UPCFS?
We've had those very discussions.
Certainly some of the games on the not quite working list appear to be doing a simple check to see if the CFS vectors are pointing above &8000 or below, at which point they crash out whereas others are taking the vectors from ROM and resetting them all to ensure that it's talking to the real CFS system. In both scenarios UPCFS cannot currently work as it requires a little bit of software to reside in RAM and the vectors that point to it can get reset or in some cases, the area of RAM used gets corrupted by the program loading something into the same memory space.
As for the saying any more about actually building a custom OS ROM with UPCFS code in, I think I'll leave MartinB to comment
Yes indeed Michael, very much discussed as Paul says but eventually dismissed - not so much for reasons of heresy but more because we think it would greatly restrict the user-base. I've always aspired to a system that is minimally invasive and I guess you can't get more so than by suggesting a change of OS! (That said, your thinking is correct though in that the only route to a 'perfect' solution would be a patched OS.)
The current system is showing well over 80% compatibility and we have a good handle on those that aren't so easily fooled so given that this is the first stab, it aint that bad . The next phase will be to convert the system to a full FS which will remove the vulnerable rom switching code and offer greater immunity to software 'resets'.
Anyway, UPCFS Version 1.0 is now frozen and stable and I'll be releasing that in the next few days. Hopefully, we can then engage some of the UPURS-equipped hacking gurus [nods for example at billcarr2005] with a view to further compatibility refinements and/or the 'tweaking' of stubborn uef's to bring them in line. (Whilst still retaining the tape authenticity of course )
As a transfer (and now 'direct play') system, the combination of UPURS and UPCFS (all in a single rom) makes for quite a robust and inexpensive solution
As a transfer (and now 'direct play') system, the combination of UPURS and UPCFS (all in a single rom) makes for quite a robust and inexpensive solution
MartinB is considerably understating his achievements with UPURS and UPCFS. I've been lucky enough to have been very slightly involved with him, MartinA and PaulV as they worked together to take UPURS from being a very impressive suite of data transfer utilities to include a completely new type of filing system. For a very modest outlay, Beebs can be opened up to all of the tape-based software available on the internet. Access is easy, the speed of loading a UEF from PC to micro has to be seen to believed and the guys have worked tirelessly for many months to achieve a very high compatibility rate. With the hacking talent available on these forums I would be very confident that the remaining problem tapes will be sorted very quickly once Martin releases version 1. These guys deserve a lot of support and applause for what they've achieved. I have a folder containing hundreds and hundreds of emails generated as they continued to develop this new system. A high proportion of them testify to the all-nighters that have been pulled in cracking particularly difficult problems (quite a few supplied by me, I'm afraid). Looking ahead, Martin has occasionally alluded to an Electron version which I really hope he goes on to develop. It can be difficult and expensive to equip an Elk with an modern filing solution and UPCFS would be ideal and could give the Elk a whole new lease of life. It will be fantastic to finally see UPCFS launched. Hugh
Ok then, excited and expectant audience, UPCFS 1.0 is here
I was going to write all sorts of accompanying words but making a video and getting it onto You Tube has been very traumatic and brought out the Victor Meldrew in me so I'm not in a talkative mood
It's got full instructions and a couple of troubleshooting items in it.
Also, one thing MartinB forgot to mention which is important.
UEF files are traditionally gzip'd so they need to be fully decompressed versions of the UEF file before UPCFS can use them... More details in the manual.
Hello again, I think my techno-stress and gadget-anger levels have returned to normal now so thanks for the feedback thus far
I apologise for the curt post last night and I won’t bore you with the details but in essence, that video has a lot to answer for . It was the third full version interspersed with hours of turgid and ultimately wasted uploading time whilst the Beeb was the second of two after the first ignored No Smoking signs and then later kept hitting the ‘Language?’ barrier . (Oh yeah, and YT just plain lied to me about the first link they allocated )
Anyway, my major omission was not to thank Paul (paulv) & t’other Martin (mga1103) for all their help with UPCFS. I seriously doubt it would ever have made it to release without their efforts . Paul has already pointed to his fantastic all-things-Beeb site where you can find all the background info to UPCFS, an amazing manual and details for how we hope to advance the development. Talking of ‘advance’, I must also mention my friend and armageddon, Hugh (Advance), who found more ways to ‘break’ UPURS & UPCFS then there are bytes in the code – certainly kept me on my toes
A bit more detail then….
UPCFS has three functional layers, the RS232 115K byte-fetching engine, a UEF reader and the CFS emulation itself. Regarding the UEF reader and as Paul has already mentioned, UEF’s often seem to be ‘gzipped’ and the Beeb isn’t really up to unzipping on the fly so you need to make sure that you’ve unzipped a UEF properly before using it with UPCFS. (It will refuse to play and tell you if a file is gzip btw.) For example on this - if you download a tape file from STH where it will have a zip extension (test.zip), unzip it and a .uef will fall out (test.uef). However, you then need to add a .gz extension (test.uef.gz) and unzip it again when a true UEF will result (test.uef again!). Paul and/or Martin know more than I about how to automate this process and perhaps might elucidate on a possible plan to provide a pre-prepared library?
The CFS emulation is necessarily accurate and I should point out that all the code is written from scratch, none of the OS code is re-used and no calls are made to the OS other than to the documented library. This approach ensures maximum compatibility across the Acorn range and will make an Electron port a breeze. I (we ) intend to convert UPCFS into a full FS (current a Utility rom) and this will offer an immediate improvement because for starters, there is a potentially vulnerable block of about 60 bytes of ram used by UPCFS for rom switching that would vanish in an FS wrapper.
We would very much like to engage interested parties (hackers and tinkerers etc.) to see if we can better characterise why certain games fail. We have a good handle on this side of things and whilst there are some techniques that can not be sorted in the short term, there may be some protection techniques that could be overcome if the CFS emulation in UPCFS was even tighter still. If this sort of exciting investigative work interests you then you are welcome to a copy of the source code but I don’t want to wholesale lay it bear until we believe we’ve reached the 99% compatibility end-game.
Thanks Paul - remembered one other thing, the emulator version.
When investigating UEF compatibility, we discovered that working on a real Beeb can sometimes be a little tricky for logistical and toolset reasons so I have been producing parallel emulator versions of each development drop. Obviously we can't use a serial link within the emulator so the core RS232 engine is replaced by a routine that pulls the UEF bytes 'serially' from a UEF image which has been transferred to rom. This rom conversion simply requires the UEF hex image to be chopped into 16k chunks (roms) in a hex editor. These UEF 'roms' are then copied into the emulator SWR banks 5, 6 & 7. (The max size UEF that can be supported at the moment is therefore 48k) The only shortfall of this method is that UPCFS cannot detect an EOF so you will usually see an error message after a *CAT or if the rom UEF image is in any way overrun. Note also that to 'rewind the tape' you have to press <Break> and re-enter *UPCFS.
If you want to try this, download the emulator version of UPCFS (V1.0EM which is embedded in the attached UPURS 5 rom) and 'fit' to BeebEm or B-em. Then 'fit' the two attached roms, AA1 & AA2, into SWR banks 5 & 6. This done, you can use UPCFS as it would behave on a real Beeb but limited of course to the 'fitted' UEF. We've found that it's a really useful tool for investigating and fixing UEF compatibility issues.
I must also mention my friend and armageddon, Hugh (Advance), who found more ways to ‘break’ UPURS & UPCFS then there are bytes in the code
My erstwhile employers said I was put on this earth to be difficult. It's so nice to find someone else to annoy.
Anyway, you may be cheered to hear that the cables got here this morning and Arcade Action and Meteors are now behaving perfectly. True to form, though, I've found a couple of duds and have posted them on Paul's reporting page - it's very quick and easy to use.
I'm really chuffed to have UPCFS working on the Master to coincide with the official launch and hopefully no-one else need go through the same probs. Worth it all just to watch tape files load like lightning.
Once again thanks for your efforts to solve the hiccups while still immersed in developing the code - I am still in awe of the time, effort and dedication t'other Martin, Paul and you put into this project and it's been fun watching from the sidelines.
All's left now is a quick Electron version to save the beast from extinction at the hands of the key-strippers. Hugh
Joined: Sun Mar 20, 2011 12:02 pm Posts: 345 Location: Under the bonnet
How do you get the rom file posted above onto the beeb? i cant seem to transfer it any way shape or form Also when i try any transfers upssd or updsd i get write error on the beeb but my gut feeling is its because the mmc rom is trying to take over the dfs side of things so ill pull that out at some point. Just cant figure out this upcfs rom.
EDIT: ok pulled the rom out and it was no different but i figured it out it was because the floppy was formatted in double density, redid it single and its working superb.......now just got to firgure out how to get this upcfs rom into my beebs sideways ram??? hmm
RE-EDIT: I put the rom back in to test and its a no go so upurs will definately not work with the mmc or turbo mmc rom in place, more than likely a user port issue. So it might be worth a mention in the problems page maybe???
RE-RE-EDIT: Nevermind i figured it out now but since i have version 5.0R in sideways ram can i now clear out version 4.1R???
_________________ BBC Computer 32K BASIC >*DOWNLOAD EVERYTHING POSSIBLE Searching _
Users browsing this forum: No registered users and 1 guest
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum