Partition Manager feedback

General development discussion not covered by a specific forum
Post Reply
User avatar
IanJeffray
Posts: 162
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Sun Oct 09, 2022 8:25 pm Replacing the "ELSE" with "ELSE IF DEBUG% THEN" should hopefully fix it. I've altered the line in 0.85, but not tested
Now it locks the whole machine solid at 50% progress on the "Identifying Drives" dialog. I've only got Wizzo enabled just now (removed ZIDEFS).

I set DEBUG% TRUE and the debug.txt is as attached.

Code: Select all

PartMgr v0.85 09/10/22
OS Version=311
ADFS found
IDEFS found
BASIC END=4316C

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

IDEFS
-----
Potentially 4 drives
IDEFS detected as ICS
Trying DiscOp 3 against IDEFS:0
IDEFS discop_ICS(0,3,&0,&0,..,&0)
  IDEFS_DiscOp+&3F,,3,&0,..,&0,,0
DiscOp 3 response: DiscRec
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&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 00   ................

DiscOp 3 response: ID block
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 4A 04 DB 1E 00 00 10 00 00 00 40 02 3F 00 79 00   J.........@.?.y.
&000010 : 50 7E 00 00 37 41 38 34 37 30 30 43 31 31 33 32   P...7A84700C1132
&000020 : 31 33 30 30 30 30 46 35 02 00 02 00 04 00 30 32   130000F5......02
&000030 : 31 31 34 30 37 30 53 54 47 34 46 43 30 33 20 30   114070STG4FC03 0
&000040 : 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                   
&000050 : 20 20 20 20 20 20 20 20 20 20 20 20 20 20 01 80                 ..
&000060 : 00 00 00 0F 00 00 00 02 00 00 07 00 DB 1E 10 00   ................
&000070 : 3F 00 50 7E 79 00 00 01 50 7E 79 00 00 00 07 00   ?.P.y...P.y.....
&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 : 80 00 00 00 2B 70 0C 50 02 40 00 00 04 00 02 40   ....+p.P.@.....@
&0000B0 : 3F 00 01 00 00 00 00 00 FE FF 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 : 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000110 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000120 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000140 : F4 81 00 00 00 00 92 00 00 00 00 00 00 00 00 00   ................
&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 00 00   ................

Magnetic media drive
Drive supports LBA addressing
Physical drive is IDEFS 0
LBA Size    =512
Size in LBA =&000797E50
D_Removable%=0
Trying DiscOp 3 against IDEFS:1
IDEFS discop_ICS(1,3,&0,&0,..,&0)
  IDEFS_DiscOp+&3F,,3,&0,..,&0,,1
JonAbbott
Posts: 2967
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

dpsharp wrote: Mon Oct 10, 2022 12:08 am 0.85 seems to work fine again on the Pi and can create a FAT partition without it failing.
Thanks for confirming.
dpsharp wrote: Mon Oct 10, 2022 12:08 am I've tried mounting the partition (named HardDisk2) with FAT32FS with
*FAT32FS:Mount HardDisk2
*Filer_OpenDir FAT32FS::HardDisk2.$
The README that comes with FAT32FS covers mounting partitions, but to mount the 3rd partition (the p3) on SDFS:0 (the :16) you'd need:

Code: Select all

fat32fs:mount -sfp3 :16
IanJeffray wrote: Mon Oct 10, 2022 12:11 am Now it locks the whole machine solid at 50% progress on the "Identifying Drives" dialog. I've only got Wizzo enabled just now (removed ZIDEFS).
Has it locked, or have you hit the LOCAL ERROR stack corruption I reported back in 2021? I've added additional LOCAL ERROR's and re-uploaded 0.85 if you'd like to try again and see if it does generate a fatal error.

How many physical drives do you have on the ICS? And what version of IDEFS does the Podule have on it?
As its the IDENTIFY against IDEFS:1 that's hung, see what the following does from BASIC:

Code: Select all

SYS "OS_SWINumberFromString",,"IDEFS_DiscOp" TO A%
SYS A%+63,,3,0,&10000,0,&9000,1
*MEMORY B 10000+200
User avatar
IanJeffray
Posts: 162
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Mon Oct 10, 2022 8:02 am Has it locked
I mean LOCKED - the pointer no longer even moves. The machine needs a hard-reset to recover. Very serious.
JonAbbott wrote: Mon Oct 10, 2022 8:02 am How many physical drives do you have on the ICS? And what version of IDEFS does the Podule have on it?
One physical drive - a 4GB CF card with four 495MB partitions.
It's not a podule, it's Wizzo - an extension ROM in the A5000 using the onboard IDE interface.
It's Wizzo 3.15 which is AFAIK the latest.
JonAbbott
Posts: 2967
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Mon Oct 10, 2022 12:11 pm One physical drive - a 4GB CF card with four 495MB partitions.
It's not a podule, it's Wizzo - an extension ROM in the A5000 using the onboard IDE interface.
It's Wizzo 3.15 which is AFAIK the latest.
I'm not sure I can actually distinguish between Wizzo and ICS but as they're essentially identical, it just means it will show up as ICS in the debug logs and interface.

It sounds like Wizzo might have a bug - its possibly sitting in a timeout loop waiting for a non-existent drive to respond. I'll have to disassemble it to see what its actually doing.

What does the SYS sequence in my previous post do from BASIC?
dpsharp
Posts: 12
Joined: Fri Sep 07, 2018 1:46 pm

Re: Partition Manager feedback

Post by dpsharp »

JonAbbott wrote: Mon Oct 10, 2022 8:02 am The README that comes with FAT32FS covers mounting partitions, but to mount the 3rd partition (the p3) on SDFS:0 (the :16) you'd need:

Code: Select all

fat32fs:mount -sfp3 :16
That works beautifully, thanks Jon! Was able to happily create and reformat the FAT partition on the RPi SD card, mount it & use it immediately on my Mac and then back into the Pi.
User avatar
IanJeffray
Posts: 162
Joined: Mon Jan 18, 2021 1:51 pm

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Mon Oct 10, 2022 8:02 am SYS A%+63,,3,0,&10000,0,&9000,1
Locks the machine hard here. But I'm not quite sure what the +63 business is supposed to be doing anyway - that looks wild to me.
JonAbbott
Posts: 2967
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Wed Oct 12, 2022 12:52 am
JonAbbott wrote: Mon Oct 10, 2022 8:02 am SYS A%+63,,3,0,&10000,0,&9000,1
Locks the machine hard here. But I'm not quite sure what the +63 business is supposed to be doing anyway - that looks wild to me.
It's the internal SWI to perform an IDE IDENTIFY.

Sounds like Wizzo might have a bug as that SWI should either timeout, or immediately return with an error if used against a non-existant drive. I'll need to reverse engineer the Module and see if I can either implement a software workaround or worst case, patch the Module.
dpsharp
Posts: 12
Joined: Fri Sep 07, 2018 1:46 pm

Re: Partition Manager feedback

Post by dpsharp »

Not sure if it's intended to cover this scope yet but accessing a Compact Flash card via a USB card reader on my Raspberrry Pi, that has an existing single Filecore partition I created with HForm on Risc PC running RISC OS 3.7, shows up as partition format <unknown> on v0.85.

The Pi seems to be able to access the partition fine. I'd not expected CF cards to mount as a SCSI:: drive so perhaps that's confused some logic somewhere.
JonAbbott
Posts: 2967
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

dpsharp wrote: Wed Oct 12, 2022 12:29 pm accessing a Compact Flash card via a USB card reader on my Raspberrry Pi, that has an existing single Filecore partition I created with HForm on Risc PC running RISC OS 3.7, shows up as partition format <unknown>
It should read it as SCSIFS support is complete, please post a debug log created with 0.86.
dpsharp
Posts: 12
Joined: Fri Sep 07, 2018 1:46 pm

Re: Partition Manager feedback

Post by dpsharp »

Zipped log file and screenshot from v0.86 attached. It doesn't show the partition in the panel at the bottom either.

Code: Select all

PartMgr v0.86 12/10/22
OS Version=528
CDFS found
SCSIFS found
SDFS found
BASIC END=40A0C

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

SCSIFS
------
SCSI 0:0 found
LBA Size    =512
Size in LBA =&0003BBD3F
D_Removable%=128

SDFS
----
SDFS 0 found
LBA Size    =512
Size in LBA =&0076F5000
D_Removable%=-1

add_partitions_GPT
==================
SCSI 0:0 checking for GPT partition table

read_bytes_SCSIFS(0,&0,&0,..,&200)
SCSI_Op,&0,10,READ,&200

Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : FA 33 C0 8E D0 BC 00 7C 8B F4 50 07 50 1F FB FC   .3........P.P...
&000010 : BF 00 06 B9 00 01 F2 A5 EA 1D 06 00 00 BE BE 07   ................
&000020 : B3 04 80 3C 80 74 0E 80 3C 00 75 1C 83 C6 10 FE   ...<.t..<.u.....
&000030 : CB 75 EF CD 18 8B 14 8B 4C 02 8B EE 83 C6 10 FE   .u......L.......
&000040 : CB 74 1A 80 3C 00 74 F4 BE 8B 06 AC 3C 00 74 0B   .t..<.t.....<.t.
&000050 : 56 BB 07 00 B4 0E CD 10 5E EB F0 EB FE BF 05 00   V.......^.......
&000060 : BB 00 7C B8 01 02 57 CD 13 5F 73 0C 33 C0 CD 13   ......W.._s.3...
&000070 : 4F 75 ED BE A3 06 EB D3 BE C2 06 BF FE 7D 81 3D   Ou.............=
&000080 : 55 AA 75 C7 8B F5 EA 00 7C 00 00 49 6E 76 61 6C   U.u........Inval
&000090 : 69 64 20 70 61 72 74 69 74 69 6F 6E 20 74 61 62   id partition tab
&0000A0 : 6C 65 00 45 72 72 6F 72 20 6C 6F 61 64 69 6E 67   le.Error loading
&0000B0 : 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65    operating syste
&0000C0 : 6D 00 4D 69 73 73 69 6E 67 20 6F 70 65 72 61 74   m.Missing operat
&0000D0 : 69 6E 67 20 73 79 73 74 65 6D 00 00 00 00 00 00   ing system......
&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 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000110 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000120 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000140 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&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 80 01   ................
&0001C0 : 01 00 04 FF FF FF 3F 00 00 00 B1 45 0F 00 00 00   ......?....E....
&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 55 AA   ..............U.


add_partitions_MBR
==================
SCSI 0:0 checking for MBR partition table
read_bytes_SCSIFS(0,&0,&0,..,&200)
SCSI_Op,&0,10,READ,&200

Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : FA 33 C0 8E D0 BC 00 7C 8B F4 50 07 50 1F FB FC   .3........P.P...
&000010 : BF 00 06 B9 00 01 F2 A5 EA 1D 06 00 00 BE BE 07   ................
&000020 : B3 04 80 3C 80 74 0E 80 3C 00 75 1C 83 C6 10 FE   ...<.t..<.u.....
&000030 : CB 75 EF CD 18 8B 14 8B 4C 02 8B EE 83 C6 10 FE   .u......L.......
&000040 : CB 74 1A 80 3C 00 74 F4 BE 8B 06 AC 3C 00 74 0B   .t..<.t.....<.t.
&000050 : 56 BB 07 00 B4 0E CD 10 5E EB F0 EB FE BF 05 00   V.......^.......
&000060 : BB 00 7C B8 01 02 57 CD 13 5F 73 0C 33 C0 CD 13   ......W.._s.3...
&000070 : 4F 75 ED BE A3 06 EB D3 BE C2 06 BF FE 7D 81 3D   Ou.............=
&000080 : 55 AA 75 C7 8B F5 EA 00 7C 00 00 49 6E 76 61 6C   U.u........Inval
&000090 : 69 64 20 70 61 72 74 69 74 69 6F 6E 20 74 61 62   id partition tab
&0000A0 : 6C 65 00 45 72 72 6F 72 20 6C 6F 61 64 69 6E 67   le.Error loading
&0000B0 : 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65    operating syste
&0000C0 : 6D 00 4D 69 73 73 69 6E 67 20 6F 70 65 72 61 74   m.Missing operat
&0000D0 : 69 6E 67 20 73 79 73 74 65 6D 00 00 00 00 00 00   ing system......
&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 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000110 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000120 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000140 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&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 80 01   ................
&0001C0 : 01 00 04 FF FF FF 3F 00 00 00 B1 45 0F 00 00 00   ......?....E....
&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 55 AA   ..............U.

MBR partition table found

Partition 0
-----------
Partition type=&4
Start LBA     =&00000003F
Size in LBA   =&0000F45B1
Checking SCSI 0:0 partition 0 for FAT
read_bytes_SCSIFS(0,&3F,&0,..,&200)
SCSI_Op,&0,10,READ,&200

FAT header
----------
Word   :    0    1    2    3    4    5    6    7    8    9
000000 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000010 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000020 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000030 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000040 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000050 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000060 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000070 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000080 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000090 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000100 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000110 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000120 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000130 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000140 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000150 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000160 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000170 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000180 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000190 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000200 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000210 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000220 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000230 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000240 : 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000   ....................
000250 : 0000 0000 0000 0000 0000 0000                       ............


Unallocated block
-----------------
P_Start_LBA_Low%=&F45F0
P_Start_LBA_High%=&0
P_Size_In_LBA_Low%=&2C774F
P_Size_In_LBA_High%=&0
Attachments
SCSI.png
SCSI.png (24.51 KiB) Viewed 1482 times
Post Reply