Rename SCSIForm
Theo Markettos (89) 919 posts |
To format a FileCore device on a modern platform, we have:
The only recognisably ‘SCSI’ device that SCSIForm works with in the RISC OS 5 world is the Acorn SCSI card for people with an Iyonix with a podule backplane… an audience of approximately zero. And what’s with the ‘Form’ suffix… what’s wrong with ‘Format’? The naming is very confusing. So how about renaming SCSIForm to be, say, USBFormat? I know we’re all waiting for the One True FileCore Formatter Utility, but this is a simple change that would reduce the confusion for new users. |
Jess Hampshire (158) 865 posts |
HDformat. Hopefully one day it will support PATA (perhaps via a SCSI to ATAPI driver?) |
Jeffrey Lee (213) 6048 posts |
PATA/SATA/ATA/IDE support from SCSIForm is impossible; the ATA command set is completely different from the SCSI command set. SCSI commands can be sent over PATA/SATA cables via ATAPI, but that’s only going to work if the device at the other end can understand it. In practice only CD/DVD/etc. drives use ATAPI; hard discs and SSDs stick to using the native ATA commands. According to Wikipedia, the reason ATAPI exists in the first place is because there wasn’t any sensible way to expand the ATA command set to cope with more than just hard discs. So instead they just invented a way to send SCSI commands over the cables. |
Steffen Huber (91) 1953 posts |
At the end of the day, it boils down (again) to a simple block driver interface for all “drives” and “interfaces”, be they SCSI, USB, P-ATA, S-ATA or ATAPI. Basically, four “commands” would suffice: read block(s), write block(s), return the bytes per block, return the overall capacity. And remember that ATAPI is also used for many harddisc-like removable discs like ZIP/JAZ/REV/SyQuest/MOD/DVD-RAM/BD-RE/PD. OK, most of those are a bit long in the tooth… |
Matthew Phillips (473) 721 posts |
I agree that, for the moment, a rename to USBFormat would be best. A future application which does IDE hard drives as well, and handles partitions, could be called something else. (Is this part of your thinking for getting the Raspberry Pi release a bit easier to use for newcomers, Theo?) |
Andrew Conroy (370) 740 posts |
There is already a !USBFormat in use for formatting USB devices on the Simtec/UniPod/A9home USB interface, although this formats to FAT16 IIRC, and of course is limited to 2GB maximum size. It’s not got an official allocation though, so could probably be ‘usurped’! |
Sprow (202) 1158 posts |
I just looked at HForm again (the common source for both formatters) and my mind boggles why two apps were bred like that. The sheer amount of effort to make those changes vastly exceeds that of just deciding at runtime. So, I reckon I can reunify them in a couple of hours (there are about 30 differences, about 15 of which are actual code differences, and the others are doing things like looking in SCSIForm$Dir instead of HForm$Dir and hence would vanish). There would be some logic at startup along the lines of IF scsifs_present AND NOT adfs_present THEN mode = SCSI I think Iyonix users would therefore be the only people being prompted. Note this isn’t the one true FileCore formatter of which people yearn, but it is at least one less bit of confusing madness as an interim step, the one true formatter should probably be in C unless BASIC gains some 64 bit variable types in the meantime. |
Jess Hampshire (158) 865 posts |
I think there is an obvious name within that sentence.
Shouldn’t it be named as though it is? Then when the One arrives, it can just adopt the name with the next digit up version number. |
Ronald May (387) 407 posts |
I dont think USBFormat is any more enlightening than SCSIFormat. If it was to be a unified formatter perhaps some name to do with the action being performed. For example FatFormat. For my use I often format my USBdrive with SCSIForm for backup purposes, and can do so knowing I cant format the IDE by mistake. Hopefully this safety factor would continue. |
Jess Hampshire (158) 865 posts |
Hopefully the prompt would be big and scary. Also it would be good if it said which system it is using before it commits anything. |
Sprow (202) 1158 posts |
OK – after 3 hours of scraping my fingernails down a black board I’ve combined SCSIForm back into HForm so that the one tool deals with both. Could I ask at least one person takes it for a test drive? Ideally that person would
There’s a minimum of 4 questions you have to answer before anything gets formatted, more if you have to pick devices, and even then there’s a last “are you sure?” so I think that’s a fairly large safety net. |
Jess Hampshire (158) 865 posts |
I might get a chance this weekend, otherwise it’ll be late next week. Presumably it should work on an RPC as well as an Iyo? Hopefully it’ll run from a blank machine (i.e. saved to floppy) |
Sprow (202) 1158 posts |
Yes, it should work on anything after RISC OS 3.60. I checked it on ADFS on RISC OS 4.02 booted from ROM, so I think that particular combination is good. |
Jess Hampshire (158) 865 posts |
Obviously I’ve not seen the new version yet, presumably you have replaced the outdated defaults with something more modern (e.g. 128GB for RO 4, and to keep the Iyonix using UDMA, 2GB for RO 3.7, etc)? |
Jess Hampshire (158) 865 posts |
I’ve just tried it. It appears to work fine on a couple of memory cards. However, if an empty slot is chosen it gives an error message Also, it might be nice to default to scsi. I won’t be able to try on IDE for a while. |
Sprow (202) 1158 posts |
Thanks for testing the SCSI stuff, there were a few places where SCSIForm was just using PRINT"Messsage in english" rather than translating via the Messages file, and it looks like I got the one at line 650 wrong! I’ve fixed that an uploaded a corrected one.
The table of known drives isn’t really intended to be used by humans, it’s mainly there for HForm’s slightly undocumented manufacturing test case (you can reply to all the questions by setting HForm$AutoReply) and so only contains those models that got used in production – so it gained a few 40G/80G models but it’d be an endless task to add every drive made by every manufacturer. Choosing ‘OTHER’ uses the values queried from the drive, which is what you generally want to do.
Where only one of its known filing systems is present it will do so (eg. Beagleboard), but from the sounds of it you tested on Iyonix and therefore had to choose per my post of November 26th. If you, or someone, can get back to me on using it on ADFS on the Iyonix I’ll get it released. |
Jess Hampshire (158) 865 posts |
I was thinking of the cases where you want to format to smaller than the capacity. e.g 499(?) MB for RO 3.5, 2GB for 3.7 (without patch/buffers setting) 128GB for Iyonix, so whole filesystem uses UDMA.
Sorry, I meant the default answer, not that I wanted to lose the ability. On an Iyonix, it would be more common to format an external drive, setting the default answer to S would remove one possibility for disaster.
Unfortunately (or fortunately from POV of bank account) I’m unlikely to have time to do the required work on the Iyonix for about a week. |
Jess Hampshire (158) 865 posts |
As it turned out, I found time. |
Sprow (202) 1158 posts |
Oh, I see what you mean. But no, I’ve tried only to do the minimal amount of work on it because I think HForm is a dead end in its current guise – and I’m mindful that the filing system bounty for partitioning includes HForm work for someone. It does however stop you trying to format beyond the capabilities of the filing system – for example stopping at 512MB when the sector disc op isn’t supported.
Good idea. I’ve done that and checked it in. |