Initial commit of Command & Conquer Red Alert source code.
This commit is contained in:
2568
WWFLAT32/KEYBOARD/KEYBOARD.ASM
Normal file
2568
WWFLAT32/KEYBOARD/KEYBOARD.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2565
WWFLAT32/KEYBOARD/KEYBOARD.BAK
Normal file
2565
WWFLAT32/KEYBOARD/KEYBOARD.BAK
Normal file
File diff suppressed because it is too large
Load Diff
447
WWFLAT32/KEYBOARD/KEYBOARD.H
Normal file
447
WWFLAT32/KEYBOARD/KEYBOARD.H
Normal file
@@ -0,0 +1,447 @@
|
||||
/*
|
||||
** Command & Conquer Red Alert(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/***************************************************************************
|
||||
** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
***************************************************************************
|
||||
* *
|
||||
* Project Name : Westwood 32 bit Library *
|
||||
* *
|
||||
* File Name : KEYBOARD.H *
|
||||
* *
|
||||
* Programmer : Phil W. Gorrow *
|
||||
* *
|
||||
* Start Date : July 13, 1994 *
|
||||
* *
|
||||
* Last Update : July 13, 1994 [PWG] *
|
||||
* *
|
||||
*-------------------------------------------------------------------------*
|
||||
* Functions: *
|
||||
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
#ifndef KEYBOARD_H
|
||||
#define KEYBOARD_H
|
||||
|
||||
/*=========================================================================*/
|
||||
/* If we have not already loaded the standard library header, than we can */
|
||||
/* load it. */
|
||||
/*=========================================================================*/
|
||||
|
||||
#ifndef WWSTD_H
|
||||
#include "wwstd.h"
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" {
|
||||
void Install_Keyboard_Interrupt(void *addr, long size);
|
||||
void Install_Page_Fault_Handle(void) ;
|
||||
void *Get_RM_Keyboard_Address(void);
|
||||
long Get_RM_Keyboard_Size(void);
|
||||
void Remove_Keyboard_Interrupt(void);
|
||||
int Check_Key_Num(void);
|
||||
int Check_Key_Bits(void);
|
||||
int Check_Key(void);
|
||||
short Get_Key_Num(void);
|
||||
short Get_Key_Bits(void);
|
||||
int Get_Key(void);
|
||||
int KN_To_KA(int keynum);
|
||||
int Keyboard_Attributes_On(int key_flags);
|
||||
int Keyboard_Attributes_Off(int key_flags);
|
||||
void Clear_KeyBuffer(void);
|
||||
int Key_Down(int key);
|
||||
int Key_Satisfied(int key);
|
||||
void Stuff_Key_WORD(int code);
|
||||
void Stuff_Key_Num(int key);
|
||||
int Install_Mouse(int max_width, int max_height, int scr_width, int scr_height);
|
||||
void Reset_Mouse (void) ;
|
||||
void Remove_Mouse(void);
|
||||
int Get_Mouse_State(void);
|
||||
int Get_Mouse_X(void);
|
||||
int Get_Mouse_Y(void);
|
||||
int Get_Mouse_Disabled(void);
|
||||
void *Set_Mouse_Cursor(int xhotspot, int yhotspot, void *cursor);
|
||||
void Hide_Mouse(void);
|
||||
void Show_Mouse(void);
|
||||
void Conditional_Hide_Mouse(int sx_pixel, int sy_pixel, int dx_pixel, int dy_pixel);
|
||||
void Conditional_Show_Mouse(void);
|
||||
|
||||
|
||||
void __interrupt far Keyboard_Interrupt(void);
|
||||
extern int MouseQX;
|
||||
extern int MouseQY;
|
||||
|
||||
}
|
||||
|
||||
|
||||
enum {
|
||||
REPEATON = 0x0001, /* 1:all makes into buffer, 0:only 1st make */
|
||||
TRACKEXT = 0x0002, /* 1:Home != keypad Home, 0:Home=keypad Home */
|
||||
FILTERONLY = 0x0004, /* 1:Normal BIOS operation with filter */
|
||||
CTRLALTTURBO = 0x0010, /* 1:Allow turbo up and down in application */
|
||||
NONUMLOCK = 0x0200, /* 1:do NOT remap keypad to numbers */
|
||||
TASKSWITCHABLE = 0x400, /* 1:allows task switching keys thru ALT-TAB, */
|
||||
/* ALT-ESC,CTRL-ESC */
|
||||
PASSBREAKS = 0x0800, // Pass all breaks to the keyboard buffer.
|
||||
|
||||
/* The following flags, if turned on, should only be used for
|
||||
debugging purposes (remember to take out the calls when BETA */
|
||||
|
||||
CTRLSON = 0x0008, /* 1:pass scroll lock sequence into BIOS */
|
||||
CTRLCON = 0x0020, /* 1:pass stop code to BIOS */
|
||||
SCROLLLOCKON = 0x0040, /* 1:pass scroll lock key into BIOS */
|
||||
PAUSEON = 0x0080, /* 1:pass the pause key and seq to BIOS */
|
||||
/* make sure FILTERONLY is set */
|
||||
BREAKON = 0x0100, /* 1:pass the ctrl break seq to BIOS */
|
||||
KEYMOUSE = 0x1000, /* 1:keypad translates into mouse moves */
|
||||
SIMLBUTTON = 0x2000, /* 1:have space and enter keys simulate Left */
|
||||
/* mouse button when KEYMOUSE is set */
|
||||
DEBUGINT = 0x4000 /* Use scroll lock to disable keyboard int */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
** These are the codes for the various key codes that are returned from the
|
||||
** keyboard input routines Get_Key() and Input_ASCII().
|
||||
*/
|
||||
typedef enum {
|
||||
KA_CTRL_AT = 0,
|
||||
KA_CTRL_A,
|
||||
KA_MORE = KA_CTRL_A,
|
||||
KA_CTRL_B,
|
||||
KA_SETBKGDCOL = KA_CTRL_B,
|
||||
KA_CTRL_C,
|
||||
KA_CTRL_D,
|
||||
KA_CTRL_E,
|
||||
KA_CTRL_F,
|
||||
KA_SETFORECOL = KA_CTRL_F,
|
||||
KA_CTRL_G,
|
||||
KA_CTRL_H,
|
||||
KA_BACKSPACE = KA_CTRL_H,
|
||||
KA_CTRL_I,
|
||||
KA_TAB = KA_CTRL_I,
|
||||
KA_CTRL_J,
|
||||
KA_CTRL_K,
|
||||
KA_CTRL_L,
|
||||
KA_FORMFEED = KA_CTRL_L,
|
||||
KA_CTRL_M,
|
||||
KA_RETURN = KA_CTRL_M,
|
||||
KA_CTRL_N,
|
||||
|
||||
KA_CTRL_O,
|
||||
KA_CTRL_P,
|
||||
KA_CTRL_Q,
|
||||
KA_CTRL_R,
|
||||
KA_CTRL_S,
|
||||
KA_SPCTAB = KA_CTRL_S,
|
||||
KA_CTRL_T,
|
||||
KA_CTRL_U,
|
||||
KA_CTRL_V,
|
||||
KA_CTRL_W,
|
||||
KA_CTRL_X,
|
||||
KA_SETX = KA_CTRL_X,
|
||||
KA_CTRL_Y,
|
||||
KA_SETY = KA_CTRL_Y,
|
||||
KA_CTRL_Z,
|
||||
KA_CTRL_LBRACKET,
|
||||
KA_ESC = KA_CTRL_LBRACKET,
|
||||
KA_EXTEND = KA_ESC,
|
||||
KA_CTRL_BACKSLASH,
|
||||
KA_CTRL_RBRACKET,
|
||||
KA_LITERAL = KA_CTRL_RBRACKET,
|
||||
KA_CTRL_CARROT,
|
||||
KA_CTRL_UNDERLINE,
|
||||
|
||||
KA_SPACE, /* */
|
||||
KA_EXCLAMATION, /* ! */
|
||||
KA_DQUOTE, /* " */
|
||||
KA_POUND, /* # */
|
||||
KA_DOLLAR, /* $ */
|
||||
KA_PERCENT, /* % */
|
||||
KA_AMPER, /* & */
|
||||
KA_SQUOTE, /* ' */
|
||||
KA_LPAREN, /* ( */
|
||||
KA_RPAREN, /* ) */
|
||||
KA_ASTERISK, /* * */
|
||||
KA_PLUS, /* + */
|
||||
KA_COMMA, /* , */
|
||||
KA_MINUS, /* - */
|
||||
KA_PERIOD, /* . */
|
||||
KA_SLASH, /* / */
|
||||
|
||||
KA_0, KA_1, KA_2, KA_3, KA_4, KA_5, KA_6, KA_7, KA_8, KA_9,
|
||||
KA_COLON, /* : */
|
||||
KA_SEMICOLON, /* ; */
|
||||
KA_LESS_THAN, /* < */
|
||||
KA_EQUAL, /* = */
|
||||
KA_GREATER_THAN, /* > */
|
||||
KA_QUESTION, /* ? */
|
||||
|
||||
KA_AT, /* @ */
|
||||
KA_A, /* A */
|
||||
KA_B, /* B */
|
||||
KA_C, /* C */
|
||||
KA_D, /* D */
|
||||
KA_E, /* E */
|
||||
KA_F, /* F */
|
||||
KA_G, /* G */
|
||||
KA_H, /* H */
|
||||
KA_I, /* I */
|
||||
KA_J, /* J */
|
||||
KA_K, /* K */
|
||||
KA_L, /* L */
|
||||
KA_M, /* M */
|
||||
KA_N, /* N */
|
||||
KA_O, /* O */
|
||||
|
||||
KA_P, /* P */
|
||||
KA_Q, /* Q */
|
||||
KA_R, /* R */
|
||||
KA_S, /* S */
|
||||
KA_T, /* T */
|
||||
KA_U, /* U */
|
||||
KA_V, /* V */
|
||||
KA_W, /* W */
|
||||
KA_X, /* X */
|
||||
KA_Y, /* Y */
|
||||
KA_Z, /* Z */
|
||||
KA_LBRACKET, /* [ */
|
||||
KA_BACKSLASH, /* \ */
|
||||
KA_RBRACKET, /* ] */
|
||||
KA_CARROT, /* ^ */
|
||||
KA_UNDERLINE, /* _ */
|
||||
|
||||
KA_GRAVE, /* ` */
|
||||
KA_a, /* a */
|
||||
KA_b, /* b */
|
||||
KA_c, /* c */
|
||||
KA_d, /* d */
|
||||
KA_e, /* e */
|
||||
KA_f, /* f */
|
||||
KA_g, /* g */
|
||||
KA_h, /* h */
|
||||
KA_i, /* i */
|
||||
KA_j, /* j */
|
||||
KA_k, /* k */
|
||||
KA_l, /* l */
|
||||
KA_m, /* m */
|
||||
KA_n, /* n */
|
||||
KA_o, /* o */
|
||||
|
||||
KA_p, /* p */
|
||||
KA_q, /* q */
|
||||
KA_r, /* r */
|
||||
KA_s, /* s */
|
||||
KA_t, /* t */
|
||||
KA_u, /* u */
|
||||
KA_v, /* v */
|
||||
KA_w, /* w */
|
||||
KA_x, /* x */
|
||||
KA_y, /* y */
|
||||
KA_z, /* z */
|
||||
KA_LBRACE, /* { */
|
||||
KA_BAR, /* | */
|
||||
KA_RBRACE, /* ] */
|
||||
KA_TILDA, /* ~ */
|
||||
KA_DEL, /* not used */
|
||||
|
||||
KA_ALT_F10 = 143,
|
||||
KA_ALT_F9, KA_ALT_F8, KA_ALT_F7, KA_ALT_F6, KA_ALT_F5,
|
||||
KA_ALT_F4, KA_ALT_F3, KA_ALT_F2, KA_ALT_F1,
|
||||
|
||||
KA_CTRL_F10, KA_CTRL_F9, KA_CTRL_F8, KA_CTRL_F7, KA_CTRL_F6,
|
||||
KA_CTRL_F5, KA_CTRL_F4, KA_CTRL_F3, KA_CTRL_F2, KA_CTRL_F1,
|
||||
|
||||
KA_SHIFT_F10, KA_SHIFT_F9, KA_SHIFT_F8, KA_SHIFT_F7, KA_SHIFT_F6,
|
||||
KA_SHIFT_F5, KA_SHIFT_F4, KA_SHIFT_F3, KA_SHIFT_F2, KA_SHIFT_F1,
|
||||
|
||||
KA_DELETE, /* <DELETE> */
|
||||
KA_INSERT, /* <INSERT> */
|
||||
KA_PGDN, /* <PAGE DOWN> */
|
||||
KA_DOWNRIGHT = KA_PGDN,
|
||||
KA_DOWN, /* <DOWN ARROW> */
|
||||
KA_END, /* <END> */
|
||||
KA_DOWNLEFT = KA_END,
|
||||
|
||||
KA_RESERVED1,
|
||||
|
||||
KA_RIGHT, /* <RIGHT ARROW> */
|
||||
KA_KEYPAD5, /* NUMERIC KEY PAD <5> */
|
||||
KA_LEFT, /* <LEFT ARROW> */
|
||||
|
||||
KA_RESERVED2,
|
||||
|
||||
KA_PGUP, /* <PAGE UP> */
|
||||
KA_UPRIGHT = KA_PGUP,
|
||||
KA_UP, /* <UP ARROW> */
|
||||
KA_HOME, /* <HOME> */
|
||||
KA_UPLEFT = KA_HOME,
|
||||
|
||||
KA_RESERVED3,
|
||||
KA_RESERVED4,
|
||||
|
||||
KA_F10, KA_F9, KA_F8, KA_F7, KA_F6, KA_F5, KA_F4, KA_F3, KA_F2, KA_F1,
|
||||
|
||||
KA_LMOUSE,
|
||||
KA_RMOUSE,
|
||||
KA_JBUTTON1,
|
||||
KA_JBUTTON2,
|
||||
KA_J_UP,
|
||||
KA_J_RIGHT,
|
||||
KA_J_DOWN,
|
||||
KA_J_LEFT,
|
||||
|
||||
KA_SHIFT_BIT = 0x0100,
|
||||
KA_CTRL_BIT = 0x0200,
|
||||
KA_ALT_BIT = 0x0400,
|
||||
KA_RLSE_BIT = 0x0800,
|
||||
KA_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KA_RCOMM_BIT = 0x2000 /* Amiga Right Comm key */
|
||||
} KeyASCIIType;
|
||||
|
||||
/*
|
||||
** These are the keyboard codes that are returned from the input routines
|
||||
** Get_Key_Num and Input_Num.
|
||||
*/
|
||||
typedef enum {
|
||||
KN_NONE = 0,
|
||||
KN_GRAVE = 1, /* ` */
|
||||
KN_1, KN_2, KN_3, KN_4, KN_5, KN_6, KN_7, KN_8, KN_9, KN_0,
|
||||
KN_MINUS, /* - */
|
||||
KN_EQUAL, /* = */
|
||||
|
||||
KN_RESERVED1,
|
||||
|
||||
KN_BACKSPACE, /* <BACKSPACE> */
|
||||
|
||||
KN_TAB, /* <TAB> */
|
||||
KN_Q, KN_W, KN_E, KN_R, KN_T, KN_Y, KN_U, KN_I, KN_O, KN_P,
|
||||
KN_LBRACKET, /* [ */
|
||||
KN_RBRACKET, /* ] */
|
||||
KN_BACKSLASH, /* \ */
|
||||
|
||||
KN_CAPSLOCK, /* <CAPS LOCK> */
|
||||
KN_A, KN_S, KN_D, KN_F, KN_G, KN_H, KN_J, KN_K, KN_L,
|
||||
KN_SEMICOLON, /* ; */
|
||||
KN_SQUOTE, /* ' */
|
||||
KN_BACKSLASH2,
|
||||
KN_RETURN, /* <RETURN> or <ENTER> */
|
||||
|
||||
KN_LSHIFT, /* <LEFT SHIFT> */
|
||||
|
||||
KN_MOUSE_MOVE, // Indicate a mouse move (for playback of
|
||||
|
||||
KN_Z, KN_X, KN_C, KN_V, KN_B, KN_N, KN_M,
|
||||
KN_COMMA, /* , */
|
||||
KN_PERIOD, /* . */
|
||||
KN_SLASH, /* / */
|
||||
|
||||
KN_RESERVED3,
|
||||
|
||||
KN_RSHIFT, /* <RIGHT SHIFT> */
|
||||
|
||||
KN_LCTRL, /* <LEFT CTRL> */
|
||||
KN_LCOMM, /* for AMIGA */
|
||||
KN_LALT, /* <LEFT ALT> */
|
||||
KN_SPACE, /* <SPACE BAR> */
|
||||
KN_RALT, /* <RIGHT ALT> */
|
||||
KN_RCOMM, /* for AMIGA */
|
||||
KN_RCTRL, /* <RIGHT CTRL> */
|
||||
/* the following are forced into key buffer */
|
||||
KN_LMOUSE,
|
||||
KN_RMOUSE,
|
||||
KN_JBUTTON1,
|
||||
KN_JBUTTON2,
|
||||
KN_J_UP,
|
||||
KN_J_RIGHT,
|
||||
KN_J_DOWN,
|
||||
KN_J_LEFT,
|
||||
|
||||
KN_SPECIAL9,
|
||||
|
||||
KN_SPECIAL10,
|
||||
|
||||
KN_E_INSERT, /* extended <INSERT> */
|
||||
KN_E_DELETE, /* extended <DELETE> */
|
||||
|
||||
KN_RESERVED4,
|
||||
KN_RESERVED5,
|
||||
|
||||
KN_E_LEFT, /* extended <LEFT ARROW> */
|
||||
KN_E_HOME, /* extended <HOME> */
|
||||
KN_E_END, /* extended <END> */
|
||||
|
||||
KN_RESERVED6,
|
||||
|
||||
KN_E_UP, /* extended <UP ARROW> */
|
||||
KN_E_DOWN, /* extended <DOWN ARROW> */
|
||||
KN_E_PGUP, /* extended <PAGE UP> */
|
||||
KN_E_PGDN, /* extended <PAGE DOWN> */
|
||||
KN_K_LPAREN, /* for AMIGA */
|
||||
KN_K_RPAREN, /* for AMIGA */
|
||||
KN_E_RIGHT, /* extended <RIGHT ARROW> */
|
||||
|
||||
KN_NUMLOCK, /* <NUM LOCK> */
|
||||
KN_HOME, /* num key pad 7 */
|
||||
KN_UPLEFT = KN_HOME,
|
||||
KN_LEFT, /* num key pad 4 */
|
||||
KN_END, /* num key pad 1 */
|
||||
KN_DOWNLEFT = KN_END,
|
||||
|
||||
KN_RESERVED7,
|
||||
|
||||
KN_KEYPAD_SLASH, /* num key pad / */
|
||||
KN_UP, /* num key pad 8 */
|
||||
KN_CENTER, /* num key pad 5 */
|
||||
KN_DOWN, /* num key pad 2 */
|
||||
KN_INSERT, /* num key pad 0 */
|
||||
KN_KEYPAD_ASTERISK, /* num key pad * */
|
||||
KN_PGUP, /* num key pad 9 */
|
||||
KN_UPRIGHT = KN_PGUP,
|
||||
KN_RIGHT, /* num key pad 6 */
|
||||
KN_PGDN, /* num key pad 3 */
|
||||
KN_DOWNRIGHT = KN_PGDN,
|
||||
KN_DELETE, /* num key pad . */
|
||||
KN_KEYPAD_MINUS, /* num key pad - */
|
||||
KN_KEYPAD_PLUS, /* num key pad + */
|
||||
|
||||
KN_RESERVED8,
|
||||
|
||||
KN_KEYPAD_RETURN, /* num key pad <ENTER> */
|
||||
|
||||
KN_RESERVED9,
|
||||
|
||||
KN_ESC,
|
||||
KN_HELP, /* for AMIGA */
|
||||
KN_F1, KN_F2, KN_F3, KN_F4, KN_F5, KN_F6, KN_F7, KN_F8, KN_F9, KN_F10,
|
||||
KN_F11,
|
||||
KN_F12,
|
||||
KN_PRNTSCRN, /* <PRINT SCRN> */
|
||||
KN_SCROLLLOCK, /* <SCROLL LOCK> */
|
||||
KN_PAUSE, /* <PAUSE> */
|
||||
|
||||
KN_SHIFT_BIT = 0x0100,
|
||||
KN_CTRL_BIT = 0x0200,
|
||||
KN_ALT_BIT = 0x0400,
|
||||
KN_RLSE_BIT = 0x0800,
|
||||
KN_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KN_RCOMM_BIT = 0x2000, /* Amiga Right Comm key */
|
||||
KN_BUTTON = 0x8000 /* Amiga Right Comm key */
|
||||
} KeyNumType;
|
||||
|
||||
#endif
|
129
WWFLAT32/KEYBOARD/KEYBOARD.INC
Normal file
129
WWFLAT32/KEYBOARD/KEYBOARD.INC
Normal file
@@ -0,0 +1,129 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYBOARD.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 12, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 12, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Contains all the defines used by the keyboard interrupt for assembly *
|
||||
;* includes. *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
|
||||
|
||||
TRUE EQU 1 ; numerical true
|
||||
FALSE EQU 0 ; numerical false
|
||||
DEBUG EQU 1
|
||||
|
||||
MAX_X_PIXEL EQU 319
|
||||
MAX_Y_PIXEL EQU 199
|
||||
|
||||
|
||||
KN_RESERVED1 EQU 14
|
||||
KN_RESERVED2 EQU 45
|
||||
KN_RESERVED3 EQU 56
|
||||
|
||||
|
||||
; these two are reserved for AMIGA open and close.
|
||||
KN_LCOMM EQU 59
|
||||
KN_RCOMM EQU 63
|
||||
|
||||
KN_LMOUSE EQU 65
|
||||
KN_RMOUSE EQU 66
|
||||
KN_JBUTTON1 EQU 67
|
||||
KN_JBUTTON2 EQU 68
|
||||
KN_J_UP EQU 69
|
||||
KN_J_RIGHT EQU 70
|
||||
KN_J_DOWN EQU 71
|
||||
KN_J_LEFT EQU 72
|
||||
|
||||
KN_LEFT EQU 92
|
||||
KN_UPLEFT EQU 91
|
||||
KN_UP EQU 96
|
||||
KN_UPRIGHT EQU 101
|
||||
KN_RIGHT EQU 102
|
||||
KN_DOWNRIGHT EQU 103
|
||||
KN_DOWN EQU 98
|
||||
KN_DOWNLEFT EQU 93
|
||||
KN_CENTER EQU 97
|
||||
|
||||
KN_INSERT EQU 99
|
||||
KN_DELETE EQU 104
|
||||
|
||||
KN_RETURN EQU 43
|
||||
KN_SPACE EQU 61
|
||||
KN_KEYPAD_RETURN EQU 108
|
||||
|
||||
|
||||
; these two are reserved for AMIGA K left and right paren
|
||||
KN_KLPAREN EQU 87
|
||||
KN_KRPAREN EQU 88
|
||||
|
||||
|
||||
KN_NUMLOCK EQU 90
|
||||
|
||||
KN_SCROLLOCK EQU 125 ; key ignored by the logging system
|
||||
|
||||
KN_MOUSE_MOVE EQU 45 ; Indicate a mouse move (for playback of logged data)
|
||||
|
||||
; ----------------------------------------------------------------
|
||||
; flags used in Keyflags to customize keystroke interrupt.
|
||||
|
||||
REPEATON EQU 0001H ; 1:all makes into buffer, 0:only 1st make
|
||||
TRACKEXT EQU 0002H ; 1:Home != keypad Home, 0:Home=keypad Home
|
||||
FILTERONLY EQU 0004H ; 1:Normal BIOS operation with filter
|
||||
CTRLSON EQU 0008H ; 1:pass scroll lock sequence into BIOS
|
||||
CTRLALTTURBO EQU 0010H ; 1:Allow turbo up and down in application
|
||||
CTRLCON EQU 0020H ; 1:pass stop code to BIOS
|
||||
SCROLLLOCKON EQU 0040H ; 1:pass scroll lock key into BIOS
|
||||
PAUSEON EQU 0080H ; 1:pass the pause key and seq to BIOS
|
||||
BREAKON EQU 0100H ; 1:pass the ctrl break seq to BIOS
|
||||
NONUMLOCK EQU 0200H ; 1:do NOT remap keypad to numbers
|
||||
TASKSWITCHABLE EQU 0400H ; 1:allows task switching keys thru ALT-TAB,
|
||||
; ALT-ESC,CTRL-ESC
|
||||
PASSBREAKS EQU 0800H ; 1:Pass all break codes to keyboard buffer.
|
||||
KEYMOUSE EQU 1000H ; 1:Numeric keypad moves mouse
|
||||
SIMLBUTTON EQU 2000H ; 1:have space and enter keys simulate Left
|
||||
DEBUGINT EQU 4000H ; mouse button when KEYMOUSE is set
|
||||
|
||||
|
||||
SHIFTPRESS EQU 001H ; bit 0 for shift key pressed
|
||||
CTRLPRESS EQU 002H ; bit 1 for ctrl key pressed
|
||||
ALTPRESS EQU 004H ; bit 2 for alt key pressed
|
||||
KEYRELEASE EQU 008H ; bit 3 for key released
|
||||
NOTKEYRELEASE EQU 0F7H ; not of key released
|
||||
|
||||
CAPSLOCK EQU 00001H ; bit 0 for caps locked
|
||||
NUMLOCK EQU 00002H ; bit 1 for num locked
|
||||
|
||||
|
||||
|
||||
CLEARISR EQU 020H ; value to clear In Service Register
|
||||
DOS EQU 021H
|
||||
INTCHIP0 EQU 020H ; 8259 interrupt chip controller 0
|
||||
KEYCTRL EQU 061H ; control bits for KB sense data
|
||||
KEYDATA EQU 060H ; keyboard scan code port
|
1023
WWFLAT32/KEYBOARD/KEYIPROT.ASM
Normal file
1023
WWFLAT32/KEYBOARD/KEYIPROT.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2610
WWFLAT32/KEYBOARD/KEYIREAL.ASM
Normal file
2610
WWFLAT32/KEYBOARD/KEYIREAL.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2610
WWFLAT32/KEYBOARD/KEYIREAL.BAK
Normal file
2610
WWFLAT32/KEYBOARD/KEYIREAL.BAK
Normal file
File diff suppressed because it is too large
Load Diff
429
WWFLAT32/KEYBOARD/KEYIREAL.IBN
Normal file
429
WWFLAT32/KEYBOARD/KEYIREAL.IBN
Normal file
@@ -0,0 +1,429 @@
|
||||
DB 001h,000h,001h,000h,011h,000h,000h,000h,000h,000h,0FFh,000h,001h,0F0h,000h
|
||||
DB 010h,0A0h,000h,000h,000h,03Fh,001h,000h,000h,03Fh,001h,045h,000h,03Fh,001h
|
||||
DB 089h,000h,0A0h,000h,089h,000h,000h,000h,089h,000h,000h,000h,045h,000h,000h
|
||||
DB 000h,000h,000h,0A0h,000h,045h,000h,001h,002h,004h,008h,010h,020h,040h,080h
|
||||
DB 020h,002h,020h,003h,00Ch,006h,00Dh,007h,06Ah,006h,069h,006h,030h,002h,030h
|
||||
DB 003h,07Dh,000h,07Dh,001h,05Ah,002h,05Ah,003h,000h,002h,010h,004h,06Eh,004h
|
||||
DB 06Eh,002h,07Ch,000h,008h,000h,008h,000h,010h,000h,010h,000h,010h,000h,010h
|
||||
DB 000h,020h,000h,020h,000h,040h,000h,040h,000h,080h,000h,080h,000h,000h,001h
|
||||
DB 000h,004h,000h,004h,000h,004h,000h,001h,000h,000h,000h,000h,038h,01Dh,052h
|
||||
DB 053h,04Bh,047h,04Fh,048h,050h,049h,051h,04Dh,035h,01Ch,037h,046h,03Eh,040h
|
||||
DB 04Bh,04Ch,04Fh,050h,051h,053h,054h,055h,056h,059h,05Fh,06Ch,07Ch,000h,03Ch
|
||||
DB 03Ah,063h,068h,05Ch,05Bh,05Dh,060h,062h,065h,067h,066h,037h,02Bh,07Ch,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,07Fh,06Eh
|
||||
DB 002h,003h,004h,005h,006h,007h,008h,009h,00Ah,00Bh,00Ch,00Dh,00Fh,010h,011h
|
||||
DB 012h,013h,014h,015h,016h,017h,018h,019h,01Ah,01Bh,01Ch,02Bh,03Ah,01Fh,020h
|
||||
DB 021h,022h,023h,024h,025h,026h,027h,028h,029h,001h,02Ch,01Dh,02Eh,02Fh,030h
|
||||
DB 031h,032h,033h,034h,035h,036h,037h,039h,064h,03Ch,03Dh,01Eh,070h,071h,072h
|
||||
DB 073h,074h,075h,076h,077h,078h,079h,05Ah,07Dh,05Bh,060h,065h,069h,05Ch,061h
|
||||
DB 066h,06Ah,05Dh,062h,067h,063h,068h,07Fh,07Fh,07Fh,07Ah,07Bh,000h,000h,0FEh
|
||||
DB 087h,0FFh,0C0h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,038h,0EFh,001h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,01Eh,02Ch,039h,03Ah,03Ch,03Eh,040h,05Ah
|
||||
DB 080h,080h,080h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,000h,0FFh,001h,000h
|
||||
DB 000h,000h,000h,000h,0FFh,000h,000h,000h,001h,000h,000h,000h,000h,001h,0FFh
|
||||
DB 001h,000h,001h,001h,008h,000h,002h,000h,008h,000h,006h,000h,004h,000h,003h
|
||||
DB 000h,008h,000h,005h,000h,008h,000h,008h,000h,008h,000h,008h,000h,000h,000h
|
||||
DB 001h,000h,008h,000h,007h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,02Dh,00Eh,006h,011h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F5h
|
||||
DB 010h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F8h
|
||||
DB 011h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0B2h,014h
|
||||
DB 05Eh,013h,063h,017h,0EAh,015h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,090h,000h,000h,000h,000h,0ADh,0DEh,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0ADh,0DEh,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,0C8h,000h,000h,000h,051h,057h,006h,01Eh,08Ch
|
||||
DB 0C8h,08Eh,0D8h,08Eh,0C0h,08Bh,046h,006h,0F7h,006h,004h,000h,002h,000h,075h
|
||||
DB 013h,0B9h,010h,000h,0BFh,094h,000h,0F2h,0AEh,0E3h,009h,0BFh,0B4h,000h,04Fh
|
||||
DB 02Bh,0F9h,026h,08Ah,005h,01Fh,007h,05Fh,059h,0C9h,0CBh,0C8h,000h,000h,000h
|
||||
DB 056h,053h,01Eh,08Ch,0C8h,08Eh,0D8h,0A1h,0BAh,001h,08Bh,0F0h,005h,002h,000h
|
||||
DB 025h,0FFh,000h,039h,006h,0B6h,001h,074h,011h,08Bh,05Eh,006h,089h,09Ch,0B6h
|
||||
DB 000h,0A3h,0BAh,001h,033h,0C0h,01Fh,05Bh,05Eh,0C9h,0CBh,0B8h,001h,000h,01Fh
|
||||
DB 05Bh,05Eh,0C9h,0CBh,0C8h,004h,000h,000h,053h,051h,052h,057h,056h,01Eh,09Ch
|
||||
DB 0FAh,08Ch,0C8h,08Eh,0D8h,0A1h,0ABh,002h,0A3h,0AFh,002h,0A1h,0B1h,002h,0A3h
|
||||
DB 0B5h,002h,08Bh,046h,006h,00Bh,0C0h,075h,003h,0E9h,0F7h,001h,0F7h,006h,004h
|
||||
DB 000h,000h,010h,00Fh,084h,03Ah,001h,0F6h,0C4h,004h,00Fh,085h,033h,001h,0F7h
|
||||
DB 006h,004h,000h,000h,020h,074h,00Ch,03Ch,02Bh,074h,00Ch,03Ch,03Dh,074h,008h
|
||||
DB 03Ch,06Ch,074h,004h,03Ch,063h,075h,016h,0B0h,041h,080h,00Eh,0F6h,002h,001h
|
||||
DB 0F6h,0C4h,008h,00Fh,084h,00Ah,001h,080h,026h,0F6h,002h,0FEh,0E9h,002h,001h
|
||||
DB 03Ch,068h,075h,016h,0B0h,042h,080h,00Eh,0F6h,002h,002h,0F6h,0C4h,008h,00Fh
|
||||
DB 084h,0F0h,000h,080h,026h,0F6h,002h,0FDh,0E9h,0E8h,000h,0F6h,0C4h,008h,00Fh
|
||||
DB 085h,0E4h,000h,03Ch,061h,074h,01Eh,03Ch,05Bh,00Fh,082h,0DAh,000h,03Ch,067h
|
||||
DB 00Fh,087h,0D4h,000h,03Ch,05Dh,076h,00Eh,03Ch,065h,073h,00Ah,03Ch,060h,074h
|
||||
DB 006h,03Ch,062h,00Fh,085h,0C2h,000h,08Ah,0ECh,032h,0E4h,02Ch,05Bh,08Bh,0D8h
|
||||
DB 0D1h,0E3h,081h,0C3h,06Fh,002h,08Bh,007h,08Ah,0DCh,098h,093h,098h,093h,0F6h
|
||||
DB 0C5h,002h,075h,021h,0BAh,001h,000h,0F6h,0C5h,001h,074h,003h,083h,0C2h,003h
|
||||
DB 003h,0DAh,08Ah,09Fh,00Ah,000h,093h,098h,093h,087h,0DAh,003h,0D8h,08Ah,087h
|
||||
DB 00Ah,000h,098h,087h,0DAh,0EBh,034h,083h,0E3h,003h,025h,003h,000h,083h,0E3h
|
||||
DB 003h,025h,003h,000h,0D1h,0E3h,0D1h,0E3h,00Bh,0D8h,0D1h,0E3h,08Bh,09Fh,089h
|
||||
DB 002h,0D1h,0E3h,0D1h,0E3h,08Bh,087h,010h,000h,08Bh,09Fh,012h,000h,0A3h,0AFh
|
||||
DB 002h,089h,01Eh,0B5h,002h,0A1h,0AFh,002h,08Bh,01Eh,0B5h,002h,0EBh,02Fh,001h
|
||||
DB 006h,0AFh,002h,079h,005h,033h,0C0h,0A3h,0AFh,002h,001h,01Eh,0B5h,002h,079h
|
||||
DB 006h,033h,0DBh,089h,01Eh,0B5h,002h,0A1h,0AFh,002h,08Bh,01Eh,0B5h,002h,03Dh
|
||||
DB 03Fh,001h,07Eh,003h,0B8h,03Fh,001h,081h,0FBh,0C7h,000h,07Eh,003h,0BBh,0C7h
|
||||
DB 000h,0A3h,0AFh,002h,089h,01Eh,0B5h,002h,0A3h,0ABh,002h,089h,01Eh,0B1h,002h
|
||||
DB 083h,03Eh,0A9h,002h,000h,075h,008h,00Eh,0E8h,0A5h,003h,00Eh,0E8h,0D4h,003h
|
||||
DB 0B8h,02Dh,000h,089h,046h,006h,08Bh,036h,0BAh,001h,089h,076h,0FEh,08Bh,03Eh
|
||||
DB 0B6h,001h,050h,00Eh,0E8h,051h,0FEh,083h,0C4h,002h,00Bh,0C0h,075h,011h,08Bh
|
||||
DB 046h,006h,03Ch,02Dh,074h,00Dh,03Ch,041h,074h,009h,03Ch,042h,074h,005h,0EBh
|
||||
DB 029h,0E9h,080h,000h,0FFh,036h,0AFh,002h,00Eh,0E8h,02Eh,0FEh,083h,0C4h,002h
|
||||
DB 00Bh,0C0h,075h,0EEh,083h,046h,0FCh,002h,0FFh,036h,0B5h,002h,00Eh,0E8h,01Bh
|
||||
DB 0FEh,083h,0C4h,002h,00Bh,0C0h,075h,0DBh,083h,046h,0FCh,002h,0BBh,001h,001h
|
||||
DB 08Bh,046h,006h,03Ch,02Dh,074h,01Bh,03Ch,07Fh,074h,017h,0F6h,0C4h,008h,074h
|
||||
DB 016h,032h,0DBh,0F7h,006h,004h,000h,000h,008h,075h,00Ch,03Ch,041h,074h,008h
|
||||
DB 03Ch,042h,074h,004h,089h,036h,0BAh,001h,08Bh,0F8h,083h,0E7h,07Fh,0B1h,003h
|
||||
DB 0D3h,0EFh,08Ah,0C8h,080h,0E1h,007h,0D3h,0E3h,0F6h,0D7h,084h,09Dh,039h,002h
|
||||
DB 074h,00Ch,0F7h,006h,004h,000h,001h,000h,075h,004h,089h,036h,0BAh,001h,020h
|
||||
DB 0BDh,039h,002h,008h,09Dh,039h,002h,0B8h,001h,000h,0EBh,008h,08Bh,046h,0FEh
|
||||
DB 0A3h,0BAh,001h,033h,0C0h,09Dh,01Fh,05Eh,05Fh,05Ah,059h,05Bh,0C9h,0CBh,050h
|
||||
DB 053h,051h,057h,01Eh,052h,006h,056h,0FCh,08Ch,0C8h,08Eh,0D8h,08Ch,0D1h,089h
|
||||
DB 026h,08Ah,003h,089h,00Eh,08Ch,003h,0BAh,090h,007h,083h,0E2h,0FEh,0FAh,08Eh
|
||||
DB 0D0h,08Bh,0E2h,0FBh,083h,03Eh,0CEh,002h,000h,0C7h,006h,0CEh,002h,000h,000h
|
||||
DB 00Fh,085h,003h,002h,08Bh,016h,004h,000h,083h,026h,0BEh,001h,0FCh,0B8h,040h
|
||||
DB 000h,08Eh,0C0h,026h,0F6h,006h,017h,000h,040h,074h,005h,083h,00Eh,0BEh,001h
|
||||
DB 001h,026h,0F6h,006h,017h,000h,020h,074h,005h,083h,00Eh,0BEh,001h,002h,0C6h
|
||||
DB 006h,0B5h,000h,001h,026h,0F6h,006h,096h,000h,010h,075h,005h,0C6h,006h,0B5h
|
||||
DB 000h,000h,08Ch,0C8h,08Eh,0C0h,0FCh,032h,0E4h,0BBh,001h,001h,0E4h,060h,08Bh
|
||||
DB 01Eh,05Bh,002h,088h,087h,049h,002h,043h,083h,0E3h,00Fh,089h,01Eh,05Bh,002h
|
||||
DB 0BBh,001h,001h,03Ch,0E1h,075h,005h,0C6h,006h,05Eh,002h,003h,080h,03Eh,05Eh
|
||||
DB 002h,000h,074h,00Fh,0FEh,00Eh,05Eh,002h,0F7h,0C2h,080h,000h,00Fh,085h,08Eh
|
||||
DB 001h,0E9h,0CBh,001h,03Ch,0E0h,075h,008h,0C6h,006h,05Dh,002h,001h,0E9h,07Fh
|
||||
DB 001h,0A8h,080h,074h,007h,032h,0DBh,024h,07Fh,080h,0CCh,008h,080h,03Eh,05Dh
|
||||
DB 002h,000h,074h,023h,0C6h,006h,05Dh,002h,000h,0C6h,006h,0B7h,002h,001h,0BFh
|
||||
DB 084h,000h,0B9h,010h,000h,0F2h,0AEh,0E3h,002h,0EBh,003h,0E9h,094h,001h,08Ah
|
||||
DB 045h,00Fh,0C6h,006h,0B7h,002h,000h,0EBh,011h,03Ch,07Ah,075h,004h,0B0h,080h
|
||||
DB 0EBh,009h,08Bh,0F8h,083h,0E7h,07Fh,08Ah,085h,0C0h,001h,0F6h,006h,041h,002h
|
||||
DB 001h,075h,01Bh,0F6h,006h,040h,002h,004h,074h,017h,03Ch,05Ah,075h,010h,080h
|
||||
DB 03Eh,0B5h,000h,001h,074h,009h,0F7h,0C2h,080h,000h,075h,003h,0E9h,057h,001h
|
||||
DB 080h,0CCh,002h,0F6h,006h,040h,002h,050h,074h,003h,080h,0CCh,004h,050h,00Eh
|
||||
DB 0E8h,043h,0FCh,083h,0C4h,002h,0F6h,006h,03Eh,002h,010h,075h,007h,0F6h,006h
|
||||
DB 040h,002h,002h,074h,003h,080h,0CCh,001h,08Bh,0F8h,083h,0E7h,07Fh,0D1h,0EFh
|
||||
DB 0D1h,0EFh,0D1h,0EFh,08Bh,0D8h,083h,0E3h,07Fh,080h,0E3h,007h,08Ah,0AFh,034h
|
||||
DB 000h,0F7h,006h,0BEh,001h,001h,000h,074h,009h,084h,0ADh,019h,002h,074h,003h
|
||||
DB 080h,0F4h,001h,0F7h,006h,0BEh,001h,002h,000h,074h,009h,084h,0ADh,029h,002h
|
||||
DB 074h,003h,080h,0F4h,001h,088h,026h,06Ah,002h,0F7h,0C2h,000h,040h,074h,034h
|
||||
DB 066h,083h,03Eh,0EAh,002h,001h,075h,01Bh,03Dh,073h,000h,074h,00Ah,03Dh,076h
|
||||
DB 000h,072h,00Eh,03Dh,078h,000h,077h,009h,066h,0C7h,006h,0EAh,002h,000h,000h
|
||||
DB 000h,000h,0E9h,08Bh,000h,03Dh,07Dh,000h,075h,00Ch,066h,0C7h,006h,0EAh,002h
|
||||
DB 001h,000h,000h,000h,0E9h,0BAh,000h,03Dh,068h,006h,074h,075h,03Dh,04Ch,006h
|
||||
DB 074h,070h,03Dh,030h,002h,074h,005h,03Dh,07Eh,002h,075h,006h,0C7h,006h,008h
|
||||
DB 000h,001h,000h,03Dh,020h,004h,075h,00Ch,050h,0A1h,000h,000h,035h,001h,000h
|
||||
DB 050h,083h,0C4h,002h,058h,03Dh,034h,004h,075h,00Ch,050h,0A1h,002h,000h,035h
|
||||
DB 001h,000h,050h,083h,0C4h,002h,058h,050h,00Eh,0E8h,0DEh,0FBh,058h,03Ch,06Eh
|
||||
DB 075h,00Dh,083h,03Eh,082h,000h,000h,074h,006h,050h,0FFh,01Eh,080h,000h,058h
|
||||
DB 0BFh,05Fh,002h,0B9h,00Ah,000h,0F2h,0AEh,00Bh,0C9h,075h,01Bh,0BFh,03Ch,000h
|
||||
DB 0B9h,022h,000h,0D1h,0E9h,0F2h,0AFh,0E3h,009h,08Bh,05Dh,020h,023h,0DAh,074h
|
||||
DB 002h,0EBh,006h,0F7h,0C2h,004h,000h,074h,040h,02Eh,0FFh,006h,059h,002h,081h
|
||||
DB 03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h,057h,050h,006h,0B8h,000h,0A0h,08Eh
|
||||
DB 0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h,000h,0F3h,0AAh,007h,058h,05Fh,059h
|
||||
DB 0FAh,08Bh,016h,08Ch,003h,08Eh,0D2h,08Bh,026h,08Ah,003h,0FBh,0BAh,0ECh,010h
|
||||
DB 09Ch,00Eh,052h,09Ch,0FFh,036h,0BCh,002h,0FFh,036h,0BAh,002h,0CFh,0E4h,061h
|
||||
DB 08Ah,0E0h,00Ch,080h,0E6h,061h,086h,0E0h,0E6h,061h,0B8h,040h,000h,08Eh,0C0h
|
||||
DB 026h,0A0h,096h,000h,024h,0FDh,026h,0A2h,096h,000h,0B0h,020h,0E6h,020h,081h
|
||||
DB 03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h,057h,050h,006h,0B8h,000h,0A0h,08Eh
|
||||
DB 0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h,000h,0F3h,0AAh,007h,058h,05Fh,059h
|
||||
DB 08Bh,016h,08Ch,003h,0FAh,08Eh,0D2h,08Bh,026h,08Ah,003h,0FBh,05Eh,007h,05Ah
|
||||
DB 01Fh,05Fh,059h,05Bh,058h,0CFh,09Ch,050h,006h,0B8h,000h,0B0h,08Eh,0C0h,026h
|
||||
DB 0FEh,006h,000h,000h,007h,058h,09Dh,0CFh,09Ch,00Eh,0E8h,022h,0FDh,0CBh,050h
|
||||
DB 053h,051h,052h,01Eh,08Ch,0C8h,08Eh,0D8h,080h,03Eh,0F7h,002h,000h,075h,01Dh
|
||||
DB 083h,03Eh,003h,003h,000h,075h,00Ch,0B8h,000h,000h,050h,00Eh,0FFh,016h,051h
|
||||
DB 003h,083h,0C4h,002h,083h,006h,003h,003h,001h,083h,016h,003h,003h,000h,01Fh
|
||||
DB 05Ah,059h,05Bh,058h,0CBh,0C8h,004h,000h,000h,050h,053h,051h,052h,056h,057h
|
||||
DB 01Eh,006h,08Ch,0C8h,08Eh,0D8h,080h,03Eh,0F7h,002h,000h,075h,050h,083h,03Eh
|
||||
DB 003h,003h,000h,074h,049h,0FFh,00Eh,003h,003h,083h,03Eh,003h,003h,000h,075h
|
||||
DB 03Eh,08Bh,00Eh,03Fh,003h,08Bh,016h,043h,003h,0A1h,0ABh,002h,089h,046h,0FEh
|
||||
DB 08Bh,01Eh,0B1h,002h,089h,05Eh,0FCh,0A3h,02Fh,003h,089h,01Eh,033h,003h,089h
|
||||
DB 00Eh,037h,003h,089h,016h,03Bh,003h,0B8h,001h,000h,050h,00Eh,0FFh,016h,051h
|
||||
DB 003h,083h,0C4h,002h,0FFh,076h,0FCh,0FFh,076h,0FEh,00Eh,0FFh,016h,053h,003h
|
||||
DB 083h,0C4h,004h,007h,01Fh,05Fh,05Eh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,002h
|
||||
DB 000h,000h,053h,08Ch,0C8h,08Eh,0D8h,0C7h,046h,0FEh,02Dh,000h,08Bh,05Eh,006h
|
||||
DB 08Bh,0C3h,032h,01Eh,0F6h,002h,074h,029h,0A2h,0F6h,002h,0F6h,0C3h,002h,074h
|
||||
DB 00Eh,0C7h,046h,0FEh,042h,000h,0A8h,002h,075h,005h,081h,04Eh,0FEh,000h,008h
|
||||
DB 0F6h,0C3h,001h,074h,00Eh,0C7h,046h,0FEh,041h,000h,0A8h,001h,075h,005h,081h
|
||||
DB 04Eh,0FEh,000h,008h,08Bh,046h,0FEh,05Bh,0C9h,0CBh,0C8h,004h,000h,000h,050h
|
||||
DB 053h,051h,052h,01Eh,056h,006h,057h,02Eh,089h,01Eh,092h,007h,02Eh,0A3h,094h
|
||||
DB 007h,08Ch,0C8h,08Eh,0D8h,08Ch,0D3h,089h,026h,096h,007h,089h,01Eh,098h,007h
|
||||
DB 0BBh,09Ch,00Bh,083h,0E3h,0FEh,0FAh,08Eh,0D0h,08Bh,0E3h,0FBh,080h,03Eh,0F7h
|
||||
DB 002h,000h,00Fh,085h,0FAh,000h,080h,03Eh,0F8h,002h,000h,00Fh,084h,0F1h,000h
|
||||
DB 0A1h,094h,007h,025h,01Eh,000h,075h,009h,083h,03Eh,0A9h,002h,000h,00Fh,085h
|
||||
DB 0E0h,000h,083h,03Eh,0F9h,002h,001h,075h,002h,0D1h,0E9h,03Bh,00Eh,049h,003h
|
||||
DB 072h,005h,08Bh,00Eh,049h,003h,049h,03Bh,016h,04Dh,003h,072h,005h,08Bh,016h
|
||||
DB 04Dh,003h,04Ah,089h,00Eh,0ABh,002h,089h,016h,0B1h,002h,066h,0F7h,006h,004h
|
||||
DB 000h,000h,010h,000h,000h,075h,013h,0FFh,036h,092h,007h,00Eh,0E8h,02Ch,0FFh
|
||||
DB 083h,0C4h,002h,050h,00Eh,0E8h,07Bh,0F9h,083h,0C4h,002h,083h,03Eh,0A9h,002h
|
||||
DB 000h,00Fh,085h,092h,000h,083h,03Eh,0FBh,002h,000h,074h,019h,08Bh,0C1h,08Bh
|
||||
DB 0CAh,02Bh,006h,0FFh,002h,08Bh,01Eh,0FBh,002h,099h,0F7h,0FBh,0F7h,0EBh,003h
|
||||
DB 006h,0FFh,002h,08Bh,0D1h,08Bh,0C8h,083h,03Eh,0FDh,002h,000h,074h,015h,08Bh
|
||||
DB 0C2h,02Bh,006h,001h,003h,08Bh,01Eh,0FDh,002h,099h,0F7h,0FBh,0F7h,0EBh,003h
|
||||
DB 006h,001h,003h,08Bh,0D0h,083h,03Eh,003h,003h,000h,075h,047h,039h,00Eh,007h
|
||||
DB 003h,075h,006h,039h,016h,009h,003h,074h,03Bh,0A1h,00Bh,003h,025h,000h,0C0h
|
||||
DB 03Dh,000h,0C0h,074h,00Ch,00Eh,0E8h,016h,0FEh,0F7h,006h,00Bh,003h,000h,080h
|
||||
DB 074h,020h,03Bh,00Eh,00Dh,003h,072h,01Ah,03Bh,00Eh,015h,003h,077h,014h,03Bh
|
||||
DB 016h,011h,003h,072h,00Eh,03Bh,016h,019h,003h,077h,008h,081h,00Eh,00Bh,003h
|
||||
DB 000h,040h,0EBh,004h,00Eh,0E8h,01Dh,0FEh,089h,00Eh,007h,003h,089h,016h,009h
|
||||
DB 003h,081h,03Eh,09Ah,007h,0ADh,0DEh,074h,017h,051h,057h,050h,006h,0B8h,000h
|
||||
DB 0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h,000h,0F3h,0AAh,007h,058h
|
||||
DB 05Fh,059h,0A1h,098h,007h,0FAh,08Eh,0D0h,08Bh,026h,096h,007h,0FBh,05Fh,007h
|
||||
DB 05Eh,01Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h,053h,051h
|
||||
DB 052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,0FCh,0A1h,02Fh,003h,08Bh,01Eh
|
||||
DB 033h,003h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh
|
||||
DB 0FCh,003h,006h,037h,003h,003h,01Eh,03Bh,003h,089h,046h,0FAh,089h,05Eh,0F8h
|
||||
DB 0C7h,046h,0F6h,000h,000h,0A1h,023h,003h,089h,046h,0F4h,033h,0C0h,033h,0D2h
|
||||
DB 08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh
|
||||
DB 04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh,01Eh,049h,003h,049h,04Bh
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h
|
||||
DB 0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh
|
||||
DB 04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h
|
||||
DB 0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h,00Fh,085h,0AEh,000h,00Ah
|
||||
DB 0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh
|
||||
DB 0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h,013h,052h,08Bh,046h,0FCh
|
||||
DB 0F7h,0D8h,0F7h,026h,037h,003h,001h,046h,0F4h,0C7h,046h,0FCh,000h,000h,05Ah
|
||||
DB 0F6h,0C2h,004h,074h,006h,0A1h,049h,003h,089h,046h,0FAh,0F6h,0C2h,001h,074h
|
||||
DB 006h,0A1h,04Dh,003h,089h,046h,0F8h,0B8h,000h,0A0h,08Eh,0C0h,08Bh,046h,0FCh
|
||||
DB 0F7h,026h,049h,003h,08Bh,016h,049h,003h,08Bh,0F8h,003h,07Eh,0FEh,08Bh,01Eh
|
||||
DB 03Fh,003h,0C5h,036h,023h,003h,08Bh,076h,0F4h,003h,076h,0F6h,08Bh,046h,0FAh
|
||||
DB 08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,03Ch,02Bh,04Eh,0FCh,07Eh,037h,02Bh,0D0h
|
||||
DB 02Bh,0D8h,055h,083h,07Eh,006h,000h,075h,018h,08Bh,0E9h,08Bh,0C8h,0F3h,0A4h
|
||||
DB 003h,0F3h,003h,0FAh,04Dh,075h,0F5h,05Dh,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh
|
||||
DB 058h,0C9h,0CBh,087h,0F7h,08Bh,0E9h,006h,01Eh,007h,01Fh,08Bh,0C8h,0F3h,0A4h
|
||||
DB 003h,0F2h,003h,0FBh,04Dh,075h,0F5h,05Dh,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh
|
||||
DB 058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h,053h,051h,052h,057h,056h,01Eh,006h
|
||||
DB 08Ch,0C8h,08Eh,0D8h,08Bh,046h,006h,08Bh,05Eh,008h,02Bh,006h,027h,003h,02Bh
|
||||
DB 01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,03Fh,003h,003h,01Eh
|
||||
DB 043h,003h,089h,046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0C4h,006h
|
||||
DB 01Dh,003h,089h,046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh
|
||||
DB 00Eh,049h,003h,02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh
|
||||
DB 013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h
|
||||
DB 0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h
|
||||
DB 049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h
|
||||
DB 08Ah,0E0h,084h,0D0h,00Fh,085h,093h,000h,00Ah,0C2h,074h,042h,0F6h,0C4h,008h
|
||||
DB 074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h
|
||||
DB 0F6h,0C4h,002h,074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,03Fh,003h
|
||||
DB 001h,046h,0F4h,0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,007h,08Bh
|
||||
DB 01Eh,049h,003h,089h,05Eh,0FAh,0F6h,0C2h,001h,074h,007h,08Bh,01Eh,04Dh,003h
|
||||
DB 089h,05Eh,0F8h,08Bh,046h,0FCh,0F7h,026h,049h,003h,08Bh,016h,049h,003h,08Bh
|
||||
DB 0F8h,003h,07Eh,0FEh,08Bh,01Eh,03Fh,003h,08Bh,076h,0F4h,003h,076h,0F6h,0B8h
|
||||
DB 000h,0A0h,08Eh,0D8h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,023h
|
||||
DB 02Bh,04Eh,0FCh,07Eh,01Eh,02Bh,0D0h,02Bh,0D8h,08Ah,0E0h,026h,08Ah,02Ch,066h
|
||||
DB 046h,00Ah,0EDh,074h,002h,088h,02Dh,047h,0FEh,0CCh,075h,0F0h,003h,0F3h,003h
|
||||
DB 0FAh,0FEh,0C9h,075h,0E6h,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh
|
||||
DB 0C8h,00Ch,000h,000h,050h,053h,051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh
|
||||
DB 0D8h,0E8h,0B7h,002h,089h,056h,0F2h,0FCh,0A1h,02Fh,003h,08Bh,01Eh,033h,003h
|
||||
DB 02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh,0FCh,003h
|
||||
DB 006h,037h,003h,003h,01Eh,03Bh,003h,089h,046h,0FAh,089h,05Eh,0F8h,0C7h,046h
|
||||
DB 0F6h,000h,000h,0A1h,023h,003h,089h,046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh
|
||||
DB 0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh
|
||||
DB 08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h
|
||||
DB 0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h
|
||||
DB 02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h
|
||||
DB 005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h,00Fh,085h,0C7h,000h,00Ah,0C2h,074h
|
||||
DB 040h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h
|
||||
DB 046h,0FEh,000h,000h,0F6h,0C4h,002h,074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h
|
||||
DB 0F7h,026h,037h,003h,001h,046h,0F4h,0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h
|
||||
DB 004h,074h,006h,0A1h,049h,003h,089h,046h,0FAh,0F6h,0C2h,001h,074h,006h,0A1h
|
||||
DB 04Dh,003h,089h,046h,0F8h,0B8h,000h,0A0h,08Eh,0C0h,08Bh,046h,0FCh,0F7h,026h
|
||||
DB 049h,003h,003h,046h,0FEh,083h,0D2h,000h,08Bh,0F8h,0E8h,0F1h,001h,08Bh,016h
|
||||
DB 049h,003h,08Bh,01Eh,03Fh,003h,0C5h,036h,023h,003h,08Bh,076h,0F4h,003h,076h
|
||||
DB 0F6h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,04Fh,02Bh,04Eh,0FCh
|
||||
DB 07Eh,04Ah,02Bh,0D0h,02Bh,0D8h,083h,07Eh,006h,000h,075h,021h,08Ah,0E0h,08Ah
|
||||
DB 02Ch,026h,088h,02Dh,046h,047h,075h,003h,0E8h,0D9h,001h,0FEh,0CCh,075h,0F0h
|
||||
DB 003h,0F3h,003h,0FAh,073h,003h,0E8h,0CCh,001h,0FEh,0C9h,075h,0E1h,0EBh,01Fh
|
||||
DB 08Ah,0E0h,026h,08Ah,02Dh,088h,02Ch,046h,047h,075h,003h,0E8h,0B8h,001h,0FEh
|
||||
DB 0CCh,075h,0F0h,003h,0F3h,003h,0FAh,073h,003h,0E8h,0ABh,001h,0FEh,0C9h,075h
|
||||
DB 0E1h,08Bh,056h,0F2h,0E8h,06Ch,001h,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h
|
||||
DB 0C9h,0CBh,0C8h,00Eh,000h,000h,050h,053h,051h,052h,057h,056h,01Eh,006h,08Ch
|
||||
DB 0C8h,08Eh,0D8h,0E8h,03Eh,001h,089h,056h,0F2h,08Bh,046h,006h,08Bh,05Eh,008h
|
||||
DB 02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh,0FCh,003h
|
||||
DB 006h,03Fh,003h,003h,01Eh,043h,003h,089h,046h,0FAh,089h,05Eh,0F8h,0C7h,046h
|
||||
DB 0F6h,000h,000h,0C4h,006h,01Dh,003h,089h,046h,0F4h,033h,0C0h,033h,0D2h,08Bh
|
||||
DB 04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh
|
||||
DB 0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh,01Eh,049h,003h,049h,04Bh,003h
|
||||
DB 0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh
|
||||
DB 003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h
|
||||
DB 034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h,00Fh,085h,0A0h,000h,00Ah,0C2h
|
||||
DB 074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h
|
||||
DB 0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h,013h,052h,08Bh,046h,0FCh,0F7h
|
||||
DB 0D8h,0F7h,026h,03Fh,003h,001h,046h,0F4h,0C7h,046h,0FCh,000h,000h,05Ah,0F6h
|
||||
DB 0C2h,004h,074h,006h,0A1h,049h,003h,089h,046h,0FAh,0F6h,0C2h,001h,074h,006h
|
||||
DB 0A1h,04Dh,003h,089h,046h,0F8h,08Bh,046h,0FCh,0F7h,026h,049h,003h,003h,046h
|
||||
DB 0FEh,083h,0D2h,000h,08Bh,0F8h,0E8h,07Eh,000h,08Bh,016h,049h,003h,08Bh,01Eh
|
||||
DB 03Fh,003h,08Bh,076h,0F4h,003h,076h,0F6h,0B8h,000h,0A0h,08Eh,0D8h,08Bh,046h
|
||||
DB 0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,02Ch,02Bh,04Eh,0FCh,07Eh,027h,02Bh
|
||||
DB 0D0h,02Bh,0D8h,08Ah,0E0h,026h,08Ah,02Ch,046h,00Ah,0EDh,074h,002h,088h,02Dh
|
||||
DB 047h,075h,003h,0E8h,067h,000h,0FEh,0CCh,075h,0ECh,003h,0F3h,003h,0FAh,073h
|
||||
DB 003h,0E8h,05Ah,000h,0FEh,0C9h,075h,0DDh,08Bh,056h,0F2h,0E8h,01Bh,000h,007h
|
||||
DB 01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,050h,053h,0B8h,005h,04Fh,0B7h
|
||||
DB 001h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Bh,058h,0C3h,050h,053h,052h,0B8h
|
||||
DB 005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h
|
||||
DB 050h,053h,052h,08Bh,0DAh,0C1h,0E3h,002h,02Eh,089h,01Eh,09Eh,00Bh,02Eh,08Bh
|
||||
DB 097h,061h,003h,0B8h,005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h
|
||||
DB 05Ah,05Bh,058h,0C3h,050h,053h,052h,02Eh,08Bh,01Eh,09Eh,00Bh,083h,0C3h,004h
|
||||
DB 02Eh,089h,01Eh,09Eh,00Bh,02Eh,08Bh,097h,061h,003h,0B8h,005h,04Fh,0B7h,000h
|
||||
DB 0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h
|
162
WWFLAT32/KEYBOARD/KEYSTRUC.INC
Normal file
162
WWFLAT32/KEYBOARD/KEYSTRUC.INC
Normal file
@@ -0,0 +1,162 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYSTRUC.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 13, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 13, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
STRUC KeyboardType
|
||||
SoundOn DW ? ; toggled by alt S
|
||||
MusicOn DW ? ; toggled by alt M
|
||||
KeyFlags DD ? ; all but repeat for now
|
||||
Break DW ?
|
||||
KeyMouseMove DB 6 DUP(?)
|
||||
ScreenEdge DW 18 DUP (?)
|
||||
Bits DB 8 DUP (?)
|
||||
CondPassKey DW 17 DUP (?)
|
||||
CondPassCond DW 17 DUP (?)
|
||||
EscRoutine DD ?
|
||||
ExtCodes DB 16 DUP (?)
|
||||
ExtNums DB 16 DUP (?)
|
||||
ExtRemap DB 16 DUP (?)
|
||||
ExtRemapEnd DB ?
|
||||
ExtKeyboard DB ?
|
||||
KeyBuffer DW 128 DUP(?) ; set to empty
|
||||
KeyBufferHead DD ? ; set to first entry
|
||||
KeyBufferTail DD ? ; set to head for empty buffer
|
||||
KeyLock DW ? ; num and caps lock bits
|
||||
KeyNums DB 89 DUP (?)
|
||||
KeysCapsLock DB 16 DUP (?)
|
||||
KeysNumLock DB 16 DUP (?)
|
||||
KeysUpDown DB 16 DUP (?)
|
||||
KeyStream DB 16 DUP (?)
|
||||
PassCount DW ?
|
||||
KeyStreamIndex DW ?
|
||||
LastKeyE0 DB ?
|
||||
LastKeyE1 DB ?
|
||||
PassAlways DB 10 DUP (?)
|
||||
PassAlwaysEnd DB ? ; invalid code to END PassAlways
|
||||
CtrlFlags DB ?
|
||||
Buffer DW ?
|
||||
Time DW ?
|
||||
XYAdjust DB 26 DUP (?)
|
||||
EdgeConv DW 16 DUP (?)
|
||||
MouseUpdate DW ?
|
||||
MouseX DD ?
|
||||
LocalMouseX DW ?
|
||||
MouseY DD ?
|
||||
LocalMouseY DW ?
|
||||
IsExtKey DB ?
|
||||
ExtIndex DW ?
|
||||
|
||||
KeyOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
KeyOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
KeyOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
KeyCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallKeyRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallKeyRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedKeyInt DD ? ; did Protected mode pass this through?
|
||||
|
||||
BrkOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
BrkOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
BrkOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
BrkCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallBrkRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallBrkRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedBrkInt DD ? ; did Protected mode pass this through?
|
||||
KeyIntDisabled DD ?
|
||||
|
||||
DbgOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
DbgOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Begin definition of Mouse Specific Variables for real mode
|
||||
;---------------------------------------------------------------------------
|
||||
Button DB ? ; current value of the mouse button
|
||||
MDisabled DB ? ; Is the mouse driver disabled
|
||||
MInput DB ? ; Defaults to mouse input allowed.
|
||||
Adjust DW ? ; flag to adjust coordinates if necessary
|
||||
MouseStepX DW ? ; step values if the mouse moves at
|
||||
MouseStepY DW ? ; more than one pixel at a time
|
||||
MouseOffsetX DW ? ; Fractional step values used if a mouse
|
||||
MouseOffsetY DW ? ; moves at less than one pixel at a time
|
||||
MState DD ? ; Tracks if mouse is hidden (TRUE) or not (FALSE)
|
||||
MouseXOld DW ? ; Holds last MouseX and MouseY to determine if
|
||||
MouseYOld DW ? ; mouse needs to be redrawn
|
||||
MCState DW ? ; Tracks if mouse conditional hidden (TRUE) or not
|
||||
MouseCXLeft DD ? ; Conditional hide mouse left x position
|
||||
MouseCYUpper DD ? ; Conditional hide mouse top y position
|
||||
MouseCXRight DD ? ; Conditional hide mouse right x position
|
||||
MouseCYLower DD ? ; Conditional hide mouse lower y position
|
||||
MouseCursor DD ? ; Pointer to the mouse cursor to draw
|
||||
MouseCursorSize DW ? ; Size of mouse cursor draw area
|
||||
MouseBuffer DD ? ; Pointer to buffer mouse is saved in
|
||||
MouseXHot DD ? ; Offset to mouse's x hot spot
|
||||
MouseYHot DD ? ; Offset to mouse's y hot spot
|
||||
MouseBuffX DD ? ; X position background was saved at
|
||||
MouseBuffY DD ? ; Y position background was saved at
|
||||
MouseBuffW DD ? ; Width of the region saved for mouse
|
||||
MouseBuffH DD ? ; Height of the region saved for mouse
|
||||
MouseWidth DD ? ; Mouse cursor theoretical width
|
||||
MouseHeight DD ? ; Mouse cursor theoretical height
|
||||
MouseCodeOffset DW ? ; Offset to the real mode code offset
|
||||
MouseRight DD ? ; Right hand side of the screen
|
||||
MouseBottom DD ? ; Bottom of the screen
|
||||
|
||||
|
||||
ShadowPtr dw ?
|
||||
DrawMousePtr dw ?
|
||||
|
||||
VGAMouseDraw dw ?
|
||||
VGAMouseShadow dw ?
|
||||
|
||||
VESAMouseDraw dw ?
|
||||
VESAMouseShadow dw ?
|
||||
|
||||
VesaPtr dd ?
|
||||
VesaBankTable DD 8 dup (?)
|
||||
Adjust_XPos dd ?
|
||||
Adjust_YPos dd ?
|
||||
|
||||
|
||||
ENDS
|
||||
|
||||
; InitFlags that are set to have a fully functional interrupt.
|
||||
IF_ALLOC_RM equ 1 ; Allocation of RM was successful.
|
||||
IF_SET_VECTORS equ 2 ; Vectors have been set.
|
||||
IF_LOCKED_PM_CODE equ 4 ; Locked PM code for DPMI.
|
||||
IF_LOCKED_PM_DATA equ 8 ; Locked PM code for DPMI.
|
||||
IF_RATE_CHANGE equ 10 ; Timer rate was changed.
|
||||
IF_FUNCTIONAL equ 20 ; Timer is in and functional.
|
||||
IF_LOCKED_RM_CODE equ 40
|
200
WWFLAT32/KEYBOARD/MAKEFILE
Normal file
200
WWFLAT32/KEYBOARD/MAKEFILE
Normal file
@@ -0,0 +1,200 @@
|
||||
#
|
||||
# Command & Conquer Red Alert(tm)
|
||||
# Copyright 2025 Electronic Arts Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
#***************************************************************************
|
||||
#** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S **
|
||||
#***************************************************************************
|
||||
#* *
|
||||
#* Project Name : Westwood Library .LIB makefile *
|
||||
#* *
|
||||
#* File Name : MAKEFILE *
|
||||
#* *
|
||||
#* Programmer : Julio R. Jerez *
|
||||
#* *
|
||||
#* Start Date : Jan 25, 1994 *
|
||||
#* *
|
||||
#* *
|
||||
#*-------------------------------------------------------------------------*
|
||||
#* *
|
||||
#* Required environment variables: *
|
||||
#* WWFLAT = your root WWFLAT path *
|
||||
#* WWVCS = root directory for wwlib version control archive *
|
||||
#* WATCOM = your Watcom installation path *
|
||||
#* *
|
||||
#* Required changes to makefile: *
|
||||
#* PROJ_NAME = name of the library you're building *
|
||||
#* OBJECTS = list of objects in your library *
|
||||
#* *
|
||||
#* Optional changes to makefile: *
|
||||
#* PROJ_DIR = full pathname of your working directory *
|
||||
#* .path.xxx = full pathname where various file types live *
|
||||
#* *
|
||||
#***************************************************************************
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Verify user's environment
|
||||
#---------------------------------------------------------------------------
|
||||
!ifndef %WWFLAT
|
||||
!error WWFLAT Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
!ifndef %WWVCS
|
||||
!error WWVCS Environment var not configured.
|
||||
!endif
|
||||
|
||||
!ifndef %WATCOM
|
||||
!error WATCOM Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
#===========================================================================
|
||||
# User-defined section: the user should tailor this section for each project
|
||||
#===========================================================================
|
||||
|
||||
PROJ_NAME = keyboard
|
||||
PROJ_DIR = $(%WWFLAT)\$(PROJ_NAME)
|
||||
LIB_DIR = $(%WWFLAT)\lib
|
||||
|
||||
!include $(%WWFLAT)\project.cfg
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project-dependent variables
|
||||
#---------------------------------------------------------------------------
|
||||
OBJECTS = &
|
||||
keyboard.obj &
|
||||
mouse.obj &
|
||||
pagfault.obj
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Path macros: one path for each file type.
|
||||
# These paths are used to tell make where to find/put each file type.
|
||||
#---------------------------------------------------------------------------
|
||||
.asm: $(PROJ_DIR)
|
||||
.c: $(PROJ_DIR)
|
||||
.cpp: $(PROJ_DIR)
|
||||
.h: $(PROJ_DIR)
|
||||
.obj: $(PROJ_DIR)
|
||||
.lib: $(WWLIB)\lib
|
||||
.exe: $(PROJ_DIR)
|
||||
|
||||
#===========================================================================
|
||||
# Pre-defined section: there should be little need to modify this section.
|
||||
#===========================================================================
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Tools/commands
|
||||
#---------------------------------------------------------------------------
|
||||
C_CMD = wcc386
|
||||
CPP_CMD = wpp386
|
||||
LIB_CMD = wlib
|
||||
LINK_CMD = wlink
|
||||
ASM_CMD = tasm32
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Include & library paths
|
||||
# If LIB & INCLUDE are already defined, they are used in addition to the
|
||||
# WWLIB32 lib & include; otherwise, they're constructed from
|
||||
# BCDIR & TNTDIR
|
||||
#---------------------------------------------------------------------------
|
||||
LIBPATH = $(%WWFLAT)\LIB;$(%WATCOM)\LIB
|
||||
INCLUDEPATH = $(%WWFLAT)\INCLUDE;$(%WATCOM)\H
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Implicit rules
|
||||
# Compiler:
|
||||
# ($< = full dependent with path)
|
||||
# Assembler:
|
||||
# output obj's are constructed from .obj: & the $& macro
|
||||
# ($< = full dependent with path)
|
||||
# tasm's cfg file is not invoked as a response file.
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
.c.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(C_CMD) $(CC_CFG) $<
|
||||
|
||||
.cpp.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(CPP_CMD) $(CC_CFG) $<
|
||||
|
||||
.asm.obj: $(%WWFLAT)\project.cfg
|
||||
$(ASM_CMD) $(ASM_CFG) $<
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Default target: configuration files & library (in that order)
|
||||
#---------------------------------------------------------------------------
|
||||
all: $(LIB_DIR)\$(PROJ_NAME).lib .SYMBOLIC
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Build the library
|
||||
# The original library is deleted by the librarian
|
||||
# Lib objects & -+ commands are constructed by substituting within the
|
||||
# $^@ macro (which expands to all target dependents, separated with
|
||||
# spaces)
|
||||
# Tlib's cfg file is not invoked as a response file.
|
||||
# All headers & source files are copied into WWFLAT\SRCDEBUG, for debugging
|
||||
#---------------------------------------------------------------------------
|
||||
$(LIB_DIR)\$(PROJ_NAME).lib: $(OBJECTS) objects.lbc
|
||||
copy *.h $(%WWFLAT)\include
|
||||
copy *.inc $(%WWFLAT)\include
|
||||
copy *.cpp $(%WWFLAT)\srcdebug
|
||||
copy *.asm $(%WWFLAT)\srcdebug
|
||||
$(LIB_CMD) $(LIB_CFG) $^@ @objects.lbc
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Objects now have a link file which is NOT generated everytime. Instead
|
||||
# it just has its own dependacy rule.
|
||||
#---------------------------------------------------------------------------
|
||||
objects.lbc : $(OBJECTS)
|
||||
%create $^@
|
||||
for %index in ($(OBJECTS)) do %append $^@ +%index
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# The keyboard object files is also dependant on an IBN file which is
|
||||
# generated from KEYIREAL.ASM
|
||||
#---------------------------------------------------------------------------
|
||||
keyireal.ibn: keyireal.obj
|
||||
%create $^*.rsp
|
||||
%append $^*.rsp $^&.obj
|
||||
%append $^*.rsp $^&.exe
|
||||
%append $^*.rsp $^&.map
|
||||
tlink @$^*.rsp
|
||||
tdstrip keyireal.exe
|
||||
ebn keyireal.exe
|
||||
|
||||
keyireal.obj: keyireal.asm
|
||||
tasm /zn /la /ml /m2 keyireal.asm
|
||||
|
||||
keyboard.obj: keyireal.ibn keyboard.asm
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Create the test directory and make it.
|
||||
#---------------------------------------------------------------------------
|
||||
test:
|
||||
mkdir test
|
||||
cd test
|
||||
copy $(%WWVCS)\$(PROJ_NAME)\test\vcs.cfg
|
||||
update
|
||||
wmake
|
||||
cd ..
|
||||
|
||||
#**************************** End of makefile ******************************
|
||||
|
2226
WWFLAT32/KEYBOARD/MOUSE.ASM
Normal file
2226
WWFLAT32/KEYBOARD/MOUSE.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2565
WWFLAT32/KEYBOARD/NEW/KEYBOARD.ASM
Normal file
2565
WWFLAT32/KEYBOARD/NEW/KEYBOARD.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2547
WWFLAT32/KEYBOARD/NEW/KEYBOARD.BAK
Normal file
2547
WWFLAT32/KEYBOARD/NEW/KEYBOARD.BAK
Normal file
File diff suppressed because it is too large
Load Diff
447
WWFLAT32/KEYBOARD/NEW/KEYBOARD.H
Normal file
447
WWFLAT32/KEYBOARD/NEW/KEYBOARD.H
Normal file
@@ -0,0 +1,447 @@
|
||||
/*
|
||||
** Command & Conquer Red Alert(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/***************************************************************************
|
||||
** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
***************************************************************************
|
||||
* *
|
||||
* Project Name : Westwood 32 bit Library *
|
||||
* *
|
||||
* File Name : KEYBOARD.H *
|
||||
* *
|
||||
* Programmer : Phil W. Gorrow *
|
||||
* *
|
||||
* Start Date : July 13, 1994 *
|
||||
* *
|
||||
* Last Update : July 13, 1994 [PWG] *
|
||||
* *
|
||||
*-------------------------------------------------------------------------*
|
||||
* Functions: *
|
||||
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
#ifndef KEYBOARD_H
|
||||
#define KEYBOARD_H
|
||||
|
||||
/*=========================================================================*/
|
||||
/* If we have not already loaded the standard library header, than we can */
|
||||
/* load it. */
|
||||
/*=========================================================================*/
|
||||
|
||||
#ifndef WWSTD_H
|
||||
#include "wwstd.h"
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" {
|
||||
void Install_Keyboard_Interrupt(void *addr, long size);
|
||||
void Install_Page_Fault_Handle(void) ;
|
||||
void *Get_RM_Keyboard_Address(void);
|
||||
long Get_RM_Keyboard_Size(void);
|
||||
void Remove_Keyboard_Interrupt(void);
|
||||
int Check_Key_Num(void);
|
||||
int Check_Key_Bits(void);
|
||||
int Check_Key(void);
|
||||
short Get_Key_Num(void);
|
||||
short Get_Key_Bits(void);
|
||||
int Get_Key(void);
|
||||
int KN_To_KA(int keynum);
|
||||
int Keyboard_Attributes_On(int key_flags);
|
||||
int Keyboard_Attributes_Off(int key_flags);
|
||||
void Clear_KeyBuffer(void);
|
||||
int Key_Down(int key);
|
||||
int Key_Satisfied(int key);
|
||||
void Stuff_Key_WORD(int code);
|
||||
void Stuff_Key_Num(int key);
|
||||
int Install_Mouse(int max_width, int max_height, int scr_width, int scr_height);
|
||||
void Reset_Mouse (void) ;
|
||||
void Remove_Mouse(void);
|
||||
int Get_Mouse_State(void);
|
||||
int Get_Mouse_X(void);
|
||||
int Get_Mouse_Y(void);
|
||||
int Get_Mouse_Disabled(void);
|
||||
void *Set_Mouse_Cursor(int xhotspot, int yhotspot, void *cursor);
|
||||
void Hide_Mouse(void);
|
||||
void Show_Mouse(void);
|
||||
void Conditional_Hide_Mouse(int sx_pixel, int sy_pixel, int dx_pixel, int dy_pixel);
|
||||
void Conditional_Show_Mouse(void);
|
||||
|
||||
|
||||
void __interrupt far Keyboard_Interrupt(void);
|
||||
extern int MouseQX;
|
||||
extern int MouseQY;
|
||||
|
||||
}
|
||||
|
||||
|
||||
enum {
|
||||
REPEATON = 0x0001, /* 1:all makes into buffer, 0:only 1st make */
|
||||
TRACKEXT = 0x0002, /* 1:Home != keypad Home, 0:Home=keypad Home */
|
||||
FILTERONLY = 0x0004, /* 1:Normal BIOS operation with filter */
|
||||
CTRLALTTURBO = 0x0010, /* 1:Allow turbo up and down in application */
|
||||
NONUMLOCK = 0x0200, /* 1:do NOT remap keypad to numbers */
|
||||
TASKSWITCHABLE = 0x400, /* 1:allows task switching keys thru ALT-TAB, */
|
||||
/* ALT-ESC,CTRL-ESC */
|
||||
PASSBREAKS = 0x0800, // Pass all breaks to the keyboard buffer.
|
||||
|
||||
/* The following flags, if turned on, should only be used for
|
||||
debugging purposes (remember to take out the calls when BETA */
|
||||
|
||||
CTRLSON = 0x0008, /* 1:pass scroll lock sequence into BIOS */
|
||||
CTRLCON = 0x0020, /* 1:pass stop code to BIOS */
|
||||
SCROLLLOCKON = 0x0040, /* 1:pass scroll lock key into BIOS */
|
||||
PAUSEON = 0x0080, /* 1:pass the pause key and seq to BIOS */
|
||||
/* make sure FILTERONLY is set */
|
||||
BREAKON = 0x0100, /* 1:pass the ctrl break seq to BIOS */
|
||||
KEYMOUSE = 0x1000, /* 1:keypad translates into mouse moves */
|
||||
SIMLBUTTON = 0x2000, /* 1:have space and enter keys simulate Left */
|
||||
/* mouse button when KEYMOUSE is set */
|
||||
DEBUGINT = 0x4000 /* Use scroll lock to disable keyboard int */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
** These are the codes for the various key codes that are returned from the
|
||||
** keyboard input routines Get_Key() and Input_ASCII().
|
||||
*/
|
||||
typedef enum {
|
||||
KA_CTRL_AT = 0,
|
||||
KA_CTRL_A,
|
||||
KA_MORE = KA_CTRL_A,
|
||||
KA_CTRL_B,
|
||||
KA_SETBKGDCOL = KA_CTRL_B,
|
||||
KA_CTRL_C,
|
||||
KA_CTRL_D,
|
||||
KA_CTRL_E,
|
||||
KA_CTRL_F,
|
||||
KA_SETFORECOL = KA_CTRL_F,
|
||||
KA_CTRL_G,
|
||||
KA_CTRL_H,
|
||||
KA_BACKSPACE = KA_CTRL_H,
|
||||
KA_CTRL_I,
|
||||
KA_TAB = KA_CTRL_I,
|
||||
KA_CTRL_J,
|
||||
KA_CTRL_K,
|
||||
KA_CTRL_L,
|
||||
KA_FORMFEED = KA_CTRL_L,
|
||||
KA_CTRL_M,
|
||||
KA_RETURN = KA_CTRL_M,
|
||||
KA_CTRL_N,
|
||||
|
||||
KA_CTRL_O,
|
||||
KA_CTRL_P,
|
||||
KA_CTRL_Q,
|
||||
KA_CTRL_R,
|
||||
KA_CTRL_S,
|
||||
KA_SPCTAB = KA_CTRL_S,
|
||||
KA_CTRL_T,
|
||||
KA_CTRL_U,
|
||||
KA_CTRL_V,
|
||||
KA_CTRL_W,
|
||||
KA_CTRL_X,
|
||||
KA_SETX = KA_CTRL_X,
|
||||
KA_CTRL_Y,
|
||||
KA_SETY = KA_CTRL_Y,
|
||||
KA_CTRL_Z,
|
||||
KA_CTRL_LBRACKET,
|
||||
KA_ESC = KA_CTRL_LBRACKET,
|
||||
KA_EXTEND = KA_ESC,
|
||||
KA_CTRL_BACKSLASH,
|
||||
KA_CTRL_RBRACKET,
|
||||
KA_LITERAL = KA_CTRL_RBRACKET,
|
||||
KA_CTRL_CARROT,
|
||||
KA_CTRL_UNDERLINE,
|
||||
|
||||
KA_SPACE, /* */
|
||||
KA_EXCLAMATION, /* ! */
|
||||
KA_DQUOTE, /* " */
|
||||
KA_POUND, /* # */
|
||||
KA_DOLLAR, /* $ */
|
||||
KA_PERCENT, /* % */
|
||||
KA_AMPER, /* & */
|
||||
KA_SQUOTE, /* ' */
|
||||
KA_LPAREN, /* ( */
|
||||
KA_RPAREN, /* ) */
|
||||
KA_ASTERISK, /* * */
|
||||
KA_PLUS, /* + */
|
||||
KA_COMMA, /* , */
|
||||
KA_MINUS, /* - */
|
||||
KA_PERIOD, /* . */
|
||||
KA_SLASH, /* / */
|
||||
|
||||
KA_0, KA_1, KA_2, KA_3, KA_4, KA_5, KA_6, KA_7, KA_8, KA_9,
|
||||
KA_COLON, /* : */
|
||||
KA_SEMICOLON, /* ; */
|
||||
KA_LESS_THAN, /* < */
|
||||
KA_EQUAL, /* = */
|
||||
KA_GREATER_THAN, /* > */
|
||||
KA_QUESTION, /* ? */
|
||||
|
||||
KA_AT, /* @ */
|
||||
KA_A, /* A */
|
||||
KA_B, /* B */
|
||||
KA_C, /* C */
|
||||
KA_D, /* D */
|
||||
KA_E, /* E */
|
||||
KA_F, /* F */
|
||||
KA_G, /* G */
|
||||
KA_H, /* H */
|
||||
KA_I, /* I */
|
||||
KA_J, /* J */
|
||||
KA_K, /* K */
|
||||
KA_L, /* L */
|
||||
KA_M, /* M */
|
||||
KA_N, /* N */
|
||||
KA_O, /* O */
|
||||
|
||||
KA_P, /* P */
|
||||
KA_Q, /* Q */
|
||||
KA_R, /* R */
|
||||
KA_S, /* S */
|
||||
KA_T, /* T */
|
||||
KA_U, /* U */
|
||||
KA_V, /* V */
|
||||
KA_W, /* W */
|
||||
KA_X, /* X */
|
||||
KA_Y, /* Y */
|
||||
KA_Z, /* Z */
|
||||
KA_LBRACKET, /* [ */
|
||||
KA_BACKSLASH, /* \ */
|
||||
KA_RBRACKET, /* ] */
|
||||
KA_CARROT, /* ^ */
|
||||
KA_UNDERLINE, /* _ */
|
||||
|
||||
KA_GRAVE, /* ` */
|
||||
KA_a, /* a */
|
||||
KA_b, /* b */
|
||||
KA_c, /* c */
|
||||
KA_d, /* d */
|
||||
KA_e, /* e */
|
||||
KA_f, /* f */
|
||||
KA_g, /* g */
|
||||
KA_h, /* h */
|
||||
KA_i, /* i */
|
||||
KA_j, /* j */
|
||||
KA_k, /* k */
|
||||
KA_l, /* l */
|
||||
KA_m, /* m */
|
||||
KA_n, /* n */
|
||||
KA_o, /* o */
|
||||
|
||||
KA_p, /* p */
|
||||
KA_q, /* q */
|
||||
KA_r, /* r */
|
||||
KA_s, /* s */
|
||||
KA_t, /* t */
|
||||
KA_u, /* u */
|
||||
KA_v, /* v */
|
||||
KA_w, /* w */
|
||||
KA_x, /* x */
|
||||
KA_y, /* y */
|
||||
KA_z, /* z */
|
||||
KA_LBRACE, /* { */
|
||||
KA_BAR, /* | */
|
||||
KA_RBRACE, /* ] */
|
||||
KA_TILDA, /* ~ */
|
||||
KA_DEL, /* not used */
|
||||
|
||||
KA_ALT_F10 = 143,
|
||||
KA_ALT_F9, KA_ALT_F8, KA_ALT_F7, KA_ALT_F6, KA_ALT_F5,
|
||||
KA_ALT_F4, KA_ALT_F3, KA_ALT_F2, KA_ALT_F1,
|
||||
|
||||
KA_CTRL_F10, KA_CTRL_F9, KA_CTRL_F8, KA_CTRL_F7, KA_CTRL_F6,
|
||||
KA_CTRL_F5, KA_CTRL_F4, KA_CTRL_F3, KA_CTRL_F2, KA_CTRL_F1,
|
||||
|
||||
KA_SHIFT_F10, KA_SHIFT_F9, KA_SHIFT_F8, KA_SHIFT_F7, KA_SHIFT_F6,
|
||||
KA_SHIFT_F5, KA_SHIFT_F4, KA_SHIFT_F3, KA_SHIFT_F2, KA_SHIFT_F1,
|
||||
|
||||
KA_DELETE, /* <DELETE> */
|
||||
KA_INSERT, /* <INSERT> */
|
||||
KA_PGDN, /* <PAGE DOWN> */
|
||||
KA_DOWNRIGHT = KA_PGDN,
|
||||
KA_DOWN, /* <DOWN ARROW> */
|
||||
KA_END, /* <END> */
|
||||
KA_DOWNLEFT = KA_END,
|
||||
|
||||
KA_RESERVED1,
|
||||
|
||||
KA_RIGHT, /* <RIGHT ARROW> */
|
||||
KA_KEYPAD5, /* NUMERIC KEY PAD <5> */
|
||||
KA_LEFT, /* <LEFT ARROW> */
|
||||
|
||||
KA_RESERVED2,
|
||||
|
||||
KA_PGUP, /* <PAGE UP> */
|
||||
KA_UPRIGHT = KA_PGUP,
|
||||
KA_UP, /* <UP ARROW> */
|
||||
KA_HOME, /* <HOME> */
|
||||
KA_UPLEFT = KA_HOME,
|
||||
|
||||
KA_RESERVED3,
|
||||
KA_RESERVED4,
|
||||
|
||||
KA_F10, KA_F9, KA_F8, KA_F7, KA_F6, KA_F5, KA_F4, KA_F3, KA_F2, KA_F1,
|
||||
|
||||
KA_LMOUSE,
|
||||
KA_RMOUSE,
|
||||
KA_JBUTTON1,
|
||||
KA_JBUTTON2,
|
||||
KA_J_UP,
|
||||
KA_J_RIGHT,
|
||||
KA_J_DOWN,
|
||||
KA_J_LEFT,
|
||||
|
||||
KA_SHIFT_BIT = 0x0100,
|
||||
KA_CTRL_BIT = 0x0200,
|
||||
KA_ALT_BIT = 0x0400,
|
||||
KA_RLSE_BIT = 0x0800,
|
||||
KA_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KA_RCOMM_BIT = 0x2000 /* Amiga Right Comm key */
|
||||
} KeyASCIIType;
|
||||
|
||||
/*
|
||||
** These are the keyboard codes that are returned from the input routines
|
||||
** Get_Key_Num and Input_Num.
|
||||
*/
|
||||
typedef enum {
|
||||
KN_NONE = 0,
|
||||
KN_GRAVE = 1, /* ` */
|
||||
KN_1, KN_2, KN_3, KN_4, KN_5, KN_6, KN_7, KN_8, KN_9, KN_0,
|
||||
KN_MINUS, /* - */
|
||||
KN_EQUAL, /* = */
|
||||
|
||||
KN_RESERVED1,
|
||||
|
||||
KN_BACKSPACE, /* <BACKSPACE> */
|
||||
|
||||
KN_TAB, /* <TAB> */
|
||||
KN_Q, KN_W, KN_E, KN_R, KN_T, KN_Y, KN_U, KN_I, KN_O, KN_P,
|
||||
KN_LBRACKET, /* [ */
|
||||
KN_RBRACKET, /* ] */
|
||||
KN_BACKSLASH, /* \ */
|
||||
|
||||
KN_CAPSLOCK, /* <CAPS LOCK> */
|
||||
KN_A, KN_S, KN_D, KN_F, KN_G, KN_H, KN_J, KN_K, KN_L,
|
||||
KN_SEMICOLON, /* ; */
|
||||
KN_SQUOTE, /* ' */
|
||||
KN_BACKSLASH2,
|
||||
KN_RETURN, /* <RETURN> or <ENTER> */
|
||||
|
||||
KN_LSHIFT, /* <LEFT SHIFT> */
|
||||
|
||||
KN_MOUSE_MOVE, // Indicate a mouse move (for playback of
|
||||
|
||||
KN_Z, KN_X, KN_C, KN_V, KN_B, KN_N, KN_M,
|
||||
KN_COMMA, /* , */
|
||||
KN_PERIOD, /* . */
|
||||
KN_SLASH, /* / */
|
||||
|
||||
KN_RESERVED3,
|
||||
|
||||
KN_RSHIFT, /* <RIGHT SHIFT> */
|
||||
|
||||
KN_LCTRL, /* <LEFT CTRL> */
|
||||
KN_LCOMM, /* for AMIGA */
|
||||
KN_LALT, /* <LEFT ALT> */
|
||||
KN_SPACE, /* <SPACE BAR> */
|
||||
KN_RALT, /* <RIGHT ALT> */
|
||||
KN_RCOMM, /* for AMIGA */
|
||||
KN_RCTRL, /* <RIGHT CTRL> */
|
||||
/* the following are forced into key buffer */
|
||||
KN_LMOUSE,
|
||||
KN_RMOUSE,
|
||||
KN_JBUTTON1,
|
||||
KN_JBUTTON2,
|
||||
KN_J_UP,
|
||||
KN_J_RIGHT,
|
||||
KN_J_DOWN,
|
||||
KN_J_LEFT,
|
||||
|
||||
KN_SPECIAL9,
|
||||
|
||||
KN_SPECIAL10,
|
||||
|
||||
KN_E_INSERT, /* extended <INSERT> */
|
||||
KN_E_DELETE, /* extended <DELETE> */
|
||||
|
||||
KN_RESERVED4,
|
||||
KN_RESERVED5,
|
||||
|
||||
KN_E_LEFT, /* extended <LEFT ARROW> */
|
||||
KN_E_HOME, /* extended <HOME> */
|
||||
KN_E_END, /* extended <END> */
|
||||
|
||||
KN_RESERVED6,
|
||||
|
||||
KN_E_UP, /* extended <UP ARROW> */
|
||||
KN_E_DOWN, /* extended <DOWN ARROW> */
|
||||
KN_E_PGUP, /* extended <PAGE UP> */
|
||||
KN_E_PGDN, /* extended <PAGE DOWN> */
|
||||
KN_K_LPAREN, /* for AMIGA */
|
||||
KN_K_RPAREN, /* for AMIGA */
|
||||
KN_E_RIGHT, /* extended <RIGHT ARROW> */
|
||||
|
||||
KN_NUMLOCK, /* <NUM LOCK> */
|
||||
KN_HOME, /* num key pad 7 */
|
||||
KN_UPLEFT = KN_HOME,
|
||||
KN_LEFT, /* num key pad 4 */
|
||||
KN_END, /* num key pad 1 */
|
||||
KN_DOWNLEFT = KN_END,
|
||||
|
||||
KN_RESERVED7,
|
||||
|
||||
KN_KEYPAD_SLASH, /* num key pad / */
|
||||
KN_UP, /* num key pad 8 */
|
||||
KN_CENTER, /* num key pad 5 */
|
||||
KN_DOWN, /* num key pad 2 */
|
||||
KN_INSERT, /* num key pad 0 */
|
||||
KN_KEYPAD_ASTERISK, /* num key pad * */
|
||||
KN_PGUP, /* num key pad 9 */
|
||||
KN_UPRIGHT = KN_PGUP,
|
||||
KN_RIGHT, /* num key pad 6 */
|
||||
KN_PGDN, /* num key pad 3 */
|
||||
KN_DOWNRIGHT = KN_PGDN,
|
||||
KN_DELETE, /* num key pad . */
|
||||
KN_KEYPAD_MINUS, /* num key pad - */
|
||||
KN_KEYPAD_PLUS, /* num key pad + */
|
||||
|
||||
KN_RESERVED8,
|
||||
|
||||
KN_KEYPAD_RETURN, /* num key pad <ENTER> */
|
||||
|
||||
KN_RESERVED9,
|
||||
|
||||
KN_ESC,
|
||||
KN_HELP, /* for AMIGA */
|
||||
KN_F1, KN_F2, KN_F3, KN_F4, KN_F5, KN_F6, KN_F7, KN_F8, KN_F9, KN_F10,
|
||||
KN_F11,
|
||||
KN_F12,
|
||||
KN_PRNTSCRN, /* <PRINT SCRN> */
|
||||
KN_SCROLLLOCK, /* <SCROLL LOCK> */
|
||||
KN_PAUSE, /* <PAUSE> */
|
||||
|
||||
KN_SHIFT_BIT = 0x0100,
|
||||
KN_CTRL_BIT = 0x0200,
|
||||
KN_ALT_BIT = 0x0400,
|
||||
KN_RLSE_BIT = 0x0800,
|
||||
KN_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KN_RCOMM_BIT = 0x2000, /* Amiga Right Comm key */
|
||||
KN_BUTTON = 0x8000 /* Amiga Right Comm key */
|
||||
} KeyNumType;
|
||||
|
||||
#endif
|
129
WWFLAT32/KEYBOARD/NEW/KEYBOARD.INC
Normal file
129
WWFLAT32/KEYBOARD/NEW/KEYBOARD.INC
Normal file
@@ -0,0 +1,129 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYBOARD.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 12, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 12, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Contains all the defines used by the keyboard interrupt for assembly *
|
||||
;* includes. *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
|
||||
|
||||
TRUE EQU 1 ; numerical true
|
||||
FALSE EQU 0 ; numerical false
|
||||
DEBUG EQU 1
|
||||
|
||||
MAX_X_PIXEL EQU 319
|
||||
MAX_Y_PIXEL EQU 199
|
||||
|
||||
|
||||
KN_RESERVED1 EQU 14
|
||||
KN_RESERVED2 EQU 45
|
||||
KN_RESERVED3 EQU 56
|
||||
|
||||
|
||||
; these two are reserved for AMIGA open and close.
|
||||
KN_LCOMM EQU 59
|
||||
KN_RCOMM EQU 63
|
||||
|
||||
KN_LMOUSE EQU 65
|
||||
KN_RMOUSE EQU 66
|
||||
KN_JBUTTON1 EQU 67
|
||||
KN_JBUTTON2 EQU 68
|
||||
KN_J_UP EQU 69
|
||||
KN_J_RIGHT EQU 70
|
||||
KN_J_DOWN EQU 71
|
||||
KN_J_LEFT EQU 72
|
||||
|
||||
KN_LEFT EQU 92
|
||||
KN_UPLEFT EQU 91
|
||||
KN_UP EQU 96
|
||||
KN_UPRIGHT EQU 101
|
||||
KN_RIGHT EQU 102
|
||||
KN_DOWNRIGHT EQU 103
|
||||
KN_DOWN EQU 98
|
||||
KN_DOWNLEFT EQU 93
|
||||
KN_CENTER EQU 97
|
||||
|
||||
KN_INSERT EQU 99
|
||||
KN_DELETE EQU 104
|
||||
|
||||
KN_RETURN EQU 43
|
||||
KN_SPACE EQU 61
|
||||
KN_KEYPAD_RETURN EQU 108
|
||||
|
||||
|
||||
; these two are reserved for AMIGA K left and right paren
|
||||
KN_KLPAREN EQU 87
|
||||
KN_KRPAREN EQU 88
|
||||
|
||||
|
||||
KN_NUMLOCK EQU 90
|
||||
|
||||
KN_SCROLLOCK EQU 125 ; key ignored by the logging system
|
||||
|
||||
KN_MOUSE_MOVE EQU 45 ; Indicate a mouse move (for playback of logged data)
|
||||
|
||||
; ----------------------------------------------------------------
|
||||
; flags used in Keyflags to customize keystroke interrupt.
|
||||
|
||||
REPEATON EQU 0001H ; 1:all makes into buffer, 0:only 1st make
|
||||
TRACKEXT EQU 0002H ; 1:Home != keypad Home, 0:Home=keypad Home
|
||||
FILTERONLY EQU 0004H ; 1:Normal BIOS operation with filter
|
||||
CTRLSON EQU 0008H ; 1:pass scroll lock sequence into BIOS
|
||||
CTRLALTTURBO EQU 0010H ; 1:Allow turbo up and down in application
|
||||
CTRLCON EQU 0020H ; 1:pass stop code to BIOS
|
||||
SCROLLLOCKON EQU 0040H ; 1:pass scroll lock key into BIOS
|
||||
PAUSEON EQU 0080H ; 1:pass the pause key and seq to BIOS
|
||||
BREAKON EQU 0100H ; 1:pass the ctrl break seq to BIOS
|
||||
NONUMLOCK EQU 0200H ; 1:do NOT remap keypad to numbers
|
||||
TASKSWITCHABLE EQU 0400H ; 1:allows task switching keys thru ALT-TAB,
|
||||
; ALT-ESC,CTRL-ESC
|
||||
PASSBREAKS EQU 0800H ; 1:Pass all break codes to keyboard buffer.
|
||||
KEYMOUSE EQU 1000H ; 1:Numeric keypad moves mouse
|
||||
SIMLBUTTON EQU 2000H ; 1:have space and enter keys simulate Left
|
||||
DEBUGINT EQU 4000H ; mouse button when KEYMOUSE is set
|
||||
|
||||
|
||||
SHIFTPRESS EQU 001H ; bit 0 for shift key pressed
|
||||
CTRLPRESS EQU 002H ; bit 1 for ctrl key pressed
|
||||
ALTPRESS EQU 004H ; bit 2 for alt key pressed
|
||||
KEYRELEASE EQU 008H ; bit 3 for key released
|
||||
NOTKEYRELEASE EQU 0F7H ; not of key released
|
||||
|
||||
CAPSLOCK EQU 00001H ; bit 0 for caps locked
|
||||
NUMLOCK EQU 00002H ; bit 1 for num locked
|
||||
|
||||
|
||||
|
||||
CLEARISR EQU 020H ; value to clear In Service Register
|
||||
DOS EQU 021H
|
||||
INTCHIP0 EQU 020H ; 8259 interrupt chip controller 0
|
||||
KEYCTRL EQU 061H ; control bits for KB sense data
|
||||
KEYDATA EQU 060H ; keyboard scan code port
|
1023
WWFLAT32/KEYBOARD/NEW/KEYIPROT.ASM
Normal file
1023
WWFLAT32/KEYBOARD/NEW/KEYIPROT.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2610
WWFLAT32/KEYBOARD/NEW/KEYIREAL.ASM
Normal file
2610
WWFLAT32/KEYBOARD/NEW/KEYIREAL.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2571
WWFLAT32/KEYBOARD/NEW/KEYIREAL.BAK
Normal file
2571
WWFLAT32/KEYBOARD/NEW/KEYIREAL.BAK
Normal file
File diff suppressed because it is too large
Load Diff
361
WWFLAT32/KEYBOARD/NEW/KEYIREAL.IBN
Normal file
361
WWFLAT32/KEYBOARD/NEW/KEYIREAL.IBN
Normal file
@@ -0,0 +1,361 @@
|
||||
DB 001h,000h,001h,000h,011h,000h,000h,000h,000h,000h,0FFh,000h,001h,0F0h,000h
|
||||
DB 010h,0A0h,000h,000h,000h,03Fh,001h,000h,000h,03Fh,001h,045h,000h,03Fh,001h
|
||||
DB 089h,000h,0A0h,000h,089h,000h,000h,000h,089h,000h,000h,000h,045h,000h,000h
|
||||
DB 000h,000h,000h,0A0h,000h,045h,000h,001h,002h,004h,008h,010h,020h,040h,080h
|
||||
DB 020h,002h,020h,003h,00Ch,006h,00Dh,007h,06Ah,006h,069h,006h,030h,002h,030h
|
||||
DB 003h,07Dh,000h,07Dh,001h,05Ah,002h,05Ah,003h,000h,002h,010h,004h,06Eh,004h
|
||||
DB 06Eh,002h,07Ch,000h,008h,000h,008h,000h,010h,000h,010h,000h,010h,000h,010h
|
||||
DB 000h,020h,000h,020h,000h,040h,000h,040h,000h,080h,000h,080h,000h,000h,001h
|
||||
DB 000h,004h,000h,004h,000h,004h,000h,001h,000h,000h,000h,000h,038h,01Dh,052h
|
||||
DB 053h,04Bh,047h,04Fh,048h,050h,049h,051h,04Dh,035h,01Ch,037h,046h,03Eh,040h
|
||||
DB 04Bh,04Ch,04Fh,050h,051h,053h,054h,055h,056h,059h,05Fh,06Ch,07Ch,000h,03Ch
|
||||
DB 03Ah,063h,068h,05Ch,05Bh,05Dh,060h,062h,065h,067h,066h,037h,02Bh,07Ch,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,07Fh,06Eh
|
||||
DB 002h,003h,004h,005h,006h,007h,008h,009h,00Ah,00Bh,00Ch,00Dh,00Fh,010h,011h
|
||||
DB 012h,013h,014h,015h,016h,017h,018h,019h,01Ah,01Bh,01Ch,02Bh,03Ah,01Fh,020h
|
||||
DB 021h,022h,023h,024h,025h,026h,027h,028h,029h,001h,02Ch,01Dh,02Eh,02Fh,030h
|
||||
DB 031h,032h,033h,034h,035h,036h,037h,039h,064h,03Ch,03Dh,01Eh,070h,071h,072h
|
||||
DB 073h,074h,075h,076h,077h,078h,079h,05Ah,07Dh,05Bh,060h,065h,069h,05Ch,061h
|
||||
DB 066h,06Ah,05Dh,062h,067h,063h,068h,07Fh,07Fh,07Fh,07Ah,07Bh,000h,000h,0FEh
|
||||
DB 087h,0FFh,0C0h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,038h,0EFh,001h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,01Eh,02Ch,039h,03Ah,03Ch,03Eh,040h,05Ah
|
||||
DB 080h,080h,080h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,000h,0FFh,001h,000h
|
||||
DB 000h,000h,000h,000h,0FFh,000h,000h,000h,001h,000h,000h,000h,000h,001h,0FFh
|
||||
DB 001h,000h,001h,001h,008h,000h,002h,000h,008h,000h,006h,000h,004h,000h,003h
|
||||
DB 000h,008h,000h,005h,000h,008h,000h,008h,000h,008h,000h,008h,000h,000h,000h
|
||||
DB 001h,000h,008h,000h,007h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,029h,00Ah,002h,00Dh,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F1h
|
||||
DB 00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F4h
|
||||
DB 00Dh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0AEh,010h
|
||||
DB 05Ah,00Fh,05Fh,013h,0E6h,011h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,090h,000h,000h,000h,000h,0ADh,0DEh,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,0ADh,0DEh,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0C8h,000h
|
||||
DB 000h,000h,051h,057h,006h,01Eh,08Ch,0C8h,08Eh,0D8h,08Eh,0C0h,08Bh,046h,006h
|
||||
DB 0F7h,006h,004h,000h,002h,000h,075h,013h,0B9h,010h,000h,0BFh,094h,000h,0F2h
|
||||
DB 0AEh,0E3h,009h,0BFh,0B4h,000h,04Fh,02Bh,0F9h,026h,08Ah,005h,01Fh,007h,05Fh
|
||||
DB 059h,0C9h,0CBh,0C8h,000h,000h,000h,056h,053h,01Eh,08Ch,0C8h,08Eh,0D8h,0A1h
|
||||
DB 0BAh,001h,08Bh,0F0h,005h,002h,000h,025h,0FFh,000h,039h,006h,0B6h,001h,074h
|
||||
DB 011h,08Bh,05Eh,006h,089h,09Ch,0B6h,000h,0A3h,0BAh,001h,033h,0C0h,01Fh,05Bh
|
||||
DB 05Eh,0C9h,0CBh,0B8h,001h,000h,01Fh,05Bh,05Eh,0C9h,0CBh,0C8h,004h,000h,000h
|
||||
DB 053h,051h,052h,057h,056h,01Eh,09Ch,0FAh,08Ch,0C8h,08Eh,0D8h,0A1h,0ABh,002h
|
||||
DB 0A3h,0AFh,002h,0A1h,0B1h,002h,0A3h,0B5h,002h,08Bh,046h,006h,00Bh,0C0h,075h
|
||||
DB 003h,0E9h,0F7h,001h,0F7h,006h,004h,000h,000h,010h,00Fh,084h,03Ah,001h,0F6h
|
||||
DB 0C4h,004h,00Fh,085h,033h,001h,0F7h,006h,004h,000h,000h,020h,074h,00Ch,03Ch
|
||||
DB 02Bh,074h,00Ch,03Ch,03Dh,074h,008h,03Ch,06Ch,074h,004h,03Ch,063h,075h,016h
|
||||
DB 0B0h,041h,080h,00Eh,0F6h,002h,001h,0F6h,0C4h,008h,00Fh,084h,00Ah,001h,080h
|
||||
DB 026h,0F6h,002h,0FEh,0E9h,002h,001h,03Ch,068h,075h,016h,0B0h,042h,080h,00Eh
|
||||
DB 0F6h,002h,002h,0F6h,0C4h,008h,00Fh,084h,0F0h,000h,080h,026h,0F6h,002h,0FDh
|
||||
DB 0E9h,0E8h,000h,0F6h,0C4h,008h,00Fh,085h,0E4h,000h,03Ch,061h,074h,01Eh,03Ch
|
||||
DB 05Bh,00Fh,082h,0DAh,000h,03Ch,067h,00Fh,087h,0D4h,000h,03Ch,05Dh,076h,00Eh
|
||||
DB 03Ch,065h,073h,00Ah,03Ch,060h,074h,006h,03Ch,062h,00Fh,085h,0C2h,000h,08Ah
|
||||
DB 0ECh,032h,0E4h,02Ch,05Bh,08Bh,0D8h,0D1h,0E3h,081h,0C3h,06Fh,002h,08Bh,007h
|
||||
DB 08Ah,0DCh,098h,093h,098h,093h,0F6h,0C5h,002h,075h,021h,0BAh,001h,000h,0F6h
|
||||
DB 0C5h,001h,074h,003h,083h,0C2h,003h,003h,0DAh,08Ah,09Fh,00Ah,000h,093h,098h
|
||||
DB 093h,087h,0DAh,003h,0D8h,08Ah,087h,00Ah,000h,098h,087h,0DAh,0EBh,034h,083h
|
||||
DB 0E3h,003h,025h,003h,000h,083h,0E3h,003h,025h,003h,000h,0D1h,0E3h,0D1h,0E3h
|
||||
DB 00Bh,0D8h,0D1h,0E3h,08Bh,09Fh,089h,002h,0D1h,0E3h,0D1h,0E3h,08Bh,087h,010h
|
||||
DB 000h,08Bh,09Fh,012h,000h,0A3h,0AFh,002h,089h,01Eh,0B5h,002h,0A1h,0AFh,002h
|
||||
DB 08Bh,01Eh,0B5h,002h,0EBh,02Fh,001h,006h,0AFh,002h,079h,005h,033h,0C0h,0A3h
|
||||
DB 0AFh,002h,001h,01Eh,0B5h,002h,079h,006h,033h,0DBh,089h,01Eh,0B5h,002h,0A1h
|
||||
DB 0AFh,002h,08Bh,01Eh,0B5h,002h,03Dh,03Fh,001h,07Eh,003h,0B8h,03Fh,001h,081h
|
||||
DB 0FBh,0C7h,000h,07Eh,003h,0BBh,0C7h,000h,0A3h,0AFh,002h,089h,01Eh,0B5h,002h
|
||||
DB 0A3h,0ABh,002h,089h,01Eh,0B1h,002h,083h,03Eh,0A9h,002h,000h,075h,008h,00Eh
|
||||
DB 0E8h,0A5h,003h,00Eh,0E8h,0D4h,003h,0B8h,02Dh,000h,089h,046h,006h,08Bh,036h
|
||||
DB 0BAh,001h,089h,076h,0FEh,08Bh,03Eh,0B6h,001h,050h,00Eh,0E8h,051h,0FEh,083h
|
||||
DB 0C4h,002h,00Bh,0C0h,075h,011h,08Bh,046h,006h,03Ch,02Dh,074h,00Dh,03Ch,041h
|
||||
DB 074h,009h,03Ch,042h,074h,005h,0EBh,029h,0E9h,080h,000h,0FFh,036h,0AFh,002h
|
||||
DB 00Eh,0E8h,02Eh,0FEh,083h,0C4h,002h,00Bh,0C0h,075h,0EEh,083h,046h,0FCh,002h
|
||||
DB 0FFh,036h,0B5h,002h,00Eh,0E8h,01Bh,0FEh,083h,0C4h,002h,00Bh,0C0h,075h,0DBh
|
||||
DB 083h,046h,0FCh,002h,0BBh,001h,001h,08Bh,046h,006h,03Ch,02Dh,074h,01Bh,03Ch
|
||||
DB 07Fh,074h,017h,0F6h,0C4h,008h,074h,016h,032h,0DBh,0F7h,006h,004h,000h,000h
|
||||
DB 008h,075h,00Ch,03Ch,041h,074h,008h,03Ch,042h,074h,004h,089h,036h,0BAh,001h
|
||||
DB 08Bh,0F8h,083h,0E7h,07Fh,0B1h,003h,0D3h,0EFh,08Ah,0C8h,080h,0E1h,007h,0D3h
|
||||
DB 0E3h,0F6h,0D7h,084h,09Dh,039h,002h,074h,00Ch,0F7h,006h,004h,000h,001h,000h
|
||||
DB 075h,004h,089h,036h,0BAh,001h,020h,0BDh,039h,002h,008h,09Dh,039h,002h,0B8h
|
||||
DB 001h,000h,0EBh,008h,08Bh,046h,0FEh,0A3h,0BAh,001h,033h,0C0h,09Dh,01Fh,05Eh
|
||||
DB 05Fh,05Ah,059h,05Bh,0C9h,0CBh,050h,053h,051h,057h,01Eh,052h,006h,056h,0FCh
|
||||
DB 08Ch,0C8h,08Eh,0D8h,08Ch,0D1h,089h,026h,08Ah,003h,089h,00Eh,08Ch,003h,0BAh
|
||||
DB 08Eh,005h,083h,0E2h,0FEh,0FAh,08Eh,0D0h,08Bh,0E2h,0FBh,083h,03Eh,0CEh,002h
|
||||
DB 000h,0C7h,006h,0CEh,002h,000h,000h,00Fh,085h,003h,002h,08Bh,016h,004h,000h
|
||||
DB 083h,026h,0BEh,001h,0FCh,0B8h,040h,000h,08Eh,0C0h,026h,0F6h,006h,017h,000h
|
||||
DB 040h,074h,005h,083h,00Eh,0BEh,001h,001h,026h,0F6h,006h,017h,000h,020h,074h
|
||||
DB 005h,083h,00Eh,0BEh,001h,002h,0C6h,006h,0B5h,000h,001h,026h,0F6h,006h,096h
|
||||
DB 000h,010h,075h,005h,0C6h,006h,0B5h,000h,000h,08Ch,0C8h,08Eh,0C0h,0FCh,032h
|
||||
DB 0E4h,0BBh,001h,001h,0E4h,060h,08Bh,01Eh,05Bh,002h,088h,087h,049h,002h,043h
|
||||
DB 083h,0E3h,00Fh,089h,01Eh,05Bh,002h,0BBh,001h,001h,03Ch,0E1h,075h,005h,0C6h
|
||||
DB 006h,05Eh,002h,003h,080h,03Eh,05Eh,002h,000h,074h,00Fh,0FEh,00Eh,05Eh,002h
|
||||
DB 0F7h,0C2h,080h,000h,00Fh,085h,08Eh,001h,0E9h,0CBh,001h,03Ch,0E0h,075h,008h
|
||||
DB 0C6h,006h,05Dh,002h,001h,0E9h,07Fh,001h,0A8h,080h,074h,007h,032h,0DBh,024h
|
||||
DB 07Fh,080h,0CCh,008h,080h,03Eh,05Dh,002h,000h,074h,023h,0C6h,006h,05Dh,002h
|
||||
DB 000h,0C6h,006h,0B7h,002h,001h,0BFh,084h,000h,0B9h,010h,000h,0F2h,0AEh,0E3h
|
||||
DB 002h,0EBh,003h,0E9h,094h,001h,08Ah,045h,00Fh,0C6h,006h,0B7h,002h,000h,0EBh
|
||||
DB 011h,03Ch,07Ah,075h,004h,0B0h,080h,0EBh,009h,08Bh,0F8h,083h,0E7h,07Fh,08Ah
|
||||
DB 085h,0C0h,001h,0F6h,006h,041h,002h,001h,075h,01Bh,0F6h,006h,040h,002h,004h
|
||||
DB 074h,017h,03Ch,05Ah,075h,010h,080h,03Eh,0B5h,000h,001h,074h,009h,0F7h,0C2h
|
||||
DB 080h,000h,075h,003h,0E9h,057h,001h,080h,0CCh,002h,0F6h,006h,040h,002h,050h
|
||||
DB 074h,003h,080h,0CCh,004h,050h,00Eh,0E8h,043h,0FCh,083h,0C4h,002h,0F6h,006h
|
||||
DB 03Eh,002h,010h,075h,007h,0F6h,006h,040h,002h,002h,074h,003h,080h,0CCh,001h
|
||||
DB 08Bh,0F8h,083h,0E7h,07Fh,0D1h,0EFh,0D1h,0EFh,0D1h,0EFh,08Bh,0D8h,083h,0E3h
|
||||
DB 07Fh,080h,0E3h,007h,08Ah,0AFh,034h,000h,0F7h,006h,0BEh,001h,001h,000h,074h
|
||||
DB 009h,084h,0ADh,019h,002h,074h,003h,080h,0F4h,001h,0F7h,006h,0BEh,001h,002h
|
||||
DB 000h,074h,009h,084h,0ADh,029h,002h,074h,003h,080h,0F4h,001h,088h,026h,06Ah
|
||||
DB 002h,0F7h,0C2h,000h,040h,074h,034h,066h,083h,03Eh,0EAh,002h,001h,075h,01Bh
|
||||
DB 03Dh,073h,000h,074h,00Ah,03Dh,076h,000h,072h,00Eh,03Dh,078h,000h,077h,009h
|
||||
DB 066h,0C7h,006h,0EAh,002h,000h,000h,000h,000h,0E9h,08Bh,000h,03Dh,07Dh,000h
|
||||
DB 075h,00Ch,066h,0C7h,006h,0EAh,002h,001h,000h,000h,000h,0E9h,0BAh,000h,03Dh
|
||||
DB 068h,006h,074h,075h,03Dh,04Ch,006h,074h,070h,03Dh,030h,002h,074h,005h,03Dh
|
||||
DB 07Eh,002h,075h,006h,0C7h,006h,008h,000h,001h,000h,03Dh,020h,004h,075h,00Ch
|
||||
DB 050h,0A1h,000h,000h,035h,001h,000h,050h,083h,0C4h,002h,058h,03Dh,034h,004h
|
||||
DB 075h,00Ch,050h,0A1h,002h,000h,035h,001h,000h,050h,083h,0C4h,002h,058h,050h
|
||||
DB 00Eh,0E8h,0DEh,0FBh,058h,03Ch,06Eh,075h,00Dh,083h,03Eh,082h,000h,000h,074h
|
||||
DB 006h,050h,0FFh,01Eh,080h,000h,058h,0BFh,05Fh,002h,0B9h,00Ah,000h,0F2h,0AEh
|
||||
DB 00Bh,0C9h,075h,01Bh,0BFh,03Ch,000h,0B9h,022h,000h,0D1h,0E9h,0F2h,0AFh,0E3h
|
||||
DB 009h,08Bh,05Dh,020h,023h,0DAh,074h,002h,0EBh,006h,0F7h,0C2h,004h,000h,074h
|
||||
DB 040h,02Eh,0FFh,006h,059h,002h,081h,03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h
|
||||
DB 057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h
|
||||
DB 000h,0F3h,0AAh,007h,058h,05Fh,059h,0FAh,08Bh,016h,08Ch,003h,08Eh,0D2h,08Bh
|
||||
DB 026h,08Ah,003h,0FBh,0BAh,0E8h,00Ch,09Ch,00Eh,052h,09Ch,0FFh,036h,0BCh,002h
|
||||
DB 0FFh,036h,0BAh,002h,0CFh,0E4h,061h,08Ah,0E0h,00Ch,080h,0E6h,061h,086h,0E0h
|
||||
DB 0E6h,061h,0B8h,040h,000h,08Eh,0C0h,026h,0A0h,096h,000h,024h,0FDh,026h,0A2h
|
||||
DB 096h,000h,0B0h,020h,0E6h,020h,081h,03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h
|
||||
DB 057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h
|
||||
DB 000h,0F3h,0AAh,007h,058h,05Fh,059h,08Bh,016h,08Ch,003h,0FAh,08Eh,0D2h,08Bh
|
||||
DB 026h,08Ah,003h,0FBh,05Eh,007h,05Ah,01Fh,05Fh,059h,05Bh,058h,0CFh,09Ch,050h
|
||||
DB 006h,0B8h,000h,0B0h,08Eh,0C0h,026h,0FEh,006h,000h,000h,007h,058h,09Dh,0CFh
|
||||
DB 09Ch,00Eh,0E8h,022h,0FDh,0CBh,050h,053h,051h,052h,01Eh,08Ch,0C8h,08Eh,0D8h
|
||||
DB 080h,03Eh,0F7h,002h,000h,075h,01Dh,083h,03Eh,003h,003h,000h,075h,00Ch,0B8h
|
||||
DB 000h,000h,050h,00Eh,0FFh,016h,051h,003h,083h,0C4h,002h,083h,006h,003h,003h
|
||||
DB 001h,083h,016h,003h,003h,000h,01Fh,05Ah,059h,05Bh,058h,0CBh,0C8h,004h,000h
|
||||
DB 000h,050h,053h,051h,052h,056h,057h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,080h,03Eh
|
||||
DB 0F7h,002h,000h,075h,050h,083h,03Eh,003h,003h,000h,074h,049h,0FFh,00Eh,003h
|
||||
DB 003h,083h,03Eh,003h,003h,000h,075h,03Eh,08Bh,00Eh,03Fh,003h,08Bh,016h,043h
|
||||
DB 003h,0A1h,0ABh,002h,089h,046h,0FEh,08Bh,01Eh,0B1h,002h,089h,05Eh,0FCh,0A3h
|
||||
DB 02Fh,003h,089h,01Eh,033h,003h,089h,00Eh,037h,003h,089h,016h,03Bh,003h,0B8h
|
||||
DB 001h,000h,050h,00Eh,0FFh,016h,051h,003h,083h,0C4h,002h,0FFh,076h,0FCh,0FFh
|
||||
DB 076h,0FEh,00Eh,0FFh,016h,053h,003h,083h,0C4h,004h,007h,01Fh,05Fh,05Eh,05Ah
|
||||
DB 059h,05Bh,058h,0C9h,0CBh,0C8h,002h,000h,000h,053h,08Ch,0C8h,08Eh,0D8h,0C7h
|
||||
DB 046h,0FEh,02Dh,000h,08Bh,05Eh,006h,08Bh,0C3h,032h,01Eh,0F6h,002h,074h,029h
|
||||
DB 0A2h,0F6h,002h,0F6h,0C3h,002h,074h,00Eh,0C7h,046h,0FEh,042h,000h,0A8h,002h
|
||||
DB 075h,005h,081h,04Eh,0FEh,000h,008h,0F6h,0C3h,001h,074h,00Eh,0C7h,046h,0FEh
|
||||
DB 041h,000h,0A8h,001h,075h,005h,081h,04Eh,0FEh,000h,008h,08Bh,046h,0FEh,05Bh
|
||||
DB 0C9h,0CBh,0C8h,004h,000h,000h,050h,053h,051h,052h,01Eh,056h,006h,057h,02Eh
|
||||
DB 089h,01Eh,090h,005h,02Eh,0A3h,092h,005h,08Ch,0C8h,08Eh,0D8h,08Ch,0D3h,089h
|
||||
DB 026h,094h,005h,089h,01Eh,096h,005h,0BBh,098h,007h,083h,0E3h,0FEh,0FAh,08Eh
|
||||
DB 0D0h,08Bh,0E3h,0FBh,080h,03Eh,0F7h,002h,000h,00Fh,085h,0FAh,000h,080h,03Eh
|
||||
DB 0F8h,002h,000h,00Fh,084h,0F1h,000h,0A1h,092h,005h,025h,01Eh,000h,075h,009h
|
||||
DB 083h,03Eh,0A9h,002h,000h,00Fh,085h,0E0h,000h,083h,03Eh,0F9h,002h,001h,075h
|
||||
DB 002h,0D1h,0E9h,03Bh,00Eh,049h,003h,072h,005h,08Bh,00Eh,049h,003h,049h,03Bh
|
||||
DB 016h,04Dh,003h,072h,005h,08Bh,016h,04Dh,003h,04Ah,089h,00Eh,0ABh,002h,089h
|
||||
DB 016h,0B1h,002h,066h,0F7h,006h,004h,000h,000h,010h,000h,000h,075h,013h,0FFh
|
||||
DB 036h,090h,005h,00Eh,0E8h,02Ch,0FFh,083h,0C4h,002h,050h,00Eh,0E8h,07Bh,0F9h
|
||||
DB 083h,0C4h,002h,083h,03Eh,0A9h,002h,000h,00Fh,085h,092h,000h,083h,03Eh,0FBh
|
||||
DB 002h,000h,074h,019h,08Bh,0C1h,08Bh,0CAh,02Bh,006h,0FFh,002h,08Bh,01Eh,0FBh
|
||||
DB 002h,099h,0F7h,0FBh,0F7h,0EBh,003h,006h,0FFh,002h,08Bh,0D1h,08Bh,0C8h,083h
|
||||
DB 03Eh,0FDh,002h,000h,074h,015h,08Bh,0C2h,02Bh,006h,001h,003h,08Bh,01Eh,0FDh
|
||||
DB 002h,099h,0F7h,0FBh,0F7h,0EBh,003h,006h,001h,003h,08Bh,0D0h,083h,03Eh,003h
|
||||
DB 003h,000h,075h,047h,039h,00Eh,007h,003h,075h,006h,039h,016h,009h,003h,074h
|
||||
DB 03Bh,0A1h,00Bh,003h,025h,000h,0C0h,03Dh,000h,0C0h,074h,00Ch,00Eh,0E8h,016h
|
||||
DB 0FEh,0F7h,006h,00Bh,003h,000h,080h,074h,020h,03Bh,00Eh,00Dh,003h,072h,01Ah
|
||||
DB 03Bh,00Eh,015h,003h,077h,014h,03Bh,016h,011h,003h,072h,00Eh,03Bh,016h,019h
|
||||
DB 003h,077h,008h,081h,00Eh,00Bh,003h,000h,040h,0EBh,004h,00Eh,0E8h,01Dh,0FEh
|
||||
DB 089h,00Eh,007h,003h,089h,016h,009h,003h,081h,03Eh,098h,005h,0ADh,0DEh,074h
|
||||
DB 017h,051h,057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh
|
||||
DB 0B8h,001h,000h,0F3h,0AAh,007h,058h,05Fh,059h,0A1h,096h,005h,0FAh,08Eh,0D0h
|
||||
DB 08Bh,026h,094h,005h,0FBh,05Fh,007h,05Eh,01Fh,05Ah,059h,05Bh,058h,0C9h,0CBh
|
||||
DB 0C8h,00Ch,000h,000h,050h,053h,051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh
|
||||
DB 0D8h,0FCh,0A1h,02Fh,003h,08Bh,01Eh,033h,003h,02Bh,006h,027h,003h,02Bh,01Eh
|
||||
DB 02Bh,003h,089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,037h,003h,003h,01Eh,03Bh
|
||||
DB 003h,089h,046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0A1h,023h,003h
|
||||
DB 089h,046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h
|
||||
DB 003h,02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h
|
||||
DB 08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh
|
||||
DB 04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h
|
||||
DB 084h,0D0h,00Fh,085h,0AEh,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh
|
||||
DB 08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h
|
||||
DB 002h,074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,037h,003h,001h,046h
|
||||
DB 0F4h,0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h
|
||||
DB 089h,046h,0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,0B8h
|
||||
DB 000h,0A0h,08Eh,0C0h,08Bh,046h,0FCh,0F7h,026h,049h,003h,08Bh,016h,049h,003h
|
||||
DB 08Bh,0F8h,003h,07Eh,0FEh,08Bh,01Eh,03Fh,003h,0C5h,036h,023h,003h,08Bh,076h
|
||||
DB 0F4h,003h,076h,0F6h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,03Ch
|
||||
DB 02Bh,04Eh,0FCh,07Eh,037h,02Bh,0D0h,02Bh,0D8h,055h,083h,07Eh,006h,000h,075h
|
||||
DB 018h,08Bh,0E9h,08Bh,0C8h,0F3h,0A4h,003h,0F3h,003h,0FAh,04Dh,075h,0F5h,05Dh
|
||||
DB 007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,087h,0F7h,08Bh,0E9h,006h
|
||||
DB 01Eh,007h,01Fh,08Bh,0C8h,0F3h,0A4h,003h,0F2h,003h,0FBh,04Dh,075h,0F5h,05Dh
|
||||
DB 007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h
|
||||
DB 053h,051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,08Bh,046h,006h,08Bh
|
||||
DB 05Eh,008h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh
|
||||
DB 0FCh,003h,006h,03Fh,003h,003h,01Eh,043h,003h,089h,046h,0FAh,089h,05Eh,0F8h
|
||||
DB 0C7h,046h,0F6h,000h,000h,0C4h,006h,01Dh,003h,089h,046h,0F4h,033h,0C0h,033h
|
||||
DB 0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h
|
||||
DB 08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh,01Eh,049h,003h,049h
|
||||
DB 04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh
|
||||
DB 00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh
|
||||
DB 013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h,00Fh,085h,093h,000h
|
||||
DB 00Ah,0C2h,074h,042h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h
|
||||
DB 05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h,013h,052h,08Bh,046h
|
||||
DB 0FCh,0F7h,0D8h,0F7h,026h,03Fh,003h,001h,046h,0F4h,0C7h,046h,0FCh,000h,000h
|
||||
DB 05Ah,0F6h,0C2h,004h,074h,007h,08Bh,01Eh,049h,003h,089h,05Eh,0FAh,0F6h,0C2h
|
||||
DB 001h,074h,007h,08Bh,01Eh,04Dh,003h,089h,05Eh,0F8h,08Bh,046h,0FCh,0F7h,026h
|
||||
DB 049h,003h,08Bh,016h,049h,003h,08Bh,0F8h,003h,07Eh,0FEh,08Bh,01Eh,03Fh,003h
|
||||
DB 08Bh,076h,0F4h,003h,076h,0F6h,0B8h,000h,0A0h,08Eh,0D8h,08Bh,046h,0FAh,08Bh
|
||||
DB 04Eh,0F8h,02Bh,046h,0FEh,07Eh,023h,02Bh,04Eh,0FCh,07Eh,01Eh,02Bh,0D0h,02Bh
|
||||
DB 0D8h,08Ah,0E0h,026h,08Ah,02Ch,066h,046h,00Ah,0EDh,074h,002h,088h,02Dh,047h
|
||||
DB 0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,0FEh,0C9h,075h,0E6h,007h,01Fh,05Eh
|
||||
DB 05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h,053h,051h,052h
|
||||
DB 057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,0E8h,0B7h,002h,089h,056h,0F2h,0FCh
|
||||
DB 0A1h,02Fh,003h,08Bh,01Eh,033h,003h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h
|
||||
DB 089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,037h,003h,003h,01Eh,03Bh,003h,089h
|
||||
DB 046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0A1h,023h,003h,089h,046h
|
||||
DB 0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h
|
||||
DB 003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh
|
||||
DB 01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh
|
||||
DB 0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh
|
||||
DB 08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h
|
||||
DB 00Fh,085h,0C7h,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh
|
||||
DB 0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h
|
||||
DB 013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,037h,003h,001h,046h,0F4h,0C7h
|
||||
DB 046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h,089h,046h
|
||||
DB 0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,0B8h,000h,0A0h
|
||||
DB 08Eh,0C0h,08Bh,046h,0FCh,0F7h,026h,049h,003h,003h,046h,0FEh,083h,0D2h,000h
|
||||
DB 08Bh,0F8h,0E8h,0F1h,001h,08Bh,016h,049h,003h,08Bh,01Eh,03Fh,003h,0C5h,036h
|
||||
DB 023h,003h,08Bh,076h,0F4h,003h,076h,0F6h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh
|
||||
DB 046h,0FEh,07Eh,04Fh,02Bh,04Eh,0FCh,07Eh,04Ah,02Bh,0D0h,02Bh,0D8h,083h,07Eh
|
||||
DB 006h,000h,075h,021h,08Ah,0E0h,08Ah,02Ch,026h,088h,02Dh,046h,047h,075h,003h
|
||||
DB 0E8h,0D9h,001h,0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,073h,003h,0E8h,0CCh
|
||||
DB 001h,0FEh,0C9h,075h,0E1h,0EBh,01Fh,08Ah,0E0h,026h,08Ah,02Dh,088h,02Ch,046h
|
||||
DB 047h,075h,003h,0E8h,0B8h,001h,0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,073h
|
||||
DB 003h,0E8h,0ABh,001h,0FEh,0C9h,075h,0E1h,08Bh,056h,0F2h,0E8h,06Ch,001h,007h
|
||||
DB 01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Eh,000h,000h,050h,053h
|
||||
DB 051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,0E8h,03Eh,001h,089h,056h
|
||||
DB 0F2h,08Bh,046h,006h,08Bh,05Eh,008h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h
|
||||
DB 089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,03Fh,003h,003h,01Eh,043h,003h,089h
|
||||
DB 046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0C4h,006h,01Dh,003h,089h
|
||||
DB 046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h
|
||||
DB 0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h
|
||||
DB 02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh
|
||||
DB 04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh
|
||||
DB 0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h
|
||||
DB 0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h
|
||||
DB 0D0h,00Fh,085h,0A0h,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh
|
||||
DB 05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h
|
||||
DB 074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,03Fh,003h,001h,046h,0F4h
|
||||
DB 0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h,089h
|
||||
DB 046h,0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,08Bh,046h
|
||||
DB 0FCh,0F7h,026h,049h,003h,003h,046h,0FEh,083h,0D2h,000h,08Bh,0F8h,0E8h,07Eh
|
||||
DB 000h,08Bh,016h,049h,003h,08Bh,01Eh,03Fh,003h,08Bh,076h,0F4h,003h,076h,0F6h
|
||||
DB 0B8h,000h,0A0h,08Eh,0D8h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh
|
||||
DB 02Ch,02Bh,04Eh,0FCh,07Eh,027h,02Bh,0D0h,02Bh,0D8h,08Ah,0E0h,026h,08Ah,02Ch
|
||||
DB 046h,00Ah,0EDh,074h,002h,088h,02Dh,047h,075h,003h,0E8h,067h,000h,0FEh,0CCh
|
||||
DB 075h,0ECh,003h,0F3h,003h,0FAh,073h,003h,0E8h,05Ah,000h,0FEh,0C9h,075h,0DDh
|
||||
DB 08Bh,056h,0F2h,0E8h,01Bh,000h,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h
|
||||
DB 0CBh,050h,053h,0B8h,005h,04Fh,0B7h,001h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h
|
||||
DB 05Bh,058h,0C3h,050h,053h,052h,0B8h,005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh
|
||||
DB 01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h,050h,053h,052h,08Bh,0DAh,0C1h,0E3h,002h
|
||||
DB 02Eh,089h,01Eh,09Ah,007h,02Eh,08Bh,097h,061h,003h,0B8h,005h,04Fh,0B7h,000h
|
||||
DB 0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h,050h,053h,052h,02Eh
|
||||
DB 08Bh,01Eh,09Ah,007h,083h,0C3h,004h,02Eh,089h,01Eh,09Ah,007h,02Eh,08Bh,097h
|
||||
DB 061h,003h,0B8h,005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah
|
||||
DB 05Bh,058h,0C3h
|
162
WWFLAT32/KEYBOARD/NEW/KEYSTRUC.INC
Normal file
162
WWFLAT32/KEYBOARD/NEW/KEYSTRUC.INC
Normal file
@@ -0,0 +1,162 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYSTRUC.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 13, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 13, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
STRUC KeyboardType
|
||||
SoundOn DW ? ; toggled by alt S
|
||||
MusicOn DW ? ; toggled by alt M
|
||||
KeyFlags DD ? ; all but repeat for now
|
||||
Break DW ?
|
||||
KeyMouseMove DB 6 DUP(?)
|
||||
ScreenEdge DW 18 DUP (?)
|
||||
Bits DB 8 DUP (?)
|
||||
CondPassKey DW 17 DUP (?)
|
||||
CondPassCond DW 17 DUP (?)
|
||||
EscRoutine DD ?
|
||||
ExtCodes DB 16 DUP (?)
|
||||
ExtNums DB 16 DUP (?)
|
||||
ExtRemap DB 16 DUP (?)
|
||||
ExtRemapEnd DB ?
|
||||
ExtKeyboard DB ?
|
||||
KeyBuffer DW 128 DUP(?) ; set to empty
|
||||
KeyBufferHead DD ? ; set to first entry
|
||||
KeyBufferTail DD ? ; set to head for empty buffer
|
||||
KeyLock DW ? ; num and caps lock bits
|
||||
KeyNums DB 89 DUP (?)
|
||||
KeysCapsLock DB 16 DUP (?)
|
||||
KeysNumLock DB 16 DUP (?)
|
||||
KeysUpDown DB 16 DUP (?)
|
||||
KeyStream DB 16 DUP (?)
|
||||
PassCount DW ?
|
||||
KeyStreamIndex DW ?
|
||||
LastKeyE0 DB ?
|
||||
LastKeyE1 DB ?
|
||||
PassAlways DB 10 DUP (?)
|
||||
PassAlwaysEnd DB ? ; invalid code to END PassAlways
|
||||
CtrlFlags DB ?
|
||||
Buffer DW ?
|
||||
Time DW ?
|
||||
XYAdjust DB 26 DUP (?)
|
||||
EdgeConv DW 16 DUP (?)
|
||||
MouseUpdate DW ?
|
||||
MouseX DD ?
|
||||
LocalMouseX DW ?
|
||||
MouseY DD ?
|
||||
LocalMouseY DW ?
|
||||
IsExtKey DB ?
|
||||
ExtIndex DW ?
|
||||
|
||||
KeyOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
KeyOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
KeyOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
KeyCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallKeyRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallKeyRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedKeyInt DD ? ; did Protected mode pass this through?
|
||||
|
||||
BrkOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
BrkOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
BrkOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
BrkCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallBrkRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallBrkRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedBrkInt DD ? ; did Protected mode pass this through?
|
||||
KeyIntDisabled DD ?
|
||||
|
||||
DbgOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
DbgOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Begin definition of Mouse Specific Variables for real mode
|
||||
;---------------------------------------------------------------------------
|
||||
Button DB ? ; current value of the mouse button
|
||||
MDisabled DB ? ; Is the mouse driver disabled
|
||||
MInput DB ? ; Defaults to mouse input allowed.
|
||||
Adjust DW ? ; flag to adjust coordinates if necessary
|
||||
MouseStepX DW ? ; step values if the mouse moves at
|
||||
MouseStepY DW ? ; more than one pixel at a time
|
||||
MouseOffsetX DW ? ; Fractional step values used if a mouse
|
||||
MouseOffsetY DW ? ; moves at less than one pixel at a time
|
||||
MState DD ? ; Tracks if mouse is hidden (TRUE) or not (FALSE)
|
||||
MouseXOld DW ? ; Holds last MouseX and MouseY to determine if
|
||||
MouseYOld DW ? ; mouse needs to be redrawn
|
||||
MCState DW ? ; Tracks if mouse conditional hidden (TRUE) or not
|
||||
MouseCXLeft DD ? ; Conditional hide mouse left x position
|
||||
MouseCYUpper DD ? ; Conditional hide mouse top y position
|
||||
MouseCXRight DD ? ; Conditional hide mouse right x position
|
||||
MouseCYLower DD ? ; Conditional hide mouse lower y position
|
||||
MouseCursor DD ? ; Pointer to the mouse cursor to draw
|
||||
MouseCursorSize DW ? ; Size of mouse cursor draw area
|
||||
MouseBuffer DD ? ; Pointer to buffer mouse is saved in
|
||||
MouseXHot DD ? ; Offset to mouse's x hot spot
|
||||
MouseYHot DD ? ; Offset to mouse's y hot spot
|
||||
MouseBuffX DD ? ; X position background was saved at
|
||||
MouseBuffY DD ? ; Y position background was saved at
|
||||
MouseBuffW DD ? ; Width of the region saved for mouse
|
||||
MouseBuffH DD ? ; Height of the region saved for mouse
|
||||
MouseWidth DD ? ; Mouse cursor theoretical width
|
||||
MouseHeight DD ? ; Mouse cursor theoretical height
|
||||
MouseCodeOffset DW ? ; Offset to the real mode code offset
|
||||
MouseRight DD ? ; Right hand side of the screen
|
||||
MouseBottom DD ? ; Bottom of the screen
|
||||
|
||||
|
||||
ShadowPtr dw ?
|
||||
DrawMousePtr dw ?
|
||||
|
||||
VGAMouseDraw dw ?
|
||||
VGAMouseShadow dw ?
|
||||
|
||||
VESAMouseDraw dw ?
|
||||
VESAMouseShadow dw ?
|
||||
|
||||
VesaPtr dd ?
|
||||
VesaBankTable DD 8 dup (?)
|
||||
Adjust_XPos dd ?
|
||||
Adjust_YPos dd ?
|
||||
|
||||
|
||||
ENDS
|
||||
|
||||
; InitFlags that are set to have a fully functional interrupt.
|
||||
IF_ALLOC_RM equ 1 ; Allocation of RM was successful.
|
||||
IF_SET_VECTORS equ 2 ; Vectors have been set.
|
||||
IF_LOCKED_PM_CODE equ 4 ; Locked PM code for DPMI.
|
||||
IF_LOCKED_PM_DATA equ 8 ; Locked PM code for DPMI.
|
||||
IF_RATE_CHANGE equ 10 ; Timer rate was changed.
|
||||
IF_FUNCTIONAL equ 20 ; Timer is in and functional.
|
||||
IF_LOCKED_RM_CODE equ 40
|
200
WWFLAT32/KEYBOARD/NEW/MAKEFILE
Normal file
200
WWFLAT32/KEYBOARD/NEW/MAKEFILE
Normal file
@@ -0,0 +1,200 @@
|
||||
#
|
||||
# Command & Conquer Red Alert(tm)
|
||||
# Copyright 2025 Electronic Arts Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
#***************************************************************************
|
||||
#** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S **
|
||||
#***************************************************************************
|
||||
#* *
|
||||
#* Project Name : Westwood Library .LIB makefile *
|
||||
#* *
|
||||
#* File Name : MAKEFILE *
|
||||
#* *
|
||||
#* Programmer : Julio R. Jerez *
|
||||
#* *
|
||||
#* Start Date : Jan 25, 1994 *
|
||||
#* *
|
||||
#* *
|
||||
#*-------------------------------------------------------------------------*
|
||||
#* *
|
||||
#* Required environment variables: *
|
||||
#* WWFLAT = your root WWFLAT path *
|
||||
#* WWVCS = root directory for wwlib version control archive *
|
||||
#* WATCOM = your Watcom installation path *
|
||||
#* *
|
||||
#* Required changes to makefile: *
|
||||
#* PROJ_NAME = name of the library you're building *
|
||||
#* OBJECTS = list of objects in your library *
|
||||
#* *
|
||||
#* Optional changes to makefile: *
|
||||
#* PROJ_DIR = full pathname of your working directory *
|
||||
#* .path.xxx = full pathname where various file types live *
|
||||
#* *
|
||||
#***************************************************************************
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Verify user's environment
|
||||
#---------------------------------------------------------------------------
|
||||
!ifndef %WWFLAT
|
||||
!error WWFLAT Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
!ifndef %WWVCS
|
||||
!error WWVCS Environment var not configured.
|
||||
!endif
|
||||
|
||||
!ifndef %WATCOM
|
||||
!error WATCOM Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
#===========================================================================
|
||||
# User-defined section: the user should tailor this section for each project
|
||||
#===========================================================================
|
||||
|
||||
PROJ_NAME = keyboard
|
||||
PROJ_DIR = $(%WWFLAT)\$(PROJ_NAME)
|
||||
LIB_DIR = $(%WWFLAT)\lib
|
||||
|
||||
!include $(%WWFLAT)\project.cfg
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project-dependent variables
|
||||
#---------------------------------------------------------------------------
|
||||
OBJECTS = &
|
||||
keyboard.obj &
|
||||
mouse.obj &
|
||||
pagfault.obj
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Path macros: one path for each file type.
|
||||
# These paths are used to tell make where to find/put each file type.
|
||||
#---------------------------------------------------------------------------
|
||||
.asm: $(PROJ_DIR)
|
||||
.c: $(PROJ_DIR)
|
||||
.cpp: $(PROJ_DIR)
|
||||
.h: $(PROJ_DIR)
|
||||
.obj: $(PROJ_DIR)
|
||||
.lib: $(WWLIB)\lib
|
||||
.exe: $(PROJ_DIR)
|
||||
|
||||
#===========================================================================
|
||||
# Pre-defined section: there should be little need to modify this section.
|
||||
#===========================================================================
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Tools/commands
|
||||
#---------------------------------------------------------------------------
|
||||
C_CMD = wcc386
|
||||
CPP_CMD = wpp386
|
||||
LIB_CMD = wlib
|
||||
LINK_CMD = wlink
|
||||
ASM_CMD = tasm32
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Include & library paths
|
||||
# If LIB & INCLUDE are already defined, they are used in addition to the
|
||||
# WWLIB32 lib & include; otherwise, they're constructed from
|
||||
# BCDIR & TNTDIR
|
||||
#---------------------------------------------------------------------------
|
||||
LIBPATH = $(%WWFLAT)\LIB;$(%WATCOM)\LIB
|
||||
INCLUDEPATH = $(%WWFLAT)\INCLUDE;$(%WATCOM)\H
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Implicit rules
|
||||
# Compiler:
|
||||
# ($< = full dependent with path)
|
||||
# Assembler:
|
||||
# output obj's are constructed from .obj: & the $& macro
|
||||
# ($< = full dependent with path)
|
||||
# tasm's cfg file is not invoked as a response file.
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
.c.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(C_CMD) $(CC_CFG) $<
|
||||
|
||||
.cpp.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(CPP_CMD) $(CC_CFG) $<
|
||||
|
||||
.asm.obj: $(%WWFLAT)\project.cfg
|
||||
$(ASM_CMD) $(ASM_CFG) $<
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Default target: configuration files & library (in that order)
|
||||
#---------------------------------------------------------------------------
|
||||
all: $(LIB_DIR)\$(PROJ_NAME).lib .SYMBOLIC
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Build the library
|
||||
# The original library is deleted by the librarian
|
||||
# Lib objects & -+ commands are constructed by substituting within the
|
||||
# $^@ macro (which expands to all target dependents, separated with
|
||||
# spaces)
|
||||
# Tlib's cfg file is not invoked as a response file.
|
||||
# All headers & source files are copied into WWFLAT\SRCDEBUG, for debugging
|
||||
#---------------------------------------------------------------------------
|
||||
$(LIB_DIR)\$(PROJ_NAME).lib: $(OBJECTS) objects.lbc
|
||||
copy *.h $(%WWFLAT)\include
|
||||
copy *.inc $(%WWFLAT)\include
|
||||
copy *.cpp $(%WWFLAT)\srcdebug
|
||||
copy *.asm $(%WWFLAT)\srcdebug
|
||||
$(LIB_CMD) $(LIB_CFG) $^@ @objects.lbc
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Objects now have a link file which is NOT generated everytime. Instead
|
||||
# it just has its own dependacy rule.
|
||||
#---------------------------------------------------------------------------
|
||||
objects.lbc : $(OBJECTS)
|
||||
%create $^@
|
||||
for %index in ($(OBJECTS)) do %append $^@ +%index
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# The keyboard object files is also dependant on an IBN file which is
|
||||
# generated from KEYIREAL.ASM
|
||||
#---------------------------------------------------------------------------
|
||||
keyireal.ibn: keyireal.obj
|
||||
%create $^*.rsp
|
||||
%append $^*.rsp $^&.obj
|
||||
%append $^*.rsp $^&.exe
|
||||
%append $^*.rsp $^&.map
|
||||
tlink @$^*.rsp
|
||||
tdstrip keyireal.exe
|
||||
ebn keyireal.exe
|
||||
|
||||
keyireal.obj: keyireal.asm
|
||||
tasm /zn /la /ml /m2 keyireal.asm
|
||||
|
||||
keyboard.obj: keyireal.ibn keyboard.asm
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Create the test directory and make it.
|
||||
#---------------------------------------------------------------------------
|
||||
test:
|
||||
mkdir test
|
||||
cd test
|
||||
copy $(%WWVCS)\$(PROJ_NAME)\test\vcs.cfg
|
||||
update
|
||||
wmake
|
||||
cd ..
|
||||
|
||||
#**************************** End of makefile ******************************
|
||||
|
2226
WWFLAT32/KEYBOARD/NEW/MOUSE.ASM
Normal file
2226
WWFLAT32/KEYBOARD/NEW/MOUSE.ASM
Normal file
File diff suppressed because it is too large
Load Diff
153
WWFLAT32/KEYBOARD/NEW/PAGFAULT.ASM
Normal file
153
WWFLAT32/KEYBOARD/NEW/PAGFAULT.ASM
Normal file
@@ -0,0 +1,153 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Library *
|
||||
;* *
|
||||
;* File Name : PAGFAULT.ASM *
|
||||
;* *
|
||||
;* Programmer : Julio R Jerez *
|
||||
;* *
|
||||
;* Date : April 25,1995 *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;
|
||||
; Here are prototypes for the routines defined within this module:
|
||||
; VOID Install_Page_Fault_Handle (void) ;
|
||||
;
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
IDEAL ; the product runs in ideal mode
|
||||
P386 ; use 386 real mode instructions
|
||||
MODEL USE32 FLAT
|
||||
LOCALS ?? ; ?? is the symbol for a local
|
||||
WARN ; generate all warnings we can
|
||||
JUMPS ; optimize jumps if possible
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Make some general equates for easy compatability
|
||||
;---------------------------------------------------------------------------
|
||||
DPMI_INTR EQU 31h
|
||||
PAGE_FAULT equ 0eh
|
||||
RESET_VIDEO_MODE equ -1
|
||||
|
||||
GLOBAL Install_Page_Fault_Handle : NEAR
|
||||
GLOBAL Set_Video_Mode : NEAR
|
||||
GLOBAL Remove_Mouse : NEAR
|
||||
GLOBAL Remove_Keyboard_Interrupt : NEAR
|
||||
GLOBAL Remove_Timer_Interrupt : NEAR
|
||||
|
||||
DATASEG
|
||||
Old_Page_Fault_handle DF ?
|
||||
Page_Fault_SS DD ?
|
||||
Page_Fault_ESP DD ?
|
||||
|
||||
CODESEG
|
||||
;***************************************************************************
|
||||
;* INSTALL_PAGE_FAULT_HANDLE -- Installs new page fault handle *
|
||||
;* This function will install a new page fault handle *
|
||||
;* so in the event that we have a program crash thi handle will *
|
||||
;* remove all interrupts and then will chain to the default Page *
|
||||
;* Fault handle *
|
||||
;* *
|
||||
;* INPUT: none *
|
||||
;* *
|
||||
;* *
|
||||
;* OUTPUT: none *
|
||||
;* *
|
||||
;* PROTO: VOID Install_Page_Fault_Handle( void); *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Install_Page_Fault_Handle C NEAR
|
||||
USES eax,ebx,ecx,edx,esi,edi
|
||||
|
||||
mov eax,0202h ; get address of exception handle
|
||||
mov bl,PAGE_FAULT
|
||||
int DPMI_INTR
|
||||
jc ??exit ; not action is taken
|
||||
|
||||
; save addrees of default handle
|
||||
mov [dword ptr Old_Page_Fault_handle],edx
|
||||
mov [word ptr Old_Page_Fault_handle+4],cx
|
||||
|
||||
; redirect default handle to a new Page Fault Handle
|
||||
mov eax,0203h
|
||||
mov bl,PAGE_FAULT
|
||||
mov cx,cs
|
||||
lea edx,[Page_Fault_Handle]
|
||||
int DPMI_INTR
|
||||
|
||||
??exit:
|
||||
ret
|
||||
ENDP Install_Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* PAGE_FAULT_HANDLE -- This *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Page_Fault_Handle far
|
||||
|
||||
; preserve used registers
|
||||
push eax
|
||||
push ebx
|
||||
; save Page Fault satck frame
|
||||
mov ax,ss
|
||||
mov [Page_Fault_SS],eax
|
||||
mov [Page_Fault_ESP],esp
|
||||
|
||||
; retrieve application original stack frame
|
||||
mov eax , [ esp + ( 6 + 2 ) * 4 ]
|
||||
mov ebx , [ esp + ( 7 + 2 ) * 4 ]
|
||||
mov ss , bx
|
||||
mov esp , eax
|
||||
|
||||
; set video mode to standard text mode
|
||||
push RESET_VIDEO_MODE
|
||||
call Set_Video_Mode
|
||||
pop eax
|
||||
call Remove_Mouse
|
||||
call Remove_Keyboard_Interrupt
|
||||
call Remove_Timer_Interrupt
|
||||
|
||||
; restore Page Fault stack frame
|
||||
mov eax,[Page_Fault_SS]
|
||||
mov ss , ax
|
||||
mov esp, [Page_Fault_ESP]
|
||||
|
||||
; restore used registers and chain to default Page Fault Handle
|
||||
pop ebx
|
||||
pop eax
|
||||
jmp [fword Old_Page_Fault_handle]
|
||||
|
||||
ENDP Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* End of File. *
|
||||
;***************************************************************************
|
||||
END
|
||||
|
153
WWFLAT32/KEYBOARD/PAGFAULT.ASM
Normal file
153
WWFLAT32/KEYBOARD/PAGFAULT.ASM
Normal file
@@ -0,0 +1,153 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Library *
|
||||
;* *
|
||||
;* File Name : PAGFAULT.ASM *
|
||||
;* *
|
||||
;* Programmer : Julio R Jerez *
|
||||
;* *
|
||||
;* Date : April 25,1995 *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;
|
||||
; Here are prototypes for the routines defined within this module:
|
||||
; VOID Install_Page_Fault_Handle (void) ;
|
||||
;
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
IDEAL ; the product runs in ideal mode
|
||||
P386 ; use 386 real mode instructions
|
||||
MODEL USE32 FLAT
|
||||
LOCALS ?? ; ?? is the symbol for a local
|
||||
WARN ; generate all warnings we can
|
||||
JUMPS ; optimize jumps if possible
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Make some general equates for easy compatability
|
||||
;---------------------------------------------------------------------------
|
||||
DPMI_INTR EQU 31h
|
||||
PAGE_FAULT equ 0eh
|
||||
RESET_VIDEO_MODE equ -1
|
||||
|
||||
GLOBAL Install_Page_Fault_Handle : NEAR
|
||||
GLOBAL Set_Video_Mode : NEAR
|
||||
GLOBAL Remove_Mouse : NEAR
|
||||
GLOBAL Remove_Keyboard_Interrupt : NEAR
|
||||
GLOBAL Remove_Timer_Interrupt : NEAR
|
||||
|
||||
DATASEG
|
||||
Old_Page_Fault_handle DF ?
|
||||
Page_Fault_SS DD ?
|
||||
Page_Fault_ESP DD ?
|
||||
|
||||
CODESEG
|
||||
;***************************************************************************
|
||||
;* INSTALL_PAGE_FAULT_HANDLE -- Installs new page fault handle *
|
||||
;* This function will install a new page fault handle *
|
||||
;* so in the event that we have a program crash thi handle will *
|
||||
;* remove all interrupts and then will chain to the default Page *
|
||||
;* Fault handle *
|
||||
;* *
|
||||
;* INPUT: none *
|
||||
;* *
|
||||
;* *
|
||||
;* OUTPUT: none *
|
||||
;* *
|
||||
;* PROTO: VOID Install_Page_Fault_Handle( void); *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Install_Page_Fault_Handle C NEAR
|
||||
USES eax,ebx,ecx,edx,esi,edi
|
||||
|
||||
mov eax,0202h ; get address of exception handle
|
||||
mov bl,PAGE_FAULT
|
||||
int DPMI_INTR
|
||||
jc ??exit ; not action is taken
|
||||
|
||||
; save addrees of default handle
|
||||
mov [dword ptr Old_Page_Fault_handle],edx
|
||||
mov [word ptr Old_Page_Fault_handle+4],cx
|
||||
|
||||
; redirect default handle to a new Page Fault Handle
|
||||
mov eax,0203h
|
||||
mov bl,PAGE_FAULT
|
||||
mov cx,cs
|
||||
lea edx,[Page_Fault_Handle]
|
||||
int DPMI_INTR
|
||||
|
||||
??exit:
|
||||
ret
|
||||
ENDP Install_Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* PAGE_FAULT_HANDLE -- This *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Page_Fault_Handle far
|
||||
|
||||
; preserve used registers
|
||||
push eax
|
||||
push ebx
|
||||
; save Page Fault satck frame
|
||||
mov ax,ss
|
||||
mov [Page_Fault_SS],eax
|
||||
mov [Page_Fault_ESP],esp
|
||||
|
||||
; retrieve application original stack frame
|
||||
mov eax , [ esp + ( 6 + 2 ) * 4 ]
|
||||
mov ebx , [ esp + ( 7 + 2 ) * 4 ]
|
||||
mov ss , bx
|
||||
mov esp , eax
|
||||
|
||||
; set video mode to standard text mode
|
||||
push RESET_VIDEO_MODE
|
||||
call Set_Video_Mode
|
||||
pop eax
|
||||
call Remove_Mouse
|
||||
call Remove_Keyboard_Interrupt
|
||||
call Remove_Timer_Interrupt
|
||||
|
||||
; restore Page Fault stack frame
|
||||
mov eax,[Page_Fault_SS]
|
||||
mov ss , ax
|
||||
mov esp, [Page_Fault_ESP]
|
||||
|
||||
; restore used registers and chain to default Page Fault Handle
|
||||
pop ebx
|
||||
pop eax
|
||||
jmp [fword Old_Page_Fault_handle]
|
||||
|
||||
ENDP Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* End of File. *
|
||||
;***************************************************************************
|
||||
END
|
||||
|
2565
WWFLAT32/KEYBOARD/X/KEYBOARD.ASM
Normal file
2565
WWFLAT32/KEYBOARD/X/KEYBOARD.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2547
WWFLAT32/KEYBOARD/X/KEYBOARD.BAK
Normal file
2547
WWFLAT32/KEYBOARD/X/KEYBOARD.BAK
Normal file
File diff suppressed because it is too large
Load Diff
447
WWFLAT32/KEYBOARD/X/KEYBOARD.H
Normal file
447
WWFLAT32/KEYBOARD/X/KEYBOARD.H
Normal file
@@ -0,0 +1,447 @@
|
||||
/*
|
||||
** Command & Conquer Red Alert(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/***************************************************************************
|
||||
** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
***************************************************************************
|
||||
* *
|
||||
* Project Name : Westwood 32 bit Library *
|
||||
* *
|
||||
* File Name : KEYBOARD.H *
|
||||
* *
|
||||
* Programmer : Phil W. Gorrow *
|
||||
* *
|
||||
* Start Date : July 13, 1994 *
|
||||
* *
|
||||
* Last Update : July 13, 1994 [PWG] *
|
||||
* *
|
||||
*-------------------------------------------------------------------------*
|
||||
* Functions: *
|
||||
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
|
||||
#ifndef KEYBOARD_H
|
||||
#define KEYBOARD_H
|
||||
|
||||
/*=========================================================================*/
|
||||
/* If we have not already loaded the standard library header, than we can */
|
||||
/* load it. */
|
||||
/*=========================================================================*/
|
||||
|
||||
#ifndef WWSTD_H
|
||||
#include "wwstd.h"
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" {
|
||||
void Install_Keyboard_Interrupt(void *addr, long size);
|
||||
void Install_Page_Fault_Handle(void) ;
|
||||
void *Get_RM_Keyboard_Address(void);
|
||||
long Get_RM_Keyboard_Size(void);
|
||||
void Remove_Keyboard_Interrupt(void);
|
||||
int Check_Key_Num(void);
|
||||
int Check_Key_Bits(void);
|
||||
int Check_Key(void);
|
||||
short Get_Key_Num(void);
|
||||
short Get_Key_Bits(void);
|
||||
int Get_Key(void);
|
||||
int KN_To_KA(int keynum);
|
||||
int Keyboard_Attributes_On(int key_flags);
|
||||
int Keyboard_Attributes_Off(int key_flags);
|
||||
void Clear_KeyBuffer(void);
|
||||
int Key_Down(int key);
|
||||
int Key_Satisfied(int key);
|
||||
void Stuff_Key_WORD(int code);
|
||||
void Stuff_Key_Num(int key);
|
||||
int Install_Mouse(int max_width, int max_height, int scr_width, int scr_height);
|
||||
void Reset_Mouse (void) ;
|
||||
void Remove_Mouse(void);
|
||||
int Get_Mouse_State(void);
|
||||
int Get_Mouse_X(void);
|
||||
int Get_Mouse_Y(void);
|
||||
int Get_Mouse_Disabled(void);
|
||||
void *Set_Mouse_Cursor(int xhotspot, int yhotspot, void *cursor);
|
||||
void Hide_Mouse(void);
|
||||
void Show_Mouse(void);
|
||||
void Conditional_Hide_Mouse(int sx_pixel, int sy_pixel, int dx_pixel, int dy_pixel);
|
||||
void Conditional_Show_Mouse(void);
|
||||
|
||||
|
||||
void __interrupt far Keyboard_Interrupt(void);
|
||||
extern int MouseQX;
|
||||
extern int MouseQY;
|
||||
|
||||
}
|
||||
|
||||
|
||||
enum {
|
||||
REPEATON = 0x0001, /* 1:all makes into buffer, 0:only 1st make */
|
||||
TRACKEXT = 0x0002, /* 1:Home != keypad Home, 0:Home=keypad Home */
|
||||
FILTERONLY = 0x0004, /* 1:Normal BIOS operation with filter */
|
||||
CTRLALTTURBO = 0x0010, /* 1:Allow turbo up and down in application */
|
||||
NONUMLOCK = 0x0200, /* 1:do NOT remap keypad to numbers */
|
||||
TASKSWITCHABLE = 0x400, /* 1:allows task switching keys thru ALT-TAB, */
|
||||
/* ALT-ESC,CTRL-ESC */
|
||||
PASSBREAKS = 0x0800, // Pass all breaks to the keyboard buffer.
|
||||
|
||||
/* The following flags, if turned on, should only be used for
|
||||
debugging purposes (remember to take out the calls when BETA */
|
||||
|
||||
CTRLSON = 0x0008, /* 1:pass scroll lock sequence into BIOS */
|
||||
CTRLCON = 0x0020, /* 1:pass stop code to BIOS */
|
||||
SCROLLLOCKON = 0x0040, /* 1:pass scroll lock key into BIOS */
|
||||
PAUSEON = 0x0080, /* 1:pass the pause key and seq to BIOS */
|
||||
/* make sure FILTERONLY is set */
|
||||
BREAKON = 0x0100, /* 1:pass the ctrl break seq to BIOS */
|
||||
KEYMOUSE = 0x1000, /* 1:keypad translates into mouse moves */
|
||||
SIMLBUTTON = 0x2000, /* 1:have space and enter keys simulate Left */
|
||||
/* mouse button when KEYMOUSE is set */
|
||||
DEBUGINT = 0x4000 /* Use scroll lock to disable keyboard int */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
** These are the codes for the various key codes that are returned from the
|
||||
** keyboard input routines Get_Key() and Input_ASCII().
|
||||
*/
|
||||
typedef enum {
|
||||
KA_CTRL_AT = 0,
|
||||
KA_CTRL_A,
|
||||
KA_MORE = KA_CTRL_A,
|
||||
KA_CTRL_B,
|
||||
KA_SETBKGDCOL = KA_CTRL_B,
|
||||
KA_CTRL_C,
|
||||
KA_CTRL_D,
|
||||
KA_CTRL_E,
|
||||
KA_CTRL_F,
|
||||
KA_SETFORECOL = KA_CTRL_F,
|
||||
KA_CTRL_G,
|
||||
KA_CTRL_H,
|
||||
KA_BACKSPACE = KA_CTRL_H,
|
||||
KA_CTRL_I,
|
||||
KA_TAB = KA_CTRL_I,
|
||||
KA_CTRL_J,
|
||||
KA_CTRL_K,
|
||||
KA_CTRL_L,
|
||||
KA_FORMFEED = KA_CTRL_L,
|
||||
KA_CTRL_M,
|
||||
KA_RETURN = KA_CTRL_M,
|
||||
KA_CTRL_N,
|
||||
|
||||
KA_CTRL_O,
|
||||
KA_CTRL_P,
|
||||
KA_CTRL_Q,
|
||||
KA_CTRL_R,
|
||||
KA_CTRL_S,
|
||||
KA_SPCTAB = KA_CTRL_S,
|
||||
KA_CTRL_T,
|
||||
KA_CTRL_U,
|
||||
KA_CTRL_V,
|
||||
KA_CTRL_W,
|
||||
KA_CTRL_X,
|
||||
KA_SETX = KA_CTRL_X,
|
||||
KA_CTRL_Y,
|
||||
KA_SETY = KA_CTRL_Y,
|
||||
KA_CTRL_Z,
|
||||
KA_CTRL_LBRACKET,
|
||||
KA_ESC = KA_CTRL_LBRACKET,
|
||||
KA_EXTEND = KA_ESC,
|
||||
KA_CTRL_BACKSLASH,
|
||||
KA_CTRL_RBRACKET,
|
||||
KA_LITERAL = KA_CTRL_RBRACKET,
|
||||
KA_CTRL_CARROT,
|
||||
KA_CTRL_UNDERLINE,
|
||||
|
||||
KA_SPACE, /* */
|
||||
KA_EXCLAMATION, /* ! */
|
||||
KA_DQUOTE, /* " */
|
||||
KA_POUND, /* # */
|
||||
KA_DOLLAR, /* $ */
|
||||
KA_PERCENT, /* % */
|
||||
KA_AMPER, /* & */
|
||||
KA_SQUOTE, /* ' */
|
||||
KA_LPAREN, /* ( */
|
||||
KA_RPAREN, /* ) */
|
||||
KA_ASTERISK, /* * */
|
||||
KA_PLUS, /* + */
|
||||
KA_COMMA, /* , */
|
||||
KA_MINUS, /* - */
|
||||
KA_PERIOD, /* . */
|
||||
KA_SLASH, /* / */
|
||||
|
||||
KA_0, KA_1, KA_2, KA_3, KA_4, KA_5, KA_6, KA_7, KA_8, KA_9,
|
||||
KA_COLON, /* : */
|
||||
KA_SEMICOLON, /* ; */
|
||||
KA_LESS_THAN, /* < */
|
||||
KA_EQUAL, /* = */
|
||||
KA_GREATER_THAN, /* > */
|
||||
KA_QUESTION, /* ? */
|
||||
|
||||
KA_AT, /* @ */
|
||||
KA_A, /* A */
|
||||
KA_B, /* B */
|
||||
KA_C, /* C */
|
||||
KA_D, /* D */
|
||||
KA_E, /* E */
|
||||
KA_F, /* F */
|
||||
KA_G, /* G */
|
||||
KA_H, /* H */
|
||||
KA_I, /* I */
|
||||
KA_J, /* J */
|
||||
KA_K, /* K */
|
||||
KA_L, /* L */
|
||||
KA_M, /* M */
|
||||
KA_N, /* N */
|
||||
KA_O, /* O */
|
||||
|
||||
KA_P, /* P */
|
||||
KA_Q, /* Q */
|
||||
KA_R, /* R */
|
||||
KA_S, /* S */
|
||||
KA_T, /* T */
|
||||
KA_U, /* U */
|
||||
KA_V, /* V */
|
||||
KA_W, /* W */
|
||||
KA_X, /* X */
|
||||
KA_Y, /* Y */
|
||||
KA_Z, /* Z */
|
||||
KA_LBRACKET, /* [ */
|
||||
KA_BACKSLASH, /* \ */
|
||||
KA_RBRACKET, /* ] */
|
||||
KA_CARROT, /* ^ */
|
||||
KA_UNDERLINE, /* _ */
|
||||
|
||||
KA_GRAVE, /* ` */
|
||||
KA_a, /* a */
|
||||
KA_b, /* b */
|
||||
KA_c, /* c */
|
||||
KA_d, /* d */
|
||||
KA_e, /* e */
|
||||
KA_f, /* f */
|
||||
KA_g, /* g */
|
||||
KA_h, /* h */
|
||||
KA_i, /* i */
|
||||
KA_j, /* j */
|
||||
KA_k, /* k */
|
||||
KA_l, /* l */
|
||||
KA_m, /* m */
|
||||
KA_n, /* n */
|
||||
KA_o, /* o */
|
||||
|
||||
KA_p, /* p */
|
||||
KA_q, /* q */
|
||||
KA_r, /* r */
|
||||
KA_s, /* s */
|
||||
KA_t, /* t */
|
||||
KA_u, /* u */
|
||||
KA_v, /* v */
|
||||
KA_w, /* w */
|
||||
KA_x, /* x */
|
||||
KA_y, /* y */
|
||||
KA_z, /* z */
|
||||
KA_LBRACE, /* { */
|
||||
KA_BAR, /* | */
|
||||
KA_RBRACE, /* ] */
|
||||
KA_TILDA, /* ~ */
|
||||
KA_DEL, /* not used */
|
||||
|
||||
KA_ALT_F10 = 143,
|
||||
KA_ALT_F9, KA_ALT_F8, KA_ALT_F7, KA_ALT_F6, KA_ALT_F5,
|
||||
KA_ALT_F4, KA_ALT_F3, KA_ALT_F2, KA_ALT_F1,
|
||||
|
||||
KA_CTRL_F10, KA_CTRL_F9, KA_CTRL_F8, KA_CTRL_F7, KA_CTRL_F6,
|
||||
KA_CTRL_F5, KA_CTRL_F4, KA_CTRL_F3, KA_CTRL_F2, KA_CTRL_F1,
|
||||
|
||||
KA_SHIFT_F10, KA_SHIFT_F9, KA_SHIFT_F8, KA_SHIFT_F7, KA_SHIFT_F6,
|
||||
KA_SHIFT_F5, KA_SHIFT_F4, KA_SHIFT_F3, KA_SHIFT_F2, KA_SHIFT_F1,
|
||||
|
||||
KA_DELETE, /* <DELETE> */
|
||||
KA_INSERT, /* <INSERT> */
|
||||
KA_PGDN, /* <PAGE DOWN> */
|
||||
KA_DOWNRIGHT = KA_PGDN,
|
||||
KA_DOWN, /* <DOWN ARROW> */
|
||||
KA_END, /* <END> */
|
||||
KA_DOWNLEFT = KA_END,
|
||||
|
||||
KA_RESERVED1,
|
||||
|
||||
KA_RIGHT, /* <RIGHT ARROW> */
|
||||
KA_KEYPAD5, /* NUMERIC KEY PAD <5> */
|
||||
KA_LEFT, /* <LEFT ARROW> */
|
||||
|
||||
KA_RESERVED2,
|
||||
|
||||
KA_PGUP, /* <PAGE UP> */
|
||||
KA_UPRIGHT = KA_PGUP,
|
||||
KA_UP, /* <UP ARROW> */
|
||||
KA_HOME, /* <HOME> */
|
||||
KA_UPLEFT = KA_HOME,
|
||||
|
||||
KA_RESERVED3,
|
||||
KA_RESERVED4,
|
||||
|
||||
KA_F10, KA_F9, KA_F8, KA_F7, KA_F6, KA_F5, KA_F4, KA_F3, KA_F2, KA_F1,
|
||||
|
||||
KA_LMOUSE,
|
||||
KA_RMOUSE,
|
||||
KA_JBUTTON1,
|
||||
KA_JBUTTON2,
|
||||
KA_J_UP,
|
||||
KA_J_RIGHT,
|
||||
KA_J_DOWN,
|
||||
KA_J_LEFT,
|
||||
|
||||
KA_SHIFT_BIT = 0x0100,
|
||||
KA_CTRL_BIT = 0x0200,
|
||||
KA_ALT_BIT = 0x0400,
|
||||
KA_RLSE_BIT = 0x0800,
|
||||
KA_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KA_RCOMM_BIT = 0x2000 /* Amiga Right Comm key */
|
||||
} KeyASCIIType;
|
||||
|
||||
/*
|
||||
** These are the keyboard codes that are returned from the input routines
|
||||
** Get_Key_Num and Input_Num.
|
||||
*/
|
||||
typedef enum {
|
||||
KN_NONE = 0,
|
||||
KN_GRAVE = 1, /* ` */
|
||||
KN_1, KN_2, KN_3, KN_4, KN_5, KN_6, KN_7, KN_8, KN_9, KN_0,
|
||||
KN_MINUS, /* - */
|
||||
KN_EQUAL, /* = */
|
||||
|
||||
KN_RESERVED1,
|
||||
|
||||
KN_BACKSPACE, /* <BACKSPACE> */
|
||||
|
||||
KN_TAB, /* <TAB> */
|
||||
KN_Q, KN_W, KN_E, KN_R, KN_T, KN_Y, KN_U, KN_I, KN_O, KN_P,
|
||||
KN_LBRACKET, /* [ */
|
||||
KN_RBRACKET, /* ] */
|
||||
KN_BACKSLASH, /* \ */
|
||||
|
||||
KN_CAPSLOCK, /* <CAPS LOCK> */
|
||||
KN_A, KN_S, KN_D, KN_F, KN_G, KN_H, KN_J, KN_K, KN_L,
|
||||
KN_SEMICOLON, /* ; */
|
||||
KN_SQUOTE, /* ' */
|
||||
KN_BACKSLASH2,
|
||||
KN_RETURN, /* <RETURN> or <ENTER> */
|
||||
|
||||
KN_LSHIFT, /* <LEFT SHIFT> */
|
||||
|
||||
KN_MOUSE_MOVE, // Indicate a mouse move (for playback of
|
||||
|
||||
KN_Z, KN_X, KN_C, KN_V, KN_B, KN_N, KN_M,
|
||||
KN_COMMA, /* , */
|
||||
KN_PERIOD, /* . */
|
||||
KN_SLASH, /* / */
|
||||
|
||||
KN_RESERVED3,
|
||||
|
||||
KN_RSHIFT, /* <RIGHT SHIFT> */
|
||||
|
||||
KN_LCTRL, /* <LEFT CTRL> */
|
||||
KN_LCOMM, /* for AMIGA */
|
||||
KN_LALT, /* <LEFT ALT> */
|
||||
KN_SPACE, /* <SPACE BAR> */
|
||||
KN_RALT, /* <RIGHT ALT> */
|
||||
KN_RCOMM, /* for AMIGA */
|
||||
KN_RCTRL, /* <RIGHT CTRL> */
|
||||
/* the following are forced into key buffer */
|
||||
KN_LMOUSE,
|
||||
KN_RMOUSE,
|
||||
KN_JBUTTON1,
|
||||
KN_JBUTTON2,
|
||||
KN_J_UP,
|
||||
KN_J_RIGHT,
|
||||
KN_J_DOWN,
|
||||
KN_J_LEFT,
|
||||
|
||||
KN_SPECIAL9,
|
||||
|
||||
KN_SPECIAL10,
|
||||
|
||||
KN_E_INSERT, /* extended <INSERT> */
|
||||
KN_E_DELETE, /* extended <DELETE> */
|
||||
|
||||
KN_RESERVED4,
|
||||
KN_RESERVED5,
|
||||
|
||||
KN_E_LEFT, /* extended <LEFT ARROW> */
|
||||
KN_E_HOME, /* extended <HOME> */
|
||||
KN_E_END, /* extended <END> */
|
||||
|
||||
KN_RESERVED6,
|
||||
|
||||
KN_E_UP, /* extended <UP ARROW> */
|
||||
KN_E_DOWN, /* extended <DOWN ARROW> */
|
||||
KN_E_PGUP, /* extended <PAGE UP> */
|
||||
KN_E_PGDN, /* extended <PAGE DOWN> */
|
||||
KN_K_LPAREN, /* for AMIGA */
|
||||
KN_K_RPAREN, /* for AMIGA */
|
||||
KN_E_RIGHT, /* extended <RIGHT ARROW> */
|
||||
|
||||
KN_NUMLOCK, /* <NUM LOCK> */
|
||||
KN_HOME, /* num key pad 7 */
|
||||
KN_UPLEFT = KN_HOME,
|
||||
KN_LEFT, /* num key pad 4 */
|
||||
KN_END, /* num key pad 1 */
|
||||
KN_DOWNLEFT = KN_END,
|
||||
|
||||
KN_RESERVED7,
|
||||
|
||||
KN_KEYPAD_SLASH, /* num key pad / */
|
||||
KN_UP, /* num key pad 8 */
|
||||
KN_CENTER, /* num key pad 5 */
|
||||
KN_DOWN, /* num key pad 2 */
|
||||
KN_INSERT, /* num key pad 0 */
|
||||
KN_KEYPAD_ASTERISK, /* num key pad * */
|
||||
KN_PGUP, /* num key pad 9 */
|
||||
KN_UPRIGHT = KN_PGUP,
|
||||
KN_RIGHT, /* num key pad 6 */
|
||||
KN_PGDN, /* num key pad 3 */
|
||||
KN_DOWNRIGHT = KN_PGDN,
|
||||
KN_DELETE, /* num key pad . */
|
||||
KN_KEYPAD_MINUS, /* num key pad - */
|
||||
KN_KEYPAD_PLUS, /* num key pad + */
|
||||
|
||||
KN_RESERVED8,
|
||||
|
||||
KN_KEYPAD_RETURN, /* num key pad <ENTER> */
|
||||
|
||||
KN_RESERVED9,
|
||||
|
||||
KN_ESC,
|
||||
KN_HELP, /* for AMIGA */
|
||||
KN_F1, KN_F2, KN_F3, KN_F4, KN_F5, KN_F6, KN_F7, KN_F8, KN_F9, KN_F10,
|
||||
KN_F11,
|
||||
KN_F12,
|
||||
KN_PRNTSCRN, /* <PRINT SCRN> */
|
||||
KN_SCROLLLOCK, /* <SCROLL LOCK> */
|
||||
KN_PAUSE, /* <PAUSE> */
|
||||
|
||||
KN_SHIFT_BIT = 0x0100,
|
||||
KN_CTRL_BIT = 0x0200,
|
||||
KN_ALT_BIT = 0x0400,
|
||||
KN_RLSE_BIT = 0x0800,
|
||||
KN_LCOMM_BIT = 0x1000, /* Amiga Left Comm key */
|
||||
KN_RCOMM_BIT = 0x2000, /* Amiga Right Comm key */
|
||||
KN_BUTTON = 0x8000 /* Amiga Right Comm key */
|
||||
} KeyNumType;
|
||||
|
||||
#endif
|
129
WWFLAT32/KEYBOARD/X/KEYBOARD.INC
Normal file
129
WWFLAT32/KEYBOARD/X/KEYBOARD.INC
Normal file
@@ -0,0 +1,129 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYBOARD.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 12, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 12, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Contains all the defines used by the keyboard interrupt for assembly *
|
||||
;* includes. *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
|
||||
|
||||
TRUE EQU 1 ; numerical true
|
||||
FALSE EQU 0 ; numerical false
|
||||
DEBUG EQU 1
|
||||
|
||||
MAX_X_PIXEL EQU 319
|
||||
MAX_Y_PIXEL EQU 199
|
||||
|
||||
|
||||
KN_RESERVED1 EQU 14
|
||||
KN_RESERVED2 EQU 45
|
||||
KN_RESERVED3 EQU 56
|
||||
|
||||
|
||||
; these two are reserved for AMIGA open and close.
|
||||
KN_LCOMM EQU 59
|
||||
KN_RCOMM EQU 63
|
||||
|
||||
KN_LMOUSE EQU 65
|
||||
KN_RMOUSE EQU 66
|
||||
KN_JBUTTON1 EQU 67
|
||||
KN_JBUTTON2 EQU 68
|
||||
KN_J_UP EQU 69
|
||||
KN_J_RIGHT EQU 70
|
||||
KN_J_DOWN EQU 71
|
||||
KN_J_LEFT EQU 72
|
||||
|
||||
KN_LEFT EQU 92
|
||||
KN_UPLEFT EQU 91
|
||||
KN_UP EQU 96
|
||||
KN_UPRIGHT EQU 101
|
||||
KN_RIGHT EQU 102
|
||||
KN_DOWNRIGHT EQU 103
|
||||
KN_DOWN EQU 98
|
||||
KN_DOWNLEFT EQU 93
|
||||
KN_CENTER EQU 97
|
||||
|
||||
KN_INSERT EQU 99
|
||||
KN_DELETE EQU 104
|
||||
|
||||
KN_RETURN EQU 43
|
||||
KN_SPACE EQU 61
|
||||
KN_KEYPAD_RETURN EQU 108
|
||||
|
||||
|
||||
; these two are reserved for AMIGA K left and right paren
|
||||
KN_KLPAREN EQU 87
|
||||
KN_KRPAREN EQU 88
|
||||
|
||||
|
||||
KN_NUMLOCK EQU 90
|
||||
|
||||
KN_SCROLLOCK EQU 125 ; key ignored by the logging system
|
||||
|
||||
KN_MOUSE_MOVE EQU 45 ; Indicate a mouse move (for playback of logged data)
|
||||
|
||||
; ----------------------------------------------------------------
|
||||
; flags used in Keyflags to customize keystroke interrupt.
|
||||
|
||||
REPEATON EQU 0001H ; 1:all makes into buffer, 0:only 1st make
|
||||
TRACKEXT EQU 0002H ; 1:Home != keypad Home, 0:Home=keypad Home
|
||||
FILTERONLY EQU 0004H ; 1:Normal BIOS operation with filter
|
||||
CTRLSON EQU 0008H ; 1:pass scroll lock sequence into BIOS
|
||||
CTRLALTTURBO EQU 0010H ; 1:Allow turbo up and down in application
|
||||
CTRLCON EQU 0020H ; 1:pass stop code to BIOS
|
||||
SCROLLLOCKON EQU 0040H ; 1:pass scroll lock key into BIOS
|
||||
PAUSEON EQU 0080H ; 1:pass the pause key and seq to BIOS
|
||||
BREAKON EQU 0100H ; 1:pass the ctrl break seq to BIOS
|
||||
NONUMLOCK EQU 0200H ; 1:do NOT remap keypad to numbers
|
||||
TASKSWITCHABLE EQU 0400H ; 1:allows task switching keys thru ALT-TAB,
|
||||
; ALT-ESC,CTRL-ESC
|
||||
PASSBREAKS EQU 0800H ; 1:Pass all break codes to keyboard buffer.
|
||||
KEYMOUSE EQU 1000H ; 1:Numeric keypad moves mouse
|
||||
SIMLBUTTON EQU 2000H ; 1:have space and enter keys simulate Left
|
||||
DEBUGINT EQU 4000H ; mouse button when KEYMOUSE is set
|
||||
|
||||
|
||||
SHIFTPRESS EQU 001H ; bit 0 for shift key pressed
|
||||
CTRLPRESS EQU 002H ; bit 1 for ctrl key pressed
|
||||
ALTPRESS EQU 004H ; bit 2 for alt key pressed
|
||||
KEYRELEASE EQU 008H ; bit 3 for key released
|
||||
NOTKEYRELEASE EQU 0F7H ; not of key released
|
||||
|
||||
CAPSLOCK EQU 00001H ; bit 0 for caps locked
|
||||
NUMLOCK EQU 00002H ; bit 1 for num locked
|
||||
|
||||
|
||||
|
||||
CLEARISR EQU 020H ; value to clear In Service Register
|
||||
DOS EQU 021H
|
||||
INTCHIP0 EQU 020H ; 8259 interrupt chip controller 0
|
||||
KEYCTRL EQU 061H ; control bits for KB sense data
|
||||
KEYDATA EQU 060H ; keyboard scan code port
|
1023
WWFLAT32/KEYBOARD/X/KEYIPROT.ASM
Normal file
1023
WWFLAT32/KEYBOARD/X/KEYIPROT.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2610
WWFLAT32/KEYBOARD/X/KEYIREAL.ASM
Normal file
2610
WWFLAT32/KEYBOARD/X/KEYIREAL.ASM
Normal file
File diff suppressed because it is too large
Load Diff
2571
WWFLAT32/KEYBOARD/X/KEYIREAL.BAK
Normal file
2571
WWFLAT32/KEYBOARD/X/KEYIREAL.BAK
Normal file
File diff suppressed because it is too large
Load Diff
361
WWFLAT32/KEYBOARD/X/KEYIREAL.IBN
Normal file
361
WWFLAT32/KEYBOARD/X/KEYIREAL.IBN
Normal file
@@ -0,0 +1,361 @@
|
||||
DB 001h,000h,001h,000h,011h,000h,000h,000h,000h,000h,0FFh,000h,001h,0F0h,000h
|
||||
DB 010h,0A0h,000h,000h,000h,03Fh,001h,000h,000h,03Fh,001h,045h,000h,03Fh,001h
|
||||
DB 089h,000h,0A0h,000h,089h,000h,000h,000h,089h,000h,000h,000h,045h,000h,000h
|
||||
DB 000h,000h,000h,0A0h,000h,045h,000h,001h,002h,004h,008h,010h,020h,040h,080h
|
||||
DB 020h,002h,020h,003h,00Ch,006h,00Dh,007h,06Ah,006h,069h,006h,030h,002h,030h
|
||||
DB 003h,07Dh,000h,07Dh,001h,05Ah,002h,05Ah,003h,000h,002h,010h,004h,06Eh,004h
|
||||
DB 06Eh,002h,07Ch,000h,008h,000h,008h,000h,010h,000h,010h,000h,010h,000h,010h
|
||||
DB 000h,020h,000h,020h,000h,040h,000h,040h,000h,080h,000h,080h,000h,000h,001h
|
||||
DB 000h,004h,000h,004h,000h,004h,000h,001h,000h,000h,000h,000h,038h,01Dh,052h
|
||||
DB 053h,04Bh,047h,04Fh,048h,050h,049h,051h,04Dh,035h,01Ch,037h,046h,03Eh,040h
|
||||
DB 04Bh,04Ch,04Fh,050h,051h,053h,054h,055h,056h,059h,05Fh,06Ch,07Ch,000h,03Ch
|
||||
DB 03Ah,063h,068h,05Ch,05Bh,05Dh,060h,062h,065h,067h,066h,037h,02Bh,07Ch,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,07Fh,06Eh
|
||||
DB 002h,003h,004h,005h,006h,007h,008h,009h,00Ah,00Bh,00Ch,00Dh,00Fh,010h,011h
|
||||
DB 012h,013h,014h,015h,016h,017h,018h,019h,01Ah,01Bh,01Ch,02Bh,03Ah,01Fh,020h
|
||||
DB 021h,022h,023h,024h,025h,026h,027h,028h,029h,001h,02Ch,01Dh,02Eh,02Fh,030h
|
||||
DB 031h,032h,033h,034h,035h,036h,037h,039h,064h,03Ch,03Dh,01Eh,070h,071h,072h
|
||||
DB 073h,074h,075h,076h,077h,078h,079h,05Ah,07Dh,05Bh,060h,065h,069h,05Ch,061h
|
||||
DB 066h,06Ah,05Dh,062h,067h,063h,068h,07Fh,07Fh,07Fh,07Ah,07Bh,000h,000h,0FEh
|
||||
DB 087h,0FFh,0C0h,01Fh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,038h,0EFh,001h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,01Eh,02Ch,039h,03Ah,03Ch,03Eh,040h,05Ah
|
||||
DB 080h,080h,080h,000h,000h,000h,000h,000h,0FFh,0FFh,0FFh,000h,0FFh,001h,000h
|
||||
DB 000h,000h,000h,000h,0FFh,000h,000h,000h,001h,000h,000h,000h,000h,001h,0FFh
|
||||
DB 001h,000h,001h,001h,008h,000h,002h,000h,008h,000h,006h,000h,004h,000h,003h
|
||||
DB 000h,008h,000h,005h,000h,008h,000h,008h,000h,008h,000h,008h,000h,000h,000h
|
||||
DB 001h,000h,008h,000h,007h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,029h,00Ah,002h,00Dh,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F1h
|
||||
DB 00Ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,001h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0F4h
|
||||
DB 00Dh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0AEh,010h
|
||||
DB 05Ah,00Fh,05Fh,013h,0E6h,011h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,090h,000h,000h,000h,000h,0ADh,0DEh,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,0ADh,0DEh,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
|
||||
DB 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0C8h,000h
|
||||
DB 000h,000h,051h,057h,006h,01Eh,08Ch,0C8h,08Eh,0D8h,08Eh,0C0h,08Bh,046h,006h
|
||||
DB 0F7h,006h,004h,000h,002h,000h,075h,013h,0B9h,010h,000h,0BFh,094h,000h,0F2h
|
||||
DB 0AEh,0E3h,009h,0BFh,0B4h,000h,04Fh,02Bh,0F9h,026h,08Ah,005h,01Fh,007h,05Fh
|
||||
DB 059h,0C9h,0CBh,0C8h,000h,000h,000h,056h,053h,01Eh,08Ch,0C8h,08Eh,0D8h,0A1h
|
||||
DB 0BAh,001h,08Bh,0F0h,005h,002h,000h,025h,0FFh,000h,039h,006h,0B6h,001h,074h
|
||||
DB 011h,08Bh,05Eh,006h,089h,09Ch,0B6h,000h,0A3h,0BAh,001h,033h,0C0h,01Fh,05Bh
|
||||
DB 05Eh,0C9h,0CBh,0B8h,001h,000h,01Fh,05Bh,05Eh,0C9h,0CBh,0C8h,004h,000h,000h
|
||||
DB 053h,051h,052h,057h,056h,01Eh,09Ch,0FAh,08Ch,0C8h,08Eh,0D8h,0A1h,0ABh,002h
|
||||
DB 0A3h,0AFh,002h,0A1h,0B1h,002h,0A3h,0B5h,002h,08Bh,046h,006h,00Bh,0C0h,075h
|
||||
DB 003h,0E9h,0F7h,001h,0F7h,006h,004h,000h,000h,010h,00Fh,084h,03Ah,001h,0F6h
|
||||
DB 0C4h,004h,00Fh,085h,033h,001h,0F7h,006h,004h,000h,000h,020h,074h,00Ch,03Ch
|
||||
DB 02Bh,074h,00Ch,03Ch,03Dh,074h,008h,03Ch,06Ch,074h,004h,03Ch,063h,075h,016h
|
||||
DB 0B0h,041h,080h,00Eh,0F6h,002h,001h,0F6h,0C4h,008h,00Fh,084h,00Ah,001h,080h
|
||||
DB 026h,0F6h,002h,0FEh,0E9h,002h,001h,03Ch,068h,075h,016h,0B0h,042h,080h,00Eh
|
||||
DB 0F6h,002h,002h,0F6h,0C4h,008h,00Fh,084h,0F0h,000h,080h,026h,0F6h,002h,0FDh
|
||||
DB 0E9h,0E8h,000h,0F6h,0C4h,008h,00Fh,085h,0E4h,000h,03Ch,061h,074h,01Eh,03Ch
|
||||
DB 05Bh,00Fh,082h,0DAh,000h,03Ch,067h,00Fh,087h,0D4h,000h,03Ch,05Dh,076h,00Eh
|
||||
DB 03Ch,065h,073h,00Ah,03Ch,060h,074h,006h,03Ch,062h,00Fh,085h,0C2h,000h,08Ah
|
||||
DB 0ECh,032h,0E4h,02Ch,05Bh,08Bh,0D8h,0D1h,0E3h,081h,0C3h,06Fh,002h,08Bh,007h
|
||||
DB 08Ah,0DCh,098h,093h,098h,093h,0F6h,0C5h,002h,075h,021h,0BAh,001h,000h,0F6h
|
||||
DB 0C5h,001h,074h,003h,083h,0C2h,003h,003h,0DAh,08Ah,09Fh,00Ah,000h,093h,098h
|
||||
DB 093h,087h,0DAh,003h,0D8h,08Ah,087h,00Ah,000h,098h,087h,0DAh,0EBh,034h,083h
|
||||
DB 0E3h,003h,025h,003h,000h,083h,0E3h,003h,025h,003h,000h,0D1h,0E3h,0D1h,0E3h
|
||||
DB 00Bh,0D8h,0D1h,0E3h,08Bh,09Fh,089h,002h,0D1h,0E3h,0D1h,0E3h,08Bh,087h,010h
|
||||
DB 000h,08Bh,09Fh,012h,000h,0A3h,0AFh,002h,089h,01Eh,0B5h,002h,0A1h,0AFh,002h
|
||||
DB 08Bh,01Eh,0B5h,002h,0EBh,02Fh,001h,006h,0AFh,002h,079h,005h,033h,0C0h,0A3h
|
||||
DB 0AFh,002h,001h,01Eh,0B5h,002h,079h,006h,033h,0DBh,089h,01Eh,0B5h,002h,0A1h
|
||||
DB 0AFh,002h,08Bh,01Eh,0B5h,002h,03Dh,03Fh,001h,07Eh,003h,0B8h,03Fh,001h,081h
|
||||
DB 0FBh,0C7h,000h,07Eh,003h,0BBh,0C7h,000h,0A3h,0AFh,002h,089h,01Eh,0B5h,002h
|
||||
DB 0A3h,0ABh,002h,089h,01Eh,0B1h,002h,083h,03Eh,0A9h,002h,000h,075h,008h,00Eh
|
||||
DB 0E8h,0A5h,003h,00Eh,0E8h,0D4h,003h,0B8h,02Dh,000h,089h,046h,006h,08Bh,036h
|
||||
DB 0BAh,001h,089h,076h,0FEh,08Bh,03Eh,0B6h,001h,050h,00Eh,0E8h,051h,0FEh,083h
|
||||
DB 0C4h,002h,00Bh,0C0h,075h,011h,08Bh,046h,006h,03Ch,02Dh,074h,00Dh,03Ch,041h
|
||||
DB 074h,009h,03Ch,042h,074h,005h,0EBh,029h,0E9h,080h,000h,0FFh,036h,0AFh,002h
|
||||
DB 00Eh,0E8h,02Eh,0FEh,083h,0C4h,002h,00Bh,0C0h,075h,0EEh,083h,046h,0FCh,002h
|
||||
DB 0FFh,036h,0B5h,002h,00Eh,0E8h,01Bh,0FEh,083h,0C4h,002h,00Bh,0C0h,075h,0DBh
|
||||
DB 083h,046h,0FCh,002h,0BBh,001h,001h,08Bh,046h,006h,03Ch,02Dh,074h,01Bh,03Ch
|
||||
DB 07Fh,074h,017h,0F6h,0C4h,008h,074h,016h,032h,0DBh,0F7h,006h,004h,000h,000h
|
||||
DB 008h,075h,00Ch,03Ch,041h,074h,008h,03Ch,042h,074h,004h,089h,036h,0BAh,001h
|
||||
DB 08Bh,0F8h,083h,0E7h,07Fh,0B1h,003h,0D3h,0EFh,08Ah,0C8h,080h,0E1h,007h,0D3h
|
||||
DB 0E3h,0F6h,0D7h,084h,09Dh,039h,002h,074h,00Ch,0F7h,006h,004h,000h,001h,000h
|
||||
DB 075h,004h,089h,036h,0BAh,001h,020h,0BDh,039h,002h,008h,09Dh,039h,002h,0B8h
|
||||
DB 001h,000h,0EBh,008h,08Bh,046h,0FEh,0A3h,0BAh,001h,033h,0C0h,09Dh,01Fh,05Eh
|
||||
DB 05Fh,05Ah,059h,05Bh,0C9h,0CBh,050h,053h,051h,057h,01Eh,052h,006h,056h,0FCh
|
||||
DB 08Ch,0C8h,08Eh,0D8h,08Ch,0D1h,089h,026h,08Ah,003h,089h,00Eh,08Ch,003h,0BAh
|
||||
DB 08Eh,005h,083h,0E2h,0FEh,0FAh,08Eh,0D0h,08Bh,0E2h,0FBh,083h,03Eh,0CEh,002h
|
||||
DB 000h,0C7h,006h,0CEh,002h,000h,000h,00Fh,085h,003h,002h,08Bh,016h,004h,000h
|
||||
DB 083h,026h,0BEh,001h,0FCh,0B8h,040h,000h,08Eh,0C0h,026h,0F6h,006h,017h,000h
|
||||
DB 040h,074h,005h,083h,00Eh,0BEh,001h,001h,026h,0F6h,006h,017h,000h,020h,074h
|
||||
DB 005h,083h,00Eh,0BEh,001h,002h,0C6h,006h,0B5h,000h,001h,026h,0F6h,006h,096h
|
||||
DB 000h,010h,075h,005h,0C6h,006h,0B5h,000h,000h,08Ch,0C8h,08Eh,0C0h,0FCh,032h
|
||||
DB 0E4h,0BBh,001h,001h,0E4h,060h,08Bh,01Eh,05Bh,002h,088h,087h,049h,002h,043h
|
||||
DB 083h,0E3h,00Fh,089h,01Eh,05Bh,002h,0BBh,001h,001h,03Ch,0E1h,075h,005h,0C6h
|
||||
DB 006h,05Eh,002h,003h,080h,03Eh,05Eh,002h,000h,074h,00Fh,0FEh,00Eh,05Eh,002h
|
||||
DB 0F7h,0C2h,080h,000h,00Fh,085h,08Eh,001h,0E9h,0CBh,001h,03Ch,0E0h,075h,008h
|
||||
DB 0C6h,006h,05Dh,002h,001h,0E9h,07Fh,001h,0A8h,080h,074h,007h,032h,0DBh,024h
|
||||
DB 07Fh,080h,0CCh,008h,080h,03Eh,05Dh,002h,000h,074h,023h,0C6h,006h,05Dh,002h
|
||||
DB 000h,0C6h,006h,0B7h,002h,001h,0BFh,084h,000h,0B9h,010h,000h,0F2h,0AEh,0E3h
|
||||
DB 002h,0EBh,003h,0E9h,094h,001h,08Ah,045h,00Fh,0C6h,006h,0B7h,002h,000h,0EBh
|
||||
DB 011h,03Ch,07Ah,075h,004h,0B0h,080h,0EBh,009h,08Bh,0F8h,083h,0E7h,07Fh,08Ah
|
||||
DB 085h,0C0h,001h,0F6h,006h,041h,002h,001h,075h,01Bh,0F6h,006h,040h,002h,004h
|
||||
DB 074h,017h,03Ch,05Ah,075h,010h,080h,03Eh,0B5h,000h,001h,074h,009h,0F7h,0C2h
|
||||
DB 080h,000h,075h,003h,0E9h,057h,001h,080h,0CCh,002h,0F6h,006h,040h,002h,050h
|
||||
DB 074h,003h,080h,0CCh,004h,050h,00Eh,0E8h,043h,0FCh,083h,0C4h,002h,0F6h,006h
|
||||
DB 03Eh,002h,010h,075h,007h,0F6h,006h,040h,002h,002h,074h,003h,080h,0CCh,001h
|
||||
DB 08Bh,0F8h,083h,0E7h,07Fh,0D1h,0EFh,0D1h,0EFh,0D1h,0EFh,08Bh,0D8h,083h,0E3h
|
||||
DB 07Fh,080h,0E3h,007h,08Ah,0AFh,034h,000h,0F7h,006h,0BEh,001h,001h,000h,074h
|
||||
DB 009h,084h,0ADh,019h,002h,074h,003h,080h,0F4h,001h,0F7h,006h,0BEh,001h,002h
|
||||
DB 000h,074h,009h,084h,0ADh,029h,002h,074h,003h,080h,0F4h,001h,088h,026h,06Ah
|
||||
DB 002h,0F7h,0C2h,000h,040h,074h,034h,066h,083h,03Eh,0EAh,002h,001h,075h,01Bh
|
||||
DB 03Dh,073h,000h,074h,00Ah,03Dh,076h,000h,072h,00Eh,03Dh,078h,000h,077h,009h
|
||||
DB 066h,0C7h,006h,0EAh,002h,000h,000h,000h,000h,0E9h,08Bh,000h,03Dh,07Dh,000h
|
||||
DB 075h,00Ch,066h,0C7h,006h,0EAh,002h,001h,000h,000h,000h,0E9h,0BAh,000h,03Dh
|
||||
DB 068h,006h,074h,075h,03Dh,04Ch,006h,074h,070h,03Dh,030h,002h,074h,005h,03Dh
|
||||
DB 07Eh,002h,075h,006h,0C7h,006h,008h,000h,001h,000h,03Dh,020h,004h,075h,00Ch
|
||||
DB 050h,0A1h,000h,000h,035h,001h,000h,050h,083h,0C4h,002h,058h,03Dh,034h,004h
|
||||
DB 075h,00Ch,050h,0A1h,002h,000h,035h,001h,000h,050h,083h,0C4h,002h,058h,050h
|
||||
DB 00Eh,0E8h,0DEh,0FBh,058h,03Ch,06Eh,075h,00Dh,083h,03Eh,082h,000h,000h,074h
|
||||
DB 006h,050h,0FFh,01Eh,080h,000h,058h,0BFh,05Fh,002h,0B9h,00Ah,000h,0F2h,0AEh
|
||||
DB 00Bh,0C9h,075h,01Bh,0BFh,03Ch,000h,0B9h,022h,000h,0D1h,0E9h,0F2h,0AFh,0E3h
|
||||
DB 009h,08Bh,05Dh,020h,023h,0DAh,074h,002h,0EBh,006h,0F7h,0C2h,004h,000h,074h
|
||||
DB 040h,02Eh,0FFh,006h,059h,002h,081h,03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h
|
||||
DB 057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h
|
||||
DB 000h,0F3h,0AAh,007h,058h,05Fh,059h,0FAh,08Bh,016h,08Ch,003h,08Eh,0D2h,08Bh
|
||||
DB 026h,08Ah,003h,0FBh,0BAh,0E8h,00Ch,09Ch,00Eh,052h,09Ch,0FFh,036h,0BCh,002h
|
||||
DB 0FFh,036h,0BAh,002h,0CFh,0E4h,061h,08Ah,0E0h,00Ch,080h,0E6h,061h,086h,0E0h
|
||||
DB 0E6h,061h,0B8h,040h,000h,08Eh,0C0h,026h,0A0h,096h,000h,024h,0FDh,026h,0A2h
|
||||
DB 096h,000h,0B0h,020h,0E6h,020h,081h,03Eh,08Eh,003h,0ADh,0DEh,074h,017h,051h
|
||||
DB 057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh,0B8h,001h
|
||||
DB 000h,0F3h,0AAh,007h,058h,05Fh,059h,08Bh,016h,08Ch,003h,0FAh,08Eh,0D2h,08Bh
|
||||
DB 026h,08Ah,003h,0FBh,05Eh,007h,05Ah,01Fh,05Fh,059h,05Bh,058h,0CFh,09Ch,050h
|
||||
DB 006h,0B8h,000h,0B0h,08Eh,0C0h,026h,0FEh,006h,000h,000h,007h,058h,09Dh,0CFh
|
||||
DB 09Ch,00Eh,0E8h,022h,0FDh,0CBh,050h,053h,051h,052h,01Eh,08Ch,0C8h,08Eh,0D8h
|
||||
DB 080h,03Eh,0F7h,002h,000h,075h,01Dh,083h,03Eh,003h,003h,000h,075h,00Ch,0B8h
|
||||
DB 000h,000h,050h,00Eh,0FFh,016h,051h,003h,083h,0C4h,002h,083h,006h,003h,003h
|
||||
DB 001h,083h,016h,003h,003h,000h,01Fh,05Ah,059h,05Bh,058h,0CBh,0C8h,004h,000h
|
||||
DB 000h,050h,053h,051h,052h,056h,057h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,080h,03Eh
|
||||
DB 0F7h,002h,000h,075h,050h,083h,03Eh,003h,003h,000h,074h,049h,0FFh,00Eh,003h
|
||||
DB 003h,083h,03Eh,003h,003h,000h,075h,03Eh,08Bh,00Eh,03Fh,003h,08Bh,016h,043h
|
||||
DB 003h,0A1h,0ABh,002h,089h,046h,0FEh,08Bh,01Eh,0B1h,002h,089h,05Eh,0FCh,0A3h
|
||||
DB 02Fh,003h,089h,01Eh,033h,003h,089h,00Eh,037h,003h,089h,016h,03Bh,003h,0B8h
|
||||
DB 001h,000h,050h,00Eh,0FFh,016h,051h,003h,083h,0C4h,002h,0FFh,076h,0FCh,0FFh
|
||||
DB 076h,0FEh,00Eh,0FFh,016h,053h,003h,083h,0C4h,004h,007h,01Fh,05Fh,05Eh,05Ah
|
||||
DB 059h,05Bh,058h,0C9h,0CBh,0C8h,002h,000h,000h,053h,08Ch,0C8h,08Eh,0D8h,0C7h
|
||||
DB 046h,0FEh,02Dh,000h,08Bh,05Eh,006h,08Bh,0C3h,032h,01Eh,0F6h,002h,074h,029h
|
||||
DB 0A2h,0F6h,002h,0F6h,0C3h,002h,074h,00Eh,0C7h,046h,0FEh,042h,000h,0A8h,002h
|
||||
DB 075h,005h,081h,04Eh,0FEh,000h,008h,0F6h,0C3h,001h,074h,00Eh,0C7h,046h,0FEh
|
||||
DB 041h,000h,0A8h,001h,075h,005h,081h,04Eh,0FEh,000h,008h,08Bh,046h,0FEh,05Bh
|
||||
DB 0C9h,0CBh,0C8h,004h,000h,000h,050h,053h,051h,052h,01Eh,056h,006h,057h,02Eh
|
||||
DB 089h,01Eh,090h,005h,02Eh,0A3h,092h,005h,08Ch,0C8h,08Eh,0D8h,08Ch,0D3h,089h
|
||||
DB 026h,094h,005h,089h,01Eh,096h,005h,0BBh,098h,007h,083h,0E3h,0FEh,0FAh,08Eh
|
||||
DB 0D0h,08Bh,0E3h,0FBh,080h,03Eh,0F7h,002h,000h,00Fh,085h,0FAh,000h,080h,03Eh
|
||||
DB 0F8h,002h,000h,00Fh,084h,0F1h,000h,0A1h,092h,005h,025h,01Eh,000h,075h,009h
|
||||
DB 083h,03Eh,0A9h,002h,000h,00Fh,085h,0E0h,000h,083h,03Eh,0F9h,002h,001h,075h
|
||||
DB 002h,0D1h,0E9h,03Bh,00Eh,049h,003h,072h,005h,08Bh,00Eh,049h,003h,049h,03Bh
|
||||
DB 016h,04Dh,003h,072h,005h,08Bh,016h,04Dh,003h,04Ah,089h,00Eh,0ABh,002h,089h
|
||||
DB 016h,0B1h,002h,066h,0F7h,006h,004h,000h,000h,010h,000h,000h,075h,013h,0FFh
|
||||
DB 036h,090h,005h,00Eh,0E8h,02Ch,0FFh,083h,0C4h,002h,050h,00Eh,0E8h,07Bh,0F9h
|
||||
DB 083h,0C4h,002h,083h,03Eh,0A9h,002h,000h,00Fh,085h,092h,000h,083h,03Eh,0FBh
|
||||
DB 002h,000h,074h,019h,08Bh,0C1h,08Bh,0CAh,02Bh,006h,0FFh,002h,08Bh,01Eh,0FBh
|
||||
DB 002h,099h,0F7h,0FBh,0F7h,0EBh,003h,006h,0FFh,002h,08Bh,0D1h,08Bh,0C8h,083h
|
||||
DB 03Eh,0FDh,002h,000h,074h,015h,08Bh,0C2h,02Bh,006h,001h,003h,08Bh,01Eh,0FDh
|
||||
DB 002h,099h,0F7h,0FBh,0F7h,0EBh,003h,006h,001h,003h,08Bh,0D0h,083h,03Eh,003h
|
||||
DB 003h,000h,075h,047h,039h,00Eh,007h,003h,075h,006h,039h,016h,009h,003h,074h
|
||||
DB 03Bh,0A1h,00Bh,003h,025h,000h,0C0h,03Dh,000h,0C0h,074h,00Ch,00Eh,0E8h,016h
|
||||
DB 0FEh,0F7h,006h,00Bh,003h,000h,080h,074h,020h,03Bh,00Eh,00Dh,003h,072h,01Ah
|
||||
DB 03Bh,00Eh,015h,003h,077h,014h,03Bh,016h,011h,003h,072h,00Eh,03Bh,016h,019h
|
||||
DB 003h,077h,008h,081h,00Eh,00Bh,003h,000h,040h,0EBh,004h,00Eh,0E8h,01Dh,0FEh
|
||||
DB 089h,00Eh,007h,003h,089h,016h,009h,003h,081h,03Eh,098h,005h,0ADh,0DEh,074h
|
||||
DB 017h,051h,057h,050h,006h,0B8h,000h,0A0h,08Eh,0C0h,033h,0FFh,0B9h,000h,0FAh
|
||||
DB 0B8h,001h,000h,0F3h,0AAh,007h,058h,05Fh,059h,0A1h,096h,005h,0FAh,08Eh,0D0h
|
||||
DB 08Bh,026h,094h,005h,0FBh,05Fh,007h,05Eh,01Fh,05Ah,059h,05Bh,058h,0C9h,0CBh
|
||||
DB 0C8h,00Ch,000h,000h,050h,053h,051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh
|
||||
DB 0D8h,0FCh,0A1h,02Fh,003h,08Bh,01Eh,033h,003h,02Bh,006h,027h,003h,02Bh,01Eh
|
||||
DB 02Bh,003h,089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,037h,003h,003h,01Eh,03Bh
|
||||
DB 003h,089h,046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0A1h,023h,003h
|
||||
DB 089h,046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h
|
||||
DB 003h,02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h
|
||||
DB 08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh
|
||||
DB 04Eh,0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h
|
||||
DB 084h,0D0h,00Fh,085h,0AEh,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh
|
||||
DB 08Bh,05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h
|
||||
DB 002h,074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,037h,003h,001h,046h
|
||||
DB 0F4h,0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h
|
||||
DB 089h,046h,0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,0B8h
|
||||
DB 000h,0A0h,08Eh,0C0h,08Bh,046h,0FCh,0F7h,026h,049h,003h,08Bh,016h,049h,003h
|
||||
DB 08Bh,0F8h,003h,07Eh,0FEh,08Bh,01Eh,03Fh,003h,0C5h,036h,023h,003h,08Bh,076h
|
||||
DB 0F4h,003h,076h,0F6h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh,03Ch
|
||||
DB 02Bh,04Eh,0FCh,07Eh,037h,02Bh,0D0h,02Bh,0D8h,055h,083h,07Eh,006h,000h,075h
|
||||
DB 018h,08Bh,0E9h,08Bh,0C8h,0F3h,0A4h,003h,0F3h,003h,0FAh,04Dh,075h,0F5h,05Dh
|
||||
DB 007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,087h,0F7h,08Bh,0E9h,006h
|
||||
DB 01Eh,007h,01Fh,08Bh,0C8h,0F3h,0A4h,003h,0F2h,003h,0FBh,04Dh,075h,0F5h,05Dh
|
||||
DB 007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h
|
||||
DB 053h,051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,08Bh,046h,006h,08Bh
|
||||
DB 05Eh,008h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h,089h,046h,0FEh,089h,05Eh
|
||||
DB 0FCh,003h,006h,03Fh,003h,003h,01Eh,043h,003h,089h,046h,0FAh,089h,05Eh,0F8h
|
||||
DB 0C7h,046h,0F6h,000h,000h,0C4h,006h,01Dh,003h,089h,046h,0F4h,033h,0C0h,033h
|
||||
DB 0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h
|
||||
DB 08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh,01Eh,049h,003h,049h
|
||||
DB 04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h
|
||||
DB 003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh,08Bh,05Eh,0F8h,02Bh
|
||||
DB 00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh
|
||||
DB 013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h,00Fh,085h,093h,000h
|
||||
DB 00Ah,0C2h,074h,042h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh,0FEh,0F7h,0DBh,089h
|
||||
DB 05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h,013h,052h,08Bh,046h
|
||||
DB 0FCh,0F7h,0D8h,0F7h,026h,03Fh,003h,001h,046h,0F4h,0C7h,046h,0FCh,000h,000h
|
||||
DB 05Ah,0F6h,0C2h,004h,074h,007h,08Bh,01Eh,049h,003h,089h,05Eh,0FAh,0F6h,0C2h
|
||||
DB 001h,074h,007h,08Bh,01Eh,04Dh,003h,089h,05Eh,0F8h,08Bh,046h,0FCh,0F7h,026h
|
||||
DB 049h,003h,08Bh,016h,049h,003h,08Bh,0F8h,003h,07Eh,0FEh,08Bh,01Eh,03Fh,003h
|
||||
DB 08Bh,076h,0F4h,003h,076h,0F6h,0B8h,000h,0A0h,08Eh,0D8h,08Bh,046h,0FAh,08Bh
|
||||
DB 04Eh,0F8h,02Bh,046h,0FEh,07Eh,023h,02Bh,04Eh,0FCh,07Eh,01Eh,02Bh,0D0h,02Bh
|
||||
DB 0D8h,08Ah,0E0h,026h,08Ah,02Ch,066h,046h,00Ah,0EDh,074h,002h,088h,02Dh,047h
|
||||
DB 0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,0FEh,0C9h,075h,0E6h,007h,01Fh,05Eh
|
||||
DB 05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Ch,000h,000h,050h,053h,051h,052h
|
||||
DB 057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,0E8h,0B7h,002h,089h,056h,0F2h,0FCh
|
||||
DB 0A1h,02Fh,003h,08Bh,01Eh,033h,003h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h
|
||||
DB 089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,037h,003h,003h,01Eh,03Bh,003h,089h
|
||||
DB 046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0A1h,023h,003h,089h,046h
|
||||
DB 0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h,0C0h
|
||||
DB 003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h,02Bh
|
||||
DB 01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh
|
||||
DB 0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FCh
|
||||
DB 08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h,0C9h
|
||||
DB 013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h,0D0h
|
||||
DB 00Fh,085h,0C7h,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh,05Eh
|
||||
DB 0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h,074h
|
||||
DB 013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,037h,003h,001h,046h,0F4h,0C7h
|
||||
DB 046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h,089h,046h
|
||||
DB 0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,0B8h,000h,0A0h
|
||||
DB 08Eh,0C0h,08Bh,046h,0FCh,0F7h,026h,049h,003h,003h,046h,0FEh,083h,0D2h,000h
|
||||
DB 08Bh,0F8h,0E8h,0F1h,001h,08Bh,016h,049h,003h,08Bh,01Eh,03Fh,003h,0C5h,036h
|
||||
DB 023h,003h,08Bh,076h,0F4h,003h,076h,0F6h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh
|
||||
DB 046h,0FEh,07Eh,04Fh,02Bh,04Eh,0FCh,07Eh,04Ah,02Bh,0D0h,02Bh,0D8h,083h,07Eh
|
||||
DB 006h,000h,075h,021h,08Ah,0E0h,08Ah,02Ch,026h,088h,02Dh,046h,047h,075h,003h
|
||||
DB 0E8h,0D9h,001h,0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,073h,003h,0E8h,0CCh
|
||||
DB 001h,0FEh,0C9h,075h,0E1h,0EBh,01Fh,08Ah,0E0h,026h,08Ah,02Dh,088h,02Ch,046h
|
||||
DB 047h,075h,003h,0E8h,0B8h,001h,0FEh,0CCh,075h,0F0h,003h,0F3h,003h,0FAh,073h
|
||||
DB 003h,0E8h,0ABh,001h,0FEh,0C9h,075h,0E1h,08Bh,056h,0F2h,0E8h,06Ch,001h,007h
|
||||
DB 01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h,0CBh,0C8h,00Eh,000h,000h,050h,053h
|
||||
DB 051h,052h,057h,056h,01Eh,006h,08Ch,0C8h,08Eh,0D8h,0E8h,03Eh,001h,089h,056h
|
||||
DB 0F2h,08Bh,046h,006h,08Bh,05Eh,008h,02Bh,006h,027h,003h,02Bh,01Eh,02Bh,003h
|
||||
DB 089h,046h,0FEh,089h,05Eh,0FCh,003h,006h,03Fh,003h,003h,01Eh,043h,003h,089h
|
||||
DB 046h,0FAh,089h,05Eh,0F8h,0C7h,046h,0F6h,000h,000h,0C4h,006h,01Dh,003h,089h
|
||||
DB 046h,0F4h,033h,0C0h,033h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,003h,0C9h,013h
|
||||
DB 0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh,0FEh,08Bh,05Eh,0FAh,02Bh,00Eh,049h,003h
|
||||
DB 02Bh,01Eh,049h,003h,049h,04Bh,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh
|
||||
DB 04Eh,0FCh,08Bh,05Eh,0F8h,003h,0C9h,013h,0C0h,003h,0DBh,013h,0D2h,08Bh,04Eh
|
||||
DB 0FCh,08Bh,05Eh,0F8h,02Bh,00Eh,04Dh,003h,02Bh,01Eh,04Dh,003h,049h,04Bh,003h
|
||||
DB 0C9h,013h,0C0h,003h,0DBh,013h,0D2h,034h,005h,080h,0F2h,005h,08Ah,0E0h,084h
|
||||
DB 0D0h,00Fh,085h,0A0h,000h,00Ah,0C2h,074h,040h,0F6h,0C4h,008h,074h,00Dh,08Bh
|
||||
DB 05Eh,0FEh,0F7h,0DBh,089h,05Eh,0F6h,0C7h,046h,0FEh,000h,000h,0F6h,0C4h,002h
|
||||
DB 074h,013h,052h,08Bh,046h,0FCh,0F7h,0D8h,0F7h,026h,03Fh,003h,001h,046h,0F4h
|
||||
DB 0C7h,046h,0FCh,000h,000h,05Ah,0F6h,0C2h,004h,074h,006h,0A1h,049h,003h,089h
|
||||
DB 046h,0FAh,0F6h,0C2h,001h,074h,006h,0A1h,04Dh,003h,089h,046h,0F8h,08Bh,046h
|
||||
DB 0FCh,0F7h,026h,049h,003h,003h,046h,0FEh,083h,0D2h,000h,08Bh,0F8h,0E8h,07Eh
|
||||
DB 000h,08Bh,016h,049h,003h,08Bh,01Eh,03Fh,003h,08Bh,076h,0F4h,003h,076h,0F6h
|
||||
DB 0B8h,000h,0A0h,08Eh,0D8h,08Bh,046h,0FAh,08Bh,04Eh,0F8h,02Bh,046h,0FEh,07Eh
|
||||
DB 02Ch,02Bh,04Eh,0FCh,07Eh,027h,02Bh,0D0h,02Bh,0D8h,08Ah,0E0h,026h,08Ah,02Ch
|
||||
DB 046h,00Ah,0EDh,074h,002h,088h,02Dh,047h,075h,003h,0E8h,067h,000h,0FEh,0CCh
|
||||
DB 075h,0ECh,003h,0F3h,003h,0FAh,073h,003h,0E8h,05Ah,000h,0FEh,0C9h,075h,0DDh
|
||||
DB 08Bh,056h,0F2h,0E8h,01Bh,000h,007h,01Fh,05Eh,05Fh,05Ah,059h,05Bh,058h,0C9h
|
||||
DB 0CBh,050h,053h,0B8h,005h,04Fh,0B7h,001h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h
|
||||
DB 05Bh,058h,0C3h,050h,053h,052h,0B8h,005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh
|
||||
DB 01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h,050h,053h,052h,08Bh,0DAh,0C1h,0E3h,002h
|
||||
DB 02Eh,089h,01Eh,09Ah,007h,02Eh,08Bh,097h,061h,003h,0B8h,005h,04Fh,0B7h,000h
|
||||
DB 0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah,05Bh,058h,0C3h,050h,053h,052h,02Eh
|
||||
DB 08Bh,01Eh,09Ah,007h,083h,0C3h,004h,02Eh,089h,01Eh,09Ah,007h,02Eh,08Bh,097h
|
||||
DB 061h,003h,0B8h,005h,04Fh,0B7h,000h,0B3h,000h,02Eh,0FFh,01Eh,05Dh,003h,05Ah
|
||||
DB 05Bh,058h,0C3h
|
162
WWFLAT32/KEYBOARD/X/KEYSTRUC.INC
Normal file
162
WWFLAT32/KEYBOARD/X/KEYSTRUC.INC
Normal file
@@ -0,0 +1,162 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Westwood 32 bit Library *
|
||||
;* *
|
||||
;* File Name : KEYSTRUC.INC *
|
||||
;* *
|
||||
;* Programmer : Phil W. Gorrow *
|
||||
;* *
|
||||
;* Start Date : July 13, 1994 *
|
||||
;* *
|
||||
;* Last Update : July 13, 1994 [PWG] *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||
|
||||
STRUC KeyboardType
|
||||
SoundOn DW ? ; toggled by alt S
|
||||
MusicOn DW ? ; toggled by alt M
|
||||
KeyFlags DD ? ; all but repeat for now
|
||||
Break DW ?
|
||||
KeyMouseMove DB 6 DUP(?)
|
||||
ScreenEdge DW 18 DUP (?)
|
||||
Bits DB 8 DUP (?)
|
||||
CondPassKey DW 17 DUP (?)
|
||||
CondPassCond DW 17 DUP (?)
|
||||
EscRoutine DD ?
|
||||
ExtCodes DB 16 DUP (?)
|
||||
ExtNums DB 16 DUP (?)
|
||||
ExtRemap DB 16 DUP (?)
|
||||
ExtRemapEnd DB ?
|
||||
ExtKeyboard DB ?
|
||||
KeyBuffer DW 128 DUP(?) ; set to empty
|
||||
KeyBufferHead DD ? ; set to first entry
|
||||
KeyBufferTail DD ? ; set to head for empty buffer
|
||||
KeyLock DW ? ; num and caps lock bits
|
||||
KeyNums DB 89 DUP (?)
|
||||
KeysCapsLock DB 16 DUP (?)
|
||||
KeysNumLock DB 16 DUP (?)
|
||||
KeysUpDown DB 16 DUP (?)
|
||||
KeyStream DB 16 DUP (?)
|
||||
PassCount DW ?
|
||||
KeyStreamIndex DW ?
|
||||
LastKeyE0 DB ?
|
||||
LastKeyE1 DB ?
|
||||
PassAlways DB 10 DUP (?)
|
||||
PassAlwaysEnd DB ? ; invalid code to END PassAlways
|
||||
CtrlFlags DB ?
|
||||
Buffer DW ?
|
||||
Time DW ?
|
||||
XYAdjust DB 26 DUP (?)
|
||||
EdgeConv DW 16 DUP (?)
|
||||
MouseUpdate DW ?
|
||||
MouseX DD ?
|
||||
LocalMouseX DW ?
|
||||
MouseY DD ?
|
||||
LocalMouseY DW ?
|
||||
IsExtKey DB ?
|
||||
ExtIndex DW ?
|
||||
|
||||
KeyOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
KeyOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
KeyOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
KeyCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallKeyRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallKeyRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedKeyInt DD ? ; did Protected mode pass this through?
|
||||
|
||||
BrkOldRMI DD ? ; The origianl RM interrupt seg:off.
|
||||
BrkOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
BrkOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
BrkCodeOffset DW ? ; Offset of the code in the RM stuff.
|
||||
CallBrkRMIntOffset DW ? ; Offset of function to call DOS timer interrupt.
|
||||
CallBrkRMIntAddr DD ? ; PM address of CallRealIntOffset for speed.
|
||||
PMIssuedBrkInt DD ? ; did Protected mode pass this through?
|
||||
KeyIntDisabled DD ?
|
||||
|
||||
DbgOldPMIOffset DD ? ; The origianl PM interrupt offset
|
||||
DbgOldPMISelector DD ? ; The original PM interrupt segment.
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Begin definition of Mouse Specific Variables for real mode
|
||||
;---------------------------------------------------------------------------
|
||||
Button DB ? ; current value of the mouse button
|
||||
MDisabled DB ? ; Is the mouse driver disabled
|
||||
MInput DB ? ; Defaults to mouse input allowed.
|
||||
Adjust DW ? ; flag to adjust coordinates if necessary
|
||||
MouseStepX DW ? ; step values if the mouse moves at
|
||||
MouseStepY DW ? ; more than one pixel at a time
|
||||
MouseOffsetX DW ? ; Fractional step values used if a mouse
|
||||
MouseOffsetY DW ? ; moves at less than one pixel at a time
|
||||
MState DD ? ; Tracks if mouse is hidden (TRUE) or not (FALSE)
|
||||
MouseXOld DW ? ; Holds last MouseX and MouseY to determine if
|
||||
MouseYOld DW ? ; mouse needs to be redrawn
|
||||
MCState DW ? ; Tracks if mouse conditional hidden (TRUE) or not
|
||||
MouseCXLeft DD ? ; Conditional hide mouse left x position
|
||||
MouseCYUpper DD ? ; Conditional hide mouse top y position
|
||||
MouseCXRight DD ? ; Conditional hide mouse right x position
|
||||
MouseCYLower DD ? ; Conditional hide mouse lower y position
|
||||
MouseCursor DD ? ; Pointer to the mouse cursor to draw
|
||||
MouseCursorSize DW ? ; Size of mouse cursor draw area
|
||||
MouseBuffer DD ? ; Pointer to buffer mouse is saved in
|
||||
MouseXHot DD ? ; Offset to mouse's x hot spot
|
||||
MouseYHot DD ? ; Offset to mouse's y hot spot
|
||||
MouseBuffX DD ? ; X position background was saved at
|
||||
MouseBuffY DD ? ; Y position background was saved at
|
||||
MouseBuffW DD ? ; Width of the region saved for mouse
|
||||
MouseBuffH DD ? ; Height of the region saved for mouse
|
||||
MouseWidth DD ? ; Mouse cursor theoretical width
|
||||
MouseHeight DD ? ; Mouse cursor theoretical height
|
||||
MouseCodeOffset DW ? ; Offset to the real mode code offset
|
||||
MouseRight DD ? ; Right hand side of the screen
|
||||
MouseBottom DD ? ; Bottom of the screen
|
||||
|
||||
|
||||
ShadowPtr dw ?
|
||||
DrawMousePtr dw ?
|
||||
|
||||
VGAMouseDraw dw ?
|
||||
VGAMouseShadow dw ?
|
||||
|
||||
VESAMouseDraw dw ?
|
||||
VESAMouseShadow dw ?
|
||||
|
||||
VesaPtr dd ?
|
||||
VesaBankTable DD 8 dup (?)
|
||||
Adjust_XPos dd ?
|
||||
Adjust_YPos dd ?
|
||||
|
||||
|
||||
ENDS
|
||||
|
||||
; InitFlags that are set to have a fully functional interrupt.
|
||||
IF_ALLOC_RM equ 1 ; Allocation of RM was successful.
|
||||
IF_SET_VECTORS equ 2 ; Vectors have been set.
|
||||
IF_LOCKED_PM_CODE equ 4 ; Locked PM code for DPMI.
|
||||
IF_LOCKED_PM_DATA equ 8 ; Locked PM code for DPMI.
|
||||
IF_RATE_CHANGE equ 10 ; Timer rate was changed.
|
||||
IF_FUNCTIONAL equ 20 ; Timer is in and functional.
|
||||
IF_LOCKED_RM_CODE equ 40
|
200
WWFLAT32/KEYBOARD/X/MAKEFILE
Normal file
200
WWFLAT32/KEYBOARD/X/MAKEFILE
Normal file
@@ -0,0 +1,200 @@
|
||||
#
|
||||
# Command & Conquer Red Alert(tm)
|
||||
# Copyright 2025 Electronic Arts Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
#***************************************************************************
|
||||
#** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S **
|
||||
#***************************************************************************
|
||||
#* *
|
||||
#* Project Name : Westwood Library .LIB makefile *
|
||||
#* *
|
||||
#* File Name : MAKEFILE *
|
||||
#* *
|
||||
#* Programmer : Julio R. Jerez *
|
||||
#* *
|
||||
#* Start Date : Jan 25, 1994 *
|
||||
#* *
|
||||
#* *
|
||||
#*-------------------------------------------------------------------------*
|
||||
#* *
|
||||
#* Required environment variables: *
|
||||
#* WWFLAT = your root WWFLAT path *
|
||||
#* WWVCS = root directory for wwlib version control archive *
|
||||
#* WATCOM = your Watcom installation path *
|
||||
#* *
|
||||
#* Required changes to makefile: *
|
||||
#* PROJ_NAME = name of the library you're building *
|
||||
#* OBJECTS = list of objects in your library *
|
||||
#* *
|
||||
#* Optional changes to makefile: *
|
||||
#* PROJ_DIR = full pathname of your working directory *
|
||||
#* .path.xxx = full pathname where various file types live *
|
||||
#* *
|
||||
#***************************************************************************
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Verify user's environment
|
||||
#---------------------------------------------------------------------------
|
||||
!ifndef %WWFLAT
|
||||
!error WWFLAT Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
!ifndef %WWVCS
|
||||
!error WWVCS Environment var not configured.
|
||||
!endif
|
||||
|
||||
!ifndef %WATCOM
|
||||
!error WATCOM Environment var not configured.
|
||||
!endif
|
||||
|
||||
|
||||
#===========================================================================
|
||||
# User-defined section: the user should tailor this section for each project
|
||||
#===========================================================================
|
||||
|
||||
PROJ_NAME = keyboard
|
||||
PROJ_DIR = $(%WWFLAT)\$(PROJ_NAME)
|
||||
LIB_DIR = $(%WWFLAT)\lib
|
||||
|
||||
!include $(%WWFLAT)\project.cfg
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project-dependent variables
|
||||
#---------------------------------------------------------------------------
|
||||
OBJECTS = &
|
||||
keyboard.obj &
|
||||
mouse.obj &
|
||||
pagfault.obj
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Path macros: one path for each file type.
|
||||
# These paths are used to tell make where to find/put each file type.
|
||||
#---------------------------------------------------------------------------
|
||||
.asm: $(PROJ_DIR)
|
||||
.c: $(PROJ_DIR)
|
||||
.cpp: $(PROJ_DIR)
|
||||
.h: $(PROJ_DIR)
|
||||
.obj: $(PROJ_DIR)
|
||||
.lib: $(WWLIB)\lib
|
||||
.exe: $(PROJ_DIR)
|
||||
|
||||
#===========================================================================
|
||||
# Pre-defined section: there should be little need to modify this section.
|
||||
#===========================================================================
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Tools/commands
|
||||
#---------------------------------------------------------------------------
|
||||
C_CMD = wcc386
|
||||
CPP_CMD = wpp386
|
||||
LIB_CMD = wlib
|
||||
LINK_CMD = wlink
|
||||
ASM_CMD = tasm32
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Include & library paths
|
||||
# If LIB & INCLUDE are already defined, they are used in addition to the
|
||||
# WWLIB32 lib & include; otherwise, they're constructed from
|
||||
# BCDIR & TNTDIR
|
||||
#---------------------------------------------------------------------------
|
||||
LIBPATH = $(%WWFLAT)\LIB;$(%WATCOM)\LIB
|
||||
INCLUDEPATH = $(%WWFLAT)\INCLUDE;$(%WATCOM)\H
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Implicit rules
|
||||
# Compiler:
|
||||
# ($< = full dependent with path)
|
||||
# Assembler:
|
||||
# output obj's are constructed from .obj: & the $& macro
|
||||
# ($< = full dependent with path)
|
||||
# tasm's cfg file is not invoked as a response file.
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
.c.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(C_CMD) $(CC_CFG) $<
|
||||
|
||||
.cpp.obj: $(%WWFLAT)\project.cfg .AUTODEPEND
|
||||
$(CPP_CMD) $(CC_CFG) $<
|
||||
|
||||
.asm.obj: $(%WWFLAT)\project.cfg
|
||||
$(ASM_CMD) $(ASM_CFG) $<
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Default target: configuration files & library (in that order)
|
||||
#---------------------------------------------------------------------------
|
||||
all: $(LIB_DIR)\$(PROJ_NAME).lib .SYMBOLIC
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Build the library
|
||||
# The original library is deleted by the librarian
|
||||
# Lib objects & -+ commands are constructed by substituting within the
|
||||
# $^@ macro (which expands to all target dependents, separated with
|
||||
# spaces)
|
||||
# Tlib's cfg file is not invoked as a response file.
|
||||
# All headers & source files are copied into WWFLAT\SRCDEBUG, for debugging
|
||||
#---------------------------------------------------------------------------
|
||||
$(LIB_DIR)\$(PROJ_NAME).lib: $(OBJECTS) objects.lbc
|
||||
copy *.h $(%WWFLAT)\include
|
||||
copy *.inc $(%WWFLAT)\include
|
||||
copy *.cpp $(%WWFLAT)\srcdebug
|
||||
copy *.asm $(%WWFLAT)\srcdebug
|
||||
$(LIB_CMD) $(LIB_CFG) $^@ @objects.lbc
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Objects now have a link file which is NOT generated everytime. Instead
|
||||
# it just has its own dependacy rule.
|
||||
#---------------------------------------------------------------------------
|
||||
objects.lbc : $(OBJECTS)
|
||||
%create $^@
|
||||
for %index in ($(OBJECTS)) do %append $^@ +%index
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# The keyboard object files is also dependant on an IBN file which is
|
||||
# generated from KEYIREAL.ASM
|
||||
#---------------------------------------------------------------------------
|
||||
keyireal.ibn: keyireal.obj
|
||||
%create $^*.rsp
|
||||
%append $^*.rsp $^&.obj
|
||||
%append $^*.rsp $^&.exe
|
||||
%append $^*.rsp $^&.map
|
||||
tlink @$^*.rsp
|
||||
tdstrip keyireal.exe
|
||||
ebn keyireal.exe
|
||||
|
||||
keyireal.obj: keyireal.asm
|
||||
tasm /zn /la /ml /m2 keyireal.asm
|
||||
|
||||
keyboard.obj: keyireal.ibn keyboard.asm
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Create the test directory and make it.
|
||||
#---------------------------------------------------------------------------
|
||||
test:
|
||||
mkdir test
|
||||
cd test
|
||||
copy $(%WWVCS)\$(PROJ_NAME)\test\vcs.cfg
|
||||
update
|
||||
wmake
|
||||
cd ..
|
||||
|
||||
#**************************** End of makefile ******************************
|
||||
|
2226
WWFLAT32/KEYBOARD/X/MOUSE.ASM
Normal file
2226
WWFLAT32/KEYBOARD/X/MOUSE.ASM
Normal file
File diff suppressed because it is too large
Load Diff
153
WWFLAT32/KEYBOARD/X/PAGFAULT.ASM
Normal file
153
WWFLAT32/KEYBOARD/X/PAGFAULT.ASM
Normal file
@@ -0,0 +1,153 @@
|
||||
;
|
||||
; Command & Conquer Red Alert(tm)
|
||||
; Copyright 2025 Electronic Arts Inc.
|
||||
;
|
||||
; This program is free software: you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation, either version 3 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
;***************************************************************************
|
||||
;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S **
|
||||
;***************************************************************************
|
||||
;* *
|
||||
;* Project Name : Library *
|
||||
;* *
|
||||
;* File Name : PAGFAULT.ASM *
|
||||
;* *
|
||||
;* Programmer : Julio R Jerez *
|
||||
;* *
|
||||
;* Date : April 25,1995 *
|
||||
;* *
|
||||
;*-------------------------------------------------------------------------*
|
||||
;* Functions: *
|
||||
;
|
||||
; Here are prototypes for the routines defined within this module:
|
||||
; VOID Install_Page_Fault_Handle (void) ;
|
||||
;
|
||||
; ----------------------------------------------------------------
|
||||
|
||||
IDEAL ; the product runs in ideal mode
|
||||
P386 ; use 386 real mode instructions
|
||||
MODEL USE32 FLAT
|
||||
LOCALS ?? ; ?? is the symbol for a local
|
||||
WARN ; generate all warnings we can
|
||||
JUMPS ; optimize jumps if possible
|
||||
|
||||
;---------------------------------------------------------------------------
|
||||
; Make some general equates for easy compatability
|
||||
;---------------------------------------------------------------------------
|
||||
DPMI_INTR EQU 31h
|
||||
PAGE_FAULT equ 0eh
|
||||
RESET_VIDEO_MODE equ -1
|
||||
|
||||
GLOBAL Install_Page_Fault_Handle : NEAR
|
||||
GLOBAL Set_Video_Mode : NEAR
|
||||
GLOBAL Remove_Mouse : NEAR
|
||||
GLOBAL Remove_Keyboard_Interrupt : NEAR
|
||||
GLOBAL Remove_Timer_Interrupt : NEAR
|
||||
|
||||
DATASEG
|
||||
Old_Page_Fault_handle DF ?
|
||||
Page_Fault_SS DD ?
|
||||
Page_Fault_ESP DD ?
|
||||
|
||||
CODESEG
|
||||
;***************************************************************************
|
||||
;* INSTALL_PAGE_FAULT_HANDLE -- Installs new page fault handle *
|
||||
;* This function will install a new page fault handle *
|
||||
;* so in the event that we have a program crash thi handle will *
|
||||
;* remove all interrupts and then will chain to the default Page *
|
||||
;* Fault handle *
|
||||
;* *
|
||||
;* INPUT: none *
|
||||
;* *
|
||||
;* *
|
||||
;* OUTPUT: none *
|
||||
;* *
|
||||
;* PROTO: VOID Install_Page_Fault_Handle( void); *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Install_Page_Fault_Handle C NEAR
|
||||
USES eax,ebx,ecx,edx,esi,edi
|
||||
|
||||
mov eax,0202h ; get address of exception handle
|
||||
mov bl,PAGE_FAULT
|
||||
int DPMI_INTR
|
||||
jc ??exit ; not action is taken
|
||||
|
||||
; save addrees of default handle
|
||||
mov [dword ptr Old_Page_Fault_handle],edx
|
||||
mov [word ptr Old_Page_Fault_handle+4],cx
|
||||
|
||||
; redirect default handle to a new Page Fault Handle
|
||||
mov eax,0203h
|
||||
mov bl,PAGE_FAULT
|
||||
mov cx,cs
|
||||
lea edx,[Page_Fault_Handle]
|
||||
int DPMI_INTR
|
||||
|
||||
??exit:
|
||||
ret
|
||||
ENDP Install_Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* PAGE_FAULT_HANDLE -- This *
|
||||
;* *
|
||||
;* *
|
||||
;* *
|
||||
;* HISTORY: 04/25/96 Created *
|
||||
;*=========================================================================*
|
||||
PROC Page_Fault_Handle far
|
||||
|
||||
; preserve used registers
|
||||
push eax
|
||||
push ebx
|
||||
; save Page Fault satck frame
|
||||
mov ax,ss
|
||||
mov [Page_Fault_SS],eax
|
||||
mov [Page_Fault_ESP],esp
|
||||
|
||||
; retrieve application original stack frame
|
||||
mov eax , [ esp + ( 6 + 2 ) * 4 ]
|
||||
mov ebx , [ esp + ( 7 + 2 ) * 4 ]
|
||||
mov ss , bx
|
||||
mov esp , eax
|
||||
|
||||
; set video mode to standard text mode
|
||||
push RESET_VIDEO_MODE
|
||||
call Set_Video_Mode
|
||||
pop eax
|
||||
call Remove_Mouse
|
||||
call Remove_Keyboard_Interrupt
|
||||
call Remove_Timer_Interrupt
|
||||
|
||||
; restore Page Fault stack frame
|
||||
mov eax,[Page_Fault_SS]
|
||||
mov ss , ax
|
||||
mov esp, [Page_Fault_ESP]
|
||||
|
||||
; restore used registers and chain to default Page Fault Handle
|
||||
pop ebx
|
||||
pop eax
|
||||
jmp [fword Old_Page_Fault_handle]
|
||||
|
||||
ENDP Page_Fault_Handle
|
||||
|
||||
|
||||
;***************************************************************************
|
||||
;* End of File. *
|
||||
;***************************************************************************
|
||||
END
|
||||
|
Reference in New Issue
Block a user