@mhp666, ISTM that modules 31h and 33h can be truncated to 2 and 21h sectors, respectively. I believe you would need to disable reallocations (slow fix) to ensure that the defect lists do not grow in size.
I would start by editing module 01h only (and recompute checksum). If this doesn't work, then I would edit the headers of modules 31h and 33h to correspond to their new, truncated sizes (and recompute their checksums).
module 31h (translator)
Code:
Offset(h) 00 04
00000000 524F594C 01003000 ROYL..0.
00000008 3100A505 18302698 module ID / size = 0x31 / 0x5A5
00000010 30303430 30303030 00400000
00000018 08143100 00000000
00000020 00000000 00000000
00000028 00000000 00000000
00000030 50000000 35690100 0x50 = offset of first defect
00000038 51000000 00000000 0x51 = total defects
00000040 00000000 00000000
00000048 00000100 A28D0800 0x88DA2 = last defect
00000050 00006000 60150000
00000058 B81F6100 70420000
........
000002C8 E0A3EC0E C5650800
000002D0 6F98ED0E A28D0800 0x88DA2 = last defect
000002D8 FFFF0000 0000FFFF 0x50 + (0x51 x 8) = 0x2D8
000002E0 00000000 00000000
module 33h (P-List)
Code:
Offset(h) 00 04
00000000 524F594C 01003000 ROYL..0.
00000008 33005C09 D3AD4F56 module ID / size = 0x33 / 0x95C
00000010 30303135 30303030 00150000
00000018 07070700 00000000
00000020 00000000 00000000
00000028 00000000 00000000
00000030 0B080000 00000000 0x80B = total defects
00000038 FFFFFFFF 00000001 0x38 = offset of first defect
00000040 FFFFFFFF 00000002
00000048 FFFFFFFF 00000003
........
00004078 FFFFFFFF 21BD0300
00004080 FFFFFFFF 22BD0300 last defect
00004088 FFFFFFFF 00000000 0x38 + (0x80B x 8) = 0x4090
00004090 00000000 00000000
module 01h (directory)
Code:
Offset(h) 00 02 04 06 08 0A 0C 0E 10 12 14 16 18
0000038E 1A02
000003A8 3300 5C09 0318 8800 8802 0000 8802 0000 0100 0010 0000 0000 1A02
^^^^ change this to 2100 (size = 0021h)
000003C2 3100 A505 0318 8800 E40B 0000 E40B 0000 8000 004A 4408 0010
^^^^ change this to 0200 (size = 0002h)