m***@public.gmane.org
2014-01-16 12:31:47 UTC
I don't know if anybody try "real" floppy (5 1/4") with RomWBW bios, but I
found small problems.
1. 360 kB definition in cbios.asm
;__________________________________________________________________________________________________
;
; IBM 360KB 5.25" FLOPPY DRIVE, 40 TRKS, 9 SECS/TRK, 512 BYTES/SEC
; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128
;
.DB (2048 / 128) ; RECORDS PER BLOCK (BLS / 128)
DPB_FD360:
.DW 36 ; SPT: SECTORS PER TRACK
.DB 4 ; BSH: BLOCK SHIFT FACTOR
.DB 15 ; BLM: BLOCK MASK
*.DB 0 ; EXM: EXTENT MASK*
.DW 170 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((360K -
18K OFF) / 2K BLS) - 1 = 170
.DW 127 ; DRM: DIR ENTRIES - 1 = 128 - 1 = 127
.DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE
.DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE
.DW 32 ; CKS: DIRECTORY CHECK VECTOR SIZE = 128 / 4
.DW 4 ; OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36
SEC/TRK) = 18K
I think, that if BSH=4 and DSM <256 then EXM must be 1, not 0.
2. how to use 360kB DSDD in HD (1.2MB) drive ?
I have CHINON FZ-506 disk drive. It is possible to set jumpers that signal
on pin 2 will change speed from 360rpm to 300rpm. That's OK.
But it is always 96 tpi, not 48 tpi as real DSDD disk needs.
And small change in fd.asm :
FC_SETUPSEEK:
CALL FC_SETUPCMD ; START WITH GENERIC IO CMD
LD A,(FCD_C)
* ADD A,A* ; added : double step for 40 cyl
medium in HD drive
LD (DE),A
INC DE
LD A,3
LD (FCP_LEN),A
RET
And I can read/write my 20 years old disks without any problem.
Can somebody add this as option in next version of RomWBW ? It's working
for me, but I expect something more elegant.
And still problem with format. FDTST.COM doesn't use hbios.
Martin.
found small problems.
1. 360 kB definition in cbios.asm
;__________________________________________________________________________________________________
;
; IBM 360KB 5.25" FLOPPY DRIVE, 40 TRKS, 9 SECS/TRK, 512 BYTES/SEC
; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128
;
.DB (2048 / 128) ; RECORDS PER BLOCK (BLS / 128)
DPB_FD360:
.DW 36 ; SPT: SECTORS PER TRACK
.DB 4 ; BSH: BLOCK SHIFT FACTOR
.DB 15 ; BLM: BLOCK MASK
*.DB 0 ; EXM: EXTENT MASK*
.DW 170 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((360K -
18K OFF) / 2K BLS) - 1 = 170
.DW 127 ; DRM: DIR ENTRIES - 1 = 128 - 1 = 127
.DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE
.DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE
.DW 32 ; CKS: DIRECTORY CHECK VECTOR SIZE = 128 / 4
.DW 4 ; OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36
SEC/TRK) = 18K
I think, that if BSH=4 and DSM <256 then EXM must be 1, not 0.
2. how to use 360kB DSDD in HD (1.2MB) drive ?
I have CHINON FZ-506 disk drive. It is possible to set jumpers that signal
on pin 2 will change speed from 360rpm to 300rpm. That's OK.
But it is always 96 tpi, not 48 tpi as real DSDD disk needs.
And small change in fd.asm :
FC_SETUPSEEK:
CALL FC_SETUPCMD ; START WITH GENERIC IO CMD
LD A,(FCD_C)
* ADD A,A* ; added : double step for 40 cyl
medium in HD drive
LD (DE),A
INC DE
LD A,3
LD (FCP_LEN),A
RET
And I can read/write my 20 years old disks without any problem.
Can somebody add this as option in next version of RomWBW ? It's working
for me, but I expect something more elegant.
And still problem with format. FDTST.COM doesn't use hbios.
Martin.
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/groups/opt_out.