Partition Manager feedback

General development discussion not covered by a specific forum
JonAbbott
Posts: 3085
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Thu Apr 20, 2023 8:32 pm Are you really loading a 3.1 version of BASIC even on a RISC OS 4.39 machine?! :-(
If you've got a recent BASIC, its not loaded. It's primarily for old machines that haven't had a PlingSystem update.
IanJeffray wrote: Thu Apr 20, 2023 8:32 pm I noted this previously... the A9's native FS is IDEFS - the Simtec IDEFS, and as such obviously has to therefore be 32bit.
Could you upload a copy of the IDEFS Module please, I'll need to check it and modify PM to support it correctly.

I'll check through the debug logs and come back to you.
User avatar
IanJeffray
Posts: 163
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Thu Apr 20, 2023 9:45 pm Could you upload a copy of the IDEFS Module please, I'll need to check it and modify PM to support it correctly.
Attached. It's probably not worthwhile doing anything to specifically support A9. I was mainly interested to see if it would throw up anything that'd be a more generic issue / test.
Attachments
idefs_a9.zip
(14.03 KiB) Downloaded 417 times
JonAbbott
Posts: 3085
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Thu Apr 20, 2023 9:48 pm Attached. It's probably not worthwhile doing anything to specifically support A9.
Thanks, it will take me a while to reverse engineer it and work out its limitations so I'll probably just flag it as unsupported for the time being.

Right...the good news first. Everything Partition Manager is showing you is correct:

The FUJITSU has &4A85300 512 byte sectors = 37.26 GB
The "partition" on it (A9) is &4D00000 sectors = 38.5 GB

The 2GB DOM has &3D0BF0 512 byte sectors = 1.95 GB
The "partition" on it (2GB_DOM) is &300000 sectors = 1.5 GB

Now the bad news.

Clearly the logical FileCore drive sizes do not match the physical drive sizes and in the case of "A9", it exceeded the physical drive size. Worse still, a read beyond the end of the A9 partition succeeded so IDEFS is possibly wrapping the drive. There's an issue in Partition Manager here as it should have not attempted to read beyond the size of the drive.

As Simtec doesn't have a partition table it cannot support unused space on the disc so you essentially lose the 417 MB at the end of 2GB_DOM. There is however an issue in Partition Manager as it should have shown that 417 MB as Unallocated and allowed you to add a 2nd partition.

IDETool must be rounding the partition sizes, but not doing it quite as we'd expect. It's not rounding to cylinders as a cylinder is &400 sectors on both drives. It seems to have rounded 2GB_DOM down and A9 up - I can't fathom out how it got from &4A85300 to &4D00000 on "A9" though.

Finally - again due to there not being a partition table - when initialising the drive as "Simtec partitioning" PM is going to fall-back to a full-disc FileCore drive when it refreshes the drives as it can't tell the two apart. I'll need to put my thinking cap on and figure a workaround for that issue.

Issues I need to resolve:
  1. Report if a partition exceeds the physical drive
  2. Ensure it doesn't exceed the drive size when trawling the disc for Simtec "partitions"
  3. Show any blank space after the last partition on Simtec
  4. Identify a drive that's been initialised as Simtec partitioning
  5. Include a recent 32bit BASIC with PM
User avatar
IanJeffray
Posts: 163
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Thu Apr 20, 2023 11:29 pm I can't fathom out how it got from &4A85300 to &4D00000 on "A9" though.
Well. It's really a 40GB disc. And there's a boot partition that only the BIOS can see - that's where the RISC OS softload ROM sits, etc.
I'm guessing there's some shenanigans in IDEFS to hide that bit of the disc from RISC OS and maybe that's how it's getting confused.
JonAbbott
Posts: 3085
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Thu Apr 20, 2023 11:52 pm there's a boot partition that only the BIOS can see - that's where the RISC OS softload ROM sits, etc.
Ah...that's interesting. I'm assuming you can see that partition if the drive is plugged into a PC? I'll have to do some research on that as PM could potentially trash that area by mistake.

I did find it odd that when you work out the manufacturer size from the IDE IDENTIFY, it's only 38.15GB so there's over 1GB missing. Does the A9 come with a tool to create that partition on a blank disc?

I forgot to mention the other bit of bad news above, which is IDEFS locked the system when it restarted. Open a command prompt and see what *RMReInit IDEFS does without anything loaded or open.
User avatar
IanJeffray
Posts: 163
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Fri Apr 21, 2023 7:17 am
IanJeffray wrote: Thu Apr 20, 2023 11:52 pm there's a boot partition that only the BIOS can see - that's where the RISC OS softload ROM sits, etc.
Ah...that's interesting. I'm assuming you can see that partition if the drive is plugged into a PC? I'll have to do some research on that as PM could potentially trash that area by mistake.
I don't have a PC with IDE, but I could probably try attaching it to ArcIn32 or something else that wouldn't have such potentially secret-squirrel knowledge. It's been a very long time since I messed with the A9 at this level, but I did have Linux installed on it at one point, before putting it back to RISC OS.
JonAbbott wrote: Fri Apr 21, 2023 7:17 am I did find it odd that when you work out the manufacturer size from the IDE IDENTIFY, it's only 38.15GB so there's over 1GB missing. Does the A9 come with a tool to create that partition on a blank disc?
I've never installed A9 from scratch. Might be interesting to see what happens if I put a fresh disc on the primary interface.
This is the original spinner (which worries me...)
JonAbbott wrote: Fri Apr 21, 2023 7:17 am I forgot to mention the other bit of bad news above, which is IDEFS locked the system when it restarted. Open a command prompt and see what *RMReInit IDEFS does without anything loaded or open.
Doesn't lock the system, but does just sit with an hourglass on return to the desktop if performed from F12.
If performed in a taskwindow, IDEFS seems to restart ok but the primary drive icon disappears, leaving just the second. Odd.
JonAbbott
Posts: 3085
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

v0.98 (27/04/23) attached.

Changes:
  • Implemented a workaround to allow the window to be resized when it doesn't fully fit on screen
  • The check for open files now uses OS_FSControl 58 to enumerate open files on FileSwitch 2.74+
  • FileCore LBA flag is now only set for drives using LBA addressing
  • Debug output is now sent to Reporter instead DEBUG/TXT if its running
  • HCCS/Simtec were not adding unusable space after the partitioned area
  • Wasn't setting the default partition size to 502MB for FileCore 2.52 thru 2.90
  • No longer rounds the partition size up to the next MB
  • Fatal error handler modified to use legacy BASIC functionality only, to avoid infinite error loops
  • Updated the custom BASIC Module to BASIC 1.85 and added a 32-bit version
  • The bespoke BASIC Module is now loaded if inbuilt BASIC is below 1.85
  • Armstrong Walker partition trawl now checks it's not going to exceed the harddisc size to avoid overruns on Simtec and HCCS IDEFS
  • Initialising a drive now accounts for 4K sectors when writing the boot DiscRec
  • When initialising a drive as HCCS or Simtec partitioning, the boot DiscRec is now marked with their respective magic identifiers, so the partitioning can later be distinguished from a blank or FileCore initialised drive
  • HCCS/Simtec partitions that exceed the drive size are now reported
  • ZIDEFS IDEop was causing a buffer overrun when reading from the disc
  • DiscOp's where not setting the disc size correctly in the temporary DiscRec
  • FNcmp64 could return an invalid result, causing Big Disc format to be used on systems that do not support it
Attachments
partmgr098.zip
(237.24 KiB) Downloaded 499 times
JonAbbott
Posts: 3085
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Fri Apr 21, 2023 11:58 am Doesn't lock the system, but does just sit with an hourglass on return to the desktop if performed from F12.
I've not debugged the Simtec IDEFS 1.40 Module to figure out why it hangs, but I have resolved all the other issues I noted from your A9 logs. 0.98 above should now run natively on the A9home if you'd like to give it a try.
User avatar
IanJeffray
Posts: 163
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Sat Apr 22, 2023 3:21 pm 0.98 above should now run natively on the A9home if you'd like to give it a try.
Alas...

"File 'Resources:$.Resources.BASIC.VFPData' not found"
User avatar
IanJeffray
Posts: 163
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

When run with Aemulor, I get "IDEFS::4 exceeds physical drive size, use with caution".
Post Reply