Discussion:
[N8VEM: 17159] SBC-V2 + DISK I/O V3 + floppy drive 5 1/4''
m***@public.gmane.org
2014-01-16 12:31:47 UTC
Permalink
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.
--
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.
Wayne Warthen
2014-01-16 17:06:19 UTC
Permalink
Thanks Martin!

I will probably distribute a small patch release soon and will include the
fix for EXM. Double stepping is a bit more involved, so let me think about
that.

--Wayne
Post by m***@public.gmane.org
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)
.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.
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.
John Coffman
2014-01-16 18:59:38 UTC
Permalink
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
More than double stepping is involved when a 360K disk is inserted
in a 1.2M drive.&nbsp; The 360K disk is recorded at 300 RPM, but the 1.2M
drive turns at 360 RPM.&nbsp; So, unless you are using a dual speed
drive, the oscillator must be shifted from 8.0Mhz to 9.6Mhz.<br>
<br>
The N8VEM floppy drive controllers can support 360K disks in 360K
drives, but not in 1.2M drives.<br>
<br>
--John<br>
<br>
<br>
<br>
On 01/16/2014 09:06 AM, Wayne Warthen wrote:
<blockquote
cite="mid:84bced37-c24c-4215-b08e-b19d4ba1634c-/***@public.gmane.org"
type="cite">
<div dir="ltr">Thanks Martin!
<div><br>
</div>
<div>I will probably distribute a small patch release soon and
will include the fix for EXM. &nbsp;Double stepping is a bit more
involved, so let me think about that.</div>
<div><br>
</div>
<div>--Wayne<br>
<br>
On Thursday, January 16, 2014 4:31:47 AM UTC-8,
<a class="moz-txt-link-abbreviated" href="mailto:marti...-***@public.gmane.org">marti...-***@public.gmane.org</a> wrote:
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div dir="ltr"><br>
I don't know if anybody try "real" floppy (5 1/4") with
RomWBW bios, but I found small problems.<br>
<br>
1. 360 kB definition in cbios.asm<br>
;_____________________________<wbr>______________________________<wbr>______________________________<wbr>_________<br>
;<br>
; IBM 360KB 5.25" FLOPPY DRIVE, 40 TRKS, 9 SECS/TRK, 512
BYTES/SEC<br>
; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128<br>
;<br>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DB&nbsp;&nbsp;&nbsp; (2048 / 128)&nbsp;&nbsp;&nbsp;
; RECORDS PER BLOCK (BLS / 128)<br>
</div>
DPB_FD360:<br>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DW&nbsp; &nbsp;&nbsp;&nbsp; 36&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; ;
SPT: SECTORS PER TRACK<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DB&nbsp; &nbsp;&nbsp; &nbsp; 4&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;
; BSH: BLOCK SHIFT FACTOR<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DB&nbsp; &nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; ;
BLM: BLOCK MASK<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; <b>.DB&nbsp; &nbsp; &nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
&nbsp; &nbsp; ; EXM: EXTENT MASK</b><br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DW&nbsp; &nbsp;&nbsp;&nbsp; 170&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ;
DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((360K - 18K OFF)
/ 2K BLS) - 1 = 170<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DW&nbsp; &nbsp;&nbsp;&nbsp; 127&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ;
DRM: DIR ENTRIES - 1 = 128 - 1 = 127<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DB&nbsp; &nbsp;&nbsp;&nbsp; 11110000B&nbsp;&nbsp;&nbsp;
; AL0: DIR BLK BIT MAP, FIRST BYTE<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DB&nbsp; &nbsp;&nbsp;&nbsp; 00000000B&nbsp;&nbsp;&nbsp;
; AL1: DIR BLK BIT MAP, SECOND BYTE<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DW&nbsp; &nbsp;&nbsp;&nbsp; 32&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ;
CKS: DIRECTORY CHECK VECTOR SIZE = 128 / 4<br>
</div>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; .DW&nbsp; &nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ;
OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36 SEC/TRK)
= 18K<br>
</div>
<br>
I think, that if BSH=4 and DSM &lt;256 then EXM must be 1,
not 0.<br>
<br>
2. how to use 360kB DSDD in HD (1.2MB) drive ?&nbsp; <br>
<br>
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.<br>
But it is always 96 tpi, not 48 tpi as real DSDD disk
needs.<br>
And small change in fd.asm :<br>
<br>
FC_SETUPSEEK:<br>
&nbsp;&nbsp;&nbsp; CALL &nbsp;&nbsp; &nbsp;FC_SETUPCMD&nbsp;&nbsp; &nbsp;; START WITH GENERIC IO CMD<br>
&nbsp; <br>
&nbsp;&nbsp;&nbsp; LD&nbsp;&nbsp; &nbsp;A,(FCD_C)<br>
&nbsp;&nbsp;<b>&nbsp; ADD&nbsp; A,A</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; ; added :
double step for 40 cyl medium in HD drive<br>
&nbsp;&nbsp;&nbsp; LD&nbsp;&nbsp; &nbsp;(DE),A<br>
&nbsp;&nbsp;&nbsp; INC&nbsp;&nbsp; &nbsp;DE<br>
&nbsp;&nbsp;&nbsp; LD&nbsp;&nbsp; &nbsp;A,3<br>
&nbsp;&nbsp;&nbsp; LD&nbsp;&nbsp; &nbsp;(FCP_LEN),A<br>
&nbsp; &nbsp; RET <br>
<br>
And I can read/write my 20 years old disks without any
problem. <br>
<br>
Can somebody add this as option in next version of RomWBW
?&nbsp; It's working for me, but I expect something more
elegant.<br>
And still problem with format. <a moz-do-not-send="true"
href="http://FDTST.COM" target="_blank"
onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2FFDTST.COM\46sa\75D\46sntz\0751\46usg\75AFQjCNHgxLI2hv6Glp8XCBEiQB9BFuuv-w';return
true;"
onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2FFDTST.COM\46sa\75D\46sntz\0751\46usg\75AFQjCNHgxLI2hv6Glp8XCBEiQB9BFuuv-w';return
true;">FDTST.COM</a> doesn't use hbios.<br>
<br>
Martin.<br>
<br>
</div>
</blockquote>
</div>
</div>
-- <br>
You received this message because you are subscribed to the Google
Groups "N8VEM" group.<br>
To unsubscribe from this group and stop receiving emails from it,
send an email to <a class="moz-txt-link-abbreviated" href="mailto:n8vem+unsubscribe-/***@public.gmane.org">n8vem+unsubscribe-/***@public.gmane.org</a>.<br>
To post to this group, send email to <a class="moz-txt-link-abbreviated" href="mailto:n8vem-/***@public.gmane.org">n8vem-/***@public.gmane.org</a>.<br>
Visit this group at <a moz-do-not-send="true"
href="http://groups.google.com/group/n8vem">http://groups.google.com/group/n8vem</a>.<br>
For more options, visit <a moz-do-not-send="true"
href="https://groups.google.com/groups/opt_out">https://groups.google.com/groups/opt_out</a>.<br>
</blockquote>
</body>
</html>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &quot;N8VEM&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org<br />
To post to this group, send email to n8vem-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org<br />
Visit this group at <a href="http://groups.google.com/group/n8vem">http://groups.google.com/group/n8vem</a>.<br />
For more options, visit <a href="https://groups.google.com/groups/opt_out">https://groups.google.com/groups/opt_out</a>.<br />
Loading...