Partition Manager feedback

General development discussion not covered by a specific forum
Post Reply
dpsharp
Posts: 15
Joined: Fri Sep 07, 2018

Re: Partition Manager feedback

Post by dpsharp »

v0.88 seems to work well for me.

Minor issue but if you accidentally run it in debug mode in a read-only folder (e.g. if you hadn't remembered to use r/w SparkFS) then it hangs horribly until you Alt-Break out.
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Tue Oct 18, 2022 both 8bit and 16bit podules and the Unipod actually support 8 partitions - 8 logical drives per physical medium.
The version of the Module that I reverse engineered didn't support partitioning, only full-disc FileCore. I'll need to take a look at more versions to see at which point it supports them and see if I can figure out how it does it.
IanJeffray wrote: Tue Oct 18, 2022 it's a bit wonky, as clearly shown in this screenshot from my R140 (after I kill SCSIFS to get around the "Stack Corruption" issue)....

The partitions are the right size, but not quite correctly understood, it seems.
Thanks, I'll take a look at the debug log and see if I can figure out what's wrong.
dpsharp wrote: Tue Oct 18, 2022 Minor issue but if you accidentally run it in debug mode in a read-only folder (e.g. if you hadn't remembered to use r/w SparkFS) then it hangs horribly until you Alt-Break out.
That's actually a bug in BASIC that I reported a few months back. It should report an error, but BASIC corrupts the error handler so it gets stuck in an error handler loop.
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Tue Oct 18, 2022 Anyhoo, here's the debug.txt from my A540

Code: Select all

PartMgr v0.88 18/10/22 DEBUG
IDEFS
-----
Potentially 4 drives
IDEFS detected as APDL
It's been detected as an APDL Podule, which is probably the issue. Detecting the different versions of IDEFS is "optimistic" at best. I'll need to find a better way to distinguish the Simtec

What version of IDEFS does the Simtec have on it?

EDIT: It was actually an APDL podule in the machine
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Wed Oct 19, 2022 It's been detected as an APDL Podule, which is probably the issue.
Nope, me and too much junk here is the problem - it really is an APDL V6C podule in the A540 - sorry.
Point still stands about how poorly it's been detected though -- though I note both Simtec and APDL aren't currently stated as being supported yet anyway -- maybe better to just not display anything?

The Simtec podule was actually in my 'A480' ... and correctly skipped as shown:
a480.png
a480.png (19.5 KiB) Viewed 22451 times

Code: Select all

PartMgr v0.88 18/10/22 DEBUG
OS Version=310
ADFS found
IDEFS found
BASIC END=4419C

read_drives
===========

IDEFS
-----
Potentially 4 drives
IDEFS detected as SimTec
BASIC END=44590
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Wed Oct 19, 2022 Nope, me and too much junk here is the problem
I'll keep track of which machine we're seeing the problems on so I can work through them. Issues I've noted from your 0.88 testing and my subsequent local testing whilst fixing are:
  • APDL isn't being handled correctly (A540)
  • RISC iX partition sizes not correct (A540) - fixed
  • SCSIFS causes stack corruption (R140)
  • ZIDEFS partitions not being read correctly (R140) - work in progress
  • Simtec IDEFS not being read correctly (A480)
  • ADFS based ST506 drives missing (my Arculator test machine)
  • ICS IDEFS - the 1st FileCore partition disc name isn't being read (my Arculator test machine) - fixed
  • ICS IDEFS - not linking partitions to FileCore drives correctly - fixed
Could you try the attached build, which hopefully resolves these issues:
  • RISC iX partition sizes not correct (A540)
  • ZIDEFS partitions not being read correctly (R140)
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Fri Oct 21, 2022 [*]RISC iX partition sizes not correct (A540)
Looks very good, yes. The root shows as 178MB whereas it was reported from within iX as 167MB or something like that, but that may not include the 'over provisioning' space reserved for root, so I'd assume this is good now. swap shows exactly correct at 20MB now --though labelled 'Boot' which is wrong - it's definitely swap; the kernel is definitely on partition 0 and partition 1 can't be parsed from RISC OS either.
JonAbbott wrote: Fri Oct 21, 2022 [*]ZIDEFS partitions not being read correctly (R140)
Not much improvement:
zide.png
zide.png (8.85 KiB) Viewed 22401 times

Code: Select all

PartMgr v0.89 21/10/22 DEBUG
OS Version=311
ADFS found
CDFS found
ZIDEFS found
BASIC END=42E50

read_drives
===========

CDFS
----

ZIDEFS
-----
Potentially 1 drives
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 5A 04 DF 0F 00 00 10 00 00 00 00 02 3F 00 3E 00   Z...........?.>.
&000010 : 10 7E 00 00 30 32 32 31 31 30 30 32 41 41 36 48   ....02211002AA6H
&000020 : 30 30 30 30 32 31 35 37 02 00 02 00 04 00 38 30   00002157......80
&000030 : 31 31 37 30 20 20 6E 49 6F 6E 69 44 6B 73 43 20   1170  nIoniDksC 
&000040 : 72 6F 2E 70 2D 20 45 20 43 44 30 34 30 30 48 20   ro.p- E CD0400H 
&000050 : 32 20 42 47 20 20 20 20 20 20 20 20 20 20 02 80   2 BG          ..
&000060 : 00 00 00 0F 00 00 00 02 00 00 07 00 DF 0F 10 00   ................
&000070 : 3F 00 10 7E 3E 00 00 01 10 7E 3E 00 00 00 07 00   ?...>.....>.....
&000080 : 03 00 78 00 78 00 78 00 78 00 00 00 00 00 00 00   ..x.x.x.x.......
&000090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000A0 : 20 00 00 00 08 70 04 50 00 40 08 70 04 10 00 40    [email protected]...@
&0000B0 : 1F 00 00 00 00 00 00 00 00 00 4F 60 00 00 00 00   ..........O`....
&0000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000100 : 00 00 00 00 38 30 31 31 37 30 36 62 5A 04 5A 04   ....8011706bZ.Z.
&000110 : 39 73 31 66 62 2E 00 36 00 00 00 00 39 73 31 70   9s1fb..6....9s1p
&000120 : 62 2E 00 36 00 00 00 00 39 61 31 69 62 2E 00 36   b..6....9a1ib..6
&000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000140 : 64 A0 00 00 00 00 12 00 1B 00 00 00 00 00 00 00   d...............
&000150 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000160 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000170 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000180 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000190 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0001F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A5 F5   ................
&000200 : 5C 9E 00 00 DE 00 00 00 14 00 00 00 00 00 00 00   \...............

Drive using LBA addressing
Physical drive is ZIDEFS 0
LBA Size   =512
Size in LBA=&0003E7E10
Removable  =0

add_partitions_ZIDEFS
=====================
Max partitions 4
ZIDEFS discop(0,1,&0,&0,..,&200)
  ZIDEFS_SectorOp,,1,&80000000,..,&200
New style ZIDEFS partition table found
Start LBA     =&000000000
Size in LBA   =&0000F98A0
ZIDEFS discop(0,1,&6,&0,..,&200)
  ZIDEFS_SectorOp,,1,&80000006,..,&200

Boot DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 09 3F 10 00 0F 0A 00 00 01 7E 20 00 FD 02 00 00   .?........ .....
&000010 : 00 40 31 1F 00 00 00 00 00 00 00 00 00 00 00 00   .@1.............
&000020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B   ...............k

Full DiscRec is in Zone 63 at LBA &7CC80
LBA size in bits=4096 Log2=9
Zone spare bits=32
DiscRec size in bits=480
Log2 bytes per map bit=10

ZIDEFS discop(0,1,&7CC80,&0,..,&40)
  ZIDEFS_SectorOp,,1,&8007CC80,..,&40

Full DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : C2 08 82 06 09 3F 10 00 0F 0A 00 02 01 7E 20 00   .....?........ .
&000010 : FD 02 00 00 00 40 31 1F 44 AE 5A 49 44 45 34 20   [email protected] 
&000020 : 20 20 20 20 00 00 04 00 00 00 00 00 00 00 00 00       ............
&000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................

Searching for mounted drive ZIDEFS::ZIDE4
Matching FileCore disc found as ZIDEFS::4
OS_FSControl 55 failed, trying 49
Free=&014D88000
OS Size in LBA=&0000F98A0

Start LBA     =&0000F98A0
Size in LBA   =&0000F98A0
ZIDEFS discop(0,1,&F98A6,&0,..,&200)
  ZIDEFS_SectorOp,,1,&800F98A6,..,&200

Boot DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 09 3F 10 00 0F 0A 00 00 01 7E 20 00 FD 02 00 00   .?........ .....
&000010 : 00 40 31 1F 00 00 00 00 00 00 00 00 00 00 00 00   .@1.............
&000020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B   ...............k

Full DiscRec is in Zone 63 at LBA &7CC80
LBA size in bits=4096 Log2=9
Zone spare bits=32
DiscRec size in bits=480
Log2 bytes per map bit=10

ZIDEFS discop(0,1,&176520,&0,..,&40)
  ZIDEFS_SectorOp,,1,&80176520,..,&40

Full DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000010 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000020 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000030 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U

Searching for mounted drive ZIDEFS::ªUªUªUªUªU
  not found

Start LBA     =&0001F3140
Size in LBA   =&0000F98A0
ZIDEFS discop(0,1,&1F3146,&0,..,&200)
  ZIDEFS_SectorOp,,1,&801F3146,..,&200

Boot DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000010 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000020 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000030 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U

Bad (old) defect list

Start LBA     =&0002EC9E0
Size in LBA   =&0000F98A0
ZIDEFS discop(0,1,&2EC9E6,&0,..,&200)
  ZIDEFS_SectorOp,,1,&802EC9E6,..,&200

Boot DiscRec:
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000010 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000020 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U
&000030 : AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55   .U.U.U.U.U.U.U.U

Bad (old) defect list

BASIC END=43C14
It's correctly showing four 499MB partitions (2GB "1999MB" DOM).
But they're all mounted in RISC OS and all have sequential names (ZIDE5, ZIDE6...)

Note that I still get "Corruption of stack" when SCSIFS is enabled on that machine - I think it's unhappy with one of the iX drives.
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

I just occurred to me that the ZIDEFS utils may be useful for you - particularly the "Partition" tool? Attached.
Attachments
zidefstools.zip
(42.51 KiB) Downloaded 1552 times
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Fri Oct 21, 2022 swap shows exactly correct at 20MB now --though labelled 'Boot' which is wrong - it's definitely swap; the kernel is definitely on partition 0 and partition 1 can't be parsed from RISC OS either.
If you take a look at the dump of the partition table in DEBUG/TXT. You'll see the 2nd partition is "Boot" and the 7th partition is "Swap" with no size - my guess is Unix does a hard-link of "Swap" onto "Boot" - but it's not reflected in the partition table. It appears to be specific to type 2 as st506form2 does call the 2nd partition "Swap"
IanJeffray wrote: Fri Oct 21, 2022 It's correctly showing four 499MB partitions (2GB "1999MB" DOM).
But they're all mounted in RISC OS and all have sequential names (ZIDE5, ZIDE6...)
Could you post DEBUG/TXT please, I need to see which SWI was used for the DiscOp's
IanJeffray wrote: Fri Oct 21, 2022 Note that I still get "Corruption of stack" when SCSIFS is enabled on that machine - I think it's unhappy with one of the iX drives.
I've not looked at that issue yet - I'll need to add more debugging. Just delete FS.SCSIFS on that machine for the time being.
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Fri Oct 21, 2022 my guess is Unix does a hard-link of "Swap" onto "Boot" - but it's not reflected in the partition table.
Yeah, iX just has partition numbers set for each mount in /etc/fstab - doesn't care at all about any labels or names.
JonAbbott wrote: Fri Oct 21, 2022 Could you post DEBUG/TXT please, I need to see which SWI was used for the DiscOp's
Attached.

I also just tried ZIDEFS with a 1GB DOM (two partitions) in a RiscPC and it looks fine!
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

JonAbbott wrote: Fri Oct 21, 2022 ZIDEFS partitions not being read correctly (R140)
Could you post DEBUG/TXT from the attached please.

I think I know what the issue is. The drive is using LBA addressing, but ZIDEFS partioning is based on cylinders so my code isn't correctly calculating the start cylinder of each partition. Drives using CHS addressing do appear to work okay, which is probably why it works on some machines but not others.

EDIT: I've just updated the IDEFS support in the attached, could you please try it against the APDL in your A540 and post the DEBUG/TXT. Same for the Simtec in the A480
Post Reply