I now have a working 3.5" 1.44mb drive on my ZFDC board.  they entire 
system is configured as follows:

Compupro CPUZ
Compupro RAM17
Compupro System Support 1
Dual IDE CF (as Drive A and B)
ZFDC with 3.5" disk as C and 5.25" as D:

Here is the change I made to the HFL3.ASM code to allow this to work:

; First floppy DRIVE 2 on ZFDC
    
    ; 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    2                                    ;RELATIVE DRIVE 2 ON THIS 
CONTROLLER
    DB    CPM144                        ;CPM3 3.5" 1.44 MB Disk, fill char 
E5         <-------------Note here point to proper Disk Parameter Table 
                                 
DPH2:    DPH    CPM14$trans,CPM14$dpb,,       ; note these two new entries.

   DW    512                    ;25, 512 Bytes per sector count
    DB    2                         ;27, Drive Hardware Select

  ; Second 5 1/4" DRIVE 3 on ZFDC        
    
    ; 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    3                                     ;RELATIVE DRIVE 3 ON THIS 
CONTROLLER
    DB    MINCPM                        ;CPM-86 5" DDDS Disk
                                                    
DPH3:    DPH    DD512$trans,MINI$dpb,,
                                                  
    DW    512                                ;25, 512 Bytes per sector count
    DB    3                                     ;27, Drive Hardware Select
    
  ; CPM3 XDPH offset definitions:-
                                            
BYTE$COUNT      equ    25                       ;# bytes/sector for this 
disk offset
DRIVE$SELECT    equ    27                        ;Drive Hardware Select 
(Relative Drive Offset does not work)
    
                                           
SDSS128$dpb:    dpb    128,26,77,1024,64,2        ;8" Disks
MINI$dpb:            dpb    512,16,40,2048,64,2         ;5" Disks  (16=8X2, 
because 1 Track, but both sides, 2 reserved for system)
CPM14$dpb:        dpb    512,36,80,2048,256,2      ;3" Disks  (36=18X2, 
because 1 Track, but both sides) reserve 2 for system.      <------Note 
this entry

SD128$trans:    skew    26,6,0                ;8" sector skew (Note first 
sector is 0)
DD512$trans:    skew    16,4,0                ;5" sector skew (16 = 8X2)
CPM14$trans:    skew    36,1,0                ;3.5" sector skew (36 = 18x2, 
1=skew from cpmtools dskdef, sector # start at 0)     <------ note this 
entry


And a little farther down in the code where the drive formats are set:


SET$DISK$FORMATS:                     ;Do reverse order so we end up with 
hardware Drive 2 selected
    MVI    C,CMD$SET$FORMAT        ;Send Set Disk Format to Drive CMD
    CALL    S100OUT
    MVI    C,3                                     ;Floppy Drive 3, (ZFDC 
Board expects a 0H, 1H, 2H or 3H)
    CALL    S100OUT            
    MVI    C,MINCPM                       ;ZFDC Board expects a Disk Format 
Table Number (0,1,2...13H)
    CALL    S100OUT            
    CALL    WAIT$FOR$ACK          ;Return Z (and NO$ERRORS$FLAG in [A]), or 
NZ with error # in [A]

    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)
    CALL    S100OUT    
    MVI    C,CPM144                    ;ZFDC Board expects a Disk Format 
Table Number (0,1,2...13H)     < ------------Note this change
    
    CALL    S100OUT            
    CALL    WAIT$FOR$ACK        ;Return Z (and NO$ERRORS$FLAG in [A]), or 
NZ with error # in [A]
    XRA    A        
    RET                            ;Return Z

I have attached the entire file if you want to use it.

Thanks,
Thomas



On Monday, October 27, 2014 3:27:35 PM UTC-4, Thomas Owen wrote:
>
> Here is what I have so far for symptoms and jumpers on the ZFDC to use a 
> 3.5" drive as 1.44mb:
>
> P79, 5-8
> JP13
> P78, 1-2, 8-11,12, 15-16
> JP5
> K15 top 2 pins
> K1 2-3
>
> Drive jumpered as D0
>
> Using the following in HFL3.ASM:
>
> ; 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    2                                       ;RELATIVE DRIVE 2 ON 
> THIS CONTROLLER
>     DB    CPM144                          ;CPM-86 3.5" 1.44 MB Disk, fill 
> char E5
>                                                     ;HI BIT SET : DRIVE 
> NEEDS RECALIBRATING
> DPH2:    DPH    CPM14$trans,HD3$dpb,,
>                                                    ;Bytes 0-24 used by 
> DPH/CPM
>     DW    512                               ;25, 512 Bytes per sector count
>     DB    2                                   ;27, Drive Hardware Select
>
>
> HD3$dpb:        dpb    512,36,80,2048,256,1    ;3" Disks  (36=18X2, 
> because 1 Track, but both sides)
>
> CPM14$trans:    skew    36,1,0                ;3.5" sector skew (36 = 
> 18x2, 1=skew from cpmtools dskdef, sectors start at 0)
>
> Now when I boot the system into CPM I can log into the drive as C and read 
> a diskette written by DOS as 80 Tracks, 16 sector, etc.   BUT, I cannot 
> format the diskette using ZFDCDIAG as format # 16 and do this.   It formats 
> error free, but when I exit to CPM and type 'C' I get error 14 which is 
> 'Seek to track erro'
>
> Something in the formatting is not correct and I am not sure, but 
> I 'beleive' it is in the statement *CPM14$trans* where you specify the 
> skew, etc.
>
> Anyone with any suggestions?
>
> Thanks,
> Thomas
>
>  
>
>
>
>
>
>
> On Saturday, October 25, 2014 8:17:54 AM UTC-4, Tom Lafleur wrote:
>>
>> Tom.   You might want to look at the Zeta Z80 board to find this.... Also 
>> this would make the disk interchangeable with the Zeta board...
>>
>>
>> Also, can you post a list of jumper setting your using, and any cable or 
>> board issues you have found...
>>
>> Thanks
>>
>>
>> i~~ _/) ~~~~ _/) ~~~~ _/) ~~~~ _/) ~~i
>>
>> Tom Lafleur
>>
>>
>> On Oct 25, 2014, at 3:56 AM, Thomas Owen <[email protected]> wrote:
>>
>> Hello Everyone,
>>
>> System:
>> Compupro CPUZ
>> Compupro RAM17
>> Compupro System Support 1
>> Dual IDE CF (as Drive A and B)
>> ZFDC (with 5.25 and 3.5" disks as C and D)
>>
>>
>> I am now modifying my BIOS to allow for using a 1.44mb 3.5" diskette on 
>> my ZFDC.   Looking at the Disk Parameter Header in the HFL3.ASM file I have 
>> referenced the proper Drive Parameter Table (CPM144) but there is one piece 
>> still missing.
>>
>> It is what CPM3 refers to as the '*Sector Skew Macro*' for this format 
>> disk.  Here are the two formats that John has included in the original 
>> files for 8" and 5.25" drives:
>>
>> SD128$trans:    skew    26,6,0                ;8" sector skew (Note first 
>> sector is 0)
>> DD512$trans:    skew    16,4,0                ;5" sector skew (16 = 8X2)
>>
>> I will need something like this:
>>
>> CPM144$trans:    skew    36,???,0         ;3.5" sector skew (36 = 18 
>> sectors per track X 2 sides, sector count starts with 0)
>>
>> The part with the ??? is what I need and described here in the CPM System 
>> manual:
>>
>> *SKEW Macro*
>> The SKEW macro generates a skew table and requires the following 
>> parameters: the number of physical sectors per track, the skew factor, and 
>> the first sector number on each track (usually 0 or 1).
>>
>> The form of the SKEW macro call is label: SKEW ?secs,?skf,?fsc where:
>>
>> ?secs
>> is the number of physical sectors per track;
>> ?skf
>> is the sector skew factor;
>> ?fsc
>> is the first sector number on each track.
>>
>>
>> So, what do I need for the sector skew factor?
>>
>> Thanks,
>> Thomas
>>
>>
>>
>>
>>  -- 
>> 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.
>>
>

-- 
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.

Attachment: HFL3.ASM
Description: Binary data

Reply via email to