home *** CD-ROM | disk | FTP | other *** search
- ; XIOS386.A86
- TITLE 'CDOS 6.0 XIOS for 386 AT compatibles'
- pagesize 59 + 11
- ;********************************************************
- ;* *
- ;* *
- ;* X I O S *
- ;* ============ *
- ;* *
- ;* Concurrent PC DOS eXtended I/O System *
- ;* for *
- ;* 386 AT compatible PC's *
- ;* *
- ;* Copyright (C) 1986, Digital Research, Inc. *
- ;* 60 Garden Ct., Box DRI, Monterey, CA 93942 *
- ;* *
- ;* ******** *
- ;* *
- ;* European Version supports International *
- ;* Keyboards and Printers. *
- ;* *
- ;* ******** *
- ;* *
- ;* *
- ;* SIGNIFICANT FEATURES: *
- ;* IO_DEVIO XIOS function call implemented *
- ;* Virtual conout speedups *
- ;* AT HD multi-sector i/o w/ AT ROS bug-checking *
- ;* XT HD r/w driver in RAM using FLAG ops *
- ;* Enhanced Graphics Adaptor mode-switch support *
- ;* Extended Memory Manager support *
- ;* Command-line recall buffer support *
- ;* Keyboard ISR use of ROS code *
- ;* Dynamic memory allocation for supported devices*
- ;* Support for DOS programs on PC type serial *
- ;* terminals.
- ;* *
- ;* The general organization of the files which *
- ;* make-up this I/O system follows: *
- ;* *
- ;* CODE and DATA: *
- ;* XIOS386.A86 -- this documentation plus .EQU *
- ;* file listings *
- ;* HEADER.A86 -- required XIOS header and *
- ;* kernel interface routines *
- ;* ISRS.A86 -- miscellaneous interrupt service *
- ;* routines *
- ;* KEYBOARD.A86 -- keyboard interrupt service *
- ;* routine (ISR) *
- ;* CONIN.A86 -- keyboard input entry and *
- ;* programmable function keys *
- ;* STATLINE.A86 -- status line handlers *
- ;* LISTAUX.A86 -- parallel and serial drivers *
- ;* LISTNAT.A86 -- International printer *
- ;* conversion routines. *
- ;* NATDATA.A86 -- International public data *
- ;* PUBDATA.A86 -- public data (DPH, DPB, CCB, ACB *
- ;* LCB, etc.) *
- ;* WINDOWS1.A86 -- conout entry and ESC handlers *
- ;* WINDOWS2.A86 -- middle-level virtual console *
- ;* output and Window-Manager XIOS *
- ;* entries *
- ;* WINDOWS3.A86 -- CRT primitives and window data *
- ;* ANSI.A86 -- Ansi escape sequence handler *
- ;* PCVIDEO.A86 -- PCDOS video support *
- ;* ROSIF.A86 -- ROS entry points *
- ;* DISK.A86 -- XIOS disk routine entries *
- ;* FLOPPY.A86 -- floppy disk driver *
- ;* HDISK.A86 -- fixed disk driver *
- ;* FIDDS.A86 -- Field-Installable-Device-Driver-*
- ;* Software hooks *
- ;* MDISK.A86 -- memory disk driver *
- ;* V386.A86 -- CDOS 386 initialization *
- ;* INIT.A86 -- XIOS initialization *
- ;* PCTERM.A86 -- Serial PC terminal support *
- ;* *
- ;* CONSTANT DEFINITIONS: *
- ;* CDOS.EQU -- system call numbers and SYSDAT *
- ;* definition *
- ;* XIOS.EQU -- characteristics of this parti- *
- ;* I/O system *
- ;* PCHW.EQU -- hardware port numbers and bit *
- ;* masks *
- ;* ROSDATA.EQU -- ROS RAM variables at 40:0 *
- ;* ASCII.EQU -- names of ASCII codes *
- ;* NAT.EQU -- International constants *
- ;********************************************************
- eject
-
- ;********************************************************
- ;* *
- ;* CODING CONVENTIONS *
- ;* *
- ;* All CONSTANTS (numbers defined by the EQU *
- ;* directive) are capitalized. *
- ;* All INDEX-ADDRESS constructs (e.g., VS_ROWS equ *
- ;* 16[bx]) are also capitalized. *
- ;* All LABELS and VARIABLES are lower-case. *
- ;* All PUBLIC LABELS contain the "@" suffix. *
- ;* All PUBLIC VARIABLES contain the "$" suffix. *
- ;* Instructions in all critical regions (where *
- ;* interrupts are off at the CPU or PIC, or an *
- ;* MX semaphore has been obtained) are followed *
- ;* by double commas. *
- ;* *
- ;* *
- ;* XIOS GENERATION INSTRUCTIONS *
- ;* *
- ;* TOOLS USED: *
- ;* RASM86.CMD v1.3 (or higher) *
- ;* LINK86.CMD v1.5k, 8 MAR 85 (or higher) *
- ;* *
- ;* Assemble each module with the $lo toggle if *
- ;* local symbols are desired for debugging *
- ;* purposes. Omitting this toggle serves to *
- ;* reduce the size of the OBJ files. *
- ;* Use the $nc toggle to make case significant. *
- ;* Use $sz for each module unless XREF86 is to *
- ;* be used on the .LST and .SYM files. *
- ;* HEADER must be the first module in the link *
- ;* line with initialized data or code. *
- ;* INIT must be the last. *
- ;* The disk modules may have to be moved around *
- ;* if their local buffer(s) fall on a 64k *
- ;* boundary, due to the DMA controller limit. *
- ;* *
- ;* LINK LINE: *
- ;* XIOS386.CON = XIOS386[data[origin[0],maximum], *
- ;* HEAD, ISRS, *
- ;* KEYBOARD, CONIN, STATLINE, *
- ;* LISTAUX, LISTNAT, NATDATA, *
- ;* PUBDATA, DISK, FLOPPY, *
- ;* HDISK, WINDOWS1, WINDOWS2, *
- ;* WINDOWS3, PCVIDEO, FIDDS, *
- ;* MDISK, ROSIF, V386, PCTERM *
- ;* INIT *
- ;* *
- ;* JMB - Mike Bailey, DRI OS Engr., 15 APR 86 *
- ;* GMS - Glenn Stephens, DR UK 13 OCT 86 *
- ;* JW - Joe Wein, DR UK *
- ;* *
- ;********************************************************
-
- ; EQU file listings follow:
- eject
- include 386R2MU.EQU
- eject
- include CDOS.EQU
- eject
- include XIOS.EQU
- eject
- include PCHW.EQU
- eject
- include ROSDATA.EQU
- eject
- include ASCII.EQU
- eject
- include NAT.EQU
- end
-