Fix esp32 wait-timing race, rename wc_api.lib, keyboard: Enter-to-advance

esp32.c: two-phase esp_wait_busy() so a stale non-BUSY status right after
esp_cmd() isn't mistaken for completion (fixed a real TRACK_PLAY/0x88 race
on heavier XM files); added single-phase esp_wait_not_busy() for
esp_send_dma()'s per-chunk wait, which never actually sets BUSY and was
timing out on every chunk under the two-phase version.

vgm_wc_api.lib renamed to wc_api.lib (build.bat updated to match).

Keyboard: tried replacing wc_key_esc/pgup/pgdn/space with a raw PS/2-FIFO
reader (matching how VGMPLAY.WMF's own player reads keys) so Enter could
also advance to the next file. Reverted after two confirmed hardware
regressions (esp32 transfers failing with ESP_ERR_INV_XM, and the keyboard
going unresponsive once WC's own PS/2 scanning was disabled to stop it
competing with the raw reads) - VGMPLAY's approach relies on a full custom
interrupt handler xmplay has no equivalent need for. Back to the simple
wc_key_*() wrappers, plus wc_key_enter() so Enter now advances too, and
wc_key_wait_release() (called after wc_gedpl()) to debounce the Enter/F3
that launched the plugin itself.

Also: About window now centers dynamically for all three WC text modes
(90x36/80x25/80x30) instead of a fixed position, and matches the main
window's color scheme.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-07 12:40:36 +03:00
co-authored by Claude Sonnet 5
parent ecf52d60c8
commit 168d6a71bd
16 changed files with 4471 additions and 3841 deletions
+658 -488
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+126 -117
View File
@@ -7,121 +7,130 @@
:2080C300B72807DB571213C3C1803E03D377E133E9474D3E13D3773E01D35778D357DB5768
:2080E30079D3573E03D377C94F3E13D3773E01D35779D357DB57FD210200FD39FD7E00D3BA
:2081030057FD7E01D357FD7E02D357FD7E03D3573E03D377E1F1F1E93E13D3773E07D357CF
:20812300DB573E03D377C97D01AF1AED797C01AF1BED79FD210200FD39FD7E0001AF1CEDD2
:2081430079FD7E01FD4E02FD23CB39CB1F3D01AF26ED79FD7E023D01AF28ED793E13D377C0
:208163003E03D357DB57DB573E8201AF27ED793E27DBAF0738F93E03D377CD1B8121640090
:20818300CDE881E1F1F133E93E13D3773E08D357DB573E03D377C9DDE5DD210000DD39213F
:2081A300FBFF39F9DD77FFDD73FDDD72FE2109607EDD77FB237EDD77FC2A09607DDD96FBDD
:2081C3004F7CDD9EFC4779DD96FD78DD9EFE300F3E01CD2180DD96FF20DF3E01C3E381AFC7
:2081E300DDF9DDE1C9DDE5DD210000DD39F5F5DD75FEDD74FF2109607EDD77FC237EDD7772
:20820300FD2A09607DDD96FC4F7CDD9EFD4779DD96FE78DD9EFF300E3E01CD2180FE022866
:20822300E03E01C32A82AFDDF9DDE1C9E5D53E03CDEB80FD210200FD39FD6E003E02CDD4CC
:20824300803EE0CD0880216400CDE8813E0BCD21805F1600E133E9AFCD0880CD8B81CD1B7F
:20826300813E01C98100190A280C7000000000008B82A582A5820100160A24054F00000036
:208283000000A682A582AF820E20584D2F584D5A2F53334D20506C617965722076302E31A6
:2082A3002000000E2041626F757420000E0C01584D20506C617965722076302E3100DDE51E
:2082C300DD210000DD3921ECFF39F93EA2CD0880216400CDE8813EE4CD0880216400CDE8A8
:2082E300813A06B83D280A3A06B8D6022808C3FE823E08C300833E0CC300833E05F533EDDC
:208303005B02B82A04B8CD2F822130B8733E01CD21803208B83A08B83D2804AFC3E8842164
:208323000C0039EB2102B8010400EDB0AFDD77FCDD77FDDD77FEDD77FFDD7EFBDDB6FADDD8
:20834300B6F9DDB6F8CA5184DD7EF9D610DD7EFADE00DD7EFBDE00301121000039EB210CED
:208363000039010400EDB0C37C83DD36EC00DD36ED10AFDD77EEDD77EF21050039EB2100AF
:208383000039010400EDB0DD7EF1C6FFDD7EF2CE01473E00CE005F3E00CE005748435ACB0D
:2083A3003BCB18CB19DD71F779F5332100A8CD0E8D210000E5DD6EF1DD66F2E53E03CDEB4C
:2083C30080DD6EFEDD66FFE5DD6EFCDD66FDE53E07CDEB803EE1CD08801164003E03CD9A30
:2083E30081DD7EF7DD77F5DD36F6003A0260DD77F7DD6EF52600E5210002E5DD7EF7F533A1
:208403002100A8CD2A81DD5EF1DD56F2DD6EFCDD66FD19DD75FCDD74FDDD7EFEDD8EF3DDF7
:2084230077FE3003DD34FFDD7EF8DD96F1DD77F8DD7EF9DD9EF2DD77F9DD7EFADD9EF3DDD0
:2084430077FADD7EFBDD9EF4DD77FBC33C833A06B83D203A3A30B86F3E0BCDD4802E053E17
:2084630002CDD4802A04B8E52A02B8E53E03CDEB803EF2CD088021FA00CDE8813E01CD21C6
:20848300803208B83A08B83D2804AFC3E8843EA0CD0880219001CDE8813E01CD2180320824
:2084A300B83A08B83D2804AFC3E8843A30B86F3E0BCDD4802E013E3ACDD4803EA6CD0880C4
:2084C300216400CDE8813EA1CD0880216400CDE8813E01CD21803208B83A08B83D2804AF3E
:2084E300C3E8843E01DDF9DDE1C976CD108EB728F9C94F790DB7C876C3F684217982CD65D7
:208503008DCDED84217982CDF78DAFC303803BFD210000FD39FD77003EA2CD08802164006E
:20852300CDE8813EE4CD0880216400CDE881216782CDF78D210000397E33C3038033C92107
:208543006782CDF78DAFC3038076CD818DB728053E02CD1185CD1A8EB728053E04CD118513
:20856300CD108EB728E3AFCD1185C34C853A8EB8F533218885CD1987CDED84216782CDF7D6
:208583008DAFC303804E6F20455350333220666F756E64003E01CD728DFE023E01C8AFC966
:2085A3003A08B8F53321C785CD1987CD9785B72803CD4C853E32CDF584216782CDF78D3E04
:2085C30002C3038046696C6520746F6F206C61726765003A08B8F53321FA85CD1987CD97A0
:2085E30085B72803CD4C853E32CDF584216782CDF78D3E02C30380506C61796261636B2095
:208603006572726F7200ED4B09B81E006B260009563E0B836F3EB8CE00677AB7280A7BD60C
:20862300203005721CC30F863600C9210500E5210201E5117A86216782CD2F8D210BB8CD94
:20864300048E3E71F533D5210207E5110BB8216782CDB08D210700E5210301E51180862193
:208663006782CD2F8D212400E5210A02E5118886216782CD2F8DC946696C653A00537461EC
:208683007475733A00506755702F5067446E3A547261636B204573633A53746F7020537000
:2086A3006163653A4C6561766500DDE5DD210000DD39F51E007B854F3E008C470A4FB728E6
:2086C3001F7BD618301A3E3283DD77FE3EB8CE00DD77FFE5DD6EFEDD66FF71E11CC3B8868A
:2086E3007BD618300C2132B81600191C3620C3E386216782DD7E04F533111800D51103094E
:20870300D51132B8CDB08DDDF9DDE1E133E93E71F533CDAD86C9DDE5DD210000DD393BEB4F
:208723000E0069260019463E4A816F3EB8CE0067793CDD77FF78B7280C79D611300770DD48
:208743004EFFC32587DD4EFF3620690C2600114AB8193628690C2600114AB8193630690C13
:208763002600114AB8193678690C2600114AB819DD7E0407070707E60FC6C05F3E00CE8747
:20878300571A77690C2600114AB819DD7E04E60FC6C05F3E00CE87571A77690C2600114A7D
:2087A300B8193629692600114AB81936003E72F533214AB8CDAD8633DDE1E133E930313219
:2087C3003334353637383941424344454600DDE5DD210000DD39EB01FD87DD7E04070707CD
:2087E30007E60F6F2600097E1213DD7E04E60F6F2600097E12DDE1E133E9303132333435CD
:208803003637383941424344454600DDE5DD210000DD39F54D44E1D5C5116400DD6EFEDD70
:2088230066FFCDD58CEB110A00CD2A8DC17BC63002696023E5C5110A00DD6EFEDD66FFCDDB
:20884300D58CEB110A00CD2A8DC1E17BC630770303C5110A00DD6EFEDD66FFCD2A8DC17B6F
:20886300C63002DDF9DDE1C9DDE5DD210000DD39E5210000E52E3CE5DD5E04DD5605DD6ECE
:2088830006DD6607CD16B9F1F1010000C50E64C5CD8FB8F1F14BC5210000E52E3CE5DD5E74
:2088A30004DD5605DD6E06DD6607CD8FB8F1F1C151D52E0A7ACDD08C7B2E0ACD238D7BD1AA
:2088C300C630E1E577C1C503C5D52E0A7ACD238D7BD1C1C63002E1E52323363AC1C5030303
:2088E30003C5D52E0A7BCDD08C7B2E0ACD238D7BD1C1C63002DD7EFEC6044FDD7EFFCE002D
:2089030047C52E0A7BCD238D7BC1C63002DDF9DDE1E1F1F1E9210900E5210401E511B78939
:20892300216782CD2F8D210700E521040CE511C189216782CD2F8D210600E5210415E51154
:20894300C989216782CD2F8D210500E5210601E511D089216782CD2F8D210300E521060CDE
:20896300E511D689216782CD2F8D116CB80E006926001936200C79D62038F4212000E521DD
:208983000804E5216782CD2F8D210804E5216782CD8B8D7AE63F57CBFBED538CB80E002AD7
:2089A3008CB85D7CC6C0576926001936070C79D62038ECC95061747465726E3A23002020F2
:2089C300526F773A2300202042504D3A0054696D653A00202F2000DDE5DD210000DD394B4D
:2089E30042EBDD7E07DDB606DDB605DDB604283069603E0529CB13CB123D20F8DD4E06DD72
:208A03004607C5DD4E04DD4605C5EBCD16B9F1F14B423E20BB3E009A3009012000C3268A71
:208A23000100001100002A8CB87CC6C067197B917A9830053E40C33E8A3E0777136B627DBC
:208A4300D6207CDE0038DFDDE1E1F1F1E9DDE5DD210000DD3921F8FF39F93A30B86F3E0B48
:208A6300CDD4803EA8CD0880213200CDE8813E28CD2180DD77FF3A31B8D621201DDD7EFF36
:208A8300D62020163EE4CD0880216400CDE881216782CDF78D3E02CD0380DD7EFF3231B815
:208AA3003E2BCD2180DD77FA3E2CCD2180DD77FB3E02F53321010039EB3E31CDA8803E2DEA
:208AC300CD3A80DD73FCDD72FDDD75FEDD74FF3A2FB8FD212CB8FDB602FDB601FDB6002075
:208AE3000C3E36CD3A80ED532CB8222EB8DD7EFAF5332162B8CDD1873E71F533210200E584
:208B030021040AE51162B8216782CDB08DDD7EFBF5332162B8CDD1873E71F533210200E542
:208B2300210413E51162B8216782CDB08DD1D52164B8CD0E883E71F533210300E521041B70
:208B4300E51164B8216782CDB08D210000E52144ACE5DD5EFCDD56FDDD6EFEDD66FFCD161B
:208B6300B9F1E3D52167B8CD6B883E71F533210500E5210607E51167B8216782CDB08D2136
:208B83000000E52144ACE5ED5B2CB82A2EB8CD16B9F1E3D52167B8CD6B883E71F533210579
:208BA30000E521060FE51167B8216782CDB08D2A2EB8E52A2CB8E5DD5EFCDD56FDDD6EFED6
:208BC300DD66FFCDDA89DDF9DDE1C93BCD0986216782CD658DCD2E8621878CCD11873A8E81
:208BE300B83C200DCD5A82B73E0120023E02328EB83A8EB83D280733C37085C3858CAF324C
:208C03002CB8322DB8322EB8322FB8CDC182B720123A08B8D699200733C3A385C3858C3377
:208C2300C3D685219F8CCD1187CD18892131B83621CD508AFD210000FD39FD36000076FDF2
:208C4300210000FD39FD3400FD7E00D60A3807FD360000CD508ACD818DB728053E02CD1138
:208C630085CD1A8EB728053E04CD1185CD108EB72804AFCD1185CD048DB728C2CD4285C3B8
:208C8300418C33C94C6F6164696E672C20706C6561736520776169742E2E2E00506C61798F
:208CA300696E6700ED7300B83207B8ED4309B8083206B82202B8ED5304B83A07B8B7CACE61
:0D8CC3008B3A07B8D603CAFE84AFC3038006
:01B99900FFAE
:03800000C3A78C87
:208CD0005D6F2600547BE680B220110610ED6A17933001833FED6A10F65FEBC906097D6C08
:208CF0002600CB1DED6AED523001193F1710F5CB10505FC9DDE53E10CD0660DDE1C9DDE53C
:208D1000DD210000DD39DD46043E30CD0660DDE1E133E95D6FCDD28CEBC9CDD58CEBC9DD42
:208D3000E5E5D5DD210000DD39DD460BDD4E0ADD5608DD5E09DD6E00DD6601D9DD6E02DDFC
:208D50006603E5DDE1D93E03CD0660D1E1DDE1E133333333E9DDE5E5DDE13E01CD0660DDF0
:118D7000E1C908DDE53E53CD066020023EFFDDE1C9D4
:20B88F00DDE5DD210000DD39010000DD7E07073838DDCB0426DDCB0516DDCB0616DDCB07E1
:20B8AF00167BDD96047ADD9E057DDD9E067CDD9E073012DDCB073EDDCB061EDDCB051EDDD8
:20B8CF00CB041E1804044818C27BDD96047ADD9E057DDD9E067CDD9E0738147BDD96045FA5
:20B8EF007ADD9E05577DDD9E066F7CDD9E0767DDCB073EDDCB061EDDCB051EDDCB041E794F
:20B90F000DB720C5DDE1C9DDE5DD210000DD39F5F5AFDD77FCDD77FDDD77FEDD77FF06200D
:20B92F007C07E6014FCB23CB12ED6ADDCBFC26DDCBFD16DDCBFE16DDCBFF16CB412804DD0A
:20B94F00CBFCC6DD7EFCDD9604DD7EFDDD9E05DD7EFEDD9E06DD7EFFDD9E073826DD7EFC3A
:20B96F00DD9604DD77FCDD7EFDDD9E05DD77FDDD7EFEDD9E06DD77FEDD7EFFDD9E07DD776C
:0AB98F00FFCBC3109BDDF9DDE1C919
:208D8100DDE53E1ACD0660DDE1C9DDE5E5DD210000DD39DD5606DD5E07DD6E00DD6601E554
:208DA100DDE13E05CD0660EBE1DDE1E13333E9DDE5E5D5DD210000DD39DD460BDD4E0ADDF4
:208DC1005608DD5E09DD6E00DD6601D9DD6E02DD6603DD7E0CF5E5DDE1D93E03CD0660F1B8
:208DE10008D9E5DDE1D93E04CD0660D1E1DDE1E13333333333E9DDE5E5DDE13E02CD06608F
:208E0100DDE1C9AF474FEDB121FFFFED42EBC9DDE53E17CD0660DDE1C9DDE53E19CD0660C8
:038E2100DDE1C9C7
:20812300DB573E03D377C9DDE5DD210000DD39F5F5DD75FEDD74FF2109607EDD77FC237E5D
:20814300DD77FD2A09607DDD96FC4F7CDD9EFD4779DD96FE78DD9EFF300E3E01CD2180FEFD
:208163000228E03E01C36C81AFDDF9DDE1C97D01AF1AED797C01AF1BED79FD210200FD3947
:20818300FD7E0001AF1CED79FD7E01FD4E02FD23CB39CB1F3D01AF26ED79FD7E023D01AF75
:2081A30028ED793E13D3773E03D357DB57DB573E8201AF27ED793E27DBAF0738F93E03D38C
:2081C30077CD1B81216400CD2A81E1F1F133E93E13D3773E08D357DB573E03D377C9DDE58D
:2081E300DD210000DD3921FBFF39F9DD77FFDD73FDDD72FE2109607EDD77FB237EDD77FCE6
:208203002A09607DDD96FB4F7CDD9EFC4779DD96FD78DD9EFE300F3E01CD2180DD96FF20FC
:20822300DF3E01C32A82AFDDF9DDE1C9EBED4B0960C5D53E01CD2180D1C1FE02280D2A09D5
:2082430060BFED42AFED5238E8AFC92A0960BFED42AFED523010C5D53E01CD2180D1C1FEC1
:208263000228E83E01C9AFC9E5D53E03CDEB80FD210200FD39FD6E003E02CDD4803EE0CD29
:208283000880216400CD2F823E0BCD21805F1600E133E9AFCD0880CDD281CD1B813E01C992
:2082A3008100190A280C700000000000C782E182E1820100160A2407700000000000E28244
:2082C300E182EB820E20584D2F584D5A2F53334D20506C617965722076302E312000000EE8
:2082E3002041626F757420000D0E584D20506C617965722076302E310D0E627920416C65A6
:2083030078204B6F726F6368696E736B697900DDE5DD210000DD3921ECFF39F93EA2CD08FC
:2083230080216400CD2F823EE4CD0880216400CD2F823A06B83D280A3A06B8D6022808C313
:208343004F833E08C351833E0CC351833E05F533ED5B02B82A04B8CD6B822130B8733E01C2
:20836300CD21803208B83A08B83D2804AFC33985210C0039EB2102B8010400EDB0AFDD7736
:20838300FCDD77FDDD77FEDD77FFDD7EFBDDB6FADDB6F9DDB6F8CAA284DD7EF9D610DD7E69
:2083A300FADE00DD7EFBDE00301121000039EB210C0039010400EDB0C3CD83DD36EC00DD31
:2083C30036ED10AFDD77EEDD77EF21050039EB21000039010400EDB0DD7EF1C6FFDD7EF28F
:2083E300CE01473E00CE005F3E00CE005748435ACB3BCB18CB19DD71F779F5332100A8CD68
:20840300008E210000E5DD6EF1DD66F2E53E03CDEB80DD6EFEDD66FFE5DD6EFCDD66FDE51A
:208423003E07CDEB803EE1CD08801164003E03CDE181DD7EF7DD77F5DD36F6003A0260DD46
:2084430077F7DD6EF52600E5210002E5DD7EF7F5332100A8CD7181DD5EF1DD56F2DD6EFCBE
:20846300DD66FD19DD75FCDD74FDDD7EFEDD8EF3DD77FE3003DD34FFDD7EF8DD96F1DD77AD
:20848300F8DD7EF9DD9EF2DD77F9DD7EFADD9EF3DD77FADD7EFBDD9EF4DD77FBC38D833AA1
:2084A30006B83D203A3A30B86F3E0BCDD4802E053E02CDD4802A04B8E52A02B8E53E03CD33
:2084C300EB803EF2CD088021FA00CD2F823E01CD21803208B83A08B83D2804AFC339853EA0
:2084E300A0CD088021F401CD2F823E01CD21803208B83A08B83D2804AFC339853A30B86F2D
:208503003E0BCDD4802E013E3ACDD4803EA6CD0880216400CD2F823EA1CD0880216400CD64
:208523002F823E01CD21803208B83A08B83D2804AFC339853E01DDF9DDE1C976CD208FB710
:2085430028F9C94F790DB7C876C347853A0E60D62438033E5AC93E50C9DDE5DD210000DDA3
:2085630039F5DD77FFDD75FE7DDD96FF301BDD7EFFDD5EFE934F9F475950CB7828035950D2
:20858300137BCB2ACB1FC38D85AFDDF9DDE1C91144B821B582011200EDB02148B86EE5CD34
:2085A3004F85E1CD5C853246B82149B86E3A0E60CD5C853247B82144B8CD578ECD3E85218E
:2085C30044B8CD078FAFC303803BFD210000FD39FD77003EA2CD0880216400CD2F823EE4E7
:2085E300CD0880216400CD2F822132B8CD078F210000397E33C3038033C92132B8CD078FF7
:20860300AFC3038076CD878EB72006CD648EB728053E02CDCC85CD2A8FB728053E04CDCCE7
:2086230085CD208FB728DDAFCDCC85C307863AB2B8F533214986CDDA87CD3E852132B8CD0B
:20864300078FAFC303804E6F20455350333220666F756E64003E01CD6E8EFE023E01C8AF68
:20866300C93A08B8F533218886CDDA87CD5886B72803CD07863E32CD46852132B8CD078F52
:208683003E02C3038046696C6520746F6F206C61726765003A08B8F53321BB86CDDA87CDB5
:2086A3005886B72803CD07863E32CD46852132B8CD078F3E02C30380506C61796261636B7A
:2086C300206572726F7200ED4B09B81E006B260009563E0B836F3EB8CE00677AB7280A7B02
:2086E300D6203005721CC3D0863600C9210500E5210201E5113B872132B8CD218E210BB854
:20870300CD148F3E71F533D5210207E5110BB82132B8CDB68E210700E5210301E51141874B
:208723002132B8CD218E212400E5210A02E51149872132B8CD218EC946696C653A005374C1
:20874300617475733A00506755702F5067446E3A547261636B204573633A53746F7020534E
:20876300706163653A4C6561766500DDE5DD210000DD39F51E007B854F3E008C470A4FB7DD
:20878300281F7BD618301A3E5683DD77FE3EB8CE00DD77FFE5DD6EFEDD66FF71E11CC37942
:2087A300877BD618300C2156B81600191C3620C3A4872132B8DD7E04F533111800D5110328
:2087C30009D51156B8CDB68EDDF9DDE1E133E93E71F533CD6E87C9DDE5DD210000DD393B84
:2087E300EB0E0069260019463E6E816F3EB8CE0067793CDD77FF78B7280C79D61130077056
:20880300DD4EFFC3E687DD4EFF3620690C2600116EB8193628690C2600116EB81936306978
:208823000C2600116EB8193678690C2600116EB819DD7E0407070707E60FC6815F3E00CEF8
:2088430088571A77690C2600116EB819DD7E04E60FC6815F3E00CE88571A77690C26001198
:208863006EB8193629692600116EB81936003E72F533216EB8CD6E8733DDE1E133E9303112
:20888300323334353637383941424344454600DDE5DD210000DD39EB01BE88DD7E0407071F
:2088A3000707E60F6F2600097E1213DD7E04E60F6F2600097E12DDE1E133E930313233343A
:2088C300353637383941424344454600DDE5DD210000DD39F54D44E1D5C5116400DD6EFE58
:2088E300DD66FFCDC78DEB110A00CD1C8EC17BC63002696023E5C5110A00DD6EFEDD66FF25
:20890300CDC78DEB110A00CD1C8EC1E17BC630770303C5110A00DD6EFEDD66FFCD1C8EC183
:208923007BC63002DDF9DDE1C9DDE5DD210000DD39E5210000E52E3CE5DD5E04DD5605DD00
:208943006E06DD6607CD3AB9F1F1010000C50E64C5CDB3B8F1F14BC5210000E52E3CE5DD5B
:208963005E04DD5605DD6E06DD6607CDB3B8F1F1C151D52E0A7ACDC28D7B2E0ACD158E7B52
:20898300D1C630E1E577C1C503C5D52E0A7ACD158E7BD1C1C63002E1E52323363AC1C50381
:2089A3000303C5D52E0A7BCDC28D7B2E0ACD158E7BD1C1C63002DD7EFEC6044FDD7EFFCE83
:2089C3000047C52E0A7BCD158E7BC1C63002DDF9DDE1E1F1F1E9210900E5210401E511784E
:2089E3008A2132B8CD218E210700E521040CE511828A2132B8CD218E210600E5210415E571
:208A0300118A8A2132B8CD218E210500E5210601E511918A2132B8CD218E210300E52106AC
:208A23000CE511978A2132B8CD218E1190B80E006926001936200C79D62038F4212000E557
:208A4300210804E52132B8CD218E210804E52132B8CD918E7AE63F57CBFBED53B0B80E00FF
:208A63002AB0B85D7CC6C0576926001936070C79D62038ECC95061747465726E3A23002003
:208A830020526F773A2300202042504D3A0054696D653A00202F2000DDE5DD210000DD39B7
:208AA3004B42EBDD7E07DDB606DDB605DDB604283069603E0529CB13CB123D20F8DD4E0643
:208AC300DD4607C5DD4E04DD4605C5EBCD3AB9F1F14B423E20BB3E009A3009012000C3E779
:208AE3008A0100001100002AB0B87CC6C067197B917A9830053E40C3FF8A3E0777136B620A
:208B03007DD6207CDE0038DFDDE1E1F1F1E9DDE5DD210000DD3921F8FF39F93A30B86F3E15
:208B23000BCDD4803EA8CD0880213200CD2F823E28CD2180DD77FF3A31B8D621201DDD7E21
:208B4300FFD62020163EE4CD0880216400CD2F822132B8CD078F3E02CD0380DD7EFF3231B2
:208B6300B83E2BCD2180DD77FA3E2CCD2180DD77FB3E02F53321010039EB3E31CDA8803E9E
:208B83002DCD3A80DD73FCDD72FDDD75FEDD74FF3A2FB8FD212CB8FDB602FDB601FDB600A7
:208BA300200C3E36CD3A80ED532CB8222EB8DD7EFAF5332186B8CD92883E71F533210200A2
:208BC300E521040AE51186B82132B8CDB68EDD7EFBF5332186B8CD92883E71F53321020070
:208BE300E5210413E51186B82132B8CDB68ED1D52188B8CDCF883E71F533210300E52104D5
:208C03001BE51188B82132B8CDB68E210000E52144ACE5DD5EFCDD56FDDD6EFEDD66FFCD29
:208C23003AB9F1E3D5218BB8CD2C893E71F533210500E5210607E5118BB82132B8CDB68E4A
:208C4300210000E52144ACE5ED5B2CB82A2EB8CD3AB9F1E3D5218BB8CD2C893E71F5332192
:208C63000500E521060FE5118BB82132B8CDB68E2A2EB8E52A2CB8E5DD5EFCDD56FDDD6EE2
:208C8300FEDD66FFCD9B8ADDF9DDE1C9DDE5DD210000DD393BCDCA861132B821A3820112C0
:208CA30000EDB02136B86EE5CD4F85E1CD5C853234B82137B86E3A0E60CD5C853235B8CDA4
:208CC3007D8ECDFD8E2132B8CD578ECDEF8621798DCDD2873AB2B83C200DCD9682B73E01FA
:208CE30020023E0232B2B83AB2B83D2806CD3186C3758DAF322CB8322DB8322EB8322FB80E
:208D0300CD1283B720133A08B8D6992006CD6486C3758DCD9786C3758D21918DCDD287CD18
:208D2300D9892131B83621CD118BDD36FF0076DD34FFDD7EFFD60A3807DD36FF00CD118B78
:208D4300CD878EB72006CD648EB728053E02CDCC85CD2A8FB728053E04CDCC85CD208FB753
:208D63002804AFCDCC85CDF68DB728C2CDFD85C3318D33DDE1C94C6F6164696E672C207002
:208D83006C6561736520776169742E2E2E00506C6179696E6700ED7300B83207B8ED430951
:1F8DA300B8083206B82202B8ED5304B83A07B8B7CA8F8C3A07B8D603CA9285AFC30380EC
:01B9BD00FF8A
:03800000C3998D94
:208DC2005D6F2600547BE680B220110610ED6A17933001833FED6A10F65FEBC906097D6C15
:208DE2002600CB1DED6AED523001193F1710F5CB10505FC9DDE53E10CD0660DDE1C9DDE549
:208E0200DD210000DD39DD46043E30CD0660DDE1E133E95D6FCDC48DEBC9CDC78DEBC9DD69
:208E2200E5E5D5DD210000DD39DD460BDD4E0ADD5608DD5E09DD6E00DD6601D9DD6E02DD09
:208E42006603E5DDE1D93E03CD0660D1E1DDE1E133333333E9DDE5E5DDE13E01CD0660DDFD
:1B8E6200E1C9DDE53E16CD0660DDE1C908DDE53E53CD066020023EFFDDE1C907
:20B8B300DDE5DD210000DD39010000DD7E07073838DDCB0426DDCB0516DDCB0616DDCB07BD
:20B8D300167BDD96047ADD9E057DDD9E067CDD9E073012DDCB073EDDCB061EDDCB051EDDB4
:20B8F300CB041E1804044818C27BDD96047ADD9E057DDD9E067CDD9E0738147BDD96045F81
:20B913007ADD9E05577DDD9E066F7CDD9E0767DDCB073EDDCB061EDDCB051EDDCB041E792A
:07B933000DB720C5DDE1C9DD
:0A8E7D00DDE53E0FCD0660DDE1C922
:20B93A00DDE5DD210000DD39F5F5AFDD77FCDD77FDDD77FEDD77FF06207C07E6014FCB236B
:20B95A00CB12ED6ADDCBFC26DDCBFD16DDCBFE16DDCBFF16CB412804DDCBFCC6DD7EFCDDC5
:20B97A009604DD7EFDDD9E05DD7EFEDD9E06DD7EFFDD9E073826DD7EFCDD9604DD77FCDD2C
:20B99A007EFDDD9E05DD77FDDD7EFEDD9E06DD77FEDD7EFFDD9E07DD77FFCBC3109BDDF9D7
:03B9BA00DDE1C903
:208E8700DDE53E1ACD0660DDE1C9DDE5E5DD210000DD39DD5606DD5E07DD6E00DD6601E54D
:208EA700DDE13E05CD0660EBE1DDE1E13333E9DDE5E5D5DD210000DD39DD460BDD4E0ADDED
:208EC7005608DD5E09DD6E00DD6601D9DD6E02DD6603DD7E0CF5E5DDE1D93E03CD0660F1B1
:208EE70008D9E5DDE1D93E04CD0660D1E1DDE1E13333333333E9DDE53E2ECD0660DDE1C978
:208F0700DDE5E5DDE13E02CD0660DDE1C9AF474FEDB121FFFFED42EBC9DDE53E17CD0660BC
:0D8F2700DDE1C9DDE53E19CD0660DDE1C9E3
:00000001FF
+1 -1
View File
@@ -3,7 +3,7 @@
-b _CODE = 0x8003
-b _DATA = 0xa800
-k E:\SDCC\4.6.0\bin\..\lib\z80
-l vgm_wc_api.lib
-l wc_api.lib
-l z80
obj/out.rel
obj/crt0.rel
+2490 -2318
View File
File diff suppressed because it is too large Load Diff
+93 -81
View File
@@ -24,25 +24,25 @@ Area Addr Size Decimal Bytes (A
00000001 l__INITIALIZER
00000003 l__HEADER0
0000010A l__HOME
00000E21 l__CODE
0000108E l__DATA
00000F31 l__CODE
000010B2 l__DATA
00008003 s__CODE
0000A800 s__DATA
0000B88E s__INITIALIZED
0000B88F s__HOME
0000B999 s__GSFINAL
0000B999 s__GSINIT
0000B999 s__INITIALIZER
0000B99A s__BSEG
0000B99A s__BSS
0000B99A s__HEAP
0000B8B2 s__INITIALIZED
0000B8B3 s__HOME
0000B9BD s__GSFINAL
0000B9BD s__GSINIT
0000B9BD s__INITIALIZER
0000B9BE s__BSEG
0000B9BE s__BSS
0000B9BE s__HEAP
ASxxxx Linker V05.50.4-SDLD, page 2.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_CODE 00008003 00000E21 = 3617. bytes (REL,CON)
_CODE 00008003 00000F31 = 3889. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
@@ -54,72 +54,78 @@ _CODE 00008003 00000E21 = 3617. bytes (R
000080D4 _esp_wr_reg8 main
000080EB _esp_wr_reg32 main
0000811B _esp_wr_end main
0000812A _esp_send_dma main
0000818B _esp_rd_end main
0000819A _esp_wait_status main
000081E8 _esp_wait_busy main
0000822F _esp_create_obj main
0000825A _esp_init main
00008267 _win_xm main
00008279 _win_about main
000082C1 _play_xm main
000084ED _wait_esc_key main
000084F5 _wait_frames main
000084FE _about main
00008511 _unload_and_exit main
00008542 _leave_playing_and_exit main
0000854C _wait_for_manual_exit main
00008570 _error_esp main
00008597 _stop_on_error main
000085A3 _error_oom main
000085D6 _error_playback main
00008609 _copy_file_name main
0000862E _xm_draw_static_labels main
000086AD _xm_set_status_attr main
00008711 _xm_set_status main
00008719 _xm_set_status_code main
000087D1 _put_hex2 main
0000880E _put_dec3 main
0000886B _put_time main
00008918 _xm_draw_stats_labels main
000089DA _draw_progress_bar main
00008A50 _xm_update_info main
00008BCE _main_start main
00008CA7 _main main
00008CD0 __divuchar divunsigned
00008CD2 __divu8 divunsigned
00008CD5 __divu16 divunsigned
00008CD5 __divuint divunsigned
00008D04 _wc_key_space wc_key_space
00008D0E _wc_load512 wc_load512
00008D23 __moduchar modunsigned
00008D2A __moduint modunsigned
00008D2F _wc_prsrw wc_prsrw
00008D65 _wc_prwow wc_prwow
0000812A _esp_wait_not_busy main
00008171 _esp_send_dma main
000081D2 _esp_rd_end main
000081E1 _esp_wait_status main
0000822F _esp_wait_busy main
0000826B _esp_create_obj main
00008296 _esp_init main
000082A3 _win_xm_tpl main
000082B5 _win_about_tpl main
00008312 _play_xm main
0000853E _wait_esc_key main
00008546 _wait_frames main
0000854F _wc_screen_width main
0000855C _wc_center main
00008592 _about main
000085CC _unload_and_exit main
000085FD _leave_playing_and_exit main
00008607 _wait_for_manual_exit main
00008631 _error_esp main
00008658 _stop_on_error main
00008664 _error_oom main
00008697 _error_playback main
000086CA _copy_file_name main
000086EF _xm_draw_static_labels main
0000876E _xm_set_status_attr main
000087D2 _xm_set_status main
000087DA _xm_set_status_code main
00008892 _put_hex2 main
000088CF _put_dec3 main
0000892C _put_time main
000089D9 _xm_draw_stats_labels main
00008A9B _draw_progress_bar main
00008B11 _xm_update_info main
00008C8F _main_start main
00008D99 _main main
00008DC2 __divuchar divunsigned
00008DC4 __divu8 divunsigned
00008DC7 __divu16 divunsigned
00008DC7 __divuint divunsigned
00008DF6 _wc_key_space wc_key_space
00008E00 _wc_load512 wc_load512
00008E15 __moduchar modunsigned
ASxxxx Linker V05.50.4-SDLD, page 3.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_CODE 00008003 00000E21 = 3617. bytes (REL,CON)
_CODE 00008003 00000F31 = 3889. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
00008D72 _wc_prm_pl wc_prm_pl
00008D81 _wc_key_pgdn wc_key_pgdn
00008D8B _wc_gadrw wc_gadrw
00008DB0 _wc_prsrw_attr wc_prsrw_attr
00008DF7 _wc_rresb wc_rresb
00008E04 _strlen strlen
00008E10 _wc_key_esc wc_key_esc
00008E1A _wc_key_pgup wc_key_pgup
00008E1C __moduint modunsigned
00008E21 _wc_prsrw wc_prsrw
00008E57 _wc_prwow wc_prwow
00008E64 _wc_key_enter wc_key_enter
00008E6E _wc_prm_pl wc_prm_pl
00008E7D _wc_gedpl wc_gedpl
00008E87 _wc_key_pgdn wc_key_pgdn
00008E91 _wc_gadrw wc_gadrw
00008EB6 _wc_prsrw_attr wc_prsrw_attr
00008EFD _wc_key_wait_release wc_key_wait_release
00008F07 _wc_rresb wc_rresb
00008F14 _strlen strlen
00008F20 _wc_key_esc wc_key_esc
00008F2A _wc_key_pgup wc_key_pgup
ASxxxx Linker V05.50.4-SDLD, page 4.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_DATA 0000A800 0000108E = 4238. bytes (REL,CON)
_DATA 0000A800 000010B2 = 4274. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
@@ -134,36 +140,39 @@ _DATA 0000A800 0000108E = 4238. bytes (R
0000B82C _total_samples main
0000B830 _xm_handle main
0000B831 _last_track_status main
0000B88C _bar_attr_ofs main
0000B832 _win_xm main
0000B844 _win_about main
0000B8B0 _bar_attr_ofs main
ASxxxx Linker V05.50.4-SDLD, page 5.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_INITIALIZED 0000B88E 00000001 = 1. bytes (REL,CON)
_INITIALIZED 0000B8B2 00000001 = 1. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000B88E _state_esp main
0000B8B2 _state_esp main
ASxxxx Linker V05.50.4-SDLD, page 6.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_HOME 0000B88F 0000010A = 266. bytes (REL,CON)
_HOME 0000B8B3 0000010A = 266. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
0000B88F __modulong _modulong
0000B916 __divulong _divulong
0000B8B3 __modulong _modulong
0000B93A __divulong _divulong
ASxxxx Linker V05.50.4-SDLD, page 7.
Hexadecimal [32-Bits]
Area Addr Size Decimal Bytes (Attributes)
-------------------------------- ---- ---- ------- ----- ------------
_INITIALIZER 0000B999 00000001 = 1. bytes (REL,CON)
_INITIALIZER 0000B9BD 00000001 = 1. bytes (REL,CON)
Value Global Global Defined In Module
----- -------------------------------- ------------------------
@@ -187,21 +196,24 @@ obj/crt0.rel [ crt0 ]
Libraries Linked [ object file ]
E:\SDCC\4.6.0\bin\..\lib\z80/z80.lib [ divunsigned.rel ]
vgm_wc_api.lib [ wc_key_space.rel ]
vgm_wc_api.lib [ wc_load512.rel ]
wc_api.lib [ wc_key_space.rel ]
wc_api.lib [ wc_load512.rel ]
E:\SDCC\4.6.0\bin\..\lib\z80/z80.lib [ modunsigned.rel ]
vgm_wc_api.lib [ wc_prsrw.rel ]
vgm_wc_api.lib [ wc_prwow.rel ]
vgm_wc_api.lib [ wc_prm_pl.rel ]
wc_api.lib [ wc_prsrw.rel ]
wc_api.lib [ wc_prwow.rel ]
wc_api.lib [ wc_key_enter.rel ]
wc_api.lib [ wc_prm_pl.rel ]
E:\SDCC\4.6.0\bin\..\lib\z80/z80.lib [ _modulong.rel ]
wc_api.lib [ wc_gedpl.rel ]
E:\SDCC\4.6.0\bin\..\lib\z80/z80.lib [ _divulong.rel ]
vgm_wc_api.lib [ wc_key_pgdn.rel ]
vgm_wc_api.lib [ wc_gadrw.rel ]
vgm_wc_api.lib [ wc_prsrw_attr.rel ]
vgm_wc_api.lib [ wc_rresb.rel ]
wc_api.lib [ wc_key_pgdn.rel ]
wc_api.lib [ wc_gadrw.rel ]
wc_api.lib [ wc_prsrw_attr.rel ]
wc_api.lib [ wc_key_wait_release.rel ]
wc_api.lib [ wc_rresb.rel ]
E:\SDCC\4.6.0\bin\..\lib\z80/z80.lib [ strlen.rel ]
vgm_wc_api.lib [ wc_key_esc.rel ]
vgm_wc_api.lib [ wc_key_pgup.rel ]
wc_api.lib [ wc_key_esc.rel ]
wc_api.lib [ wc_key_pgup.rel ]
ASxxxx Linker V05.50.4-SDLD, page 10.
+72 -64
View File
@@ -15,18 +15,18 @@ DEF l__INITIALIZED 0x1
DEF l__INITIALIZER 0x1
DEF l__HEADER0 0x3
DEF l__HOME 0x10A
DEF l__CODE 0xE21
DEF l__DATA 0x108E
DEF l__CODE 0xF31
DEF l__DATA 0x10B2
DEF s__CODE 0x8003
DEF s__DATA 0xA800
DEF s__INITIALIZED 0xB88E
DEF s__HOME 0xB88F
DEF s__GSFINAL 0xB999
DEF s__GSINIT 0xB999
DEF s__INITIALIZER 0xB999
DEF s__BSEG 0xB99A
DEF s__BSS 0xB99A
DEF s__HEAP 0xB99A
DEF s__INITIALIZED 0xB8B2
DEF s__HOME 0xB8B3
DEF s__GSFINAL 0xB9BD
DEF s__GSINIT 0xB9BD
DEF s__INITIALIZER 0xB9BD
DEF s__BSEG 0xB9BE
DEF s__BSS 0xB9BE
DEF s__HEAP 0xB9BE
DEF _wc_exit 0x8003
DEF _esp_cmd 0x8008
DEF _esp_rd_reg8 0x8021
@@ -35,56 +35,62 @@ DEF _esp_rd_regs 0x80A8
DEF _esp_wr_reg8 0x80D4
DEF _esp_wr_reg32 0x80EB
DEF _esp_wr_end 0x811B
DEF _esp_send_dma 0x812A
DEF _esp_rd_end 0x818B
DEF _esp_wait_status 0x819A
DEF _esp_wait_busy 0x81E8
DEF _esp_create_obj 0x822F
DEF _esp_init 0x825A
DEF _win_xm 0x8267
DEF _win_about 0x8279
DEF _play_xm 0x82C1
DEF _wait_esc_key 0x84ED
DEF _wait_frames 0x84F5
DEF _about 0x84FE
DEF _unload_and_exit 0x8511
DEF _leave_playing_and_exit 0x8542
DEF _wait_for_manual_exit 0x854C
DEF _error_esp 0x8570
DEF _stop_on_error 0x8597
DEF _error_oom 0x85A3
DEF _error_playback 0x85D6
DEF _copy_file_name 0x8609
DEF _xm_draw_static_labels 0x862E
DEF _xm_set_status_attr 0x86AD
DEF _xm_set_status 0x8711
DEF _xm_set_status_code 0x8719
DEF _put_hex2 0x87D1
DEF _put_dec3 0x880E
DEF _put_time 0x886B
DEF _xm_draw_stats_labels 0x8918
DEF _draw_progress_bar 0x89DA
DEF _xm_update_info 0x8A50
DEF _main_start 0x8BCE
DEF _main 0x8CA7
DEF __divuchar 0x8CD0
DEF __divu8 0x8CD2
DEF __divu16 0x8CD5
DEF __divuint 0x8CD5
DEF _wc_key_space 0x8D04
DEF _wc_load512 0x8D0E
DEF __moduchar 0x8D23
DEF __moduint 0x8D2A
DEF _wc_prsrw 0x8D2F
DEF _wc_prwow 0x8D65
DEF _wc_prm_pl 0x8D72
DEF _wc_key_pgdn 0x8D81
DEF _wc_gadrw 0x8D8B
DEF _wc_prsrw_attr 0x8DB0
DEF _wc_rresb 0x8DF7
DEF _strlen 0x8E04
DEF _wc_key_esc 0x8E10
DEF _wc_key_pgup 0x8E1A
DEF _esp_wait_not_busy 0x812A
DEF _esp_send_dma 0x8171
DEF _esp_rd_end 0x81D2
DEF _esp_wait_status 0x81E1
DEF _esp_wait_busy 0x822F
DEF _esp_create_obj 0x826B
DEF _esp_init 0x8296
DEF _win_xm_tpl 0x82A3
DEF _win_about_tpl 0x82B5
DEF _play_xm 0x8312
DEF _wait_esc_key 0x853E
DEF _wait_frames 0x8546
DEF _wc_screen_width 0x854F
DEF _wc_center 0x855C
DEF _about 0x8592
DEF _unload_and_exit 0x85CC
DEF _leave_playing_and_exit 0x85FD
DEF _wait_for_manual_exit 0x8607
DEF _error_esp 0x8631
DEF _stop_on_error 0x8658
DEF _error_oom 0x8664
DEF _error_playback 0x8697
DEF _copy_file_name 0x86CA
DEF _xm_draw_static_labels 0x86EF
DEF _xm_set_status_attr 0x876E
DEF _xm_set_status 0x87D2
DEF _xm_set_status_code 0x87DA
DEF _put_hex2 0x8892
DEF _put_dec3 0x88CF
DEF _put_time 0x892C
DEF _xm_draw_stats_labels 0x89D9
DEF _draw_progress_bar 0x8A9B
DEF _xm_update_info 0x8B11
DEF _main_start 0x8C8F
DEF _main 0x8D99
DEF __divuchar 0x8DC2
DEF __divu8 0x8DC4
DEF __divu16 0x8DC7
DEF __divuint 0x8DC7
DEF _wc_key_space 0x8DF6
DEF _wc_load512 0x8E00
DEF __moduchar 0x8E15
DEF __moduint 0x8E1C
DEF _wc_prsrw 0x8E21
DEF _wc_prwow 0x8E57
DEF _wc_key_enter 0x8E64
DEF _wc_prm_pl 0x8E6E
DEF _wc_gedpl 0x8E7D
DEF _wc_key_pgdn 0x8E87
DEF _wc_gadrw 0x8E91
DEF _wc_prsrw_attr 0x8EB6
DEF _wc_key_wait_release 0x8EFD
DEF _wc_rresb 0x8F07
DEF _strlen 0x8F14
DEF _wc_key_esc 0x8F20
DEF _wc_key_pgup 0x8F2A
DEF _fs_buf 0xA800
DEF _ret_sp 0xB800
DEF _filesize 0xB802
@@ -96,8 +102,10 @@ DEF _file_name 0xB80B
DEF _total_samples 0xB82C
DEF _xm_handle 0xB830
DEF _last_track_status 0xB831
DEF _bar_attr_ofs 0xB88C
DEF _state_esp 0xB88E
DEF __modulong 0xB88F
DEF __divulong 0xB916
DEF _win_xm 0xB832
DEF _win_about 0xB844
DEF _bar_attr_ofs 0xB8B0
DEF _state_esp 0xB8B2
DEF __modulong 0xB8B3
DEF __divulong 0xB93A
LOAD obj/out.ihx
+787 -691
View File
File diff suppressed because it is too large Load Diff
+68 -60
View File
@@ -63,50 +63,51 @@ Hexadecimal [32-Bits]
Symbol Table
0 ___str_12 000009B4 R
0 ___str_13 000009BE R
0 ___str_14 000009C6 R
0 ___str_15 000009CD R
0 ___str_16 000009D3 R
0 ___str_17 00000C84 R
0 ___str_18 00000C9C R
0 ___str_4 00000585 R
0 ___str_5 000005C4 R
0 ___str_6 000005F7 R
0 ___str_7 00000677 R
0 ___str_8 0000067D R
0 ___str_9 00000685 R
0 ___str_12 00000A75 R
0 ___str_13 00000A7F R
0 ___str_14 00000A87 R
0 ___str_15 00000A8E R
0 ___str_16 00000A94 R
0 ___str_17 00000D76 R
0 ___str_18 00000D8E R
0 ___str_4 00000646 R
0 ___str_5 00000685 R
0 ___str_6 000006B8 R
0 ___str_7 00000738 R
0 ___str_8 0000073E R
0 ___str_9 00000746 R
__divuchar ******** GX
__divuint ******** GX
__divulong ******** GX
__moduchar ******** GX
__moduint ******** GX
__modulong ******** GX
0 __str_0 00000288 R
0 __str_1 000002A2 R
0 __str_2 000002A3 R
0 __str_3 000002AC R
0 __str_0 000002C4 R
0 __str_1 000002DE R
0 __str_2 000002DF R
0 __str_3 000002E8 R
7 __xinit__state_esp 00000000 R
0 _about 000004FB GR
1 _bar_attr_ofs 0000108C GR
1 _barbuf 0000106C R
0 _about 0000058F GR
1 _bar_attr_ofs 000010B0 GR
1 _barbuf 00001090 R
1 _call_type 00001007 GR
0 _copy_file_name 00000606 GR
1 _decbuf 00001064 R
0 _draw_progress_bar 000009D7 GR
0 _error_esp 0000056D GR
0 _error_oom 000005A0 GR
0 _error_playback 000005D3 GR
0 _copy_file_name 000006C7 GR
1 _decbuf 00001088 R
0 _draw_progress_bar 00000A98 GR
0 _error_esp 0000062E GR
0 _error_oom 00000661 GR
0 _error_playback 00000694 GR
0 _esp_cmd 00000005 GR
0 _esp_create_obj 0000022C GR
0 _esp_init 00000257 GR
0 _esp_rd_end 00000188 GR
0 _esp_create_obj 00000268 GR
0 _esp_init 00000293 GR
0 _esp_rd_end 000001CF GR
0 _esp_rd_reg32 00000037 GR
0 _esp_rd_reg8 0000001E GR
0 _esp_rd_regs 000000A5 GR
0 _esp_send_dma 00000127 GR
0 _esp_wait_busy 000001E5 GR
0 _esp_wait_status 00000197 GR
0 _esp_send_dma 0000016E GR
0 _esp_wait_busy 0000022C GR
0 _esp_wait_not_busy 00000127 GR
0 _esp_wait_status 000001DE GR
0 _esp_wr_end 00000118 GR
0 _esp_wr_reg32 000000E8 GR
0 _esp_wr_reg8 000000D1 GR
@@ -114,57 +115,64 @@ Symbol Table
1 _file_name 0000100B GR
1 _filesize 00001002 GR
1 _fs_buf 00000000 GR
1 _hexbuf 00001062 R
1 _hexbuf 00001086 R
1 _last_esp_status 00001008 GR
1 _last_track_status 00001031 GR
0 _leave_playing_and_exit 0000053F 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 00000CA4 GR
0 _main_start 00000BCB GR
0 _leave_playing_and_exit 000005FA GR
0 _main 00000D96 GR
0 _main_start 00000C8C GR
1 _p_file_name 00001009 GR
0 _play_xm 000002BE GR
0 _put_dec3 0000080B GR
0 _put_hex2 000007CE GR
0 _put_hex2_hexch_10000_132 000007FA R
0 _put_time 00000868 GR
0 _play_xm 0000030F GR
0 _put_dec3 000008CC GR
0 _put_hex2 0000088F GR
0 _put_hex2_hexch_10000_144 000008BB R
0 _put_time 00000929 GR
1 _ret_sp 00001000 GR
2 _state_esp 00000000 GR
1 _status_buf 00001032 R
1 _status_code_buf 0000104A R
0 _stop_on_error 00000594 GR
1 _status_buf 00001056 R
1 _status_code_buf 0000106E R
0 _stop_on_error 00000655 GR
_strlen ******** GX
1 _timebuf 00001067 R
1 _timebuf 0000108B R
1 _total_samples 0000102C GR
0 _unload_and_exit 0000050E GR
0 _wait_esc_key 000004EA GR
0 _wait_for_manual_exit 00000549 GR
0 _wait_frames 000004F2 GR
0 _unload_and_exit 000005C9 GR
0 _wait_esc_key 0000053B GR
0 _wait_for_manual_exit 00000604 GR
0 _wait_frames 00000543 GR
0 _wc_center 00000559 GR
0 _wc_exit 00000000 GR
_wc_gadrw ******** GX
_wc_gedpl ******** GX
_wc_key_enter ******** GX
_wc_key_esc ******** GX
_wc_key_pgdn ******** GX
_wc_key_pgup ******** GX
_wc_key_space ******** GX
_wc_key_wait_release ******** GX
_wc_load512 ******** GX
_wc_prm_pl ******** GX
_wc_prsrw ******** GX
_wc_prsrw_attr ******** GX
_wc_prwow ******** GX
_wc_rresb ******** GX
0 _win_about 00000276 GR
0 _win_xm 00000264 GR
0 _xm_draw_static_labels 0000062B GR
0 _xm_draw_stats_labels 00000915 GR
0 _wc_screen_width 0000054C GR
1 _win_about 00001044 GR
0 _win_about_tpl 000002B2 GR
1 _win_xm 00001032 GR
0 _win_xm_tpl 000002A0 GR
0 _xm_draw_static_labels 000006EC GR
0 _xm_draw_stats_labels 000009D6 GR
1 _xm_handle 00001030 GR
0 _xm_set_status 0000070E GR
0 _xm_set_status_attr 000006AA GR
0 _xm_set_status_code 00000716 GR
0 _xm_set_status_code_hexch_10000_129 000007BD R
0 _xm_update_info 00000A4D GR
0 _xm_set_status 000007CF GR
0 _xm_set_status_attr 0000076B GR
0 _xm_set_status_code 000007D7 GR
0 _xm_set_status_code_hexch_10000_141 0000087E R
0 _xm_update_info 00000B0E GR
ASxxxx Assembler V05.50.4+NoICE+SDCCmods-WIP-R14 (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80 / R800) Page 4
@@ -172,8 +180,8 @@ Hexadecimal [32-Bits]
Area Table
0 _CODE size CCD flags 0
1 _DATA size 108E flags 0
0 _CODE size DBF flags 0
1 _DATA size 10B2 flags 0
2 _INITIALIZED size 1 flags 0
3 _DABS size 0 flags 8
4 _HOME size 0 flags 0