⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smckxd.inc

📁 SMSC KBC1100键盘控制器原代码
💻 INC
📖 第 1 页 / 共 5 页
字号:
                                                                            
;---------------------------------------------------------------------
; 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 + -