\ ******************************************************************************
\
\ Name: TWOK
\ Type: Macro
\ Category: Text
\ Summary: Macro definition for two-letter tokens in the token table
\ Deep dive: Printing text tokens
\
\ ------------------------------------------------------------------------------
\
\ The following macro is used when building the recursive token table:
\
\ TWOK 'x', 'y' Insert two-letter token "xy"
\
\ See the deep dive on "Printing text tokens" for details on how two-letter
\ tokens are stored in the recursive token table.
\
\ Arguments:
\
\ 'x' The first letter of the two-letter token to insert into
\ the table
\
\ 'y' The second letter of the two-letter token to insert into
\ the table
\
\ ******************************************************************************
MACRO TWOK t, k
IF t = 'A' AND k = 'L' : EQUB 128 EOR RE : ENDIF
IF t = 'L' AND k = 'E' : EQUB 129 EOR RE : ENDIF
IF t = 'X' AND k = 'E' : EQUB 130 EOR RE : ENDIF
IF t = 'G' AND k = 'E' : EQUB 131 EOR RE : ENDIF
IF t = 'Z' AND k = 'A' : EQUB 132 EOR RE : ENDIF
IF t = 'C' AND k = 'E' : EQUB 133 EOR RE : ENDIF
IF t = 'B' AND k = 'I' : EQUB 134 EOR RE : ENDIF
IF t = 'S' AND k = 'O' : EQUB 135 EOR RE : ENDIF
IF t = 'U' AND k = 'S' : EQUB 136 EOR RE : ENDIF
IF t = 'E' AND k = 'S' : EQUB 137 EOR RE : ENDIF
IF t = 'A' AND k = 'R' : EQUB 138 EOR RE : ENDIF
IF t = 'M' AND k = 'A' : EQUB 139 EOR RE : ENDIF
IF t = 'I' AND k = 'N' : EQUB 140 EOR RE : ENDIF
IF t = 'D' AND k = 'I' : EQUB 141 EOR RE : ENDIF
IF t = 'R' AND k = 'E' : EQUB 142 EOR RE : ENDIF
IF t = 'A' AND k = '?' : EQUB 143 EOR RE : ENDIF
IF t = 'E' AND k = 'R' : EQUB 144 EOR RE : ENDIF
IF t = 'A' AND k = 'T' : EQUB 145 EOR RE : ENDIF
IF t = 'E' AND k = 'N' : EQUB 146 EOR RE : ENDIF
IF t = 'B' AND k = 'E' : EQUB 147 EOR RE : ENDIF
IF t = 'R' AND k = 'A' : EQUB 148 EOR RE : ENDIF
IF t = 'L' AND k = 'A' : EQUB 149 EOR RE : ENDIF
IF t = 'V' AND k = 'E' : EQUB 150 EOR RE : ENDIF
IF t = 'T' AND k = 'I' : EQUB 151 EOR RE : ENDIF
IF t = 'E' AND k = 'D' : EQUB 152 EOR RE : ENDIF
IF t = 'O' AND k = 'R' : EQUB 153 EOR RE : ENDIF
IF t = 'Q' AND k = 'U' : EQUB 154 EOR RE : ENDIF
IF t = 'A' AND k = 'N' : EQUB 155 EOR RE : ENDIF
IF t = 'T' AND k = 'E' : EQUB 156 EOR RE : ENDIF
IF t = 'I' AND k = 'S' : EQUB 157 EOR RE : ENDIF
IF t = 'R' AND k = 'I' : EQUB 158 EOR RE : ENDIF
IF t = 'O' AND k = 'N' : EQUB 159 EOR RE : ENDIF
ENDMACRO
BYTE NUMBER --- NEW VALUE ---------- USAGE
-- 12 ---------- 00-FF --- Create a new galaxy
-- 13 ---------- 00-FF --- Create a new galaxy
-- 18 ---------- FF ------ Loads of credits
-- 1F ---------- 46 ------ 7 light years fuel
-- 20 ---------- 01 ------ Escape capsule
-- 23 ---------- 02 ------ Large cargo bay
-- 24 ---------- 01 ------ E-C-M- system ('L'=on/off)
-- 26 ---------- 01 ------ Pulse laser
-- 28 ---------- 01 ------ Galactic hyperdrive (may be Beam Laser)
-- 2C ---------- 01 ------ Escape pod
-- 2F ---------- 01 ------ Energy bomb
-- 31 ---------- 01 ------ ECM jammer
-- 31 ---------- 0C ------ Naval energy Unit
-- 32 ---------- 01 ------ Docking computer
-- 34 ---------- 03 ------ Galactic hyperdrive
-- 36 ---------- 01 ------ Mining laser
-- 38 ---------- 01 ------ Military laser
-- 3F ---------- 01 ------ Cloaking ('Y'=on/off)
-- 40 ---------- 01 ------ Loads of food -- 107 -- QQ20
-- 47 ---------- 01 ------ Loads of textiles
-- 49 ---------- 01 ------ Loads of radioactives
-- 4C ---------- 01 ------ Loads of slaves
-- 50 ---------- 01 ------ Loads of wine
-- 54 ---------- 01 ------ Loads of narcotics
-- 5C ---------- 01 ------ Loads of computers
-- 63 ---------- 01 ------ Loads of machinery
-- 67 ---------- 01 ------ Loads of alloys
-- 69 ---------- 01 ------ Loads of firearms
-- 6C ---------- 01 ------ Loads of furs
-- 72 ---------- 01 ------ Loads of minerals
-- 75 ---------- 01 ------ Loads of gold
-- 79 ---------- 01 ------ Loads of platinum -- 121
GE -- 83 ---------- 01 ------ Loads of gem stones
ZA -- 84 ---------- 01 ------ Loads of alien items
US -- 88 ---------- 01 ------ Refugees from Super Nova
IN -- 8C ---------- 01 ------ Important thargoid doc
AT -- 91 ---------- 00 ------ Clean legal status (may be 97 - 01)
TI -- 97 ---------- 00-08 --- Harmless - Elite ranking
ED -- 98 ---------- FF ------ Loads of combat points
-- 3C ---------- 01 ------ E.C.M. system jammer ('L'=on/off)
-- A3 ---------- 01 ------ AND FOR DIFFERENT MISSIONS CHANGE:
IS -- 9D ---------- 01 ------ Seek & destroy
IS -- 9D ---------- 02 ------ Deliver Thargoid Docs
IS -- 9D ---------- 03 ------ Rescue Refugees
IS -- 9D ---------- 04 ------ Destroy Cougar
IS -- 9D ---------- 05 ------ Destroy Space Station
Pressing the 'ESC' key will return you to the game.
AL -- 80
LE -- 81 -- STA (Oper,X) -- Сохранить аккумулятор в памяти -- A -> M -- IND, X
XE -- 83 -- SAX (Oper,X) -- A and X -> M -- IND, X
CE -- 85 -- STA Oper -- Сохранить аккумулятор в памяти -- A -> M -- ZP
BE -- 86 -- STX Oper -- Сохранить X в памяти -- X -> M
SO -- 87 -- SAX Oper -- A and X -> M
ES -- 89
AR -- 8A -- TXA -- Передать X в A -- X -> A
MA -- 8B -- ANE #byte -- Вар. 1: A = ((A and #581 and X) or ( #$EE and X)) and #byte; Вар. 2: X and #byte -> A -- В реальности параметр #581 может принимать значения #580, #58 или #$00, что зависит от значения, оставленного на шине видеоконтроллером после прерывания команды в режиме DMA
DI -- 8D -- STA Oper -- Сохранить аккумулятор в памяти -- A -> M -- ABS
RE -- 8E -- STX Oper -- Сохранить X в памяти -- X -> M
A? -- 8F -- SAX Oper -- A and X -> M
ER -- 90 -- BCC Oper -- Условный переход, если нет переноса -- Branch on Carry Clear
EN -- 92
BE -- 93 -- SHA (Oper),Y -- A & X & (ADDR_HI + 1)) -> M
RA -- 94 -- STY -- Сохранить Y (XX14) в памяти
LA -- 95 -- STA Oper,X -- Сохранить аккумулятор в памяти -- A -> M
OR -- 99 -- STA Oper, Y -- Сохранить аккумулятор в памяти -- A -> M
QU -- 9A -- TXS -- Передать X в S , не влияет на флаг N X -> S
AN -- 9B -- SHS Oper,Y -- A and X -> S, S and ADDR_HI -> M
TE -- 9C -- SHY Oper,Y -- Вар. 1: Y & (ADDR_HI + 1) -> M; Вар. 2: Y and ADDR_HI -> M
RI -- 9E -- SHX Oper,Y -- Вар. 1: X and (ADDR_HI + 1) -> M; Вар. 2: X and ADDR_HI -> M
ON -- 9F -- SHA Oper,Y -- A & X & (ADDR_HI + 1)) -> M
Комментариев нет:
Отправить комментарий