CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

KEYBOARD.INC (4750B)


      1 ;
      2 ; Copyright 2020 Electronic Arts Inc.
      3 ;
      4 ; TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 
      5 ; software: you can redistribute it and/or modify it under the terms of 
      6 ; the GNU General Public License as published by the Free Software Foundation, 
      7 ; either version 3 of the License, or (at your option) any later version.
      8 
      9 ; TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 
     10 ; in the hope that it will be useful, but with permitted additional restrictions 
     11 ; under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 
     12 ; distributed with this program. You should have received a copy of the 
     13 ; GNU General Public License along with permitted additional restrictions 
     14 ; with this program. If not, see [https://github.com/electronicarts/CnC_Remastered_Collection]>.
     15 
     16 ;***************************************************************************
     17 ;**   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   **
     18 ;***************************************************************************
     19 ;*                                                                         *
     20 ;*                 Project Name : Westwood 32 bit Library                  *
     21 ;*                                                                         *
     22 ;*                    File Name : KEYBOARD.INC                             *
     23 ;*                                                                         *
     24 ;*                   Programmer : Phil W. Gorrow                           *
     25 ;*                                                                         *
     26 ;*                   Start Date : July 12, 1994                            *
     27 ;*                                                                         *
     28 ;*                  Last Update : July 12, 1994   [PWG]                    *
     29 ;*                                                                         *
     30 ;*-------------------------------------------------------------------------*
     31 ;* Contains all the defines used by the keyboard interrupt for assembly    *
     32 ;*   includes.                                                             *
     33 ;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
     34 
     35 TRUE		EQU	1			; numerical true
     36 FALSE		EQU	0			; numerical false
     37 DEBUG		EQU	1
     38 
     39 MAX_X_PIXEL		EQU	319
     40 MAX_Y_PIXEL		EQU	199
     41 
     42 
     43 KN_RESERVED1		EQU	14
     44 KN_RESERVED2		EQU	45
     45 KN_RESERVED3		EQU	56
     46 
     47 
     48 ; these two are reserved for AMIGA open and close.
     49 KN_LCOMM		EQU	59
     50 KN_RCOMM		EQU	63
     51 
     52 KN_LMOUSE		EQU	65
     53 KN_RMOUSE		EQU	66
     54 KN_JBUTTON1		EQU	67
     55 KN_JBUTTON2		EQU	68
     56 KN_J_UP			EQU	69
     57 KN_J_RIGHT		EQU	70
     58 KN_J_DOWN		EQU	71
     59 KN_J_LEFT		EQU	72
     60 
     61 KN_LEFT			EQU	92
     62 KN_UPLEFT		EQU	91
     63 KN_UP			EQU	96
     64 KN_UPRIGHT		EQU	101
     65 KN_RIGHT		EQU	102
     66 KN_DOWNRIGHT		EQU	103
     67 KN_DOWN			EQU	98
     68 KN_DOWNLEFT		EQU	93
     69 KN_CENTER		EQU	97
     70 
     71 KN_INSERT		EQU	99
     72 KN_DELETE		EQU	104
     73 
     74 KN_RETURN		EQU	43
     75 KN_SPACE		EQU	61
     76 KN_KEYPAD_RETURN	EQU	108
     77 
     78 
     79 ; these two are reserved for AMIGA K left and right paren
     80 KN_KLPAREN		EQU	87
     81 KN_KRPAREN		EQU	88
     82 
     83 
     84 KN_NUMLOCK		EQU	90
     85 
     86 KN_SCROLLOCK		EQU	125		; key ignored by the logging system
     87 
     88 KN_MOUSE_MOVE	EQU	45	; Indicate a mouse move (for playback of logged data)
     89 
     90 ; ----------------------------------------------------------------
     91 ; flags used in Keyflags to customize keystroke interrupt.
     92 
     93 REPEATON	EQU	0001H	; 1:all makes into buffer, 0:only 1st make
     94 TRACKEXT	EQU	0002H	; 1:Home != keypad Home, 0:Home=keypad Home
     95 FILTERONLY	EQU	0004H	; 1:Normal BIOS operation with filter
     96 CTRLSON		EQU	0008H	; 1:pass scroll lock sequence into BIOS
     97 CTRLALTTURBO	EQU	0010H	; 1:Allow turbo up and down in application
     98 CTRLCON		EQU	0020H	; 1:pass stop code to BIOS
     99 SCROLLLOCKON	EQU	0040H	; 1:pass scroll lock key into BIOS
    100 PAUSEON		EQU	0080H	; 1:pass the pause key and seq to BIOS
    101 BREAKON		EQU	0100H	; 1:pass the ctrl break seq to BIOS
    102 NONUMLOCK	EQU	0200H	; 1:do NOT remap keypad to numbers
    103 TASKSWITCHABLE	EQU	0400H	; 1:allows task switching keys thru ALT-TAB,
    104 				;   ALT-ESC,CTRL-ESC
    105 PASSBREAKS	EQU	0800H	; 1:Pass all break codes to keyboard buffer.
    106 KEYMOUSE	EQU	1000H	; 1:Numeric keypad moves mouse
    107 SIMLBUTTON	EQU	2000H	; 1:have space and enter keys simulate Left
    108 DEBUGINT	EQU	4000H	;   mouse button when KEYMOUSE is set
    109 
    110 
    111 SHIFTPRESS	EQU	001H	; bit 0 for shift key pressed
    112 CTRLPRESS	EQU	002H	; bit 1 for ctrl key pressed
    113 ALTPRESS	EQU	004H	; bit 2 for alt key pressed
    114 KEYRELEASE	EQU	008H	; bit 3 for key released
    115 NOTKEYRELEASE	EQU	0F7H	; not of key released
    116 
    117 CAPSLOCK	EQU	00001H	; bit 0 for caps locked
    118 NUMLOCK	EQU	00002H	; bit 1 for num locked
    119 
    120 
    121 
    122 CLEARISR	EQU	020H	; value to clear In Service Register
    123 DOS		EQU 	021H
    124 INTCHIP0	EQU	020H	; 8259 interrupt chip controller 0
    125 KEYCTRL		EQU	061H	; control bits for KB sense data
    126 KEYDATA		EQU	060H	; keyboard scan code port