Commit 0d85a7b6 authored by Neil Turton's avatar Neil Turton
Browse files

NCOS 1.06 Imported from Zip drive

parent ba75ff57
......@@ -14,9 +14,9 @@ GetUKKbd SETS "GET UK.Source.UKA1Kbd"
]
GET Source.IntKeyBody
GET <Locale>.Source.KeyStruct
GET <Keyboard>.Source.KeyStruct
$GetUKKbd
GET <Locale>.Source.GermanKbd
GET <Locale>.Source.SwissKbd
GET <Keyboard>.Source.GermanKbd
GET <Keyboard>.Source.SwissKbd
END
; > Source.KeyStruct
KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct7-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct35-KeyStructureTable
KeyStructureTableEnd
DCD 1, KeyStruct1-KeyStructureTable
DCD 7, KeyStruct7-KeyStructureTable
DCD 35, KeyStruct35-KeyStructureTable
DCD -1, KeyStruct1-KeyStructureTable
END
......@@ -38,7 +38,12 @@ CPFLAGS = ~cfr~v
# Program specific options:
#
COMPONENT = IntKey
SOURCE = ${LOCALE}.Source.IntKeyMod
#
# We use <Keyboard> here instead of ${LOCALE} so that the keyboard handler
# can be built for a different country than the main build (eg. allows USA
# keyboard handler with UK ROM messages).
#
SOURCE = <Keyboard>.Source.IntKeyMod
TARGET = rm.IntKey
#
......@@ -59,7 +64,7 @@ clean:
@echo ${COMPONENT}: cleaned
${TARGET}: ${SOURCE}
set IKHG$Country ${LOCALE}
set IKHG$Country <Keyboard>
${AS} ${ASFLAGS} ${SOURCE}
unset IKHG$Country
......
......@@ -90,7 +90,9 @@ Country_Russia * 24
Country_Russia2 * 25
Country_Israel * 26
Country_Mexico * 27
Country_USA * 48
Country_ISO1 * 80
Country_ISO2 * 81
Country_ISO3 * 82
......@@ -128,6 +130,9 @@ Alphabet_Default * Alphabet_Latin1
Alphabet_Default * Alphabet_Bfont
]
GBLL NewKeyStructureTable
NewKeyStructureTable SETL {TRUE}
MACRO
IKT $A, $B, $C, $D, $E, $F, $G, $H
IKT2 $A
......@@ -350,7 +355,7 @@ A1Key_Title
A1Key_HelpStr
= "Int'l Keyboard"
= TAB
= "0.36 (27 Jun 1994)", 0
= "0.37 (15 Jan 1996)", 0
ALIGN
; **************************************************************************
......@@ -495,6 +500,16 @@ SetUpKeyStructureAndHandlerIfUs ENTRY "r0,r1"
STR r4, CurrentKeyAlphabet ; alphabet associated with this kb
Pull R1
[ NewKeyStructureTable
ADRL R0, KeyStructureTable
MOV R4, R0
05
LDMIA R4!,{R2,R3} ; load keyboard number, offset pair
CMP R2, #-1 ; if end of table
TEQNE R1, R2 ; or numbers match then drop through
BNE %BT05 ; else try next
ADD R0, R0, R3 ; point to found table or default
|
CMP R1, #(KeyStructureTableEnd-KeyStructureTable) :SHR: 2
; if out of range
MOVCS R1, #0 ; then use default
......@@ -502,6 +517,7 @@ SetUpKeyStructureAndHandlerIfUs ENTRY "r0,r1"
ADRL R0, KeyStructureTable
LDR R1, [R0, R1, LSL #2] ; load offset to correct structure
ADD R0, R0, R1 ; R0 -> appropriate structure
]
TEQP pc, #SVC_mode + I_bit ; disable IRQs round this bit
......@@ -660,7 +676,7 @@ ProcessKAlt ROUT
IDDTable
& 044, Country_UK
& 001, Country_UK
& 001, Country_USA
& 039, Country_Italy
& 034, Country_Spain
& 033, Country_France
......@@ -882,7 +898,7 @@ ReturnOneOrNUL
BCS ReturnNULChar
B ReturnOneChar ; else return 0 char
AlternateChar ROUT
MOV R2, R2, LSL #2 ; multiply index by 4
......
......@@ -14,7 +14,7 @@ GetUKKbd SETS "GET UK.Source.UKA1Kbd"
]
GET Source.IntKeyBody
GET <Locale>.Source.KeyStruct
GET <Keyboard>.Source.KeyStruct
$GetUKKbd
END
; > Source.KeyStruct
KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
& KeyStruct1-KeyStructureTable
KeyStructureTableEnd
DCD 1, KeyStruct1-KeyStructureTable
DCD -1, KeyStruct1-KeyStructureTable
END
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment