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

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

?? reader.bas

?? DOS下的USB驅動源碼,包括UHCI
?? BAS
字號:
'This sample reads a sector of a memory card in a card reader using
'the bulk only protocol. It assumes the card to be in LUN number 1.

defint a-z

cls

devadd%=1
in_endpoint%=1
out_endpoint%=2

'define structure of URB
type urbtype
  transaction_token as byte 'control (2Dh), in (69h), out (E1h)
  chain_end_flag  as byte
  dev_add         as byte
  end_point       as byte
  error_code      as byte
  status          as byte  'returned by dosuhci
  transaction_flags as word 'reserved
  buffer_off      as word  'for in/out
  buffer_seg      as word  'for in/out
  buffer_length   as word  'for in/out
  actual_length   as word  'for in/out
  setup_buffer_off as word 'for control
  setup_buffer_seg as word 'for control
  start_frame     as word  'reserved
  nr_of_packets   as word  'iso
  int_interval    as byte  'reserved
  error_count     as byte  'reserved
  timeout         as word  'reserved
  next_urb_off    as word  'reserved
  next_urb_seg    as word  'reserved
end type '32 byte long

dim urb as urbtype

type setuptype
   bmRequestType  as byte
   bRequest	  as byte
   wValue	  as word
   wIndex         as word
   wLength        as word
end type

dim device_request as setuptype

type read_command  '31 byte
'first cbw fields  '15 byte
   signature      as dword
   tag            as dword
   tlength        as dword
   flags          as byte
   cbwlun         as byte
   clength        as byte
'now command fields '16 byte
   operation_code as byte
   lun            as byte
   lba            as dword
   reserved       as byte
   blocks         as word
   controls       as byte
   padding1       as word
   padding2       as word
   padding3       as word
end type

dim read_command_request as read_command

dim buffer as string*64
buffer=repeat$(64,chr$(0)) 'return data here

dim sbuffer as string*1256
sbuffer=repeat$(1256,chr$(0)) 'return data here

'End of data structures ************************************************

$if 0 'set to 1 to include debug on
'set debug on
urb.transaction_token=&HFF
urb.dev_add=devadd%  'dosuhci checks valid address

reg 1,2 'ax=2
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65
$endif

'get max lun
device_request.bmRequestType=&HA1
device_request.bRequest=&HFE
device_request.wValue=&H0000
device_request.wIndex=&H0000
device_request.wLength=&H0001


'set up command request
  urb.transaction_token=&H2D
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=0
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=1
  urb.actual_length=8
  urb.setup_buffer_off=varptr(device_request)
  urb.setup_buffer_seg=varseg(device_request)
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

'invalid device address?
if urb.error_code=1 then
        cls : locate 14,23
	print "Invalid device address"
        end
end if

'transaction error?
if urb.status >1 then
        cls : locate 14,23
	print "Device does not respond"
        end
end if

print
print "Logical units:" ascii(left$(buffer,urb.actual_length))+1 'zero based!

'set up inquiry command incl. cbw
read_command_request.signature=&H43425355
read_command_request.tag=&H82A36008
read_command_request.tlength=&h24
read_command_request.flags=&h80
read_command_request.cbwlun=0 '1
read_command_request.clength=&h06
'now command fields
read_command_request.operation_code=&h12
read_command_request.lun=0 '32 '=1
read_command_request.lba=&H240000
read_command_request.reserved=0
read_command_request.blocks=0
read_command_request.controls=0
read_command_request.padding1=0
read_command_request.padding2=0
read_command_request.padding3=0

buffer=read_command_request

'set up out request
  urb.transaction_token=&HE1
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=out_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=31
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

buffer=repeat$(100,chr$(0)) 'return data here

'set up in request
  urb.transaction_token=&H69
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=in_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=64
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

print
print "Inquiry:" left$(buffer,urb.actual_length)

'set up in request - to read CSW
  urb.transaction_token=&H69
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=in_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=64
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

print
print "CSW:" left$(buffer,urb.actual_length)

lbanumber%=120 'up to 65535 since big endian conversion limited here
gosub do_read

if urb.error_code >0 then
        cls : locate 14,23
	print "Buffer length exceeded"
        end
end if

print
print "Sector:" left$(sbuffer,512) 'urb.actual_length)

'set up in request - to read CSW
  urb.transaction_token=&H69
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=in_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=64
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

print
print "CSW:" left$(buffer,urb.actual_length)
print "status:" urb.status


end

do_read:  'needs lbanumber%
'set up bulk read command incl. cbw
read_command_request.signature=&H43425355
read_command_request.tag=&H82A36008
read_command_request.tlength=&h200 '512 byte
read_command_request.flags=&h80
read_command_request.cbwlun=1
read_command_request.clength=&h0A
'now command fields
read_command_request.operation_code=&h28
read_command_request.lun=32 '=1
rotate right lbanumber%,8   'big endian word now
read_command_request.lba=lbanumber%
shift left read_command_request.lba,16 'up to 65535 sectors big endian
read_command_request.reserved=0
read_command_request.blocks=1
rotate right read_command_request.blocks,8 'has to be big endian
read_command_request.controls=0
read_command_request.padding1=0
read_command_request.padding2=0
read_command_request.padding3=0

mid$(buffer,1,64)=read_command_request

'set up out request
  urb.transaction_token=&HE1
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=out_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=31
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

buffer=repeat$(64,chr$(0)) 'return data here

i=0
while i<8 'leave if 8 ( 8*64=512 )

'set up in request
  urb.transaction_token=&H69
  urb.chain_end_flag=0
  urb.dev_add=devadd%
  urb.end_point=in_endpoint%
  urb.error_code=0
  urb.status=0
  urb.transaction_flags=0
  urb.buffer_off=varptr(buffer)
  urb.buffer_seg=varseg(buffer)
  urb.buffer_length=64
  urb.actual_length=64
  urb.setup_buffer_off=0
  urb.setup_buffer_seg=0
  urb.start_frame=0
  urb.nr_of_packets=0
  urb.int_interval=0
  urb.error_count=0
  urb.timeout=0
  urb.next_urb_off=0
  urb.next_urb_seg=0

'now call DosUHCI
reg 8,varseg(urb)
reg 4,varptr(urb)
call interrupt &H65

if urb.status=0 then
	incr i
        midpos=1+(i-1)*64
        mid$(sbuffer,midpos)=buffer
elseif urb.status<>88 then
	exit loop
end if
'do not incr if 88

wend

return

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美裸体一区二区三区| 欧美成人video| 久久精品99国产精品日本| 国产精品久久久久影院| 欧美一区二区三区免费视频| 成人h动漫精品| 激情综合色综合久久| 一区二区三区不卡视频 | 成人av网站免费观看| 日韩精品电影一区亚洲| 中文字幕一区二| 久久久高清一区二区三区| 91精品婷婷国产综合久久性色| caoporen国产精品视频| 久久超级碰视频| 亚洲成av人片| 一级中文字幕一区二区| 国产精品蜜臀在线观看| 2022国产精品视频| 日韩欧美亚洲国产另类| 欧美日韩精品一区二区在线播放| jizzjizzjizz欧美| 国产精品一区免费视频| 精品一区二区三区在线观看| 日韩国产欧美在线观看| 亚洲福利一区二区| 亚洲第一福利一区| 一区二区三区产品免费精品久久75| 国产精品久久久久久久久果冻传媒 | 成人久久久精品乱码一区二区三区| 久久精品国产成人一区二区三区 | 国产在线视频一区二区| 日本在线不卡视频一二三区| 亚洲精品v日韩精品| 欧美韩国日本不卡| 国产三级一区二区三区| 国产亚洲欧美在线| 欧美国产精品中文字幕| 国产三级精品三级在线专区| 欧美韩国日本综合| 中文字幕亚洲欧美在线不卡| 国产精品久久久久桃色tv| 亚洲欧洲色图综合| 一区二区日韩av| 五月天视频一区| 日韩av在线免费观看不卡| 日韩精品视频网站| 激情五月婷婷综合| 国产精品69久久久久水密桃| 国产一区二区三区免费在线观看| 国产乱人伦精品一区二区在线观看 | 91在线视频播放| 色综合色综合色综合| 欧美视频在线一区| 日韩无一区二区| 亚洲精品在线观看视频| 久久久不卡影院| 综合在线观看色| 亚洲成人自拍一区| 美女被吸乳得到大胸91| 国产成人自拍在线| 色悠悠久久综合| 欧美一级淫片007| 精品欧美黑人一区二区三区| 国产人妖乱国产精品人妖| 中文字幕亚洲一区二区av在线| 一区二区三区视频在线看| 日韩精品五月天| 国产91丝袜在线18| 欧洲精品中文字幕| 日韩精品一区二区三区中文精品 | 亚洲国产欧美在线| 美女性感视频久久| 99视频精品全部免费在线| 欧美性生活一区| 国产午夜精品理论片a级大结局| 亚洲天堂成人在线观看| 免费的国产精品| 91丨九色丨蝌蚪丨老版| 欧美视频一区二区三区| 久久男人中文字幕资源站| 亚洲精品国产成人久久av盗摄| 免费人成黄页网站在线一区二区 | 欧美亚日韩国产aⅴ精品中极品| 欧美成人一区二区三区片免费| 国产精品少妇自拍| 免播放器亚洲一区| 色婷婷综合在线| 久久久久国产精品麻豆ai换脸| 亚洲乱码国产乱码精品精可以看| 奇米四色…亚洲| 色噜噜久久综合| 久久综合狠狠综合久久激情| 亚洲国产日产av| 不卡视频一二三| 久久蜜桃一区二区| 午夜精品在线看| av成人免费在线观看| 精品国产免费人成在线观看| 一级女性全黄久久生活片免费| 精品一区二区综合| 欧美欧美欧美欧美首页| 亚洲精品乱码久久久久久久久| 国产成人在线免费观看| 91精品在线一区二区| 一区二区三区中文字幕精品精品| 国产精品原创巨作av| 欧美一级一级性生活免费录像| 亚洲美女偷拍久久| 国产99久久久国产精品| 精品国产91亚洲一区二区三区婷婷| 亚洲精品视频在线看| 成人深夜在线观看| 久久亚洲精华国产精华液| 美女一区二区在线观看| 欧美日韩亚洲国产综合| 亚洲欧美另类小说| 99久久伊人精品| 国产精品乱人伦中文| 国模套图日韩精品一区二区| 日韩一区国产二区欧美三区| 视频在线观看91| 欧美三级资源在线| 亚洲精品成人在线| 色美美综合视频| 夜夜精品视频一区二区| 91在线一区二区三区| 国产欧美一区二区三区在线老狼| 老司机精品视频导航| 欧美一区中文字幕| 欧美aa在线视频| 日韩欧美视频一区| 玖玖九九国产精品| 欧美精品一区二区三区在线播放 | 国产成人欧美日韩在线电影| 日韩三级免费观看| 日韩福利电影在线| 日韩视频在线你懂得| 黄页视频在线91| 国产欧美日韩久久| 91原创在线视频| 一区二区三区国产豹纹内裤在线 | 精品乱人伦一区二区三区| 首页综合国产亚洲丝袜| 日韩欧美国产综合| 国产伦理精品不卡| 日韩一区二区不卡| 一区二区三区 在线观看视频| 欧美日韩亚洲综合在线| 美女网站视频久久| 国产色91在线| 日本黄色一区二区| 午夜欧美2019年伦理| 日韩精品中文字幕在线一区| 精品亚洲aⅴ乱码一区二区三区| 欧美成人在线直播| 国产成人在线视频网站| 一区二区三区在线视频观看 | 成人黄色av网站在线| 一区精品在线播放| 国产一区二区不卡| 亚洲天堂精品视频| 欧美一级日韩免费不卡| 国产精品资源在线看| 最好看的中文字幕久久| 欧美日韩的一区二区| 国产一区不卡精品| 一区二区三区.www| 精品国产污污免费网站入口| 成人99免费视频| 亚洲第一激情av| 欧美国产欧美亚州国产日韩mv天天看完整 | 91蝌蚪porny九色| 亚洲.国产.中文慕字在线| 精品国产免费久久| 色婷婷一区二区三区四区| 久久99精品久久久久久动态图 | 精品电影一区二区| 91网站最新地址| 久久成人羞羞网站| 亚洲男女一区二区三区| 日韩精品中文字幕一区二区三区| 99riav久久精品riav| 日本亚洲电影天堂| 亚洲欧美精品午睡沙发| 日韩免费看网站| 欧美午夜片在线看| 国产精品白丝av| 美女网站色91| 亚洲一区在线观看免费观看电影高清| 日韩欧美黄色影院| 欧美亚洲精品一区| 本田岬高潮一区二区三区| 免费看黄色91| 亚洲第一福利视频在线| 中文字幕日韩av资源站| 久久综合九色综合97婷婷| 欧美电影一区二区| 色婷婷激情一区二区三区| 成人深夜福利app|