;; excbiose.lib ; ; these are common equates for the BIOS ; ; 1983-06-23 set for 2nd release ; 1983-06-83 added equ's for device time-out sys equ 0 ; port to get/set crnt bank sysb equ 3 ; port to set clock frequency ; equates for various drive types dsks1 equ 5 ; 256 byte sector sssd dskd1 equ 0ch ; 1024 byte sector ssdd xerox equ 1 ; 128 byte sector sssd ibm equ 8 ; 512 byte sector ssdd dec equ 8 ; 512 byte sector ssdd (+1/track) ; equates for serial device table characteristics devin equ 1 ; input device devout equ 2 ; output device devbaud equ 4 ; selectable baud rate devser equ 8 ; serial device (xon possible?) devxact equ 16 ; xon/xoff active ; equates to rom routines used rsec equ 5ah ; bios level read sector wsec equ 5dh ; bios level write sector senden equ 60h ; sense denisty ; serial device routines setbaud equ 24h ; set baud rate serial A or B skey equ 03h ; kbd status ci equ 06h ; kbd input cout equ 09h ; console output serain equ 18h ; modem input (A) saistat equ 0ch ; modem input status (A) seraout equ 1eh ; modem output (A) saostat equ 12h ; modem output status (A) serbin equ 1bh ; printer input (B) sbistat equ 0fh ; printer input status (B) serbout equ 21h ; printer output (B) sbostat equ 15h ; printer output status (B) parinp equ 51h ; centronics input pistat equ 4bh ; centronics input status parout equ 54h ; centronics output postat equ 4eh ; centronics output status ; ieee 488 interface rom routines ieistat equ 3fh ; input device status ieostat equ 42h ; output device status ieinp equ 45h ; input char ieout equ 48h ; output char ; the following are equates to absolute ram areas ; used by the rom dmabank equ 0fd4ah ; bank for disk xfr dmadr equ 0fd4bh ; disk dma address actsec equ 0fd4dh ; sector acttrk equ 0fd4eh ; track actdsk equ 0fd50h ; disk unit acttyp equ 0fd51h ; sector size rommove equ 0fd44h ; address of rom's move routine rsbank equ 0fd56h ; source bank rdbank equ rsbank+1 ; destination bank ieadr equ 0fd52h ; ieee device address ; the following address defines an area in common ; as follows: ; ds 60 Only this many bytes ---> watch out ; tbuf: ds 100h (for xmove use) ; ; therefore, this area is being used cautiously for ; various stack usage. tbuf equ 0fddch ; start of xmove buffer ; this stack is used by xmove or serial i/o savesp equ tbuf-2 ; place to save incoming sp comnsp equ savesp ; and a common stack area ; this stack is used by disk i/o routines ; because of error messages it is a different stack dsksave equ tbuf+64 ; another 64 byte area dsksp equ dsksave ; and its stack ; these are areas in rom's ram which are really ; primarily used during serial i/o and during ; cold boot time for initialization. They are ; included here so that any changes to the rom ; require only this file to be changed. clkptr equ 2000h ; ptr to seconds field of time-of-day media equ clkptr+2 ; ptr to media changed byte w/in scb adrive equ media+2 ; ptr to media change byte drive A (built-in) bdrive equ adrive+2 ; ptr to media change byte drive B (built-in) kbdtbl equ 200ah ; kbd masks and decode tables (11+320) ; immediately followed by fcn key table (512) hertz equ 2355h ; clock frequency (50 or 60) ; this is followed by cursor type, bg type ; and key click. These are init'ed differently. ; these are the protocol bytes for the rom handling ; the xon/etx protocol. aproto equ 2008h ; serial A protocol byte bproto equ aproto+1 ; serial B protocol byte romxon equ 1 ; indicates xon protocol used rometx equ 2 ; indicates etx protocol used romver equ 00feh ; 2 byte rom version number ; of the form: DW ydddH (year day day day) romprod equ romver-2 ; rom's product code and feature code ; special override equates ; these specify the area on sector 5 track 1 (after ccp) ; which allow the disk to override the assembly of ; various tables. The table begins with the 2 byte ; version number of the bios. No overrides are processed ; unless the number from the diskette matches our own number. ; This is because the tables being overriden contain ; actual memory addresses. The remainder of the table ; is best described by the following equates. ivers equ 0 ; version number must match idrvtbl equ ivers+2 ; drvtbl tbl of dph ptrs idrvlen equ 16*2 ; length of data part idevtbl equ idrvtbl+idrvlen ; devtbl serial device table idevlen equ 16*8 ; primary table idevshd equ idevtbl+idevlen ; devtbl serial device ishdlen equ 16*4 ; sahdow table idvini equ idevshd+ishdlen ;then comes init values ;first is init re-direction idvilen equ 5*2 idvstr equ idvini+idvilen ; then init strings idvslen equ 16*16 ; (total max length) idelay equ idvstr+idvslen ; Device delay variables idellen equ 2 iexd equ idelay+idellen ; End (or next entry) ; ; ;; -30- excbiose.lib