www.pudn.com > EZ-USB HID Keyboard.zip > dscr.a51
;;----------------------------------------------------------------------------- ;; File: dscr.a51 ;; Contents: This file contains descriptor data tables. ;; ;; Copyright (c) 2001 Cypress Semiconductor All rights reserved ;;----------------------------------------------------------------------------- DSCR_DEVICE equ 1 ;; Descriptor type: Device DSCR_CONFIG equ 2 ;; Descriptor type: Configuration DSCR_STRING equ 3 ;; Descriptor type: String DSCR_INTRFC equ 4 ;; Descriptor type: Interface DSCR_ENDPNT equ 5 ;; Descriptor type: Endpoint ET_CONTROL equ 0 ;; Endpoint type: Control ET_ISO equ 1 ;; Endpoint type: Isochronous ET_BULK equ 2 ;; Endpoint type: Bulk ET_INT equ 3 ;; Endpoint type: Interrupt public DeviceDscr, ConfigDscr, StringDscr, UserDscr DSCR SEGMENT CODE ;;----------------------------------------------------------------------------- ;; Global Variables ;;----------------------------------------------------------------------------- rseg DSCR ;; locate the descriptor table in on-part memory. DeviceDscr: db deviceDscrEnd-DeviceDscr ;; Descriptor length db DSCR_DEVICE ;; Decriptor type dw 0001H ;; Specification Version (BCD) db 00H ;; Device class db 00H ;; Device sub-class db 00H ;; Device sub-sub-class db 64 ;; Maximum packet size dw 4705H ;; Vendor ID dw 0210H ;; Product ID (Sample Device) dw 0100H ;; Product version ID db 1 ;; Manufacturer string index db 2 ;; Product string index db 0 ;; Serial number string index db 1 ;; Number of configurations deviceDscrEnd: ConfigDscr: db ConfigDscrEnd-ConfigDscr ;; Descriptor length db DSCR_CONFIG ;; Descriptor type db (StringDscr-ConfigDscr) mod 256 ;; Config + End Points length (LSB) db (StringDscr-ConfigDscr) / 256 ;; Config + End Points length (MSB) db 1 ;; Number of interfaces db 1 ;; Interface number db 0 ;; Configuration string db 10100000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu) db 0 ;; Power requirement (div 2 ma) ConfigDscrEnd: IntrfcDscr: db IntrfcDscrEnd-IntrfcDscr ;; Descriptor length db DSCR_INTRFC ;; Descriptor type db 0 ;; Zero-based index of this interface db 0 ;; Alternate setting db 2 ;; Number of end points db 0ffH ;; Interface class db 00H ;; Interface sub class db 00H ;; Interface sub sub class db 0 ;; Interface descriptor string index IntrfcDscrEnd: EpInDscr: db EpInDscrEnd-EpInDscr ;; Descriptor length db DSCR_ENDPNT ;; Descriptor type db 82H ;; Endpoint number, and direction db ET_BULK ;; Endpoint type db 40H ;; Maximun packet size (LSB) db 00H ;; Max packect size (MSB) db 00H ;; Polling interval EpInDscrEnd: EpOutDscr: db EpOutDscrEnd-EpOutDscr ;; Descriptor length db DSCR_ENDPNT ;; Descriptor type db 02H ;; Endpoint number, and direction db ET_BULK ;; Endpoint type db 40H ;; Maximun packet size (LSB) db 00H ;; Max packect size (MSB) db 00H ;; Polling interval EpOutDscrEnd: ; note: you can have roughly 126 characters in each string below (unicode) StringDscr: StringDscr0: db StringDscr0End-StringDscr0 ;; String descriptor length db DSCR_STRING db 09H,04H StringDscr0End: StringDscr1: db StringDscr1End-StringDscr1 ;; String descriptor length db DSCR_STRING db 'K',00 db 'P',00 db 'D',00 db 'I',00 db 'O',00 db ' ',00 db '4',00 db 'X',00 db '4',00 db ' ',00 db 'K',00 db 'E',00 db 'Y',00 db 'P',00 db 'A',00 db 'D',00 db ' ',00 db 'v',00 db '0',00 db '.',00 db '2',00 db '.',00 db '0',00 db '0',00 db '0',00 db '0',00 StringDscr1End: StringDscr2: db StringDscr2End-StringDscr2 ;; Descriptor length db DSCR_STRING db 'E',00 db 'Z',00 db '-',00 db 'U',00 db 'S',00 db 'B',00 db ' ',00 db 'F',00 db 'X',00 db ' ',00 db 'D',00 db 'K',00 db ' ',00 db 'B',00 db 'O',00 db 'A',00 db 'R',00 db 'D',00 db ' ',00 db 'w',00 db '/',00 db 'P',00 db 'R',00 db 'O',00 db 'T',00 db 'O',00 db 'B',00 db 'O',00 db 'A',00 db 'R',00 db 'D',00 StringDscr2End: UserDscr: dw 0000H end