mirror of https://github.com/wwarthen/RomWBW.git
15 changed files with 82 additions and 6906 deletions
@ -0,0 +1 @@ |
|||||
|
*.asm |
||||
File diff suppressed because it is too large
@ -1,458 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _cmd_get_hub_descriptor |
|
||||
GLOBAL _hub_get_descriptor |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _get_usb_device_config |
|
||||
GLOBAL _find_device_config |
|
||||
GLOBAL _next_device_config |
|
||||
GLOBAL _first_device_config |
|
||||
GLOBAL _find_first_free |
|
||||
GLOBAL _usbtrn_clear_endpoint_halt |
|
||||
GLOBAL _usbtrn_set_address |
|
||||
GLOBAL _usbtrn_set_configuration |
|
||||
GLOBAL _usbtrn_gfull_cfg_desc |
|
||||
GLOBAL _usbtrn_get_config_descriptor |
|
||||
GLOBAL _usbtrn_get_descriptor2 |
|
||||
GLOBAL _usbtrn_get_descriptor |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/class_hub.c:7: usb_error hub_get_descriptor(const device_config_hub *const hub_config, hub_descriptor *const hub_description) __sdcccall(1) { |
|
||||
; --------------------------------- |
|
||||
; Function hub_get_descriptor |
|
||||
; --------------------------------- |
|
||||
_hub_get_descriptor: |
|
||||
;source-doc/base-drv/class_hub.c:8: return usb_control_transfer(&cmd_get_hub_descriptor, hub_description, hub_config->address, hub_config->max_packet_size); |
|
||||
ld a,l |
|
||||
ld c,h |
|
||||
inc hl |
|
||||
ld b, (hl) |
|
||||
ld l, a |
|
||||
ld h, c |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld c, a |
|
||||
push bc |
|
||||
push de |
|
||||
ld hl,_cmd_get_hub_descriptor |
|
||||
push hl |
|
||||
call _usb_control_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
;source-doc/base-drv/class_hub.c:9: } |
|
||||
ret |
|
||||
SECTION rodata_compiler |
|
||||
_cmd_get_hub_descriptor: |
|
||||
DEFB +0xa0 |
|
||||
DEFB +0x06 |
|
||||
DEFB +0x00 |
|
||||
DEFB +0x29 |
|
||||
DEFB +0x00 |
|
||||
DEFB +0x00 |
|
||||
DEFW +0x0008 |
|
||||
SECTION IGNORE |
|
||||
@ -1,834 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _critical_end |
|
||||
GLOBAL _critical_begin |
|
||||
GLOBAL _usbtrn_clear_endpoint_halt |
|
||||
GLOBAL _usbtrn_set_address |
|
||||
GLOBAL _usbtrn_set_configuration |
|
||||
GLOBAL _usbtrn_gfull_cfg_desc |
|
||||
GLOBAL _usbtrn_get_config_descriptor |
|
||||
GLOBAL _usbtrn_get_descriptor2 |
|
||||
GLOBAL _usbtrn_get_descriptor |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _in_critical_usb_section |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/dev_transfers.c:31: usb_error usbdev_control_transfer(device_config *const device, const setup_packet *const cmd_packet, uint8_t *const buffer) { |
|
||||
; --------------------------------- |
|
||||
; Function usbdev_control_transfer |
|
||||
; --------------------------------- |
|
||||
_usbdev_control_transfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/dev_transfers.c:32: return usb_control_transfer(cmd_packet, buffer, device->address, device->max_packet_size); |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
ld e,l |
|
||||
ld d,h |
|
||||
inc hl |
|
||||
ld b, (hl) |
|
||||
ex de, hl |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld e,(ix+8) |
|
||||
ld d,(ix+9) |
|
||||
ld c,a |
|
||||
push bc |
|
||||
push de |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
call _usb_control_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
;source-doc/base-drv/dev_transfers.c:33: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/dev_transfers.c:35: usb_error usbdev_blk_out_trnsfer(device_config *const dev, const uint8_t *const buffer, const uint16_t buffer_size) { |
|
||||
; --------------------------------- |
|
||||
; Function usbdev_blk_out_trnsfer |
|
||||
; --------------------------------- |
|
||||
_usbdev_blk_out_trnsfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
dec sp |
|
||||
;source-doc/base-drv/dev_transfers.c:37: endpoint_param *const endpoint = &dev->endpoints[ENDPOINT_BULK_OUT]; |
|
||||
ld e,(ix+4) |
|
||||
ld d,(ix+5) |
|
||||
ld c, e |
|
||||
ld b, d |
|
||||
inc bc |
|
||||
inc bc |
|
||||
inc bc |
|
||||
;source-doc/base-drv/dev_transfers.c:39: result = usb_data_out_transfer(buffer, buffer_size, dev->address, endpoint); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
push bc |
|
||||
push de |
|
||||
push bc |
|
||||
push af |
|
||||
inc sp |
|
||||
ld l,(ix+8) |
|
||||
ld h,(ix+9) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
call _usb_data_out_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop de |
|
||||
pop bc |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/dev_transfers.c:41: if (result == USB_ERR_STALL) { |
|
||||
ld a,(_result) |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usbdev_blk_out_trnsfer_00102 |
|
||||
;source-doc/base-drv/dev_transfers.c:42: usbtrn_clear_endpoint_halt(endpoint->number, dev->address, dev->max_packet_size); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
inc hl |
|
||||
ld a, (hl) |
|
||||
ld (ix-1),a |
|
||||
ex de, hl |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld d, a |
|
||||
ld l, c |
|
||||
ld h, b |
|
||||
ld a, (hl) |
|
||||
rrca |
|
||||
and a,0x07 |
|
||||
push bc |
|
||||
ld h,(ix-1) |
|
||||
ld l,d |
|
||||
push hl |
|
||||
push af |
|
||||
inc sp |
|
||||
call _usbtrn_clear_endpoint_halt |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop bc |
|
||||
;source-doc/base-drv/dev_transfers.c:43: endpoint->toggle = 0; |
|
||||
ld a, (bc) |
|
||||
and a,0xfe |
|
||||
ld (bc), a |
|
||||
;source-doc/base-drv/dev_transfers.c:44: return USB_ERR_STALL; |
|
||||
ld l,0x02 |
|
||||
jr l_usbdev_blk_out_trnsfer_00104 |
|
||||
l_usbdev_blk_out_trnsfer_00102: |
|
||||
;source-doc/base-drv/dev_transfers.c:47: RETURN_CHECK(result); |
|
||||
;source-doc/base-drv/dev_transfers.c:50: return result; |
|
||||
ld hl,(_result) |
|
||||
l_usbdev_blk_out_trnsfer_00104: |
|
||||
;source-doc/base-drv/dev_transfers.c:51: } |
|
||||
inc sp |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/dev_transfers.c:53: usb_error usbdev_bulk_in_transfer(device_config *const dev, uint8_t *const buffer, uint8_t *const buffer_size) { |
|
||||
; --------------------------------- |
|
||||
; Function usbdev_bulk_in_transfer |
|
||||
; --------------------------------- |
|
||||
_usbdev_bulk_in_transfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
dec sp |
|
||||
;source-doc/base-drv/dev_transfers.c:54: endpoint_param *const endpoint = &dev->endpoints[ENDPOINT_BULK_IN]; |
|
||||
ld c,(ix+4) |
|
||||
ld b,(ix+5) |
|
||||
ld hl,0x0006 |
|
||||
add hl, bc |
|
||||
;source-doc/base-drv/dev_transfers.c:56: result = usb_data_in_transfer_n(buffer, buffer_size, dev->address, endpoint); |
|
||||
ld e,c |
|
||||
ld d,b |
|
||||
ex de,hl |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
push bc |
|
||||
push de |
|
||||
push de |
|
||||
push af |
|
||||
inc sp |
|
||||
ld l,(ix+8) |
|
||||
ld h,(ix+9) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
call _usb_data_in_transfer_n |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop de |
|
||||
pop bc |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/dev_transfers.c:58: if (result == USB_ERR_STALL) { |
|
||||
ld a,(_result) |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usbdev_bulk_in_transfer_00102 |
|
||||
;source-doc/base-drv/dev_transfers.c:59: usbtrn_clear_endpoint_halt(endpoint->number, dev->address, dev->max_packet_size); |
|
||||
ld l, c |
|
||||
ld h, b |
|
||||
inc hl |
|
||||
ld a, (hl) |
|
||||
ld (ix-1),a |
|
||||
ld l, c |
|
||||
ld h, b |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld b, a |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
rrca |
|
||||
and a,0x07 |
|
||||
push de |
|
||||
ld h,(ix-1) |
|
||||
ld l,b |
|
||||
push hl |
|
||||
push af |
|
||||
inc sp |
|
||||
call _usbtrn_clear_endpoint_halt |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop de |
|
||||
;source-doc/base-drv/dev_transfers.c:60: endpoint->toggle = 0; |
|
||||
ex de, hl |
|
||||
res 0, (hl) |
|
||||
;source-doc/base-drv/dev_transfers.c:61: return USB_ERR_STALL; |
|
||||
ld l,0x02 |
|
||||
jr l_usbdev_bulk_in_transfer_00104 |
|
||||
l_usbdev_bulk_in_transfer_00102: |
|
||||
;source-doc/base-drv/dev_transfers.c:64: RETURN_CHECK(result); |
|
||||
;source-doc/base-drv/dev_transfers.c:66: return result; |
|
||||
ld hl,(_result) |
|
||||
l_usbdev_bulk_in_transfer_00104: |
|
||||
;source-doc/base-drv/dev_transfers.c:67: } |
|
||||
inc sp |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/dev_transfers.c:69: usb_error usbdev_dat_in_trnsfer(device_config *const device, |
|
||||
; --------------------------------- |
|
||||
; Function usbdev_dat_in_trnsfer |
|
||||
; --------------------------------- |
|
||||
_usbdev_dat_in_trnsfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
dec sp |
|
||||
;source-doc/base-drv/dev_transfers.c:74: endpoint_param *const endpoint = &device->endpoints[endpoint_type]; |
|
||||
ld e,(ix+4) |
|
||||
ld d,(ix+5) |
|
||||
ld c, e |
|
||||
ld b, d |
|
||||
inc bc |
|
||||
inc bc |
|
||||
inc bc |
|
||||
push de |
|
||||
ld a,(ix+10) |
|
||||
ld e, a |
|
||||
add a, a |
|
||||
add a, e |
|
||||
pop de |
|
||||
add a, c |
|
||||
ld c, a |
|
||||
ld a,0x00 |
|
||||
adc a, b |
|
||||
ld b, a |
|
||||
;source-doc/base-drv/dev_transfers.c:76: result = usb_data_in_transfer(buffer, buffer_size, device->address, endpoint); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
push bc |
|
||||
push de |
|
||||
push bc |
|
||||
push af |
|
||||
inc sp |
|
||||
ld l,(ix+8) |
|
||||
ld h,(ix+9) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
call _usb_data_in_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop de |
|
||||
pop bc |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/dev_transfers.c:78: if (result == USB_ERR_STALL) { |
|
||||
ld a,(_result) |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usbdev_dat_in_trnsfer_00102 |
|
||||
;source-doc/base-drv/dev_transfers.c:79: usbtrn_clear_endpoint_halt(endpoint->number, device->address, device->max_packet_size); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
inc hl |
|
||||
ld a, (hl) |
|
||||
ld (ix-1),a |
|
||||
ex de, hl |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld d, a |
|
||||
ld l, c |
|
||||
ld h, b |
|
||||
ld a, (hl) |
|
||||
rrca |
|
||||
and a,0x07 |
|
||||
push bc |
|
||||
ld h,(ix-1) |
|
||||
ld l,d |
|
||||
push hl |
|
||||
push af |
|
||||
inc sp |
|
||||
call _usbtrn_clear_endpoint_halt |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop bc |
|
||||
;source-doc/base-drv/dev_transfers.c:80: endpoint->toggle = 0; |
|
||||
ld a, (bc) |
|
||||
and a,0xfe |
|
||||
ld (bc), a |
|
||||
;source-doc/base-drv/dev_transfers.c:81: return USB_ERR_STALL; |
|
||||
ld l,0x02 |
|
||||
jr l_usbdev_dat_in_trnsfer_00104 |
|
||||
l_usbdev_dat_in_trnsfer_00102: |
|
||||
;source-doc/base-drv/dev_transfers.c:84: RETURN_CHECK(result); |
|
||||
;source-doc/base-drv/dev_transfers.c:86: return result; |
|
||||
ld hl,(_result) |
|
||||
l_usbdev_dat_in_trnsfer_00104: |
|
||||
;source-doc/base-drv/dev_transfers.c:87: } |
|
||||
inc sp |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/dev_transfers.c:89: usb_error usbdev_dat_in_trnsfer_0(device_config *const device, uint8_t *const buffer, const uint8_t buffer_size) { |
|
||||
; --------------------------------- |
|
||||
; Function usbdev_dat_in_trnsfer_0 |
|
||||
; --------------------------------- |
|
||||
_usbdev_dat_in_trnsfer_0: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
push af |
|
||||
;source-doc/base-drv/dev_transfers.c:90: endpoint_param *const endpoint = &device->endpoints[0]; |
|
||||
ld e,(ix+4) |
|
||||
ld d,(ix+5) |
|
||||
ld hl,0x0003 |
|
||||
add hl, de |
|
||||
ex (sp), hl |
|
||||
;source-doc/base-drv/dev_transfers.c:92: result = usb_data_in_transfer(buffer, buffer_size, device->address, endpoint); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld c,(ix+8) |
|
||||
ld b,0x00 |
|
||||
push de |
|
||||
ld l,(ix-2) |
|
||||
ld h,(ix-1) |
|
||||
push hl |
|
||||
push af |
|
||||
inc sp |
|
||||
push bc |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
call _usb_data_in_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
pop de |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/dev_transfers.c:94: if (result == USB_ERR_STALL) { |
|
||||
ld a,(_result) |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usbdev_dat_in_trnsfer_0_00102 |
|
||||
;source-doc/base-drv/dev_transfers.c:95: usbtrn_clear_endpoint_halt(endpoint->number, device->address, device->max_packet_size); |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
inc hl |
|
||||
ld b, (hl) |
|
||||
ex de, hl |
|
||||
ld a, (hl) |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
rlca |
|
||||
and a,0x0f |
|
||||
ld d, a |
|
||||
pop hl |
|
||||
ld a,(hl) |
|
||||
push hl |
|
||||
rrca |
|
||||
and a,0x07 |
|
||||
ld c, d |
|
||||
push bc |
|
||||
push af |
|
||||
inc sp |
|
||||
call _usbtrn_clear_endpoint_halt |
|
||||
pop af |
|
||||
inc sp |
|
||||
;source-doc/base-drv/dev_transfers.c:96: endpoint->toggle = 0; |
|
||||
pop hl |
|
||||
push hl |
|
||||
res 0, (hl) |
|
||||
;source-doc/base-drv/dev_transfers.c:97: return USB_ERR_STALL; |
|
||||
ld l,0x02 |
|
||||
jr l_usbdev_dat_in_trnsfer_0_00103 |
|
||||
l_usbdev_dat_in_trnsfer_0_00102: |
|
||||
;source-doc/base-drv/dev_transfers.c:100: return result; |
|
||||
ld hl,(_result) |
|
||||
l_usbdev_dat_in_trnsfer_0_00103: |
|
||||
;source-doc/base-drv/dev_transfers.c:101: } |
|
||||
ld sp, ix |
|
||||
pop ix |
|
||||
ret |
|
||||
SECTION IGNORE |
|
||||
File diff suppressed because it is too large
@ -1,829 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _usb_dat_in_trns_n_ext |
|
||||
GLOBAL _usb_dat_in_trnsfer_ext |
|
||||
GLOBAL _usb_ctrl_trnsfer_ext |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _critical_end |
|
||||
GLOBAL _critical_begin |
|
||||
GLOBAL _print_uint16 |
|
||||
GLOBAL _print_string |
|
||||
GLOBAL _print_hex |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _in_critical_usb_section |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/transfers.c:24: usb_error usb_ctrl_trnsfer_ext(const setup_packet *const cmd_packet, |
|
||||
; --------------------------------- |
|
||||
; Function usb_ctrl_trnsfer_ext |
|
||||
; --------------------------------- |
|
||||
_usb_ctrl_trnsfer_ext: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:28: if ((uint16_t)cmd_packet < LOWER_SAFE_RAM_ADDRESS) |
|
||||
ld a,(ix+5) |
|
||||
sub a,0x80 |
|
||||
jr NC,l_usb_ctrl_trnsfer_ext_00102 |
|
||||
;source-doc/base-drv/transfers.c:29: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_ctrl_trnsfer_ext_00106 |
|
||||
l_usb_ctrl_trnsfer_ext_00102: |
|
||||
;source-doc/base-drv/transfers.c:31: if (buffer != 0 && (uint16_t)buffer < LOWER_SAFE_RAM_ADDRESS) |
|
||||
ld a,(ix+7) |
|
||||
or a,(ix+6) |
|
||||
jr Z,l_usb_ctrl_trnsfer_ext_00104 |
|
||||
ld a,(ix+7) |
|
||||
sub a,0x80 |
|
||||
jr NC,l_usb_ctrl_trnsfer_ext_00104 |
|
||||
;source-doc/base-drv/transfers.c:32: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_ctrl_trnsfer_ext_00106 |
|
||||
l_usb_ctrl_trnsfer_ext_00104: |
|
||||
;source-doc/base-drv/transfers.c:34: return usb_control_transfer(cmd_packet, buffer, device_address, max_packet_size); |
|
||||
ld h,(ix+9) |
|
||||
ld l,(ix+8) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usb_control_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
l_usb_ctrl_trnsfer_ext_00106: |
|
||||
;source-doc/base-drv/transfers.c:35: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:47: usb_error usb_control_transfer(const setup_packet *const cmd_packet, |
|
||||
; --------------------------------- |
|
||||
; Function usb_control_transfer |
|
||||
; --------------------------------- |
|
||||
_usb_control_transfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
push af |
|
||||
push af |
|
||||
;source-doc/base-drv/transfers.c:52: endpoint_param endpoint = {1, 0, max_packet_size}; |
|
||||
ld hl,0 |
|
||||
add hl, sp |
|
||||
set 0, (hl) |
|
||||
ld hl,0 |
|
||||
add hl, sp |
|
||||
ld a, (hl) |
|
||||
and a,0xf1 |
|
||||
ld (hl), a |
|
||||
ld c,(ix+9) |
|
||||
ld b,0x00 |
|
||||
ld hl,1 |
|
||||
add hl, sp |
|
||||
ld (hl), c |
|
||||
inc hl |
|
||||
ld a, b |
|
||||
and a,0x03 |
|
||||
ld e,a |
|
||||
ld a, (hl) |
|
||||
and a,0xfc |
|
||||
or a, e |
|
||||
ld (hl), a |
|
||||
;source-doc/base-drv/transfers.c:54: const uint8_t transferIn = (cmd_packet->bmRequestType & 0x80); |
|
||||
ld c,(ix+4) |
|
||||
ld b,(ix+5) |
|
||||
ld a, (bc) |
|
||||
and a,0x80 |
|
||||
;source-doc/base-drv/transfers.c:56: if (transferIn && buffer == 0) |
|
||||
ld (ix-1),a |
|
||||
or a, a |
|
||||
jr Z,l_usb_control_transfer_00102 |
|
||||
ld a,(ix+7) |
|
||||
or a,(ix+6) |
|
||||
jr NZ,l_usb_control_transfer_00102 |
|
||||
;source-doc/base-drv/transfers.c:57: return USB_ERR_OTHER; |
|
||||
ld l,0x0f |
|
||||
jp l_usb_control_transfer_00114 |
|
||||
l_usb_control_transfer_00102: |
|
||||
;source-doc/base-drv/transfers.c:59: critical_begin(); |
|
||||
push bc |
|
||||
call _critical_begin |
|
||||
ld l,(ix+8) |
|
||||
call _ch_set_usb_address |
|
||||
pop bc |
|
||||
;source-doc/base-drv/transfers.c:63: ch_write_data((const uint8_t *)cmd_packet, sizeof(setup_packet)); |
|
||||
ld e,(ix+4) |
|
||||
ld d,(ix+5) |
|
||||
push bc |
|
||||
ld a,0x08 |
|
||||
push af |
|
||||
inc sp |
|
||||
push de |
|
||||
call _ch_write_data |
|
||||
pop af |
|
||||
inc sp |
|
||||
call _ch_issue_token_setup |
|
||||
call _ch_short_wait_int_and_get_status |
|
||||
pop bc |
|
||||
;source-doc/base-drv/transfers.c:66: CHECK(result); |
|
||||
ld a, l |
|
||||
or a, a |
|
||||
jr NZ,l_usb_control_transfer_00113 |
|
||||
;source-doc/base-drv/transfers.c:68: const uint16_t length = cmd_packet->wLength; |
|
||||
ld hl,6 |
|
||||
add hl, bc |
|
||||
ld c, (hl) |
|
||||
inc hl |
|
||||
;source-doc/base-drv/transfers.c:71: ? (transferIn ? ch_data_in_transfer(buffer, length, &endpoint) : ch_data_out_transfer(buffer, length, &endpoint)) |
|
||||
ld a,(hl) |
|
||||
ld b,a |
|
||||
or a, c |
|
||||
jr Z,l_usb_control_transfer_00116 |
|
||||
ld e,(ix+6) |
|
||||
ld d,(ix+7) |
|
||||
ld a,(ix-1) |
|
||||
or a, a |
|
||||
jr Z,l_usb_control_transfer_00118 |
|
||||
ld hl,0 |
|
||||
add hl, sp |
|
||||
push hl |
|
||||
push bc |
|
||||
push de |
|
||||
call _ch_data_in_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
jr l_usb_control_transfer_00119 |
|
||||
l_usb_control_transfer_00118: |
|
||||
ld hl,0 |
|
||||
add hl, sp |
|
||||
push hl |
|
||||
push bc |
|
||||
push de |
|
||||
call _ch_data_out_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
l_usb_control_transfer_00119: |
|
||||
jr l_usb_control_transfer_00117 |
|
||||
l_usb_control_transfer_00116: |
|
||||
;source-doc/base-drv/transfers.c:72: : USB_ERR_OK; |
|
||||
ld l,0x00 |
|
||||
l_usb_control_transfer_00117: |
|
||||
;source-doc/base-drv/transfers.c:74: CHECK(result) |
|
||||
ld a, l |
|
||||
or a, a |
|
||||
jr NZ,l_usb_control_transfer_00113 |
|
||||
;source-doc/base-drv/transfers.c:76: if (transferIn) { |
|
||||
ld a,(ix-1) |
|
||||
or a, a |
|
||||
jr Z,l_usb_control_transfer_00112 |
|
||||
;source-doc/base-drv/transfers.c:77: ch_command(CH_CMD_WR_HOST_DATA); |
|
||||
ld l,0x2c |
|
||||
call _ch_command |
|
||||
;source-doc/base-drv/transfers.c:78: CH376_DATA_PORT = 0; |
|
||||
ld a,0x00 |
|
||||
ld bc,_CH376_DATA_PORT |
|
||||
out (c),a |
|
||||
;source-doc/base-drv/transfers.c:79: ch_issue_token_out_ep0(); |
|
||||
call _ch_issue_token_out_ep0 |
|
||||
;source-doc/base-drv/transfers.c:80: result = ch_long_wait_int_and_get_status(); /* sometimes we get STALL here - seems to be ok to ignore */ |
|
||||
call _ch_long_wait_int_and_get_status |
|
||||
;source-doc/base-drv/transfers.c:82: if (result == USB_ERR_OK || result == USB_ERR_STALL) { |
|
||||
ld a,l |
|
||||
or a, a |
|
||||
jr Z,l_usb_control_transfer_00108 |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usb_control_transfer_00113 |
|
||||
l_usb_control_transfer_00108: |
|
||||
;source-doc/base-drv/transfers.c:83: result = USB_ERR_OK; |
|
||||
ld l,0x00 |
|
||||
;source-doc/base-drv/transfers.c:84: goto done; |
|
||||
jr l_usb_control_transfer_00113 |
|
||||
;source-doc/base-drv/transfers.c:87: RETURN_CHECK(result); |
|
||||
l_usb_control_transfer_00112: |
|
||||
;source-doc/base-drv/transfers.c:90: ch_issue_token_in_ep0(); |
|
||||
call _ch_issue_token_in_ep0 |
|
||||
;source-doc/base-drv/transfers.c:91: result = ch_long_wait_int_and_get_status(); |
|
||||
call _ch_long_wait_int_and_get_status |
|
||||
;source-doc/base-drv/transfers.c:95: done: |
|
||||
l_usb_control_transfer_00113: |
|
||||
;source-doc/base-drv/transfers.c:96: critical_end(); |
|
||||
push hl |
|
||||
call _critical_end |
|
||||
pop hl |
|
||||
;source-doc/base-drv/transfers.c:97: return result; |
|
||||
l_usb_control_transfer_00114: |
|
||||
;source-doc/base-drv/transfers.c:98: } |
|
||||
ld sp, ix |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:101: usb_dat_in_trnsfer_ext(uint8_t *buffer, const uint16_t buffer_size, const uint8_t device_address, endpoint_param *const endpoint) { |
|
||||
; --------------------------------- |
|
||||
; Function usb_dat_in_trnsfer_ext |
|
||||
; --------------------------------- |
|
||||
_usb_dat_in_trnsfer_ext: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:102: if (buffer != 0 && (uint16_t)buffer < LOWER_SAFE_RAM_ADDRESS) |
|
||||
ld a,(ix+5) |
|
||||
or a,(ix+4) |
|
||||
jr Z,l_usb_dat_in_trnsfer_ext_00102 |
|
||||
ld a,(ix+5) |
|
||||
sub a,0x80 |
|
||||
jr NC,l_usb_dat_in_trnsfer_ext_00102 |
|
||||
;source-doc/base-drv/transfers.c:103: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_dat_in_trnsfer_ext_00106 |
|
||||
l_usb_dat_in_trnsfer_ext_00102: |
|
||||
;source-doc/base-drv/transfers.c:105: if ((uint16_t)endpoint < LOWER_SAFE_RAM_ADDRESS) |
|
||||
ld a,(ix+10) |
|
||||
sub a,0x80 |
|
||||
jr NC,l_usb_dat_in_trnsfer_ext_00105 |
|
||||
;source-doc/base-drv/transfers.c:106: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_dat_in_trnsfer_ext_00106 |
|
||||
l_usb_dat_in_trnsfer_ext_00105: |
|
||||
;source-doc/base-drv/transfers.c:108: return usb_data_in_transfer(buffer, buffer_size, device_address, endpoint); |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld a,(ix+8) |
|
||||
push af |
|
||||
inc sp |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usb_data_in_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
l_usb_dat_in_trnsfer_ext_00106: |
|
||||
;source-doc/base-drv/transfers.c:109: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:112: usb_dat_in_trns_n_ext(uint8_t *buffer, uint16_t *buffer_size, const uint8_t device_address, endpoint_param *const endpoint) { |
|
||||
; --------------------------------- |
|
||||
; Function usb_dat_in_trns_n_ext |
|
||||
; --------------------------------- |
|
||||
_usb_dat_in_trns_n_ext: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:113: if (buffer != 0 && ((uint16_t)buffer & 0xC000) == 0) |
|
||||
ld a,(ix+5) |
|
||||
or a,(ix+4) |
|
||||
jr Z,l_usb_dat_in_trns_n_ext_00102 |
|
||||
ld a,(ix+5) |
|
||||
and a,0xc0 |
|
||||
jr NZ,l_usb_dat_in_trns_n_ext_00102 |
|
||||
;source-doc/base-drv/transfers.c:114: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_dat_in_trns_n_ext_00108 |
|
||||
l_usb_dat_in_trns_n_ext_00102: |
|
||||
;source-doc/base-drv/transfers.c:116: if (((uint16_t)endpoint & 0xC000) == 0) |
|
||||
ld a,(ix+10) |
|
||||
and a,0xc0 |
|
||||
jr NZ,l_usb_dat_in_trns_n_ext_00105 |
|
||||
;source-doc/base-drv/transfers.c:117: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_dat_in_trns_n_ext_00108 |
|
||||
l_usb_dat_in_trns_n_ext_00105: |
|
||||
;source-doc/base-drv/transfers.c:119: if (((uint16_t)buffer_size & 0xC000) == 0) |
|
||||
ld a,(ix+7) |
|
||||
and a,0xc0 |
|
||||
jr NZ,l_usb_dat_in_trns_n_ext_00107 |
|
||||
;source-doc/base-drv/transfers.c:120: return USB_BAD_ADDRESS; |
|
||||
ld l,0x82 |
|
||||
jr l_usb_dat_in_trns_n_ext_00108 |
|
||||
l_usb_dat_in_trns_n_ext_00107: |
|
||||
;source-doc/base-drv/transfers.c:122: return usb_data_in_transfer_n(buffer, buffer_size, device_address, endpoint); |
|
||||
ld c,(ix+6) |
|
||||
ld b,(ix+7) |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld a,(ix+8) |
|
||||
push af |
|
||||
inc sp |
|
||||
push bc |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usb_data_in_transfer_n |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
l_usb_dat_in_trns_n_ext_00108: |
|
||||
;source-doc/base-drv/transfers.c:123: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:135: usb_data_in_transfer(uint8_t *buffer, const uint16_t buffer_size, const uint8_t device_address, endpoint_param *const endpoint) { |
|
||||
; --------------------------------- |
|
||||
; Function usb_data_in_transfer |
|
||||
; --------------------------------- |
|
||||
_usb_data_in_transfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:136: critical_begin(); |
|
||||
call _critical_begin |
|
||||
;source-doc/base-drv/transfers.c:138: ch_set_usb_address(device_address); |
|
||||
ld l,(ix+8) |
|
||||
call _ch_set_usb_address |
|
||||
;source-doc/base-drv/transfers.c:140: result = ch_data_in_transfer(buffer, buffer_size, endpoint); |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _ch_data_in_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/transfers.c:142: critical_end(); |
|
||||
call _critical_end |
|
||||
;source-doc/base-drv/transfers.c:144: return result; |
|
||||
ld hl,(_result) |
|
||||
;source-doc/base-drv/transfers.c:145: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:157: usb_data_in_transfer_n(uint8_t *buffer, uint8_t *const buffer_size, const uint8_t device_address, endpoint_param *const endpoint) { |
|
||||
; --------------------------------- |
|
||||
; Function usb_data_in_transfer_n |
|
||||
; --------------------------------- |
|
||||
_usb_data_in_transfer_n: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:158: critical_begin(); |
|
||||
call _critical_begin |
|
||||
;source-doc/base-drv/transfers.c:160: ch_set_usb_address(device_address); |
|
||||
ld l,(ix+8) |
|
||||
call _ch_set_usb_address |
|
||||
;source-doc/base-drv/transfers.c:162: result = ch_data_in_transfer_n(buffer, buffer_size, endpoint); |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _ch_data_in_transfer_n |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/transfers.c:164: critical_end(); |
|
||||
call _critical_end |
|
||||
;source-doc/base-drv/transfers.c:166: return result; |
|
||||
ld hl,(_result) |
|
||||
;source-doc/base-drv/transfers.c:167: } |
|
||||
pop ix |
|
||||
ret |
|
||||
;source-doc/base-drv/transfers.c:179: usb_data_out_transfer(const uint8_t *buffer, uint16_t buffer_size, const uint8_t device_address, endpoint_param *const endpoint) { |
|
||||
; --------------------------------- |
|
||||
; Function usb_data_out_transfer |
|
||||
; --------------------------------- |
|
||||
_usb_data_out_transfer: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/transfers.c:180: critical_begin(); |
|
||||
call _critical_begin |
|
||||
;source-doc/base-drv/transfers.c:182: ch_set_usb_address(device_address); |
|
||||
ld l,(ix+8) |
|
||||
call _ch_set_usb_address |
|
||||
;source-doc/base-drv/transfers.c:184: result = ch_data_out_transfer(buffer, buffer_size, endpoint); |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _ch_data_out_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/base-drv/transfers.c:186: critical_end(); |
|
||||
call _critical_end |
|
||||
;source-doc/base-drv/transfers.c:188: return result; |
|
||||
ld hl,(_result) |
|
||||
;source-doc/base-drv/transfers.c:189: } |
|
||||
pop ix |
|
||||
ret |
|
||||
SECTION IGNORE |
|
||||
@ -1,441 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _chnative_seek |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/usb-base-drv.c:6: uint8_t chnative_seek(const uint32_t lba, device_config_storage *const storage_device) __sdcccall(1) { |
|
||||
; --------------------------------- |
|
||||
; Function chnative_seek |
|
||||
; --------------------------------- |
|
||||
_chnative_seek: |
|
||||
push ix |
|
||||
;source-doc/base-drv/usb-base-drv.c:7: storage_device->current_lba = lba; |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
ld c,(ix+4) |
|
||||
ld b,(ix+5) |
|
||||
push bc |
|
||||
ld a,(ix-2) |
|
||||
add a,0x0c |
|
||||
ld c,l |
|
||||
ld b,h |
|
||||
ld l, a |
|
||||
ld a,(ix-1) |
|
||||
adc a,0x00 |
|
||||
ld h, a |
|
||||
ld (hl), e |
|
||||
inc hl |
|
||||
ld (hl), d |
|
||||
inc hl |
|
||||
ld (hl), c |
|
||||
inc hl |
|
||||
ld (hl), b |
|
||||
;source-doc/base-drv/usb-base-drv.c:8: return 0; |
|
||||
xor a, a |
|
||||
;source-doc/base-drv/usb-base-drv.c:9: } |
|
||||
ld sp, ix |
|
||||
pop ix |
|
||||
pop hl |
|
||||
pop bc |
|
||||
jp (hl) |
|
||||
SECTION IGNORE |
|
||||
@ -1,605 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _device_config_sizes |
|
||||
GLOBAL _find_device_config |
|
||||
GLOBAL _find_first_free |
|
||||
GLOBAL _first_device_config |
|
||||
GLOBAL _next_device_config |
|
||||
GLOBAL _get_usb_device_config |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _get_number_of_usb_drives |
|
||||
GLOBAL _usbtrn_clear_endpoint_halt |
|
||||
GLOBAL _usbtrn_set_address |
|
||||
GLOBAL _usbtrn_set_configuration |
|
||||
GLOBAL _usbtrn_gfull_cfg_desc |
|
||||
GLOBAL _usbtrn_get_config_descriptor |
|
||||
GLOBAL _usbtrn_get_descriptor2 |
|
||||
GLOBAL _usbtrn_get_descriptor |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _x |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/usb_state.c:13: device_config *find_device_config(const usb_device_type requested_type) { |
|
||||
; --------------------------------- |
|
||||
; Function find_device_config |
|
||||
; --------------------------------- |
|
||||
_find_device_config: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
;source-doc/base-drv/usb_state.c:14: _usb_state *const p = get_usb_work_area(); |
|
||||
;source-doc/base-drv/usb_state.c:16: const device_config *p_config = first_device_config(p); |
|
||||
ld hl,_x |
|
||||
call _first_device_config |
|
||||
;source-doc/base-drv/usb_state.c:17: while (p_config) { |
|
||||
l_find_device_config_00103: |
|
||||
ld a, d |
|
||||
or a, e |
|
||||
jr Z,l_find_device_config_00105 |
|
||||
;source-doc/base-drv/usb_state.c:18: const uint8_t type = p_config->type; |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
and a,0x0f |
|
||||
ld c, a |
|
||||
;source-doc/base-drv/usb_state.c:20: if (type == requested_type) |
|
||||
ld a,(ix+4) |
|
||||
sub a, c |
|
||||
jr NZ,l_find_device_config_00102 |
|
||||
;source-doc/base-drv/usb_state.c:21: return (device_config *)p_config; |
|
||||
ex de, hl |
|
||||
jr l_find_device_config_00106 |
|
||||
l_find_device_config_00102: |
|
||||
;source-doc/base-drv/usb_state.c:23: p_config = next_device_config(p, p_config); |
|
||||
ld hl,_x |
|
||||
call _next_device_config |
|
||||
jr l_find_device_config_00103 |
|
||||
l_find_device_config_00105: |
|
||||
;source-doc/base-drv/usb_state.c:26: return NULL; |
|
||||
ld hl,0x0000 |
|
||||
l_find_device_config_00106: |
|
||||
;source-doc/base-drv/usb_state.c:27: } |
|
||||
pop ix |
|
||||
ret |
|
||||
SECTION rodata_compiler |
|
||||
_device_config_sizes: |
|
||||
DEFB +0x00 |
|
||||
DEFB +0x10 |
|
||||
DEFB +0x10 |
|
||||
DEFB +0x0c |
|
||||
DEFB +0x06 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
SECTION code_compiler |
|
||||
;source-doc/base-drv/usb_state.c:30: device_config *find_first_free(void) { |
|
||||
; --------------------------------- |
|
||||
; Function find_first_free |
|
||||
; --------------------------------- |
|
||||
_find_first_free: |
|
||||
;source-doc/base-drv/usb_state.c:31: _usb_state *const boot_state = get_usb_work_area(); |
|
||||
;source-doc/base-drv/usb_state.c:34: device_config *p = first_device_config(boot_state); |
|
||||
ld hl,_x |
|
||||
call _first_device_config |
|
||||
;source-doc/base-drv/usb_state.c:35: while (p) { |
|
||||
l_find_first_free_00103: |
|
||||
ld a, d |
|
||||
or a, e |
|
||||
jr Z,l_find_first_free_00105 |
|
||||
;source-doc/base-drv/usb_state.c:36: if (p->type == 0) |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
and a,0x0f |
|
||||
jr NZ,l_find_first_free_00102 |
|
||||
;source-doc/base-drv/usb_state.c:37: return p; |
|
||||
ex de, hl |
|
||||
jr l_find_first_free_00106 |
|
||||
l_find_first_free_00102: |
|
||||
;source-doc/base-drv/usb_state.c:39: p = next_device_config(boot_state, p); |
|
||||
ld hl,_x |
|
||||
call _next_device_config |
|
||||
jr l_find_first_free_00103 |
|
||||
l_find_first_free_00105: |
|
||||
;source-doc/base-drv/usb_state.c:42: return NULL; |
|
||||
ld hl,0x0000 |
|
||||
l_find_first_free_00106: |
|
||||
;source-doc/base-drv/usb_state.c:43: } |
|
||||
ret |
|
||||
;source-doc/base-drv/usb_state.c:45: device_config *first_device_config(const _usb_state *const p) __sdcccall(1) { return (device_config *)&p->device_configs[0]; } |
|
||||
; --------------------------------- |
|
||||
; Function first_device_config |
|
||||
; --------------------------------- |
|
||||
_first_device_config: |
|
||||
ex de, hl |
|
||||
inc de |
|
||||
inc de |
|
||||
ret |
|
||||
;source-doc/base-drv/usb_state.c:47: device_config *next_device_config(const _usb_state *const usb_state, const device_config *const p) __sdcccall(1) { |
|
||||
; --------------------------------- |
|
||||
; Function next_device_config |
|
||||
; --------------------------------- |
|
||||
_next_device_config: |
|
||||
ld c, l |
|
||||
ld b, h |
|
||||
;source-doc/base-drv/usb_state.c:48: if (p->type == 0) |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
and a,0x0f |
|
||||
jr NZ,l_next_device_config_00102 |
|
||||
;source-doc/base-drv/usb_state.c:49: return NULL; |
|
||||
ld de,0x0000 |
|
||||
jr l_next_device_config_00105 |
|
||||
l_next_device_config_00102: |
|
||||
;source-doc/base-drv/usb_state.c:51: const uint8_t size = device_config_sizes[p->type]; |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
and a,0x0f |
|
||||
add a, +((_device_config_sizes) & 0xFF) |
|
||||
ld l, a |
|
||||
ld a,0x00 |
|
||||
adc a, +((_device_config_sizes) / 256) |
|
||||
ld h, a |
|
||||
ld l, (hl) |
|
||||
;source-doc/base-drv/usb_state.c:58: const uint8_t *_p = (uint8_t *)p; |
|
||||
;source-doc/base-drv/usb_state.c:59: device_config *const result = (device_config *)(_p + size); |
|
||||
ld h,0x00 |
|
||||
add hl, de |
|
||||
ex de, hl |
|
||||
;source-doc/base-drv/usb_state.c:61: if (result >= (device_config *)&usb_state->device_configs_end) |
|
||||
ld hl,0x0062 |
|
||||
add hl, bc |
|
||||
ld a, e |
|
||||
sub a, l |
|
||||
ld a, d |
|
||||
sbc a, h |
|
||||
ret C |
|
||||
;source-doc/base-drv/usb_state.c:62: return NULL; |
|
||||
ld de,0x0000 |
|
||||
;source-doc/base-drv/usb_state.c:64: return result; |
|
||||
l_next_device_config_00105: |
|
||||
;source-doc/base-drv/usb_state.c:65: } |
|
||||
ret |
|
||||
;source-doc/base-drv/usb_state.c:68: device_config *get_usb_device_config(const uint8_t device_index) __sdcccall(1) { |
|
||||
; --------------------------------- |
|
||||
; Function get_usb_device_config |
|
||||
; --------------------------------- |
|
||||
_get_usb_device_config: |
|
||||
ld c, a |
|
||||
;source-doc/base-drv/usb_state.c:69: const _usb_state *const usb_state = get_usb_work_area(); |
|
||||
;source-doc/base-drv/usb_state.c:73: for (device_config *p = first_device_config(usb_state); p; p = next_device_config(usb_state, p)) { |
|
||||
push bc |
|
||||
ld hl,_x |
|
||||
call _first_device_config |
|
||||
pop bc |
|
||||
ld b,0x01 |
|
||||
l_get_usb_device_config_00107: |
|
||||
ld a, d |
|
||||
or a, e |
|
||||
jr Z,l_get_usb_device_config_00105 |
|
||||
;source-doc/base-drv/usb_state.c:74: if (p->type != USB_NOT_SUPPORTED) { |
|
||||
ld l, e |
|
||||
ld h, d |
|
||||
ld a, (hl) |
|
||||
and a,0x0f |
|
||||
jr Z,l_get_usb_device_config_00108 |
|
||||
;source-doc/base-drv/usb_state.c:75: if (counter == device_index) |
|
||||
ld a, c |
|
||||
sub a, b |
|
||||
;source-doc/base-drv/usb_state.c:76: return p; |
|
||||
jr Z,l_get_usb_device_config_00109 |
|
||||
;source-doc/base-drv/usb_state.c:77: counter++; |
|
||||
inc b |
|
||||
l_get_usb_device_config_00108: |
|
||||
;source-doc/base-drv/usb_state.c:73: for (device_config *p = first_device_config(usb_state); p; p = next_device_config(usb_state, p)) { |
|
||||
push bc |
|
||||
ld hl,_x |
|
||||
call _next_device_config |
|
||||
pop bc |
|
||||
jr l_get_usb_device_config_00107 |
|
||||
l_get_usb_device_config_00105: |
|
||||
;source-doc/base-drv/usb_state.c:81: return NULL; // is not a usb device |
|
||||
ld de,0x0000 |
|
||||
l_get_usb_device_config_00109: |
|
||||
;source-doc/base-drv/usb_state.c:82: } |
|
||||
ret |
|
||||
SECTION IGNORE |
|
||||
@ -1,520 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _x |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _get_usb_device_config |
|
||||
GLOBAL _find_device_config |
|
||||
GLOBAL _next_device_config |
|
||||
GLOBAL _first_device_config |
|
||||
GLOBAL _find_first_free |
|
||||
GLOBAL _usbtrn_clear_endpoint_halt |
|
||||
GLOBAL _usbtrn_set_address |
|
||||
GLOBAL _usbtrn_set_configuration |
|
||||
GLOBAL _usbtrn_gfull_cfg_desc |
|
||||
GLOBAL _usbtrn_get_config_descriptor |
|
||||
GLOBAL _usbtrn_get_descriptor2 |
|
||||
GLOBAL _usbtrn_get_descriptor |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
_x: |
|
||||
DEFS 99 |
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION data_compiler |
|
||||
_x: |
|
||||
DEFB 0x00 |
|
||||
DEFB +0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB 0x00 |
|
||||
DEFB +0x00 |
|
||||
SECTION IGNORE |
|
||||
@ -0,0 +1 @@ |
|||||
|
*.asm |
||||
@ -0,0 +1 @@ |
|||||
|
*.asm |
||||
@ -0,0 +1 @@ |
|||||
|
*.asm |
||||
@ -1,599 +0,0 @@ |
|||||
;-------------------------------------------------------- |
|
||||
; File Created by SDCC : free open source ISO C Compiler |
|
||||
; Version 4.4.0 #14648 (Linux) |
|
||||
;-------------------------------------------------------- |
|
||||
; Processed by Z88DK |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
EXTERN __divschar |
|
||||
EXTERN __divschar_callee |
|
||||
EXTERN __divsint |
|
||||
EXTERN __divsint_callee |
|
||||
EXTERN __divslong |
|
||||
EXTERN __divslong_callee |
|
||||
EXTERN __divslonglong |
|
||||
EXTERN __divslonglong_callee |
|
||||
EXTERN __divsuchar |
|
||||
EXTERN __divsuchar_callee |
|
||||
EXTERN __divuchar |
|
||||
EXTERN __divuchar_callee |
|
||||
EXTERN __divuint |
|
||||
EXTERN __divuint_callee |
|
||||
EXTERN __divulong |
|
||||
EXTERN __divulong_callee |
|
||||
EXTERN __divulonglong |
|
||||
EXTERN __divulonglong_callee |
|
||||
EXTERN __divuschar |
|
||||
EXTERN __divuschar_callee |
|
||||
EXTERN __modschar |
|
||||
EXTERN __modschar_callee |
|
||||
EXTERN __modsint |
|
||||
EXTERN __modsint_callee |
|
||||
EXTERN __modslong |
|
||||
EXTERN __modslong_callee |
|
||||
EXTERN __modslonglong |
|
||||
EXTERN __modslonglong_callee |
|
||||
EXTERN __modsuchar |
|
||||
EXTERN __modsuchar_callee |
|
||||
EXTERN __moduchar |
|
||||
EXTERN __moduchar_callee |
|
||||
EXTERN __moduint |
|
||||
EXTERN __moduint_callee |
|
||||
EXTERN __modulong |
|
||||
EXTERN __modulong_callee |
|
||||
EXTERN __modulonglong |
|
||||
EXTERN __modulonglong_callee |
|
||||
EXTERN __moduschar |
|
||||
EXTERN __moduschar_callee |
|
||||
EXTERN __mulint |
|
||||
EXTERN __mulint_callee |
|
||||
EXTERN __mullong |
|
||||
EXTERN __mullong_callee |
|
||||
EXTERN __mullonglong |
|
||||
EXTERN __mullonglong_callee |
|
||||
EXTERN __mulschar |
|
||||
EXTERN __mulschar_callee |
|
||||
EXTERN __mulsuchar |
|
||||
EXTERN __mulsuchar_callee |
|
||||
EXTERN __muluchar |
|
||||
EXTERN __muluchar_callee |
|
||||
EXTERN __muluschar |
|
||||
EXTERN __muluschar_callee |
|
||||
EXTERN __rlslonglong |
|
||||
EXTERN __rlslonglong_callee |
|
||||
EXTERN __rlulonglong |
|
||||
EXTERN __rlulonglong_callee |
|
||||
EXTERN __rrslonglong |
|
||||
EXTERN __rrslonglong_callee |
|
||||
EXTERN __rrulonglong |
|
||||
EXTERN __rrulonglong_callee |
|
||||
EXTERN ___mulsint2slong |
|
||||
EXTERN ___mulsint2slong_callee |
|
||||
EXTERN ___muluint2ulong |
|
||||
EXTERN ___muluint2ulong_callee |
|
||||
EXTERN ___sdcc_call_hl |
|
||||
EXTERN ___sdcc_call_iy |
|
||||
EXTERN ___sdcc_enter_ix |
|
||||
EXTERN banked_call |
|
||||
EXTERN _banked_ret |
|
||||
EXTERN ___fs2schar |
|
||||
EXTERN ___fs2schar_callee |
|
||||
EXTERN ___fs2sint |
|
||||
EXTERN ___fs2sint_callee |
|
||||
EXTERN ___fs2slong |
|
||||
EXTERN ___fs2slong_callee |
|
||||
EXTERN ___fs2slonglong |
|
||||
EXTERN ___fs2slonglong_callee |
|
||||
EXTERN ___fs2uchar |
|
||||
EXTERN ___fs2uchar_callee |
|
||||
EXTERN ___fs2uint |
|
||||
EXTERN ___fs2uint_callee |
|
||||
EXTERN ___fs2ulong |
|
||||
EXTERN ___fs2ulong_callee |
|
||||
EXTERN ___fs2ulonglong |
|
||||
EXTERN ___fs2ulonglong_callee |
|
||||
EXTERN ___fsadd |
|
||||
EXTERN ___fsadd_callee |
|
||||
EXTERN ___fsdiv |
|
||||
EXTERN ___fsdiv_callee |
|
||||
EXTERN ___fseq |
|
||||
EXTERN ___fseq_callee |
|
||||
EXTERN ___fsgt |
|
||||
EXTERN ___fsgt_callee |
|
||||
EXTERN ___fslt |
|
||||
EXTERN ___fslt_callee |
|
||||
EXTERN ___fsmul |
|
||||
EXTERN ___fsmul_callee |
|
||||
EXTERN ___fsneq |
|
||||
EXTERN ___fsneq_callee |
|
||||
EXTERN ___fssub |
|
||||
EXTERN ___fssub_callee |
|
||||
EXTERN ___schar2fs |
|
||||
EXTERN ___schar2fs_callee |
|
||||
EXTERN ___sint2fs |
|
||||
EXTERN ___sint2fs_callee |
|
||||
EXTERN ___slong2fs |
|
||||
EXTERN ___slong2fs_callee |
|
||||
EXTERN ___slonglong2fs |
|
||||
EXTERN ___slonglong2fs_callee |
|
||||
EXTERN ___uchar2fs |
|
||||
EXTERN ___uchar2fs_callee |
|
||||
EXTERN ___uint2fs |
|
||||
EXTERN ___uint2fs_callee |
|
||||
EXTERN ___ulong2fs |
|
||||
EXTERN ___ulong2fs_callee |
|
||||
EXTERN ___ulonglong2fs |
|
||||
EXTERN ___ulonglong2fs_callee |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_2_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_bcix |
|
||||
EXTERN ____sdcc_4_copy_src_mhl_dst_mbc |
|
||||
EXTERN ____sdcc_4_ldi_nosave_bc |
|
||||
EXTERN ____sdcc_4_ldi_save_bc |
|
||||
EXTERN ____sdcc_4_push_hlix |
|
||||
EXTERN ____sdcc_4_push_mhl |
|
||||
EXTERN ____sdcc_lib_setmem_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_add_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_add_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_add_deix_hlix |
|
||||
EXTERN ____sdcc_ll_add_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_add_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_ll_asr_hlix_a |
|
||||
EXTERN ____sdcc_ll_asr_mbc_a |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_de_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hl |
|
||||
EXTERN ____sdcc_ll_copy_src_deix_dst_hlix |
|
||||
EXTERN ____sdcc_ll_copy_src_deixm_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_desp_dst_hlsp |
|
||||
EXTERN ____sdcc_ll_copy_src_hl_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_de |
|
||||
EXTERN ____sdcc_ll_copy_src_hlsp_dst_deixm |
|
||||
EXTERN ____sdcc_ll_lsl_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsl_mbc_a |
|
||||
EXTERN ____sdcc_ll_lsr_hlix_a |
|
||||
EXTERN ____sdcc_ll_lsr_mbc_a |
|
||||
EXTERN ____sdcc_ll_push_hlix |
|
||||
EXTERN ____sdcc_ll_push_mhl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_de_bc_hlix |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bc |
|
||||
EXTERN ____sdcc_ll_sub_de_hlix_bcix |
|
||||
EXTERN ____sdcc_ll_sub_deix_bc_hl |
|
||||
EXTERN ____sdcc_ll_sub_deix_hlix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_bc_deix |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bc |
|
||||
EXTERN ____sdcc_ll_sub_hlix_deix_bcix |
|
||||
EXTERN ____sdcc_load_debc_deix |
|
||||
EXTERN ____sdcc_load_dehl_deix |
|
||||
EXTERN ____sdcc_load_debc_mhl |
|
||||
EXTERN ____sdcc_load_hlde_mhl |
|
||||
EXTERN ____sdcc_store_dehl_bcix |
|
||||
EXTERN ____sdcc_store_debc_hlix |
|
||||
EXTERN ____sdcc_store_debc_mhl |
|
||||
EXTERN ____sdcc_cpu_pop_ei |
|
||||
EXTERN ____sdcc_cpu_pop_ei_jp |
|
||||
EXTERN ____sdcc_cpu_push_di |
|
||||
EXTERN ____sdcc_outi |
|
||||
EXTERN ____sdcc_outi_128 |
|
||||
EXTERN ____sdcc_outi_256 |
|
||||
EXTERN ____sdcc_ldi |
|
||||
EXTERN ____sdcc_ldi_128 |
|
||||
EXTERN ____sdcc_ldi_256 |
|
||||
EXTERN ____sdcc_4_copy_srcd_hlix_dst_deix |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_deix |
|
||||
EXTERN ____sdcc_4_or_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_and_src_dehl_dst_bcix |
|
||||
EXTERN ____sdcc_4_xor_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_mbc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_cpl_src_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_mhl_dst_debc |
|
||||
EXTERN ____sdcc_4_and_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_or_src_debc_hlix_dst_debc |
|
||||
EXTERN ____sdcc_4_xor_src_debc_hlix_dst_debc |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; Public variables in this module |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _cbi2_adsc |
|
||||
GLOBAL _usb_execute_cbi |
|
||||
;-------------------------------------------------------- |
|
||||
; Externals used |
|
||||
;-------------------------------------------------------- |
|
||||
GLOBAL _critical_end |
|
||||
GLOBAL _critical_begin |
|
||||
GLOBAL _usbtrn_clear_endpoint_halt |
|
||||
GLOBAL _usbtrn_set_address |
|
||||
GLOBAL _usbtrn_set_configuration |
|
||||
GLOBAL _usbtrn_gfull_cfg_desc |
|
||||
GLOBAL _usbtrn_get_config_descriptor |
|
||||
GLOBAL _usbtrn_get_descriptor2 |
|
||||
GLOBAL _usbtrn_get_descriptor |
|
||||
GLOBAL _usbdev_dat_in_trnsfer_0 |
|
||||
GLOBAL _usbdev_dat_in_trnsfer |
|
||||
GLOBAL _usbdev_bulk_in_transfer |
|
||||
GLOBAL _usbdev_blk_out_trnsfer |
|
||||
GLOBAL _usbdev_control_transfer |
|
||||
GLOBAL _usb_data_out_transfer |
|
||||
GLOBAL _usb_data_in_transfer_n |
|
||||
GLOBAL _usb_data_in_transfer |
|
||||
GLOBAL _usb_control_transfer |
|
||||
GLOBAL _ch_issue_token_in_ep0 |
|
||||
GLOBAL _ch_issue_token_out_ep0 |
|
||||
GLOBAL _ch_issue_token_setup |
|
||||
GLOBAL _ch_data_out_transfer |
|
||||
GLOBAL _ch_data_in_transfer_n |
|
||||
GLOBAL _ch_data_in_transfer |
|
||||
GLOBAL _ch_control_transfer_set_config |
|
||||
GLOBAL _ch_control_transfer_set_address |
|
||||
GLOBAL _ch_control_transfer_request_descriptor |
|
||||
GLOBAL _ch_set_usb_address |
|
||||
GLOBAL _ch_write_data |
|
||||
GLOBAL _ch_cmd_get_ic_version |
|
||||
GLOBAL _ch_cmd_set_usb_mode |
|
||||
GLOBAL _ch_probe |
|
||||
GLOBAL _ch_cmd_reset_all |
|
||||
GLOBAL _ch_read_data |
|
||||
GLOBAL _ch_very_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_short_wait_int_and_get_status |
|
||||
GLOBAL _ch_long_wait_int_and_get_status |
|
||||
GLOBAL _ch_get_status |
|
||||
GLOBAL _ch_command |
|
||||
GLOBAL _delay_medium |
|
||||
GLOBAL _delay_short |
|
||||
GLOBAL _delay_20ms |
|
||||
GLOBAL _printf |
|
||||
GLOBAL _delay |
|
||||
GLOBAL _ulltoa_callee |
|
||||
GLOBAL _ulltoa |
|
||||
GLOBAL _strtoull_callee |
|
||||
GLOBAL _strtoull |
|
||||
GLOBAL _strtoll_callee |
|
||||
GLOBAL _strtoll |
|
||||
GLOBAL _lltoa_callee |
|
||||
GLOBAL _lltoa |
|
||||
GLOBAL _llabs_callee |
|
||||
GLOBAL _llabs |
|
||||
GLOBAL __lldivu__callee |
|
||||
GLOBAL __lldivu_ |
|
||||
GLOBAL __lldiv__callee |
|
||||
GLOBAL __lldiv_ |
|
||||
GLOBAL _atoll_callee |
|
||||
GLOBAL _atoll |
|
||||
GLOBAL _realloc_unlocked_callee |
|
||||
GLOBAL _realloc_unlocked |
|
||||
GLOBAL _malloc_unlocked_fastcall |
|
||||
GLOBAL _malloc_unlocked |
|
||||
GLOBAL _free_unlocked_fastcall |
|
||||
GLOBAL _free_unlocked |
|
||||
GLOBAL _calloc_unlocked_callee |
|
||||
GLOBAL _calloc_unlocked |
|
||||
GLOBAL _aligned_alloc_unlocked_callee |
|
||||
GLOBAL _aligned_alloc_unlocked |
|
||||
GLOBAL _realloc_callee |
|
||||
GLOBAL _realloc |
|
||||
GLOBAL _malloc_fastcall |
|
||||
GLOBAL _malloc |
|
||||
GLOBAL _free_fastcall |
|
||||
GLOBAL _free |
|
||||
GLOBAL _calloc_callee |
|
||||
GLOBAL _calloc |
|
||||
GLOBAL _aligned_alloc_callee |
|
||||
GLOBAL _aligned_alloc |
|
||||
GLOBAL _utoa_callee |
|
||||
GLOBAL _utoa |
|
||||
GLOBAL _ultoa_callee |
|
||||
GLOBAL _ultoa |
|
||||
GLOBAL _system_fastcall |
|
||||
GLOBAL _system |
|
||||
GLOBAL _strtoul_callee |
|
||||
GLOBAL _strtoul |
|
||||
GLOBAL _strtol_callee |
|
||||
GLOBAL _strtol |
|
||||
GLOBAL _strtof_callee |
|
||||
GLOBAL _strtof |
|
||||
GLOBAL _strtod_callee |
|
||||
GLOBAL _strtod |
|
||||
GLOBAL _srand_fastcall |
|
||||
GLOBAL _srand |
|
||||
GLOBAL _rand |
|
||||
GLOBAL _quick_exit_fastcall |
|
||||
GLOBAL _quick_exit |
|
||||
GLOBAL _qsort_callee |
|
||||
GLOBAL _qsort |
|
||||
GLOBAL _ltoa_callee |
|
||||
GLOBAL _ltoa |
|
||||
GLOBAL _labs_fastcall |
|
||||
GLOBAL _labs |
|
||||
GLOBAL _itoa_callee |
|
||||
GLOBAL _itoa |
|
||||
GLOBAL _ftoh_callee |
|
||||
GLOBAL _ftoh |
|
||||
GLOBAL _ftog_callee |
|
||||
GLOBAL _ftog |
|
||||
GLOBAL _ftoe_callee |
|
||||
GLOBAL _ftoe |
|
||||
GLOBAL _ftoa_callee |
|
||||
GLOBAL _ftoa |
|
||||
GLOBAL _exit_fastcall |
|
||||
GLOBAL _exit |
|
||||
GLOBAL _dtoh_callee |
|
||||
GLOBAL _dtoh |
|
||||
GLOBAL _dtog_callee |
|
||||
GLOBAL _dtog |
|
||||
GLOBAL _dtoe_callee |
|
||||
GLOBAL _dtoe |
|
||||
GLOBAL _dtoa_callee |
|
||||
GLOBAL _dtoa |
|
||||
GLOBAL _bsearch_callee |
|
||||
GLOBAL _bsearch |
|
||||
GLOBAL _atol_fastcall |
|
||||
GLOBAL _atol |
|
||||
GLOBAL _atoi_fastcall |
|
||||
GLOBAL _atoi |
|
||||
GLOBAL _atof_fastcall |
|
||||
GLOBAL _atof |
|
||||
GLOBAL _atexit_fastcall |
|
||||
GLOBAL _atexit |
|
||||
GLOBAL _at_quick_exit_fastcall |
|
||||
GLOBAL _at_quick_exit |
|
||||
GLOBAL _abs_fastcall |
|
||||
GLOBAL _abs |
|
||||
GLOBAL _abort |
|
||||
GLOBAL __strtou__callee |
|
||||
GLOBAL __strtou_ |
|
||||
GLOBAL __strtoi__callee |
|
||||
GLOBAL __strtoi_ |
|
||||
GLOBAL __random_uniform_xor_8__fastcall |
|
||||
GLOBAL __random_uniform_xor_8_ |
|
||||
GLOBAL __random_uniform_xor_32__fastcall |
|
||||
GLOBAL __random_uniform_xor_32_ |
|
||||
GLOBAL __random_uniform_cmwc_8__fastcall |
|
||||
GLOBAL __random_uniform_cmwc_8_ |
|
||||
GLOBAL __shellsort__callee |
|
||||
GLOBAL __shellsort_ |
|
||||
GLOBAL __quicksort__callee |
|
||||
GLOBAL __quicksort_ |
|
||||
GLOBAL __insertion_sort__callee |
|
||||
GLOBAL __insertion_sort_ |
|
||||
GLOBAL __ldivu__callee |
|
||||
GLOBAL __ldivu_ |
|
||||
GLOBAL __ldiv__callee |
|
||||
GLOBAL __ldiv_ |
|
||||
GLOBAL __divu__callee |
|
||||
GLOBAL __divu_ |
|
||||
GLOBAL __div__callee |
|
||||
GLOBAL __div_ |
|
||||
GLOBAL _in_critical_usb_section |
|
||||
GLOBAL _result |
|
||||
;-------------------------------------------------------- |
|
||||
; special function registers |
|
||||
;-------------------------------------------------------- |
|
||||
defc _CH376_DATA_PORT = 0xff88 |
|
||||
defc _CH376_COMMAND_PORT = 0xff89 |
|
||||
defc _USB_MODULE_LEDS = 0xff8a |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION bss_compiler |
|
||||
;-------------------------------------------------------- |
|
||||
; ram data |
|
||||
;-------------------------------------------------------- |
|
||||
|
|
||||
IF 0 |
|
||||
|
|
||||
; .area _INITIALIZED removed by z88dk |
|
||||
|
|
||||
_cbi2_adsc: |
|
||||
DEFS 8 |
|
||||
|
|
||||
ENDIF |
|
||||
|
|
||||
;-------------------------------------------------------- |
|
||||
; absolute external ram data |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; global & static initialisations |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_crt_init |
|
||||
;-------------------------------------------------------- |
|
||||
; Home |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION IGNORE |
|
||||
;-------------------------------------------------------- |
|
||||
; code |
|
||||
;-------------------------------------------------------- |
|
||||
SECTION code_compiler |
|
||||
;source-doc/ufi-drv/usb_cbi.c:10: usb_error usb_execute_cbi(device_config *const storage_device, |
|
||||
; --------------------------------- |
|
||||
; Function usb_execute_cbi |
|
||||
; --------------------------------- |
|
||||
_usb_execute_cbi: |
|
||||
push ix |
|
||||
ld ix,0 |
|
||||
add ix,sp |
|
||||
ld hl, -8 |
|
||||
add hl, sp |
|
||||
ld sp, hl |
|
||||
;source-doc/ufi-drv/usb_cbi.c:17: const uint8_t interface_number = storage_device->interface_number; |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
ld c,l |
|
||||
ld b,h |
|
||||
inc hl |
|
||||
inc hl |
|
||||
ld e, (hl) |
|
||||
;source-doc/ufi-drv/usb_cbi.c:20: adsc = cbi2_adsc; |
|
||||
push de |
|
||||
push bc |
|
||||
ex de, hl |
|
||||
ld hl,4 |
|
||||
add hl, sp |
|
||||
ex de, hl |
|
||||
ld bc,0x0008 |
|
||||
ld hl,_cbi2_adsc |
|
||||
ldir |
|
||||
pop bc |
|
||||
pop de |
|
||||
;source-doc/ufi-drv/usb_cbi.c:21: adsc.bIndex[0] = interface_number; |
|
||||
ld (ix-4),e |
|
||||
;source-doc/ufi-drv/usb_cbi.c:23: critical_begin(); |
|
||||
push bc |
|
||||
call _critical_begin |
|
||||
pop bc |
|
||||
;source-doc/ufi-drv/usb_cbi.c:25: result = usbdev_control_transfer(storage_device, &adsc, (uint8_t *const)cmd); |
|
||||
ld l,(ix+6) |
|
||||
ld h,(ix+7) |
|
||||
push hl |
|
||||
ld hl,2 |
|
||||
add hl, sp |
|
||||
push hl |
|
||||
push bc |
|
||||
call _usbdev_control_transfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/ufi-drv/usb_cbi.c:27: if (result == USB_ERR_STALL) { |
|
||||
ld a,(_result) |
|
||||
sub a,0x02 |
|
||||
jr NZ,l_usb_execute_cbi_00104 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:28: if (sense_codes != NULL) |
|
||||
ld a,(ix+14) |
|
||||
or a,(ix+13) |
|
||||
jr Z,l_usb_execute_cbi_00102 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:29: usbdev_dat_in_trnsfer(storage_device, sense_codes, 2, ENDPOINT_INTERRUPT_IN); |
|
||||
ld a,0x02 |
|
||||
push af |
|
||||
inc sp |
|
||||
ld hl,0x0002 |
|
||||
push hl |
|
||||
ld l,(ix+13) |
|
||||
ld h,(ix+14) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usbdev_dat_in_trnsfer |
|
||||
ld hl,7 |
|
||||
add hl, sp |
|
||||
ld sp, hl |
|
||||
l_usb_execute_cbi_00102: |
|
||||
;source-doc/ufi-drv/usb_cbi.c:31: result = USB_ERR_STALL; |
|
||||
ld hl,_result |
|
||||
ld (hl),0x02 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:32: goto done; |
|
||||
jp l_usb_execute_cbi_00116 |
|
||||
l_usb_execute_cbi_00104: |
|
||||
;source-doc/ufi-drv/usb_cbi.c:35: if (result != USB_ERR_OK) { |
|
||||
ld a,(_result) |
|
||||
or a, a |
|
||||
jp NZ, l_usb_execute_cbi_00116 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:40: if (send) { |
|
||||
bit 0,(ix+8) |
|
||||
jr Z,l_usb_execute_cbi_00112 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:41: result = usbdev_blk_out_trnsfer(storage_device, buffer, buffer_size); |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld l,(ix+11) |
|
||||
ld h,(ix+12) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usbdev_blk_out_trnsfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/ufi-drv/usb_cbi.c:43: if (result != USB_ERR_OK) { |
|
||||
ld a,(_result) |
|
||||
or a, a |
|
||||
jr Z,l_usb_execute_cbi_00113 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:45: goto done; |
|
||||
jr l_usb_execute_cbi_00116 |
|
||||
l_usb_execute_cbi_00112: |
|
||||
;source-doc/ufi-drv/usb_cbi.c:48: result = usbdev_dat_in_trnsfer(storage_device, buffer, buffer_size, ENDPOINT_BULK_IN); |
|
||||
ld a,0x01 |
|
||||
push af |
|
||||
inc sp |
|
||||
ld l,(ix+9) |
|
||||
ld h,(ix+10) |
|
||||
push hl |
|
||||
ld l,(ix+11) |
|
||||
ld h,(ix+12) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usbdev_dat_in_trnsfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/ufi-drv/usb_cbi.c:50: if (result != USB_ERR_OK) { |
|
||||
ld a,(_result) |
|
||||
or a, a |
|
||||
jr NZ,l_usb_execute_cbi_00116 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:52: goto done; |
|
||||
l_usb_execute_cbi_00113: |
|
||||
;source-doc/ufi-drv/usb_cbi.c:56: if (sense_codes != NULL) { |
|
||||
ld a,(ix+14) |
|
||||
or a,(ix+13) |
|
||||
jr Z,l_usb_execute_cbi_00116 |
|
||||
;source-doc/ufi-drv/usb_cbi.c:57: result = usbdev_dat_in_trnsfer(storage_device, sense_codes, 2, ENDPOINT_INTERRUPT_IN); |
|
||||
ld a,0x02 |
|
||||
push af |
|
||||
inc sp |
|
||||
ld hl,0x0002 |
|
||||
push hl |
|
||||
ld l,(ix+13) |
|
||||
ld h,(ix+14) |
|
||||
push hl |
|
||||
ld l,(ix+4) |
|
||||
ld h,(ix+5) |
|
||||
push hl |
|
||||
call _usbdev_dat_in_trnsfer |
|
||||
pop af |
|
||||
pop af |
|
||||
pop af |
|
||||
inc sp |
|
||||
ld a, l |
|
||||
ld (_result), a |
|
||||
;source-doc/ufi-drv/usb_cbi.c:65: done: |
|
||||
l_usb_execute_cbi_00116: |
|
||||
;source-doc/ufi-drv/usb_cbi.c:66: critical_end(); |
|
||||
call _critical_end |
|
||||
;source-doc/ufi-drv/usb_cbi.c:68: return result; |
|
||||
ld hl,(_result) |
|
||||
;source-doc/ufi-drv/usb_cbi.c:69: } |
|
||||
ld sp, ix |
|
||||
pop ix |
|
||||
ret |
|
||||
SECTION data_compiler |
|
||||
_cbi2_adsc: |
|
||||
DEFB +0x21 |
|
||||
DEFB +0x00 |
|
||||
DEFB +0x00 |
|
||||
DEFB +0x00 |
|
||||
DEFB +0xff |
|
||||
DEFB +0x00 |
|
||||
DEFW +0x000c |
|
||||
SECTION IGNORE |
|
||||
Loading…
Reference in new issue