Reintegrate wbw -> trunk

This commit is contained in:
wayne
2013-03-31 00:49:34 +00:00
parent 4356167cbc
commit d80c43d83b
153 changed files with 5720 additions and 818 deletions

View File

@@ -33,7 +33,7 @@ WBOOTE JP WBOOT ; #1 - WARM START
JP CONOUT ; #4 - CONSOLE CHARACTER OUT
JP LIST ; #5 - LIST 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 SELDSK ; #9 - SELECT DISK
JP SETTRK ; #10 - SET TRACK NUMBER
@@ -721,14 +721,6 @@ UNA_INI:
LD A,(HL) ; GET 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
;
;__________________________________________________________________________________________________
@@ -1522,7 +1514,7 @@ MDDPH0 .DW 0000,0000
.DW DIRBF,DPB_ROM
.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)
;
; MEMORY DISK 01: RAM DISK
@@ -1535,7 +1527,7 @@ MDDPH1 .DW 0000,0000
.DW DIRBF,DPB_RAM
.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)
;
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
;
#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"
#ENDIF
#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"
#ENDIF
#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"
#ENDIF
#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"
#ENDIF
#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"
#ENDIF
#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"
#ENDIF
#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"
#ENDIF
;
@@ -1968,25 +1960,25 @@ LD_CRT .SET CIODEV_PPPCON
CIO_MAP:
;
; 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
.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
.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
.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;
@@ -1998,10 +1990,10 @@ CIO_MAP:
; A) SYSTEM CONFIGURATION DATA BUFFER
; 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
;
INIT:
@@ -2028,13 +2020,13 @@ INIT:
LD (IOBYTE),A ; STORE IT
#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:
LD (IOBYTE),A ; SET THE ACTIVE IOBYTE
LD (IOBYTE),A ; SET THE ACTIVE IOBYTE
#ENDIF
; DEFAULT DRIVE
@@ -2110,7 +2102,7 @@ DEFDRV1:
JR NZ,DEFDRV1 ; NOPE, NEXT DRIVE
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 (DEFDRIVE),A ; SAVE IT
;

View File

@@ -140,7 +140,7 @@ BOOTLU .DW 0 ; logical unit on dev/unit for boot
;SDCAPACITY .EQU 64 ; DEVICE SIZE IN MEGABYTES
.DW SDCAPACITY
.DB SDCSIO ; USE CSI/O PORT (boolean)
.DB SDMODE ; USE CSI/O PORT (boolean)
.DB SDCSIOFAST ; USE FAST CSI/O ALGORITHM (boolean)
#ELSE
.DB 0E5h ; placeholder for Z180_CLKDIV

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU TRUE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_N8 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -0,0 +1,92 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC 5/8/2012
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
;
CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
;
DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_VDU, DIODEV_PRPCON
ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED)
DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_UPD7220, VDADEV_N8V)
DEFEMU .EQU EMUTYP_TTY ; DEFAULT EMULATION TYPE (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA)
;
DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
;
UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE)
UARTFIFO .EQU TRUE ; TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UARTAFC .EQU FALSE ; TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
DEFIOBYTE .EQU $00 ; DEFAULT INITIAL VALUE FOR CP/M IOBYTE, $00=TTY, $01=CRT (MUST HAVE CRT HARDWARE)
ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED)
WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM
DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS
;
FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT
FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3
FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE)
FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY
;
IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT
IDEMODE .EQU IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE
IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
IDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
PPIDEMODE .EQU PPIDEMODE_STD ; PPIDEMODE_STD, PPIDEMODE_DIO3
PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE)
PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDMODE .EQU SDMODE_DSD ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;
PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT
PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE)
PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB)
PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;
HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT
HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT
ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT
ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE)
;
BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS)
BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE
BOOT_DEFAULT .EQU 'R' ; SELECTION TO INVOKE AT TIMEOUT
;
BAUDRATE .EQU 38400 ; IN BPS: 1200, 9600, 38400, ..., 115200
TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU TRUE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY)
SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY)
PPISD .EQU TRUE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE)
S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD)
SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)

View File

@@ -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
Source/fd_dph.asm Normal file
View File

@@ -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

View File

@@ -7,10 +7,10 @@ HDSK_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
HDSKDPH0 .DW 0000,0000

View File

@@ -7,10 +7,10 @@ IDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
IDEDPH0 .DW 0000,0000

View File

@@ -6,11 +6,11 @@
PPIDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
PPIDEDPH0 .DW 0000,0000

View File

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

View File

@@ -7,10 +7,10 @@ PPPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
PPPSDDPH0 .DW 0000,0000

View File

@@ -7,10 +7,10 @@ PRPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
PRPSDDPH0 .DW 0000,0000

File diff suppressed because it is too large Load Diff

View File

@@ -7,10 +7,10 @@ SD_SLICETRKS .EQU 65 ; TRACKS PER SLICE
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_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
SDDPH0 .DW 0000,0000

View File

@@ -99,6 +99,16 @@ PPIDEMODE_NONE .EQU 0
PPIDEMODE_STD .EQU 1 ; STANDARD N8VEM PARALLEL PORT
PPIDEMODE_DIO3 .EQU 2 ; DISKIO V3 PARALLEL PORT
;
; SD MODE SELECTIONS
;
SDMODE_NONE .EQU 0
SDMODE_JUHA .EQU 1 ; JUHA MINI BOARD
SDMODE_N8 .EQU 2 ; N8-2511, UNMODIFIED
SDMODE_CSIO .EQU 3 ; N8-2312 OR N8-2511 MODIFIED
SDMODE_PPI .EQU 4 ; PPISD MINI BOARD
SDMODE_UART .EQU 5 ; S2ISD
SDMODE_DSD .EQU 6 ; DUAL SD
;
; CONSOLE TERMINAL TYPE CHOICES
;
TERM_TTY .EQU 0