SBTTL 'Data Area (12_Nov_84)' PAGE ;====================================================================== ; ; Copyright 1984 ; Morrow Designs, Inc. ; San Leandro, Ca. ; ;---------------------------------------------------------------------- ; Message Strings ;---------------- ; MMESG: DW MSG1 MSG1: DB ' System Memory Error',0 KMESG: DW MSG2 MSG2: DB ' Keyboard Not Connected',0 RVMESG: DW MSG3 MSG3: DB 'ROM REV. 3.3 -- Copyright (c) 1984 by Morrow Designs, Inc. ',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 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 ;---------------------------------------------------------------------- ; Escape Sequence Lookup Tables ;------------------------------ ; this table contains counts for each escape sequence. the count ; is the number of chars that are needed to complete the ; escape sequence. the main character output routine buffers NSEQ chars ; and then calls (CODE), which was set from the next table. ; ESCMOR: DB 0,1,1,0,0,0,0,0 ;space..' DB 0,0,0,0,0,0,0,0 ;(../ DB 0,0,0,0,0,0,0,0 ;0..7 DB 0,0,0,0,0,2,0,0 ;8..? DB 1,0,0,0,0,0,0,1 ;@..G DB 0,0,1,1,0,0,0,0 ;H..O DB 0,0,0,0,0,0,0,0 ;P..W DB 0,0,0,0,0,0,0,0 ;X.._ ESCTAB: DW ERTN,HICHAR,CURSRT,DISREV,GRAFON,GRAFOFF,ERTN,ERTN ;space..' DW INVOFF,INVON,CLRSCR,CLRSCR,ERTN,ERTN,ERTN,ERTN ;(../ DW ALIGN,ERTN,ERTN,ERTN,ERTN,ERTN,ERTN,ERTN ;0..7 DW ERTN,ERTN,ERTN,ERTN,ERTN,GOTOXY,ERTN,READCR ;8..? DW SCRNDIS,ERTN,ERTN,ERTN,ERTN,INSLIN,ERTN,SETATT ;@..G DW ERTN,BACKTB,SETCLK,SETREV,RDLPEN,ERTN,ERTN,ERTN ;H..O DW RTRV22,INSCHR,DELLIN,SAVE22,CLREOL,SETMON,ERTN,DELCHR ;P..W DW CLRMON,CLREOS,ERTN,SETKPD,ERTN,CLRKPD,ERTN,ERTN ;X.._ ;---------------------------------------------------------------------- ; Control Character Lookup Table ;------------------------------- ; CTRLTAB:DW RTN,RTN,RTN,RTN,RTN,RTN,RTN,BELL DW BS,TAB,LF,US,FS,CR,RTN,RTN DW RTN,RTN,RTN,RTN,RTN,RTN,RTN,RTN DW RTN,RTN,CLRSCR,ESC,RTN,RTN,HOME,NEWLIN ;---------------------------------------------------------------------- ; 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 ;---------------------------------------------------------------------- ; Ascii Translation Code Table ;----------------------------- ; table containing the number of ASCII codes that need to be ; translated for each character set. Each foreign character ; set needs two bytes one giving the number of bytes that need ; to be xlated into different codes for display (i.e. input ; from host), and the other byte giving the number of keys that ; need to be xlated from the keyboard. ; XLTCNT: DB 0 ;US input from host DB 0 ;US input from KBRD DB 1 ;UK input from host DB 0 ;UK input from KBRD DB 9 ;FRENCH input from host DB 52 ;FRENCH input from KBRD DB 11 ;GERMAN input from host DB 32 ;GERMAN input from KBRD DB 7 ;SPANISH input from host DB 17 ;SPANISH input from KBRD DB 6 ;DANISH/NORWEGIAN input from host DB 16 ;DANISH/NORWEGIAN input from KBRD DB 10 ;FINISH/SWEDISH input from host DB 16 ;FINISH/SWEDISH input from KBRD DB 12 ;ITALIAN input from host DB 48 ;ITALIAN input from KBRD ; TRANSLATE TABLES FOR FOREIGN CHARACTER SETS XLTVCT: DW USXKI-1 ; Pointers to U.S. translate tables DW USXKO-1 DW USXHI-1 DW USXHO-1 DW UKXKI-1 ; Pointers to U.K. translate tables DW UKXKO-1 DW UKXHI-1 DW UKXHO-1 DW FRXKI-1 ; Pointers to French translate tables DW FRXKO-1 DW FRXHI-1 DW FRXHO-1 DW GEXKI-1 ; Pointers to German translate tables DW GEXKO-1 DW GEXHI-1 DW GEXHO-1 DW SPXKI-1 ; Pointers to Spanish translate tables DW SPXKO-1 DW SPXHI-1 DW SPXHO-1 DW DAXKI-1 ; Pointers to Danish / Norwegian translate tables DW DAXKO-1 DW DAXHI-1 DW DAXHO-1 DW FIXKI-1 ; Pointers to Finnish / Swedish translate tables DW FIXKO-1 DW FIXHI-1 DW FIXHO-1 DW ITXKI-1 ; Pointers to Italian translate tables DW ITXKO-1 DW ITXHI-1 DW ITXHO-1 USXKI: USXKO: USXHI: USXHO: ; no translate tables for U.S. UKXKI: ; U.K. translate tables for key -> ASCII (search) UKXKO: ; U.K. translate tables for key -> ASCII (replace) ; no table since no xlation needed UKXHI: ; translate tables for host input (SEARCH) FRENCH,UK,FIN,SPAN FRXHI: ; and Danish. DB '#' FIXHI: DB '~' SPXHI: DB '@' DAXHI: DB '[\]{|}' DB '`^' GEXHI: DB '|~' ITXHI: DB '<>@[\]{}^`*#' UKXHO: DB $87 ; French translate table for key -> ASCII (search) FRXKI: DB '!1@2#3$4%5^6&7*8(9)0_-+=?/QqWw{[}]~`Aa:;"' DB $27,'|\ZzMm<,>.' ; French translate table for key -> ASCII (replace) FRXKO: DB '1&2',$7B,'3"4',$27,'5(6',$5D,'7',$7D,'8!9',$5C,'0' DB $40,$5B,')_-+=AaZz',$7E,'^*/>.?/' GEXKO: DB '"',$40,'&/()=?',$7E,'\/Zz',$5D,$7D,'*+',$3E,$3C,$5C,$7C DB $5B,$7B,$27,'#Yy;:._-' GEXHO: DB $95,$97,$8F,$89,$80,$90,$91,$92,$94,$96,$93 ; Spanish translate tables SPXKI: DB '@_-+={[}]:;"',$27,'|\?/' SPXKO: DB $40,'+=?/',$5D,$5B,'"',$27,$5C,$7C,':;',$7D,$7B,'_-' SPXHO: DB $80,$9C,$9D,$9E,$89,$A0,$8A ; Danish/Norwegian translate tables DAXKI: DB '_-{[}]:;"',$27,'|\?/+=' DAXKO: DB '+=',$5D,$7D,'"',$27,$5B,$7B,$5C,$7C,':;_-?/' DAXHO: DB $81,$82,$83,$84,$85,$86 ; Finish/Swedish translate tables FIXKI: DB '_-+={[}]:;"',$27,'|\?/' FIXKO: DB '+=?/',$5D,$7D,'"',$27,$5C,$7C,$5B,$7B,':;_-' FIXHO: DB $96,$9F,$90,$91,$83,$94,$95,$86,$8B,$92 ; Italian translate tables ITXKI: DB '!1@2#3$4%5^6&7*8(9)0_-+=Ww{[}]~`:;"',$27,'|\ZzMm<,>.?/' ITXKO: DB '1&2"3',$27,'4(5',$5D,'6',$5B,'7)8+9',$3C,'0',$23,$60,$7B DB '_-Zz=',$5E,'~|',$7D,$3E,'Mm%',$2A,$5C,'$Ww?,.;/:!',$40 ITXHO: DB $88,$98,$99,$8D,$87,$8A,$A5,$9B,$9A,$8E,$8C,$8B PAGE ;---------------------------------------------------------------------- ; tables of function code bytes to be sent by function keys ;---------------------------------------------------------- ; - 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 ; 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 END