You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

218 lines
9.7 KiB

;::::::::::::::::::::::::::::::::::::::::::********************************
; I/O Configuration Area ****** Hardware Specific ******
; - Retro-Brew Computers w/ HBIOS- ********************************
;
; 1.4 - 29 Nov 16 - Updated for HBIOS version 2.8 WW
; 1.3 - 17 Jan 14 - N8VEM Initial Test release WW+LN
; 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
IOBYT: DEFB 11111100B ; LST:=Null, AUX:=Null, CON:=COM1
SYSDRV: DEFB 2 ; 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
;AUTOCMD: DEFB 8,'startupf',0 ; 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,4,24,240,80 ; #1 (3"DSHD,4 mS Step,24mS HLT,240 mS HUT,80t)
DEFB 2AH,4,24,240,40 ; #2 (5"DS,4 mS Step,24mS HLT,240 mS HUT,40t)
DEFB 2AH,4,24,240,80 ; #3 (5"DS,4 mS Step,24mS HLT,240 mS HUT,80t)
DEFB 6AH,4,24,240,80 ; #4 (3"DS,4 mS Step, 24mS HLT,240 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 INTTBL ; Pointer to interrupt vectors - WW
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.
; BPCNFG only supports 3 devices. Originally BPBIOS systems used a SCSI
; interface that could support up to 7 physical drives. Thus the hard disk
; data begins w/ controller type (read SCSI type). Later the GIDE adapter
; became available. It supported only two drives. IDE drives usually have
; much larger capacity and so more drives were never needed with the IDE.
; In the extended DPH the drive associated with each logical CPM drive is
; specified. In ver 2.8 of HBIOS, disk devices are discovered dynamically,
; in the order RAM, ROM, IDE then SD and assigned at that time a
; device number. So the ROM drive is usually device 1, the IDE or HDSK0 is
; device 2 and the SD or HDSK1 is device 3. In this situation, the hard
; disk data below seems redundant. To maintain compatibility it will be
; retained but mostly not used. Controller type will be set GIDE and the
; rest of the data will be set to describe a generic 8 mB drive. The data
; for each drive consists of a byte containing bit codes for Device 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, i.e. the unit specified in DPHHD-NH will be
; used in the hard disk driver. The byte for Hard Drive partitions
; contains the following bit fields
;.
; 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
; i.e. master or slave for IDE)
;.....
; The Controller Type Byte contains information needed to dictate the specific
; bytes to be used to communicate to a BPBIOS-connected Hard Drive.
; Additional bytes will be defined as needed, so please coordinate any
; extensions with the Authors to insure the generality of tools. Note that
; this byte is not used since HBIOS presents a unified interface to BPBIOS.
; Also note that BPCNFG only knows about the first ten controller types,
; Second IDE and HBIOS are "Unknown" devices to BPCNFG but it will accept
; these types if input.
CNTRLR: DEFB 80H ; Controller Types recognized are:
; 0 = Owl
; 1 = Adaptec ACB4000a
; 2 = Xebec 1410A, Shugart 1610-3
; 3 = Seagate SCSI
; 4 = Shugart 1610-4 (Minimal SCSI)
; 5 = Conner SCSI
; 6 = Quantum SCSI
; 7 = Maxtor SCSI
; 8 = Syquest SCSI
; 80H = First IDE
; 81H = Second IDE
; 90H = HBIOS Disk IO
; First drive (Generic HBIOS drive configuration)
BITS DEFL HB_HDDEV0 ; First HBIOS Hard Disk Drive
BITS DEFL BITS+[UNIT_0 AND 10H] ; If active, set Bit 4
HDRV0: ; used to convert logical to physical sector addressing
DEFB BITS ; Set Device, Unit, and Active bits
DEFW 520 ; # Cylinders - nuf for 8 8mB partitions
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 HB_HDDEV1 ; 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 HB_HDDEV2 ; 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 ========