Files
xmplayer/obj/out.sym
T
alexandClaude Sonnet 5 ee64fb85a9 Fix esp32 detection, add colored caption, live stats, single-loop playback
- Fix state_esp init bug: crt0.s never runs GSINIT and hex2bin fills
  unbacked memory with 0xFF (not 0), so a plain zero-init global always
  read 0xFF on load; give it a real 0xFF sentinel initializer instead.
- Vendor demyanenko-d/VGMPLAY.WMF's wc_api library (SDCC 4.6.0 +
  --sdcccall 1) instead of hand-rolled PRSRW/PRIAT wrappers, which
  corrupted esp32 file loading in three different shapes; colored "File:"
  caption now works.
- Trim shared-file footprint: vendor only the esp32.c functions actually
  used, drop unused sdklib.h/sdk.lib linkage.
- Re-enable periodic live stats (Pattern/Row/BPM/Time/progress bar).
- Limit playback to one loop via TRACK_SET_PARAMS/MAX_LOOP_COUNT, and
  auto-advance to the next file when a track finishes on its own
  (detected via a PLAYING->STOPPED ESP_REG_TRACK_STATUS transition).
- Pin the Z80 clock to 14MHz for the whole plugin lifetime so esp32 SPI
  wait-loop timeouts (raw iteration counts, not real time) don't depend
  on whatever turbo setting was active before the plugin started.
- Pad TRACK_INIT's timeout well past the firmware's 5s song-length
  measurement cap (XM_MEASURE_MAX_US).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-30 21:40:24 +03:00

173 lines
12 KiB
Plaintext

ASxxxx Assembler V05.50.4+NoICE+SDCCmods-WIP-R14 (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800) Page 1
Hexadecimal [32-Bits]
Symbol Table
.__.$$$. = 00002710 L
.__.ABS. = 00000000 G
.__.CPU. = 00000000 L
.__.H$L. = 00000000 L
_BORDER = 000000FE
_SPI_CTRL = 00000077
_SPI_DATA = 00000057
_TS_BORDER = 00000FAF
_TS_CACHECONF = 00002BAF
_TS_DMACTR = 000027AF
_TS_DMADADDRH = 00001EAF
_TS_DMADADDRL = 00001DAF
_TS_DMADADDRX = 00001FAF
_TS_DMALEN = 000026AF
_TS_DMANUM = 000028AF
_TS_DMANUMH = 00002CAF
_TS_DMASADDRH = 00001BAF
_TS_DMASADDRL = 00001AAF
_TS_DMASADDRX = 00001CAF
_TS_DMASTATUS = 000027AF
_TS_DMAWPA = 00002DAF
_TS_DMAWPD = 000025AF
_TS_FDDVIRT = 000029AF
_TS_FMADDR = 000015AF
_TS_GXOFFSH = 000003AF
_TS_GXOFFSL = 000002AF
_TS_GYOFFSH = 000005AF
_TS_GYOFFSL = 000004AF
_TS_HSINT = 000022AF
_TS_INTMASK = 00002AAF
_TS_MEMCONFIG = 000021AF
_TS_PAGE0 = 000010AF
_TS_PAGE1 = 000011AF
_TS_PAGE2 = 000012AF
_TS_PAGE3 = 000013AF
_TS_PALSEL = 000007AF
_TS_SGPAGE = 000019AF
_TS_STATUS = 000000AF
_TS_SYSCONFIG = 000020AF
_TS_T0GPAGE = 000017AF
_TS_T0XOFFSH = 000041AF
_TS_T0XOFFSL = 000040AF
_TS_T0YOFFSH = 000043AF
_TS_T0YOFFSL = 000042AF
_TS_T1GPAGE = 000018AF
_TS_T1XOFFSH = 000045AF
_TS_T1XOFFSL = 000044AF
_TS_T1YOFFSH = 000047AF
_TS_T1YOFFSL = 000046AF
_TS_TMPAGE = 000016AF
_TS_TSCONFIG = 000006AF
_TS_VCONFIG = 000000AF
_TS_VPAGE = 000001AF
_TS_VSINTH = 000024AF
_TS_VSINTL = 000023AF
ASxxxx Assembler V05.50.4+NoICE+SDCCmods-WIP-R14 (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800) Page 2
Hexadecimal [32-Bits]
Symbol Table
0 ___str_11 000007BA R
0 ___str_12 000007C4 R
0 ___str_13 000007CC R
0 ___str_14 000007D3 R
0 ___str_15 000007D9 R
0 ___str_9 00000617 R
__divuchar ******** GX
__divuint ******** GX
__divulong ******** GX
__moduchar ******** GX
__moduint ******** GX
__modulong ******** GX
__mullong ******** GX
0 __str_0 00000295 R
0 __str_1 0000029F R
0 __str_2 000002A0 R
0 __str_3 000002B6 R
0 __str_4 000002D6 R
0 __str_5 000002F4 R
0 __str_6 00000309 R
0 __str_7 00000317 R
0 __str_8 00000320 R
7 __xinit__state_esp 00000000 R
0 _about 00000576 GR
1 _barbuf 0000103C R
1 _call_type 00001007 GR
0 _copy_file_name 000005C8 GR
1 _decbuf 00001034 R
0 _draw_progress_bar 000007DD GR
0 _err_no_esp 0000023B GR
0 _err_out_of_mem 0000024D GR
0 _err_playback 0000025F GR
0 _error_esp 00000589 GR
0 _error_oom 0000059C GR
0 _error_playback 000005B2 GR
0 _esp_cmd 0000000E GR
0 _esp_create_obj 00000200 GR
0 _esp_init 0000022E GR
0 _esp_rd_end 00000194 GR
0 _esp_rd_reg32 00000040 GR
0 _esp_rd_reg8 00000027 GR
0 _esp_rd_regs 000000AE GR
0 _esp_send_dma 00000130 GR
0 _esp_wait_busy 000001DE GR
0 _esp_wait_status 000001A3 GR
0 _esp_wr_end 00000121 GR
0 _esp_wr_reg32 000000F1 GR
0 _esp_wr_reg8 000000DA GR
1 _file_ext 00001006 GR
1 _file_name 0000100B GR
1 _filesize 00001002 GR
1 _fs_buf 00000000 GR
1 _hexbuf 00001032 R
1 _last_esp_status 00001008 GR
1 _last_track_status 00001031 GR
ASxxxx Assembler V05.50.4+NoICE+SDCCmods-WIP-R14 (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800) Page 3
Hexadecimal [32-Bits]
Symbol Table
0 _main 00000ADD GR
0 _main_start 000009D0 GR
1 _p_file_name 00001009 GR
0 _play_xm 00000332 GR
0 _put_dec3 0000065A GR
0 _put_hex2 0000061D GR
0 _put_hex2_hexch_10000_106 00000649 R
0 _put_time 000006B7 GR
1 _ret_sp 00001000 GR
2 _state_esp 00000000 GR
_strlen ******** GX
1 _timebuf 00001037 R
1 _total_samples 0000102C GR
0 _wait_esc_key 00000565 GR
0 _wait_frames 0000056D GR
0 _wc_exit 00000000 GR
_wc_key_esc ******** GX
_wc_key_pgdn ******** GX
_wc_key_pgup ******** GX
_wc_load512 ******** GX
_wc_prsrw ******** GX
_wc_prsrw_attr ******** GX
_wc_prwow ******** GX
_wc_rresb ******** GX
0 _wc_set_freq_14mhz 00000005 GR
0 _win_about 00000283 GR
0 _win_xm 00000271 GR
0 _xm_draw_static_labels 000005ED GR
0 _xm_draw_stats_labels 00000764 GR
1 _xm_handle 00001030 GR
0 _xm_update_info 00000860 GR
ASxxxx Assembler V05.50.4+NoICE+SDCCmods-WIP-R14 (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800) Page 4
Hexadecimal [32-Bits]
Area Table
0 _CODE size B06 flags 0
1 _DATA size 105E flags 0
2 _INITIALIZED size 1 flags 0
3 _DABS size 0 flags 8
4 _HOME size 0 flags 0
5 _GSINIT size 0 flags 0
6 _GSFINAL size 0 flags 0
7 _INITIALIZER size 1 flags 0
8 _CABS size 0 flags 8