|
|
@ -56,7 +56,7 @@ _chufi_init: |
|
|
push ix |
|
|
push ix |
|
|
ld ix,0 |
|
|
ld ix,0 |
|
|
add ix,sp |
|
|
add ix,sp |
|
|
push af |
|
|
|
|
|
|
|
|
dec sp |
|
|
;source-doc/ufi-drv/ufi-init.c:14: do { |
|
|
;source-doc/ufi-drv/ufi-init.c:14: do { |
|
|
ld (ix-1),0x01 |
|
|
ld (ix-1),0x01 |
|
|
l_chufi_init_00105: |
|
|
l_chufi_init_00105: |
|
|
@ -89,8 +89,10 @@ l_chufi_init_00105: |
|
|
ld hl,ufi_init_str_1 |
|
|
ld hl,ufi_init_str_1 |
|
|
call _print_string |
|
|
call _print_string |
|
|
pop de |
|
|
pop de |
|
|
;source-doc/ufi-drv/ufi-init.c:26: print_uint16(storage_count); |
|
|
|
|
|
ld hl, (_storage_count) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:26: print_uint16(storage_device->drive_index); |
|
|
|
|
|
ld hl,16 |
|
|
|
|
|
add hl,de |
|
|
|
|
|
ld l, (hl) |
|
|
ld h,0x00 |
|
|
ld h,0x00 |
|
|
push de |
|
|
push de |
|
|
call _print_uint16 |
|
|
call _print_uint16 |
|
|
@ -98,29 +100,18 @@ l_chufi_init_00105: |
|
|
ld hl,ufi_init_str_2 |
|
|
ld hl,ufi_init_str_2 |
|
|
call _print_string |
|
|
call _print_string |
|
|
pop de |
|
|
pop de |
|
|
;source-doc/ufi-drv/ufi-init.c:28: storage_device->drive_index = storage_count++; |
|
|
|
|
|
ld hl,0x0010 |
|
|
|
|
|
add hl, de |
|
|
|
|
|
ld c, l |
|
|
|
|
|
ld b, h |
|
|
|
|
|
ld hl,_storage_count |
|
|
|
|
|
ld a, (hl) |
|
|
|
|
|
ld (ix-2),a |
|
|
|
|
|
inc (hl) |
|
|
|
|
|
ld a,(ix-2) |
|
|
|
|
|
ld (bc), a |
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:29: dio_add_entry(ch_ufi_fntbl, storage_device); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:28: dio_add_entry(ch_ufi_fntbl, storage_device); |
|
|
ld hl,_ch_ufi_fntbl |
|
|
ld hl,_ch_ufi_fntbl |
|
|
call _dio_add_entry |
|
|
call _dio_add_entry |
|
|
l_chufi_init_00106: |
|
|
l_chufi_init_00106: |
|
|
;source-doc/ufi-drv/ufi-init.c:32: } while (++index != MAX_NUMBER_OF_DEVICES + 1); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:31: } while (++index != MAX_NUMBER_OF_DEVICES + 1); |
|
|
inc (ix-1) |
|
|
inc (ix-1) |
|
|
ld a,(ix-1) |
|
|
ld a,(ix-1) |
|
|
sub 0x07 |
|
|
sub 0x07 |
|
|
jr NZ,l_chufi_init_00105 |
|
|
jr NZ,l_chufi_init_00105 |
|
|
l_chufi_init_00108: |
|
|
l_chufi_init_00108: |
|
|
;source-doc/ufi-drv/ufi-init.c:33: } |
|
|
|
|
|
ld sp, ix |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:32: } |
|
|
|
|
|
inc sp |
|
|
pop ix |
|
|
pop ix |
|
|
ret |
|
|
ret |
|
|
ufi_init_str_0: |
|
|
ufi_init_str_0: |
|
|
@ -134,7 +125,7 @@ ufi_init_str_1: |
|
|
ufi_init_str_2: |
|
|
ufi_init_str_2: |
|
|
DEFM " $" |
|
|
DEFM " $" |
|
|
DEFB 0x00 |
|
|
DEFB 0x00 |
|
|
;source-doc/ufi-drv/ufi-init.c:35: uint32_t chufi_get_cap(device_config *const dev) { |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:34: uint32_t chufi_get_cap(device_config *const dev) { |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
; Function chufi_get_cap |
|
|
; Function chufi_get_cap |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
@ -145,7 +136,7 @@ _chufi_get_cap: |
|
|
ld hl, -72 |
|
|
ld hl, -72 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld sp, hl |
|
|
ld sp, hl |
|
|
;source-doc/ufi-drv/ufi-init.c:37: memset(&response, 0, sizeof(ufi_format_capacities_response)); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:36: memset(&response, 0, sizeof(ufi_format_capacities_response)); |
|
|
ld hl,0 |
|
|
ld hl,0 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld b,0x12 |
|
|
ld b,0x12 |
|
|
@ -156,7 +147,7 @@ l_chufi_get_cap_00112: |
|
|
ld (hl), a |
|
|
ld (hl), a |
|
|
inc hl |
|
|
inc hl |
|
|
djnz l_chufi_get_cap_00112 |
|
|
djnz l_chufi_get_cap_00112 |
|
|
;source-doc/ufi-drv/ufi-init.c:39: wait_for_device_ready(dev, 25); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:38: wait_for_device_ready(dev, 25); |
|
|
ld a,0x19 |
|
|
ld a,0x19 |
|
|
push af |
|
|
push af |
|
|
inc sp |
|
|
inc sp |
|
|
@ -166,7 +157,7 @@ l_chufi_get_cap_00112: |
|
|
call _wait_for_device_ready |
|
|
call _wait_for_device_ready |
|
|
pop af |
|
|
pop af |
|
|
inc sp |
|
|
inc sp |
|
|
;source-doc/ufi-drv/ufi-init.c:43: ufi_inquiry(dev, &inquiry); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:42: ufi_inquiry(dev, &inquiry); |
|
|
ld hl,36 |
|
|
ld hl,36 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
push hl |
|
|
push hl |
|
|
@ -175,7 +166,7 @@ l_chufi_get_cap_00112: |
|
|
push hl |
|
|
push hl |
|
|
call _ufi_inquiry |
|
|
call _ufi_inquiry |
|
|
pop af |
|
|
pop af |
|
|
;source-doc/ufi-drv/ufi-init.c:45: wait_for_device_ready(dev, 15); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:44: wait_for_device_ready(dev, 15); |
|
|
ld h,0x0f |
|
|
ld h,0x0f |
|
|
ex (sp),hl |
|
|
ex (sp),hl |
|
|
inc sp |
|
|
inc sp |
|
|
@ -185,7 +176,7 @@ l_chufi_get_cap_00112: |
|
|
call _wait_for_device_ready |
|
|
call _wait_for_device_ready |
|
|
pop af |
|
|
pop af |
|
|
inc sp |
|
|
inc sp |
|
|
;source-doc/ufi-drv/ufi-init.c:47: const usb_error result = ufi_read_frmt_caps(dev, &response); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:46: const usb_error result = ufi_read_frmt_caps(dev, &response); |
|
|
ld hl,0 |
|
|
ld hl,0 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
push hl |
|
|
push hl |
|
|
@ -196,27 +187,27 @@ l_chufi_get_cap_00112: |
|
|
pop af |
|
|
pop af |
|
|
pop af |
|
|
pop af |
|
|
ld a, l |
|
|
ld a, l |
|
|
;source-doc/ufi-drv/ufi-init.c:48: if (result != USB_ERR_OK) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:47: if (result != USB_ERR_OK) |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_get_cap_00102 |
|
|
jr Z,l_chufi_get_cap_00102 |
|
|
;source-doc/ufi-drv/ufi-init.c:49: return 0; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:48: return 0; |
|
|
ld hl,0x0000 |
|
|
ld hl,0x0000 |
|
|
ld e, l |
|
|
ld e, l |
|
|
ld d, l |
|
|
ld d, l |
|
|
jr l_chufi_get_cap_00103 |
|
|
jr l_chufi_get_cap_00103 |
|
|
l_chufi_get_cap_00102: |
|
|
l_chufi_get_cap_00102: |
|
|
;source-doc/ufi-drv/ufi-init.c:51: return convert_from_msb_first(response.descriptors[0].number_of_blocks); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:50: return convert_from_msb_first(response.descriptors[0].number_of_blocks); |
|
|
ld hl,4 |
|
|
ld hl,4 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
push hl |
|
|
push hl |
|
|
call _convert_from_msb_first |
|
|
call _convert_from_msb_first |
|
|
pop af |
|
|
pop af |
|
|
l_chufi_get_cap_00103: |
|
|
l_chufi_get_cap_00103: |
|
|
;source-doc/ufi-drv/ufi-init.c:52: } |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:51: } |
|
|
ld sp, ix |
|
|
ld sp, ix |
|
|
pop ix |
|
|
pop ix |
|
|
ret |
|
|
ret |
|
|
;source-doc/ufi-drv/ufi-init.c:54: uint8_t chufi_read(device_config_storage *const dev, uint8_t *const buffer) { |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:53: uint8_t chufi_read(device_config_storage *const dev, uint8_t *const buffer) { |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
; Function chufi_read |
|
|
; Function chufi_read |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
@ -227,7 +218,7 @@ _chufi_read: |
|
|
ld hl, -20 |
|
|
ld hl, -20 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld sp, hl |
|
|
ld sp, hl |
|
|
;source-doc/ufi-drv/ufi-init.c:56: if (wait_for_device_ready((device_config *)dev, 20) != 0) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:55: if (wait_for_device_ready((device_config *)dev, 20) != 0) |
|
|
ld c,(ix+4) |
|
|
ld c,(ix+4) |
|
|
ld b,(ix+5) |
|
|
ld b,(ix+5) |
|
|
push bc |
|
|
push bc |
|
|
@ -242,18 +233,18 @@ _chufi_read: |
|
|
pop bc |
|
|
pop bc |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_read_00102 |
|
|
jr Z,l_chufi_read_00102 |
|
|
;source-doc/ufi-drv/ufi-init.c:57: return -1; // Not READY! |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:56: return -1; // Not READY! |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_read_00109 |
|
|
jr l_chufi_read_00109 |
|
|
l_chufi_read_00102: |
|
|
l_chufi_read_00102: |
|
|
;source-doc/ufi-drv/ufi-init.c:62: memset(&sense_codes, 0, sizeof(sense_codes)); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:61: memset(&sense_codes, 0, sizeof(sense_codes)); |
|
|
ld hl,0 |
|
|
ld hl,0 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
xor a |
|
|
xor a |
|
|
ld (hl), a |
|
|
ld (hl), a |
|
|
inc hl |
|
|
inc hl |
|
|
ld (hl), a |
|
|
ld (hl), a |
|
|
;source-doc/ufi-drv/ufi-init.c:64: if (ufi_read_write_sector((device_config *)dev, false, dev->current_lba, 1, buffer, (uint8_t *)&sense_codes) != USB_ERR_OK) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:63: if (ufi_read_write_sector((device_config *)dev, false, dev->current_lba, 1, buffer, (uint8_t *)&sense_codes) != USB_ERR_OK) |
|
|
ld e,(ix+4) |
|
|
ld e,(ix+4) |
|
|
ld d,(ix+5) |
|
|
ld d,(ix+5) |
|
|
ld hl,12 |
|
|
ld hl,12 |
|
|
@ -286,11 +277,11 @@ l_chufi_read_00102: |
|
|
pop bc |
|
|
pop bc |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_read_00104 |
|
|
jr Z,l_chufi_read_00104 |
|
|
;source-doc/ufi-drv/ufi-init.c:65: return -1; // general error |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:64: return -1; // general error |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_read_00109 |
|
|
jr l_chufi_read_00109 |
|
|
l_chufi_read_00104: |
|
|
l_chufi_read_00104: |
|
|
;source-doc/ufi-drv/ufi-init.c:68: memset(&response, 0, sizeof(response)); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:67: memset(&response, 0, sizeof(response)); |
|
|
push bc |
|
|
push bc |
|
|
ld hl,4 |
|
|
ld hl,4 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
@ -303,7 +294,7 @@ l_chufi_read_00139: |
|
|
inc hl |
|
|
inc hl |
|
|
djnz l_chufi_read_00139 |
|
|
djnz l_chufi_read_00139 |
|
|
pop bc |
|
|
pop bc |
|
|
;source-doc/ufi-drv/ufi-init.c:70: if ((result = ufi_request_sense((device_config *)dev, &response)) != USB_ERR_OK) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:69: if ((result = ufi_request_sense((device_config *)dev, &response)) != USB_ERR_OK) |
|
|
ld hl,2 |
|
|
ld hl,2 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
push hl |
|
|
push hl |
|
|
@ -314,29 +305,29 @@ l_chufi_read_00139: |
|
|
ld a, l |
|
|
ld a, l |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_read_00106 |
|
|
jr Z,l_chufi_read_00106 |
|
|
;source-doc/ufi-drv/ufi-init.c:71: return -1; // error |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:70: return -1; // error |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_read_00109 |
|
|
jr l_chufi_read_00109 |
|
|
l_chufi_read_00106: |
|
|
l_chufi_read_00106: |
|
|
;source-doc/ufi-drv/ufi-init.c:75: const uint8_t sense_key = response.sense_key; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:74: const uint8_t sense_key = response.sense_key; |
|
|
ld hl,4 |
|
|
ld hl,4 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld a, (hl) |
|
|
ld a, (hl) |
|
|
;source-doc/ufi-drv/ufi-init.c:77: if (sense_key != 0) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:76: if (sense_key != 0) |
|
|
and 0x0f |
|
|
and 0x0f |
|
|
jr Z,l_chufi_read_00108 |
|
|
jr Z,l_chufi_read_00108 |
|
|
;source-doc/ufi-drv/ufi-init.c:78: return -1; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:77: return -1; |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_read_00109 |
|
|
jr l_chufi_read_00109 |
|
|
l_chufi_read_00108: |
|
|
l_chufi_read_00108: |
|
|
;source-doc/ufi-drv/ufi-init.c:80: return USB_ERR_OK; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:79: return USB_ERR_OK; |
|
|
ld l,0x00 |
|
|
ld l,0x00 |
|
|
l_chufi_read_00109: |
|
|
l_chufi_read_00109: |
|
|
;source-doc/ufi-drv/ufi-init.c:81: } |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:80: } |
|
|
ld sp, ix |
|
|
ld sp, ix |
|
|
pop ix |
|
|
pop ix |
|
|
ret |
|
|
ret |
|
|
;source-doc/ufi-drv/ufi-init.c:83: usb_error chufi_write(device_config_storage *const dev, uint8_t *const buffer) { |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:82: usb_error chufi_write(device_config_storage *const dev, uint8_t *const buffer) { |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
; Function chufi_write |
|
|
; Function chufi_write |
|
|
; --------------------------------- |
|
|
; --------------------------------- |
|
|
@ -347,7 +338,7 @@ _chufi_write: |
|
|
ld hl, -20 |
|
|
ld hl, -20 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld sp, hl |
|
|
ld sp, hl |
|
|
;source-doc/ufi-drv/ufi-init.c:85: if (wait_for_device_ready((device_config *)dev, 20) != 0) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:84: if (wait_for_device_ready((device_config *)dev, 20) != 0) |
|
|
ld c,(ix+4) |
|
|
ld c,(ix+4) |
|
|
ld b,(ix+5) |
|
|
ld b,(ix+5) |
|
|
push bc |
|
|
push bc |
|
|
@ -362,18 +353,18 @@ _chufi_write: |
|
|
pop bc |
|
|
pop bc |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_write_00102 |
|
|
jr Z,l_chufi_write_00102 |
|
|
;source-doc/ufi-drv/ufi-init.c:86: return -1; // Not READY! |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:85: return -1; // Not READY! |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_write_00109 |
|
|
jr l_chufi_write_00109 |
|
|
l_chufi_write_00102: |
|
|
l_chufi_write_00102: |
|
|
;source-doc/ufi-drv/ufi-init.c:90: memset(&sense_codes, 0, sizeof(sense_codes)); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:89: memset(&sense_codes, 0, sizeof(sense_codes)); |
|
|
ld hl,0 |
|
|
ld hl,0 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
xor a |
|
|
xor a |
|
|
ld (hl), a |
|
|
ld (hl), a |
|
|
inc hl |
|
|
inc hl |
|
|
ld (hl), a |
|
|
ld (hl), a |
|
|
;source-doc/ufi-drv/ufi-init.c:91: if ((ufi_read_write_sector((device_config *)dev, true, dev->current_lba, 1, buffer, (uint8_t *)&sense_codes)) != USB_ERR_OK) { |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:90: if ((ufi_read_write_sector((device_config *)dev, true, dev->current_lba, 1, buffer, (uint8_t *)&sense_codes)) != USB_ERR_OK) { |
|
|
ld e,(ix+4) |
|
|
ld e,(ix+4) |
|
|
ld d,(ix+5) |
|
|
ld d,(ix+5) |
|
|
ld hl,12 |
|
|
ld hl,12 |
|
|
@ -406,11 +397,11 @@ l_chufi_write_00102: |
|
|
pop bc |
|
|
pop bc |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_write_00104 |
|
|
jr Z,l_chufi_write_00104 |
|
|
;source-doc/ufi-drv/ufi-init.c:92: return -1; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:91: return -1; |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_write_00109 |
|
|
jr l_chufi_write_00109 |
|
|
l_chufi_write_00104: |
|
|
l_chufi_write_00104: |
|
|
;source-doc/ufi-drv/ufi-init.c:96: memset(&response, 0, sizeof(response)); |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:95: memset(&response, 0, sizeof(response)); |
|
|
push bc |
|
|
push bc |
|
|
ld hl,4 |
|
|
ld hl,4 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
@ -423,7 +414,7 @@ l_chufi_write_00139: |
|
|
inc hl |
|
|
inc hl |
|
|
djnz l_chufi_write_00139 |
|
|
djnz l_chufi_write_00139 |
|
|
pop bc |
|
|
pop bc |
|
|
;source-doc/ufi-drv/ufi-init.c:98: if ((ufi_request_sense((device_config *)dev, &response)) != USB_ERR_OK) { |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:97: if ((ufi_request_sense((device_config *)dev, &response)) != USB_ERR_OK) { |
|
|
ld hl,2 |
|
|
ld hl,2 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
push hl |
|
|
push hl |
|
|
@ -434,25 +425,25 @@ l_chufi_write_00139: |
|
|
ld a, l |
|
|
ld a, l |
|
|
or a |
|
|
or a |
|
|
jr Z,l_chufi_write_00106 |
|
|
jr Z,l_chufi_write_00106 |
|
|
;source-doc/ufi-drv/ufi-init.c:99: return -1; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:98: return -1; |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_write_00109 |
|
|
jr l_chufi_write_00109 |
|
|
l_chufi_write_00106: |
|
|
l_chufi_write_00106: |
|
|
;source-doc/ufi-drv/ufi-init.c:104: const uint8_t sense_key = response.sense_key; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:103: const uint8_t sense_key = response.sense_key; |
|
|
ld hl,4 |
|
|
ld hl,4 |
|
|
add hl, sp |
|
|
add hl, sp |
|
|
ld a, (hl) |
|
|
ld a, (hl) |
|
|
;source-doc/ufi-drv/ufi-init.c:106: if (sense_key != 0) |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:105: if (sense_key != 0) |
|
|
and 0x0f |
|
|
and 0x0f |
|
|
jr Z,l_chufi_write_00108 |
|
|
jr Z,l_chufi_write_00108 |
|
|
;source-doc/ufi-drv/ufi-init.c:107: return -1; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:106: return -1; |
|
|
ld l,0xff |
|
|
ld l,0xff |
|
|
jr l_chufi_write_00109 |
|
|
jr l_chufi_write_00109 |
|
|
l_chufi_write_00108: |
|
|
l_chufi_write_00108: |
|
|
;source-doc/ufi-drv/ufi-init.c:109: return USB_ERR_OK; |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:108: return USB_ERR_OK; |
|
|
ld l,0x00 |
|
|
ld l,0x00 |
|
|
l_chufi_write_00109: |
|
|
l_chufi_write_00109: |
|
|
;source-doc/ufi-drv/ufi-init.c:110: } |
|
|
|
|
|
|
|
|
;source-doc/ufi-drv/ufi-init.c:109: } |
|
|
ld sp, ix |
|
|
ld sp, ix |
|
|
pop ix |
|
|
pop ix |
|
|
ret |
|
|
ret |
|
|
|