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 5cd9f77c..8abda69f 100644 Binary files a/RomDsk/cfg_n8_2312/FDTST.COM and b/RomDsk/cfg_n8_2312/FDTST.COM differ diff --git a/RomDsk/cfg_n8_2511/FDTST.COM b/RomDsk/cfg_n8_2511/FDTST.COM index 5cd9f77c..8abda69f 100644 Binary files a/RomDsk/cfg_n8_2511/FDTST.COM and b/RomDsk/cfg_n8_2511/FDTST.COM differ diff --git a/RomDsk/cfg_n8vem_dide/FDTST.COM b/RomDsk/cfg_n8vem_dide/FDTST.COM index cf9544eb..2b9a49fd 100644 Binary files a/RomDsk/cfg_n8vem_dide/FDTST.COM and b/RomDsk/cfg_n8vem_dide/FDTST.COM differ diff --git a/RomDsk/cfg_n8vem_diskio/FDTST.COM b/RomDsk/cfg_n8vem_diskio/FDTST.COM index ebea0d52..bbeee3cd 100644 Binary files a/RomDsk/cfg_n8vem_diskio/FDTST.COM and b/RomDsk/cfg_n8vem_diskio/FDTST.COM differ diff --git a/RomDsk/cfg_n8vem_diskio3/FDTST.COM b/RomDsk/cfg_n8vem_diskio3/FDTST.COM index 6e85b8f8..d5e40c92 100644 Binary files a/RomDsk/cfg_n8vem_diskio3/FDTST.COM and b/RomDsk/cfg_n8vem_diskio3/FDTST.COM differ diff --git a/RomDsk/cfg_s100_std/1200.COM b/RomDsk/cfg_s100_std/1200.COM deleted file mode 100644 index d00960b0..00000000 Binary files a/RomDsk/cfg_s100_std/1200.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/38400.COM b/RomDsk/cfg_s100_std/38400.COM deleted file mode 100644 index 6d81bc17..00000000 Binary files a/RomDsk/cfg_s100_std/38400.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/9600.COM b/RomDsk/cfg_s100_std/9600.COM deleted file mode 100644 index 4727badf..00000000 Binary files a/RomDsk/cfg_s100_std/9600.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/FLASHZ.COM b/RomDsk/cfg_s100_std/FLASHZ.COM deleted file mode 100644 index 853ae7d9..00000000 Binary files a/RomDsk/cfg_s100_std/FLASHZ.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/LDTIM.COM b/RomDsk/cfg_s100_std/LDTIM.COM deleted file mode 100644 index 1b3e2d10..00000000 Binary files a/RomDsk/cfg_s100_std/LDTIM.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/RTC.COM b/RomDsk/cfg_s100_std/RTC.COM deleted file mode 100644 index da0aebc1..00000000 Binary files a/RomDsk/cfg_s100_std/RTC.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/T5.COM b/RomDsk/cfg_s100_std/T5.COM deleted file mode 100644 index ab55d759..00000000 Binary files a/RomDsk/cfg_s100_std/T5.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/VT3.COM b/RomDsk/cfg_s100_std/VT3.COM deleted file mode 100644 index 6290a6d3..00000000 Binary files a/RomDsk/cfg_s100_std/VT3.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/XM.COM b/RomDsk/cfg_s100_std/XM.COM deleted file mode 100644 index abcc6828..00000000 Binary files a/RomDsk/cfg_s100_std/XM.COM and /dev/null differ diff --git a/RomDsk/cfg_s100_std/XM5.COM b/RomDsk/cfg_s100_std/XM5.COM deleted file mode 100644 index 8ea2b661..00000000 Binary files a/RomDsk/cfg_s100_std/XM5.COM and /dev/null differ diff --git a/RomDsk/cfg_zeta_ppp/FDTST.COM b/RomDsk/cfg_zeta_ppp/FDTST.COM index 30e36f60..a693ded6 100644 Binary files a/RomDsk/cfg_zeta_ppp/FDTST.COM and b/RomDsk/cfg_zeta_ppp/FDTST.COM differ diff --git a/RomDsk/cfg_zeta_std/FDTST.COM b/RomDsk/cfg_zeta_std/FDTST.COM index 30e36f60..a693ded6 100644 Binary files a/RomDsk/cfg_zeta_std/FDTST.COM and b/RomDsk/cfg_zeta_std/FDTST.COM differ diff --git a/Source/cbios.asm b/Source/cbios.asm index d59f35d8..55a1d7f5 100644 --- a/Source/cbios.asm +++ b/Source/cbios.asm @@ -1582,7 +1582,7 @@ DPB_FD120: .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K ;__________________________________________________________________________________________________ ; -; IBM 1.11MB 8" FLOPPY DRIVE, 74 TRKS, 15 SECS/TRK, 512 BYTES/SEC +; IBM 1.11MB 8" FLOPPY DRIVE, 77 TRKS, 15 SECS/TRK, 512 BYTES/SEC ; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 ; .DB (2048 / 128) ; RECORDS PER BLOCK (BLS / 128) @@ -1591,7 +1591,7 @@ DPB_FD111: .DB 4 ; BSH: BLOCK SHIFT FACTOR .DB 15 ; BLM: BLOCK MASK .DB 0 ; EXM: EXTENT MASK - .DW 546 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,110K - 15K OFF) / 2K BLS) - 1 = 546 + .DW 569 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,155K - 15K OFF) / 2K BLS) - 1 = 569 .DW 255 ; DRM: DIR ENTRIES - 1 = 256 - 1 = 255 .DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE diff --git a/Source/fd.asm b/Source/fd.asm index 606f2808..50cac0bd 100644 --- a/Source/fd.asm +++ b/Source/fd.asm @@ -128,6 +128,34 @@ CMD_DRVSTAT .EQU 00000100B ; CMD,HDS/DS --> 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