On Sunday, December 18, 2022 at 3:35:57 AM UTC-7, retrogear wrote:
> Do you have a terminator on the drive ? I'm reading that side select on that drive might need a pullup resistor
>
> Larry G
Both drives had pullup resistors installed. I recall that only the furthest drive in the chain (B: in this case) should have one, so I removed the one from Drive A:. Made no difference.
Here is a log of querying the drives using
probe.com. Drive A: in this case contains a floppy formatted recently. Drive B: contains a floppy formatted 40 years ago
---------- 2022-12-18 22:57:44 -0700: Logging Started ----------
^C
Morrow/North Star BIOS 1.5 JKH 1-Apr-85
A>probe
PROBE Version 1.01 2 Sep 1984
PROBE will tell you what version of CP/M or MP/M you are
running, and display the I/O byte if appropriate. It then
displays the addresses of the CCP, BDOS, and BIOS. The BIOS
jump table will next be displayed including the extended BIOS
calls for CP/M+, and XIOS calls if running MP/M. It then
displays the disk parameter blocks (DPB's), disk parameter
headers (DPH's), group size, total disk size, number of
directory entries, space required for directory entries, total
usable space on the disk, and the disk space allocation vectors
for any selected drive (A: through P:).
PROBE was written in 'c' to help decode the disk formats of
a number of different machines to aid in transportability. It
was inspired by BDLOC, TELL, ALLOC, and a number of other public
domain CP/M utilities.
Paul Sittler - My Word!! RCP/M
(409) 845-0510 (late nights)
Veterinary Public Health RCP/M
(409) 845-0509 (24 hours)
Dept of Veterinary Public Health, Texas A&M University
College Station, Texas 77840-4468
This is CP/M 2.2.
I/O Byte value is currently 255 decimal,
FF hexadecimal or [1111 1111] binary
LST: is currently 03 hex or [11 ] binary, or UL1:
PUN: is currently 03 hex or [ 11 ] binary, or UP2:
RDR: is currently 03 hex or [ 11 ] binary, or UR2:
CON: is currently 03 hex or [ 11] binary, or UC1:
-----------
Making the IOBYTE FF hex or [1111 1111] binary
where, for the following devices:
Device LST: PUN: RDR: CON:
Value 11 11 11 11
00 assigns TTY: TTY: TTY: TTY:
01 assigns CRT: PTP: PTR: CRT:
10 assigns LPT: UP1: UR1: BAT:
11 assigns UL1: UP2: UR2: UC1:
[1111 1111] assigns UL1: UP2: UR2: UC1:
This portion will tell you where your CCP starts, what
your BDOS entry address is, and where your CBIOS jump table
begins. The CBIOS jump table is also displayed.
Your CCP beginning address is: D500H.
Your BDOS beginning address is: DD00H.
Your BDOS entry address is: DD06H.
Your CBIOS jump table begins at: EB00H.
Cold start routine address is: EB03H.
Warm start routine address is: ECA9H.
Console Status routine address is: EB96H.
Console Input routine (waits for char.): EB48H.
Console Output routine address is: EB4FH.
List device output routine address is: EB70H.
Punch device output routine address is: EBD0H.
Reader device input routine address is: EBD3H.
Home disk routine address is: ECF0H.
Select disk routine address is: ED02H.
The set track disk routine address is: ECF3H.
The set sector disk routine address is: ECE4H.
The set DMA disk routine address is: ECEAH.
The read disk routine address is: EDFCH.
The write disk routine address is: EDF3H.
List device status routine address is: EBB7H.
Sector translate disk routine address is: ECF9H.
Do you wish to PROBE a drive's parameters (Y/N) ? y
Which drive do you wish to PROBE (A - P) ? a
For drive A:, the disk parameter block address is 0F511 hex
The disk parameter block as it appears in memory (in hex):
F511 28 00 04 0F 01 51 00 3F 00 80 00 10 00 02 00
Parameter (SYM) Hex Decimal [ Binary ]
Sectors per Track (SPT) = 0028 40
Block Shift Factor (BSH) = 04 4
Allocation Block Mask (BLM) = 0F 15
Extent Mask (EXM) = 01 1
Disk Size Maximum (DSM) = 0051 81
Directory Maximum -1 (DRM) = 003F 63
Allocation Mask 0 (AL0) = 80 128 [1000 0000]
Allocation Mask 1 (AL1) = 00 0 [0000 0000]
Directory Check Size (CKS) = 0010 16
System Tracks Offset (OFF) = 0002 2
The whole disk parameter block looks like:
SPT: BSH: BLM: EXM: DSM: DRM: AL0: AL1: CKS: OFF:
0028 04 0F 01 0051 003F 80 00 0010 0002
For drive A:, the disk parameter header address is 0F561 hex
The disk parameter header as it appears in memory (in hex):
F561 00 00 0E 00 0B 00 B8 01 B2 FA 11 F5 BD FB CD FB
Address Vector Description (SYM) Hex
Log to physical sector trans (XLT) = 0000
Directory buffer scratchpad (DIRBUF) = FAB2
DPB address in DPH (DPB) = F511
Check changed disk scratchpad (CSV) = FBBD
Disk space allocation vector (ALV) = FBCD
The data allocation block or group size is 2 Kbytes
The total disk size is . . . . . . . . . . 164 Kbytes
The # of directory entries blocked for is 64 Entries
which requires . . . . . . . . . . . . . . 2 Kbytes
Leaving a useful disk capacity of. . . . . 162 Kbytes
2K Disk Allocation Block Number
(Hex) 0123 4567 89AB CDEF 0123 4567 89AB CDEF
----- ---- ---- ---- ---- ---- ---- ---- ----
0000: 1111 1111 1111 1111 1111 1111 1111 1111
0020: 1111 1111 1111 1111 1100 0000 0000 0000
0040: 0000 0000 0000 0000
Do you wish to PROBE a drive's parameters (Y/N) ? y
Which drive do you wish to PROBE (A - P) ? b
For drive B:, the disk parameter block address is 0F551 hex
The disk parameter block as it appears in memory (in hex):
F551 28 00 04 0F 01 C2 00 3F 00 80 00 10 00 02 00
Parameter (SYM) Hex Decimal [ Binary ]
Sectors per Track (SPT) = 0028 40
Block Shift Factor (BSH) = 04 4
Allocation Block Mask (BLM) = 0F 15
Extent Mask (EXM) = 01 1
Disk Size Maximum (DSM) = 00C2 194
Directory Maximum -1 (DRM) = 003F 63
Allocation Mask 0 (AL0) = 80 128 [1000 0000]
Allocation Mask 1 (AL1) = 00 0 [0000 0000]
Directory Check Size (CKS) = 0010 16
System Tracks Offset (OFF) = 0002 2
The whole disk parameter block looks like:
SPT: BSH: BLM: EXM: DSM: DRM: AL0: AL1: CKS: OFF:
0028 04 0F 01 00C2 003F 80 00 0010 0002
For drive B:, the disk parameter header address is 0F571 hex
The disk parameter header as it appears in memory (in hex):
F571 00 00 10 00 00 00 00 00 B2 FA 51 F5 E3 FB F3 FB
Address Vector Description (SYM) Hex
Log to physical sector trans (XLT) = 0000
Directory buffer scratchpad (DIRBUF) = FAB2
DPB address in DPH (DPB) = F551
Check changed disk scratchpad (CSV) = FBE3
Disk space allocation vector (ALV) = FBF3
The data allocation block or group size is 2 Kbytes
The total disk size is . . . . . . . . . . 390 Kbytes
The # of directory entries blocked for is 64 Entries
which requires . . . . . . . . . . . . . . 2 Kbytes
Leaving a useful disk capacity of. . . . . 388 Kbytes
2K Disk Allocation Block Number
(Hex) 0123 4567 89AB CDEF 0123 4567 89AB CDEF
----- ---- ---- ---- ---- ---- ---- ---- ----
0000: 1111 1111 1111 1111 1111 1111 1111 1111
0020: 1111 1111 1111 1111 1110 0001 0000 0000
0040: 0000 0000 0000 0000 0000 0000 0000 0000
0060: 0000 0000 0000 0000 0000 0000 0000 0000
0080: 0000 0000 0000 0000 0000 0000 0000 0000
00A0: 0000 0000 0000 0000 0000 0000 0000 0000
Do you wish to PROBE a drive's parameters (Y/N) ? n
A>
---------- 2022-12-18 22:58:52 -0700: Logging Stopped ----------