亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readme.txt

?? Cypress 的(鼠標+鍵盤)復合設備匯編源程序
?? TXT
字號:

*************************************************************************************
README.TXT:  Application notes for the Cypress Keyboard Demonstration Firmware



This file contains some useful information regarding the organization of the
keyboard code contained in this distribution.




1. CODE ORGANIZATION

The code is broken down into modules which are "included" together during assembly
to form a single executable.  You may build one of four variants  by assembling one
of the following files:

usb.asm:                builds a usb interface keyboard
ps2.asm:                builds a ps2 interface keyboard
usbps2.asm:             builds a usb/ps2 dual-interface keyboard
usbsm.asm:            builds a usb with slave mouse keyboard
usbsmps2.asm:           builds a usb with slave mouse/ps2 dual-interface keyboard.

Each of the above files contains include statements which control the assembling of
the necessary files to produce the variant executable.  The *.hex and *.rom files
which are produced by the assembler will have the same file name as the files above.
For instance if you were to assemble usbps2.asm, the resulting executable files would
be usbps2.hex and usbps2.rom.

Both dual-interface variants produce absolute code size which is greater than 4k 
in length. Due to the restrictions on code 
organization placed by the processor (namely, the restriction that code running 
in the upper 4k of memory cannot call a subroutine in the lower 4k), the primary
processing code for both USB and PS2 reside in the lower 4k of memory.  All shareable
and utility functions which may be called by either or both of these entities resides
in the upper 4k.  This would include the generic keyboard scanning routines, timing and delay
loops, the code which auto-detects which keyboard interface is connected, and
the USB and PS2-specific keyboard modules which receive key presses from the generic
keyboard scanning routine and converts them to the proper format (for PS2, this includes
the generation of scan codes for sets 1-3, the typematic key function, and the implementation
of a keyboard scan code fifo buffer; for USB, the usage table scan set and
the implementation and maintenance of the USB key packet buffer).  Thus, all code
in the upper 4k consists of functions which are called from code running in the lower
4k.  As such, there is free space for additional code development in both the
upper and lower 4k regions of code space.  See the listing file for the details of code usage.


A brief summary of the contents of each module is as follows:

usb.asm: contains the interrupt vector table, 1msec ISR and startup code for a 
usb interface keyboard. 

ps2.asm: contains the interrupt vector table, 1msec ISR and startup code for a 
ps2 interface keyboard. 

usbps2.asm: contains the interrupt vector table, 1msec ISR and startup code for a 
usb/ps2 dual-interface keyboard. 

usbsm.asm: contains the interrupt vector table, 1msec ISR and startup code for a 
usb with slave mouse keyboard. 

usbsmps2.asm: contains the interrupt vector table, 1msec ISR and startup code for a 
usb with slave mouse/ps2 dual-interface keyboard. 

usbmain.asm: contains the implementation of the USB w/slave ps2 mouse interface. 
This includes usb packet reception/transmission, suspend/resume functions, ISR routines,etc.


ps2main.asm: contains the implementation of the PS2 interface with the host. This
is entirely analagous to usbmain.asm.

ps2_io.asm: contains the implementation of the low-level PS2 clock/data interface.

usbdesc.asm: contains the usb descriptors for a usb keyboard. 

kbm_desc.asm: same as usbdesc.asm but contains descriptors for a usb with slave mouse
keyboard.

usbkey.asm: contains the USB-specific keyboard scanning functions.

ps2key.asm: contains the PS2-specific keyboard scanning functions.

keyscan.asm: contains the generic keyboard scanning functions.

util.asm:  contains the time-delay subroutine and the keyboard autodetection routine.

matrix.asm: contains the keyboard matrix lookup.

regs.inc: contains processor register definitions

usb.inc: contains equates for the USB implementation

ps2.inc: contains equates for the PS2 implementation

macros.inc: contains macro definitions

at101.inc: contains definitions for a standard 101-key keyboard

kb_mouse.asm,kbm_cmd.asm,kbm_util.asm,kbm_defs.asm kbm_task.asm : slave ps2 mouse functions.

*************************************************************************************


2. RAM USAGE

For both the dual-interface variants,
ram is "overlaid" for the USB and PS2 implementations; that is, common RAM locations are
used by the portions of USB and PS2 code that never run simultaneously. There is a
restriction on data memory usage in USB mode which was pointed out in the following
revision note for the USB code:
 
;========================================================================
; 12/08/97      nxk             Chip bug workaround
; Some data RAM addresses cannot be written to while the SETUP pid bit
; is set in the EP0 mode register.  These are:
; 70h - 7Fh, F0h - F7h in the CY3651
; E0h - E7h in the CY7C634/635xx
; Only F8h - FFh (end point 0 FIFO) is supposed to be locked out.
; This problem caused the Ch. 9 tests to fail after a large number
; of iterations in continuous loop mode.
; The firmware has been changed to avoid use of these locations.
; - data stack begins at address E0h rather than E8h
; - data memory variables no longer use addresses from 70h - 7Fh so that
;   the code will run on both the development board and chip.
;========================================================================


The dual-interface implementation adheres to this restriction. To do so, RAM is divided
into the following regions:


For USB:
00h-2fh:  program stack

30h-6fh:  data memory (currently used by usbmain) 

80h-xxh:  data memory (currently used by keyscan,usbkey, and slave mouse functions)

xxh-e0h:  data stack


For PS2:
00h-2fh:  program stack

30h-7fh:  data memory (currently used by ps2main) 

80h-xxh:  data memory (currently used by keyscan,ps2key)

xxh-ffh:  data stack


The 80h boundary avoids  the use of the data region 70h-7fh
in  USB interface variants. If RAM variables are added to any of the modules, the
listing file must be examined to insure that none of the RAM regions exceed the
region boundaries outlined above.  Note that all variants produce in the listing
file a series of labels in the cross-reference, beginning with the prefix "AA", 
which display RAM usage information for that executable. This allows RAM
RAM consumption to be examined at a glance.


*************************************************************************************


3. AUTODETECTION

Upon power-up, dual-interface firmware attempts to identify the host interface (PS2 or USB) 
to which it is attached.  It does this using the following algorithm:

Connect Bit is driven low.
Both D+ and D- are set to high-Z;

Wait 10 ms;

Poll D+ and D- for 1ms, sampling approximately every 2 us. If either or both D+
and D- are sampled high (1) for 4 consecutive samples, the interface is PS2.


ELSE:

Connect bit is driven high.

Delay 10 usec.

Poll D+ and D- for 50msec.  If D+ remains low (0) and D- remains high (1) for
50msec, the interface is USB.

ELSE:



Connect bit is driven low.
Interface is PS2.


The code which implements this algorithm can be found in util.asm.




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区欧美国产| 久久亚洲一区二区三区四区| 国产精品第五页| 99久久99久久久精品齐齐| 最新国产の精品合集bt伙计| 成人av影视在线观看| 国产精品第五页| 欧美三级中文字幕在线观看| 日韩国产在线一| 欧美成人猛片aaaaaaa| 国产高清不卡二三区| 国产精品网站在线播放| 92精品国产成人观看免费| 夜夜爽夜夜爽精品视频| 欧美放荡的少妇| 狠狠网亚洲精品| 亚洲欧美韩国综合色| 欧美丰满一区二区免费视频| 国模一区二区三区白浆| 国产精品久久午夜夜伦鲁鲁| 欧美在线视频你懂得| 九九**精品视频免费播放| 国产精品女上位| 欧洲一区在线电影| 国产在线播放一区| 亚洲欧洲国产日韩| 9191久久久久久久久久久| 韩国视频一区二区| 一区二区三区精品久久久| 精品理论电影在线观看| 色综合久久中文综合久久牛| 久久99九九99精品| 亚洲精品五月天| 精品国精品国产| 在线一区二区视频| 国产精品一区二区无线| 亚洲国产欧美一区二区三区丁香婷| 日韩美女一区二区三区| 97成人超碰视| 国模无码大尺度一区二区三区| 亚洲综合色视频| 中文字幕av一区 二区| 91精品国产一区二区三区蜜臀| 99久久久免费精品国产一区二区| 男男成人高潮片免费网站| 亚洲欧美综合另类在线卡通| 日韩欧美一级二级三级久久久| 色www精品视频在线观看| 国产一区欧美日韩| 午夜免费久久看| 亚洲精品综合在线| 国产精品丝袜久久久久久app| 91精品国产一区二区三区香蕉| 色综合天天综合狠狠| 国产真实乱偷精品视频免| 午夜久久电影网| 亚洲精品国产品国语在线app| 国产色产综合产在线视频| 日韩精品一区二区三区视频 | 国产精品亚洲人在线观看| 亚洲第一在线综合网站| 中文av一区特黄| 久久在线免费观看| 欧美一区二区三区免费在线看| 色婷婷av一区二区三区大白胸 | 久久精品亚洲精品国产欧美 | 91在线精品一区二区| 国产原创一区二区| 麻豆国产精品777777在线| 天堂一区二区在线免费观看| 亚洲午夜电影网| 亚洲一区在线观看免费观看电影高清 | 欧美a一区二区| 日韩影视精彩在线| 天天综合色天天综合色h| 亚洲综合清纯丝袜自拍| 亚洲精品乱码久久久久久黑人 | 美女在线视频一区| 蜜桃视频第一区免费观看| 免费一区二区视频| 美国十次了思思久久精品导航| 美女免费视频一区| 久久电影国产免费久久电影| 奇米亚洲午夜久久精品| 麻豆国产一区二区| 精品一区二区三区在线观看| 久久99精品一区二区三区三区| 九九**精品视频免费播放| 国产精品一区二区你懂的| 国产成人aaaa| 99久久精品国产麻豆演员表| 91视频.com| 欧美亚洲一区二区三区四区| 69p69国产精品| 欧美一级二级在线观看| 精品美女在线播放| 国产女人aaa级久久久级 | eeuss鲁一区二区三区| 不卡的电影网站| 色综合久久综合| 欧美日韩国产高清一区二区三区| 日韩三级.com| 日本一区二区成人| 亚洲影视资源网| 久久99精品久久久久久国产越南| 粉嫩绯色av一区二区在线观看| fc2成人免费人成在线观看播放| 欧美在线观看视频一区二区| 欧美一区二区三区男人的天堂| 久久久噜噜噜久久中文字幕色伊伊 | 色噜噜狠狠色综合欧洲selulu| 欧美日韩高清一区| 精品捆绑美女sm三区| 国产精品白丝在线| 亚洲国产成人porn| 欧美国产综合色视频| 五月婷婷综合网| 免费高清在线视频一区·| 日韩不卡在线观看日韩不卡视频| 国产一区免费电影| 一片黄亚洲嫩模| 免费高清在线视频一区·| 亚洲h动漫在线| 欧美一级理论片| 欧美视频精品在线| 欧美www视频| 亚洲愉拍自拍另类高清精品| 精品一区二区三区免费视频| 色噜噜久久综合| 久久综合九色综合欧美98| 亚洲午夜在线电影| 国产a久久麻豆| 欧美精品免费视频| 中文字幕五月欧美| 九九九久久久精品| 欧美日韩一区二区三区不卡| 久久综合色之久久综合| 亚洲一区二区三区中文字幕在线| 国产99久久久精品| 宅男在线国产精品| 亚洲精品日韩专区silk| 国产成人高清在线| 欧美一区二区三级| 亚洲激情第一区| 成人福利视频在线| 久久免费午夜影院| 麻豆国产欧美日韩综合精品二区| 色噜噜狠狠色综合中国| 国产精品理伦片| 国产一区二区三区香蕉| 欧美美女直播网站| 亚洲欧美一区二区三区孕妇| 国产成人丝袜美腿| 精品电影一区二区三区| 首页综合国产亚洲丝袜| 欧洲国内综合视频| 亚洲免费三区一区二区| 波多野结衣亚洲一区| 久久综合av免费| 久久99精品国产.久久久久| 欧美精品视频www在线观看 | 欧美日韩高清在线| 亚洲视频在线一区| 9人人澡人人爽人人精品| 国产精品美女久久久久久久| 国产在线播精品第三| 精品久久久久香蕉网| 精品一区二区三区视频| 欧美成人精品二区三区99精品| 奇米精品一区二区三区在线观看| 91麻豆精品国产自产在线观看一区| 亚洲一线二线三线视频| 欧美女孩性生活视频| 丝袜亚洲精品中文字幕一区| 欧美肥妇毛茸茸| 美国欧美日韩国产在线播放| 精品国内片67194| 国产一区二区视频在线播放| 久久综合丝袜日本网| 国产一区二区91| 国产精品久久久久aaaa| 91在线视频播放| 亚洲午夜久久久久久久久电影院| 欧美三级电影在线观看| 亚洲成人av免费| 欧美日韩亚洲综合在线| 一级女性全黄久久生活片免费| 91国产免费观看| 三级欧美韩日大片在线看| 精品久久久久av影院| 国产福利一区二区三区视频| 成人欧美一区二区三区白人| 色丁香久综合在线久综合在线观看| 亚洲午夜国产一区99re久久| 日韩天堂在线观看| 丁香亚洲综合激情啪啪综合| 亚洲伦理在线免费看| 欧美一区二区三级| 风流少妇一区二区| 亚洲国产美女搞黄色|