Page 5 of 36

Re: Partition Manager feedback

Posted: Mon Oct 10, 2022
by IanJeffray
JonAbbott wrote: Sun Oct 09, 2022 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

Re: Partition Manager feedback

Posted: Mon Oct 10, 2022
by JonAbbott
dpsharp wrote: Mon Oct 10, 2022 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 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 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

Re: Partition Manager feedback

Posted: Mon Oct 10, 2022
by IanJeffray
JonAbbott wrote: Mon Oct 10, 2022 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 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.

Re: Partition Manager feedback

Posted: Mon Oct 10, 2022
by JonAbbott
IanJeffray wrote: Mon Oct 10, 2022 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?

Re: Partition Manager feedback

Posted: Mon Oct 10, 2022
by dpsharp
JonAbbott wrote: Mon Oct 10, 2022 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.

Re: Partition Manager feedback

Posted: Wed Oct 12, 2022
by IanJeffray
JonAbbott wrote: Mon Oct 10, 2022 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.

Re: Partition Manager feedback

Posted: Wed Oct 12, 2022
by JonAbbott
IanJeffray wrote: Wed Oct 12, 2022
JonAbbott wrote: Mon Oct 10, 2022 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.

Re: Partition Manager feedback

Posted: Wed Oct 12, 2022
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.

Re: Partition Manager feedback

Posted: Wed Oct 12, 2022
by JonAbbott
dpsharp wrote: Wed Oct 12, 2022 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.

Re: Partition Manager feedback

Posted: Wed Oct 12, 2022
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