Mercurial > hg > Members > kono > nitros9-code
view lib/scf.as @ 2792:8212aec53a14 lwtools-port
Fixed to assemble properly
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Sun, 27 Jan 2013 12:09:23 -0600 |
parents | 28b6ec8a14d5 |
children |
line wrap: on
line source
******************************************************************** * SCFDefs - Sequential Character File Manager Definitions * * $Id$ * * SCF stands for 'Sequential Character Filemanager' and is a package of subroutines * that define the logical structure of a serial device. * * The data structures in this file give SCF its 'personality' and are used * by SCF itself, as well as applications that will require disk I/O. * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 1984/01/11 YO * Added V.KANJI, V.KBUF, V.MODADR for new kanji input process. * * 1985/04/20 Mark G. Hawkins * Added V.PDLHd Path Descriptor List Head. * * 1985/04/21 Mark G. Hawkins * Added PD.PLP and PD.PST for modem handling. * * 1987/06/23 Kevin K. Darling * Updated with Dev Desc info. * * 1998/10/03 Boisy G. Pitre * Consolidated L1/L2 scfdefs. * * 2003/01/21 Boisy G. Pitre * Added symbolics for enhanced SCF line editing. * * 2003/06/02 Boisy G. Pitre * Updated comments for clarity. * * 2004/05/17 Boisy G. Pitre * Added higher baud rates. NAM SCFDefs TTL Sequential File Manager Definitions PAG ******************************* * SCF Device Descriptor Offsets * * These definitions are for SCF device descriptors. section _constant RMB M$DTyp IT.DVC: RMB 1 Device type (DT.SCF) IT.UPC: RMB 1 Uppercase flag IT.BSO: RMB 1 Backspace behavior IT.DLO: RMB 1 Delete behavior IT.EKO: RMB 1 Echo flag IT.ALF: RMB 1 Auto linefeed flag IT.NUL: RMB 1 End-of-line null count IT.PAU: RMB 1 Page pause flag IT.PAG: RMB 1 Number of lines per page IT.BSP: RMB 1 Backspace character IT.DEL: RMB 1 Delete-line character IT.EOR: RMB 1 End-of-record character IT.EOF: RMB 1 End-of-file character IT.RPR: RMB 1 Reprint-line character IT.DUP: RMB 1 Duplicate-last-line character IT.PSC: RMB 1 Pause character IT.INT: RMB 1 Interrupt character IT.QUT: RMB 1 Quit character IT.BSE: RMB 1 Backspace echo character IT.OVF: RMB 1 Bell character IT.PAR: RMB 1 Parity IT.BAU: RMB 1 Baud rate IT.D2P: RMB 2 Attached device name string offset IT.XON: RMB 1 X-ON character IT.XOF: RMB 1 X-OFF character IT.COL: RMB 1 Number of columns for display IT.ROW: RMB 1 Number of rows for display IT.XTYP: RMB 1 Extended type (added by BRI) * IFGT Level-1 * Window Descriptor Additions * For CoCo window, where IT.PAR = $80 * RMB IT.ROW+1 IT.WND: RMB 1 Window number (matches device name) ($2E) IT.VAL: RMB 1 Use defaults on Init (0=no, 1=yes) IT.STY: RMB 1 Screen type default IT.CPX: RMB 1 Column start default IT.CPY: RMB 1 Row start default IT.FGC: RMB 1 Foreground color default IT.BGC: RMB 1 Background color default IT.BDC: RMB 1 Border color default * ENDC endsect PAG ******************** * SCF Static Storage * * SCF devices must reserve this space for SCF * section _constant RMB V.USER V.TYPE: RMB 1 Device type or parity V.LINE: RMB 1 Lines left until end of page V.PAUS: RMB 1 Immediate Pause request V.DEV2: RMB 2 Attached device's static V.INTR: RMB 1 Interrupt char V.QUIT: RMB 1 Quit char V.PCHR: RMB 1 Pause char V.ERR: RMB 1 Accumulated errors V.XON: RMB 1 X-On char V.XOFF: RMB 1 X-Off char V.KANJI: RMB 1 Kanji mode flag V.KBUF: RMB 2 Kana - Kanji convert routine work address V.MODADR: RMB 2 Kana - Kanji convert module address V.PDLHd: RMB 2 Open path descriptor list head pointer V.RSV: RMB 5 Reserve bytes for future expansion V.SCF: EQU * Total SCF manager static overhead endsect PAG *********************** * Character Definitions * section _constant C$NULL: SET 0 Null char C$RPET: SET $01 (CTRL-A - SOH) Repeat last input line C$INTR: SET $03 (CTRL-C - ETX) Keyboard interrupt C$RPRT: SET $04 (CTRL-D - EOT) Reprint current input line C$QUIT: SET $05 (CTRL-E - ENQ) Keyboard Abort C$BELL: SET $07 (CTRL-G - BEL) Line overflow warning C$BSP: SET $08 (CTRL-H - BS ) Back space C$RARR: SET $09 Right Arrow C$EL: SET $05 Erase Line C$LF: SET $0A Line feed C$HOME: SET $0B Home position Code C$Clsgr: SET $15 Graphic screen clear (use FM-11) C$Clsall: SET $16 Graphic & character clear (use FM-11) C$CR: SET $0D Carriage return C$FORM: SET $0C (CTRL-L - FF ) Form Feed ... screen clear C$SI: SET $0F Shift IN Code C$SO: SET $0E Shift OUT Code C$DELETE: SET $10 Delete char (for SCF enhanced line editing) C$XON: SET $11 (CTRL-Q - DC1) Transmit Enable C$INSERT: SET C$XON Insert char (for SCF enhanced line editing) C$XOFF: SET $13 (CTRL-S - DC3) Transmit Disable C$PLINE: SET C$XOFF Print remaining line (for SCF enhanced line editing) C$PAUS: SET $17 (CTRL-W - ETB) Pause character C$DEL: SET $18 (CTRL-X - CAN) Delete line C$SHRARR: SET $19 Shift Right-Arrow C$EOF: SET $1B (CTRL-[ - ESC) END of file C$RGT: SET $1C Cursor right C$LFT: SET $1D Cursor left C$UP: SET $1E Cursor up C$DWN: SET $1F Cursor down C$SPAC: SET $20 Space C$PERD: SET '. C$COMA: SET ', endsect PAG ********************************************* * Sequential Character Path Descriptor Format * * A path descriptor is created for every new path that is open * via the I$Open system call (processed by IOMan). Process * descriptors track state information of a path. * section _constant RMB PD.FST PD.DV2: RMB 2 Output device table pointer PD.RAW: RMB 1 Read/Write or ReadLn/WritLn mode PD.MAX: RMB 2 ReadLn high byte count PD.MIN: RMB 1 Devices are "mine" if clear PD.STS: RMB 2 Status routine module addr PD.STM: RMB 2 Reserved for status routine endsect section _constant RMB PD.OPT RMB 1 Device type PD.UPC: RMB 1 Case (0=both, 1=upper only) PD.BSO: RMB 1 Backspace (0=BSE, 1=BSE,SP,BSE) PD.DLO: RMB 1 Delete (0=BSE over line, 1=CRLF) PD.EKO: RMB 1 Echo (0=No Echo) PD.ALF: RMB 1 Auto linefeed (0=No auto LF) PD.NUL: RMB 1 End of Line null count PD.PAU: RMB 1 Page pause (0=No end of page pause) PD.PAG: RMB 1 Lines per page PD.BSP: RMB 1 Backspace character PD.DEL: RMB 1 Delete Line character PD.EOR: RMB 1 End of Record character (read only) PD.EOF: RMB 1 End of File character PD.RPR: RMB 1 Repront Line character PD.DUP: RMB 1 Dup Last Line character PD.PSC: RMB 1 Pause character PD.INT: RMB 1 Keyboard interrupt character (CTRL-C) PD.QUT: RMB 1 Keyboard quit character (CTRL-E) PD.BSE: RMB 1 Backspace echo character PD.OVF: RMB 1 Line overflow character (BELL) PD.PAR: RMB 1 Parity code PD.BAU: RMB 1 ACIA baud rate (Color Computer) PD.D2P: RMB 2 Offset of DEV2 name PD.XON: RMB 1 ACIA X-ON character PD.XOFF: RMB 1 ACIA X-OFF character OPTCNT EQU *-PD.OPT Total user settable options PD.ERR: RMB 1 Most recent I/O error status PD.TBL: RMB 2 Device table addr (copy) PD.PLP: RMB 2 Path Descriptor List Pointer PD.PST: RMB 1 Current path status * PD.PST values Path Descriptor Status byte * PST.DCD: EQU %00000001 Set if DCD is lost on Serial port * PD.PAR definitions * * Parity PARNONE: EQU %00000000 PARODD: EQU %00100000 PAREVEN: EQU %01100000 PARMARK: EQU %10100000 PARSPACE: EQU %11100000 * PD.BAU definitions * * Baud rate B110: EQU %00000000 B300: EQU %00000001 B600: EQU %00000010 B1200: EQU %00000011 B2400: EQU %00000100 B4800: EQU %00000101 B9600: EQU %00000110 B19200: EQU %00000111 B38400: EQU %00001000 B57600: EQU %00001001 B115200: EQU %00001010 * Word size WORD8: EQU %00000000 WORD7: EQU %00100000 * Stop bits STOP1: EQU %00000000 STOP2: EQU %00010000 endsect