SBTTL 'Data Area (28_Dec_84)' PAGE ;====================================================================== ; ; Copyright 1984 ; Morrow Designs, Inc. ; San Leandro, Ca. ; ; ; Module Description: ;-------------------- ; This module contains all data storage definitions. ; ;---------------------------------------------------------------------- ; Index (14_Dec_84) ;------------------ ; ; Message Strings ; Crt Controller Setup Strings ; NMI Page Zero Routines ; Cursor Type Lookup Table ; Video Attribute Table ; Control Character Lookup Table ; Escape Sequence Lookup Tables ; Line Base Table ; Ascii Translation Code Table ; Pointers to Character Set Translation Tables ; Character Set Translation Tables ; Function Code Bytes to be Sent all Function Keys except F1-F10 ; Function Code Bytes to be Sent by Function Keys F1-F10 Only ; Restart and interrupt vectors PAGE ;---------------------------------------------------------------------- ; Message Strings (18_Dec_84) ;---------------------------- ; MMESG: DW MSG1 MSG1: DB 'Memory Error',0 KMESG: DW MSG2 MSG2: DB 'Keyboard Disconnected',0 RVMESG: DW MSG3 MSG3: DB 174,'1984 Morrow Designs, Inc. Rev 4.0.',0 ;---------------------------------------------------------------------- ; Crt Controller Setup Strings ;----------------------------- ; ; 6545 REGISTER VALUES SETUP65:DB 101,80,81,$CF,24,1,24,24 DB %00110000,11,$40,8,0,0,0,0 ; 6845 REGISTER VALUES SETUP68:DB 101,80,81,$0F,24,1,24,24 DB %01010000,11,$60,8,0,0,0,0 ;---------------------------------------------------------------------- ; NMI Page Zero Routines (12_Dec_84) ;----------------------------------- ; 1) This code is transferred to page zero during the cold boot process. ; 2) Normally the Nmi vectors to the Host Input Processing Routine (in ; the IOB.. Module). ; 3) When a transfer from the terminal to the keyboard is being initiated ; there is a contention check. This contention check's timing is ; critical and tight (only 30us); Consequently, the Nmi is vectored ; through a second routine that sets a flag that the Nmi occured (INY) ; and returns. ; ;VCTNMI --> Nmi Vector NMISTR: DB $4C ;Jump to the Normal NMI Vector in Page Zero DW NMINRM ;NMINRM --> Vector to Normal Nmi Processing DB $4C ;Jump to Normal NMI Handeler (Process Host Input) DW NMIVEC ;NMICNT --> Process Nmi while doing a Keyboard Contention Check DB $C8 ;Increment the Y Register DB $40 ;Return from interrupt PAGE ;---------------------------------------------------------------------- ; Cursor Type Lookup Table ;------------------------- ; CURTYPE:DB $60,11 ; block, slow blinking - DEFAULT DB $40,11 ; block, fast blinking DB 0,11 ; block, no blink DB $6B,11 ; underline, slow blinking DB $4B,11 ; underline, fast blinking DB 11,11 ; underline, no blink DB $20,0 ; no cursor ;---------------------------------------------------------------------- ; Video Attribute Table ;---------------------- ; the 3rd byte of the code sequence sets the mode ; in a bit-mapped fashion... the bit assignments ; are related to the LSI ADM-31 bit maps: ; ; b7 ... b2 b1 b0 ; Inverse vid. Brightness underline ; (1=inv) (1=dim) (1=underline) ; ; so, for example, to set inverse underline, you output ESC G 5 ; ATTTAB: DB %00000010 ; Normal video DB %00000011 ; Underline DB %00000000 ; Half intensity DB %00000001 ; Half intensity and Underline DB %00000110 ; Inverse Video DB %00000111 ; Inverse and Underline DB %00000100 ; Inverse and Half intensity DB %00000101 ; Inverse, Half intensity, and Underline PAGE ;---------------------------------------------------------------------- ; Control Character Lookup Table (27_Dec_84) ;------------------------------------------- ; CTRLTAB:DW RTN,RTN,RTN,RTN,RTN,READCR,RTN,BELL DW RTN,TAB,NEWLIN,CLREOL,CLRSCR,CR,RTN,RTN DW SCURS,RTN,RTN,RTN,UNLON,UNLOFF,RTN,US DW FS,BS,DS,RTN,LOINT,HIINT,EXTND,RTN ;---------------------------------------------------------------------- ; Escape Sequence Lookup Tables (28_Dec_84) ;------------------------------------------ ; ;Code Identification Table ESCTAB: DB $43 ;Display the Code Revision Message DB $44 ;Turn ON Reverse Video DB $45 ;Turn ON Reverse Video DB $46 ;Clear to the End of the Screen ESCLEN EQU $ - ESCTAB - 1 ;Define the Length of the Lookup Table ;Vector Table ESCVCT: DW DISREV ;Display the Code Revision Message DW REVON ;Turn ON Reverse Video DW REVOFF ;Turn ON Reverse Video DW CLREOS ;Clear to the End of the Screen ;Parameter Count Table ESCCNT: DB 0 ;Display the Code Revision Message DB 0 ;Turn ON Reverse Video DB 0 ;Turn ON Reverse Video DB 1 ;Clear to the End of the Screen ;---------------------------------------------------------------------- ; Line Base Table ;---------------- ; LINES: DW 0*80, 1*80, 2*80, 3*80, 4*80, 5*80, 6*80, 7*80 DW 8*80, 9*80,10*80,11*80,12*80,13*80,14*80,15*80 DW 16*80,17*80,18*80,19*80,20*80,21*80,22*80,23*80 PAGE ;---------------------------------------------------------------------- ; Function Code Bytes to be Sent all Function Keys except F1-F10 ;--------------------------------------------------------------- ; - FTABLE is for all function keys except F1-F10 ; - F110TBL is for function keys F1-F10 ; ; unshifted FTABLE: DB $4A,$4B,$4C,$4D,$4E ; UP, DOWN, LEFT, RIGHT, HOME DB $49,$4F,$00,$00,$00 ; ERASE, HELP, SCROLL, SETUP, BREAK DB $00,$00,$00 ; CAPS LOCK, TAB, SPACE DB 0,0,0 ; FREE SPACE DB $30,$31,$32,$33,$34 ; KEYPAD 0, 1, 2, 3, 4 DB $35,$36,$37,$38,$39 ; KEYPAD 5, 6, 7, 8, 9 DB $2A,$2D,$3A,$3D ; KEYPAD PERIOD, ENTER, MINUS, COMMA DB 0,0 ; FREE SPACE ; Control key, and function DB $0A,$0B,$0C,$0D,$0E ; UP, DOWN, LEFT, RIGHT, HOME DB $09,$0F,$00,$00,$00 ; ERASE, HELP, SCROLL, SETUP, BREAK DB $00,$1B,$00 ; CAPS LOCK, TAB, SPACE DB 0,0,0 ; FREE SPACE DB $10,$11,$12,$13,$14 ; KEYPAD 0, 1, 2, 3, 4 DB $15,$16,$17,$18,$19 ; KEYPAD 5, 6, 7, 8, 9 DB $2C,$2F,$3C,$3F ; KEYPAD PERIOD, ENTER, MINUS, COMMA DB 0,0 ; FREE SPACE ; Shift key, and function DB $6A,$6B,$6C,$6D,$6E ; UP, DOWN, LEFT, RIGHT, HOME DB $69,$6F,$00,$00,$00 ; ERASE, HELP, SCROLL, SETUP, BREAK DB $00,$1A,$00 ; CAPS LOCK, TAB, SPACE DB 0,0,0 ; FREE SPACE DB $20,$21,$22,$23,$24 ; KEYPAD 0, 1, 2, 3, 4 DB $25,$26,$27,$28,$29 ; KEYPAD 5, 6, 7, 8, 9 DB $2B,$2E,$3B,$3E ; KEYPAD PERIOD, ENTER, MINUS, COMMA DB 0,0 ; FREE SPACE PAGE ;---------------------------------------------------------------------- ; Function Code Bytes to be Sent by Function Keys F1-F10 Only ;------------------------------------------------------------ ; ; Unshifted F110TBL:DB $40,$41,$42,$43,$44 ; F1-F5 DB $45,$46,$47,$48 ; F6-F9 DB $49,$5C,$5D,$5E,$5F,0,0 ; F10,FA,FB,FC,FD,FREE SPACE ; Control DB $00,01,$02,$03,$04 ; F1-F5 DB $05,$06,$07,$08 ; F6-F9 DB $09,$1C,$1D,$1E,$1F,0,0 ; F10,FA,FB,FC,FD,FREE SPACE ; Shift DB $60,$61,$62,$63,$64 ; F1-F5 DB $65,$66,$67,$68 ; F6-F9 DB $69,$7C,$7D,$7E,$7F,0,0 ; F10,FA,FB,FC,FD,FREE SPACE ;---------------------------------------------------------------------- ; Restart and interrupt vectors (12_Dec_84) ;------------------------------------------ ; ;Trap Vector for unused Irq's NULL: RTI ;Null Vector ORG $FFF0 ;Vectors occupy the last 16 bytes of memory DW NULL DW NULL DW NULL DW NULL DW NULL DW VCTNMI ;Non_Maskable Interrupt Entry DW COLD ;Cold Start (Reset) Entry DW IRQVEC ;Maskable Interrupt Entry END