FileCore_DiscOp64
Jon Abbott (1421) 2641 posts |
In the sourcecode for FileCore_DiscOp64 it errors out on line 400 if the drive number is greater than 7. Does that mean filing systems should not pass on “xxx_DiscOp64” to FileCore_DiscOp64, but should instead implement the SWI directly? Or, is the intention to enhance the DiscOp entry to support 256 drives? Secondly, where is the code that translates drive names (eg ADFS::HardDisc4.$) to drive numbers when files are accessed? |
Charles Ferguson (8243) 427 posts |
It was originally documented that the entry point was intended to be able to allow more, but the current limitations of FileCore meant that initially only 8 drives were supported. Basically, that it was a cheap implementation that allowed extension in the future. As I recall it just munges the externally defined API to call the internal APIs which are limited. That’s despite the fact that it’s an architecturally bad way of accessing discs, and should have been abstracted out of FileCore long ago. I know there’s been a couple of bounties related to the discs, so this original limitation might have been lifted, but as those bounties are – again – architecturally deficient and rely on essentially hacking away at the current code, rather than addressing the problems properly, I would very much doubt that the situation has changed from when this interface was defined over a decade ago. Looking at the code you cite, using the Blame option, you’ll see that it is pretty much unmodified from its original implementation – the expected extensions of the internal interfaces don’t appear to have happened. If you’re looking for the name translation code, your best bet would be to start from the UpCall that gets issued if the named disc isn’t found (MediaNotPresent?) and work your way outwards. Hmm. That wasn’t successful for me, but |
Jon Abbott (1421) 2641 posts |
Thanks. Looking at ParseDriveCommon it allows A-H to be used instead of 0-7 – do we need to retain that? At first I thought it might be for DOS drive references, except the first HD would be E, not C using that nomenclature. I don’t recall any mention of this drive naming elsewhere. |
André Timmermans (100) 655 posts |
I think the drive letter usage was mentioned in one of the RISC OS Select release to say that they removed that code. |
Rick Murray (539) 13806 posts |
Drive references can be letters? Since when? Was this some sort of old MOS thing? Just eyeballed the Arthur PRM, and no mention of this… |
Stuart Painting (5389) 712 posts |
The only place I’ve seen any mention of it is in the RISC OS 3.6 Release Note, which contains the statement “Also avoid naming DOS discs by the single digits ‘0’ to ‘7’ and letters ‘A’ to ‘G’” on page 4. |
Charles Ferguson (8243) 427 posts |
I remember I found that in the sources back in Select and it looked like garbage. I can’t remember if it was a hold over from the FS on the Compact, but it really just seemed wrong, and it confused things and – to the best of my knowledge – it had never been mentioned anywhere. I don’t remember removing it but if I did, I feel pretty good about that. |
Rick Murray (539) 13806 posts |
First I’ve heard of using drive letters in all my time of using Acorn systems. Just downloaded and whipped through the user guides and AUGs for the Matter and Master Compact, plus looked at the filing system part of the Arthur PRM. Heh, it probably turned up in RISC OS 3 because some management wonk said “I want drives to be addressable by letter ’cos DOS does it like that”, and since it was literally two instructions it get thrown in and nobody else was told. ;) |
Rick Murray (539) 13806 posts |
Just been sent an email by somebody who reads the forums but isn’t a member. He pointed me to page 29 of the ADFS User Guide (http://chrisacorns.computinghistory.org.uk/docs/Acorn/Manuals/Acorn_ADFSUG.pdf). So there we go, that’s the origin of the letters, a leftover from the distant dark days when harddiscs were called “Winchesters”, an idea that…was mentioned nowhere else, it seems. Cheers, James. 🍺 |
Steve Pampling (1551) 8154 posts |
Ah, the days when floppies were, stiffies were not and hard discs were not a symptom of advanced age. |
Jon Abbott (1421) 2641 posts |
On further reflection I wondered if it was a throwback to BBC days when you had A/B sides on 5 1/4 floppies, although I can’t fathom out why it was implement the way it is. Perhaps Acorn couldn’t make their mind up about using drive numbers or drive letters under Arthur, so hedged their bets and implemented both. |
James Pankhurst (8374) 126 posts |
Ah that good old word “convenience”. At least the ADFS UG talks about making backups, no one seems to these days, especially for their “vital data” that they “can’t afford to lose”, didn’t back up. |
James Peacock (318) 129 posts |
Use of drive letters for ADFS is mentioned in the Master reference manual:
Section G.2-3 |