System hardware:
Compupro CPUZ, Compupro Ram17, Compupro System Support 1, Dual IDE CF card (A: and B:), ZFDC card with 5.25" drive C:
I built my dual IDE card earlier this year and have a very reliable ‘no-holes’ system running from CF cards.
I have now finished the ZFDC board and can use it with either 3.5” or 5.25” floppy drives reliably with the ZFDCDIAG program.
When I boot CPM from the CF card it initializes the ZFDC board with no errors.
I can not, however, access drive C: and D: from CPM
When I enter "A>C:" I see the following: ZFDC board display shows 'FF3B0' and Halt led comes on.
On the console it displays:
Floppy Disk drive Login Error (door open?)
ZFDC Board Sector Read Error
Bios Error on C: T-00001, S-00000
ZFDC Board Error Code =FFH
The Halt led clears and the ZFDC board returns to display FF000
I get the A> back on the console
Need some suggestions as to what I may be missing from my code (system) - thanks in advance.
So, in my CPM3.sys file I have the following:
HIDE3.asm
PUBLIC DPH0, DPH1 ;DISK PARAMETER HEADERS drive A and B
…
; EXTENDED DISK PARAMETER HEADER FOR DRIVE 0:
DW HDWRT ;HARD DISK WRITE ROUTINE
DW HDRD ;HARD DISK READ ROUTINE
DW HDLOGIN$0 ;HARD DISK LOGIN PROCEDURE
DW HDINIT$0 ;HARD DISK DRIVE INITIALIZATION ROUTINE
DB 0 ;RELATIVE DRIVE 0 ON THIS CONTROLLER
DB 0 ;MEDIA TYPE:
;HI BIT SET : DRIVE NEEDS RECALIBRATING
DPH0: DPH 0,IDEHD$DPB,0,
DB 0 ;Drive A: Hardware Select, (IX offset 25)
; EXTENDED DISK PARAMETER HEADER FOR DRIVE 1:
DW HDWRT ;HARD DISK WRITE ROUTINE
DW HDRD ;HARD DISK READ ROUTINE
DW HDLOGIN$1 ;HARD DISK LOGIN PROCEDURE
DW HDINIT$1 ;HARD DISK DRIVE INITIALIZATION ROUTINE
DB 0 ;RELATIVE DRIVE 0 ON THIS CONTROLLER
DB 0 ;MEDIA TYPE:
; HI BIT SET : DRIVE NEEDS RECALIBRATING DPH1: DPH 0,IDEHD$DPB,0,
DB 1 ;Drive B: Hardware Select, (IX offset 25)
HDRVTBL3.asm
EXTRN DPH0,DPH1,DPH2,DPH3
…
@DTBL: DTBL <DPH0,DPH1,DPH2,DPH3,0,0,0,0,
0,0,0,0,0,0,0,0>
HFL3.asm
PUBLIC DPH2,DPH3 ;FLOPPY DISK PARAMETER HEADERS
…
; First 5 1/4" DRIVE
; EXTENDED DISK PARAMETER HEADER FOR DRIVE 2: (C:)
DW WRITE$SECTOR ;FD SEC WRITE ROUTINE
DW READ$SECTOR ;FD SEC READ ROUTINE
DW FLOPPY$LOGIN$0 ;FLOPPY DISK "C:" LOGIN PROCEDURE
DW FLOPPY$INIT$0 ;FLOPPY DISK "C:" DRIVE INITIALIZATION ROUTINE
DB 0 ;RELATIVE DRIVE 0 ON THIS CONTROLLER
DB MINCPM ;CPM-86 5" DDDS Disk
;HI BIT SET : DRIVE NEEDS RECALIBRATING DPH2: DPH DD512$trans,MINI$dpb,,
;Bytes 0-24 used by DPH/CPM DW 512 ;25, 512 Bytes per sector count
DB 0 ;27, Drive Hardware Select
; Second 5 1/4" DRIVE
; EXTENDED DISK PARAMETER HEADER FOR DRIVE 3: (D:)
DW WRITE$SECTOR ;FD SEC WRITE ROUTINE
DW READ$SECTOR ;FD SEC READ ROUTINE
DW FLOPPY$LOGIN$1 ;FLOPPY DISK "D:" LOGIN PROCEDURE
DW FLOPPY$INIT$1 ;FLOPPY DISK "D:" DRIVE INITIALIZATION ROUTINE
DB 0 ;RELATIVE DRIVE 0 ON THIS CONTROLLER
DB MINCPM ;CPM-86 5" DDDS Disk
;HI BIT SET : DRIVE NEEDS RECALIBRATING DPH3: DPH DD512$trans,MINI$dpb,,
;Bytes 0-24 used by DPH/CPM DW 512 ;25, 512 Bytes per sector count
DB 1 ;27, Drive Hardware Select