I now have the system seeing drive C from CPM and formatting a 5.25"
floppy. The problem was in the HFL3.asm file in the Extended Disk
Parameter Header.
You will notice that each drive on your ZFDC will have it's own section
here, and all references to the drive must be the drive number of the
actual drive on the ZFDC itself.
In my case I had 'Drive 2' configured as the first floppy on the board, but
you will notice that I had 0 here:
DB 0 ;RELATIVE DRIVE 0 ON THIS CONTROLLER
and
DB 0 ;27, Drive Hardware Select
where they should have been a '2' instead of a '0'
and finally, under the initialization section in the same file I needed a
'2' as well.
MVI C,CMD$SET$FORMAT ;Send Set Disk Format to Drive CMD
CALL S100OUT
MVI C,2 ;Floppy Drive 2, (ZFDC
Board expects a 0H, 1H, 2H or 3H)
The system will now read and format a 5.25" DSDD diskette (360k) or a 3.5"
disk with the same format. I can format and read the 3.5" diskette as a
1.44 mb from the ZFDCDIAG but then it is not readable from CPM until I make
the proper changes in the Disk Parameter Header to reference the proper
drive definition - CPM144.
Thanks,
Thomas
On Thursday, October 23, 2014 2:16:45 PM UTC-4, Thomas Owen wrote:
>
>
> *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
>
>
>
--
You received this message because you are subscribed to the Google Groups
"N8VEM-S100" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.