Files
RomWBW/Source/BPBIOS/icfg-ww.z80
2016-11-28 21:19:22 -08:00

186 lines
8.0 KiB
Z80 Assembly
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;::::::::::::::::::::::::::::::::::::::::::********************************
; I/O Configuration Area ****** Hardware Specific ******
; - D-X Designs Pty Ltd P112 - ********************************
;
; 1.2 - 22 Aug 01 - Cleaned up for GPL release. HFB
; 1.1 - 18 Apr 97 - Modified to Add GIDE Definitions. HFB
; 1.0 - 27 Jan 97 - Initial Release for P112. HFB
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;*** * * * * * * * * * * W A R N I N G ! ! ! * * * * * * * * * * * * ***
;*** Do NOT alter any of the ordering or sizing of the following data ***
;*** locations or utilities will probably NOT function correctly! ***
;*** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ***
CSEG
; Form Option Byte 1
OPT1 DEFL [BANKED AND 1] ; Bit 0 = unbanked/banked
OPT1 DEFL OPT1+[INROM AND 2] ; Bit 1 = Bank in RAM/Bank in ROM
OPT1 DEFL OPT1+[AUTOSL AND 4] ; Bit 2 = DPB Fixed/DPB Assignable
OPT1 DEFL OPT1+[BANKED AND ZSDOS2 AND 8] ; Bit 3 = ALV/CSV in Banked RAM
; Bit 7 is "Lock" flag for system loads
; If set to 1, LDSYS will not load a
; new system over the running one.
DEFB 'B/P-WW' ; Six-char string for Text ID Matching
CONFIG:
IOBYT: DEFB 10010100B ; LST:=PIO, AUX:=COM2, CON:=COM1
SYSDRV: DEFB 0 ; System drive (a=0, b=1...)
OPTF1: DEFB OPT1 ; Option flags
UABNK: DEFB BNKU ; Beginning of User Bank(s) if Banked System
; (Ending Bank denoted by SYSBNK-1)
TPABNK: DEFB BNK0 ; TPA Bank Number if Banked System
SYSBNK: DEFB BNK2 ; Beginning of System Bank(s) if Banked System
; (Ending Bank denoted by RAMBNK-1)
RAMBNK: DEFB BNK3 ; Base Bank Number for Ram Disk
MAXBNK: DEFB BNKM ; Highest permissible Bank Number
HICOMM: DEFB 80H ; Page address of start of high Common Memory
DPBSZ: DEFB DPBSIZ ; Size of DPB
NUMDPB:
IF BANKED
DEFB 0 ; Number of DPBs in Common RAM
DEFB NRDPB ; Number of Banked DPBs
ELSE
DEFB NRDPB ; Number of DPBs in Common RAM
DEFB 0 ; Number of Banked DPBs
ENDIF
DPBADR:
IF BANKED
DEFW 0 ; Pointer to dirst Common RAM XDPB
DEFW DPB ; Pointer to first XDPB in Alternate Bank
ELSE
DEFW DPB ; Pointer to first Common RAM XDPB
DEFW 0 ; Pointer to first XDPB in Alternate Bank
ENDIF
AUTOCMD: AUTOCL ; Startup command for Z3
ENVADR: DEFW Z3ENV ; Pointer to the Environment Descriptor
;------------ Banked User Area Control Information ---------------
; An existing User Area cannot exist in Bank 0 by decree. The User Area
; can therefore be used as a flag to determine whether such an area exists.
; The Bank Number is set in DEF-xx.LIB. To keep Page 0 equivalent free in
; the user bank, we offset values to 80H (it's just a good number). The
; top of each User Bank is 7FFFH as with all of the switched banks in
; a B/P Bios System. Banked applications should chain themselves together
; sequentially so that the end can be determined and space managed.
UADAT: DEFB BNKU ; Flag for Banked User Area (0 if None)
DEFW 0080H ; Pointer to Start of User area in Bank
;---------------- CPU Configuration Information ------------------
SPEED: DEFB MHZ ; Set to processor speed value in Configuration
WAITS: DEFB 00010010B ; Number of additional Memory & IO Wait states
; ||||++++--- # of IO Wait States (bits 3-0, only 1 & 0 used)
; ++++------- # of Memory Wait States (bits 7-4, only 5 & 4 used)
RELOD0: DEFW 2560*MHZ ; 16-bit constant for counter/timer refresh
; based on 50 mS Interrupts to Down Timer.
; Use 2560 for 12.288/18.432MHz etc. Crystals,
; 2500 for 16.000MHz Crystals.
;-------- Physical Floppy Disk Configuration Information ---------
; The Physical Drive table consists of 5 bytes for each of 4 Floppy Drives
; thereby providing all necessary data to all types of controllers.
;
; 1 - Drive Characteristics Bits. The Bits have the following meanings:
; D D D D D D D D
; 7 6 5 4 3 2 1 0
; | | | | | +-+-+---- Disk Size 000=Fixed; 001=8"; 010=5.25"; 011=3.5" (*)
; | | | | +---------- Single-Sided (0); Double-Sided (1)
; | | | +------------ (Reserved for Double-Step(1) in XDPH)
; | | +-------------- Drive Motor Control (1); Motor Always On (0)
; | +---------------- Max Speed is 5.25" (0); 8" & Hard Disk & Hi-Dens (1)
; +------------------ (Reserved for Single(1)/Double(0) Density in XDPH)
; (*) - 3.5" and 5.25" drives are treated the same for many formats with
; the drive bits being reduced to 010B in the BIOS code.
; 2 - Drive Step Rate (1 to 16 in increments of 1) in milliseconds
; 3 - Head Load Time (2 to 254 in increments of 2) in milliseconds
; 4 - Head Unload Time (16 to 240 in increments of 16) in milliseconds
; 5 - Number of Physical Tracks on Drive
FDCSPEC: DEFB 6BH,3, 4,240,80 ; #1 (3"DSHD,3 mS Step,4mS HLT,255 mS HUT,80t)
DEFB 2AH,6,24,240,40 ; #2 (5"DS,6 mS Step,24mS HLT,255 mS HUT,40t)
DEFB 2AH,4,24,240,80 ; #3 (5"DS,4 mS Step,24mS HLT,255 mS HUT,80t)
DEFB 6AH,3, 4,240,80 ; #4 (5"DS,3 mS Step, 4mS HLT,255 mS HUT,80t)
MONTIM: DEFB 100 ; Motor On Time (1 to 255) in tenths-of-seconds
SPINUP: DEFB 8 ; Spinup delay (1 to 255) in tenths-of-seconds
MXRTRY: DEFB 4 ; Maximum Number of retries on Floppy Opns
IVCT: DEFW 0 ; Pointer to interrupt vectors
;-------- Physical Hard Drive Configuration Information ----------
; Hard Disk data begins w/Controller Type, followed by data for 3 drives.
; The first byte for each drive consists of a byte containing bit codes
; for SCSI Device, Logical Unit, and a bit indicating whether or not the
; drive is physically connected to the system. The configuration should
; match that contained in DPHHD-xx.LIB for Hard Drive partitions.
; Bit 7 6 5 4 3 2 1 0
; | | | | | | | |
; | | | | | +-+-+-- Physical Device Number (0..6, 7 = Host)
; | | | | +-------- (reserved)
; | | | +---------- 1 = Drive Active, 0 = No Drive
; +-+-+------------ Logical Unit Number (usually 0 or 1)
;.....
; The Controller Type Byte contains information needed to dictate the specific
; bytes to be used to communicate to a SASI/SCSI-connected Hard Drive.
; Additional bytes will be defined as needed, so please coordinate any
; extensions with the Authors to insure the generality of tools.
CNTRLR: DEFB 80H ; Controller Types recognized are:
; 0- Owl 5- Conner SCSI
; 1- Adaptec ACB-4000A 6- Quantum SCSI
; 2- Xebec 1410A/Shugart 1610-3 7- Maxtor SCSI
; 3- Seagate SCSI 8- Syquest SCSI
; 4- Shugart 1610-4 Minimal SCSI 80H- GIDE (IDE/ATA)
; First drive (Generic HBIOS drive configuration)
BITS DEFL 00000000B ; First HBIOS Hard Disk Drive
BITS DEFL BITS+[UNIT_0 AND 10H] ; If active, set Bit 4
HDRV0: DEFB BITS ; Set Device, Unit, and Active bits
DEFW 520 ; Number of Cylinders
DEFB 16 ; Number of Heads
DEFW 16 ; IDE - Number of Sectors Per Track
DEFW 0000 ; Cylinder # to start precompensation
DEFB 0 ; Step Rate (0=3ms, 1=28us, 2=12us)
; Second drive (Generic HBIOS drive configuration)
BITS DEFL 00000001B ; Second HBIOS Hard Disk Drive
BITS DEFL BITS+[UNIT_1 AND 10H] ; If active, set Bit 4
HDRV1: DEFB BITS ; Set Device, Unit, and Active bits
DEFW 520 ; Number of Cylinders
DEFB 16 ; Number of Heads
DEFW 16 ; IDE - Number of Sectors Per Track
DEFW 0000 ; Cylinder # to start precompensation
DEFB 0 ; Step Rate (0=3ms, 1=28us, 2=12us)
; Third drive (Generic HBIOS drive configuration)
BITS DEFL 00000010B ; Third HBIOS Hard Disk Drive
BITS DEFL BITS+[UNIT_2 AND 10H] ; If active, set Bit 4
HDRV2: DEFB BITS ; Set Device, Unit, and Active bits
DEFW 520 ; Number of Cylinders
DEFB 16 ; Number of Heads
DEFW 16 ; IDE - Number of Sectors Per Track
DEFW 0000 ; Cylinder # to start precompensation
DEFB 0 ; Step Rate (0=3ms, 1=28us, 2=12us)
DEFB 0,0,0,0,0 ; (Reserved)
;======= End of Fixed Config ======== Device Config follows ========