
Cypress CY3640 USB Starter Kit
User’s Guide
Cypress Semiconductor Ver 0.993
Page 33
mov a,[USBEndP0FIFO_2]
push a
pop x
mov a,[x +0]
mov [USBEndP0FIFO_1],a
jmp USBEventEP0VendorRqstFinish
USBEventEP0VendorRqstWriteRAM:
cmp a,3
jnz USBEventEP0VendorRqstReadPort ; No
;*********************************************
; Write RAM Event
;*********************************************
mov a,[USBEndP0FIFO_2]
push a
pop x
mov a,[USBEndP0FIFO_4]
mov [x +0],a
jmp USBEventEP0VendorRqstFinish
USBEventEP0VendorRqstReadPort:
cmp a,04h
jnz USBEventEP0VendorRqstWritePort ; No
;*********************************************
; Read Port Event
;*********************************************
mov a,[USBEndP0FIFO_2]
cmp a,0h
jnz USBEventEP0VendorRqstReadPort1
USBEventEP0VendorRqstReadPort0:
iord SysPort0
jmp USBEventEP0VendorRqstReadPortsDone
USBEventEP0VendorRqstReadPort1:
iord SysPort1
;jmp USBEventEP0VendorRqstReadPortsDone ; redundant, but good practice
USBEventEP0VendorRqstReadPortsDone:
mov [USBEndP0FIFO_1],a
jmp USBEventEP0VendorRqstFinish
USBEventEP0VendorRqstWritePort:
cmp a,05h
jnz USBEventEP0Stall ; No
;*********************************************
; Write Port Event
;*********************************************
mov a,[USBEndP0FIFO_2]
cmp a,0
jnz USBEventEP0VendorRqstReadPort1
USBEventEP0VendorRqstWritePort0:
mov a,[USBEndP0FIFO_4]
iowr SysPort0
jmp USBEventEP0VendorRqstWritePortsDone
USBEventEP0VendorRqstWritePort1:
mov a,[USBEndP0FIFO_4]
iowr SysPort1
;jmp USBEventEP0VendorRqstWritePortsDone ; redundant, but good practice
USBEventEP0VendorRqstWritePortsDone:
;jmp USBEventEP0VendorRqstFinish ; redundant, but good practice
USBEventEP0VendorRqstFinish:
; Protocol ACK