Browse Source

Clean up

import/raw
wayne 13 years ago
parent
commit
b14fcf2fc2
  1. 136
      branches/wbw/Source/cbios.asm
  2. 173
      branches/wbw/Source/fd_data.asm
  3. 72
      branches/wbw/Source/fd_dph.asm
  4. 8
      branches/wbw/Source/hdsk_dph.asm
  5. 8
      branches/wbw/Source/ide_dph.asm
  6. 10
      branches/wbw/Source/ppide_dph.asm
  7. 2
      branches/wbw/Source/ppp.asm
  8. 8
      branches/wbw/Source/ppp_dph.asm
  9. 8
      branches/wbw/Source/prp_dph.asm
  10. 8
      branches/wbw/Source/sd_dph.asm

136
branches/wbw/Source/cbios.asm

@ -33,7 +33,7 @@ WBOOTE JP WBOOT ; #1 - WARM START
JP CONOUT ; #4 - CONSOLE CHARACTER OUT JP CONOUT ; #4 - CONSOLE CHARACTER OUT
JP LIST ; #5 - LIST CHARACTER OUT JP LIST ; #5 - LIST CHARACTER OUT
JP PUNCH ; #6 - PUNCH CHARACTER OUT JP PUNCH ; #6 - PUNCH CHARACTER OUT
JP READER ; #7 - READER CHARACTER OUT
JP READER ; #7 - READER CHARACTER OUT
JP HOME ; #8 - MOVE HEAD TO HOME POSITION JP HOME ; #8 - MOVE HEAD TO HOME POSITION
JP SELDSK ; #9 - SELECT DISK JP SELDSK ; #9 - SELECT DISK
JP SETTRK ; #10 - SET TRACK NUMBER JP SETTRK ; #10 - SET TRACK NUMBER
@ -721,14 +721,6 @@ UNA_INI:
LD A,(HL) ; GET IT LD A,(HL) ; GET IT
LD (UNACNT),A ; SAVE IT LD (UNACNT),A ; SAVE IT
; CALL NEWLINE ; *DEBUG*
; CALL PRTHEXBYTE ; *DEBUG*
; CALL PC_SPACE ; *DEBUG*
; CALL PRTHEXWORD ; *DEBUG*
; CALL PC_SPACE ; *DEBUG*
; LD BC,(UNASPT) ; *DEBUG*
; CALL PRTHEXWORD ; *DEBUG*
RET RET
; ;
;__________________________________________________________________________________________________ ;__________________________________________________________________________________________________
@ -1522,7 +1514,7 @@ MDDPH0 .DW 0000,0000
.DW DIRBF,DPB_ROM .DW DIRBF,DPB_ROM
.DW MDCSV0,MDALV0 .DW MDCSV0,MDALV0
; ;
CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA
CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA
ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP)
; ;
; MEMORY DISK 01: RAM DISK ; MEMORY DISK 01: RAM DISK
@ -1535,7 +1527,7 @@ MDDPH1 .DW 0000,0000
.DW DIRBF,DPB_RAM .DW DIRBF,DPB_RAM
.DW MDCSV1,MDALV1 .DW MDCSV1,MDALV1
; ;
CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA
CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA
ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP)
; ;
MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
@ -1544,63 +1536,63 @@ MDCSV1: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE
MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS
; ;
#IF (FDENABLE) #IF (FDENABLE)
ORG_FD_DATA .EQU $
#INCLUDE "fd_data.asm"
SIZ_FD_DATA .EQU $ - ORG_FD_DATA
.ECHO "FD_DATA occupies "
.ECHO SIZ_FD_DATA
ORG_FD_DPH .EQU $
#INCLUDE "fd_dph.asm"
SIZ_FD_DPH .EQU $ - ORG_FD_DPH
.ECHO "FD DPH occupies "
.ECHO SIZ_FD_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (IDEENABLE) #IF (IDEENABLE)
ORG_IDE_DATA .EQU $
#INCLUDE "ide_data.asm"
SIZ_IDE_DATA .EQU $ - ORG_IDE_DATA
.ECHO "IDE_DATA occupies "
.ECHO SIZ_IDE_DATA
ORG_IDE_DPH .EQU $
#INCLUDE "ide_dph.asm"
SIZ_IDE_DPH .EQU $ - ORG_IDE_DPH
.ECHO "IDE DPH occupies "
.ECHO SIZ_IDE_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (PPIDEENABLE) #IF (PPIDEENABLE)
ORG_PPIDE_DATA .EQU $
#INCLUDE "ppide_data.asm"
SIZ_PPIDE_DATA .EQU $ - ORG_PPIDE_DATA
.ECHO "PPIDE_DATA occupies "
.ECHO SIZ_PPIDE_DATA
ORG_PPIDE_DPH .EQU $
#INCLUDE "ppide_dph.asm"
SIZ_PPIDE_DPH .EQU $ - ORG_PPIDE_DPH
.ECHO "PPIDE DPH occupies "
.ECHO SIZ_PPIDE_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (SDENABLE) #IF (SDENABLE)
ORG_SD_DATA .EQU $
#INCLUDE "sd_data.asm"
SIZ_SD_DATA .EQU $ - ORG_SD_DATA
.ECHO "SD_DATA occupies "
.ECHO SIZ_SD_DATA
ORG_SD_DPH .EQU $
#INCLUDE "sd_dph.asm"
SIZ_SD_DPH .EQU $ - ORG_SD_DPH
.ECHO "SD DPH occupies "
.ECHO SIZ_SD_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (PRPENABLE & PRPSDENABLE) #IF (PRPENABLE & PRPSDENABLE)
ORG_PRPSD_DATA .EQU $
#INCLUDE "prp_data.asm"
SIZ_PRPSD_DATA .EQU $ - ORG_PRPSD_DATA
.ECHO "PRPSD_DATA occupies "
.ECHO SIZ_PRPSD_DATA
ORG_PRPSD_DPH .EQU $
#INCLUDE "prp_dph.asm"
SIZ_PRPSD_DPH .EQU $ - ORG_PRPSD_DPH
.ECHO "PRPSD DPH occupies "
.ECHO SIZ_PRPSD_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (PPPENABLE & PPPSDENABLE) #IF (PPPENABLE & PPPSDENABLE)
ORG_PPPSD_DATA .EQU $
#INCLUDE "ppp_data.asm"
SIZ_PPPSD_DATA .EQU $ - ORG_PPPSD_DATA
.ECHO "PPPSD_DATA occupies "
.ECHO SIZ_PPPSD_DATA
ORG_PPPSD_DPH .EQU $
#INCLUDE "ppp_dph.asm"
SIZ_PPPSD_DPH .EQU $ - ORG_PPPSD_DPH
.ECHO "PPPSD DPH occupies "
.ECHO SIZ_PPPSD_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
#IF (HDSKENABLE) #IF (HDSKENABLE)
ORG_HDSK_DATA .EQU $
#INCLUDE "hdsk_data.asm"
SIZ_HDSK_DATA .EQU $ - ORG_HDSK_DATA
.ECHO "HDSK_DATA occupies "
.ECHO SIZ_HDSK_DATA
ORG_HDSK_DPH .EQU $
#INCLUDE "hdsk_dph.asm"
SIZ_HDSK_DPH .EQU $ - ORG_HDSK_DPH
.ECHO "HDSK DPH occupies "
.ECHO SIZ_HDSK_DPH
.ECHO " bytes.\n" .ECHO " bytes.\n"
#ENDIF #ENDIF
; ;
@ -1968,25 +1960,25 @@ LD_CRT .SET CIODEV_PPPCON
CIO_MAP: CIO_MAP:
; ;
; CONSOLE ; CONSOLE
.DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00)
.DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01)
.DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10)
.DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11)
.DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00)
.DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01)
.DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10)
.DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11)
; READER ; READER
.DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX)
.DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX)
.DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX)
.DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX)
.DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX)
.DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX)
.DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX)
.DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX)
; PUNCH ; PUNCH
.DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX)
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX)
.DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX)
.DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX)
.DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX)
.DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX)
.DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX)
.DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX)
; LIST ; LIST
.DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX)
.DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX)
.DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX)
.DB LD_UL1 ; LST:=UL1: (IOBYTE 11XXXXXX)
.DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX)
.DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX)
.DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX)
.DB LD_UL1 ; LST:=UL1: (IOBYTE 11XXXXXX)
; ;
;================================================================================================== ;==================================================================================================
; SECTOR AND CONFIG BUFFER; ; SECTOR AND CONFIG BUFFER;
@ -1998,10 +1990,10 @@ CIO_MAP:
; A) SYSTEM CONFIGURATION DATA BUFFER ; A) SYSTEM CONFIGURATION DATA BUFFER
; B) CBIOS INIT CODE THAT CAN BE DISCARDED AFTER INIT ; B) CBIOS INIT CODE THAT CAN BE DISCARDED AFTER INIT
; ;
.FILL 0FD00H - $,00H ; MAKE SURE SEC/CFGBUF STARTS AT FD00
.FILL 0FD00H - $,00H ; MAKE SURE SEC/CFGBUF STARTS AT FD00
; ;
SECBUF: ; START OF 512 BYTE DISK SECTOR
CFGBUF: ; START OF 256 BYTE CONFIG BUFFER
SECBUF: ; START OF 512 BYTE DISK SECTOR
CFGBUF: ; START OF 256 BYTE CONFIG BUFFER
.FILL 256,0 .FILL 256,0
; ;
INIT: INIT:
@ -2028,13 +2020,13 @@ INIT:
LD (IOBYTE),A ; STORE IT LD (IOBYTE),A ; STORE IT
#IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_S100)) #IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_S100))
IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE
LD A,DEFIOBYTE ; ASSUME WE WANT DEFAULT IOBYTE VALUE
JR NZ,INIT1 ; IF BIT6=1, NOT SHORTED, CONTINUE WITH DEFAULT
LD A,ALTIOBYTE ; LOAD ALT IOBYTE VALUE
IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE
LD A,DEFIOBYTE ; ASSUME WE WANT DEFAULT IOBYTE VALUE
JR NZ,INIT1 ; IF BIT6=1, NOT SHORTED, CONTINUE WITH DEFAULT
LD A,ALTIOBYTE ; LOAD ALT IOBYTE VALUE
INIT1: INIT1:
LD (IOBYTE),A ; SET THE ACTIVE IOBYTE
LD (IOBYTE),A ; SET THE ACTIVE IOBYTE
#ENDIF #ENDIF
; DEFAULT DRIVE ; DEFAULT DRIVE
@ -2110,7 +2102,7 @@ DEFDRV1:
JR NZ,DEFDRV1 ; NOPE, NEXT DRIVE JR NZ,DEFDRV1 ; NOPE, NEXT DRIVE
DEFDRV2: DEFDRV2:
; WE HAVE A MATCH MATCHED, RECORD NEW DEFAULT DRIVE
; WE HAVE A MATCH, RECORD NEW DEFAULT DRIVE
LD A,C ; C HAS MATCHING DRIVE, MOVE TO A LD A,C ; C HAS MATCHING DRIVE, MOVE TO A
LD (DEFDRIVE),A ; SAVE IT LD (DEFDRIVE),A ; SAVE IT
; ;

173
branches/wbw/Source/fd_data.asm

@ -1,173 +0,0 @@
;
;==================================================================================================
; FLOPPY DISK DRIVER - DATA
;==================================================================================================
;
#IF (FDMEDIA == FDM720)
#DEFINE FDDPB DPB_FD720 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD720
#DEFINE FDALS ALS_FD720
#ENDIF
#IF (FDMEDIA == FDM144)
#DEFINE FDDPB DPB_FD144 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD144
#DEFINE FDALS ALS_FD144
#ENDIF
#IF (FDMEDIA == FDM360)
#DEFINE FDDPB DPB_FD360 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD360
#DEFINE FDALS ALS_FD360
#ENDIF
#IF (FDMEDIA == FDM120)
#DEFINE FDDPB DPB_FD120 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD120
#DEFINE FDALS ALS_FD120
#ENDIF
#IF (FDMEDIA == FDM111)
#DEFINE FDDPB DPB_FD111 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD111
#DEFINE FDALS ALS_FD111
#ENDIF
;
;
;
.DB DIODEV_FD + 0
FDDPH0: .DW 0000, 0000
.DW 0000, 0000
.DW DIRBF, FDDPB
.DW FDCSV0, FDALV0
.DB DIODEV_FD + 1
FDDPH1: .DW 0000, 0000
.DW 0000, 0000
.DW DIRBF, FDDPB
.DW FDCSV1, FDALV1
; .EXPORT FDDPH0, FDDPH1
;;
;; DISK PARAMETER BLOCKS USED FOR FLOPPY DRIVER
;;
;; IBM 720KB 3.5" FLOPPY DRIVE, 80 TRKS, 36 SECS/TRK, 512 BYTES/SEC
;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128
;;
;#IF ((FDMEDIA == FDM720) | (FDMEDIAALT == FDM720))
;DPB_FD720:
; .DW 36 ; SPT: SECTORS PER TRACK
; .DB 4 ; BSH: BLOCK SHIFT FACTOR
; .DB 15 ; BLM: BLOCK MASK
; .DB 0 ; EXM: EXTENT MASK
; .DW 350 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((720K - 18K OFF) / 2K BLS) - 1 = 350
; .DW 127 ; DRM: DIR ENTRIES - 1 = 128 - 1 = 127
; .DB 11000000B ; 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
;#ELSE
;DPB_FD720 .EQU 0
;#ENDIF
CKS_FD720 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32
ALS_FD720 .EQU 44 ; ALS: BLKS / 8 = 351 / 8 = 44 (ROUNDED UP)
; .EXPORT DPB_FD720
;#ENDIF
;;
;; IBM 1.44MB 3.5" FLOPPY DRIVE, 80 TRKS, 72 SECS/TRK, 512 BYTES/SEC
;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256
;;
;#IF ((FDMEDIA == FDM144) | (FDMEDIAALT == FDM144))
;DPB_FD144:
; .DW 72 ; SPT: SECTORS PER TRACK
; .DB 4 ; BSH: BLOCK SHIFT FACTOR
; .DB 15 ; BLM: BLOCK MASK
; .DB 0 ; EXM: EXTENT MASK
; .DW 710 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,440K - 18K OFF) / 2K BLS) - 1 = 710
; .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
; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4
; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 72 SEC/TRK) = 18K
;#ELSE
;DPB_FD144 .EQU 0
;#ENDIF
CKS_FD144 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64
ALS_FD144 .EQU 89 ; ALS: BLKS / 8 = 711 / 8 = 89 (ROUNDED UP)
; .EXPORT DPB_FD144
;#ENDIF
;;
;; IBM 360KB 5.25" FLOPPY DRIVE, 40 TRKS, 9 SECS/TRK, 512 BYTES/SEC
;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128
;;
;#IF ((FDMEDIA == FDM360) | (FDMEDIAALT == FDM360))
;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
;#ELSE
;DPB_FD360 .EQU 0
;#ENDIF
CKS_FD360 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32
ALS_FD360 .EQU 89 ; ALS: BLKS / 8 = 171 / 8 = 22 (ROUNDED UP)
; .EXPORT DPB_FD360
;#ENDIF
;;
;; IBM 1.20MB 5.25" FLOPPY DRIVE, 80 TRKS, 60 SECS/TRK, 512 BYTES/SEC
;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256
;;
;#IF ((FDMEDIA == FDM120) | (FDMEDIAALT == FDM120))
;DPB_FD120:
; .DW 60 ; SPT: SECTORS PER TRACK
; .DB 4 ; BSH: BLOCK SHIFT FACTOR
; .DB 15 ; BLM: BLOCK MASK
; .DB 0 ; EXM: EXTENT MASK
; .DW 591 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,200K - 15K OFF) / 2K BLS) - 1 = 591
; .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
; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4
; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K
;#ELSE
;DPB_FD120 .EQU 0
;#ENDIF
CKS_FD120 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64
ALS_FD120 .EQU 74 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP)
; .EXPORT DPB_FD120
;#ENDIF
;;
;; IBM 1.11MB 8" FLOPPY DRIVE, 74 TRKS, 60 SECS/TRK, 512 BYTES/SEC
;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256
;;
;#IF ((FDMEDIA == FDM111) | (FDMEDIAALT == FDM111))
;DPB_FD111:
; .DW 60 ; SPT: SECTORS PER TRACK
; .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 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
; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4
; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K
CKS_FD111 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64
ALS_FD111 .EQU 69 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP)
; .EXPORT DPB_FD111
;#ENDIF
;
;
;
#IF (FDMAUTO)
; ASSUME WORST CASE SIZES
FDCSV0: .FILL CKS_FD144
FDALV0: .FILL ALS_FD144
FDCSV1: .FILL CKS_FD144
FDALV1: .FILL ALS_FD144
#ELSE
FDCSV0: .FILL FDCKS
FDALV0: .FILL FDALS
FDCSV1: .FILL FDCKS
FDALV1: .FILL FDALS
#ENDIF

72
branches/wbw/Source/fd_dph.asm

@ -0,0 +1,72 @@
;
;==================================================================================================
; FLOPPY DISK DRIVER - DATA
;==================================================================================================
;
#IF (FDMEDIA == FDM720)
#DEFINE FDDPB DPB_FD720 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD720
#DEFINE FDALS ALS_FD720
#ENDIF
#IF (FDMEDIA == FDM144)
#DEFINE FDDPB DPB_FD144 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD144
#DEFINE FDALS ALS_FD144
#ENDIF
#IF (FDMEDIA == FDM360)
#DEFINE FDDPB DPB_FD360 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD360
#DEFINE FDALS ALS_FD360
#ENDIF
#IF (FDMEDIA == FDM120)
#DEFINE FDDPB DPB_FD120 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD120
#DEFINE FDALS ALS_FD120
#ENDIF
#IF (FDMEDIA == FDM111)
#DEFINE FDDPB DPB_FD111 ; DPB_FD720 OR DPB_FD144
#DEFINE FDCKS CKS_FD111
#DEFINE FDALS ALS_FD111
#ENDIF
;
;
;
.DB DIODEV_FD + 0
FDDPH0: .DW 0000, 0000
.DW 0000, 0000
.DW DIRBF, FDDPB
.DW FDCSV0, FDALV0
;
.DB DIODEV_FD + 1
FDDPH1: .DW 0000, 0000
.DW 0000, 0000
.DW DIRBF, FDDPB
.DW FDCSV1, FDALV1
;
CKS_FD720 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32
ALS_FD720 .EQU 44 ; ALS: BLKS / 8 = 351 / 8 = 44 (ROUNDED UP)
;
CKS_FD144 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64
ALS_FD144 .EQU 89 ; ALS: BLKS / 8 = 711 / 8 = 89 (ROUNDED UP)
;
CKS_FD360 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32
ALS_FD360 .EQU 89 ; ALS: BLKS / 8 = 171 / 8 = 22 (ROUNDED UP)
;
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)
;
#IF (FDMAUTO)
; ASSUME WORST CASE SIZES
FDCSV0: .FILL CKS_FD144
FDALV0: .FILL ALS_FD144
FDCSV1: .FILL CKS_FD144
FDALV1: .FILL ALS_FD144
#ELSE
FDCSV0: .FILL FDCKS
FDALV0: .FILL FDALS
FDCSV1: .FILL FDCKS
FDALV1: .FILL FDALS
#ENDIF

8
branches/wbw/Source/hdsk_data.asm → branches/wbw/Source/hdsk_dph.asm

@ -7,10 +7,10 @@ HDSK_SLICETRKS .EQU 65 ; TRACKS PER SLICE
HDSK_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) HDSK_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
HDSK_SLICESIZE .EQU ((HDSK_SLICETRKS * HDSK_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) HDSK_SLICESIZE .EQU ((HDSK_SLICETRKS * HDSK_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
HDSK_NUMSLICES .EQU HDSKCAPACITY / HDSK_SLICESIZE ; TOTAL SLICES IN DEVICE HDSK_NUMSLICES .EQU HDSKCAPACITY / HDSK_SLICESIZE ; TOTAL SLICES IN DEVICE
HDSK0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
HDSK1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
HDSK2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
HDSK3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
HDSK0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
HDSK1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
HDSK2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
HDSK3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_HDSK + 0 .DB DIODEV_HDSK + 0
HDSKDPH0 .DW 0000,0000 HDSKDPH0 .DW 0000,0000

8
branches/wbw/Source/ide_data.asm → branches/wbw/Source/ide_dph.asm

@ -7,10 +7,10 @@ IDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE
IDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) IDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
IDE_SLICESIZE .EQU ((IDE_SLICETRKS * IDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) IDE_SLICESIZE .EQU ((IDE_SLICETRKS * IDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
IDE_NUMSLICES .EQU IDECAPACITY / IDE_SLICESIZE ; TOTAL SLICES IN DEVICE IDE_NUMSLICES .EQU IDECAPACITY / IDE_SLICESIZE ; TOTAL SLICES IN DEVICE
IDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
IDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
IDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
IDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
IDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
IDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
IDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
IDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_IDE + 0 .DB DIODEV_IDE + 0
IDEDPH0 .DW 0000,0000 IDEDPH0 .DW 0000,0000

10
branches/wbw/Source/ppide_data.asm → branches/wbw/Source/ppide_dph.asm

@ -6,11 +6,11 @@
PPIDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE PPIDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE
PPIDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PPIDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
PPIDE_SLICESIZE .EQU ((PPIDE_SLICETRKS * PPIDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) PPIDE_SLICESIZE .EQU ((PPIDE_SLICETRKS * PPIDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
PPIDE_NUMSLICES .EQU PPIDECAPACITY / PPIDE_SLICESIZE ; TOTAL SLICES IN DEVICE
PPIDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
PPIDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
PPIDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
PPIDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
PPIDE_NUMSLICES .EQU PPIDECAPACITY / PPIDE_SLICESIZE ; TOTAL SLICES IN DEVICE
PPIDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
PPIDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
PPIDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
PPIDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_PPIDE + 0 .DB DIODEV_PPIDE + 0
PPIDEDPH0 .DW 0000,0000 PPIDEDPH0 .DW 0000,0000

2
branches/wbw/Source/ppp.asm

@ -350,10 +350,12 @@ PPPSD_PRT:
RET Z RET Z
#ENDIF #ENDIF
PUSH AF PUSH AF
PUSH DE ; SAVE PTR TO FUNC STRING
CALL NEWLINE CALL NEWLINE
LD DE,PPPSTR_PREFIX ; PRINT DRIVER PREFIX LD DE,PPPSTR_PREFIX ; PRINT DRIVER PREFIX
CALL WRITESTR CALL WRITESTR
CALL PC_SPACE CALL PC_SPACE
POP DE ; RECOVER PTR TO FUNC STRING
CALL WRITESTR ; PRINT FUNCTION CALL WRITESTR ; PRINT FUNCTION
CALL PPPSD_PRTBLK ; PRINT BLOCK NUMBER CALL PPPSD_PRTBLK ; PRINT BLOCK NUMBER
CALL PC_SPACE CALL PC_SPACE

8
branches/wbw/Source/ppp_data.asm → branches/wbw/Source/ppp_dph.asm

@ -7,10 +7,10 @@ PPPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
PPPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PPPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
PPPSD_SLICESIZE .EQU ((PPPSD_SLICETRKS * PPPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) PPPSD_SLICESIZE .EQU ((PPPSD_SLICETRKS * PPPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
PPPSD_NUMSLICES .EQU PPPSDCAPACITY / PPPSD_SLICESIZE ; TOTAL SLICES IN DEVICE PPPSD_NUMSLICES .EQU PPPSDCAPACITY / PPPSD_SLICESIZE ; TOTAL SLICES IN DEVICE
PPPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
PPPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
PPPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
PPPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
PPPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
PPPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
PPPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
PPPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_PPPSD + 0 .DB DIODEV_PPPSD + 0
PPPSDDPH0 .DW 0000,0000 PPPSDDPH0 .DW 0000,0000

8
branches/wbw/Source/prp_data.asm → branches/wbw/Source/prp_dph.asm

@ -7,10 +7,10 @@ PRPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
PRPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PRPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
PRPSD_SLICESIZE .EQU ((PRPSD_SLICETRKS * PRPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) PRPSD_SLICESIZE .EQU ((PRPSD_SLICETRKS * PRPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
PRPSD_NUMSLICES .EQU PRPSDCAPACITY / PRPSD_SLICESIZE ; TOTAL SLICES IN DEVICE PRPSD_NUMSLICES .EQU PRPSDCAPACITY / PRPSD_SLICESIZE ; TOTAL SLICES IN DEVICE
PRPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
PRPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
PRPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
PRPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
PRPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
PRPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
PRPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
PRPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_PRPSD + 0 .DB DIODEV_PRPSD + 0
PRPSDDPH0 .DW 0000,0000 PRPSDDPH0 .DW 0000,0000

8
branches/wbw/Source/sd_data.asm → branches/wbw/Source/sd_dph.asm

@ -7,10 +7,10 @@ SD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
SD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) SD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB)
SD_SLICESIZE .EQU ((SD_SLICETRKS * SD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) SD_SLICESIZE .EQU ((SD_SLICETRKS * SD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB)
SD_NUMSLICES .EQU SDCAPACITY / SD_SLICESIZE ; TOTAL SLICES IN DEVICE SD_NUMSLICES .EQU SDCAPACITY / SD_SLICESIZE ; TOTAL SLICES IN DEVICE
SD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0
SD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1
SD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0
SD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1
SD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0
SD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1
SD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2
SD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3
; ;
.DB DIODEV_SD + 0 .DB DIODEV_SD + 0
SDDPH0 .DW 0000,0000 SDDPH0 .DW 0000,0000
Loading…
Cancel
Save