Partition Manager feedback

General development discussion not covered by a specific forum
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

If PM doesn't find any drives, resizing the window causes the machine to lock HARD.
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

This version (4?) of version 0.96 appears to be just fine with the 61MB drive on the HCCS podule now - shows as a 61MB FileCore partition, whereas previously it was <unknown>
Refreshing the drives is fine too - just comes back with what it originally had.
All fine in DEBUG mode too.

But just unplugging the 61MB drive and putting the 85MB in its place ... PM's a complete fail. Still doesn't detect it at startup or when commanded to refresh - still does the "configure 0 drives?" thing. Bizarre!
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Fri Apr 07, 2023 If PM doesn't find any drives, resizing the window causes the machine to lock HARD.
I'll fix that. I expect an error triggered a bug in BASIC which then caused a hard-lock. I've been going through slowly removing all the ON ERROR handlers to avoid the bug - which is really annoying as I can't handle errors locally, just report them and then quit the app.
IanJeffray wrote: Fri Apr 07, 2023 putting the 85MB in its place ... PM's a complete fail.
Could you see what the following reports with that drive installed please:

Code: Select all

FOR D%=0 TO 3
SYS "XIDEFS_Private",6,D%,&10000,512 TO ;E%
IF (E% AND 1)=0 THEN PRINT "Found ";D%
NEXT
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

Added 48-bit addressing support for ADFS 3.34+ and ADFS4.

NOTE: ADFS 3.34+ support has been tested under RISC OS 5 on a RiscPC. ADFS4 support however has not been tested and should not be used with drives containing data until it's been tested by someone with an appropriate machine using test drives.

Changes:
  • Switched GB/TB back to be expressed in binary thousands
  • FAT no longer checks if the partition is FileCore accessible if its mounted by FAT32FS
  • Reordered the Format type and Allocation Unit size calculations to allow the LFAU to be calculated based on the Format type. Also modified the drop down menu to recalculate the LFAU menu starting at the minimum LFAU for the partition size
  • Changed the default FileCore partition size on FileCore pre 2.51 to 502MB
  • Removed the early check for the FileCore limits in FNdiscop, to allow the write to be attempted and reported if it fails
  • Fixed a lock when resizing the window with no drives, caused by a bug in BASIC ON ERROR LOCAL
  • Modified ADFS to support 48-bit LBA addressing under ADFS 3.34+
  • Now handles 28/48-bit LBA addressing separately to support ADFS 3.34+
  • Added separate functions to return the sector, head and cylinder of an LBA address
  • Fixed a rounding error when working out the drive and free space sizes
  • Increased max drives on HCCS to 4
  • Changed all disc reads to use the LBA size
  • Changed HCCS to support non-partitioned drives
  • Switched 48-bit LBA addressing under ADFS4 to use READ/WRITE SECTOR EXT
  • Removed all local data blocks in filesystems, to avoid buffer overruns on 4K drives
  • Corrected the Erasing phase when formatting a FileCore partition to support 4K sectors
  • Corrected the defect list write code for FileCore to support 4K sectors
  • Corrected a couple of null-dereferences with ADFS
  • Modified the FileCore Defect validation to support 4K sectors
  • Corrected an issue with the controller/drive ID on PATA with ADFS 3.34+
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Sat Apr 08, 2023 Could you see what the following reports with that drive installed please:

Code: Select all

FOR D%=0 TO 3
SYS "XIDEFS_Private",6,D%,&10000,512 TO ;E%
IF (E% AND 1)=0 THEN PRINT "Found ";D%
NEXT
Found 2

Now, one detail I overlooked until I thought about this output is that the 61MB drive was a 2.5" drive connected to the 44pin header on the HCCS board, but the 85MB drive is a 3.5" drive connected to the 40pin header. Guessing they're actually addressed as separate IDE interfaces then?
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Mon Apr 10, 2023 Now, one detail I overlooked until I thought about this output is that the 61MB drive was a 2.5" drive connected to the 44pin header on the HCCS board, but the 85MB drive is a 3.5" drive connected to the 40pin header. Guessing they're actually addressed as separate IDE interfaces then?
That was the purpose for the test - to see if it was a separate interface. I've modified 0.97 above, if you want to see if it now finds the drive.
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Mon Apr 10, 2023 I've modified 0.97 above, if you want to see if it now finds the drive.
It finds the drive. But doesn't show the correct partition info...
screen.png
screen.png (4.77 KiB) Viewed 20849 times

Code: Select all

PartMgr v0.97 10/04/23 DEBUG
OS Version=310
ADFS found
Checking if IDEFS_Private 2 needs a bugfix
Checking if Free 1/2 need a bugfix
IDEFS found, detected as HCCS v1.02
BASIC END=49130

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

IDEFS
-----
Potentially 4 physical drives

DiscOp 3/IDENTIFY response:
Word   :    0    1    2    3    4    5    6    7    8    9
000000 : 0A5A 0400 0000 000A 2640 0240 0011 0014 000B 0000 Z.......@&@.........
000010 : 3030 4B45 3532 3333 3435 3030 3030 3030 3030 3030 00EK2533540000000000
000020 : 0003 0010 0004 7265 7620 352E 3D30 5354 3131 3032 ......er v.50=TS1120
000030 : 4154 2020 2020 2020 2020 2020 2020 2020 2020 2020 TA                  
000040 : 2020 2020 2020 2020 2020 2020 2020 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                     ............

Magnetic media drive
Using geometry in words 1,3,6
  Cylinders=1024 Heads=10 Sectors=17
Drive using CHS addressing
Physical drive is IDEFS 2
Model      =ST1102AT
LBA Size   =512
Size in LBA=&00002A800
Removable  =0

add_partitions_IDEFS
====================
IDEFS discop_HCCS(0,1,&6,&0,..,&200)
  IDEFS_Private,8,&C00,..,&200
Address :  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
&000000 : 00 00 00 20 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   ................
&000040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&000090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&0000B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
&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 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 0A 20 0C 0D FF 03 FF 03 00 AC 4E 05   ..... ........N.
&0001C0 : 09 11 0A 00 0D 0A 00 00 00 16 60 00 2D 02 00 00   ..........`.-...
&0001D0 : 00 00 50 05 00 00 00 00 00 00 00 00 00 00 00 00   ..P.............
&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 9F   ................

Partition 0 invalid
Adding unallocated space
 Start of area=000000000
    Drive size=00002A800
Max accessible=100000000
Drive size below max

Unallocated block
-----------------
P_Start_LBA_Low%=&0
P_Start_LBA_High%=&0
P_Size_In_LBA_Low%=&2A800
P_Size_In_LBA_High%=&0

BASIC END=49F78

JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Mon Apr 10, 2023 It finds the drive. But doesn't show the correct partition info...
The discop succeeded, but returned junk by the looks of it. I can't explain that I'm afraid.
User avatar
IanJeffray
Posts: 165
Joined: Mon Jan 18, 2021

Re: Partition Manager feedback

Post by IanJeffray »

JonAbbott wrote: Mon Apr 10, 2023
IanJeffray wrote: Mon Apr 10, 2023 It finds the drive. But doesn't show the correct partition info...
The discop succeeded, but returned junk by the looks of it. I can't explain that I'm afraid.
Shouldn't the discop command have had a '2' in it somewhere to identify the disk? Not sure what's really shown in the debug or what these undocumented SWIs may require.
JonAbbott
Posts: 3311
Joined: Thu Apr 11, 2013
Location: Essex
Contact:

Re: Partition Manager feedback

Post by JonAbbott »

IanJeffray wrote: Mon Apr 10, 2023 Shouldn't the discop command have had a '2' in it somewhere to identify the disk? Not sure what's really shown in the debug or what these undocumented SWIs may require.
It did, but isn't show directly in the debug log. The actual SWI was:

Code: Select all

SYS "IDEFS_Private",8,2,&C00,data%,512
One thought. Is that drive partitioned, or was it formatted as a full-disc with HForm?
Post Reply