📄 smckxd.inc
字号:
;---------------------------------------------------------------------
; Key Buffer Control
PS2ROUNT equ 8260h ; PS/2 Rountie Register R/W
SPE_KEY_CNF equ 8261h ; SPE_KEY_CNF Register R/W
MAK_BYTE1 equ 8263h ; Make_Byte1 register R/W
MAK_BYTE2 equ 8264h ; Make_Byte2 register R/W
BRK_BYTE1 equ 8265h ; Break_Byte1 register R/W
BRK_BYTE2 equ 8266h ; Break_Byte2 register R/W
BRK_BYTE3 equ 8267h ; Break_Byte3 register R/W
MOUSE_S_WAK equ 8268h ; Mouse Specific Wake register R/W
DBLCLICK equ 8269h ; Double click register R/W
;---------------------------------------------------------------------
; CIR Control
CIRBLKN0 equ 8288h ; CIRCC SCE Register Block N,Addr 0 R/W
CIRBLKN1 equ 8289h ; CIRCC SCE Register Block N,Addr 1 R/W
CIRBLKN2 equ 828Ah ; CIRCC SCE Register Block N,Addr 2 R/W
CIRBLKN3 equ 828Bh ; CIRCC SCE Register Block N,Addr 3 R/W
CIRBLKN4 equ 828Ch ; CIRCC SCE Register Block N,Addr 4 R/W
CIRBLKN5 equ 828Dh ; CIRCC SCE Register Block N,Addr 5 R/W
CIRBLKN6 equ 828Eh ; CIRCC SCE Register Block N,Addr 6 R/W
CIRBLKN7 equ 828Fh ; CIRCC SCE Register Block N,Addr 7 R/W
CIROPT equ 8292h ; CIR Option Register R/W
CIRHDT equ 8293h ; CIR Half Duplex Timeout Regsiter R/W
CIRSSELA equ 8294h ; CIRCC Software Select register A R/W
CIRSSELB equ 8295h ; CIRCC Software Select register B R/W
ECAR equ 8298h ; EC Assignment Register R/W
CIRSWAP equ 829Ah ; CIR Swapable Owner Interface Ctrl Reg R/W
;-------------------------- INTERNAL RAM EQUATES ----------------------------
; Direct & Indirect Addressing
;----------------------------------------------------------------------------
regr0 equ 000h ; RAM: direct address of Register R0
regr1 equ 001h ; RAM: direct address of Register R1
regr2 equ 002h ; RAM: direct address of Register R2
regr3 equ 003h ; RAM: direct address of Register R3
regr4 equ 004h ; RAM: direct address of Register R4
regr5 equ 005h ; RAM: direct address of Register R5
regr6 equ 006h ; RAM: direct address of Register R6
regr7 equ 007h ; RAM: direct address of Register R7
PSWRD_A equ regr1 ; RAM:BCh Cmd, Temp storage for PWAREA
MAKBUF_A equ regr2 ; RAM:BCh Cmd, Temp storage for MAKEBUF
FnSHFT_A equ regr3 ; RAM:BCh Cmd, Temp storage for RAM FnSHFT
LENGTH_A equ regr4 ; RAM:BCh Cmd, Temp storage for Table Size
regr0_1 equ 008h ; RAM: direct address of register R0
regr1_1 equ 009h ; RAM: direct address of register R1
regr2_1 equ 00Ah ; RAM: direct address of register R2
regr3_1 equ 00Bh ; RAM: direct address of register R3
regr4_1 equ 00Ch ; RAM: direct address of register R4
regr5_1 equ 00Dh ; RAM: direct address of register R5
regr6_1 equ 00Eh ; RAM: direct address of register R6
regr7_1 equ 00Fh ; RAM: direct address of register R7
TMRATE7 equ 010h ; RAM: 600us for device to take 1 bit
WAKETSK equ 011h ; RAM:Wake Up Task storage
DLYTSK1 equ 012h ; RAM:Delayed Task storage
FUNCTION equ 013h ; RAM:HotKey Interrupt Function Request
LASTKBD equ 014h ; RAM:Storage for the Last ScanCode
; Reserved 9 bytes
SWICTRL equ 01Eh ; RAM:SWI control byte
SMICTRL equ 01Fh ; RAM:SMI control byte
;------ START OF BIT ADRESSABLE AREA
KCCB equ 020h ; RAM:Keyboard Controller Command Byte
KCSTATE equ 021h ; RAM:Keyboard Controller State Flags
KCMISC equ 022h ; RAM:Keyboard Controller Misc Flags
KSTATE1 equ 023h ; RAM:Keyboard ScanCode Set & LED state
KSTATE2 equ 024h ; RAM:Keyboard Typematic Delay & Rate
KSTATE3 equ 025h ; RAM:Keyboard Shift State & Flags
KSTATE4 equ 026h ; RAM:Keyboard Buffer State Flags
TIMEOUT equ 027h ; RAM:Keyboard Controller Timeout flags
KSTATE5 equ 028h ; RAM:Keyboard Buffer State Flags
KSTATEA equ 029h ; RAM:Keyboard Controller Config Flags
KSTATE6 equ 02Ah ; RAM:Keyboard Buffer State Flags
KSTATE7 equ 02Bh ; RAM:Keyboard Controller Control Flags
KSTATE8 equ 02Ch ; RAM:Keyboard Controller Control Flags
KSTATE9 equ 02Dh ; RAM:Keyboard Controller Control Flags
HOTKEYS equ 02Eh ; RAM:Storage for Hot Key flags
PS2WkMsk equ 02Fh ; RAM:PS/2 Devices Wake Mask
;------- END OF BIT ADRESSABLE AREA
PENDING equ 030h ; RAM:Storage for the OBF Pending Data
BRKBUF0 equ 031h ; RAM:KEYBUF Makes/Breaks in a circular queue
BRKBUF1 equ 032h ; RAM:KEYBUF Makes/Breaks in a circular queue
DELAY0 equ 033h ; RAM:Repeat delay counter, 0=No key to repeat
INDEX equ 034h ; RAM:Phoenix entended memory index
BREAK equ 035h ; RAM:Break-code (00h or 80h) from keyboard
TSKDLY equ 036h ; RAM:DLYTSK1 Task delay (Disabled if zero)
LEDCNT equ 037h ; RAM:LED Flash counter
KEYRPT equ 038h ; RAM:Ptr to key to be repeated
OUTPTR equ 039h ; RAM:Next available OUTBUF location
TOPPTR equ 03Ah ; RAM:Next KEYBUF location to output
BOTPTR equ 03Bh ; RAM:Next available KEYBUF location
TMRATE1 equ 03Ch ; RAM:380us for device to take 1 bit
TMRATE2 equ 03Dh ; RAM:2.4ms to receive a byte of data
TMRATE3 equ 03Eh ; RAM:12.0ms for device to rcv 1st bit
TMRATE4 equ 03Fh ; RAM:Parallel Keyboard scanning time (5.00ms)
PWNULL1 equ 040h ; RAM:Sent when Password enabled (if not 0)
PWNULL2 equ 041h ; RAM:Sent when Password disabled (if not 0)
PWSCAN1 equ 042h ; RAM:Ignored ScanCode when Password = enabled
PWSCAN2 equ 043h ; RAM:Ignored ScanCode when Password = enabled
PWINDEX equ 044h ; RAM:Password index
BlkMtrxT equ 045h ; RAM:Block Matrix Timer (B7= Skip Int Kbd output)
DEBOUNCE equ 046h ; RAM:Make & Break Debounce initial values
TMRATE5 equ 047h ; RAM:Device Interface inactive minimum
InpDEBNCE equ 048h ; RAM:Input pins Debounce timer value
InpRpTmrL equ 049h ; RAM:Inp Event Repetitive Task Timer Low
InpRpTmrH equ 04Ah ; RAM:Inp Event Repetitive Task Timer High
BATTDLY equ 04Bh ; RAM: Battery Alarm Poll/Signal Period
BATTTSK equ 04Ch ; RAM: Battery Alarm Task
SMBFL2 equ 04Dh ; RAM: SMB Interface Status Flags 2
SMBFLG equ 04Eh ; RAM: SMB Interface Status Flags
InpRpLtch equ 04Fh ; RAM:Inp Event Repetitive Task Latch
BATTMSK equ 050h ; RAM: Battery Alarm Event Mask
BAT2MSK equ 051h ; RAM: Battery Alarm Event Mask 2
BAT3MSK equ 052h ; RAM: Battery Alarm Event Mask 3
SMBFL3 equ 053h ; RAM: SMB Interface Status Flags 2
FnSTICKY equ 054h ; RAM:Fn Sticky Key control/status flags
GHOSTFLG equ 055h ; RAM:bew GHOST key check flag
TMPULSE equ 056h ; RAM:wiggle pin pulse
SMBSTAT equ 057h ; RAM:SMBus state
MAKEBUF equ 058h ; RAM:Possible Key makes w/debounce counter
AUXMUX equ 068h ; RAM:Aux Multiplexed Mode control flags
AuxPref equ 069h ; RAM:Aux Routing Prefix storage
LastAuxCm equ 06Ah ; RAM:Last Aux Command storage
AUXPRIME equ 06Bh ; RAM:Aux Legacy Mode Primary port # storage
MSTATE1 equ 06Ch ; RAM:PS/2 Mouse1 State flags
MSTATE2 equ 06Dh ; RAM:PS/2 Mouse2 State flags
MSTATE3 equ 06Eh ; RAM:PS/2 Mouse3 State flags (sample rate)
MSTATE4 equ 06Fh ; RAM:PS/2 Mouse4 State flags
AuxPndSts equ 070h ; RAM:Aux pending data status
PS2IDX equ 071h ; RAM:PS/2 Arrays Index (= active port #)
PS2STATE equ 072h ; RAM:PS/2 Ports State flags
PS2PMF equ 073h ; RAM:PS/2 Devices Power State flags
PS2WKTSK equ 074h ; RAM:PS/2 Wake Task
PS2TSK equ 075h ; RAM:PS/2 run time data received Task
MISCPMF equ 076h ; RAM:Misc Power Management Flags
MISCTMP equ 077h ; RAM:Misc Temporary Flags
MISCTM2 equ 078h ; RAM:Misc Temporary Flags 2
MISCTM3 equ 079h ; RAM:Misc Temporary Flags 3
; equ 07Ah ; SWI Notification Queue Top pointer
AKBRKTSK equ 07Bh ; RAM:PWM break Task
SCANDLY equ 07Ch ; RAM:delay between scan address & data input
r9 equ 07Dh ; RAM: Temp Register 9
x equ 07Eh ; RAM: X index
y equ 07Fh ; RAM: Y index
;----------------------------------------------------------------------------
; Indirect Addressing Only
;----------------------------------------------------------------------------
KEYBUF equ 080h ; RAM:KEYBUF Keys Codes in a circular queue
OUTBUF equ 090h ; RAM:Data waiting to be sent, LIFO stack
PS55BUF equ 0A0h ; RAM:PS/55 key codes w/debounce counter
PS55END equ PS55BUF+08h ; RAM:End of PS/55 buffer indicator
FNSPEC0 equ 0A8h ; RAM:Function HotKey Specification byte 0
FNSPEC1 equ 0A9h ; RAM:Function HotKey Specification byte 1
FNSPEC2 equ 0AAh ; RAM:Function HotKey Specification byte 2
FNSPEC3 equ 0ABh ; RAM:Function HotKey Specification byte 3
FNSPEC4 equ 0ACh ; RAM:Function HotKey Specification byte 4
AKSPEC0 equ 0ADh ; RAM:Analog HotKey Specification byte 0
AKSPEC1 equ 0AEh ; RAM:Analog HotKey Specification byte 1
AuxBATTmr equ 0AFh ; RAM:Aux BAT watch dog timer
PS20CFG equ 0B0h ; RAM:PS/2 Configuration Flags Array (3 bytes)
PS20ID equ 0B3h ; RAM:PS/2 Aux Devices ID Array (3 bytes)
PS20BUT equ 0B6h ; RAM:PS/2 Aux Devices Button state (3 bytes)
PS20InacT equ 0B9h ; RAM:PS/2 Inactivity Timers Array (3 bytes)
AuxDataBuf equ 0BCh ; RAM:Emulated Aux Data Buffer (4 bytes)
HOTKEY1 equ 0C0h ; RAM:HotKey1 ScanCode storage
HOTKEY2 equ 0C1h ; RAM:HotKey2 ScanCode storage
HOTKEY3 equ 0C2h ; RAM:HotKey3 ScanCode storage
HOTKEY4 equ 0C3h ; RAM:HotKey4 ScanCode storage
HOTKEY5 equ 0C4h ; RAM:HotKey5 ScanCode storage
HOTKEY6 equ 0C5h ; RAM:HotKey6 ScanCode storage
KEYTSK1 equ 0C6h ; RAM:HotKey1 Task storage
KEYTSK2 equ 0C7h ; RAM:HotKey2 Task storage
KEYTSK3 equ 0C8h ; RAM:HotKey3 Task storage
KEYTSK4 equ 0C9h ; RAM:HotKey4 Task storage
KEYTSK5 equ 0CAh ; RAM:HotKey5 Task storage
FNTSK0 equ 0CBh ; RAM:Function HotKeys Task 0 storage = SMI
FNTSK1 equ 0CCh ; RAM:Function HotKeys Task 1 storage
FNSEL0 equ 0CDh ; RAM:Function HotKey Task Selector byte 0
FNSEL1 equ 0CEh ; RAM:Function HotKey Task Selector byte 1
FNSEL2 equ 0CFh ; RAM:Function HotKey Task Selector byte 2
PWAREA equ 0D0h ; RAM:0D7h-0DFh = Password area (9 bytes)
PWLIMIT equ PWAREA+09h ; RAM:One pass the Password area
KBCRETVEC equ 0D9h ; RAM:KBC Data Return Vector (2 bytes)
KBCCNTX equ 0DBh ; RAM:KBC Command Context (5 bytes) 0DBh-0DFh
STACK equ 0E0h ; RAM:SP incremented before placing data
;----------------------------------------------------------------------------
MatrixBase equ 000h ; ExtRAM: storage of the Matrix 0000h-007Fh
FNTBL equ 080h ; ExtRAM: storage of the Fn-Table 0080h-00FFh
;----------------- EXTERNAL RAM EQUATES, ACTIVE PS/2 ------------------------
;----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -