From 513b4c615af4aeaaae5cc4bd14ef52b6ae880c58 Mon Sep 17 00:00:00 2001 From: wayne Date: Sat, 22 Jun 2013 04:24:27 +0000 Subject: [PATCH] Reintegrate wbw -> trunk --- Apps/Source/applvers.h | 6 +- Apps/Source/applvers.lib | 6 +- ReadMe.txt | 4 +- RomDsk/cfg_n8_2312/FDTST.COM | Bin 7928 -> 7928 bytes RomDsk/cfg_n8_2511/FDTST.COM | Bin 7928 -> 7928 bytes RomDsk/cfg_n8vem_dide/FDTST.COM | Bin 7988 -> 7988 bytes RomDsk/cfg_n8vem_diskio/FDTST.COM | Bin 7928 -> 7928 bytes RomDsk/cfg_n8vem_diskio3/FDTST.COM | Bin 7974 -> 7974 bytes RomDsk/cfg_s100_std/1200.COM | Bin 128 -> 0 bytes RomDsk/cfg_s100_std/38400.COM | Bin 128 -> 0 bytes RomDsk/cfg_s100_std/9600.COM | Bin 128 -> 0 bytes RomDsk/cfg_s100_std/FLASHZ.COM | Bin 800 -> 0 bytes RomDsk/cfg_s100_std/LDTIM.COM | Bin 3584 -> 0 bytes RomDsk/cfg_s100_std/RTC.COM | Bin 2048 -> 0 bytes RomDsk/cfg_s100_std/T5.COM | Bin 96 -> 0 bytes RomDsk/cfg_s100_std/VT3.COM | Bin 1278 -> 0 bytes RomDsk/cfg_s100_std/XM.COM | Bin 5375 -> 0 bytes RomDsk/cfg_s100_std/XM5.COM | Bin 3072 -> 0 bytes RomDsk/cfg_zeta_ppp/FDTST.COM | Bin 7974 -> 7974 bytes RomDsk/cfg_zeta_std/FDTST.COM | Bin 7974 -> 7974 bytes Source/cbios.asm | 4 +- Source/fd.asm | 158 ++++++++++++++++++++--------- Source/fd_dph.asm | 2 +- Source/kbd.asm | 2 +- Source/ver.inc | 4 +- 25 files changed, 122 insertions(+), 64 deletions(-) delete mode 100644 RomDsk/cfg_s100_std/1200.COM delete mode 100644 RomDsk/cfg_s100_std/38400.COM delete mode 100644 RomDsk/cfg_s100_std/9600.COM delete mode 100644 RomDsk/cfg_s100_std/FLASHZ.COM delete mode 100644 RomDsk/cfg_s100_std/LDTIM.COM delete mode 100644 RomDsk/cfg_s100_std/RTC.COM delete mode 100644 RomDsk/cfg_s100_std/T5.COM delete mode 100644 RomDsk/cfg_s100_std/VT3.COM delete mode 100644 RomDsk/cfg_s100_std/XM.COM delete mode 100644 RomDsk/cfg_s100_std/XM5.COM diff --git a/Apps/Source/applvers.h b/Apps/Source/applvers.h index 29992bc9..25e86c4c 100644 --- a/Apps/Source/applvers.h +++ b/Apps/Source/applvers.h @@ -1,14 +1,14 @@ /************************************/ -/* applvers.h dwg - 2.5.0.14 Beta */ +/* applvers.h dwg - 2.5.0.15 */ /************************************/ #define A_RMJ 2 #define A_RMN 5 #define A_RUP 0 -#define A_RTP 14 +#define A_RTP 15 #define A_MONTH 6 -#define A_DAY 9 +#define A_DAY 16 #define A_YEAR 2013 #define A_YR 13 diff --git a/Apps/Source/applvers.lib b/Apps/Source/applvers.lib index 7599ea5c..86f702e8 100644 --- a/Apps/Source/applvers.lib +++ b/Apps/Source/applvers.lib @@ -3,14 +3,14 @@ A$RMJ equ 2 A$RMN equ 5 A$RUP equ 0 -A$RTP equ 14 +A$RTP equ 15 A$MONTH equ 6 -A$DAY equ 9 +A$DAY equ 16 A$YEAR equ 2013 date macro -dat db ' 6/9/2013$' +dat db ' 6/16/2013$' endm serial macro diff --git a/ReadMe.txt b/ReadMe.txt index 8591f733..72958bae 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -8,8 +8,8 @@ Builders: Wayne Warthen (wwarthen@gmail.com) Douglas Goodall (douglas_goodall@mac.com) David Giles (vk5dg@internode.on.net) -Updated: 2013-06-09 -Version: 2.5 Beta 14 +Updated: 2013-06-16 +Version: 2.5 This is an adaptation of CP/M-80 2.2 and ZSDOS/ZCPR targeting ROMs for all N8VEM Z80 hardware variations diff --git a/RomDsk/cfg_n8_2312/FDTST.COM b/RomDsk/cfg_n8_2312/FDTST.COM index 5cd9f77ce46c9de89448b436372bdd14e9e52f29..8abda69ffcd2c8f896bf7f45b30fb3eed0428c01 100644 GIT binary patch delta 85 zcmexi`@?pEp`ek1MtHccp|OFPp+$&+rJ=<}r%F!73zPS71_4QaE)bc-6$~V|0m%iE jxwt*KeVON-H delta 85 zcmexi`@?pEp`f9HMtHccp^<^PfnkV&v7y;Ur%F!7`;+%@1_4QaE)bc-6$~V|fk`fI hPi`+Jenx%N-H delta 85 zcmexi`@?pEp`f9HMtHccp^<^PfnkV&v7y;Ur%F!7`;+%@1_4QaE)bc-6$~V|fk`fI hPi`+Jenx%{1^_Rg7|8$t diff --git a/RomDsk/cfg_n8vem_diskio3/FDTST.COM b/RomDsk/cfg_n8vem_diskio3/FDTST.COM index 6e85b8f8bc1f0322b822ecdda22d0da94d57b7ad..d5e40c92c15974aa8e148ab425d36807d67de296 100644 GIT binary patch delta 85 zcmZ2xx6E#Wp`ek1MtHccp|OFPp+$&+rJ=<}r!G#$3zN@s1_4P0E)ZGF6$~Vg1IY!G jrMW%1eVOwHZw&FXWQgyqUXL7yw}H8KeLJ diff --git a/RomDsk/cfg_s100_std/1200.COM b/RomDsk/cfg_s100_std/1200.COM deleted file mode 100644 index d00960b0f400151392390ab49b5636cdf3badc9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 vcmZQzV6bbroNbqIIm3?Oa;6>gg3rRjoY+vxq z;YNel^nG0#Xq_eN`xXi1a>+F_v=&L`OcB2{Lxj}g0cW%prw+!+A7;|tw`g|N?MVcj zR=rM(-HeJX^m~;)B0fJk+*prWggzvaAMHDTwoIE+PuX}13^~?MWW5xT`fvmdItPN~0>*nGoA_)5M9nCw zSK7DW+f@tq3OYUlr(fZX8IhceX3MCbA4TJH%kSU|cCLJY*H$MG9uOlXr}4>ld0ut* z3g9%H)pU!WPZhV@cBv21E$N-!Qn}@Qeqlp?`5Lt zObS#5@&@Nj(V@UgOAK_?^N3zXt*ngcpjMdD(~IhHE7n;d3Xo-Tp(+}2Y@V?Kgy$xd zD+!clWW^}TdEMYhlAcO{FnwC8^x|nQYb9ktxZ}-~sxTzPXtv8Q?s_enkn#&poCn$F4s#LyTh%yg+;!)ea(3C2O5SGg`+=jHq}p`4tZ$e;oNKpcD$ Ha(w;*Z%_k{ diff --git a/RomDsk/cfg_s100_std/LDTIM.COM b/RomDsk/cfg_s100_std/LDTIM.COM deleted file mode 100644 index 1b3e2d1010a4ef4f90247c6a50f800eb7ff0b6c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3584 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 ZGdMq-iO1-y$GC@l;4(OlJ|03c*MII)ukio? diff --git a/RomDsk/cfg_s100_std/T5.COM b/RomDsk/cfg_s100_std/T5.COM deleted file mode 100644 index ab55d7594228814e098f59f869ebdc0853077c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmdO5WKdRC7L;aW0w2Eg0 mD$|N()UMg8@Y^Z@D9ddN6j5LWYqd&b{HLdI3aIypwFm$o4;Rw_ diff --git a/RomDsk/cfg_s100_std/VT3.COM b/RomDsk/cfg_s100_std/VT3.COM deleted file mode 100644 index 6290a6d3e0c7e921a575060ea62c3fbddd706b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 zcmZuwOKe+36ut9i?ApPOoDfxsQZ=#Dl#r%Bw{C(-2M8?%3giQnHhkjJ4{_3z^q1KA zR?w)6sw*0V#1aXiE+`TR5UVCnkup=wB3NNTHe`_nLWbC_iHgFQJI@Xh5>NI$XYRdo z?!0^F*_5ash*~7-5i3Yts?OqVs?*{}(cmxW0d%>qa==Av;4k%!rM|at)la{Z5yA-) zjOc{CMzmj^BDzGLC)y*Eq}1wBF0dm+4OrWairsB!Q~kfRzDNZWpShg+jATl)>7*}x z(%)(zJ|mX0_a^UFKAh}``LkXv4u$%x$I z3a?3J8>dJac(_m9BxZ@)yf&4o9{GCqH^&hK2u%?uzPy0Dc+9S_a=dn~-K3VJvdPqa zqlSeJmvsQ9Cp5@rt19sKLic8<;^jqUUWz1iojA44UaXc$WpXQx*GV1vo%ph&gdR7b z*qDadYu32#`1yu)C*8&DgmtDjbiFR10-`=S;B8@R`7U!&}VK_YK=qcfr`MmNxYAv<>wz_##l~n2 zYSK`xKB5}tD?xqB)NP~)ybBn0l$tJ2T( zFEYgRarr6JRbb0L@joz}b94)=-oe-7klj zz9N%M56Us7$K@o`Bk}{L&&fWf<8q*=fI6HA?iRdKa3=Vpg1ZFYEO@!#`09C_fJuQO z`URg9c;eslI2{w%Kr=0KrU(r_AS>!ewydFc6E+c64Jt=7R$8#vFhPdl5%2og5AWoJyQNvwt5z?av=BeOH=W0Gj&a@9%j6VAt+*PY&)x|6}mxK}Y6oc+0_p*$exdk?q+PjvT;kuw&oO zM%?zF$2(D2cH*Z7-LF3L#?t`L9zS$=TOHOv_S|b-^#HH5J%8lHI~afY#n-nt0<<1| eq5bg&0RGfV(T*PUhhTIE0>C(oIao0NTmK&syVC*y diff --git a/RomDsk/cfg_s100_std/XM.COM b/RomDsk/cfg_s100_std/XM.COM deleted file mode 100644 index abcc6828ee42c017913236211641ddcf5558b163..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5375 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 diff --git a/RomDsk/cfg_s100_std/XM5.COM b/RomDsk/cfg_s100_std/XM5.COM deleted file mode 100644 index 8ea2b66108110674084d8d5a4be9e590645554e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3072 zcmeHI?Qc_67(chY?Y*bEvWb%y1D=hEZXGad5Ur!8+}@2!*E?@JUZRtXQ5n#!%Q|oy zWzHDm2R{)L`G$$a4}NM)Bqbn*-8#~HnVJ;~_^~*y9OB_6NeD zAW=GFAtgfKS9T;R9UXy4(Br9cb(~5KlOu5wB_Ab+NK}pl-zF-7DR^c(sw~N&{c@G7 zfd*{!q=VjeZ0@8NMH&-k?{M@xKI1)&>5`p_yl)g|f8EUgvVo@_e)cymr*VFsekrom z9WEzeX5k)Bi332lg~BofCPx6QDhGmxNKC0XL-c}ecBhR_3*dqNVP9Iz)q$=6Q;GyI zRo9KiO`@H!SwJHSvFt?x9Wse_%2KE;BwO$roX?D#?-(PtEeODVn;183 zehGm3PUBWkHC?mc+8|6o>G5<$0($^y1svHER-}D^I+LetLX@qzy)QtZJ|QBYFzUHa<8Qh)O!6%P$i*%YFe03E^Etp$FKzfa2;5k?6_il zWrxEt?+|t)N^so-T0Q%?S^LJ$z#0Ynd#jsQG)TY@Zuh0|W#g{B^|E$?*Eic%k2h&I z?eqw!TxV9HV7Uu6zZ0^f`#F}Q6fXVmU|XvW$6?W|RrC5N+okW}F?gSWC!<3l-W6w$ z@uoBXIKQ`^gv>Y##Fb)-`md}uU)23o6rrYJyrq5^(>!cU&CGKTS87&P@Y>k|&$$r3 zpT6`jV1NWeZEdnDM`DEWx6Hsk0;fW!TnrC!k5I!ttjRj#D^P8V?+HQ)^{)1zhDDc^7)N5$u^J21CrV0 zTaKTn&pSrEgLoWV<<2`Y;I<55jpfwkw47RZ-a=v_h4!^Dp>1?RYg?Ew!X=s5-cYne zdU%%tR3S~#m>SyC#d=vYi7Kjk$g;qi$?-&-D1-3<$SFZhgP6X|ZXbCS(RORHH$Kux zqE>=ZRjyZi1_y_dBggxDhU1CRlEPi*{8m&}>pwn_Y9^?d76eE^c{3I7O_AXwNyP__ zlAdAmdP@sA(sSx)ap`$a6VZmX0@%N<)BLYQ^@?ss!lhFZgyv_=t|^2poUn_tR#tj_hv@EXs_wa&Gj#E z(60N%O&3y(un#lkLquCK5}8}X;gVpiY$HT^`?r??jb&y4(_eI`!or6bTKCNaJd zX9~G<;^NId-D(tOZQhiOpG0%Laf06jPwt|~KDv5cf@RTJP1oTJupGF~dck404Un#)vxPJKTv>Pu7ePEl#<$D@LBc3m>P?$~r2PCuwVcJ@IXaLJ3A)a0VRlmUeBn+MTY icX3f?lk}xx-oK)wCx*nKYZ$FO9ZxgxGz0%%2L1+F7h!t< diff --git a/RomDsk/cfg_zeta_ppp/FDTST.COM b/RomDsk/cfg_zeta_ppp/FDTST.COM index 30e36f6055ebdbf8e07b7583d4fabb4655bcca58..a693ded67de2e6bf63afaccdff9370de39f9db38 100644 GIT binary patch delta 85 zcmZ2xx6E#Wp`ek1MtHccp|OFPp+$&+rJ=<}r)EyZ3zLs=1_4P)E)bc+6$~T~0LcZD jMYuh=eVO ST3 CMD_SEEK .EQU 00001111B ; CMD,HDS/DS --> CMD_VERSION .EQU 00010000B ; CMD --> ST0 ; +; +; Specify Command: +; +-----+-----+-----+-----+-----+-----+-----+-----+-----+ +; |Byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | +; +-----+-----+-----+-----+-----+-----+-----+-----+-----+ +; | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | +; | 1 | ----- STEP RATE ----- | -- HEAD UNLOAD TIME - | +; | 2 | ------------ HEAD LOAD TIME ----------- | NDM | +; +-----+-----+-----+-----+-----+-----+-----+-----+-----+ +; +; +; Step Rate (milliseconds): Head Unload Time (milliseconds): Head Load Time (milliseconds): +; +------+------+------+------+------+ +------+------+------+------+------+ +------+------+------+------+------+ +; | | BITRATE | | | BITRATE | | | BITRATE | +; | VAL | 1.0M | 500K | 300K | 250K | | VAL | 1.0M | 500K | 300K | 250K | | VAL | 1.0M | 500K | 300K | 250K | +; +------+------+------+------+------+ +------+------+------+------+------+ +------+------+------+------+------+ +; | 0 | 8.0 | 16.0 | 26.7 | 32.0 | | 0 | 128 | 256 | 426 | 512 | | 0 | 128 | 256 | 426 | 512 | +; | 1 | 7.5 | 15.0 | 25.0 | 30.0 | | 1 | 8 | 16 | 26.7 | 32 | | 1 | 1 | 2 | 3.3 | 4 | +; | 2 | 7.0 | 14.0 | 23.3 | 28.0 | | 2 | 16 | 32 | 53.3 | 64 | | 2 | 2 | 4 | 6.7 | 8 | +; | ... | ... | ... | ... | ... | | ... | ... | ... | ... | ... | | ... | ... | ... | ... | ... | +; | 14 | 1.0 | 2.0 | 3.3 | 4.0 | | 14 | 112 | 224 | 373 | 448 | | 126 | 126 | 252 | 420 | 504 | +; | 15 | 0.5 | 1.0 | 1.7 | 2.0 | | 15 | 120 | 240 | 400 | 480 | | 127 | 127 | 254 | 423 | 508 | +; +------+------+------+------+------+ +------+------+------+------+------+ +------+------+------+------+------+ +; +; IBM PS/2 CALLS FOR: +; STEP RATE: 3ms (6ms FOR ALL 41mm OR 720K DRIVES) +; HEAD LOAD TIME: 15ms +; ; STATIC CONFIGURATION, NEVER CHANGES (PRIVATE) ; FCD_MT .EQU 000H ; MULTI-TRACK, WE DON'T USE, SET TO 0 @@ -145,8 +173,8 @@ FCD_PC720 .DB 050H ; NUMBER OF CYLINDERS .DW 200H ; SECTOR SIZE IN BYTES .DB 02AH ; GAP LENGTH (R/W) .DB 050H ; GAP LENGTH (FORMAT) - .DB 0DFH ; SRT/HUT: STEP RATE, IBM PS/2 CALLS FOR 3ms, 0DH = 3ms SRT, HEAD UNLOAD TIME - .DB 005H ; HLT/ND: HEAD LOAD TIME, IBM PS/2 CALLS FOR 15ms 08H = 16ms HUT + .DB (13 << 4) | 0 ; SRT = 6ms, HUT = 512ms + .DB (4 << 1) | 1 ; HLT = 16ms, ND = YES .DB DOR_BR250 ; DOR .DB DCR_BR250 ; DCR .IF (($ - FCD_PC720) != FCD_LEN) @@ -161,8 +189,8 @@ FCD_PC144 .DB 050H ; NUMBER OF CYLINDERS .DW 200H ; SECTOR SIZE IN BYTES .DB 01BH ; GAP LENGTH (R/W) .DB 06CH ; GAP LENGTH (FORMAT) - .DB 0DFH ; SRT/HUT: STEP RATE, IBM PS/2 CALLS FOR 3ms, 0DH = 3ms SRT, HEAD UNLOAD TIME - .DB 009H ; HLT/ND: HEAD LOAD TIME, IBM PS/2 CALLS FOR 15ms 08H = 16ms HUT + .DB (13 << 4) | 0 ; SRT = 3ms, HUT = 256ms + .DB (8 << 1) | 1 ; HLT = 16ms, ND = YES .DB DOR_BR500 ; DOR .DB DCR_BR500 ; DCR .IF (($ - FCD_PC144) != FCD_LEN) @@ -177,8 +205,8 @@ FCD_PC360 .DB 028H ; NUMBER OF CYLINDERS .DW 200H ; SECTOR SIZE IN BYTES .DB 02AH ; GAP LENGTH (R/W) .DB 050H ; GAP LENGTH (FORMAT) - .DB 0DFH ; SRT/HUT: STEP RATE, IBM PS/2 CALLS FOR 3ms, 0DH = 3ms SRT, HEAD UNLOAD TIME - .DB 005H ; HLT/ND: HEAD LOAD TIME, IBM PS/2 CALLS FOR 15ms 08H = 16ms HUT + .DB (13 << 4) | 0 ; SRT = 6ms, HUT = 512ms + .DB (4 << 1) | 1 ; HLT = 16ms, ND = YES .DB DOR_BR250 ; DOR .DB DCR_BR250 ; DCR .IF (($ - FCD_PC360) != FCD_LEN) @@ -193,15 +221,15 @@ FCD_PC120 .DB 050H ; NUMBER OF CYLINDERS .DW 200H ; SECTOR SIZE IN BYTES .DB 01BH ; GAP LENGTH (R/W) .DB 054H ; GAP LENGTH (FORMAT) - .DB 0DFH ; SRT/HUT: STEP RATE, IBM PS/2 CALLS FOR 3ms, 0DH = 3ms SRT, HEAD UNLOAD TIME - .DB 009H ; HLT/ND: HEAD LOAD TIME, IBM PS/2 CALLS FOR 15ms 08H = 16ms HUT + .DB (10 << 4) | 0 ; SRT = 6ms, HUT = 256ms + .DB (8 << 1) | 1 ; HLT = 16ms, ND = YES .DB DOR_BR500 ; DOR .DB DCR_BR500 ; DCR .IF (($ - FCD_PC120) != FCD_LEN) .ECHO "*** FCD_PC120 SIZE ERROR!!! ***\n" .ENDIF ; -FCD_PC111 .DB 04AH ; NUMBER OF CYLINDERS +FCD_PC111 .DB 04DH ; NUMBER OF CYLINDERS .DB 002H ; NUMBER OF HEADS .DB 00FH ; NUMBER OF SECTORS .DB 001H ; START OF TRACK (ID OF FIRST SECTOR, USUALLY 1) @@ -209,8 +237,8 @@ FCD_PC111 .DB 04AH ; NUMBER OF CYLINDERS .DW 200H ; SECTOR SIZE IN BYTES .DB 01BH ; GAP LENGTH (R/W) .DB 054H ; GAP LENGTH (FORMAT) - .DB 0DFH ; SRT/HUT: STEP RATE, IBM PS/2 CALLS FOR 3ms, 0DH = 3ms SRT, HEAD UNLOAD TIME - .DB 009H ; HLT/ND: HEAD LOAD TIME, IBM PS/2 CALLS FOR 15ms 08H = 16ms HUT + .DB (13 << 4) | 0 ; SRT = 3ms, HUT = 256ms + .DB (25 << 1) | 1 ; HLT = 50ms, ND = YES .DB DOR_BR500 ; DOR .DB DCR_BR500 ; DCR .IF (($ - FCD_PC111) != FCD_LEN) @@ -285,23 +313,23 @@ DCR_BR500 .EQU 00H ; 500KBPS ; ; FDC COMMAND STRINGS ; -FCS_NOP: .TEXT "NOP$" -FCS_READ: .TEXT "READ$" -FCS_READDEL: .TEXT "READDEL$" -FCS_WRITE: .TEXT "WRITE$" -FCS_WRITEDEL: .TEXT "WRITEDEL$" -FCS_READTRK: .TEXT "READTRK$" -FCS_READID: .TEXT "READID$" -FCS_FMTTRK: .TEXT "FMTTRK$" -FCS_SCANEQ: .TEXT "SCANEQ$" -FCS_SCANLOEQ: .TEXT "SCANLOEQ$" -FCS_SCANHIEQ: .TEXT "SCANHIEQ$" -FCS_RECAL: .TEXT "RECAL$" -FCS_SENSEINT: .TEXT "SENSEINT$" -FCS_SPECIFY: .TEXT "SPECIFY$" -FCS_DRVSTAT: .TEXT "DRVSTAT$" -FCS_SEEK: .TEXT "SEEK$" -FCS_VERSION: .TEXT "VER$" +FCS_NOP .DB "NOP$" +FCS_READ .DB "READ$" +FCS_READDEL .DB "READDEL$" +FCS_WRITE .DB "WRITE$" +FCS_WRITEDEL .DB "WRITEDEL$" +FCS_READTRK .DB "READTRK$" +FCS_READID .DB "READID$" +FCS_FMTTRK .DB "FMTTRK$" +FCS_SCANEQ .DB "SCANEQ$" +FCS_SCANLOEQ .DB "SCANLOEQ$" +FCS_SCANHIEQ .DB "SCANHIEQ$" +FCS_RECAL .DB "RECAL$" +FCS_SENSEINT .DB "SENSEINT$" +FCS_SPECIFY .DB "SPECIFY$" +FCS_DRVSTAT .DB "DRVSTAT$" +FCS_SEEK .DB "SEEK$" +FCS_VERSION .DB "VER$" ; ; FDC COMMAND TABLE ; @@ -938,6 +966,27 @@ FC_SETDOR #ENDIF RET ; +; SET FST_DCR +; +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8)) +; +FC_SETDCR + LD (FST_DCR),A + OUT (FDC_DCR),A +#IF (FDTRACE >= 3) + CALL NEWLINE + LD DE,FDSTR_DCR + CALL WRITESTR + LD DE,FDSTR_ARROW + CALL WRITESTR + CALL PC_SPACE + LD A,(FST_DCR) + CALL PRTHEXBYTE +#ENDIF + RET +; +#ENDIF +; ; RESET FDC BY PULSING BIT 7 OF LATCH LOW ; FC_RESETFDC: @@ -1004,38 +1053,38 @@ FC_MOTORON: #ENDIF #IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8)) ; SETUP DCR FOR DIDE HARDWARE - LD A,(FCD_DCR) - OUT (FDC_DCR),A + LD A,(FCD_DCR) ; GET NEW DCR VALUE + CALL FC_SETDCR ; AND IMPLEMENT IT - LD HL,FST_DOR ; POINT TO FDC_DOR - LD A,(HL) ; START WITH CURRENT DOR + LD HL,FST_DOR ; POINT TO FDC_DOR + LD A,(HL) ; START WITH CURRENT DOR PUSH AF - AND 11111100B ; GET RID OF ANY ACTIVE DS BITS - LD C,A ; SAVE IT FOR NOW - LD A,(FCD_DS) ; NOW GET CURRENT DS - LD B,A ; PUT IN B FOR LATER - OR C ; COMBINE WITH SAVED DOR - LD C,A ; RE-SAVE IT - INC B ; SET UP B AS LOOP COUNTER (DS + 1) - LD A,00001000B ; STARTING BIT PATTERN FOR MOTOR + AND 11111100B ; GET RID OF ANY ACTIVE DS BITS + LD C,A ; SAVE IT FOR NOW + LD A,(FCD_DS) ; NOW GET CURRENT DS + LD B,A ; PUT IN B FOR LATER + OR C ; COMBINE WITH SAVED DOR + LD C,A ; RE-SAVE IT + INC B ; SET UP B AS LOOP COUNTER (DS + 1) + LD A,00001000B ; STARTING BIT PATTERN FOR MOTOR FC_MOTORON1: - RLA ; SHIFT LEFT - DJNZ FC_MOTORON1 ; DS TIMES - OR C ; COMBINE WITH SAVED - LD (HL),A ; COMMIT THE NEW VALUE TO FST_DOR - CALL FC_SETDOR ; OUTPUT TO CONTROLLER + RLA ; SHIFT LEFT + DJNZ FC_MOTORON1 ; DS TIMES + OR C ; COMBINE WITH SAVED + LD (HL),A ; COMMIT THE NEW VALUE TO FST_DOR + CALL FC_SETDOR ; OUTPUT TO CONTROLLER LD C,A POP AF CP C - RET Z ; MOTOR WAS PREVIOUSLY ON + RET Z ; MOTOR WAS PREVIOUSLY ON #ENDIF #IF (FDTRACE >= 3) LD DE,FDSTR_MOTDELAY CALL WRITESTR #ENDIF - CALL LDELAY ; DELAY FOR MOTOR SPINUP IF NOT PREVIOUSLY ON + CALL LDELAY ; DELAY FOR MOTOR SPINUP IF NOT PREVIOUSLY ON RET ; ; SET FST_DOR FOR MOTOR CONTROL OFF @@ -1046,7 +1095,7 @@ FC_MOTOROFF: CALL NZ,FD_FDCRESET LD A,DOR_INIT - CALL FC_SETDOR ; OUTPUT TO CONTROLLER + CALL FC_SETDOR ; OUTPUT TO CONTROLLER #IF (FDTRACE >= 3) LD DE,FDSTR_MOTOFF @@ -1104,7 +1153,7 @@ FOP_CMD4: ; START OF STATUS LOOP, WAIT FOR FDC TO BE READY FOR BYTE CP 0C0H ; HMMMM... RQM=1 & DIO=1, FDC WANTS TO SEND US DATA, UNEXPECTED JR Z,FOP_RES ; GO IMMEDIATELY TO RESULTS??? DJNZ FOP_CMD4 ; LOOP TILL COUNTER EXHAUSTED - JR FOP_TOSNDCMD ; COUNTER EXHAUSTED, TIMEOUT / EXIT + JP FOP_TOSNDCMD ; COUNTER EXHAUSTED, TIMEOUT / EXIT FOP_CMD6: ; SEND NEXT BYTE LD A,(HL) ; POINT TO NEXT BYTE TO SEND @@ -1131,6 +1180,10 @@ FOP_X1: ; ; RESULTS PHASE ; +; 1) CHECK FST_RC AND BAIL OUT IF SET??? +; 2) COMPARE MSR CHECKING TO FXR_NULL (WHICH IS RIGHT?) +; 3) WHEN DUMPING FRB, USE THE RECORDED LENGTH??? +; FOP_RES: LD HL,FRB ; POINT TO RECEIVE BUFFER @@ -1292,8 +1345,11 @@ FXR_NOP: ; ; NULL EXECUTION, NO DATA TO READ/WRITE (USED BY READID) ; +; DO NOTHING, BUT WAIT FOR FDC READY. LOOP NEEDS TO ALLOW FOR +; 2 FULL ROTATIONS OF THE DISK WHICH IS 400ms AT 300RPM +; FXR_NULL: - LD BC,1000H ; BC IS LOOP COUNTER, 4096 ITERATIONS + LD BC,$4000 ; LOOP COUNTER, $4000 * 25us = 410ms FXR_NULL1: CALL DELAY IN A,(FDC_MSR) ; GET MSR @@ -1552,6 +1608,7 @@ FDSTR_MOTON .TEXT "\r\nMOTOR ON$" FDSTR_MOTOFF .TEXT "\r\nMOTOR OFF$" FDSTR_MOTDELAY .TEXT "\r\nMOTOR DELAY$" FDSTR_DOR .TEXT "DOR$" +FDSTR_DCR .TEXT "DCR$" FDSTR_RESETFDC .TEXT "\r\nRESET FDC$" FDSTR_SELECT .TEXT "\r\nSELECT: $" #ENDIF ; (FDTRACE >= 3) @@ -1582,6 +1639,7 @@ FCP_BUFSIZ .EQU $-FCP_BUF ; FST_RC .DB 00H FST_DOR .DB 00H +FST_DCR .DB 00H ; ; FDC RESULTS BUFFER ; diff --git a/Source/fd_dph.asm b/Source/fd_dph.asm index 7cab05ba..8b60556f 100644 --- a/Source/fd_dph.asm +++ b/Source/fd_dph.asm @@ -56,7 +56,7 @@ CKS_FD120 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 ALS_FD120 .EQU 74 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) ; CKS_FD111 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 -ALS_FD111 .EQU 69 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) +ALS_FD111 .EQU 72 ; ALS: BLKS / 8 = 570 / 8 = 72 (ROUNDED UP) ; #IF (FDMAUTO) ; ASSUME WORST CASE SIZES diff --git a/Source/kbd.asm b/Source/kbd.asm index 60d7c8b9..8806dfa5 100644 --- a/Source/kbd.asm +++ b/Source/kbd.asm @@ -22,7 +22,7 @@ KBD_DATA .EQU KBD_IOBASE + $02 ; ; TIMING CONSTANTS ; -KBD_WAITTO .EQU 150 +KBD_WAITTO .EQU 0 ; 0 IS MAX WAIT (256) ; ; STATUS BITS (FOR KBD_STATUS) ; diff --git a/Source/ver.inc b/Source/ver.inc index f6cd57bf..5838de1b 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -1,7 +1,7 @@ #DEFINE RMJ 2 #DEFINE RMN 5 #DEFINE RUP 0 -#DEFINE RTP 14 +#DEFINE RTP 15 #DEFINE BIOSVER "2.5" -#DEFINE BIOSBLD "Prerelease Build 14" +#DEFINE BIOSBLD "Build 15" #DEFINE REVISION 412