Commit: d159c16b5dd27ce17f7a7c63aeeef00310389673 Parent: 7f21176c2ff220cc36fd37355a88d7f7ecf6ff9f Author: Vi Grey Date: 2023-08-03 17:07 UTC Summary: Add Picto Cart 2022 and prototype picto mappers * Add Picto Cart 2022 NES Mapper * Add VG1040 NES Mapper * Add VG1040HVC Famicom Mapper * Add script for dumping Dragon Warrior NES save data by placing Dragon Warrior on a Game Genie for better cartridge pin access * Add firmware to handle VG1040(HVC) and Picto Cart NES mappers .gitignore | 2 +- firmware/Make_stm_inl6 | 5 +- firmware/build_stm/inlretro_stm.axf | Bin 0 -> 289212 bytes firmware/build_stm/inlretro_stm.bin | Bin 0 -> 28708 bytes firmware/build_stm/inlretro_stm.elf | Bin 0 -> 289212 bytes firmware/build_stm/inlretro_stm.hex | 1798 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ firmware/build_stm/inlretro_stm.map | 1482 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ firmware/build_stm6/inlretro_stm.axf | Bin 230600 -> 0 bytes firmware/build_stm6/inlretro_stm.bin | Bin 24752 -> 0 bytes firmware/build_stm6/inlretro_stm.elf | Bin 230600 -> 0 bytes firmware/build_stm6/inlretro_stm.hex | 1550 -------------------------------------------------------------------- firmware/build_stm6/inlretro_stm.map | 935 ----------------------------------------- firmware/build_stm6/inlretro_stm_AV00.bin | Bin 21488 -> 0 bytes firmware/build_stm6/inlretro_stm_AV01.bin | Bin 22032 -> 0 bytes firmware/build_stm6/inlretro_stm_AV02.bin | Bin 23360 -> 0 bytes firmware/build_stm6/inlretro_stm_AV03.bin | Bin 23664 -> 0 bytes firmware/build_stmn/inlretro_stm.axf | Bin 209504 -> 0 bytes firmware/build_stmn/inlretro_stm.bin | Bin 20928 -> 0 bytes firmware/build_stmn/inlretro_stm.elf | Bin 209504 -> 0 bytes firmware/build_stmn/inlretro_stm.hex | 1311 --------------------------------------------------------- firmware/build_stmn/inlretro_stm.map | 888 --------------------------------------- firmware/build_stmn/inlretro_stm_AV00.bin | Bin 19840 -> 0 bytes firmware/build_stmn/inlretro_stm_AV01.bin | Bin 20192 -> 0 bytes firmware/build_stmn/inlretro_stm_AV03.bin | Bin 20880 -> 0 bytes firmware/include_stm/nokeep.ld | 6 +- firmware/source/flash.c | 12 + firmware/source/nes.c | 153 +++++++ firmware/source/nes.h | 4 + firmware/source/old_shared_enums.h | 141 +++++++ firmware/source/shared_dict_bootload.h | 89 ++++ firmware/source/shared_dict_buffer.h | 595 ++++++++++++++++++++++++++ firmware/source/shared_dict_ciccom.h | 21 + firmware/source/shared_dict_fwupdate.h | 66 +++ firmware/source/shared_dict_gameboy.h | 24 ++ firmware/source/shared_dict_gba.h | 36 ++ firmware/source/shared_dict_io.h | 116 ++++++ firmware/source/shared_dict_jtag.h | 85 ++++ firmware/source/shared_dict_n64.h | 27 ++ firmware/source/shared_dict_nes.h | 121 ++++++ firmware/source/shared_dict_operation.h | 125 ++++++ firmware/source/shared_dict_pinport.h | 201 +++++++++ firmware/source/shared_dict_sega.h | 39 ++ firmware/source/shared_dict_snes.h | 39 ++ firmware/source/shared_dict_stuff.h | 28 ++ firmware/source/shared_dict_swim.h | 44 ++ firmware/source/shared_dict_usb.h | 23 + firmware/source/shared_dictionaries.h | 295 +++++++++++++ firmware/source/shared_errors.h | 59 +++ firmware/source/usb.h | 2 +- host/scripts/app/ciccom.lua | 5 +- host/scripts/app/flash.lua | 6 +- host/scripts/app/nes.lua | 6 +- host/scripts/inlretro2.lua | 4 + host/scripts/nes/dragonwarrior.lua | 127 ++++++ host/scripts/nes/picto2022.lua | 333 +++++++++++++++ host/scripts/nes/vg1040.lua | 328 +++++++++++++++ host/scripts/nes/vg1040hvc.lua | 328 +++++++++++++++ host/source/inlprog.c | 5 +- host/source/usb_operations.c | 39 +- shared/old_shared_enums.h | 3 + shared/shared_dict_buffer.h | 3 + shared/shared_dict_nes.h | 4 + 62 files changed, 6806 insertions(+), 4707 deletions(-) diff --git a/.gitignore b/.gitignore index bf1a349..aa89dda 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ *.dropbox.attr # ignore shared files that have been copied to host-firmware dirs -firmware/source/shared_*.h +#firmware/source/shared_*.h # ignore trash/temp files stored in host/ignore host/ignore diff --git a/firmware/Make_stm_inl6 b/firmware/Make_stm_inl6 index 76f00ba..8383c63 100644 --- a/firmware/Make_stm_inl6 +++ b/firmware/Make_stm_inl6 @@ -41,7 +41,7 @@ CFLAGS=$(ARCH_FLAGS) $(STARTUP_DEFS) -Os -flto -ffunction-sections -fdata-sectio CXXFLAGS=$(CFLAGS) # Link for code size -GC=-Wl,--gc-sections +GC=-Wl,-V,--gc-sections # Create map file MAP=-Wl,-Map=$(BUILD)/$(PROJ).map @@ -49,6 +49,7 @@ MAP=-Wl,-Map=$(BUILD)/$(PROJ).map STARTUP_DEFS=-D__STARTUP_CLEAR_BSS -D__START=main -D__NO_SYSTEM_INIT LDSCRIPTS=-L. -L$(BASE)/include_stm -T nokeep.ld +#LDSCRIPTS=-L. -L$(BASE)/include_stm LFLAGS=$(USE_NANO) $(USE_NOHOST) $(LDSCRIPTS) $(GC) $(MAP) #TODO fix DF_CPU, now runs at 48Mhz @@ -104,5 +105,7 @@ disassm: all arm-none-eabi-objdump $(BUILD)\$(PROJ).elf -d -g clean: + echo $(BASE) + echo $(LDSCRIPTS) rm -rf $(BUILD) rm -f $(OBJECTS) diff --git a/firmware/build_stm/inlretro_stm.axf b/firmware/build_stm/inlretro_stm.axf new file mode 100755 index 0000000..3c4ec21 Binary files /dev/null and b/firmware/build_stm/inlretro_stm.axf differ diff --git a/firmware/build_stm/inlretro_stm.bin b/firmware/build_stm/inlretro_stm.bin new file mode 100755 index 0000000..1bedfd1 Binary files /dev/null and b/firmware/build_stm/inlretro_stm.bin differ diff --git a/firmware/build_stm/inlretro_stm.elf b/firmware/build_stm/inlretro_stm.elf new file mode 100755 index 0000000..01e169d Binary files /dev/null and b/firmware/build_stm/inlretro_stm.elf differ diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex new file mode 100644 index 0000000..32d61b9 --- /dev/null +++ b/firmware/build_stm/inlretro_stm.hex @@ -0,0 +1,1798 @@ +:020000040800F2 +:1000000000180020051800082D050008310500081B +:1000100000000000000000000000000000000000E0 +:100020000000000000000000000000002D05000896 +:1000300000000000000000002D0500082D0500084C +:100040002D0500082D0500082D0500082D050008C8 +:100050002D0500082D0500082D0500082D050008B8 +:100060002D0500082D0500082D0500082D050008A8 +:100070002D0500082D0500082D0500082D05000898 +:100080002D0500082D0500082D0500082D05000888 +:100090002D0500082D0500082D0500082D05000878 +:1000A0002D0500082D0500082D0500082D05000868 +:1000B0002D0500082D0500082D05000899010008F0 +:1000C000284B10B51A88284B12041B881A43274B5B +:1000D000198849084900885A254908801988023139 +:1000E00089B21980198849084900885A214908802D +:1000F0001988023189B21980198849084900885A3B +:100100001D49088019881D48023189B21980198853 +:1001100049084900895A1A4A11801A881949023235 +:1001200092B21A801C880288944213D902881C88D3 +:100130000832121B92B20A80028892B21A801249C7 +:10014000124A0B881A43124B1A40302353409BB279 +:100150000B8010BD0F4804881A889442E6D3082308 +:100160000B80ECE70C6000400A6000400460004037 +:100170004C6000404E600040506000400260004013 +:10018000526000401A600040005C00408080FFFF29 +:10019000BF8FFFFF00600040F8B50025914A924CE8 +:1001A0001388AB4239D01188904B994233D1022049 +:1001B0008F4B904E1D80904B1D80904B1D80904B1F +:1001C0001D80904B1D80904BD98F8143D987D98F4B +:1001D00001388143D9878D491730F58708808C49CC +:1001E000343008808B490830088080208A494001DB +:1001F000088080208949088080208949F5872180EE +:100200008849000608608021D88FC9000143D9873A +:10021000854B864919800023138023881BB2002B4D +:1002200000DBC1E02388824A754F134080221343CC +:10023000238023881B0500D49CE07E4E7F233278E8 +:10024000110099436F4B1980F188694B1980002187 +:100250006A4B19803B88FF318B4313433B806023FB +:100260001A4208D08022744B12051B8830009B185C +:100270009847614B188060233278134052B2002AAD +:100280004DDA002B0ED17278062A09D17288110A34 +:10029000022914D003291CD01D00684B012910D05D +:1002A000554B1D802388664A1A43664B1A40C0236B +:1002B0009B0153409BB22380FFF702FF4DE05F4B51 +:1002C0001233614A99B21180604A1B0C12251380C7 +:1002D000E6E7D2B2012A0ED0022A16D01D00002A6B +:1002E000DED1564B584A243399B21180574A1B0C21 +:1002F00004251380D4E7514B534A283399B2118017 +:10030000524A1B0C524D1380CAE74C4B4E4A7C3369 +:1003100099B211804D4A1B0C4E4D1380C0E7002B43 +:1003200009D17378052B06D13A887388D2B21B02A3 +:1003300013439BB23B8000212388474A1340474A1E +:1003400013439BB22380464B198023881A43454BA5 +:100350001A40454B53409BB22380264BDB8F5B05F5 +:1003600007D580222D4B1A800023224AD3872C4B9D +:100370002380F8BD60213B880B40402BEDD13B88AA +:100380001342EAD1244A394B2A481B88118880221B +:1003900012059B18C9B298472388304A1A43294B43 +:1003A0001A40C0239B01D5E7802223881342D4D072 +:1003B00023882F490B40802109020B432380114BD6 +:1003C0001B88934200D177E7FF200D4B19888143AA +:1003D000C3D01988090A0A4310490A801A880240C2 +:1003E0001A80BAE70E600040005C00403CA50000A7 +:1003F00000600040065C0040026000400460004075 +:100400000660004008600040025C0040505C004014 +:10041000186000401C6000401E6000404C5C0040C2 +:100420002032000000E100E0585C00400080FFFF47 +:100430008F0F0000546000401060004074040008FA +:100440008081FFFF8FBFFFFF0A6000400C6000400B +:100450002A0300001E0300008F8EFFFF8080FFFF35 +:100460001A600040BFBFFFFF303000001260004044 +:100470000F8FFFFF12010002FF000008C016DC050D +:100480000302010200010902120001010080320989 +:100490000400000000000000040309042A034900CE +:1004A0006E00660069006E006900740065004E0011 +:1004B000650073004C0069007600650073002E0033 +:1004C00063006F006D0000000000000000000000ED +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F0001E0349004E004C002000520065007400AD +:1005000072006F002D00500072006F006700000045 +:1005100000000000000000000000000000000000DB +:10052000000000000000000000000000FEE7FFFFE8 +:10053000004801E02301ADDEFEE7C04602B471468B +:1005400049084900095C49008E4402BC7047C04616 +:100550004E000000050004002E000000020101FB17 +:100560000E0D000101010100000001000001010168 +:100570001F02A2050008A205000802011F020F02C7 +:10058000DC05000800DC050008010005023C050050 +:100590000803B11001212121212121212102010083 +:1005A00001012F6275696C642F61726D2D6E6F6E23 +:1005B000652D656162692D6763632F7372632F67B1 +:1005C00063632D31312E322E302F6C696267636385 +:1005D0002F636F6E6669672F61726D006C6962319F +:1005E00066756E63732E5300200000000500010441 +:1005F0000C06000801500500083C05000812DC0547 +:100600000008400600088C06000801800111001057 +:10061000171101120F030E1B0E250E13050000000B +:100620001C0000000200E8050008040000000000B3 +:100630003C0500081200000000000000000000005F +:100640002F6275696C642F61726D2D6E6F6E652DF2 +:10065000656162692D6763632F7372632F627569C9 +:100660006C642D6763632F61726D2D6E6F6E652DE7 +:10067000656162692F7468756D622F76362D6D2FF6 +:100680006E6F66702F6C696267636300474E55201A +:10069000415320322E33362E3100411D00000061BF +:1006A000656162690001130000000536532D4D009D +:1006B000060C074D0901190103B4714649084000B1 +:1006C0004900095E49008E4403BC70474F0000009A +:1006D000050004002E000000020101FB0E0D0001C8 +:1006E0000101010000000100000101011F02A2053B +:1006F0000008A205000802011F020F02DC05000825 +:1007000000DC05000801000502B806000803C4105B +:10071000012121212121212121210201000101208A +:10072000000000050001044307000801CC06000892 +:10073000B806000814DC050008400600088C060016 +:1007400008018001110010171101120F030E1B0E7A +:10075000250E1305000000FF1C00000002001F070B +:100760000008040000000000B806000814000000A3 +:100770000000000000000000411D000000616561F4 +:1007800062690001130000000536532D4D00060C70 +:10079000074D09011901FFFF03B4714649084000E4 +:1007A0004900095A49008E4403BC70474F000000BD +:1007B000050004002E000000020101FB0E0D0001E7 +:1007C0000101010000000100000101011F02A2055A +:1007D0000008A205000802011F020F02DC05000844 +:1007E00000DC050008010005029807000803D81086 +:1007F00001212121212121212121020100010120AA +:10080000000000050001042308000801AC070008EF +:100810009807000814DC050008400600088C060054 +:1008200008018001110010171101120F030E1B0E99 +:10083000250E1305000000FF1C0000000200FF074A +:1008400000080400000000009807000814000000E1 +:100850000000000000000000411D00000061656113 +:1008600062690001130000000536532D4D00060C8F +:10087000074D09011901FFFF70470A4B0A4A10B5DD +:100880005A600A4A5A600122DC681442FCD11A619B +:1008900001220180D9681142FCD12022DA60603245 +:1008A0001A6110BD0020024023016745AB89EFCDDE +:1008B000FF2370B53B4C802223804378C588102BE2 +:1008C0002FD1C37881888078374E01387269082823 +:1008D00000D965E0FFF732FE0564642D3D334B53CC +:1008E00060008B1E8E227D2B1BD8304B7360304BEB +:1008F00073600123F2681A42FCD102233361802322 +:1009000089021B05C918422371613361C046413B0E +:10091000F1680A001A401942FAD12023F3606033CB +:100920003361244B2270A2B2240CE8B25A819C811C +:1009300070BD58001018FFF7A0FF0022F1E78E22CB +:10094000012BEED8180480231B05C01840181A4943 +:10095000F1E7042363707369A37073691B0AE37082 +:1009600073691B0C237173691B0E6371E5E7022326 +:1009700063701388A37013881B0AE370DDE78E226F +:10098000012BCED880221B0412059B180222627014 +:100990005A5AA2705B5AEFE7084B094ADA60CCE773 +:1009A0008B22BEE70007002000200240230167459C +:1009B000AB89EFCD00600040FFFF000000ED00E0DC +:1009C0000400FA05FFFFFFFFFFFFFFFFFFFFFFFF30 +:1009D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1009E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1009F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:100A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:100A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:100A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:100A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:100A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:100AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:100AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:100AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:100B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:100B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:100BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:100BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:100C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:100C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:100CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:100CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:100D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:100D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:100D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:100D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:100DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:100DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:100DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:100DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:100DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:100DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:100E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:100E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:100E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:100E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:100E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:100E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:100E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:100E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:100E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:100E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:100EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:100EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:100EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:100ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:100EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:100EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:100F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:100F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:100F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:100F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:100F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:100F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:100F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:100F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:100F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:100F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:100FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:100FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:100FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:100FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:100FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10100000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10101000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10106000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10107000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10108000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10109000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:1010A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1010B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1010C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1010D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1010F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10111000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10113000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10115000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10117000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10119000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:1011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:1011B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1011D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1011F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10120000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10121000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10123000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10125000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10127000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10129000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:1012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:1012B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1012D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1012F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10131000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10133000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10177000164B174A9BB21382164B9BB25382684694 +:101780001C300F4A0F4B0430043001681140C91A55 +:10179000FAD1094A094B043801681140C91AF2D13B +:1017A0007B460A3303600438013303600CE00A4BC4 +:1017B0000A4A1A60FBE7C0460000FFFF000000086D +:1017C000FFFFFF0F0000000100207047B108000874 +:1017D000006000407908000800300040AAAA00001C +:1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10180000FFFFFFFF09490A4A0A4B9B1A03DD043B0D +:10181000C858D050FBDC0849084A0020521A02DDA3 +:10182000043A8850FCDC03F03DFB0000F46B000838 +:101830000000002030040020300400203807002081 +:101840000A000021F0B50E4B1B685E7A5F68CDB2CE +:101850007419E4B2AA420ED8597A0A48511859723A +:101860000178891AC9B201700020814202D1982200 +:101870000130DA70F0BD455C01313D55E7E7C04607 +:101880009404002098040020FF22F0B5C14C85B0DC +:10189000228082790300009240780138102801D913 +:1018A00001F08FFEFEF778FF1100D60578083C0A9C +:1018B000600D8D0E790EF70BA60CE40C430D980A03 +:1018C000EF0A290BC60B8D0E460D98789B881D28B4 +:1018D00001D900F0ADFDFEF75FFF220029001F01D6 +:1018E0001902E50284030F04CB04E704F304FB04AC +:1018F00003050C05150523052B0533053B051E00C7 +:101900001E001E004B0560057705CD02D90240057B +:101910008E059705A2050020207001F08BFAB023F8 +:101920009D4A5B0351690B435361F5E7152B01D9C0 +:1019300000F081FD1800FEF72FFF160023002E0097 +:101940007E05390044004F007E055C00690073008D +:1019500080007E057E058D009A00A700B400C100BE +:10196000CE00D800E2009023DB051A688B490020E6 +:101970000A401A608022D96852030A43DA60CBE732 +:1019800090230122DB051968002091431960D96872 +:101990000A43DA60C0E790230422DB0519680020BF +:1019A00091431960D9680A43DA60B5E790231022A1 +:1019B000DB051968002091431960D9680A43DA6091 +:1019C000AAE790234022DB051968002091431960A3 +:1019D000D9680A43DA609FE79023DB051A687049EB +:1019E00000200A401A608022D968D2040A43DA60D3 +:1019F00092E79023DB051A686A4900200A401A60C2 +:101A00008022D96852010A43DA6085E70422664BD6 +:101A10000020196891431960D9680A43DA607BE7AE +:101A20009023DB051A68614900200A401A60802271 +:101A3000D968D2050A43DA606EE79023DB051A689D +:101A40005B4900200A401A608022D968D2020A430A +:101A5000DA6061E79023DB051A68564900200A40E6 +:101A60001A608022D96852000A43DA6054E7902352 +:101A7000DB051A68504900200A401A608022D968A4 +:101A8000D2000A43DA6047E79023DB051A684B4926 +:101A900000200A401A608022D968D2010A43DA6025 +:101AA0003AE79023DB051A683D4900200A401A6096 +:101AB0008022D968D2040A43DA602DE79023DB053F +:101AC0001A683F4900200A401A608022D9685205EE +:101AD0000A43DA6020E70122334B00201968914362 +:101AE0001960D9680A43DA6016E71022354B0020E6 +:101AF000196891431960D9680A43DA600CE79023AA +:101B0000DB051A682C4900200A401A608022D96837 +:101B1000D2000A43DA60FFE6152B01D900F08EFCF3 +:101B20001800FEF739FE160021002C008B0451002E +:101B30005C0067008B0472007D00870092008B04BC +:101B40008B049D00A800B300BE00C900D400DE00D5 +:101B5000E8009023DB051A68104900200A401A604B +:101B6000DA680A40DA60D7E690230121DB051A68BB +:101B700000208A431A60DA688A43DA60CCE6902350 +:101B80000421DB051A6800208A431A60DA688A4358 +:101B9000DA60C1E6F806002000100240FFFFEFFF08 +:101BA000FFFFFFFBFFEFFFFF00040048FFFFFFBF49 +:101BB000FFFFFBFFFFFEFFFFFFFBFFFFFFBFFFFF7E +:101BC000FFFFFFEF000C004890231021DB051A688F +:101BD00000208A431A60DA688A43DA609CE6902320 +:101BE0004021DB051A6800208A431A60DA688A43BC +:101BF000DA6091E69023DB051A68CE4900200A409E +:101C00001A60DA680A40DA6086E69023DB051A6813 +:101C1000C94900200A401A60DA680A40DA607BE6A7 +:101C20000421C64B00201A688A431A60DA688A4386 +:101C3000DA6071E69023DB051A68C14900200A408A +:101C40001A60DA680A40DA6066E69023DB051A68F3 +:101C5000BC4900200A401A60DA680A40DA605BE694 +:101C60009023DB051A68B84900200A401A60DA6838 +:101C70000A40DA6050E69023DB051A68B349002079 +:101C80000A401A60DA680A40DA6045E69023DB050C +:101C90001A68AF4900200A401A60DA680A40DA6020 +:101CA0003AE69023DB051A68A24900200A401A6030 +:101CB000DA680A40DA602FE69023DB051A68A54946 +:101CC00000200A401A60DA680A40DA6024E601213E +:101CD0009A4B00201A688A431A60DA688A43DA60ED +:101CE0001AE610219C4B00201A688A431A60DA68B1 +:101CF0008A43DA6010E69023DB051A6893490020D6 +:101D00000A401A60DA680A40DA6005E6152B00D945 +:101D100097E31800FEF740FD16001F00270095030B +:101D20002F0037003F009503480051005800610024 +:101D3000950395036A0073007C0085008E00970070 +:101D40009E00A50090228023D20511685B030B43FF +:101D500000201360E0E590220123D20511680020E5 +:101D60000B431360D8E590220423D20511680020AC +:101D70000B431360D0E590221023D2051168002098 +:101D80000B431360C8E590224023D2051168002060 +:101D90000B431360C0E590228023D2051168DB0459 +:101DA0000B4300201360B7E590228023D205116811 +:101DB0005B010B4300201360AEE504235F4A002063 +:101DC00011680B431360A7E590228023D2051168A8 +:101DD000DB050B43002013609EE590228023D20593 +:101DE0001168DB020B430020136095E590228023ED +:101DF000D20511685B000B43002013608CE5902234 +:101E00008023D2051168DB000B430020136083E5BB +:101E100090228023D2051168DB010B430020136060 +:101E20007AE590228023D2051168DB040B43002061 +:101E3000136071E590228023D20511685B050B4386 +:101E40000020136068E501233C4A002011680B4321 +:101E5000136061E51023404A002011680B431360B2 +:101E60005AE590228023D2051168DB000B43002045 +:101E7000136051E58D20082B00D04DE59022D2054E +:101E8000516838330B430020536045E58D20082B03 +:101E900000D041E590224021D205536800208B43B9 +:101EA000536039E5152B00D9CEE21800FEF774FC1B +:101EB00016001D002300CC0229002F003500CC02A3 +:101EC0003C0056005B006200CC02CC0269006F004F +:101ED00075007B00820089008E0093009023802291 +:101EE000DB05D20000209A6216E590230122DB0573 +:101EF00000209A6210E590230222DB0500209A62FE +:101F00000AE590230422DB0500209A6204E5902371 +:101F10000822DB0500209A62FEE490238022DB0584 +:101F2000920100209A62F7E490234022DB05002012 +:101F30009A62F1E4FFFFFFFBFFEFFFFF00040048A0 +:101F4000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFFEA +:101F5000FFBFFFFFFFFFFFEF000C00480222CD4B49 +:101F600000209A62D8E490238022DB051202002030 +:101F70009A62D1E490238022DB05920000209A62CD +:101F8000CAE490231022DB0500209A62C4E4902367 +:101F90002022DB0500209A62BEE490238022DB052C +:101FA00000209A62B8E490238022DB059201002091 +:101FB0009A62B1E490238022DB05D20100209A626C +:101FC000AAE40122B34B00209A62A5E40422B24B9A +:101FD00000209A62A0E490232022DB0500209A6270 +:101FE0009AE4152B00D932E21800FEF7D5FB160053 +:101FF0001D002300300229002F00350030023C0074 +:10200000420047004E003002300255005B00610084 +:1020100067006E0075007A007F0090238022DB0548 +:10202000D20000209A6177E490230122DB05002092 +:102030009A6171E490230222DB0500209A616BE42F +:1020400090230422DB0500209A6165E49023082296 +:10205000DB0500209A615FE490238022DB0592017A +:1020600000209A6158E490234022DB0500209A6109 +:1020700052E40222874B00209A614DE49023802293 +:10208000DB05120200209A6146E490238022DB05E2 +:10209000920000209A613FE490231022DB0500208B +:1020A0009A6139E490232022DB0500209A6133E411 +:1020B00090238022DB0500209A612DE4902380226A +:1020C000DB05920100209A6126E490238022DB0543 +:1020D000D20100209A611FE401226E4B00209A6118 +:1020E0001AE404226C4B00209A6115E4902320220C +:1020F000DB0500209A610FE402226270152B00D9E3 +:10210000B1E01800FEF71AFA0B151EAF273039AFF1 +:10211000434C545DAFAF677079828C969EA6902336 +:102120008022DB051B69D200134000206380FFF78B +:10213000F3FB90230122DB051B6900201340638021 +:10214000FFF7EAFB90230222DB051B690020134006 +:102150006380FFF7E1FB90230422DB051B6900206D +:1021600013406380FFF7D8FB90230822DB051B692F +:10217000002013406380FFF7CFFB90238022DB0514 +:102180001B699201134000206380FFF7C5FB902379 +:102190004022DB051B69002013406380FFF7BCFB76 +:1021A00002223C4B00201B6913406380FFF7B4FB05 +:1021B0009023DB051B690020DB0BDB036380FFF74B +:1021C000ABFB90238022DB051B69920013400020AB +:1021D0006380FFF7A1FB90231022DB051B69002021 +:1021E00013406380FFF798FB90232022DB051B69D7 +:1021F000002013406380FFF78FFB90238022DB05D4 +:102200001B69002013406380FFF786FB9023802228 +:10221000DB051B699201134000206380FFF77CFB04 +:1022200090238022DB051B69D201134000206380CC +:10223000FFF772FB0122174B00201B6913406380DC +:10224000FFF76AFB0422144B00201B6913406380D4 +:10225000FFF762FB90232022DB051B69002013405F +:102260006380FFF759FB00238D206370FFF754FB59 +:1022700080230A4ADB02516900200B435361054B5E +:1022800007491A680A401A60D968064A0A43DA60A0 +:10229000FFF742FB00040048000C00480010024019 +:1022A000FFFFAAAA00005555C44BC5491A68002073 +:1022B0000A401A60D968C34A0A43DA60FFF72CFB68 +:1022C000BE4ABF49136800200B401360FFF724FB90 +:1022D000BA4ABC4B116800200B431360FFF71CFB8C +:1022E000B6491B024A690020D2B213434B61FFF783 +:1022F00013FBB24B00201B691B0AA3700123637000 +:10230000FFF70AFB8023B04A1B03516900200B43EF +:102310005361AE4AAE4B11680B431360FFF7FCFAF2 +:10232000AA4AAB4BD16800200B43D360FFF7F4FA05 +:10233000A64AA849136800200B401360FFF7ECFA87 +:10234000A24AA34B116800200B431360FFF7E4FA85 +:102350009E4A00205361FFF7DFFA012363709B4B15 +:1023600000201A69A2701B691B0AE370FFF7D4FAF8 +:10237000C023954ADB02516900200B4353618F4A09 +:10238000954B11680B4313609022A023D20511686E +:102390005B030B431360FFF7BFFA884A8E4BD1688B +:1023A0000B43D3609023A021DB05D8684903014388 +:1023B000D96011688948014011601A688849002075 +:1023C0000A401A60FFF7A8FAFF257C489A00416985 +:1023D0002A40844DDB0029400A4342619021C020FD +:1023E000C905C0004A6903407F48024013430020EA +:1023F0004B61FFF791FA0121704B00201A680A43E4 +:102400001A609962FFF788FA01226C4B0020196864 +:1024100091431960D9680A43DA60FFF77DFA6B4A85 +:10242000002053610122654B9A619A62FFF774FAAA +:102430008C20FFF771FA8D20FFF76EFA8D20FFF7E1 +:102440006BFA8D20FFF768FA8D20FFF765FA8D2073 +:10245000FFF762FA98789A880A280ED80138092876 +:1024600062D8FEF799F96700C900100254023201E0 +:102470004E018C01E80128011E019623802800D01E +:102480000CE101259023402265708024DB059A62CF +:102490001968640121431960C0461E69534837001A +:1024A0001968174001401960D9680140D960F021CE +:1024B000164236D1196801401960D9682143D960A4 +:1024C00019698C4619690191C04619690291C04683 +:1024D000C04619690391C046C046C0461E69C04641 +:1024E000C046C046C0461C69196801401960D968D9 +:1024F0000140D96063463900134212D1019B290083 +:1025000013420ED1029B023113420AD1039B0331C5 +:10251000134206D10431164203D10531144200D1D1 +:10252000D131334B997003E0324B1A7001F0D2F87D +:102530000023B3E001F0CEF890230122DB059A617D +:1025400019680A431A608022D2009A6280221968B0 +:1025500052030A431A60022204219A611A680A434C +:102560001A601022996119680A431A6008229A6158 +:10257000196838320A431A6080231349DB024A691A +:102580000F4C13430D4A4B61136823401360D0680E +:102590000C4B1843D060106820401060D068034393 +:1025A000D36080234A691B031343084A4B611168B7 +:1025B000074B0B431360002353616FE00004004896 +:1025C000FFFFAAAA0000555500100240000800486D +:1025D00055555555AAAAAAAA50550000AFAAFFFF03 +:1025E000FFFFEBFF03FF0000FFF90000FFEFFFFF1D +:1025F000F80600200A07002001F06CF89022012163 +:10260000D2051368EA480B431360102391611168E7 +:10261000E84D0B43136004234021936113680B437F +:102620001360082393618023916111685B010B4360 +:10263000136080234169DB020B43DF4943610B6870 +:102640002B400B60CC68DD4B1C43CC600C682C40ED +:102650000C60CC682343CB60802344691B03234375 +:10266000D74C43612568D74B2B432360002363611C +:10267000C0244569E4022C4344610C68D2482043DD +:102680000860A0201468400320431060CF4C4869C4 +:10269000204048615169CE4801405161CD4C2370C2 +:1026A000C8E390238022DB051968D2010A431A602F +:1026B00080229A613CE790238022DB051968D201D1 +:1026C0000A431A6080229A6232E701F003F89023ED +:1026D0000121DB051A680A431A6010229961196802 +:1026E0000A431A60042240219A611A680A431A6058 +:1026F00008229A6180221868520102431A60996187 +:102700003AE700F0E7FF90230121DB051A68A94CA6 +:102710000A431A601022996119680A431A60042258 +:102720009A6119683C3211431960082199619A62D3 +:102730009A6180239E49DB024A6913439E4A4B619A +:10274000136823401360D0689C4B1843D060106816 +:1027500020401060D0680343D36080234A691B0384 +:1027600013434B61964A974B11689B48194311607C +:10277000116801401160D1680B43D3601BE700F082 +:10278000A9FF90220120D20513688D4D03431360E9 +:102790001023906111680B43042113608023916121 +:1027A0001468DB0123431360802393618023146842 +:1027B0005B0123431360402393611468214311603C +:1027C0000221916111687A4C0B43136008239361D5 +:1027D000802361691B030B4363612968794B0B43B9 +:1027E00075492B600B6803430B60842388626B611F +:1027F00000238861886280206B611568C0052843CA +:102800001060802000029062C0206569C0022843E9 +:1028100060610F2408682040086010686F4C2040F9 +:102820001060CC686E482043C860A021D06849037E +:102830000143D16032E700F04DFF90230121DB0519 +:102840001A680A431A6004229961196811431960D1 +:10285000196811431960102118680143196040215B +:102860009A611A680A431A6008229A6180221868DD +:10287000520102431A60996180234D4A1B0351693A +:102880000B4353616EE7D2B2022A21D00023032A00 +:1028900000D103E79733012A00D0FFE680234449A3 +:1028A0001B03486903434B6145490B6893430B6025 +:1028B000CB681343CB604B6813434B608A610B6852 +:1028C0001A4300230A60474A1370474A1160E5E63D +:1028D000B023374A5B03516940200B435361902278 +:1028E000D205136841490B4013608023D1685B0116 +:1028F0001943D160516801435160906111680B43E5 +:1029000006211360374B1970374B1A6010E6D2B2AC +:10291000012A1FD09823022A00D0BFE69023344911 +:10292000DB050B6033490A700321334A1360334AD5 +:102930001170334A49181360324A1170324A1360D9 +:102940000122324B1A70B023194A5B0351690B43C1 +:1029500053611EE09022264BD2051A600622022106 +:10296000244B1A70144B244A1360244A1170244AD1 +:1029700001311360234A1170234A13600422234B50 +:102980001A70B0230A4A5B0351690B43536100F08C +:1029900059FF00F057FFCBE59E78DF789D88262E03 +:1029A00043D930008038C3B2082B31D9A0266AE061 +:1029B00000100240FFFFAAAA00040048000055557D +:1029C00000080048555555555055000003FF0000BC +:1029D000FFF90000F8060020AAAAAAAAFFFFC3FF79 +:1029E00050555555100700200C070020FFEFFFFF42 +:1029F00024070020280700201C07002020070020B3 +:102A00002C070020300700201407002018070020A2 +:102A10000828CBD8FDF750FE23014F015501CAFF0E +:102A20005C01620167016D0171013000FDF744FE38 +:102A3000270033003800BEFF670062002D009200BF +:102A40009700740079008D00C70088007E00830025 +:102A50009C00C200E000E500BD00BEFFBEFFBEFF5F +:102A6000BEFFBEFFBEFFBEFFD600DB00CC00D10024 +:102A70006C006F003D00EA0072005D00310039001B +:102A8000280001F0A3F92670D4E13900280001F0F4 +:102A9000C9F90026F7E73900280001F0A7FBF8E79D +:102AA0003900280001F0ACF8F3E7BD4B90215D61DF +:102AB0000223BC4AC9058B621068BB4B3F0203432B +:102AC000136053692DB2DBB21F435761002D01DA49 +:102AD00001238B62C046C04601238B61DB188B61EA +:102AE0001368B2490B401360D3E73900280001F0A6 +:102AF00001FBCEE73900280001F080FDC9E739006D +:102B0000280002F065F9C4E7A94B1D70C1E7A94B85 +:102B10001D80BEE7A84BF8E73900280001F0C2F994 +:102B2000B7E73900280001F089FBB2E73900280037 +:102B300002F060F9ADE73900280002F083F9A8E758 +:102B40003900280001F0D0F9A3E73900280001F08E +:102B500097FB9EE73900280001F0F8F999E7390062 +:102B6000280001F0CBFB94E7AA21944801F048F833 +:102B70005521934801F044F8A021904801F040F815 +:102B80003900280001F03CF8A020894B0002197898 +:102B900001F036F8280001F069F90600C046280067 +:102BA00001F064F98642F5D173E73900280001F09D +:102BB000F5F96EE73900280001F0C2FB69E739003A +:102BC000280001F0F7FB64E73900280001F038FC29 +:102BD0005FE73900280001F073FC5AE7390028004C +:102BE00001F066FA55E73900280001F0A9FC50E72A +:102BF0003900280001F0FCF94BE73900280001F00A +:102C000031FA46E780239B019D4202D280231B02BA +:102C10001D43902701F0F6FD6B1CFF339BB201931F +:102C2000FF055F4B5F4E5D6132685F4B00021343EF +:102C3000FF2233607369134018437061C046082354 +:102C4000BB6201F0DFFD08230135BB61019BADB222 +:102C50009D42E6D13368554A1340336019E701219C +:102C600090236170DB051A68564802401A60DA68E2 +:102C70000240DA6080220220D2009A629961986153 +:102C800047484561C046C0462DB29A61002D00DA22 +:102C90009962C046C046C046C046C046C046902263 +:102CA0008021404BD205C9001B69916201211B0A9A +:102CB0009161A370EDE601236370280001F0D6F85E +:102CC00004E001232800637001F074FAA070E0E6CC +:102CD00001232800637001F075FCF7E7012363709E +:102CE000334B1B78E5E702236370324B1B8863800C +:102CF000CFE601236370304BF3E70126022132480F +:102D0000667000F07DFF3100304800F079FF02214D +:102D10002D4800F075FF3900280000F071FFCCE766 +:102D20009878D9789B88062837D8FDF707FC042BBC +:102D30001A2327332100FF261A4D9A006969324071 +:102D4000234EDB0031400A436A619021C025C9054A +:102D5000ED004A692B401F4D2A4013434B61FEF79B +:102D6000DBFD0022180000F01BFF0020FEF7D4FD61 +:102D70000122F7E7180000F081FFF6E7180000F0E5 +:102D8000A5FFF2E7012200216270180000F0E4FEC6 +:102D9000A070EAE701216170F7E7AA20FEF7BCFD09 +:102DA000000800480004004800005555FFFFAAAA8B +:102DB0008C04002036040020A3040020AAFA00009E +:102DC00055F50000FFEFFFFF025100000351000026 +:102DD00003FF0000FFF900009A78D9789B88002A49 +:102DE00031D0012A4DD1BA484361C020C0011B181F +:102DF00080209BB28001834202D29023DB059A623D +:102E0000B44BB54A1868090202431A605A69D2B233 +:102E10000A435A6190220821D2059162C046C046F9 +:102E2000C0469161073991611A68AC490A401A603D +:102E300000222270AA4BA2B2240C5A819C816B46BC +:102E4000188805B0F0BD0120A14960704B61902148 +:102E50000425C9058D62C025ED015B1980259BB253 +:102E6000AD01AB4200D28862C046C046C046C046F3 +:102E70000120984B1B6988611B0A03308861A3708D +:102E8000D7E7AF22D5E79D78D8789E88022D06D067 +:102E9000032D22D0002D2AD0B0252570CAE7914BF2 +:102EA000914A1E80914B1870894B000219680A43A1 +:102EB00088491A600D68884A2A430A605E614A6937 +:102EC000D2B202434A6190220121D20591621A686E +:102ED00087490A401A600025DFE790230122DB05BD +:102EE0009A617C4A7D4913680B401360F3E7022323 +:102EF000637000F0C9FB6080CFE79878DA78998832 +:102F0000062800D993E07B4BFDF718FB0489640980 +:102F10002B7B820019806E4B5961FEF7FDFC1980F6 +:102F20006B4B120259616B4B6B4918680143196076 +:102F300059690220C9B20A435A6190220121D2057F +:102F400091629062C046C046C046C046C046C04678 +:102F5000906191611A6861490A401A600020FEF789 +:102F6000DBFC19805A4B59615A49634B086803438B +:102F70000B609023A020DB051D68400328431860E8 +:102F800048695E4D284095002843486158695C4D6A +:102F9000D200284002435A6101229A62C046C046CC +:102FA000C046C046C046C046C046C04608209862DB +:102FB000C046C046C046C046C046C0469861C046EE +:102FC000C046C0469A610A68073002400A601A6823 +:102FD0004C49C1E7842001263D4D08436A69686178 +:102FE0003C4892B28661866280206A61902200022B +:102FF000D205490703D590611B886B61AEE79062EB +:10300000FAE71888801880B2188001F043FBA5E722 +:103010001888801880B2188001F0D2FB9EE71980D2 +:1030200002230800637001F011FB608096E7B12075 +:10303000FEF772FC98789B88042829D8FDF77EFA61 +:10304000182803080C00304A13800020FEF764FCA7 +:10305000180000F08BFEF8E790230222DB059A614E +:10306000C046C046C046C046C046013A9A61ECE739 +:103070000223637090230422DB059A62C046C04697 +:10308000C046C046124909699A616180FEF744FC56 +:10309000B220FEF741FC9D78DA789988112D00D195 +:1030A000A1E008D8012D75D0022D00D183E0002DBC +:1030B0002CD08225F1E6212D00D18AE0222D00D1ED +:1030C0008DE0122DF5D10223102063708EE0C046F2 +:1030D000000800480004004800005555FFFFAAAA58 +:1030E000006000408A040020555555558804002092 +:1030F000AAAAAAAA080700205055555503FF0000A8 +:10310000FFF90000FFFFC3FFA00400200127C04B10 +:1031100010201B789F40FA43BE4B02921E68B76294 +:103120007368BB43736001F085FBB76173683B4311 +:10313000736004230193FA20400001F07BFBFA2026 +:10314000B7627368029A40001340736001F072FB2B +:10315000B76173683B437360019B013B9BB2019372 +:10316000002BE8D104330193FA2001F063FBB7622E +:103170007368029AFA201340736001F05BFBB76139 +:1031800073683B437360019B013B9BB20193002B2F +:10319000EAD182E69E4B10201B789D409D4B1E6815 +:1031A000B5627368AB43736001F044FBB56173684B +:1031B0001D4375608FE60123954A637012780020E5 +:1031C0009340944A944912689BB202F0B1FCA070FB +:1031D00081E601230020637001F0A0FDF7E70123E1 +:1031E00010206370F8E702230020637001F040FDB7 +:1031F000608070E69878DD7801389A88082834D89D +:10320000FDF79CF9050F150D1E3320262F00834B6B +:103210001B78A370012363700023FFF740FA804BF3 +:10322000F6E77E4B1A7083227D4B1A70F4E77B4BD6 +:103230007B4D1A7083232B7000F040FC2B78E8E75D +:10324000784BF2E7784B5A555B19120A5A70E3E74C +:103250007549A01C491908252A0003F073FB657005 +:10326000DAE720257049A01CF6E78723FFF717FA55 +:103270009878D97802389A888A230A2801D9FFF7E2 +:103280000EFAFDF75BF906090F141B222D383D4895 +:103290004F00664B1A80BFE7644B1B881B04134327 +:1032A0009847B9E7FEF764FA0300FFF7F8F96049B9 +:1032B00012040B689BB21A430A60ADE75C490B68C5 +:1032C0001B0C1B0413430B60A6E70423584A6370CE +:1032D0001368128862801A0C1B0E227163719BE7BF +:1032E00002236370524B52001B68995AA1709B5A7B +:1032F0001B0AE37090E74E4B49001B68CA528BE7EC +:103300004B4B51001A6852181A60022363701388DD +:10331000A3701388ECE7464B480019680918196038 +:103320000A8079E7012363700233A37074E788236E +:10333000FFF7B5F99A789988022A0AD0032A0FD0A4 +:103340008323012A01D0FFF7AAF93A4B0904196037 +:1033500062E7384A13681B0C1B040B4313605BE7DE +:103360000122344B1A6057E79D782A00303A2F2A01 +:1033700017D8DA78032A00D982E02F4992005258F0 +:10338000512D0FD1C023DB002380D37AA370137B90 +:10339000E370537B2371937B6371D37BA371137CA5 +:1033A00024E0264A512D23D8332D0FD82F2D04D8B1 +:1033B000002D68D0B423FFF772F9280031389B88BC +:1033C000022873D8FDF7BAF8767A7E00502DF1D135 +:1033D000C023DB002380137AA370D378E370537A81 +:1033E0002371937A63719378A371537CE37121E520 +:1033F000612D69D026D8522D6DD0602DDAD1802272 +:10340000520022809B880E4AD35CA37012E5C0460E +:10341000100700200C07002004000200C404002054 +:10342000E6040020E5040020C50400203404002048 +:10343000300400209C0400204C6B0008380400205D +:10344000E70400206AB2002A15DB6F2DB2D96D4A5D +:10345000187854686C4A1268D1787F2800D9B3E094 +:103460006A48009E0670002947D0002000909829E5 +:1034700000D1AEE03CE004222E001640154243D0BD +:10348000B523FFF70CF91022FF21614803F0ACFAD5 +:1034900001235C4A5B4253805E4A53805E4A5380FC +:1034A0005E4A538001225E4B1A70F6E4190AD1720B +:1034B0001373B1E6190A51739373ADE6190AD17308 +:1034C0001374A9E65374A7E680235B0023804E4B58 +:1034D0001B68DB7899E780239B0023801388A37007 +:1034E00013881B0AE370A5E400200090D02970D057 +:1034F0004B4910300870FF2104E04A490A609021CE +:10350000D1706F31009164E0072247492A40920050 +:103510005758872D0AD97035EDB2072D00D989E4A7 +:103520002670DA78BA729B883B8083E49988DA78CF +:10353000CCB21319102B26DC002A26D0FB78FF2BE7 +:1035400025D1BB78FF2B24D1002331480019C55C5D +:10355000FF2D20D10133DDB2AA42F8D80023FB7041 +:103560003B807B727B81FB603B82304B5501640169 +:10357000090A013DE418B9703D727C6003F034FA29 +:103580002B4CFFF780FABE26FAE7C226F8E7BF26E3 +:10359000F6E7C026F4E7C126F2E79A78002A04D0BD +:1035A000402A08D0D223FFF77AF822709B881C4A61 +:1035B0001370FFF73FFC80235B002380184B1B78C0 +:1035C00023E78023FFF76BF8D8298DD18021546839 +:1035D000D17000215172D278902A01D0FFF72AFCD5 +:1035E000712D01D0FFF726FC0E4A988812685168A9 +:1035F00008709B8851681B0A4B70537A02335372D0 +:10360000FFF718FC380400209004002098040020E4 +:10361000E70400204C040020600400207404002013 +:10362000A4040020940400204C6B0008F80400203F +:10363000F8060020022907D10F4B104A984218D0F3 +:10364000904209D1180007E0032906D10A4B0B4923 +:103650000B4A98420BD1080070470429FCD1064B55 +:10366000064A984205D006499042F4D0054A88425D +:10367000E6D11000F0E7C046380400204C040020DA +:1036800060040020740400200D480E4A038810B521 +:103690000D49934202D10A7801320A709022042423 +:1036A000D205013394620380084B18699461084C79 +:1036B0000B7862691B02D2B2134380B2636110BD02 +:1036C0008A040020FFFF0000880400200008004852 +:1036D00000040048BC234C49DB038A6AF0B513435D +:1036E0008B628B6A494A13408B62B0234A695B0341 +:1036F00013434B61464B1A789023DB05102A03D104 +:1037000000221A609A60DA601A6842480124024076 +:103710001A608022D868D2010243DA601A683E48F3 +:103720003E4F02401A608022D868520302430420B0 +:10373000DA601A68A2431A60DA682243DA601A680B +:1037400082431A60DA680243DA6010221D689543EA +:103750001D60DD682A43DA6040221D6895431D60C4 +:10376000DD682A43DA601A682D4D2A401A608022EB +:10377000DD68D2042A43DA601A682A4D2A401A60AA +:103780008022DD68D2052A43DA601A68264D2A4075 +:1037900080251A60DA68ED022A43DA60234A166847 +:1037A000A6431660D6683443D4601C68204E34406B +:1037B0001C60DC683440DC6080234C691B032343BD +:1037C0004B611C4B1C4C1E6826431E601E683E400D +:1037D0001E60DE683443DC604B69184C1D434D614C +:1037E000136823401360D168154B1943D1601168E9 +:1037F00021401160D1680B43D36013688343136089 +:10380000D3681843D060F0BD00100240FFFFA1FF55 +:103810000A070020FFBFFFFFFFFFEFFFAAAAAAAA27 +:10382000FFFFFFFBFFFFFFBFFFFFFBFF00040048A0 +:10383000FFEFFFFF0008004855555555FFFFAAAAA6 +:1038400000005555F0B52B4B85B01B780193012333 +:103850001E00019A1F009640274A1168274A8E626F +:10386000127802921A000298824094466046244AD6 +:1038700012689062234805782348AF4000689D4055 +:103880008762046803941C00AC402500039C254318 +:1038900005604568BD43456001980D684400180007 +:1038A000A0402843086048681C00B0434860106886 +:1038B000029999408C402100014360461160516893 +:1038C0008143124851600078114A98408340126841 +:1038D0001048116899431160D1680B430021D360EF +:1038E0000D4B2022197003F07FF880220B4B1A70C9 +:1038F00005B0F0BD300700202C0700202007002075 +:103900001C070020180700201407002028070020AB +:1039100024070020C5040020E5040020E604002060 +:103920000122F0B51C4B85B01C781C4B19681C4B50 +:103930001B789A40102828D18A620125194BAC4681 +:103940001B68194E0193194B03961B789D40002369 +:1039500002951D0020280DD1039E6746765D1E410D +:103960003E4216D08A610133DBB2082B02D100231C +:103970000135EDB2029E019F013CE4B2BE61BE6220 +:10398000002CE7D18A6205B0F0BD1128D5D18A613B +:10399000D3E78A62E7E7C046E50400202C07002051 +:1039A0003007002014070020C5040020180700205D +:1039B000F0B58BB00992012208911100354B0390AC +:1039C0001F78354B1B780593344B1B680193344BA0 +:1039D0001B7899400B00029101998B62314B18685A +:1039E000314B1B789A40039B102B4CD182620121F2 +:1039F0002E4B294C1B6806932D4B1B7899408BB29C +:103A0000012107932B4B1B689C462B4B1B7899403D +:103A1000002304911900039D202D05D1059E1F3D13 +:103A20001E412E4234D08261089D202D0CD1002BE6 +:103A300000D16354069D2E69079D2E4204D00125B6 +:103A40009D40665C2E436654099D013FFFB2002DE8 +:103A500004D0002F02D1029D019EB5616546049EEF +:103A60000133DBB2AE61AE62082B04D10131C9B2C1 +:103A7000635C05930023002FCDD18262029B019AE3 +:103A800093620BB0F0BD039B112BB0D18261AEE706 +:103A90008262C9E7E5040020C50400202C0700204D +:103AA000300700201C0700202007002024070020EA +:103AB00028070020140700201807002010B5234B0A +:103AC000187810280FD8002811D001380F280ED8E8 +:103AD0001F4CFCF733FD161A25290C3137390C0C15 +:103AE0000C0C222D2F35802804D0FF2805D0EE2283 +:103AF000174B04E0FFF7A6FE10BDF022144B1A701E +:103B0000FAE72020FFF70CFF04E00122002120202B +:103B1000FFF74EFF82232370EEE700221100F6E745 +:103B2000012220211020F3E7012220211120EFE7BC +:103B30000022F6E70022F8E7012220210800E7E74B +:103B40000022FAE71020DDE71120DBE7C4040020A3 +:103B5000E6040020002070470F4B58619023DB05DE +:103B6000002901D101229A6204229A62C046C0460D +:103B7000C046C046C046C046C046C046C046C04615 +:103B8000C046C046C046054908699A61000A033A22 +:103B9000C0B29A617047C04600080048000400485F +:103BA000134B10B55861134B13481C68090220438E +:103BB00018605869C0B20843902158610820C905AF +:103BC0008862002A01D101328A62C046C046C046DE +:103BD000C046C046C046C046C04690220821D20515 +:103BE0009161073991611A6804490A401A6010BD51 +:103BF000000800480004004800005555FFFFAAAA2D +:103C00009023DB051A6830B5174C090222401A6070 +:103C1000DA682240DA60154A154C506102229A6235 +:103C2000144A00B215682C4314605469E4B20C4382 +:103C30005461002801DA012199628021C90099614B +:103C4000C046C046C046C046C046C046C046C04644 +:103C5000C046996201219961491899611368064922 +:103C60000B40136030BDC046FFEFFFFF0008004867 +:103C70000000555500040048FFFFAAAA70B50400D3 +:103C80000D000022AA210F48FFF78AFF00225521CC +:103C90000D48FFF785FF0022A0210A48FFF780FFAB +:103CA000002229002000FFF77BFF00212000FFF702 +:103CB00053FF0500C04600212000FFF74DFFA8423A +:103CC000F3D170BD55550000AA2A000070B504005C +:103CD0000D000022AA210F48FFF762FF00225521A4 +:103CE0000D48FFF75DFF0022A0210A48FFF758FFAB +:103CF000002229002000FFF753FF00212000FFF7DA +:103D00002BFF0500C04600212000FFF725FFA84239 +:103D1000F3D170BDAA8A00005585000070B504007B +:103D20000D000022AA210F48FFF73AFF002255217B +:103D30000D48FFF735FF0022A0210A48FFF730FFAA +:103D4000002229002000FFF72BFF00212000FFF7B1 +:103D500003FF0500C04600212000FFF7FDFEA8423A +:103D6000F3D170BDAA8A000055850000902270B57D +:103D70000225D2059561C046C046C046C046C04631 +:103D8000C04601240D4B94611E680D4931431960F2 +:103D90000C4909885961C04695625861C0469462D1 +:103DA0001A6809490A401A60C046C046C046C04663 +:103DB000C046C046C046C04670BDC0460008004868 +:103DC00055555555A0040020AAAAAAAA104B114A7D +:103DD00010B558611068104B090203431360536912 +:103DE0000E4CDBB20B43536190238021DB05186836 +:103DF0004901084318604020986218682040186004 +:103E0000D8680143D960136805490B40136010BDA1 +:103E1000000800480004004800005555FFEFFFFF70 +:103E2000FFFFAAAA0D4B0E4A58610E4B09021868F3 +:103E300002431A605A69D2B20A435A619022802121 +:103E4000D2051068490101431160402191629161DE +:103E50001A6805490A401A607047C04600080048C1 +:103E60000000555500040048FFFFAAAA0B4B5861FB +:103E7000902300B2DB05002801DA01229A62802239 +:103E8000D2009A61C046C046C046C046044908698F +:103E90009A620122000AC0B29A6170470008004885 +:103EA0000004004870B504000D000D48AA21FFF77A +:103EB0008DFF55210B48FFF789FFA0210848FFF728 +:103EC00085FF29002000FFF781FF2000FFF7CEFFCC +:103ED0000500C0462000FFF7C9FFA842F5D170BD1C +:103EE00055550000AA2A000070B505000E00134BBE +:103EF00000211C882000FFF783FEAA211048FFF74D +:103F000065FF55210F48FFF761FFA0210C48FFF71F +:103F10005DFF0D4B19786418A0B2FFF771FE3100F8 +:103F20002800FFF753FF2800FFF7A0FF0400C0465A +:103F30002800FFF79BFFA042F5D170BD360400209A +:103F400055550000AA2A00008C04002070B504001A +:103F50000D001048AA21FFF753FE55210E48FFF728 +:103F60004FFEA0210B48FFF74BFE29002000FFF772 +:103F700047FE802002210002FFF742FE2000FFF7EB +:103F800075FF0500C0462000FFF770FFA842F5D17D +:103F900070BDC04655D50000AAAA000070B5040047 +:103FA0000D001048AA21FFF72BFE55210E48FFF700 +:103FB00027FEA0210B48FFF723FE29002000FFF772 +:103FC0001FFEA020094B00021978FFF719FE200000 +:103FD000FFF74CFF0500C0462000FFF747FFA8424F +:103FE000F5D170BD55D50000AAEA00008C04002070 +:103FF00070B50400C0200D0000020121FFF700FE93 +:10400000AA211548FFF7FCFDC02000210002FFF7A0 +:10401000F7FD55211148FFF7F3FDC02001210002F3 +:10402000FFF7EEFDA0210C48FFF7EAFDC0200C4B86 +:1040300000021978FFF7E4FD29002000FFF7E0FDFA +:104040002000FFF713FF0500C0462000FFF70EFF1A +:10405000A842F5D170BDC04655950000AAAA00003F +:104060008C04002070B50400A0200D000D4BC00191 +:104070001978FFF7C5FDAA210B48FFF7C1FD5521AF +:104080000A48FFF7BDFDA0210748FFF7B9FD290049 +:104090002000FFF7B5FD2000FFF7E8FEA842FAD1A7 +:1040A00070BDC0468C04002055D50000AAAA0000AF +:1040B00070B504000D000D48AA21FFF787FE5521B9 +:1040C0000B48FFF783FE28210848FFF77FFE2900F1 +:1040D0002000FFF77BFE2000FFF7C8FE0500C0466A +:1040E0002000FFF7C3FEA842F5D170BD554B00007C +:1040F000AA34000090238022DB05D20030B59A61FB +:10410000104A114C506102229A62104A0902156845 +:1041100000B22C4314605469E4B20C43546100288B +:1041200001DA01219962C046C0460121996149180E +:10413000996111680648014011608022D2009A629C +:1041400030BDC04600080048000055550004004836 +:10415000FFFFAAAA70B50400A0200D00C0015421E1 +:10416000FFF74EFDA0212000FFF7C4FF290020002B +:10417000FFF7C0FF2000FFF779FE0500C0462000D2 +:10418000FFF774FEA842F5D170BD70B504000D00B4 +:10419000A021FFF7AFFF29002000FFF7ABFF2000B1 +:1041A000FFF764FE0500C0462000FFF75FFEA8424F +:1041B000F5D170BD80239B01984202D280231B025F +:1041C0001843084B042258619023DB059A62C046CD +:1041D000C046C046C046044908699A61000AC0B298 +:1041E0007047C046000800480004004880230A00C9 +:1041F0009B01984202D280231B0218430B4B0C49AF +:1042000058610C4B12021868014319605969C9B210 +:1042100011435961C04690220821D2059162C046DF +:1042200091611A6804490A401A6070470008004802 +:104230000000555500040048FFFFAAAA70B504000D +:104240000D000D48AA21FFF7D1FF55210B48FFF7BC +:10425000CDFFA0210848FFF7C9FF29002000FFF784 +:10426000C5FF2000FFF7A6FF0500C0462000FFF7AE +:10427000A1FFA842F5D170BD55150000AA0A0000A3 +:10428000F8B505000E00194B02211C88A71CBFB20F +:104290003800FFF7B5FCAA211548FFF7A7FF601CFF +:1042A000012180B2FFF7ACFC55211248FFF79EFFB9 +:1042B00002213800FFF7A4FCA0210D48FFF796FF6C +:1042C0000D4B19786418A0B2FFF79AFC3100280052 +:1042D000FFF78CFF2800FFF76DFF0400C0462800A1 +:1042E000FFF768FFA042F5D1F8BDC04636040020B4 +:1042F00055150000AA0A00008C04002070B50400C7 +:104300000D000D48AA21FFF771FF55210B48FFF75B +:104310006DFFA0210848FFF769FF29002000FFF783 +:1043200065FF2000FFF746FF0500C0462000FFF7AD +:1043300041FFA842F5D170BD55150000AA1A000032 +:1043400070B50400B0200D0000020A21FFF758FCF0 +:10435000C0200A210002FFF753FCAA211248FFF7F0 +:1043600045FF55211148FFF741FFA0210E48FFF7F7 +:104370003DFFB0200E4B00021E783100FFF740FCDD +:10438000C02031000002FFF73BFC29002000FFF7AE +:104390002DFF2000FFF70EFF0500C0462000FFF7AD +:1043A00009FFA842F5D170BD55150000AA0A00000A +:1043B0008C040020F7B505001C4B01911F781C4BA5 +:1043C0007C001E8820213419A4B22000FFF718FCBD +:1043D000AA211848FFF70AFFE01B102180B2FFF75F +:1043E0000FFC55211448FFF701FF20212000FFF7A3 +:1043F00007FCA0210F48FFF7F9FE104B1B781901AD +:104400007B43F318C9B298B2FFF7FAFB2800019971 +:10441000FFF7ECFE2800FFF7CDFE0400C0462800A1 +:10442000FFF7C8FEA042F5D1F7BDC046A3040020A7 +:104430003604002055150000AA0A00008C04002054 +:10444000F8B51B4B05001C880E0027000837BFB2CB +:1044500008213800FFF7D4FBAA211648FFF7C6FE53 +:10446000201D042180B2FFF7CBFB55211248FFF736 +:10447000BDFE08213800FFF7C3FBA0210D48FFF760 +:10448000B5FE0E4B1B789B00E418D9B2A0B2FFF723 +:10449000B7FB31002800FFF7A9FE2800FFF78AFECE +:1044A0000400C0462800FFF785FEA042F5D1F8BD04 +:1044B0003604002055150000AA0A00008C040020D4 +:1044C000F8B51B4B05001C880E0027000837BFB24B +:1044D00008213800FFF794FBAA211648FFF786FE53 +:1044E000201D042180B2FFF78BFB55211248FFF7F6 +:1044F0007DFE08213800FFF783FBA0210D48FFF760 +:1045000075FE0E4B1B789B00E418D9B2A0B2FFF7E2 +:1045100077FB31002800FFF769FE2800FFF74AFE0D +:104520000400C0462800FFF745FEA042F5D1F8BDC3 +:104530003604002055190000AA0600008C04002053 +:10454000F8B51C4B05001C880E0027000C37BFB2C5 +:104550000C213800FFF754FB55211748FFF746FEA2 +:1045600020001030102180B2FFF74AFBAA21134827 +:10457000FFF73CFE0C213800FFF742FB50210E48AC +:10458000FFF734FE0E4B1B789B00E418D9B2A0B2A3 +:10459000FFF736FB31002800FFF728FE2800FFF761 +:1045A00009FE0400C0462800FFF704FEA042F5D132 +:1045B000F8BDC04636040020550900002A16000048 +:1045C0008C0400200B4B10B58021586190230122F0 +:1045D0000424DB05C90099619A629C62C046C0460A +:1045E000C046054800699C61000A9962C0B29A61A0 +:1045F00010BDC04600080048000400480F4B30B50D +:104600009022586180230124D205DB0093620C4B79 +:1046100094621D680B480902284318605869C0B2AB +:1046200008435861C04608219162C04691611968EB +:10463000054801401960946130BDC046000800483B +:104640000004004800005555FFFFAAAA902270B54B +:10465000012104240D4BD205586191629462C04639 +:10466000C046C046C046C046C046C026084B186972 +:10467000156900061B69ED083540800E28431B0AAA +:10468000DBB2000294611843916170BD00080048DC +:10469000000400481E4B1F4A70B5586110681E4B3D +:1046A0000D02034313609023A020DB051C68400328 +:1046B0002043FF2418605069184E20402843506161 +:1046C00050690D0A3040AE00304350615869144EB5 +:1046D000ED003040284358615069C9B220400902BA +:1046E000014351610820012199629862C046C04689 +:1046F000C046C046C046C0469861996111680730FF +:10470000014011601A6807490A401A6070BDC0462E +:1047100000080048000400485055555503FF0000AC +:10472000FFF90000FFFFC3FFF7B50193FF23224C01 +:10473000C90152080A4361691B021340C9B20B4305 +:10474000902563610123FF21ED05AB620333AB626A +:1047500063690902D2B20B40134363613F23060031 +:104760009C460020C046C046C046C046C046C04623 +:10477000C046C0466746114B01321B6929699B0838 +:10478000C908B9433B400B4333540C4BD2B21969AF +:10479000431CDBB2090AF154FF21636909020B4093 +:1047A000134363610230019BC0B28342DAD2042317 +:1047B000AB61033BAB61FEBD00080048000400484C +:1047C00070B504000D000D48AA21FFF763FF5521C5 +:1047D0000B48FFF75FFFA0210848FFF75BFF2900A8 +:1047E0002000FFF757FF2000FFF730FF05002000F3 +:1047F000FFF72CFFA842F6D170BDC046555500000A +:10480000AA2A000030B50722012409490868450D8D +:1048100043086B404340C50FDBB26B40013A234075 +:104820004000D2B21843002AF1D10860C0B230BDB6 +:104830009C0400200023800080B2C046C0460133A3 +:104840009BB29842F9D17047002203000002002B6E +:1048500004D1002A01D0803318437047D243591E37 +:10486000D2B20B40F3E7FFFFF0B50500194C1F294A +:104870002AD88020666901430902F6B2314361619A +:1048800090210420FF26C905886261693602314003 +:1048900011436161C046C04600200132C0460E4946 +:1048A0000969090A295461698C4667468118C9B2A9 +:1048B000374001303943C0B261619842EED990234C +:1048C0000422DB059A61F0BD60690902C0B20143B0 +:1048D000D5E7C0460008004800040048F0B51A4C6F +:1048E000050060690E02C0B230436061902049B299 +:1048F000C005002901DA012181628021FF26C9005B +:10490000816161693602314011436161C046002016 +:104910000132C046C0460D490969090A2954616936 +:104920008C4667468118C9B2374001303943C0B25E +:1049300061619842EDD990238022DB05D2009A6212 +:1049400001229A61F0BDC0460008004800040048FA +:10495000F0B51A4C050005A8067860690902C0B2D6 +:104960000843902160610420C9058862002A01D1B2 +:1049700001328A62FF210020626909020A401A435B +:1049800062610133C046C046C046C0460C4A126947 +:10499000120A2A54626994466746C218D2B20F407E +:1049A00001303A43C0B26261B042EBD99023042295 +:1049B000DB059A61033A9A61F0BDC04600080048E1 +:1049C00000040048F7B506000C004D7AC046C0460A +:1049D000C046C046C046C046C046C046C04600228B +:1049E000AA215648FFF7DCF8002255215448FFF76A +:1049F000D7F8002220215148FFF7D2F83302019363 +:104A0000EBB20093237AAB4215D28020009B0022A8 +:104A1000637290210002FFF7C3F80022802011008A +:104A20000002FFF7BDF880200022F0210002FFF70E +:104A3000B7F8C046F7BD434B434A196808200A43FC +:104A4000FF211A605A690A40A02109020A435A61EB +:104A500090220121D20590629162C046C046C046B4 +:104A6000C046FF27906191611A6838492F400A407B +:104A70001A60019B009A1F4363683800995C00220A +:104A8000FFF78EF8C046C046C046C046C046C04686 +:104A9000C046C046C046C04600213800FFF75CF85B +:104AA0000600C046C046C046C046C046C046C046D6 +:104AB000C046C0466368009A9B5C834217D0C046DC +:104AC000C046C046C046C046C046C046C046C046B6 +:104AD00000213800FFF740F8B0420BD1C046C04675 +:104AE000C046C046C046C046C046C046C046013566 +:104AF000ADB285E7C046C046C046C046C046C046C7 +:104B0000C046C046C046C046C046C046C046C04675 +:104B1000C046C046C046C046C046C046C046C04665 +:104B2000C046C046C046C046C046C046C046C04655 +:104B300000213800FFF710F80600C9E7AA8A000034 +:104B4000558500000004004800005555FFFFAAAA43 +:104B5000F7B500914C7A0502009BE6B21B7AA3429E +:104B600002D2009B5E72F7BD0022AA211B48E7B269 +:104B7000FFF716F82F43002255211948FFF710F8C8 +:104B8000002225213800FFF70BF800221F213800F2 +:104B9000FFF706F8330020330193009BA8195B68E8 +:104BA0000022995D80B2FEF7FBFF019B0136B34204 +:104BB000F3D1002229213800FEF7F2FF002128005E +:104BC000FEF7CAFF002106002800FEF7C5FFC04619 +:104BD0008642F3D12034A4B2BEE7C046AA8A0000C0 +:104BE00055850000F7B50D00042701924C7A0002AC +:104BF00003B2A6B200932B7AB34201D26C72F7BD16 +:104C000000986B682043195D80B2019B98476B68E0 +:104C10001A5D0A4B824205D01A683A431A60022292 +:104C20009A61E8E71A680134BA431A60DA68013613 +:104C30003A43DA60E4B2B6B2DDE7C04600040048A9 +:104C4000F7B50D001600FF2703024C7A01932A7A6C +:104C5000E3B2A24201D26B72F7BD20006A6838400D +:104C6000D15C019B01341843B047A4B2EFE7FFFFCA +:104C7000F7B501230225274F00903A780191934020 +:104C800005430421C020244E2D0432689BB22943E1 +:104C9000800100F04DFF0400012838D109231D4395 +:104CA0003B78C0209C402900A3B23268400000F04D +:104CB0003FFF040001282AD13B7829009C400020B6 +:104CC000A3B2326800F034FF040001281FD1019B19 +:104CD000180AFFF7B9FD3B7829009C403268A3B25F +:104CE00000F026FF0400012811D16B461879FFF768 +:104CF000ABFD22003B789A4093B2009A14430922FC +:104D0000E1B209041143326800F012FF0400A0B2BE +:104D1000FEBDC046100700200C070020F7B5012398 +:104D20000225294F01923A780091934005430421CE +:104D3000A020264E2D0432689BB22943C00100F00A +:104D4000F7FE040001283DD109231D433B78C02014 +:104D50009C402900A3B23268400000F0E9FE040044 +:104D600001282FD13B7829009C400020A3B2326853 +:104D700000F0DEFE0400012824D1009B180AFFF792 +:104D800063FD3B7829009C403268A3B200F0D0FE5E +:104D90000400012816D16B461878FFF755FD220054 +:104DA0003B7829009A4093B2326800F0C1FE019826 +:104DB000FFF74AFD3B7829009C403268A3B200F01F +:104DC000B7FE0400E0B2FEBD100700200C07002073 +:104DD00070B506000D0005243000013CFFF746F8D1 +:104DE000E4B229003000FEF70BFF6D08002CF3D170 +:104DF00070BDFFFF70B50400C0200D00000205214A +:104E0000FFF7E6FFAA210D48FEF7FAFE55210C48F0 +:104E1000FEF7F6FEA0210948FEF7F2FE2900200069 +:104E2000FEF7EEFE2000FFF721F80500C046200047 +:104E3000FFF71CF8A842F5D170BDC04655550000DB +:104E4000AAAA000070B50400A0200D0000020221F3 +:104E5000FFF7BEFFAA211048FFF7C8F955210F48F8 +:104E6000FFF7C4F9A0210C48FFF7C0F9A0200C4BB4 +:104E700000021978FFF7ACFF29002000FFF7B6F910 +:104E80002000FFF797F90500C0462000FFF792F9D0 +:104E9000A842F5D170BDC04655150000AA0A000011 +:104EA0008C0400200023F0B589B00293AD4AAE4BCC +:104EB0001360AE4B136002235360A0231B01936069 +:104EC000A84BDB68002BFBD1A64BA94A1A609022A5 +:104ED000A84B120319680A431A60802292021968CB +:104EE0001142FCD0012259680A435A608022596855 +:104EF00052020A435A608022596852030A435A6098 +:104F00008022196852040A431A60802292041968A8 +:104F10001142FCD01121984A984C11600322596823 +:104F20009143013A0A435A608022196B0A431A637B +:104F30008022D96912040A43DA61914BE381BC23D0 +:104F40001B6898478F4B9BB263828F4B9BB2238227 +:104F500062B6FEF7BFFBF0228C4B1A70814B844A7D +:104F60008B4E1A603278202311009943D22901D048 +:104F700000F0CAFD87498848C9780224C378FF2910 +:104F800003D1FF3B591E8B41DCB2844BDB78FF2BF6 +:104F900000D00324824BDB78FF2B00D00424814B0C +:104FA000814F1C703860D22A74D0F22A00D0B4E14C +:104FB000F02333700023C3707B4D2C68E378982B6B +:104FC00000D0AFE1774B20001978FEF733FB0023C8 +:104FD0002860C370E07A2588F0331038E370EEB2B1 +:104FE000052801D900F07DFDFBF7D6FBB102F503E2 +:104FF000E504ED04890373052100FEF71BFB012383 +:105000000135EDB2A542F7D3002B00D038608022E5 +:105010003B68DA70D0233370634D2868C378802BE7 +:1050200000D07FE15F4B1978FEF704FB0023286076 +:105030004372D03306880400C370C07AF5B21038CA +:10504000232801D900F04DFDFBF7A6FBDB01FE0193 +:105050003F0243024B054B054B054B054B054B05EA +:105060004B054B054B054B054B054B0527007D00BC +:10507000FA00FF0002010C011301510177017F01C9 +:105080004B054B054B054B054B054B05BA01B400D1 +:105090003400860100230125B4E7E17B0F2900D904 +:1050A00052E209013143237AA278C9B26068FFF75E +:1050B00015FC54E0E37B0F2B00D945E262683B48C6 +:1050C0000392A2781B019446227A334304924269E8 +:1050D000D9B2D2B209020A4342611B0603D590231A +:1050E0000122DB059A62FF27624643693F023B408B +:1050F00013434361C046902180250023C905ED007C +:105100008D61C046C046C046C046C046C046C04687 +:10511000C046C046C046264A039E1269120AF2548F +:1051200062468D62466901329A18D2B23E403243DD +:1051300042610133049ADBB29A42E1D201228D62CC +:105140008A616372E1E03C23E17B0A009A4300D06C +:10515000FAE1237AA27860682943FFF785FB607241 +:10516000D3E0C04600300040CCCC000055550000D4 +:10517000AAAA000000100240002002400060004087 +:105180003CA5FFFF4118000889180008E60400202C +:10519000A40400204C0400203804002060040020F7 +:1051A00074040020A204002090040020000800489D +:1051B00000040048E17B3C230A009A43131E00D000 +:1051C000C2E1626829430392A2789446227A04924B +:1051D000D54A1F292FD88020556908430002EDB217 +:1051E0002843FF275061604651693F02394001431F +:1051F00090200425C005516185628561C046C04686 +:10520000C0468562C046C046C046C849039E09697B +:10521000090AF15461465669013159183E40C9B234 +:10522000314351618561C046C04601330499DBB208 +:105230009942E6D285E750690902C0B20843D0E737 +:10524000237AA278E17B294330E73F23E17B7CE7A7 +:10525000227AE17BA3780092002229436068FFF75D +:1052600077FB7CE7E17B227AA37829430092012235 +:10527000F4E7227AE37BA0780392AB4A2B4351698F +:105280001D02C9B22943676851619021042560332A +:10529000C905DBB28D621F2B01D801238B62FF266B +:1052A00053693602334003435361C0469F4900238C +:1052B0008C460130C046C046C046C046C046C046C7 +:1052C000C04661460969090AF95455691918C9B2F5 +:1052D00035402943516101330399DBB29942E9D248 +:1052E00090220421D20591610121916129E7257A5B +:1052F00066686D086F00B31CFF18FEF7C5F93080B3 +:105300000236B742F9D101356572894B1B6819889D +:105310009A7A52181A80D822DA70864B1B78F02BB2 +:1053200000D149E6844B1B78F02B00D116E6832B85 +:1053300000D013E6FEF7C2FB10E6E17B237AA278E9 +:1053400029436068FFF7F0F909E7E17B237A2943F5 +:105350000131A278FF31F4E7237AA078724A0393EF +:10536000E37B51692B43C9B21B020B43676853614E +:1053700090230121FF26DB0599620331996253696D +:1053800036026A493340034353618C46002301309F +:10539000C046C046C046C046C046C046C046C046DD +:1053A00061460969090AF95455691918C9B23540A5 +:1053B0002943516101330399DBB29942E8D28FE767 +:1053C000A3786668277A002B02D12802FEF7CEFC6C +:1053D000554A9020002304259446C0058562C046A6 +:1053E000C046C046C0466246116985618AB2120A4B +:1053F000F2545A1C0233D2B2DBB2B1549F42EDD206 +:105400009FE6E37B1E2B0BD1C020B1092233C9B22A +:1054100000029D43FEF7F4FB8021237AA27812E775 +:105420001C2B00D071E7A0208121C001FEF7E8FB12 +:105430008020F109C9B20002FEF7E2FBA0200021A2 +:10544000C001FEF7DDFB60E7E37BFE2B00D05CE7ED +:1054500071093A48C9B2FEF7C9FE237AA0780393CE +:105460001F23314A2B4051691B02C9B20B436768A5 +:10547000802153619023C900DB0599610121FF263A +:105480009962033199625369360233400343536191 +:10549000C046264900238C460130C0466146096952 +:1054A000090AF95455691918C9B23540294351619F +:1054B00001330399DBB29942EFD290220421D20545 +:1054C00091618021C90091620EE76021237AA27860 +:1054D000B9E6E37B002B20D18033F6091D43F3B2FC +:1054E0000293FF20029B11499B004A690340144824 +:1054F000024013434B61C0209021029BC905C000AC +:10550000DB004A6903400F48024013434B61227A93 +:10551000A378290000920022A0E6012BE1D17604B5 +:10552000760E3F333343DBE70008004800040048B1 +:1055300090040020A4040020E6040020FF3F0000A7 +:1055400003FF0000FFF90000C423E370EAE6E37BF9 +:10555000002B06D1300080382100DB4AC0B2FFF7B3 +:1055600041FBE37B012B06D1300080382100D74A74 +:10557000C0B2FFF765FBE37B022B06D13000803819 +:105580002100D34AC0B2FFF75BFBE37B042B06D1BB +:10559000300080382100CF4AC0B2FFF723FBE37B05 +:1055A000FC2B06D1300080382100CB4AC0B2FFF777 +:1055B00019FBE37B0A2B06D1300080382100C74A53 +:1055C000C0B2FFF70FFBE37BFD2B15D1BE3B334091 +:1055D00080261E4323889B0904936B461B7C0693FD +:1055E000677ABBB2039333021BB20793237A039A01 +:1055F000934200D38AE06772E37B1E2B06D1300012 +:1056000080382100B64AC0B2FFF7ECFAE37B0C2BDE +:1056100017D1C0201333334080262588A5216D097A +:10562000EDB2C0011E43FEF7EBFA2900AD48FEF7CC +:10563000E7FA677A35023D43237ABB4200D3ADE0F7 +:105640006772E37B1C2B21D1AA21A748FEF752FDEC +:105650005521A648FEF74EFD2021A348FEF74AFD3E +:1056600030008038A24A2100C0B2FFF7BBFA802088 +:1056700090210002FEF73EFD802000210002FEF78F +:1056800039FD8020F0210002FEF734FDE37B1F2B63 +:1056900021D1AA219748FEF72DFD55219648FEF706 +:1056A00029FD20219348FEF725FD30007038934AEC +:1056B0002100C0B2FFF796FA902090210002FEF779 +:1056C00019FD902000210002FEF714FD9020F0212A +:1056D0000002FEF70FFDE37B6F2B06D13000803810 +:1056E0002100874AC0B2FFF77DFAE37BEF2B06D19A +:1056F000300080382100834AC0B2FFF773FAF423E8 +:105700002288E370A37A9B1823800BE600217E4851 +:10571000FEF776FAAA217D48FEF784FB55217C48E6 +:10572000FEF780FBA0217948FEF77CFB6B46187CD6 +:10573000784B0699C01880B2FEF762FA079D63683D +:105740003D43ADB22800D95DFEF76CFBC046280092 +:10575000FEF78CFB05902800FEF788FB059B834233 +:10576000F4D163680599DA5D6B4B8A420FD1039AD5 +:105770001968013292B20392042291431960D968E8 +:1057800001370A43DA600222FFB29A622EE704224E +:1057900019680A431A6002229A6127E7AA215F4822 +:1057A000FEF72EFA55215E48FEF72AFAA0215B4843 +:1057B000FEF726FA63682800D95DFEF721FAC04695 +:1057C0002800FEF753FB03902800FEF74FFB039BD6 +:1057D0008342F4D130E7E37B002B04D12100300079 +:1057E000504AFFF72DFAE37B012B04D12100300052 +:1057F0004D4AFFF725FAE37B032B04D1210030004B +:105800004A4AFFF71DFAE37B042B04D12100300044 +:10581000474AFFF715FAE37B0A2B04D12100300039 +:10582000444AFFF70DFAE37B0B2B04D12100300033 +:10583000414AFFF705FAE37BF72B04D12100300042 +:105840003E4AFFF7FDF9E37BED2B04D12100300048 +:105850003B4AFFF7F5F9E37BEF2B04D12100300041 +:10586000384AFFF7EDF9E37B2188FE2B00D046E7AD +:1058700049093548C9B2FEF7B9FC657AAA21ABB22D +:1058800032480393FEF7BAFE55213148FEF7B6FEC3 +:1058900020212E48FEF7B2FE1F23334004261B02B0 +:1058A0000593237A039A934254D290210020657283 +:1058B000FEF7A4FE00210800FEF7A0FEF021002064 +:1058C000FEF79CFE1BE7C046A53E0008F54D00080C +:1058D000E93E00084D3F0008553B00089D3F000889 +:1058E000F13F0008FFFF0000AA8A00005585000074 +:1058F00055410008AA9A0000559500008B41000808 +:1059000065400008B140000869FD000055550000E1 +:10591000AA2A000069FDFFFF0004004855D50000D9 +:10592000AAAA00003D420008454E00088142000836 +:10593000FD42000841430008B54300084144000807 +:10594000C144000841450008FF3F0000AA0A0000CA +:1059500055050000059FA0212F433800FEF74EFE9D +:1059600063683800595DFEF749FEC0463800FEF70F +:1059700029FE04903800FEF725FE049B8342F4D1F3 +:10598000636804995A5D634B8A420ED1039A0135CC +:10599000013292B203921A68EDB2B2431A60DA6829 +:1059A0003243DA6002229A627BE71A6832431A6055 +:1059B00002229A6175E7300060302100564AC0B279 +:1059C000FFF73EF99BE6E37B042B06D130008038DD +:1059D0002100524AC0B2FFF733F9E37B052B04D113 +:1059E000210030004D4AFFF72BF9E37B062B06D14F +:1059F0003000803821004A4AC0B2FFF721F9E37B2A +:105A0000072B04D121003000454AFFF719F9E37B49 +:105A10000A2B06D1300080382100424AC0B2FFF77D +:105A2000E1F8E37B0B2B04D1210030003D4AFFF766 +:105A3000D9F8E37B082B05D1300080382100C0B2B3 +:105A4000FFF786F8E37B092B03D121003000FFF735 +:105A50007FF8E37B002B1CD1FF2580331E43238876 +:105A60002C48DB09DBB29A0041692A402E4DDB004D +:105A700029400A4342619022C020D205C0005169EA +:105A800003402A4801400B43300021005361FEF7D8 +:105A900099FFE37B2088012B00D030E64004400EC4 +:105AA0003F330343FF201B4A9B00516903401E48BC +:105AB00001400B4390215361C9054A691B4B3000DB +:105AC0001A4080239B0013434B612100FEF77AFFAD +:105AD00015E62D02667AADB2237AF0B2B34202D255 +:105AE0006072C32331E563680236195C0130C0B2CD +:105AF0001B5C0902C9184008284389B20135FEF72A +:105B00005FFEADB2B6B2E7E7D02A01D0FFF705FCE1 +:105B1000FFF782FA00040048013C00087D3C0008C1 +:105B2000CD3C00081D3D000803FF0000FFF9000008 +:105B3000F0B5474680B4061C081C000C102801D59F +:105B4000162700E004270007000F8046FF200140D1 +:105B50005468251C1D439C43F60313850AD5C04693 +:105B6000C046C046C046C046C046C0469480138367 +:105B7000958002E0012000F081F801390AD4381C38 +:105B800000F07CF8C046948013839580C046C046E0 +:105B90007600E2E7381C013800F070F89480138337 +:105BA0009580042000F06AF8108A184001D0FF2088 +:105BB00061E0C046C046C046C046C046C04694806C +:105BC0009580108A184055D001200226B04552D049 +:105BD0000921168A1E40FCD1012000F04FF8948064 +:105BE000C0469580C04603E0C046C046C046C04699 +:105BF000948095807600108A1840EFF30080400072 +:105C0000C00F0643381C023800F038F894809580A5 +:105C1000022000F033F80139EAD513859480012081 +:105C200000F02CF813839580301C802102239940CA +:105C30000E401BD1002341085E4149085E414908DE +:105C40005E4149085E4149085E4149085E41490894 +:105C50005E4149085E4149085E41760808D3400824 +:105C6000FF21084048400002013004E00E2002E01D +:105C7000092000E0002080BCB846F0BD0138FDD10D +:105C80007047C04603685A0004D5802212061343A9 +:105C9000C01870475B005B08FAE7F0B585B01500E7 +:105CA0000E1E029026D000274B1E01930093009BEE +:105CB000FB18DC0FE4186410E3000393029BE2007E +:105CC0009E183000FFF7DEFF019BA34215D0A842CB +:105CD00004D9A7420DD0631E0093E8E70398029B06 +:105CE00008301818FFF7CEFF0138A84202D2671C0F +:105CF000DDE70026300005B0F0BDA842E9D8F9E79D +:105D000003000548012B06D00448022B03D00020D5 +:105D1000834200D1024870470F63000819630008EE +:105D2000056300081F4B37B505008C1E002B09D0FA +:105D3000200001A900E000BF002808D100230920AD +:105D40002B613EBD184B19481B1ADB100193220032 +:105D50000199FFF7A2FF041EF0D0FFF793FF6268DE +:105D6000A864012A1BD00123201D002A02DBFFF7B3 +:105D700089FF00232B650368E864002B0ADA180109 +:105D8000000FFFF7BDFF03005A425A41092052425B +:105D90001040D5E7FFF776FF03000020D0E700238F +:105DA0000520CDE700000000F46B00085C6B0008E4 +:105DB000036810B50400DA0704D448309B0719D5EE +:105DC00000F0D8FB23685B0703D42000D03000F03C +:105DD000D5FB23681B0704D420005130FF3000F0AE +:105DE000D1FB2368DB0604D42000D130FF3000F063 +:105DF000CDFB10BD00F0BAFBE4E70300006800280B +:105E000000D0C0187047704770B505000C0028001E +:105E1000216CFFF787FF061E01D000F08BFD236C7D +:105E200022006B61290001202B6998470828EED0D9 +:105E30000728F2D13000216CFFF7E5FF201D00F0AC +:105E40007FFBFFFFF0B52B4CC368A5440493836927 +:105E5000050014000431402207A8059300F072FDEC +:105E6000002306AE069302932800316CFFF75AFF19 +:105E7000093407000390E4B200282FD1F022336CDC +:105E800031006B6152007EA800F05CFD2B69290097 +:105E900020007EAA98478C9B02907364059B21008A +:105EA00001932A002B000120049C0096A0470028A3 +:105EB00018D1002F18D1F022300052007EA900F036 +:105EC00041FD029B3C00082BCED0072B0AD13800A5 +:105ED000316CFFF798FF07A800F032FB10231C433A +:105EE000B36BDAE7092303930398F7239B009D44E0 +:105EF000F0BDC04624FCFFFF70B5CB6BF8B00B645F +:105F000004000D004022043101A800F01BFD012314 +:105F10005B42009320001099FFF704FF00280FD187 +:105F20006A4621002369984706000828F2D068468F +:105F3000FFF73EFF062E03D129002000FFF764FF84 +:105F4000092078B070BD10B58261DA6BC1601A6447 +:105F500019000022FFF776FF10BD70B54369C668CF +:105F600005000C000B64002E04D00122FFF76AFF2D +:105F700000F0E0FC0A0003690100022098470728AE +:105F800005D00828F4D121002800FFF73DFF30009C +:105F9000216CFFF738FF201D00F0D2FAC36810B55E +:105FA000002B02D1FFF7A8FF10BDCB6B00220B64C2 +:105FB000FFF748FFF8E710B504000800012907D0F3 +:105FC00007D901230338C0B2834280414042C01840 +:105FD00010BD0220002BFBD10F2AF9D88240A41853 +:105FE0006168029A18001160F2E71FB503AB0093D5 +:105FF00000230A001900FFF7DEFF039805B000BD7B +:1060000010B504000800012907D007D9012303387F +:10601000C0B2834280414042C01810BD0220002B14 +:10602000FBD10F2AF9D882400299A41809681800F8 +:106030006160F2E71FB503AB0093002303920A00EF +:106040001900FFF7DDFF05B000BDFFFF70B5184C6C +:10605000D36BA544136404000D0017A8111D402242 +:1060600000F070FC01235B42169368462699FFF707 +:1060700059FE002813D10C2116A86A46FFF7DAFF53 +:10608000290016A8A047002809D16946049B16AA32 +:10609000083098470600052802D00928E5D10926CE +:1060A00016A8FFF785FE30008E239B009D4470BD2F +:1060B000C8FDFFFFF0B50C008BB004930321030073 +:1060C000E76C0B400193049D08CF160007AA5760A8 +:1060D000002D2DD11B0207935572019B07AA117247 +:1060E000022B00D1A76B01220121236D1A400B4224 +:1060F00000D001E108231840059003923B6800930B +:10610000002B1ED1300007A900F0D5FA002850D18D +:10611000039B0820002B00D17EE00F213000FFF709 +:1061200064FF0E2102003000FFF784FF744A49E04B +:10613000190C5172C9B289001B047F180793022100 +:10614000CBE7049B022B36D13D007B6808350293D8 +:106150000122029FA36C97430F213000FF18FFF725 +:1061600044FF0022874206D8009B01329343DB198B +:10617000984280414242029B01215F0002231F405E +:10618000009B0B403B438B421ED0022B64D0002B64 +:106190000FD1019B2F1D002BB0D0002AAED02800BC +:1061A000FFF770FDA7630500200000E000BF002896 +:1061B00007D1092030E03B883D1D00937B88029386 +:1061C000C6E72A000F213FE00199002928D1002AC3 +:1061D0003FD02F686A68FF0F911CEAD02100583128 +:1061E000069101321AD0281DFFF707FE3A00010080 +:1061F00006AB200000E000BF071E2AD00D213000B2 +:10620000FFF7F3FE069B2062022F02D1E362230018 +:106210002C3306206362A5620BB0F0BD1F00EDE7D2 +:106220000D213000276AFFF7E0FE874211D1A36AF3 +:106230009D420ED12800FFF725FD0F2102003000FE +:10624000FFF7F8FE220000213000FFF7F3FE0720E1 +:10625000E2E708352F0051E72B685B005B080093ED +:10626000019B002B2BD1002A20D0059B002B09D0AD +:10627000009B002B1AD10D213000FFF7B6FE069BC4 +:106280002062C6E7059F009B9F42F4D023000137A0 +:10629000B800583328180693FFF7AFFD002201001D +:1062A00006AB200000E000BF0028ECD02B68002BDC +:1062B00000DA0435009F0137BF00EF191EE70D21FA +:1062C0003000276AFFF791FE8742EFD1A36A9D4213 +:1062D000ECD1009B0027A36204232363EB18E76241 +:1062E00063632B68BB4204DA0098013080002818F1 +:1062F000A1E701230393D9E70023039302E7C046F4 +:106300000000000010B50023FFF7D4FE10BD10B54B +:106310000123FFF7CFFE10BD10B50223FFF7CAFE21 +:1063200010BDF0B50500140008001E00C5B004291A +:1063300057D8FAF703F9031B56A9D000002B50D108 +:1063400093B232000193AB6B281D0127974001994E +:10635000394202D002CB9700C1510132102AF4D148 +:10636000A40400D4AB63300045B0F0BD130C01931E +:1063700094B2042332009A43012A32D1019B1F199F +:10638000012E00D0CDE0102F2BD8019B0F2B28D849 +:10639000002701222B68134209D028004830052E1F +:1063A00021D19343921813432B6000F0E5F8002F9E +:1063B00009D004222B68134205D0280093432B6098 +:1063C000D03000F0DDF8012E13D122A800F0D0F873 +:1063D000002F19D100271AE0102FD9D9103F052E10 +:1063E000D7D00226BFE7032293432B6000F0C0F80A +:1063F000DDE7019B0F2B02D822A800F0BDF8002F8B +:10640000E8D002A800F0BCF81024019BE41AAB6BA2 +:106410001A00002C0BDD019AE400D1001A199446F1 +:106420001A00C91A22A8411862451DD11A19002F55 +:106430000FD0019B102B00D21023103BD90002ABD0 +:10644000C9180023F800D458CC5004339842FAD12C +:106450001218012E00D10432AA63012E08D122A8FD +:1064600000F084F800267EE7106888500432DBE7ED +:10647000019B0F2B02D822A800F07CF8002FF1D04E +:1064800002A800F07BF8EDE7032BAAD1160C94B21A +:106490003319102BA5D808222B68134206D02800E8 +:1064A000934351302B60FF3000F06EF822A800F0CB +:1064B0006BF8AB6BF600E400F61A22AA1C199619C9 +:1064C0009C4204D1AC6322A800F05CF8CAE71A68C9 +:1064D000F2500433F4E7002B83D1102A81D8102224 +:1064E0002B68134206D028009343D1302B60FF3035 +:1064F00000F04EF822AF380000F04AF80022AB6BF3 +:1065000001209040044204D001CB844661469000B3 +:1065100039500132042AF3D13800AB6300F036F869 +:1065200021E7202F00D95CE7019B0F2B00D853E710 +:10653000271E00D14EE7052E00D052E739E7FFFFB6 +:106540000100343138C9043B9C461D60A646010059 +:1065500020313CC990469946A246AB46010008311D +:10656000FCC941680068E54600BDC0467047C046AA +:106570007047C0467047C0467047C0467047C04627 +:106580007047C0467047C0467047C0467047C04617 +:106590007047C04601B401A801B585B0FFB408A892 +:1065A00041464A4653465C4665463EC001A83EC841 +:1065B0000F98009000230CB401A9FFF79DFC109BDD +:1065C00012B0184701B401A801B585B0FFB408A8FE +:1065D00041464A4653465C4665463EC001A83EC811 +:1065E0000F98009000230CB401A9FFF7B6FC109B94 +:1065F00012B0184701B401A801B585B0FFB408A8CE +:1066000041464A4653465C4665463EC001A83EC8E0 +:106610000F98009000230CB401A9FFF7BFFC109B5A +:1066200012B0184701B401A801B585B0FFB408A89D +:1066300041464A4653465C4665463EC001A83EC8B0 +:106640000F98009000230CB401ABFFF77CFC109B6B +:1066500012B0184701B401A801B585B0FFB408A86D +:1066600041464A4653465C4665463EC001A83EC880 +:106670000F98009000230CB401AAFFF7E7FC109BD1 +:1066800012B01847027A0300002A11D1427AB020D2 +:10669000002A0CD0013A5A725A68111D12685960CA +:1066A0001A6003221A721A68100E12021A607047DA +:1066B000013AD2B2F6E7F0B5002305000E0087B02C +:1066C00002933000FFF7DEFF0400B02815D100244C +:1066D000029BA3420ED105AE23000E22210028000A +:1066E0000096FFF768FC23000F2221002800009687 +:1066F000FFF786FC200007B0F0BD03061CD4FF2284 +:106700008300134004330393002305AF1900F23ACA +:1067100028000097FFF74FFC059A039B9B1864061F +:1067200001D5039BD31A0593009700230D2219006E +:106730002800FFF765FCC4E703000F229343DBB298 +:10674000802B18D104023000FFF79CFF80272043E4 +:106750003F02B84201D10924CCE70023040100051F +:10676000020C19002800FFF7DCFD0028F3D13C42A1 +:10677000A7D00123A4E7902B0FD10D2703003B40A6 +:10678000BB42E8D000230F2205AC024019002800CC +:106790000094FFF710FC0094C7E7A02B0FD1FF2354 +:1067A00007221B011900824311410A001A402407E5 +:1067B00002D58023DB011A43002319000FE0B02B20 +:1067C00059D1B12812D13000FFF75CFF021EC2D0B0 +:1067D00001000F239943C9B20029BCD10B00280046 +:1067E000FFF79FFD002800D16BE7B4E7B22826D160 +:1067F000002305AC0D22190028000094FFF7DBFBF5 +:106800003000FFF73FFF02277F230340BB4080217A +:106810009C468023059A0140184208D18533FF33F6 +:10682000D218624405920B000D22009480E71300F9 +:106830003000634405930737FFF724FFE4E7B328EC +:106840000CD13000FFF71EFFF022030312031340A8 +:106850000F22024001321A430123AEE7FC2303401A +:10686000B42B00D177E7072380221C4001341203A8 +:106870002243063BA1E7C02B4ED1C6280CD13000E5 +:10688000FFF700FFF0220303120313400F22024020 +:1068900001321A43032390E7C7280ED13000FFF7D7 +:1068A000F1FE021E00D156E703000F218B43DBB23D +:1068B000002B00D04FE70B3991E7030007229343E9 +:1068C000DBB2C02B07D1A022B13B1C400134120324 +:1068D00022430C3B71E7C8280ED13000FFF7D2FEEF +:1068E0000F2302009A43D2B2184010321203013033 +:1068F00002430A3B012172E7C92800D02BE7300090 +:10690000FFF7C0FEF0220303120313400F220240E0 +:1069100001321A430523EDE7030007229343DBB25C +:10692000D02B00D017E714408022013412032243F9 +:10693000CB3BDFE7062010B500F0AAF8012000F0FD +:10694000FFF8C046F0B5C64600B50F2A41D9032767 +:106950000D003E0005430C0003002E402F423DD1A8 +:106960001500103D2D09A8462D01AC46844427682A +:106970001D001F6067685F60A7689F60E76810344C +:10698000DF6010336545F2D145460F230C240135F5 +:106990002D01491913404519144222D08C59AC518C +:1069A00004369C1B032CF9D8043B9B0801339B0045 +:1069B000ED18C91803231A40561E002A06D00023DA +:1069C000CC5C1A00EC5401339642F9D180BCB84635 +:1069D000F0BD0500561E002AF1D1F7E70500561E4E +:1069E000EDE71A00F6E7C046F0B50500830749D089 +:1069F000541E002A45D003000326CAB202E0013526 +:106A0000013C3ED301332A703342F8D1032C30D9F4 +:106A1000FF220A40150215432A0415430F2C34D9CE +:106A20002700103F3F093E01B4461E001A001036F1 +:106A30006644156055609560D5601032B242F8D159 +:106A400001373F01DB190F270C22274022403C0071 +:106A5000002A0ED03E1FB608B400A4461A001C1D22 +:106A6000644420C2A242FCD103240136B6009B1923 +:106A70003C40002C05D0C9B21C19197001339C424E +:106A8000FBD1F0BD03001400C0E72700E2E7C046D9 +:106A9000164B70B504001D681F2821D8B7239B0032 +:106AA000EB58002B0DD082009B181A68002A08D0E2 +:106AB000012A13D0511C0DD00021196090470020ED +:106AC00070BD280000F028F822000100280000F026 +:106AD0000FF8F5E7162301202B60F1E70020EFE720 +:106AE000162301202B604042EAE7C0460000002048 +:106AF000002370B5074D0400080011002B6000F062 +:106B000017F8431C00D070BD2B68002BFBD023600E +:106B1000F9E7C0463407002010B500F001F810BDB9 +:106B200058220120014B40421A6070473407002070 +:106B300058220120014B40421A6070473407002060 +:106B4000FEE7C046F8B5C046F8B5C0463804002098 +:0C6B50004C0400206004002074040020AD +:106B5C00D4EFFF7FB0B0B08020F1FF7F01000000C8 +:106B6C00B8F1FF7FA907B1803CF2FF7FB0B0A880DD +:106B7C007EF2FF7F0100000084F2FF7FB0B0AA809C +:106B8C00B8F2FF7FAB76B28064F3FF7FAA3F378009 +:106B9C00AAF3FF7FB0B0A880B6F3FF7FB0B0AA8095 +:106BAC00F0F3FF7FB0B0A88002F4FF7F010000007B +:106BBC0090F4FF7FAA0DB280F0F4FF7FB0AB0A8097 +:106BCC0038F7FF7FB0B0A8804EF7FF7FAB3F048053 +:106BDC0062F9FF7F01000000D2FAFF7FB0AB0680A4 +:086BEC0048FDFF7F01000000DD +:106BF400080000200000000000000000F402002053 +:106C04005C030020C403002000000000000000001A +:106C14000000000000000000000000000000000070 +:106C24000000000000000000000000000000000060 +:106C34000000000000000000000000000000000050 +:106C44000000000000000000000000000000000040 +:106C54000000000000000000000000000000000030 +:106C64000000000000000000000000000000000020 +:106C74000000000000000000000000000000000010 +:106C84000000000000000000000000000000000000 +:106C940000000000000000000000000000000000F0 +:106CA40001000000000000000E33CDAB34126DE68D +:106CB400ECDE05000B0000000000000000000000F6 +:106CC40000000000000000000000000000000000C0 +:106CD40000000000000000000000000000000000B0 +:106CE40000000000000000000000000000000000A0 +:106CF4000000000000000000000000000000000090 +:106D0400000000000000000000000000000000007F +:106D1400000000000000000000000000000000006F +:106D2400000000000000000000000000000000005F +:106D3400000000000000000000000000000000004F +:106D4400000000000000000000000000000000003F +:106D5400000000000000000000000000000000002F +:106D6400000000000000000000000000000000001F +:106D7400000000000000000000000000000000000F +:106D840000000000000000000000000000000000FF +:106D940000000000000000000000000000000000EF +:106DA40000000000000000000000000000000000DF +:106DB40000000000000000000000000000000000CF +:106DC40000000000000000000000000000000000BF +:106DD40000000000000000000000000000000000AF +:106DE400000000000000000000000000000000009F +:106DF400000000000000000000000000000000008F +:106E0400000000000000000000000000000000007E +:106E1400000000000000000000000000000000006E +:106E2400000000000000000000000000000000005E +:106E3400000000000000000000000000000000004E +:106E4400000000000000000000000000000000003E +:106E5400000000000000000000000000000000002E +:106E6400000000000000000000000000000000001E +:106E7400000000000000000000000000000000000E +:106E840000000000000000000000000000000000FE +:106E940000000000000000000000000000000000EE +:106EA40000000000000000000000000000000000DE +:106EB40000000000000000000000000000000000CE +:106EC40000000000000000000000000000000000BE +:106ED40000000000000000000000000000000000AE +:106EE400000000000000000000000000000000009E +:106EF400000000000000000000000000000000008E +:106F0400000000000000000000000000000000007D +:106F1400000000000000000000000000000000006D +:106F2400000000000000000000000000000000005D +:106F3400000000000000000000000000000000004D +:106F4400000000000000000000000000000000003D +:106F5400000000000000000000000000000000002D +:106F6400000000000000000000000000000000001D +:106F7400000000000000000000000000000000000D +:106F840000000000000000000000000000000000FD +:106F940000000000000000000000000000000000ED +:106FA40000000000000000000000000000000000DD +:106FB40000000000000000000000000000000000CD +:106FC40000000000000000000000000000000000BD +:106FD40000000000000000000000000000000000AD +:106FE400000000000000000000000000000000009D +:106FF400000000000000000000000000000000008D +:10700400000000000000000000000000000000007C +:10701400000000000000000000000000000000006C +:0400000508001805D2 +:00000001FF diff --git a/firmware/build_stm/inlretro_stm.map b/firmware/build_stm/inlretro_stm.map new file mode 100644 index 0000000..3b8bb70 --- /dev/null +++ b/firmware/build_stm/inlretro_stm.map @@ -0,0 +1,1482 @@ +Archive member included to satisfy reference by file (symbol) + +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + /tmp/ccMeFyjS.o (__aeabi_unwind_cpp_pr0) +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) (restore_core_regs) +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) (__gnu_unwind_execute) +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) (__gnu_thumb1_case_uqi) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) (abort) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (atexit) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (exit) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_fini_array) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) (_global_impure_ptr) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_init_array) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) (memcpy) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (memset) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) (raise) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) (_kill_r) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) (__register_exitproc) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) (__call_exitprocs) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) (__retarget_lock_acquire_recursive) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) (_malloc_r) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) (__malloc_lock) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) (errno) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) (_sbrk_r) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) (_free_r) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) (_getpid) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) (_kill) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) (_sbrk) +/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) (_exit) +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + /tmp/cctAqV2Q.ltrans0.ltrans.o (__gnu_thumb1_case_shi) +/usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + /tmp/cctAqV2Q.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + +Discarded input sections + + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .rodata.all_implied_fbits + 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .init_array 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .fini_array 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .eh_frame 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .data.__dso_handle + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .text.__do_global_dtors_aux + 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .text.frame_dummy + 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .bss.completed.1 + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .bss.object.0 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o + .text 0x0000000000000000 0x74 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.exidx 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.attributes + 0x0000000000000000 0x1b /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .text 0x0000000000000000 0x0 /tmp/cciA4rmJ.o + .data 0x0000000000000000 0x0 /tmp/cciA4rmJ.o + .bss 0x0000000000000000 0x0 /tmp/cciA4rmJ.o + .stack 0x0000000000000000 0xc00 /tmp/cciA4rmJ.o + .heap 0x0000000000000000 0x0 /tmp/cciA4rmJ.o + .ARM.attributes + 0x0000000000000000 0x1b /tmp/cciA4rmJ.o + .text 0x0000000000000000 0x0 /tmp/cctAqV2Q.ltrans0.ltrans.o + .data 0x0000000000000000 0x0 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss 0x0000000000000000 0x0 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_3v_buffer_wr + 0x0000000000000000 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .comment 0x0000000000000000 0x1f /tmp/ccKtthqI.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccvgE46D.debug.temp.o + .debug_info 0x0000000000000000 0xd4 /tmp/ccka4qVo.debug.temp.o + .debug_abbrev 0x0000000000000000 0x64 /tmp/ccka4qVo.debug.temp.o + .debug_line 0x0000000000000000 0x4c /tmp/ccka4qVo.debug.temp.o + .debug_str 0x0000000000000000 0x191 /tmp/ccka4qVo.debug.temp.o + .debug_line_str + 0x0000000000000000 0xb1 /tmp/ccka4qVo.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccka4qVo.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cccRYpdO.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccuxc2mg.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccI0TczY.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccl7mR5h.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cceMDVha.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccxciInI.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccLjNke9.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cc8Lzy1f.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cczm5Krg.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccQ2Pyhr.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccLZ2bKP.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccmM3ugG.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cc7qwnky.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cccvZvtq.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/cc91YbyN.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccqfI0IC.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccklyDqE.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccpgSVJd.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccjtJ7AP.debug.temp.o + .comment 0x0000000000000000 0x1f /tmp/ccX7Lhkn.debug.temp.o + .text 0x0000000000000000 0x4 /tmp/ccMeFyjS.o + .data 0x0000000000000000 0x0 /tmp/ccMeFyjS.o + .bss 0x0000000000000000 0x0 /tmp/ccMeFyjS.o + .ARM.extab 0x0000000000000000 0x0 /tmp/ccMeFyjS.o + .ARM.exidx 0x0000000000000000 0x8 /tmp/ccMeFyjS.o + .debug_line 0x0000000000000000 0x49 /tmp/ccMeFyjS.o + .debug_line_str + 0x0000000000000000 0x34 /tmp/ccMeFyjS.o + .debug_info 0x0000000000000000 0x24 /tmp/ccMeFyjS.o + .debug_abbrev 0x0000000000000000 0x14 /tmp/ccMeFyjS.o + .debug_aranges + 0x0000000000000000 0x20 /tmp/ccMeFyjS.o + .debug_str 0x0000000000000000 0x4b /tmp/ccMeFyjS.o + .ARM.attributes + 0x0000000000000000 0x1c /tmp/ccMeFyjS.o + .data 0x0000000000000000 0x0 /tmp/ccSTg88C.o + .bss 0x0000000000000000 0x0 /tmp/ccSTg88C.o + .ARM.extab 0x0000000000000000 0x0 /tmp/ccSTg88C.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.selfrel_offset31 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.search_EIT_table + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_unwind_get_pr_addr + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.get_eit_entry + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.restore_non_core_regs + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.__gnu_unwind_24bit.constprop.0 + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_unwind_24bit.constprop.0 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_unwind_24bit.constprop.0 + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_decode_typeinfo_ptr.constprop.0 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_DebugHook + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.unwind_phase2 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.unwind_phase2_forced + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_GetCFA + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_GetCFA + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_GetCFA + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_Unwind_RaiseException + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_Unwind_ForcedUnwind + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_Unwind_Resume + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_Unwind_Resume_or_Rethrow + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_Complete + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_Complete + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_Complete + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_DeleteException + 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_DeleteException + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_DeleteException + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_VRS_Get + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_GetGR + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_VRS_Set + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_SetGR + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_Unwind_Backtrace + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__gnu_unwind_pr_common + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__aeabi_unwind_cpp_pr0 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__aeabi_unwind_cpp_pr1 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text.__aeabi_unwind_cpp_pr2 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.extab.text._Unwind_VRS_Pop + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.next_unwind_byte + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text._Unwind_GetGR.constprop.0 + 0x0000000000000000 0x16 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text._Unwind_GetGR.constprop.0 + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text._Unwind_GetGR.constprop.0 + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text.unwind_UCB_from_context + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.unwind_UCB_from_context + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text.unwind_UCB_from_context + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.__gnu_unwind_execute + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text.__gnu_unwind_frame + 0x0000000000000000 0x26 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.__gnu_unwind_frame + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text.__gnu_unwind_frame + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text._Unwind_GetRegionStart + 0x0000000000000000 0xa /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text._Unwind_GetRegionStart + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text._Unwind_GetRegionStart + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text._Unwind_GetLanguageSpecificData + 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text._Unwind_GetLanguageSpecificData + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text._Unwind_GetLanguageSpecificData + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text.unlikely._Unwind_GetDataRelBase + 0x0000000000000000 0x6 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.unlikely._Unwind_GetDataRelBase + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text.unlikely._Unwind_GetDataRelBase + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text.unlikely._Unwind_GetTextRelBase + 0x0000000000000000 0x6 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.extab.text.unlikely._Unwind_GetTextRelBase + 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.exidx.text.unlikely._Unwind_GetTextRelBase + 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .text.atexit 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .text.exit 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-exit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .text.__libc_fini_array + 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-fini.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .text.__libc_init_array + 0x0000000000000000 0x44 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-init.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text._init_signal_r + 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text._signal_r + 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text._raise_r + 0x0000000000000000 0x5c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text.__sigtramp_r + 0x0000000000000000 0x60 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text.signal 0x0000000000000000 0x54 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text._init_signal + 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text.__sigtramp + 0x0000000000000000 0x68 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .text.__register_exitproc + 0x0000000000000000 0xb0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .text.startup.register_fini + 0x0000000000000000 0x18 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .init_array.00000 + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .text.__call_exitprocs + 0x0000000000000000 0xec /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .data.__atexit_recursive_mutex + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .debug_frame 0x0000000000000000 0x54 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-__call_atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_init + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_init_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_close + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_close_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_acquire + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_acquire_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_release + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text.__retarget_lock_release_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___arc4random_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___at_quick_exit_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___atexit_recursive_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___dd_hash_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___env_recursive_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___malloc_recursive_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___sfp_recursive_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___sinit_recursive_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .bss.__lock___tz_mutex + 0x0000000000000000 0x1 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .debug_frame 0x0000000000000000 0xb0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-lock.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .text._malloc_r + 0x0000000000000000 0x598 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .bss.__malloc_current_mallinfo + 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .bss.__malloc_max_sbrked_mem + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .bss.__malloc_max_total_mem + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .bss.__malloc_top_pad + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .data.__malloc_av_ + 0x0000000000000000 0x408 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .data.__malloc_sbrk_base + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .data.__malloc_trim_threshold + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mallocr.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .text.__malloc_lock + 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .text.__malloc_unlock + 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .debug_frame 0x0000000000000000 0x40 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-mlock.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .text.cleanup_glue + 0x0000000000000000 0x50 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .text._reclaim_reent + 0x0000000000000000 0xa0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .text._sbrk_r 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-sbrkr.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .text._malloc_trim_r + 0x0000000000000000 0x9c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .text._free_r 0x0000000000000000 0x1dc /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .debug_frame 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-freer.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .text._sbrk 0x0000000000000000 0x1c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .bss.heap_end.0 + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .debug_frame 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(sbrk.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .rodata.all_implied_fbits + 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .eh_frame 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + .init 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + .fini 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + .ARM.attributes + 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + +Memory Configuration + +Name Origin Length Attributes +FLASH 0x0000000008000000 0x0000000000008000 xr +RAM 0x0000000020000000 0x0000000000001800 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtbegin.o +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +LOAD /tmp/cciA4rmJ.o +LOAD source/bootload.o +LOAD /tmp/cctAqV2Q.ltrans0.ltrans.o +LOAD /tmp/ccKtthqI.debug.temp.o +LOAD /tmp/ccvgE46D.debug.temp.o +LOAD /tmp/ccka4qVo.debug.temp.o +LOAD /tmp/cccRYpdO.debug.temp.o +LOAD /tmp/ccuxc2mg.debug.temp.o +LOAD /tmp/ccI0TczY.debug.temp.o +LOAD /tmp/ccl7mR5h.debug.temp.o +LOAD /tmp/cceMDVha.debug.temp.o +LOAD /tmp/ccxciInI.debug.temp.o +LOAD /tmp/ccLjNke9.debug.temp.o +LOAD /tmp/cc8Lzy1f.debug.temp.o +LOAD /tmp/cczm5Krg.debug.temp.o +LOAD /tmp/ccQ2Pyhr.debug.temp.o +LOAD /tmp/ccLZ2bKP.debug.temp.o +LOAD /tmp/ccmM3ugG.debug.temp.o +LOAD /tmp/cc7qwnky.debug.temp.o +LOAD /tmp/cccvZvtq.debug.temp.o +LOAD /tmp/cc91YbyN.debug.temp.o +LOAD /tmp/ccqfI0IC.debug.temp.o +LOAD /tmp/ccklyDqE.debug.temp.o +LOAD /tmp/ccpgSVJd.debug.temp.o +LOAD /tmp/ccjtJ7AP.debug.temp.o +LOAD /tmp/ccX7Lhkn.debug.temp.o +LOAD source/buffer.o +LOAD source/ciccom.o +LOAD source/dump.o +LOAD source/flash.o +LOAD source/gameboy.o +LOAD source/gba.o +LOAD source/io.o +LOAD source/jtag.o +LOAD source/main.o +LOAD source/n64.o +LOAD source/nes.o +LOAD source/operation.o +LOAD source/pinport.o +LOAD source/sega.o +LOAD source/snes.o +LOAD source/stuff.o +LOAD source/swim.o +LOAD source/usb.o +LOAD source_stm_only/fwupdate.o +LOAD source_stm_only/hardfault.o +LOAD source_stm_only/stm_init.o +LOAD source_stm_only/usbstm.o +LOAD /tmp/ccMeFyjS.o +LOAD /tmp/ccSTg88C.o +START GROUP +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc.a +END GROUP +START GROUP +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc.a +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a +END GROUP +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtend.o +LOAD /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crtn.o + +.text 0x0000000008000000 0x6b5c + *(.isr_vector) + .isr_vector 0x0000000008000000 0xc0 /tmp/cciA4rmJ.o + 0x0000000008000000 __isr_vector + *(.usb_driver) + .usb_driver 0x00000000080000c0 0x3b4 /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x0000000008000198 USB_IRQHandler + *(.usb_desc) + .usb_desc 0x0000000008000474 0xb8 /tmp/cctAqV2Q.ltrans0.ltrans.o + *(.hardfault) + .hardfault 0x000000000800052c 0x2 /tmp/cciA4rmJ.o + 0x000000000800052c TIM1_CC_IRQHandler + 0x000000000800052c TSC_IRQHandler + 0x000000000800052c ADC1_COMP_IRQHandler + 0x000000000800052c SysTick_Handler + 0x000000000800052c PendSV_Handler + 0x000000000800052c NMI_Handler + 0x000000000800052c I2C1_IRQHandler + 0x000000000800052c RCC_CRS_IRQHandler + 0x000000000800052c SPI1_IRQHandler + 0x000000000800052c TIM6_DAC_IRQHandler + 0x000000000800052c USART3_4_IRQHandler + 0x000000000800052c EXTI2_3_IRQHandler + 0x000000000800052c I2C2_IRQHandler + 0x000000000800052c TIM17_IRQHandler + 0x000000000800052c CEC_CAN_IRQHandler + 0x000000000800052c PVD_VDDIO2_IRQHandler + 0x000000000800052c DMA1_Channel4_5_6_7_IRQHandler + 0x000000000800052c TIM16_IRQHandler + 0x000000000800052c TIM3_IRQHandler + 0x000000000800052c EXTI4_15_IRQHandler + 0x000000000800052c DMA1_Channel1_IRQHandler + 0x000000000800052c Default_Handler + 0x000000000800052c TIM14_IRQHandler + 0x000000000800052c TIM7_IRQHandler + 0x000000000800052c TIM15_IRQHandler + 0x000000000800052c EXTI0_1_IRQHandler + 0x000000000800052c SPI2_IRQHandler + 0x000000000800052c SVC_Handler + 0x000000000800052c RTC_IRQHand + 0x000000000800052c WWDG_IRQHandler + 0x000000000800052c TIM2_IRQHandler + 0x000000000800052c DEF_IRQHandler + 0x000000000800052c DMA1_Channel2_3_IRQHandler + 0x000000000800052c USART2_IRQHandler + 0x000000000800052c FLASH_IRQHandler + 0x000000000800052c USART1_IRQHandler + 0x000000000800052c TIM1_BRK_UP_TRG_COM_IRQHandler + *fill* 0x000000000800052e 0x2 ff + .hardfault 0x0000000008000530 0xc /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x0000000008000530 HardFault_Handler + *_thumb1_case_uqi.o() + .text 0x000000000800053c 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + 0x000000000800053c __gnu_thumb1_case_uqi + .debug_line 0x0000000008000550 0x52 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .debug_line_str + 0x00000000080005a2 0x46 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + 0x8c (size before relaxing) + .debug_info 0x00000000080005e8 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .debug_abbrev 0x000000000800060c 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .debug_aranges + 0x0000000008000620 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + .debug_str 0x0000000008000640 0x5a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + 0x66 (size before relaxing) + .ARM.attributes + 0x000000000800069a 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uqi.o) + *_thumb1_case_shi.o() + .text 0x00000000080006b8 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + 0x00000000080006b8 __gnu_thumb1_case_shi + .debug_line 0x00000000080006cc 0x53 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .debug_line_str + 0x000000000800071f 0x8c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .debug_info 0x000000000800071f 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .debug_abbrev 0x0000000008000743 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + *fill* 0x0000000008000757 0x1 ff + .debug_aranges + 0x0000000008000758 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .debug_str 0x0000000008000778 0x66 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + .ARM.attributes + 0x0000000008000778 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_shi.o) + *_thumb1_case_uhi.o() + *fill* 0x0000000008000796 0x2 ff + .text 0x0000000008000798 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + 0x0000000008000798 __gnu_thumb1_case_uhi + .debug_line 0x00000000080007ac 0x53 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .debug_line_str + 0x00000000080007ff 0x8c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .debug_info 0x00000000080007ff 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .debug_abbrev 0x0000000008000823 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + *fill* 0x0000000008000837 0x1 ff + .debug_aranges + 0x0000000008000838 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .debug_str 0x0000000008000858 0x66 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + .ARM.attributes + 0x0000000008000858 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(_thumb1_case_uhi.o) + *(.fw_update) + *fill* 0x0000000008000876 0x2 ff + .fw_update 0x0000000008000878 0x14c /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x0000000000001770 . = 0x1770 + *fill* 0x00000000080009c4 0xdac ff + *(.fw_up_main) + .fw_up_main 0x0000000008001770 0x70 /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x0000000000001800 . = 0x1800 + *fill* 0x00000000080017e0 0x20 ff + *(.appver) + 0x0000000000001804 . = 0x1804 + *fill* 0x0000000008001800 0x4 ff + *(.reset_handler) + .reset_handler + 0x0000000008001804 0x3c /tmp/cciA4rmJ.o + 0x0000000008001804 Reset_Handler + *(.usbFuncWrite) + .usbFuncWrite 0x0000000008001840 0x48 /tmp/cctAqV2Q.ltrans0.ltrans.o + *(.usbFuncSetup) + .usbFuncSetup 0x0000000008001888 0x1dac /tmp/cctAqV2Q.ltrans0.ltrans.o + *(.text*) + .text.get_next_buff + 0x0000000008003634 0x54 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.gba_rd 0x0000000008003688 0x4c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.io_reset + 0x00000000080036d4 0x170 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.jtag_init_pbje + 0x0000000008003844 0xdc /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.pbje_state_change + 0x0000000008003920 0x90 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.pbje_scan + 0x00000000080039b0 0x10c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.jtag_run_pbje.part.0 + 0x0000000008003abc 0x98 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc3s_prgrom_flash_wr + 0x0000000008003b54 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_rd 0x0000000008003b58 0x48 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_wr 0x0000000008003ba0 0x60 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_cpu_wr + 0x0000000008003c00 0x7c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_5v_flash_wr + 0x0000000008003c7c 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_3v_flash_wr + 0x0000000008003ccc 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_3v_verify_wr + 0x0000000008003d1c 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.n64_latch_addr + 0x0000000008003d6c 0x60 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.discrete_exp0_prgrom_wr + 0x0000000008003dcc 0x58 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.disc_push_exp0_prgrom_wr + 0x0000000008003e24 0x48 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_cpu_rd + 0x0000000008003e6c 0x38 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nrom_prgrom_flash_wr + 0x0000000008003ea4 0x44 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.unrom_prgrom_flash_wr + 0x0000000008003ee8 0x64 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc3_prgrom_flash_wr + 0x0000000008003f4c 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc4_prgrom_flash_wr + 0x0000000008003f9c 0x54 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.map30_prgrom_flash_wr + 0x0000000008003ff0 0x74 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.gtrom_prgrom_flash_wr + 0x0000000008004064 0x4c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.picto2022_prgrom_flash_wr + 0x00000000080040b0 0x44 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_m2_high_wr + 0x00000000080040f4 0x60 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.a53_tssop_prgrom_flash_wr + 0x0000000008004154 0x36 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.tssop_prgrom_flash_wr + 0x000000000800418a 0x2a /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_ppu_rd + 0x00000000080041b4 0x38 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_ppu_wr + 0x00000000080041ec 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nrom_chrrom_flash_wr + 0x000000000800423c 0x44 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.cnrom_chrrom_flash_wr + 0x0000000008004280 0x7c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc3_chrrom_flash_wr + 0x00000000080042fc 0x44 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc4_chrrom_flash_wr + 0x0000000008004340 0x74 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.cdream_chrrom_flash_wr + 0x00000000080043b4 0x8c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.vg1040_chrrom_flash_wr + 0x0000000008004440 0x80 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.vg1040hvc_chrrom_flash_wr + 0x00000000080044c0 0x80 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.picto2022_chrrom_flash_wr + 0x0000000008004540 0x84 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_dualport_rd + 0x00000000080045c4 0x38 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_dualport_wr + 0x00000000080045fc 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.gen_rom_rd + 0x000000000800464c 0x48 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.gen_flash_wr + 0x0000000008004694 0x94 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.genesis_page_rd + 0x0000000008004728 0x98 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.gen_sst_flash_wr + 0x00000000080047c0 0x44 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.lfsr_32 0x0000000008004804 0x30 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.delay_us + 0x0000000008004834 0x14 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.append_pairity + 0x0000000008004848 0x1e /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000008004866 0x2 ff + .text.nes_ppu_page_rd_poll.constprop.0 + 0x0000000008004868 0x74 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.nes_cpu_page_rd_poll.constprop.0 + 0x00000000080048dc 0x74 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.snes_page_rd_poll.constprop.0 + 0x0000000008004950 0x74 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.write_page_snes.constprop.0.isra.0 + 0x00000000080049c4 0x18c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.write_page_buffer.constprop.0.isra.0 + 0x0000000008004b50 0x94 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.write_page_verify.isra.0 + 0x0000000008004be4 0x5c /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.write_page.isra.0 + 0x0000000008004c40 0x2e /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000008004c6e 0x2 ff + .text.swim_rotf + 0x0000000008004c70 0xac /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.swim_wotf + 0x0000000008004d1c 0xb4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc1_wr.constprop.0 + 0x0000000008004dd0 0x22 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000008004df2 0x2 ff + .text.mmc1_prgrom_flash_wr + 0x0000000008004df4 0x50 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.mmc1_chrrom_flash_wr + 0x0000000008004e44 0x60 /tmp/cctAqV2Q.ltrans0.ltrans.o + .text.startup.main + 0x0000000008004ea4 0xc8c /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x0000000008004ea4 main + .text 0x0000000008005b30 0x154 /tmp/ccSTg88C.o + 0x0000000008005b30 swim_xfr + .text.selfrel_offset31 + 0x0000000008005c84 0x16 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.search_EIT_table + 0x0000000008005c9a 0x66 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.__gnu_unwind_get_pr_addr + 0x0000000008005d00 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.get_eit_entry + 0x0000000008005d24 0x8c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.restore_non_core_regs + 0x0000000008005db0 0x4a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_decode_typeinfo_ptr.constprop.0 + 0x0000000008005dfa 0xc /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_DebugHook + 0x0000000008005e06 0x2 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.unwind_phase2 + 0x0000000008005e08 0x3a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + *fill* 0x0000000008005e42 0x2 ff + .text.unwind_phase2_forced + 0x0000000008005e44 0xb4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.__gnu_Unwind_RaiseException + 0x0000000008005ef8 0x4e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008005ef8 __gnu_Unwind_RaiseException + .text.__gnu_Unwind_ForcedUnwind + 0x0000000008005f46 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008005f46 __gnu_Unwind_ForcedUnwind + .text.__gnu_Unwind_Resume + 0x0000000008005f5a 0x42 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008005f5a __gnu_Unwind_Resume + .text.__gnu_Unwind_Resume_or_Rethrow + 0x0000000008005f9c 0x1a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008005f9c __gnu_Unwind_Resume_or_Rethrow + .text._Unwind_VRS_Get + 0x0000000008005fb6 0x34 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008005fb6 _Unwind_VRS_Get + .text._Unwind_GetGR + 0x0000000008005fea 0x16 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text._Unwind_VRS_Set + 0x0000000008006000 0x34 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008006000 _Unwind_VRS_Set + .text._Unwind_SetGR + 0x0000000008006034 0x16 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + *fill* 0x000000000800604a 0x2 ff + .text.__gnu_Unwind_Backtrace + 0x000000000800604c 0x68 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x000000000800604c __gnu_Unwind_Backtrace + .text.__gnu_unwind_pr_common + 0x00000000080060b4 0x250 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .text.__aeabi_unwind_cpp_pr0 + 0x0000000008006304 0xa /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008006304 __aeabi_unwind_cpp_pr0 + .text.__aeabi_unwind_cpp_pr1 + 0x000000000800630e 0xa /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x000000000800630e __aeabi_unwind_cpp_pr1 + .text.__aeabi_unwind_cpp_pr2 + 0x0000000008006318 0xa /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008006318 __aeabi_unwind_cpp_pr2 + .text._Unwind_VRS_Pop + 0x0000000008006322 0x21c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x0000000008006322 _Unwind_VRS_Pop + *fill* 0x000000000800653e 0x2 ff + .text 0x0000000008006540 0x144 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + 0x0000000008006540 __restore_core_regs + 0x0000000008006540 restore_core_regs + 0x000000000800656c __gnu_Unwind_Restore_VFP + 0x0000000008006570 __gnu_Unwind_Save_VFP + 0x0000000008006574 __gnu_Unwind_Restore_VFP_D + 0x0000000008006578 __gnu_Unwind_Save_VFP_D + 0x000000000800657c __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0000000008006580 __gnu_Unwind_Save_VFP_D_16_to_31 + 0x0000000008006584 __gnu_Unwind_Restore_WMMXD + 0x0000000008006588 __gnu_Unwind_Save_WMMXD + 0x000000000800658c __gnu_Unwind_Restore_WMMXC + 0x0000000008006590 __gnu_Unwind_Save_WMMXC + 0x0000000008006594 ___Unwind_RaiseException + 0x0000000008006594 _Unwind_RaiseException + 0x00000000080065c4 ___Unwind_Resume + 0x00000000080065c4 _Unwind_Resume + 0x00000000080065f4 _Unwind_Resume_or_Rethrow + 0x00000000080065f4 ___Unwind_Resume_or_Rethrow + 0x0000000008006624 ___Unwind_ForcedUnwind + 0x0000000008006624 _Unwind_ForcedUnwind + 0x0000000008006654 _Unwind_Backtrace + 0x0000000008006654 ___Unwind_Backtrace + .text.next_unwind_byte + 0x0000000008006684 0x32 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .text.__gnu_unwind_execute + 0x00000000080066b6 0x27e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + 0x00000000080066b6 __gnu_unwind_execute + .text.abort 0x0000000008006934 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + 0x0000000008006934 abort + .text.memcpy 0x0000000008006944 0xa4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + 0x0000000008006944 memcpy + .text.memset 0x00000000080069e8 0xa8 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + 0x00000000080069e8 memset + .text.raise 0x0000000008006a90 0x60 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + 0x0000000008006a90 raise + .text._kill_r 0x0000000008006af0 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + 0x0000000008006af0 _kill_r + .text._getpid_r + 0x0000000008006b18 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + 0x0000000008006b18 _getpid_r + .text._getpid 0x0000000008006b20 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + 0x0000000008006b20 _getpid + .text._kill 0x0000000008006b30 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + 0x0000000008006b30 _kill + .text._exit 0x0000000008006b40 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + 0x0000000008006b40 _exit + *(.init) + .init 0x0000000008006b44 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + 0x0000000008006b44 _init + *(.fini) + .fini 0x0000000008006b48 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + 0x0000000008006b48 _fini + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) + *(SORT_BY_NAME(.ctors.*)) + *(.ctors) + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) + *(SORT_BY_NAME(.dtors.*)) + *(.dtors) + *(.rodata*) + .rodata.CSWTCH.44 + 0x0000000008006b4c 0x10 /tmp/cctAqV2Q.ltrans0.ltrans.o + *(.eh_frame*) + +.glue_7 0x0000000008006b5c 0x0 + .glue_7 0x0000000008006b5c 0x0 linker stubs + +.glue_7t 0x0000000008006b5c 0x0 + .glue_7t 0x0000000008006b5c 0x0 linker stubs + +.vfp11_veneer 0x0000000008006b5c 0x0 + .vfp11_veneer 0x0000000008006b5c 0x0 linker stubs + +.v4_bx 0x0000000008006b5c 0x0 + .v4_bx 0x0000000008006b5c 0x0 linker stubs + +.iplt 0x0000000008006b5c 0x0 + .iplt 0x0000000008006b5c 0x0 /tmp/ccSTg88C.o + +.ARM.extab + *(.ARM.extab* .gnu.linkonce.armextab.*) + 0x0000000008006b5c __exidx_start = . + +.ARM.exidx 0x0000000008006b5c 0x98 + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + .ARM.exidx 0x0000000008006b5c 0x8 /tmp/ccSTg88C.o + 0x10 (size before relaxing) + .ARM.exidx.text.selfrel_offset31 + 0x0000000008006b64 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.search_EIT_table + 0x0000000008006b6c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.__gnu_unwind_get_pr_addr + 0x0000000008006b6c 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.get_eit_entry + 0x0000000008006b6c 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.restore_non_core_regs + 0x0000000008006b74 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_decode_typeinfo_ptr.constprop.0 + 0x0000000008006b7c 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_DebugHook + 0x0000000008006b84 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.unwind_phase2 + 0x0000000008006b84 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.unwind_phase2_forced + 0x0000000008006b8c 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_Unwind_RaiseException + 0x0000000008006b94 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_Unwind_ForcedUnwind + 0x0000000008006b9c 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_Unwind_Resume + 0x0000000008006ba4 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_Unwind_Resume_or_Rethrow + 0x0000000008006bac 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_VRS_Get + 0x0000000008006bb4 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text._Unwind_GetGR + 0x0000000008006bbc 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text._Unwind_VRS_Set + 0x0000000008006bbc 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text._Unwind_SetGR + 0x0000000008006bbc 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.__gnu_Unwind_Backtrace + 0x0000000008006bbc 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__gnu_unwind_pr_common + 0x0000000008006bc4 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__aeabi_unwind_cpp_pr0 + 0x0000000008006bcc 0x8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.exidx.text.__aeabi_unwind_cpp_pr1 + 0x0000000008006bd4 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.__aeabi_unwind_cpp_pr2 + 0x0000000008006bd4 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text._Unwind_VRS_Pop + 0x0000000008006bd4 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x8 (size before relaxing) + .ARM.exidx.text.next_unwind_byte + 0x0000000008006be4 0x0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + 0x8 (size before relaxing) + .ARM.exidx.text.__gnu_unwind_execute + 0x0000000008006be4 0x10 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + 0x8 (size before relaxing) + 0x0000000008006bf4 __exidx_end = . + 0x0000000008006bf4 __etext = ALIGN (0x4) + +.rel.dyn 0x0000000008006bf4 0x0 + .rel.iplt 0x0000000008006bf4 0x0 /tmp/ccSTg88C.o + +.data 0x0000000020000000 0x430 load address 0x0000000008006bf4 + 0x0000000020000000 __data_start__ = . + *(vtable) + *(.data*) + .data._impure_ptr + 0x0000000020000000 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + 0x0000000020000000 _impure_ptr + *fill* 0x0000000020000004 0x4 + .data.impure_data + 0x0000000020000008 0x428 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + 0x0000000020000430 . = ALIGN (0x4) + 0x0000000020000430 PROVIDE (__preinit_array_start = .) + *(.preinit_array) + 0x0000000020000430 PROVIDE (__preinit_array_end = .) + 0x0000000020000430 . = ALIGN (0x4) + 0x0000000020000430 PROVIDE (__init_array_start = .) + *(SORT_BY_NAME(.init_array.*)) + *(.init_array) + 0x0000000020000430 PROVIDE (__init_array_end = .) + 0x0000000020000430 . = ALIGN (0x4) + 0x0000000020000430 PROVIDE (__fini_array_start = .) + *(SORT_BY_NAME(.fini_array.*)) + *(.fini_array) + 0x0000000020000430 PROVIDE (__fini_array_end = .) + 0x0000000020000430 . = ALIGN (0x4) + *(.fastrun) + 0x0000000020000430 __data_end__ = . + +.igot.plt 0x0000000020000430 0x0 load address 0x0000000008007024 + .igot.plt 0x0000000020000430 0x0 /tmp/ccSTg88C.o + +.bss 0x0000000020000430 0x308 load address 0x0000000008007024 + 0x0000000020000430 . = ALIGN (0x4) + 0x0000000020000430 __bss_start__ = . + *(.bss*) + .bss.addr_ptr 0x0000000020000430 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.addrh 0x0000000020000434 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.bank_table + 0x0000000020000436 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.buff0 0x0000000020000438 0x14 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.buff1 0x000000002000044c 0x14 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.buff2 0x0000000020000460 0x14 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.buff3 0x0000000020000474 0x14 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.cur_addr_hi + 0x0000000020000488 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000489 0x1 + .bss.cur_addr_lo + 0x000000002000048a 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.cur_bank 0x000000002000048c 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x000000002000048d 0x3 + .bss.cur_buff 0x0000000020000490 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.cur_usb_load_buff + 0x0000000020000494 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.incoming_bytes_remain + 0x0000000020000498 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000499 0x3 + .bss.lfsr 0x000000002000049c 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.n64_bank 0x00000000200004a0 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.num_buff.0 + 0x00000000200004a2 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.num_prg_banks + 0x00000000200004a3 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.oper_info_struct + 0x00000000200004a4 0x20 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.pbje_command + 0x00000000200004c4 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.pbje_data + 0x00000000200004c5 0x20 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.pbje_numclk + 0x00000000200004e5 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.pbje_status + 0x00000000200004e6 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.raw_bank_status + 0x00000000200004e7 0x10 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x00000000200004f7 0x1 + .bss.raw_buffer16 + 0x00000000200004f8 0x200 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.rv16.0.lto_priv.0 + 0x00000000200006f8 0x8 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.rv16.0.lto_priv.1 + 0x0000000020000700 0x8 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.sega_addr + 0x0000000020000708 0x2 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.stm_debug_disable + 0x000000002000070a 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x000000002000070b 0x1 + .bss.swim_base + 0x000000002000070c 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.swim_pin 0x0000000020000710 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000711 0x3 + .bss.tck_base 0x0000000020000714 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.tck_pin 0x0000000020000718 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000719 0x3 + .bss.tdi_base 0x000000002000071c 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.tdi_pin 0x0000000020000720 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000721 0x3 + .bss.tdo_base 0x0000000020000724 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.tdo_pin 0x0000000020000728 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000729 0x3 + .bss.tms_base 0x000000002000072c 0x4 /tmp/cctAqV2Q.ltrans0.ltrans.o + .bss.tms_pin 0x0000000020000730 0x1 /tmp/cctAqV2Q.ltrans0.ltrans.o + *fill* 0x0000000020000731 0x3 + .bss.errno 0x0000000020000734 0x4 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + 0x0000000020000734 errno + *(COMMON) + 0x0000000020000738 . = ALIGN (0x4) + 0x0000000020000738 __bss_end__ = . + +.heap 0x0000000020000738 0x0 + 0x0000000020000738 __end__ = . + 0x0000000020000738 PROVIDE (end = .) + *(.heap*) + 0x0000000020000738 __HeapLimit = . + +.stack_dummy 0x0000000020000738 0x0 + *(.stack*) + 0x0000000020001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) + 0x0000000020001800 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) + 0x0000000020001800 PROVIDE (__stack = __StackTop) + 0x0000000000000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) +OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) +LOAD linker stubs + +.ARM.attributes + 0x0000000000000000 0x28 + .ARM.attributes + 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/crti.o + .ARM.attributes + 0x000000000000001e 0x2a /tmp/cctAqV2Q.ltrans0.ltrans.o + .ARM.attributes + 0x0000000000000048 0x1c /tmp/ccSTg88C.o + .ARM.attributes + 0x0000000000000064 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .ARM.attributes + 0x0000000000000090 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .ARM.attributes + 0x00000000000000ae 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .ARM.attributes + 0x00000000000000da 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + .ARM.attributes + 0x0000000000000106 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-impure.o) + .ARM.attributes + 0x0000000000000132 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x000000000000015e 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + .ARM.attributes + 0x000000000000018a 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .ARM.attributes + 0x00000000000001b6 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + .ARM.attributes + 0x00000000000001e2 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .ARM.attributes + 0x000000000000020e 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .ARM.attributes + 0x000000000000023a 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + .ARM.attributes + 0x0000000000000266 0x2c /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + +.comment 0x0000000000000000 0x1e + .comment 0x0000000000000000 0x1f /tmp/cctAqV2Q.ltrans0.ltrans.o + .comment 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0x1f (size before relaxing) + .comment 0x000000000000001e 0x1f /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_info 0x0000000000000000 0xbf6a + .debug_info 0x0000000000000000 0x48c0 /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_info 0x00000000000048c0 0x132 /tmp/ccKtthqI.debug.temp.o + 0x00000000000048c0 bootload.c.caa269d7 + .debug_info 0x00000000000049f2 0x403 /tmp/ccvgE46D.debug.temp.o + 0x00000000000049f2 buffer.c.36774bf4 + .debug_info 0x0000000000004df5 0x42d /tmp/cccRYpdO.debug.temp.o + 0x0000000000004df5 dump.c.0de0339f + .debug_info 0x0000000000005222 0xa28 /tmp/ccuxc2mg.debug.temp.o + 0x0000000000005222 flash.c.fb6b84e3 + .debug_info 0x0000000000005c4a 0x230 /tmp/ccI0TczY.debug.temp.o + 0x0000000000005c4a gameboy.c.5705ca4e + .debug_info 0x0000000000005e7a 0x22a /tmp/ccl7mR5h.debug.temp.o + 0x0000000000005e7a gba.c.ade78ed5 + .debug_info 0x00000000000060a4 0x395 /tmp/cceMDVha.debug.temp.o + 0x00000000000060a4 io.c.167248cd + .debug_info 0x0000000000006439 0x347 /tmp/ccxciInI.debug.temp.o + 0x0000000000006439 jtag.c.2b4e34f6 + .debug_info 0x0000000000006780 0x306 /tmp/ccLjNke9.debug.temp.o + 0x0000000000006780 main.c.f8726bdf + .debug_info 0x0000000000006a86 0x246 /tmp/cc8Lzy1f.debug.temp.o + 0x0000000000006a86 n64.c.38700b91 + .debug_info 0x0000000000006ccc 0xa50 /tmp/cczm5Krg.debug.temp.o + 0x0000000000006ccc nes.c.b9a1ee1b + .debug_info 0x000000000000771c 0x2d9 /tmp/ccQ2Pyhr.debug.temp.o + 0x000000000000771c operation.c.69075687 + .debug_info 0x00000000000079f5 0x25d /tmp/ccLZ2bKP.debug.temp.o + 0x00000000000079f5 pinport.c.4495d592 + .debug_info 0x0000000000007c52 0x31f /tmp/ccmM3ugG.debug.temp.o + 0x0000000000007c52 sega.c.fac3df65 + .debug_info 0x0000000000007f71 0x324 /tmp/cc7qwnky.debug.temp.o + 0x0000000000007f71 snes.c.225f461f + .debug_info 0x0000000000008295 0x145 /tmp/cccvZvtq.debug.temp.o + 0x0000000000008295 stuff.c.a70b62c3 + .debug_info 0x00000000000083da 0x325 /tmp/cc91YbyN.debug.temp.o + 0x00000000000083da swim.c.3ccf267b + .debug_info 0x00000000000086ff 0x4ec /tmp/ccqfI0IC.debug.temp.o + 0x00000000000086ff usb.c.dba2a424 + .debug_info 0x0000000000008beb 0x3e3 /tmp/ccklyDqE.debug.temp.o + 0x0000000000008beb fwupdate.c.4b4bd063 + .debug_info 0x0000000000008fce 0x27 /tmp/ccpgSVJd.debug.temp.o + 0x0000000000008fce hardfault.c.6c2bc5ad + .debug_info 0x0000000000008ff5 0x14d /tmp/ccjtJ7AP.debug.temp.o + 0x0000000000008ff5 stm_init.c.945f226b + .debug_info 0x0000000000009142 0x6ac /tmp/ccX7Lhkn.debug.temp.o + 0x0000000000009142 usbstm.c.af4eedca + .debug_info 0x00000000000097ee 0x25 /tmp/ccSTg88C.o + .debug_info 0x0000000000009813 0x1e41 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_info 0x000000000000b654 0x25 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .debug_info 0x000000000000b679 0x8f1 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_abbrev 0x0000000000000000 0x255b + .debug_abbrev 0x0000000000000000 0x234 /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_abbrev 0x0000000000000234 0xa5 /tmp/ccKtthqI.debug.temp.o + .debug_abbrev 0x00000000000002d9 0x1a3 /tmp/ccvgE46D.debug.temp.o + .debug_abbrev 0x000000000000047c 0x13b /tmp/cccRYpdO.debug.temp.o + .debug_abbrev 0x00000000000005b7 0x1b9 /tmp/ccuxc2mg.debug.temp.o + .debug_abbrev 0x0000000000000770 0x115 /tmp/ccI0TczY.debug.temp.o + .debug_abbrev 0x0000000000000885 0x12a /tmp/ccl7mR5h.debug.temp.o + .debug_abbrev 0x00000000000009af 0x171 /tmp/cceMDVha.debug.temp.o + .debug_abbrev 0x0000000000000b20 0x16a /tmp/ccxciInI.debug.temp.o + .debug_abbrev 0x0000000000000c8a 0x162 /tmp/ccLjNke9.debug.temp.o + .debug_abbrev 0x0000000000000dec 0x13b /tmp/cc8Lzy1f.debug.temp.o + .debug_abbrev 0x0000000000000f27 0x1e0 /tmp/cczm5Krg.debug.temp.o + .debug_abbrev 0x0000000000001107 0xfc /tmp/ccQ2Pyhr.debug.temp.o + .debug_abbrev 0x0000000000001203 0xd5 /tmp/ccLZ2bKP.debug.temp.o + .debug_abbrev 0x00000000000012d8 0x181 /tmp/ccmM3ugG.debug.temp.o + .debug_abbrev 0x0000000000001459 0x162 /tmp/cc7qwnky.debug.temp.o + .debug_abbrev 0x00000000000015bb 0xba /tmp/cccvZvtq.debug.temp.o + .debug_abbrev 0x0000000000001675 0x1ae /tmp/cc91YbyN.debug.temp.o + .debug_abbrev 0x0000000000001823 0x14c /tmp/ccqfI0IC.debug.temp.o + .debug_abbrev 0x000000000000196f 0x196 /tmp/ccklyDqE.debug.temp.o + .debug_abbrev 0x0000000000001b05 0x21 /tmp/ccpgSVJd.debug.temp.o + .debug_abbrev 0x0000000000001b26 0x91 /tmp/ccjtJ7AP.debug.temp.o + .debug_abbrev 0x0000000000001bb7 0x20e /tmp/ccX7Lhkn.debug.temp.o + .debug_abbrev 0x0000000000001dc5 0x14 /tmp/ccSTg88C.o + .debug_abbrev 0x0000000000001dd9 0x48c /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_abbrev 0x0000000000002265 0x14 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .debug_abbrev 0x0000000000002279 0x2e2 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_loclists + 0x0000000000000000 0x73bf + .debug_loclists + 0x0000000000000000 0x5ef5 /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_loclists + 0x0000000000005ef5 0x10af /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_loclists + 0x0000000000006fa4 0x41b /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_aranges 0x0000000000000000 0x3d0 + .debug_aranges + 0x0000000000000000 0x248 /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_aranges + 0x0000000000000248 0x20 /tmp/ccSTg88C.o + .debug_aranges + 0x0000000000000268 0xf0 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_aranges + 0x0000000000000358 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .debug_aranges + 0x0000000000000378 0x58 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_rnglists + 0x0000000000000000 0x614 + .debug_rnglists + 0x0000000000000000 0x49e /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_rnglists + 0x000000000000049e 0x138 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_rnglists + 0x00000000000005d6 0x3e /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_line 0x0000000000000000 0x691c + .debug_line 0x0000000000000000 0x498f /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_line 0x000000000000498f 0x55 /tmp/ccKtthqI.debug.temp.o + .debug_line 0x00000000000049e4 0x60 /tmp/ccvgE46D.debug.temp.o + .debug_line 0x0000000000004a44 0x78 /tmp/cccRYpdO.debug.temp.o + .debug_line 0x0000000000004abc 0x69 /tmp/ccuxc2mg.debug.temp.o + .debug_line 0x0000000000004b25 0x55 /tmp/ccI0TczY.debug.temp.o + .debug_line 0x0000000000004b7a 0x55 /tmp/ccl7mR5h.debug.temp.o + .debug_line 0x0000000000004bcf 0x5f /tmp/cceMDVha.debug.temp.o + .debug_line 0x0000000000004c2e 0x5a /tmp/ccxciInI.debug.temp.o + .debug_line 0x0000000000004c88 0x77 /tmp/ccLjNke9.debug.temp.o + .debug_line 0x0000000000004cff 0x55 /tmp/cc8Lzy1f.debug.temp.o + .debug_line 0x0000000000004d54 0x63 /tmp/cczm5Krg.debug.temp.o + .debug_line 0x0000000000004db7 0x51 /tmp/ccQ2Pyhr.debug.temp.o + .debug_line 0x0000000000004e08 0x55 /tmp/ccLZ2bKP.debug.temp.o + .debug_line 0x0000000000004e5d 0x55 /tmp/ccmM3ugG.debug.temp.o + .debug_line 0x0000000000004eb2 0x55 /tmp/cc7qwnky.debug.temp.o + .debug_line 0x0000000000004f07 0x4c /tmp/cccvZvtq.debug.temp.o + .debug_line 0x0000000000004f53 0x5a /tmp/cc91YbyN.debug.temp.o + .debug_line 0x0000000000004fad 0xa9 /tmp/ccqfI0IC.debug.temp.o + .debug_line 0x0000000000005056 0x68 /tmp/ccklyDqE.debug.temp.o + .debug_line 0x00000000000050be 0x3a /tmp/ccpgSVJd.debug.temp.o + .debug_line 0x00000000000050f8 0x55 /tmp/ccjtJ7AP.debug.temp.o + .debug_line 0x000000000000514d 0x64 /tmp/ccX7Lhkn.debug.temp.o + .debug_line 0x00000000000051b1 0xf7 /tmp/ccSTg88C.o + .debug_line 0x00000000000052a8 0x109a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_line 0x0000000000006342 0x74 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + .debug_line 0x00000000000063b6 0x566 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + +.debug_str 0x0000000000000000 0x222b + .debug_str 0x0000000000000000 0xec /tmp/cctAqV2Q.ltrans0.ltrans.o + 0x13f (size before relaxing) + .debug_str 0x00000000000000ec 0x113 /tmp/ccKtthqI.debug.temp.o + 0x1e5 (size before relaxing) + .debug_str 0x00000000000001ff 0x21e /tmp/ccvgE46D.debug.temp.o + 0x3ac (size before relaxing) + .debug_str 0x000000000000041d 0x131 /tmp/cccRYpdO.debug.temp.o + 0x320 (size before relaxing) + .debug_str 0x000000000000054e 0x367 /tmp/ccuxc2mg.debug.temp.o + 0x5ff (size before relaxing) + .debug_str 0x00000000000008b5 0x3a /tmp/ccI0TczY.debug.temp.o + 0x224 (size before relaxing) + .debug_str 0x00000000000008ef 0x44 /tmp/ccl7mR5h.debug.temp.o + 0x225 (size before relaxing) + .debug_str 0x0000000000000933 0x178 /tmp/cceMDVha.debug.temp.o + 0x33c (size before relaxing) + .debug_str 0x0000000000000aab 0xcb /tmp/ccxciInI.debug.temp.o + 0x2e7 (size before relaxing) + .debug_str 0x0000000000000b76 0x96 /tmp/ccLjNke9.debug.temp.o + 0x2ac (size before relaxing) + .debug_str 0x0000000000000c0c 0x3c /tmp/cc8Lzy1f.debug.temp.o + 0x226 (size before relaxing) + .debug_str 0x0000000000000c48 0x139 /tmp/cczm5Krg.debug.temp.o + 0x5d1 (size before relaxing) + .debug_str 0x0000000000000d81 0x144 /tmp/ccQ2Pyhr.debug.temp.o + 0x33a (size before relaxing) + .debug_str 0x0000000000000ec5 0x28 /tmp/ccLZ2bKP.debug.temp.o + 0x236 (size before relaxing) + .debug_str 0x0000000000000eed 0x4e /tmp/ccmM3ugG.debug.temp.o + 0x261 (size before relaxing) + .debug_str 0x0000000000000f3b 0x1f /tmp/cc7qwnky.debug.temp.o + 0x273 (size before relaxing) + .debug_str 0x0000000000000f5a 0x28 /tmp/cccvZvtq.debug.temp.o + 0x1c9 (size before relaxing) + .debug_str 0x0000000000000f82 0x9e /tmp/cc91YbyN.debug.temp.o + 0x280 (size before relaxing) + .debug_str 0x0000000000001020 0x42 /tmp/ccqfI0IC.debug.temp.o + 0x362 (size before relaxing) + .debug_str 0x0000000000001062 0xaf /tmp/ccklyDqE.debug.temp.o + 0x2df (size before relaxing) + .debug_str 0x0000000000001111 0x2e /tmp/ccpgSVJd.debug.temp.o + 0xdb (size before relaxing) + .debug_str 0x000000000000113f 0x1b /tmp/ccjtJ7AP.debug.temp.o + 0x1cd (size before relaxing) + .debug_str 0x000000000000115a 0x3c0 /tmp/ccX7Lhkn.debug.temp.o + 0x5ab (size before relaxing) + .debug_str 0x000000000000151a 0x47 /tmp/ccSTg88C.o + .debug_str 0x0000000000001561 0xbbb /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + 0xc72 (size before relaxing) + .debug_str 0x000000000000211c 0x1a /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + 0x66 (size before relaxing) + .debug_str 0x0000000000002136 0xf5 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + 0x5af (size before relaxing) + +.debug_frame 0x0000000000000000 0xda8 + .debug_frame 0x0000000000000000 0x77c /tmp/cctAqV2Q.ltrans0.ltrans.o + .debug_frame 0x000000000000077c 0x2b8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(unwind-arm.o) + .debug_frame 0x0000000000000a34 0xf8 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(pr-support.o) + .debug_frame 0x0000000000000b2c 0x28 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-abort.o) + .debug_frame 0x0000000000000b54 0x34 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memcpy-stub.o) + .debug_frame 0x0000000000000b88 0x30 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-memset.o) + .debug_frame 0x0000000000000bb8 0xfc /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signal.o) + .debug_frame 0x0000000000000cb4 0x44 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-signalr.o) + .debug_frame 0x0000000000000cf8 0x50 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libg.a(lib_a-reent.o) + .debug_frame 0x0000000000000d48 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .debug_frame 0x0000000000000d68 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + .debug_frame 0x0000000000000d88 0x20 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(_exit.o) + +.debug_line_str + 0x0000000000000000 0x3a0 + .debug_line_str + 0x0000000000000000 0xc8 /tmp/ccKtthqI.debug.temp.o + 0xda (size before relaxing) + .debug_line_str + 0x00000000000000c8 0x2b /tmp/ccvgE46D.debug.temp.o + 0xd4 (size before relaxing) + .debug_line_str + 0x00000000000000f3 0x4c /tmp/cccRYpdO.debug.temp.o + 0xf9 (size before relaxing) + .debug_line_str + 0x000000000000013f 0xf /tmp/ccuxc2mg.debug.temp.o + 0xe5 (size before relaxing) + .debug_line_str + 0x000000000000014e 0x11 /tmp/ccI0TczY.debug.temp.o + 0xcd (size before relaxing) + .debug_line_str + 0x000000000000015f 0xd /tmp/ccl7mR5h.debug.temp.o + 0xc5 (size before relaxing) + .debug_line_str + 0x000000000000016c 0x1a /tmp/cceMDVha.debug.temp.o + 0xd1 (size before relaxing) + .debug_line_str + 0x0000000000000186 0xe /tmp/ccxciInI.debug.temp.o + 0xce (size before relaxing) + .debug_line_str + 0x0000000000000194 0x37 /tmp/ccLjNke9.debug.temp.o + 0x116 (size before relaxing) + .debug_line_str + 0x00000000000001cb 0xd /tmp/cc8Lzy1f.debug.temp.o + 0xc5 (size before relaxing) + .debug_line_str + 0x00000000000001d8 0x38 /tmp/cczm5Krg.debug.temp.o + 0xf0 (size before relaxing) + .debug_line_str + 0x0000000000000210 0x13 /tmp/ccQ2Pyhr.debug.temp.o + 0xbf (size before relaxing) + .debug_line_str + 0x0000000000000223 0x11 /tmp/ccLZ2bKP.debug.temp.o + 0xcd (size before relaxing) + .debug_line_str + 0x0000000000000234 0xe /tmp/ccmM3ugG.debug.temp.o + 0xc7 (size before relaxing) + .debug_line_str + 0x0000000000000242 0xe /tmp/cc7qwnky.debug.temp.o + 0xc7 (size before relaxing) + .debug_line_str + 0x0000000000000250 0xf /tmp/cccvZvtq.debug.temp.o + 0xaf (size before relaxing) + .debug_line_str + 0x000000000000025f 0xe /tmp/cc91YbyN.debug.temp.o + 0xce (size before relaxing) + .debug_line_str + 0x000000000000026d 0x4f /tmp/ccqfI0IC.debug.temp.o + 0x172 (size before relaxing) + .debug_line_str + 0x00000000000002bc 0x26 /tmp/ccklyDqE.debug.temp.o + 0x117 (size before relaxing) + .debug_line_str + 0x00000000000002e2 0x1c /tmp/ccpgSVJd.debug.temp.o + 0x6c (size before relaxing) + .debug_line_str + 0x00000000000002fe 0x1b /tmp/ccjtJ7AP.debug.temp.o + 0xe1 (size before relaxing) + .debug_line_str + 0x0000000000000319 0x2b /tmp/ccX7Lhkn.debug.temp.o + 0x103 (size before relaxing) + .debug_line_str + 0x0000000000000344 0x16 /tmp/ccSTg88C.o + 0x2c (size before relaxing) + .debug_line_str + 0x000000000000035a 0x46 /usr/lib/gcc/arm-none-eabi/11.2.0/thumb/v6-m/nofp/libgcc.a(libunwind.o) + 0x8c (size before relaxing) + +.stab 0x0000000000000000 0x3c + .stab 0x0000000000000000 0x24 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) + .stab 0x0000000000000024 0x18 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(kill.o) + 0x24 (size before relaxing) + +.stabstr 0x0000000000000000 0x76 + .stabstr 0x0000000000000000 0x76 /usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libnosys.a(getpid.o) diff --git a/firmware/build_stm6/inlretro_stm.axf b/firmware/build_stm6/inlretro_stm.axf deleted file mode 100644 index c44a947..0000000 Binary files a/firmware/build_stm6/inlretro_stm.axf and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm.bin b/firmware/build_stm6/inlretro_stm.bin deleted file mode 100644 index 54cdc43..0000000 Binary files a/firmware/build_stm6/inlretro_stm.bin and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm.elf b/firmware/build_stm6/inlretro_stm.elf deleted file mode 100644 index 338a07a..0000000 Binary files a/firmware/build_stm6/inlretro_stm.elf and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm.hex b/firmware/build_stm6/inlretro_stm.hex deleted file mode 100644 index 667bcd3..0000000 --- a/firmware/build_stm6/inlretro_stm.hex +++ /dev/null @@ -1,1550 +0,0 @@ -:020000040800F2 -:10000000001800200508000835050008390500081B -:1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000350500088E -:10003000000000000000000035050008350500083C -:1000400035050008350500083505000835050008A8 -:100050003505000835050008350500083505000898 -:100060003505000835050008350500083505000888 -:100070003505000835050008350500083505000878 -:100080003505000835050008350500083505000868 -:100090003505000835050008350500083505000858 -:1000A0003505000835050008350500083505000848 -:1000B00035050008350500083505000899010008D8 -:1000C000284B10B51A88284B12041B881A43274B5B -:1000D000198849084900885A254908801988023139 -:1000E00089B21980198849084900885A214908802D -:1000F0001988023189B21980198849084900885A3B -:100100001D49088019881D48023189B21980198853 -:1001100049084900895A1A4A11801A881949023235 -:1001200092B21A801C880288944213D902881C88D3 -:100130000832121B92B20A80028892B21A801249C7 -:10014000124B0A881343124A1A40302353409BB281 -:100150000B8010BD0F4804881A889442E6D3082308 -:100160000B80ECE70C6000400A6000400460004037 -:100170004C6000404E600040506000400260004013 -:10018000526000401A600040005C00408080FFFF29 -:10019000BF8FFFFF006000409449F8B50B88944C76 -:1001A000002B3AD00A88934B9A4234D1002302257F -:1001B000914A924F1380924A1380924A1380924A36 -:1001C0001380924A1380924AD08FA843D087D08F51 -:1001D000013DA843D0878F481735FB8705808E489F -:1001E000343505808D480835058080258C486D01A3 -:1001F000058080258B4805808020FB878A4B000680 -:1002000023808A4B18608023D08FDB000343D38781 -:10021000874B884A1A8000230B8023881BB2002B4F -:1002200000DBC4E02388844A774F134080221343C5 -:10023000238023881B0500D49CE0804D7F232A78EF -:1002400011009943714B1980E9886B4B198000218B -:100250006C4B19803B88FF318B4313433B806023F9 -:100260001A4208D08022764B12051B8828009B1862 -:100270009847634B188060232A78134052B2002AB3 -:100280004DDA002B14D16A78062A0FD16A88110A38 -:1002900002291AD003291BD0012920D1694B12262B -:1002A000694A99B21180694A1B0C1380544B1E8015 -:1002B0002288674B1343674A1A40C0239B0153406F -:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C -:1002D000D2B2012A0FD0002A03D0022A15D01E0064 -:1002E000E4E7584B584A243399B21180574A1B0C03 -:1002F00013800426DAE7534B534A283399B211800E -:10030000524A1B0C1380544ED0E74E4B4E4A7C335E -:1003100099B211804D4A1B0C1380504EC6E7002B3A -:1003200009D16B78052B06D13A886B88D2B21B02B3 -:1003300013439BB23B8000212388494A1340494A1A -:1003400013439BB22380484B198023881A43474BA1 -:100350001A40474B5A4092B22280284BDB8F5B05F4 -:1003600007D580222F4B1A800023244AD3872E4B97 -:100370002380F8BD60213B880B40402BEDD13B88AA -:100380001342EAD1264A3B4B2C481B881188802215 -:1003900012059B18C9B298472288324B13432D4A45 -:1003A0001A40C0239B0153409BB22380D5E7802293 -:1003B00023881342D1D023882F490B408021090282 -:1003C0000B432380114B1B88934200D17AE7FF2017 -:1003D0000D4B19888143C0D01988090A0A43114975 -:1003E0000A801A8802401A80B7E7C0460E600040B3 -:1003F000005C00403CA5000000600040065C00403E -:100400000260004004600040066000400860004058 -:10041000025C0040505C0040186000401C600040DE -:100420001E6000404C5C00402032000000E100E013 -:10043000585C00400080FFFF8F0F000054600040B8 -:10044000106000407C0400080A6000400C6000401E -:100450008081FFFF8FBFFFFF2A0300001E03000003 -:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D -:1004700030300000126000400F8FFFFF12010002B9 -:10048000FF000008C016DC0503020102000109029A -:100490001200010100803209040000000000000089 -:1004A000040309042A0349006E00660069006E0017 -:1004B0006900740065004E00650073004C0069001F -:1004C0007600650073002E0063006F006D00000071 -:1004D000000000000000000000000000000000001C -:1004E000000000000000000000000000000000000C -:1004F00000000000000000001E0349004E004C00F8 -:10050000200052006500740072006F002D00500042 -:1005100072006F0067000000000000000000000093 -:1005200000000000000000000000000000000000CB -:1005300000000000FEE7FFFF004801E02301ADDE00 -:10054000FEE7C04602B4714649084900095C49000B -:100550008E4402BC7047C046411D000000616561C9 -:1005600062690001130000000536532D4D00060C92 -:10057000074D09011901FFFF03B471464908400006 -:100580004900095A49008E4403BC7047411D0000D0 -:100590000061656162690001130000000536532D9A -:1005A0004D00060C074D09011901FFFF70470A4B6A -:1005B0000A4A10B55A600A4A5A600122DC6814429D -:1005C000FCD11A6101220180D9681142FCD120229C -:1005D000DA6060321A6110BD0020024023016745D5 -:1005E000AB89EFCDFF2370B53C4C23804378C588A1 -:1005F000102B00D06FE0C37881888078384E0138A6 -:100600007269082800D964E0FFF79CFF0563632B3B -:100610003B3149515F008B1E8E227D2B19D8314B07 -:100620007360314B73600123F2681A42FCD10223DC -:100630003361802389021B05C9184223716133612C -:10064000C046413BF2681A40FCD12023F36060337E -:1006500033612270254BA2B2240CE8B25A819C81EE -:1006600070BD58001018FFF7A2FF0022F1E78E229C -:10067000012BEED8180480231B05C01840181C4914 -:10068000F1E7042363707369A37073691B0AE37055 -:1006900073691B0C237173691B0E6371E5E70223F9 -:1006A00063701388A37013881B0AE370DDE78E2242 -:1006B000012BCED880221B0412059B185918022347 -:1006C00063700B88A3700B88EEE70A4B0A4ADA6066 -:1006D000CBE78B22BDE780232370BBE7F806002021 -:1006E0000020024023016745AB89EFCD0060004048 -:1006F000FFFF000000ED00E00400FA05FFFFFFFF30 -:10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 -:10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 -:10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 -:10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 -:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 -:10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 -:10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 -:10077000164B174A9BB21382164B9BB253826846A4 -:100780001C300F4A0F4B0430043001681140C91A65 -:10079000FAD1094A094B043801681140C91AF2D14B -:1007A0007B460A3303600438013303600CE00A4BD4 -:1007B0000A4A1A60FBE7C0460000FFFF000000087D -:1007C000FFFFFF0F0000000100207047E505000853 -:1007D00000600040AD05000800300040AAAA0000FB -:1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 -:1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 -:10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D -:10081000C858D050FBDC0849084A0020521A02DDB3 -:10082000043A8850FCDC03F0BFFA0000805C00084A -:100830000000002030040020300400203807002091 -:1008400070B50E4B1A68537A55685C18E4B2A3422F -:100850000ED1537A0A48CB1853720378591AC9B289 -:1008600001700020814202D198230130D37070BD05 -:1008700006780130EE540133DBB2E8E7940400203F -:1008800098040020FF23F0B5C04C85B02380837905 -:100890000200009340780138102801D901F0EAFEE7 -:1008A000FFF76AFE1100D405BE08650A900DE80E38 -:1008B000D40E1E0CCB0C110D710DC20A100B4E0B79 -:1008C000EB0BE80E740D907891888C231D2826D8A8 -:1008D000FFF752FE1E0028001E011802E4028303E7 -:1008E0000E04CA04E604F204FA0402050B0514051A -:1008F00022052A0532053A05AA05AA05AA054A05D0 -:100900005F057605CC02D8023F058D059605A10549 -:10091000B0239F4A5B0351690B435361002323704B -:1009200000F098FE152901D900F081FD0800FFF7BD -:1009300023FE160023002E007E05390044004F00E0 -:100940007E055C006900730080007E057E058D00D9 -:100950009A00A700B400C100CE00D800E2009023A6 -:10096000DB051A688B490A401A608022D968520355 -:100970000A43DA600023D2E790230122DB051968DD -:1009800091431960D9680A43DA600023C7E79023CE -:100990000422DB05196891431960D9680A43DA60BB -:1009A0000023BCE790231022DB05196891431960EE -:1009B000D9680A43DA600023B1E790234022DB05BF -:1009C000196891431960D9680A43DA600023A6E7E1 -:1009D0009023DB051A6870490A401A608022D968A2 -:1009E000D2040A43DA60002399E79023DB051A68F2 -:1009F0006A490A401A608022D96852010A43DA60C3 -:100A000000238CE70422664B196891431960D9686A -:100A10000A43DA60002382E79023DB051A68614904 -:100A20000A401A608022D968D2050A43DA6000239E -:100A300075E79023DB051A685B490A401A6080223B -:100A4000D968D2020A43DA60002368E79023DB0505 -:100A50001A6856490A401A608022D96852000A432F -:100A6000DA6000235BE79023DB051A6850490A40EF -:100A70001A608022D968D2000A43DA6000234EE768 -:100A80009023DB051A684B490A401A608022D96816 -:100A9000D2010A43DA60002341E79023DB051A689C -:100AA0003D490A401A608022D968D2040A43DA60BC -:100AB000002334E79023DB051A683F490A401A6097 -:100AC0008022D96852050A43DA60002327E7012211 -:100AD000334B196891431960D9680A43DA600023DF -:100AE0001DE71022354B196891431960D9680A43F4 -:100AF000DA60002313E79023DB051A682C490A40CB -:100B00001A608022D968D2000A43DA60002306E71F -:100B1000152901D900F08EFC0800FFF72DFD160005 -:100B200021002C008B0451005C0067008B047200D4 -:100B30007D00870092008B048B049D00A800B30009 -:100B4000BE00C900D400DE00E8009023DB05196870 -:100B5000104801401960DA680240DA600023DEE6DE -:100B600090230121DB051A688A431A60DA688A43F8 -:100B7000DA600023D3E690230421DB051A688A4358 -:100B80001A60DA688A43DA600023C8E600070020AA -:100B900000100240FFFFEFFFFFFFFFFBFFEFFFFF33 -:100BA00000040048FFFFFFBFFFFFFBFFFFFEFFFF4A -:100BB000FFFBFFFFFFBFFFFFFFFFFFEF000C004841 -:100BC00090231021DB051A688A431A60DA688A4389 -:100BD000DA600023A3E690234021DB051A688A43EC -:100BE0001A60DA688A43DA60002398E69023DB050E -:100BF0001968CE4801401960DA680240DA600023C3 -:100C00008DE69023DB051968C94801401960DA6850 -:100C10000240DA60002382E60421C64B1A688A4348 -:100C20001A60DA688A43DA60002378E69023DB05ED -:100C30001968C14801401960DA680240DA6000238F -:100C40006DE69023DB051968BC4801401960DA683D -:100C50000240DA60002362E69023DB051968B84899 -:100C600001401960DA680240DA60002357E69023F9 -:100C7000DB051968B34801401960DA680240DA60A0 -:100C800000234CE69023DB051968AF48014019604A -:100C9000DA680240DA60002341E69023DB05196838 -:100CA000A24801401960DA680240DA60002336E6A3 -:100CB0009023DB051968A54801401960DA680240F5 -:100CC000DA6000232BE601219A4B1A688A431A60E6 -:100CD000DA688A43DA60002321E610219C4B1A6807 -:100CE0008A431A60DA688A43DA60002317E69023A1 -:100CF000DB051968934801401960DA680240DA6040 -:100D000000230CE6152900D997E30800FFF734FC0F -:100D100016001F00270095032F0037003F009503A2 -:100D20004800510058006100950395036A00730064 -:100D30007C0085008E0097009E00A50090228023F5 -:100D4000D20511685B030B4313600023E7E5902293 -:100D50000123D20511680B4313600023DFE59022C5 -:100D60000423D20511680B4313600023D7E59022BA -:100D70001023D20511680B4313600023CFE59022A6 -:100D80004023D20511680B4313600023C7E590226E -:100D90008023D2051168DB040B4313600023BEE5FA -:100DA00090228023D20511685B010B43136000235E -:100DB000B5E504235F4A11680B4313600023AEE5D9 -:100DC00090228023D2051168DB050B4313600023BA -:100DD000A5E590228023D2051168DB020B43136046 -:100DE00000239CE590228023D20511685B000B4311 -:100DF0001360002393E590228023D2051168DB0065 -:100E00000B43136000238AE590228023D2051168EA -:100E1000DB010B431360002381E590228023D20580 -:100E20001168DB040B431360002378E590228023D4 -:100E3000D20511685B050B43136000236FE50123A6 -:100E40003C4A11680B431360002368E51023404AB5 -:100E500011680B431360002361E590228023D205C3 -:100E60001168DB000B431360002358E58D2308292C -:100E700000D054E590224023D20551680B435360C3 -:100E800000234CE58D23082900D048E59022D205A7 -:100E9000536838318B435360002340E5152900D94E -:100EA000CEE20800FFF768FB16001D002300CC020D -:100EB00029002F003500CC023C0056005B00620088 -:100EC000CC02CC0269006F0075007B0082008900B3 -:100ED0008E00930090238022DB05D2009A620023CB -:100EE0001DE590230122DB059A62002317E590237C -:100EF0000222DB059A62002311E590230422DB0520 -:100F00009A6200230BE590230822DB059A620023F6 -:100F100005E590238022DB0592019A620023FEE41E -:100F200090234022DB059A620023F8E4FFFFFFFBD9 -:100F3000FFEFFFFF00040048FFFFFFBFFFFFFBFFC5 -:100F4000FFFEFFFFFFFBFFFFFFBFFFFFFFFFFFEF06 -:100F5000000C00480222CD4B9A620023DFE490236C -:100F60008022DB0512029A620023D8E490238022BB -:100F7000DB0592009A620023D1E490231022DB0566 -:100F80009A620023CBE490232022DB059A6200239F -:100F9000C5E490238022DB059A620023BFE49023FE -:100FA0008022DB0592019A620023B8E4902380221C -:100FB000DB05D2019A620023B1E40122B34B9A62AD -:100FC0000023ACE40422B24B9A620023A7E49023EE -:100FD0002022DB059A620023A1E4152900D932E220 -:100FE0000800FFF7C9FA16001D002300300229008F -:100FF0002F00350030023C00420047004E00300216 -:10100000300255005B00610067006E0075007A00D9 -:101010007F0090238022DB05D2009A6100237EE4CA -:1010200090230122DB059A61002378E490230222B9 -:10103000DB059A61002372E490230422DB059A61A8 -:1010400000236CE490230822DB059A61002366E408 -:1010500090238022DB0592019A6100235FE49023B4 -:101060004022DB059A61002359E40222874B9A61F2 -:10107000002354E490238022DB0512029A610023AE -:101080004DE490238022DB0592009A61002346E420 -:1010900090231022DB059A61002340E49023202254 -:1010A000DB059A6100233AE490238022DB059A61F4 -:1010B000002334E490238022DB0592019A6100230F -:1010C0002DE490238022DB05D2019A61002326E4DF -:1010D00001226E4B9A61002321E404226C4B9A6139 -:1010E00000231CE490232022DB059A61002316E4F0 -:1010F00002236370152900D9B1E00800FFF722FA36 -:101100000B151EAF273039AF434C545DAFAF67703E -:1011100079828C969EA690238022DB051B69D200E3 -:10112000134063800023FFF7FAFB90230122DB05C5 -:101130001B69134063800023FFF7F1FB9023022219 -:10114000DB051B69134063800023FFF7E8FB902356 -:101150000422DB051B69134063800023FFF7DFFBDC -:1011600090230822DB051B69134063800023FFF7EF -:10117000D6FB90238022DB051B699201134063801C -:101180000023FFF7CCFB90234022DB051B691340B3 -:1011900063800023FFF7C3FB02223C4B1B69134013 -:1011A00063800023FFF7BBFB9023DB051B69DB0B90 -:1011B000DB0363800023FFF7B2FB90238022DB0573 -:1011C0001B699200134063800023FFF7A8FB902364 -:1011D0001022DB051B69134063800023FFF79FFB90 -:1011E00090232022DB051B69134063800023FFF757 -:1011F00096FB90238022DB051B691340638000234C -:10120000FFF78DFB90238022DB051B6992011340C1 -:1012100063800023FFF783FB90238022DB051B699B -:10122000D201134063800023FFF779FB0122174BA3 -:101230001B69134063800023FFF771FB0422144BEA -:101240001B69134063800023FFF769FB9023202272 -:10125000DB051B69134063800023FFF760FB00235D -:1012600063708D33FFF75BFB80230A4ADB02516911 -:101270000B435361054B08491A680A401A60D96844 -:10128000064A0A43DA600023FFF749FB00040048DE -:10129000000C004800100240FFFFAAAA00005555AC -:1012A000D94BDA491A680A401A60D968D84A0A4301 -:1012B000DA600023FFF733FBD34AD44913680B40AD -:1012C00013600023FFF72BFBCF4AD14B11680B4370 -:1012D00013600023FFF723FBCB4A09025369DBB2FB -:1012E000194351610023FFF71AFBC74B1B691B0A07 -:1012F000A370012363700023FFF711FB8023C54A0D -:101300001B0351690B435361C34AC44B11680B4320 -:1013100013600023FFF703FBBF4AC04BD1680B43A8 -:10132000D3600023FFF7FBFABB4ABD4913680B40AB -:1013300013600023FFF7F3FAB74AB84B11680B4369 -:1013400013600023FFF7EBFAB34B59610023FFF75B -:10135000E6FA01236370B04B1A69A2701B691B0A7D -:10136000E3700023FFF7DBFAC023AA4ADB025169CE -:101370000B435361A44AAB4B11680B43136090229B -:10138000A023D20511685B030B4313600023FFF712 -:10139000C6FA9D4AA34BD1680B43D3609023A0218A -:1013A000DB05D86849030143D96011689E480140B4 -:1013B00011601A689D490A401A600023FFF7AFFACE -:1013C000FF2591488B0042692B40994DC9002A4066 -:1013D000134343619022C020D205C00053690140ED -:1013E00094480340194351610023FFF798FA012103 -:1013F000854B1A680A431A6099620023FFF78FFA37 -:101400000122814B196891431960D9680A43DA6057 -:101410000023FFF784FA01227F4B59617A4B9A61CE -:101420009A620023FFF77BFA0023FFF778FA8D23F7 -:10143000FFF775FA8D23FFF772FA8D23FFF76FFA26 -:101440008D23FFF76CFA8D23FFF769FA957893885F -:10145000052D00D1B1E119D8022D00D145E107D801 -:10146000002D00D1F0E0012D00D1FBE09625EFE04A -:10147000032D00D122E2042DF8D1DBB2012B00D1E3 -:1014800060E2022B00D17EE29825E1E0082D00D138 -:10149000EDE160D8062D00D1ABE1072DE6D102F0D9 -:1014A00017FA90230120DB051A6802431A60102204 -:1014B000986119680A4304211A60802299611C68A6 -:1014C000D20122431A6080229A6180221C68520154 -:1014D00022431A6040229A611C682143196002214C -:1014E000996119680A431A6008229A618022494961 -:1014F00012034C692243484C4A612568474A2A43F3 -:101500002260414A15680543156084259062656133 -:10151000002590619062802065611C68C0052043B1 -:101520001860802000029862C0204C69C0022043ED -:1015300048610F2011680140116019683E48014060 -:101540001960D0683D490143D160A022D968520397 -:101550000A43DA607CE00A2D00D119E100D222E1D1 -:10156000802D83D19023012540208026DB056570E6 -:1015700098621A68760132431A60C04630491C6985 -:101580001A6804400A401A60DA680A40DA60F022F9 -:10159000002C36D11A680A401A60DA683243DA60E1 -:1015A0001A6994461A690192C0461A690292C046A5 -:1015B000C0461A690392C046C046C0461F69C0466D -:1015C000C046C046C0461E691A680A401A60DA68FA -:1015D0001140D96063462200034212D1019B2A00C8 -:1015E00003420ED10299023201420AD10399033219 -:1015F000014206D10432074203D1D632064200D05E -:10160000D13A104B9A70CCE000040048FFFFAAAA20 -:10161000000055550010024000080048555555552A -:10162000AAAAAAAA50550000AFAAFFFFFFFFEBFF2E -:1016300003FF0000FFF90000FFFFC3FF50555555A1 -:10164000FFEFFFFF00070020DD4A137002F040F9B2 -:10165000DC4C2570DC4B0098A2B2240C5A819C8192 -:1016600005B0F0BD02F034F99023DB059D611A68E6 -:1016700015438022D2001D609A62802219685203AD -:101680000A431A60022204219A611A680A431A6006 -:101690001022996119680A431A6008229A61196830 -:1016A00038320A431A608023C849DB024A69C84DB0 -:1016B0001343C84A4B6113682B401360D468C64B70 -:1016C0001C43D460106828401060D0680343D36086 -:1016D00080234A691B0313434B61C04BC04A1968FE -:1016E0000A431A6000255D61B2E702F0F1F8902329 -:1016F0000121DB051A68B5480A431A601022996176 -:101700001968B34E0A431A60042240219A611A688C -:101710000A431A6008229A6180229961196852016D -:101720000A431A6080224169D2020A43A9494261F0 -:101730000A6832400A60CD68A74A1543CD600C683C -:1017400034400C60CC682243CA6080224469120392 -:1017500022434261A14AA24C15682C430025146023 -:101760005561C0224469D2022243426108689D4A01 -:1017700002430A60A0221868520302431A609A4882 -:101780004A6902404A615A6998490A405A615FE7CA -:1017900090238022DB051968D2010A431A60802257 -:1017A0009A61002554E790238022DB051968D20155 -:1017B0000A431A6080229A62F3E702F089F89023C4 -:1017C0000121DB051A680A431A6010229961196821 -:1017D0000A431A60042240219A611A680A431A6077 -:1017E00008229A6180221868520102431A609961A6 -:1017F00059E702F06DF890230121DB051A68744D5A -:101800000A431A601022996119680A431A60042277 -:101810009A6119683C3211431960082199619A62F2 -:101820009A6180236949DB024A691343694A4B6123 -:1018300013682B401360D468674B1C43D460106856 -:1018400028401060D0680343D36080234A691B039B -:1018500013434B61614B624A196865481143196033 -:10186000196801401960D9680A43DA603AE702F062 -:101870002FF890230121DB051A680A431A6004221D -:101880009961196811431960196811431960102191 -:1018900018680143196040219A611A680A431A6066 -:1018A00080229D611868520102431A609961802369 -:1018B000464A1B0351690B435361CBE7DBB2022B52 -:1018C00021D00025032B00D1C2E69735012B00D093 -:1018D000BEE6802200253D491203486902434A6161 -:1018E0003E4A116899431160D1681943D16051682B -:1018F00019435160936111680B4313603D4B1D7098 -:101900003D4B1A60A4E6B023304A5B035169402086 -:101910000B4353619022D205136838490B40136082 -:101920008023D1685B011943D16051680143516044 -:10193000906111680B43062113602E4B19702E4BDA -:101940001A602EE790222E4BD2051A600622022141 -:101950002C4B1A701F4B2C4A13602C4A11702C4AC6 -:10196000013113602B4A11702B4A13602B4B174A1D -:101970001D70B02351695B030B43536101F0DCFE22 -:1019800001F0DAFE0DE790221D49D2050A601D49DB -:101990000B7003211C4B1A601C4B19701C4B49180F -:1019A0001A601C4B19701C4B1A6001221B4B1A70D9 -:1019B000B023064A5B0351690B435361E0E7C0461D -:1019C0000A070020000700200060004000100240CD -:1019D000FFFFAAAA0004004800005555000800486F -:1019E000555555555055000003FF0000FFF9000004 -:1019F000AAAAAAAA100700200C070020FFEFFFFFE9 -:101A000024070020280700201C07002020070020B2 -:101A10002C070020300700201407002018070020A2 -:101A20009678D7789588122E00D146E13FD8092EB6 -:101A300000D1F9E01ED8042E00D1EBE00BD8012E26 -:101A400000D1B8E0002E00D1A9E0022E00D1B7E00D -:101A5000A023FEF764FF062E00D1A7E000D2D4E059 -:101A6000072E00D1FEE0082EF2D13900280001F047 -:101A700057FA98E00D2E00D1EAE009D80B2E00D1DC -:101A8000EBE000D8D5E03900280001F0FBFA8AE04D -:101A90000F2E00D1D7E000D2D0E0102E00D1E6E02A -:101AA000112ED5D13900280001F032FB7BE0002354 -:101AB000262E01D1FEF733FF1BD8212E00D1AEE038 -:101AC00009D8142E00D1F3E000D2FBE0C74B202E42 -:101AD000BED11D7067E0232E00D1F8E075D3242E0F -:101AE00000D19FE0252EB3D13900280001F05CFA27 -:101AF00059E0842E00D123E133D8812E00D112E1A8 -:101B0000822E00D115E1802EA2D101219023617097 -:101B1000DB051868B64E30401860DA6802203240A3 -:101B2000DA608022D2009A6299619861B148456179 -:101B3000C046C0462DB29A61002D00DA9962C046B7 -:101B4000C046C046C046C046C04690228021AA4B2F -:101B5000D205C9001B69916201211B0A9161A37022 -:101B600021E0862E00D1F6E000D2EFE0872E00D1F2 -:101B7000F9E0882E00D06BE70126022166709F48AD -:101B800001F042FA31009E4801F03EFA02219B48E2 -:101B900001F03AFA3900280001F036FAC5E03900C0 -:101BA000280001F04FFC0023FEF7B9FE39002800A1 -:101BB00001F024FCF7E73900280001F06DF9F2E7A5 -:101BC0003900280001F020FAEDE78A4B02225D611E -:101BD00090238949DB059A6208688A4A3F020243DA -:101BE0000A604A692DB2D2B217434F61002D01DA63 -:101BF00001229A62C046C04601229A6192189A61F7 -:101C00000B68814A13400B60CDE73900280001F0D2 -:101C1000FFF8C8E73900280001F0ACFFC3E77B4BB1 -:101C20001D80C0E77A4B54E73900280001F068FCBA -:101C3000B9E73900280001F095F9B4E73900280028 -:101C400001F0DAFFAFE73900280001F0A5FFAAE7AD -:101C50003900280001F022FCA5E73900280001F036 -:101C600091FAA0E73900280001F0A0FB9BE7AA2128 -:101C7000684801F0C9F95521674801F0C5F9A0216C -:101C8000644801F0C1F93900280001F0BDF9A02035 -:101C9000564B0002197801F0B7F9280001F0B0FAAC -:101CA0000600C046280001F0ABFA8642F5D17AE77B -:101CB0003900280001F050FB75E73900280001F0D9 -:101CC00011FB70E73900280001F0E6FA6BE7534B8F -:101CD0009D4202D880231B021D43902700F0BCFDCB -:101CE0006B1CFF339BB20193FF05424B424E5D617B -:101CF0003268444B00021343FF2233607369134080 -:101D000018437061C0460823BB6200F0A5FD08239C -:101D10000135BB61019BADB29D42E6D133683A4AC1 -:101D2000134033603FE701236370280001F068FA35 -:101D300004E001232800637001F0D6F8A07032E7B8 -:101D400001232800637001F08BF8F7E7012363702B -:101D5000264B1B7803E7022363702C4B1B88A37070 -:101D60001B0AE3701FE701236370294BF1E79078AA -:101D7000D1789588AA23062801D9FEF7D0FDFEF771 -:101D8000E1FB042A1B2226322000FF201A49AB0067 -:101D90004A6903402248ED00024013434B61902200 -:101DA000C021D205C90053690D401E490B401D4397 -:101DB00055610023FEF7B3FD0022280000F064FD0A -:101DC000F7E70122F9E7280000F016FFF1E7280005 -:101DD00000F0EAFEEDE7012300216370280000F027 -:101DE00083FDA070E5E701216170F7E78C04002016 -:101DF000FFEFFFFF00080048000400480251000008 -:101E00000351000000005555FFFFAAAA3604002028 -:101E1000A3040020AAFA000055F50000FF1F0000EF -:101E200003FF0000FFF9000090789388002829D074 -:101E3000012844D1D178B84A5361C022D2019B18FD -:101E4000B64A9BB2934202D89023DB059862B44B0A -:101E5000B44A1868090202431A605A69D2B20A43A6 -:101E60005A6190220821D2059162C046C046C04600 -:101E70009161073991611A68AB490A401A600023E1 -:101E8000FEF74DFD0121A44A6170536190220420A8 -:101E9000D2059062C020C0011B18A0489BB28342AB -:101EA00000D89162C046C046C046C04601219C4B46 -:101EB0001B6991611B0A03319161A370DFE7AF23B6 -:101EC000FEF72DFD9578022D0CD0032D2BD0002D83 -:101ED00033D10223637001F0B5FDA070000AE070F9 -:101EE000FFF7B7FB9588914BD0781D80904B914AB6 -:101EF0001870894B000219680A4389491A600E68F4 -:101F0000884A32430A605D614A69D2B202434A613B -:101F100090220121D20591621A6887490A401A600D -:101F20000025FFF796FB90230122DB059A617C4A8E -:101F30007D4913680B401360F2E7B025FFF789FB7A -:101F40009078D5789188B123062801D9FEF7E7FC6F -:101F50007A4BFEF7F7FA0488630A2A7A810019801F -:101F60006D4B59610023FEF7DAFC19806A4B6D4A0C -:101F700059616B4B2D02196802200A431A605A6995 -:101F80000121D2B215439022D2055D619162906227 -:101F9000C046C046C046C046C046C046906191613A -:101FA0001A6861490A401A60DCE719805A4B5C4A9A -:101FB00059611168624B0B4313609023A021DB052C -:101FC000186849030143196051695E480140A8003F -:101FD0000143516159695C48ED0001400D43012105 -:101FE0005D619962C046C046C046C046C046C04614 -:101FF000C046C04608209862C046C046C046C0469B -:10200000C046C0469861C046C046C0469961116846 -:102010000730014011601A684C49C3E78425012646 -:102020003D4A0D43506955613D4D80B2AE61AE628F -:102030005061802590202D02C005490703D5856198 -:102040001B8853618EE78562FAE71888401980B2D1 -:10205000188000F04BFE85E71888401980B2188080 -:1020600000F0B2FE7EE7198002230800637000F0E2 -:1020700087FEA070000AE07074E7907893880428C7 -:102080002BD8FEF75FFA182A03080C00304A138099 -:102090000023FEF744FC180001F054FAF8E79023FF -:1020A0000222DB059A61C046C046C046C046C04613 -:1020B000013A9A61ECE7902202230421D205637071 -:1020C0009162C046C046C046C046134B1B69916131 -:1020D000A3709BB21B0AE370DAE7B223FEF71FFC82 -:1020E0009578D0789188112D00D19FE008D8012DE6 -:1020F00070D0002D2ED0022D00D17DE0822666E02A -:10210000212D00D186E0222D00D18AE0122DF5D1BB -:102110000223102063708CE000080048FF1F0000BD -:102120000004004800005555FFFFAAAA8A040020B9 -:102130008804002055555555AAAAAAAA08070020C8 -:102140005055555503FF0000FFF90000FFFFC3FF86 -:10215000A00400200127B84B04261B7810209F40C4 -:10216000FA43B64B01921D68AF626B6813406B6017 -:1021700000F067FBAF616B683B436B60FA20400087 -:1021800000F05FFBFA20AF626B68019A40001340D9 -:102190006B6000F056FBAF616B68013E3B43B6B22B -:1021A0006B60002EEAD10436FA2000F04AFBAF62E1 -:1021B0006B68019AFA2013406B6000F042FBAF613C -:1021C0006B68013E3B43B6B26B60002EECD12670CB -:1021D000FFF740FA984A994B12781E689540B5620D -:1021E00073681020AB43736000F02BFBB56173681C -:1021F0002B4373600026EAE701238F4A637012784D -:102200008F4993408D4A9BB21268002002F0E8FB90 -:10221000A070EFE7012302000020637001F014FDBD -:10222000F6E70123020063701020F7E70223002085 -:10223000637001F063FD6080DCE79078D17801384D -:10224000938808283CD8FEF77DF9050D150B1E3B39 -:10225000212731007B4B1B78A3700123637006E0BC -:10226000794BF8E7774A13708322774B1A70002373 -:10227000FEF755FB734A744D137083232B7001F0E6 -:10228000CBFA2B78E8E7714A1370F0E7704A5354A1 -:1022900052181B0A5370EAE700236D4A5218D05CAB -:1022A000E11801338870082BF9D1D7E70223684978 -:1022B0009A1E8A5CE2540133222BF9D1023BCDE70E -:1022C0008723FEF72CFB9078D578023891888A23F3 -:1022D0000A2801D9FEF723FBFEF734F9060B111685 -:1022E0001D24303C414950005A4B19800023FEF711 -:1022F00016FB584B1B881B040B439847F6E7FEF769 -:1023000037FA0300FEF70BFB534803689AB20B043D -:1023100013430360EAE7504A13681B0C1B040B438A -:102320001360E3E7042363704B4B1B681A0AA37026 -:10233000E2701A0C1B0E22716371D7E70223464A22 -:10234000637012684B00D3181A88A2701B881B0A8E -:10235000E370CBE7404B6D001B68E952C6E73E4A8D -:102360004B001168CB18136002226270ECE73A4B05 -:102370006D001A6855191D602980B7E70123637045 -:102380000233A370B2E78823FEF7C9FA93789188E5 -:10239000022B09D0032B0ED0012B10D12F4A090498 -:1023A00011600023FEF7BBFA2C4A13681B0C1B04B8 -:1023B0000B431360F5E70122284B1A60F1E78323F2 -:1023C000FEF7ADFA91780B00303B2F2B1AD8D0785E -:1023D000032814D8FEF7B6F816180211204B51291D -:1023E00000D199E044D8312973D00FD8002953D0B7 -:1023F000302967D0B423FEF792FA1A4BEFE7B523E2 -:10240000FEF78DFA184BEAE7184BE8E733296ED050 -:1024100066D35029EED1C022D20022801A7AA2704F -:10242000DA78E2705A7A22719A7A62719A78A27195 -:102430005B7CE371FFF70EF9100700200C0700200A -:1024400004000200C4040020E6040020E50400208B -:10245000C504002034040020300400209C04002027 -:102460006004002074040020380400204C04002084 -:102470007F2900D984E070295DD260293CD0612990 -:1024800043D05229B6D180221B889200A3701B0A28 -:102490002280E370FFF7DEF8FF22874BCA54013138 -:1024A0001029FBD10123854A5B425380844A538023 -:1024B000844A5380844A53800122844B1A7000233B -:1024C000FEF72DFA9288110AD9721A730023FEF7CB -:1024D00026FA9288110A59739A730023FEF71FFA9D -:1024E0009288110AD9731A740023FEF718FA928899 -:1024F0005A740023FEF713FA80235B00238093882D -:102500006D4AD35CA370FFF7A5F880235B0023809E -:102510006F4B1B68DB78F5E7C022D2002280DA7AA5 -:10252000A2701A7BE2705A7B22719A7B6271DA7B0D -:10253000A2711B7C7DE7614B15785C68644B186861 -:10254000C3787F2D00D998E0624D009E2E70002B3D -:102550000FD000250095982B00D194E004E00025D1 -:102560000095D02B00D18EE0584B10351D70FF2305 -:1025700004E0594B18609023C3706F33009382E0DE -:102580000720084003281AD8FDF7DCFF1C1E02179D -:102590004C4B802901D2FFF75DF8872916D970319D -:1025A000C9B2072901D9FFF755F800212170D17868 -:1025B000997292881A80FFF74DF8434BE9E7B523EB -:1025C000FEF7ADF93D4BE4E73D4BE2E79088D1786B -:1025D000C6B28D19BE22102D2CDC0432002929D060 -:1025E000DD78033AFF2D25D19D780132FF2D21D1D1 -:1025F0000022D7B28F4220D3384D0022AC464F0183 -:10260000013F1F727701000A67449870DA705A72AE -:102610009A721A80DA721A735A739A73DA731A7486 -:102620005A745F60244B9D19A8540132D3B28B4277 -:10263000FAD300222270FFF70DF80132B7181E4DB1 -:10264000013FEF5DFF2FD4D0C122F3E79378002B39 -:1026500004D0402B08D0D223FEF761F92370928872 -:102660001A4B1A70FEF7F6FF80235B002380174B8E -:102670001B7847E78023FEF752F9D82B00D06EE78E -:1026800080234468C37000234372C378902B01D029 -:10269000FEF7E0FF712901D0FEF7DCFF0E4B9188B9 -:1026A0001B685868017092885968120A4A705A7AF1 -:1026B00002325A72FEF7CEFFE704002038040020F1 -:1026C0004C0400206004002074040020A4040020B6 -:1026D000900400209804002094040020F8040020B6 -:1026E000F0B5194D040005A8067868690902C0B262 -:1026F0000843686190200421C00581622900002AF6 -:1027000001D101328262FF2500204A692D022A4050 -:102710001A430E4F4A61C046C046C046C0463A6999 -:102720000133120A22544A69DBB22A4001301A43AB -:10273000C0B24A61B042EED990230422DB059A610F -:10274000033A9A61F0BDC046000800480004004802 -:10275000F0B5184C050060690E02C0B230436061EC -:10276000902049B2C005002901DA0121816280214F -:10277000FF26C90081616169360231401143616100 -:10278000C04600200C4FC046C04639690132090AD4 -:1027900029546169D2B2314001301143C0B2616144 -:1027A0009842F0D990238022DB05D2009A62012260 -:1027B0009A61F0BD0008004800040048F0B5174CCD -:1027C00005000E0060691F2925D8802131430902C8 -:1027D000C0B20143616190210420FF26C9058862CF -:1027E00061693602314011436161C04600200C4FDF -:1027F000C04639690132090A29546169D2B23140AF -:1028000001301143C0B261619842F1D99023042292 -:10281000DB059A61F0BDC0B20902DAE700080048A2 -:1028200000040048002302000002002A04D1002B0B -:1028300001D0802318437047DB43511EDBB20A40AE -:10284000F3E70023800080B2C046C04601339BB24C -:102850009842F9D17047FFFF30B50722012409499A -:102860000868450D43086B404340C50FDBB26B4021 -:10287000013A23404000D2B21843002AF1D1086047 -:10288000C0B230BD9C040020134B10B55861134BEF -:1028900013481C680902204318605869C0B20143FC -:1028A000596190210820C9058862002A01D10132AE -:1028B0008A62C046C046C046C046C046C046C04602 -:1028C000C04690220821D2059161073991611A68AA -:1028D00004490A401A6010BD00080048000400487E -:1028E00000005555FFFFAAAA0F4B58619023DB0546 -:1028F000002901D101229A6204229A62C046C04690 -:10290000C046C046C046C046C046C046C046C04697 -:10291000C046C046C046054908699A61000A033AA4 -:10292000C0B29A617047C0460008004800040048E1 -:10293000F7B504000E004D7AC046C046C046C046FA -:10294000C046C046C046C046C0460022AA215848DC -:10295000FFF79AFF002255215648FFF795FF240202 -:10296000002220215248FFF78FFF23B20193EBB2E0 -:102970000093337AAB4216D28020009B0022737200 -:1029800090210002FFF780FF00228020110000024A -:10299000FFF77AFF80200022F0210002FFF774FF8A -:1029A000C0460020FEBD444B444A196808200A4333 -:1029B000FF211A605A690A40A02109020A435A619C -:1029C00090220121D20590629162C046C046C04665 -:1029D000C046FF24906191611A6839492C400A4031 -:1029E0001A60019B009A1C437368A4B2995C200092 -:1029F0000022FFF749FFC046C046C046C046C04659 -:102A0000C046C046C046C046C04600212000FFF771 -:102A10006BFF0700C046C046C046C046C046C04621 -:102A2000C046C046C0467368009A9B5C834217D07C -:102A3000C046C046C046C046C046C046C046C04666 -:102A4000C04600212000FFF74FFFB8420BD1C0461F -:102A5000C046C046C046C046C046C046C046C04646 -:102A60000135ADB283E7C046C046C046C046C04649 -:102A7000C046C046C046C046C046C046C046C04626 -:102A8000C046C046C046C046C046C046C046C04616 -:102A9000C046C046C046C046C046C046C046C04606 -:102AA000C04600212000FFF71FFF0700C9E7C0460E -:102AB000AA8A000055850000000400480000555512 -:102AC000FFFFAAAAF7B50F0003024D7A00933B7AE5 -:102AD000ECB2AB4202D27C720020FEBD0022AA21E1 -:102AE0001B48FFF7D1FE002255211A48FFF7CCFE04 -:102AF000009BEEB21E43002225213000FFF7C4FEEA -:102B000000221F213000FFF7BFFE23002033019376 -:102B10007B680022195D009B181980B2FFF7B4FE94 -:102B2000019B0134A342F3D1002229213000FFF799 -:102B3000ABFE00210098FFF7D7FE002104000098AB -:102B4000FFF7D2FEC0468442F3D12035ADB2BEE7D6 -:102B5000AA8A00005585000070B504000D0000220F -:102B6000AA210F48FFF790FE002255210D48FFF7DC -:102B70008BFE0022A0210A48FFF786FE00222900D2 -:102B80002000FFF781FE00212000FFF7ADFE0500C9 -:102B9000C04600212000FFF7A7FEA842F3D170BD78 -:102BA000AA8A00005585000070B504000D000022BF -:102BB000AA210F48FFF768FE002255210D48FFF7B4 -:102BC00063FE0022A0210A48FFF75EFE00222900D2 -:102BD0002000FFF759FE00212000FFF785FE0500C9 -:102BE000C04600212000FFF77FFEA842F3D170BD50 -:102BF000AA8A00005585000070B504000D0000226F -:102C0000AA210F48FFF740FE002255210D48FFF78B -:102C10003BFE0022A0210A48FFF736FE00222900D1 -:102C20002000FFF731FE00212000FFF75DFE0500C8 -:102C3000C04600212000FFF757FEA842F3D170BD27 -:102C400055550000AA2A0000C90152080A43FF2175 -:102C5000F0B585B00293234B0500586912B2090202 -:102C60001140C0B20143902459610121E405A162E1 -:102C70000331A162FF213F2658690902D2B2084000 -:102C800010435861B4460020174F01930391C0468A -:102C9000C046C046C046C046C046C046C046634661 -:102CA000396926698908F6089E4319403143295439 -:102CB0003E69411C019BC9B2360A6E545969039B97 -:102CC00001321940D2B2019B114359610230029B7B -:102CD000C0B28342DBD20423A361033BA36105B0EE -:102CE000F0BDC04600080048000400481E4B1F4AC3 -:102CF00070B5586110681E4BFF2603431360902384 -:102D0000A020DB051C6840032043186050690C02BA -:102D10003040204350615569164C080A2540840014 -:102D2000254355615C69144DC0002C4004435C612F -:102D30005069C9B2304009020143516108200121A4 -:102D400099629862C046C046C046C046C046C0466A -:102D50009861996111680730014011601A6807494C -:102D60000A401A6070BDC0460008004800040048D0 -:102D70005055555503FF0000FFF90000FFFFC3FF4A -:102D8000902270B5012104240D4BD2055861916247 -:102D90009462C046C046C046C046C046C046C02633 -:102DA000084B1869156900061B69ED083540800E4F -:102DB00028431B0ADBB2000294611843916170BD85 -:102DC000000800480004004870B504000D000D48DC -:102DD000AA21FFF78BFF55210B48FFF787FFA021A2 -:102DE0000848FFF783FF29002000FFF77FFF20003E -:102DF000FFF7C6FF05002000FFF7C2FFA842F6D18B -:102E000070BDC04655550000AA2A0000002070473A -:102E10000F4B30B59022586180230124D205DB008E -:102E200093620C4B94621D680B480902284318609A -:102E30005869C0B201435961C04608219162C04639 -:102E400091611968054801401960946130BDC04620 -:102E5000000800480004004800005555FFFFAAAADA -:102E60000B4B10B580215861902301220424DB050F -:102E7000C90099619A629C62C046C046C046054836 -:102E800000699C61000A9962C0B29A6110BDC04697 -:102E900000080048000400480E4B984202D88023E6 -:102EA0001B0218430C4B0D4A58610D4B0902186860 -:102EB00002431A605A69D2B211435961C046902246 -:102EC0000821D2059162C04691611A6805490A40FD -:102ED0001A607047FF1F00000008004800005555A9 -:102EE00000040048FFFFAAAA0A4B984202D8802398 -:102EF0001B021843084B042258619023DB059A6299 -:102F0000C046C046C046C046044908699A61000AE6 -:102F1000C0B27047FF1F00000008004800040048CE -:102F200070B504000D000D48AA21FFF7B5FF55212B -:102F30000B48FFF7B1FFA0210848FFF7ADFF2900BC -:102F40002000FFF7A9FF2000FFF7CEFF0500C046D5 -:102F50002000FFF7C9FFA842F5D170BD551500004C -:102F6000AA1A000070B504000D000D48AA21FFF751 -:102F700093FF55210B48FFF78FFFA0210848FFF76B -:102F80008BFF29002000FFF787FF2000FFF7ACFF31 -:102F90000500C0462000FFF7A7FFA842F5D170BD8D -:102FA00055150000AA0A000030B580239024DB00EC -:102FB000E405A361104B114A58610223A362104B30 -:102FC00009021D6800B22A431A605A69D2B211433D -:102FD0005961002801DA0121A162C046C0460121E1 -:102FE000A1614918A1611968064801401960802350 -:102FF000DB00A36230BDC046000800480000555504 -:1030000000040048FFFFAAAA9023DB0530B51C6826 -:10301000174D09022C401C60DA68164C2A40DA6011 -:10302000154A506102229A62144A00B215682C4374 -:1030300014605469E4B221435161002801DA01218E -:1030400099628021C9009961C046C046C046C04609 -:10305000C046C046C046C046C0469962012199613B -:1030600049189961136806490B40136030BDC0468A -:10307000FFEFFFFF0000555500080048000400481E -:10308000FFFFAAAAF7B505001C4B01911E781C4B47 -:1030900074001F8820213C19A4B22000FFF7B4FF60 -:1030A000AA211848FFF7F8FEA01B80B21021FFF7F5 -:1030B000ABFF55211448FFF7EFFE20212000FFF75A -:1030C000A3FFA0210F48FFF7E7FE104B18784643F7 -:1030D0000101BE19C9B2B0B2FFF796FF01992800ED -:1030E000FFF7DAFE2800FFF7FFFE0400C0462800C5 -:1030F000FFF7FAFEA042F5D1F7BDC046A3040020B9 -:103100003604002055150000AA0A00008C04002097 -:1031100070B50400B0200E0000020A21FFF774FF12 -:10312000C0200A210002FFF76FFFAA211248FFF713 -:10313000B3FE55211148FFF7AFFEA0210E48FFF75F -:10314000ABFEB0200E4B00021D782900FFF75CFF9C -:10315000C02029000002FFF757FF31002000FFF7D1 -:103160009BFE2000FFF7C0FE0500C0462000FFF7D1 -:10317000BBFEA842F5D170BD55150000AA0A00009B -:103180008C040020F8B505000E00194B02211C88A4 -:10319000A71CBFB23800FFF737FFAA211548FFF779 -:1031A0007BFE601C80B20121FFF72EFF55211248E3 -:1031B000FFF772FE02213800FFF726FFA0210D481D -:1031C000FFF76AFE0D4B19786418A0B2FFF71CFFD9 -:1031D00031002800FFF760FE2800FFF785FE04009D -:1031E000C0462800FFF780FEA042F5D1F8BDC046DA -:1031F0003604002055150000AA0A00008C040020A7 -:103200000B4B5861902300B2DB05002801DA012244 -:103210009A628022D2009A61C046C046C046C0462B -:10322000044908699A620122000AC0B29A61704793 -:10323000000800480004004870B504000D00A021FB -:10324000FFF7B2FE29002000FFF7AEFE2000FFF7D7 -:10325000D7FF0500C0462000FFF7D2FFA842F5D1F6 -:1032600070BD70B50400A0200D00C0015421FFF70F -:10327000CBFEA0212000FFF797FE29002000FFF7DA -:1032800093FE2000FFF7BCFF0500C0462000FFF7BB -:10329000B7FFA842F5D170BD70B50400A0200D00A5 -:1032A0000D4BC0011978FFF7AFFEAA210B48FFF7BD -:1032B000ABFE55210A48FFF7A7FEA0210748FFF7FC -:1032C000A3FE29002000FFF79FFE2000FFF798FFD4 -:1032D000A842FAD170BDC0468C04002055D500002C -:1032E000AAAA000070B50400C0200D000002012150 -:1032F000FFF78AFEAA211548FFF786FEC0200021AD -:103300000002FFF781FE55211148FFF77DFEC02026 -:1033100001210002FFF778FEA0210C48FFF774FEA0 -:10332000C0200C4B00021978FFF76EFE2900200028 -:10333000FFF76AFE2000FFF763FF0500C04620008C -:10334000FFF75EFFA842F5D170BDC046559500005D -:10335000AAAA00008C04002070B504000D001048DB -:10336000AA21FFF751FE55210E48FFF74DFEA0217F -:103370000B48FFF749FE29002000FFF745FEA0207B -:10338000094B00021978FFF73FFE2000FFF738FFD6 -:103390000500C0462000FFF733FFA842F5D170BDFD -:1033A00055D50000AAEA00008C04002070B5040086 -:1033B0000D001048AA21FFF727FE55210E48FFF700 -:1033C00023FEA0210B48FFF71FFE29002000FFF776 -:1033D0001BFE802002210002FFF716FE2000FFF7EF -:1033E0000FFF0500C0462000FFF70AFFA842F5D1F5 -:1033F00070BDC04655D50000AAAA00000D4B0E4A6C -:1034000058610E4B0902186802431A605A69D2B219 -:103410001143902259618021D2051068490101436E -:1034200011604021916291611A6805490A401A6051 -:103430007047C04600080048000055550004004889 -:10344000FFFFAAAA104B114A10B558611068104B23 -:1034500009020343136053690E4CDBB219439023F6 -:1034600051618021DB05186849010843186040203C -:103470009862186820401860D8680143D9601368C2 -:1034800005490B40136010BD0008004800040048C7 -:1034900000005555FFEFFFFFFFFFAAAA70B505001A -:1034A0000E00134B00211C882000FFF7ADFDAA2160 -:1034B0001048FFF7C7FF55210F48FFF7C3FFA021B2 -:1034C0000C48FFF7BFFF0D4B19786418A0B2FFF747 -:1034D0009BFD31002800FFF7B5FF2800FFF790FEA5 -:1034E0000400C0462800FFF78BFEA042F5D170BD56 -:1034F0003604002055550000AA2A00008C04002044 -:1035000070B504000D000D48AA21FFF79BFF55215F -:103510000B48FFF797FFA0210848FFF793FF29000A -:103520002000FFF78FFF2000FFF76AFE0500C0466E -:103530002000FFF765FEA842F5D170BD555500008B -:10354000AA2A0000902270B50225D2059561C046D6 -:10355000C046C046C046C046C04601240D4B9461DB -:103560001E680D49314319600C4909885961C046EC -:1035700095625861C04694621A6809490A401A6007 -:10358000C046C046C046C046C046C046C046C0460B -:1035900070BDC0460008004855555555A004002090 -:1035A000AAAAAAAAF0B58BB009920122089111002B -:1035B000354B02901F78354B1B780493344B1D68B4 -:1035C000344B1B789940344B01911868334BA962F6 -:1035D0001B789A40029B102B4FD18262012421005C -:1035E0002F4B05941B6806932E4B1B7899408BB28A -:1035F000210007932C4B1B689C462C4B1B78994051 -:10360000002303911900029C202C05D1049E059CE7 -:103610001E41264236D08261089C202C0FD1002BFF -:1036200001D11A4C6354069C2669079C264206D099 -:10363000164C665C059C9C402643144C6654099CC1 -:10364000013FFFB2002C03D0002F01D1019CAC61DF -:103650006446039E0133DBB2A661A662082B05D146 -:1036600001310A4BC9B25B5C04930023002FCAD11D -:10367000019B8262AB620BB0F0BD029B112BADD1FE -:103680008261ABE78262C7E7E5040020C504002041 -:103690002C070020300700201C07002020070020F6 -:1036A0002407002028070020140700201807002006 -:1036B000F7B501221A4B1C781A4B19681A4B1B7864 -:1036C0009A40102826D18A6201263500174B0196B0 -:1036D0001B680093164B1B789D400023AC461D00D1 -:1036E00020280DD1134E019F765D1E413E4215D01C -:1036F0008A610133DBB2082B02D100230135EDB220 -:103700006646009F013CE4B2BE61BE62002CE7D178 -:103710008A62F7BD1128D7D18A61D5E78A62E8E7C6 -:10372000E50400202C0700203007002014070020AB -:1037300018070020C5040020F0B52C4B85B01B787D -:10374000019301231E00019A1F009640284A116828 -:10375000284A8E62127802921A0002988240944699 -:103760006046254A12689062244805782448AF4094 -:1037700000689D408762046803941C00AC402500EB -:10378000039C254305604568019CBD4345609C4002 -:103790001D00A54008681C00284308604868B04325 -:1037A00048601068029999408C40210001436046AE -:1037B000116051688143134851600078124A984063 -:1037C00083401268116899431160D1680B43D3603C -:1037D000002319000D4A13700D4A99540133202B10 -:1037E000FBD180220B4B1A7005B0F0BD30070020D2 -:1037F0002C070020200700201C07002018070020AD -:10380000140700202807002024070020E5040020DA -:10381000C5040020E604002010B52B4B1B78082BB4 -:103820004ED013D8294C032B39D006D8012B28D0E1 -:10383000022B2AD0254BEE223AE0062B3AD03DD877 -:10384000042BF7D101222021112021E00F2B28D0B9 -:1038500008D81E4C0D2B1FD000220E2BEAD12021A0 -:10386000102015E0802B06D0184CFF2B06D0102B13 -:10387000E0D100221FE0FFF75FFF10BDF0232370AF -:10388000FBE72020FFF714FF04E0012200212020A5 -:10389000FFF788FE8223F2E700221100F7E70122FA -:1038A000DDE7002220211120FFF77CFE8222074B5A -:1038B0001A70E2E7012220210800E9E71020E1E781 -:1038C0001120FFF7F5FEF1E7C4040020E604002014 -:1038D000BC224D4BD203996AF0B50A439A629A6AA8 -:1038E0004A490A409A62B022596952030A435A610E -:1038F00019009023464ADB051278102A03D10022D2 -:103900001A609A60DA601A684248012402401A601C -:103910008022D868D2010243DA601A683E483F4FDD -:1039200002401A608022D868520302430420DA6001 -:103930001A68A2431A60DA682243DA601A6882437E -:103940001A60DA680243DA6010221D6895431D6030 -:10395000DD682A43DA6040221D6895431D60DD68FA -:103960002A43DA601A682E4D2A401A608022DD68E8 -:10397000D2042A43DA601A682A4D2A401A6080224B -:10398000DD68D2052A43DA601A68274D2A4080256F -:103990001A60DA68ED022A43DA60244A1668A64300 -:1039A0001660D6683443D4601E683E401E60DC68F2 -:1039B0003C40DC6080234C691B0323434B611C4B60 -:1039C0001C4C1E681C4F26431E601E683E401E6035 -:1039D000DE683443DC604B691D434D611368174D4D -:1039E0002B401360D468164B1C43D46011682940E7 -:1039F0001160D1680B43D360136883431360D368AD -:103A00001843D060F0BDC04600100240FFFFA1FF88 -:103A10000A070020FFBFFFFFFFFFEFFFFFEFFFFFE1 -:103A2000FFFFFFFBFFFFFFBFFFFFFBFF000400489E -:103A30000008004855555555AAAAAAAAFFFFAAAAE8 -:103A4000000055550D480E4A038810B50D499342A4 -:103A500002D10A7801320A7090220424D20501337F -:103A600094620380084B18699461084C0B78626972 -:103A70001B02D2B2134380B2636110BD8A040020DE -:103A8000FFFF0000880400200008004800040048F0 -:103A9000F7B50D00042701924C7A000203B2A6B2DA -:103AA00000932B7AB34202D26C720020FEBD0098C4 -:103AB0006B682043195D80B2019B98476B681A5D63 -:103AC000094B824205D01A683A431A6002229A6171 -:103AD000E7E71A680134BA431A60DA6801363A43F4 -:103AE000DA60E4B2B6B2DCE700040048F7B50D00D6 -:103AF0001600FF27000203B24C7A01932A7AE3B240 -:103B0000A24202D26B720020FEBD20006A683840DB -:103B1000D15C019B0134184380B2B047A4B2EDE7F9 -:103B2000022907D10F4B104A984218D0904209D170 -:103B3000180007E0032906D10A4B0B490B4A9842AB -:103B40000BD1080070470429FCD1064B064A984265 -:103B500005D006499042F4D0054A8842E6D11000CB -:103B6000F0E7C046380400204C0400206004002028 -:103B70007404002070B506000D0005243000013CDF -:103B8000FFF73EFBE4B229003000FFF73DFA6D0875 -:103B9000002CF3D170BDFFFF70B50400A0200D0014 -:103BA00000020221FFF7E6FFAA211048FFF774F98F -:103BB00055210F48FFF770F9A0210C48FFF76CF969 -:103BC000A0200C4B00021978FFF7D4FF2900200039 -:103BD000FFF762F92000FFF787F90500C0462000D3 -:103BE000FFF782F9A842F5D170BDC0465515000017 -:103BF000AA0A00008C04002070B50400C0200D004B -:103C000000020521FFF7B6FFAA210D48FFF7FCF9D6 -:103C100055210C48FFF7F8F9A0210948FFF7F4F9FE -:103C200029002000FFF7F0F92000FFF7E9FA05006E -:103C3000C0462000FFF7E4FAA842F5D170BDC046A7 -:103C400055550000AAAA0000F7B501230225294F07 -:103C500001923A780091054393400421A020264E1A -:103C60002D049BB229433268C00100F0B9FE040064 -:103C700001283DD13B7809209C4005437830A3B210 -:103C800032682900FF3000F0ABFE040001282FD17C -:103C90003B7832689C402900A3B2002000F0A0FECF -:103CA0000400012824D1009B180AFEF7BBFD3B78D5 -:103CB00032689C402900A3B200F092FE0400012863 -:103CC00016D16B461878FEF7ADFD22003B7829002F -:103CD0009A4093B2326800F083FE0198FEF7A2FD8D -:103CE0003B7832689C402900A3B200F079FE0400C2 -:103CF000E0B2FEBD100700200C070020F7B501233D -:103D00000225274F00903A78019105439340042102 -:103D1000C020244E2D049BB229433268800100F05C -:103D20005FFE0400012838D109231D433B78C020E1 -:103D30009C403268A3B22900400000F051FE04000C -:103D400001282AD13B7832689C402900A3B2002088 -:103D500000F046FE040001281FD1019B180AFEF75F -:103D600061FD3B7832689C402900A3B200F038FE28 -:103D70000400012811D16B461879FEF753FD22008B -:103D80003B789A4093B2009A14430922E1B20904A5 -:103D90001143326800F024FE0400A0B2FEBDC0460C -:103DA000100700200C070020C64BC74AF0B51A6068 -:103DB000C64A8BB01A6002225A60A02212019A6091 -:103DC0000493049BDB68002BFBD19022049BC04929 -:103DD00012031960BF4B186802431A6080220991D0 -:103DE000920219681142FCD0012259680A435A60B4 -:103DF0008022596852020A435A608022596852034D -:103E00000A435A608022196852040A431A608022C9 -:103E1000920419681142FCD01121AF4AAF4C1160D5 -:103E20005A680E398A43110002220A435A608022DE -:103E3000196B0A431A638022D96912040A43DA61B2 -:103E4000A74BE381BC231B689847A64B6382A64B14 -:103E5000238262B6FFF73CFDF022A44B1A70049B4C -:103E6000099AA34E1A603278202311009943D2296F -:103E70001BD1A049A048C978C3780224FF2904D1E6 -:103E8000FF3B1C00631E9C41E4B29C4BDB78FF2B84 -:103E900000D003249A4BDB78FF2B00D00424994BED -:103EA000994F1C703860D22A59D03378F22B05D143 -:103EB0000022023B3370944B1B68DA703578D02DAA -:103EC00000D088E2904E3068C378802B00D082E228 -:103ED0008C4B1978FFF724FE00233060C5700688EC -:103EE00004004372C07AF5B21038232800D970E27A -:103EF000FCF742FBDC01FF013F0243026F026F024D -:103F00006F026F026F026F026F026F026F026F0229 -:103F10006F026F0238008D00E000E50010011A0109 -:103F200021015D0173017B016F026F026F026F025D -:103F30006F026F02BB019B00450082012100FFF769 -:103F4000EFFD01230135EDB2A542F7D3002B00D0E0 -:103F5000386080223B68DA70D0233370A5E70023F5 -:103F60000125F1E7E17B0F2900D957E2090131432F -:103F7000237AA278C9B26068FEF7EAFB53E0E17BDE -:103F80000F2900D94AE2636809019C46237AA27886 -:103F900002935E4B0E4376B25969F0B2C9B2000289 -:103FA000014359611F00002E03DA90210120C90549 -:103FB0008862FF2559692D02294011435961C04685 -:103FC000902080260023C005F60005958661C04636 -:103FD000C046C046C046C046C046C046C046C046B1 -:103FE00065464B4901320969D2B2090AE954866231 -:103FF0007969059D01332940114379610299DBB24A -:104000009942E3D20122866282616372DCE03C2342 -:10401000E17B0A009A4300D000E2237AA278294388 -:104020006068FEF7CBFB6072CEE0E17B3C230A00C8 -:104030009A4300D0F2E1636829439C46237AA5782D -:104040000293324B5A691F292FD88020014309025D -:10405000D2B20A435A61FF27902104265A693F02CF -:104060003A40C9052A435A618E628E61C046C046F5 -:10407000C046002205978E62C046C046C0466746CD -:10408000234801350069EDB2000AB8545869059F0C -:104090003840284358618E61C046C04601320298BC -:1040A000D2B29042E7D262728EE0D2B209021143DC -:1040B0005961D0E7237AA278E17B29435BE7E17B72 -:1040C0003F23A6E700300040CCCC0000555500004F -:1040D000AAAA000000100240002002400060004038 -:1040E0003CA5FFFF4108000885080008E604002001 -:1040F000A40400204C0400203804002060040020A8 -:1041000074040020A204002090040020000800484D -:1041100000040048227AE17BA37800920022294320 -:104120006068FEF7DDFA7EE7E17B227AA378294317 -:1041300000920122F4E7BA4BE17B586929430E0251 -:10414000C0B230436568A278277A5861902004266F -:104150006031C005C9B286621E001F2901D8012145 -:104160008162FF2059690002014011435961C04634 -:10417000AC4900238C46C046C046C046C046C04637 -:10418000C046C046614609690132090AE9547169AD -:10419000D2B2014001331143DBB271619F42EAD2D6 -:1041A00090220421D2059161033991612DE7002508 -:1041B000267A67687608FFF745FC0135EDB238804E -:1041C0000237AE42F7D26572974B1B6819889A7A0C -:1041D00052181A80D822DA70FDE0E17B237AA278A7 -:1041E00029436068FEF730FD1DE7E17B237A294310 -:1041F0000131A278FF31F4E76368E17B9C46884B8C -:1042000029435A690902D2B20A43A678277A5A6129 -:1042100090220121FF20D2059162033191625A69F7 -:104220000002024032435A6100227E4D0290C04695 -:10423000C046C046C046C046C046C046C0466046AE -:1042400029690136090A815459690298F6B2014078 -:1042500001323143D2B259619742E8D2902304210E -:10426000DB059961012199611DE7A3786668277ACA -:10427000002B02D12802FFF765F9694A902000233C -:1042800004259446C0058562C046C046C046C04667 -:104290006246116985618AB2120AF2545A1C0233CD -:1042A000D2B2DBB2B1549F42EDD2AEE6E37B1E2B1D -:1042B0000BD1C020B6092233F1B200029D43FEF7B4 -:1042C000A3FE237AA2788021F7E61C2B00D07BE79F -:1042D000A0208121C001FEF797FE8020F609F1B2EF -:1042E0000002FEF791FEA0200021C001FEF78CFE27 -:1042F0006AE7E37BFE2B00D066E77609F1B24B4814 -:10430000FEF7CAFD1F21636829409C46444B090201 -:104310005A69A678D2B20A43277A80215A6190223C -:10432000C900D20591610121FF20916203319162A0 -:104330005A690002024032435A61C0460022394D98 -:104340000290C046604629690136090A81545969BC -:104350000298F6B2014001323143D2B2596197421C -:10436000EFD290230421DB0599618021C900996275 -:1043700078E7237AA27860219FE6E37B002B20D1A7 -:104380008033F6091D43F3B20393FF20039B2549B5 -:104390009B004A6903402648024013434B61C020FA -:1043A0009021039BC905C000DB004A6903402148F6 -:1043B000024013434B61227AA37829000092002225 -:1043C000AEE6012BE1D140217604760E3143039114 -:1043D000DBE7C323E370184B1D78F02D00D0CEE24D -:1043E000114E3468E378982B00D0C8E2134B2000BC -:1043F0001978FFF795FB00233060C370E07AE57011 -:1044000025881038EEB2052800D9B6E2FCF7B4F8DA -:10441000180052011F022702E600AD02C423D9E7AB -:10442000000800480004004890040020FF3F0000FE -:1044300003FF0000FFF90000A4040020A2040020F4 -:10444000E37B002B06D130008038C0B2DD4A21006A -:10445000FFF71EFBE37B012B06D130008038C0B292 -:10446000D94A2100FFF742FBE37B022B06D1300043 -:104470008038C0B2D54A2100FFF738FBE37B042B1C -:1044800006D130008038C0B2D14A2100FFF700FBCE -:10449000E37BFC2B06D130008038C0B2CD4A21002E -:1044A000FFF7F6FAE37B0A2B06D130008038C0B262 -:1044B000C94A2100FFF7ECFAE37BFD2B15D13F2021 -:1044C000238830409B0905936B4680261B7D06435D -:1044D0000793677ABBB2029333021BB20893237A25 -:1044E000029A934200D380E06772E37B1E2B06D1D1 -:1044F00030008038C0B2B94A2100FFF7C9FAE37B27 -:104500000C2B17D11F20304080260643C020258861 -:10451000A5216D09EDB2C001FEF776FD2900B04876 -:10452000FEF772FD677A35023D43237ABB4200D322 -:10453000A3E06772E37B1C2B21D1AA21A948FEF7D7 -:1045400033FD5521A848FEF72FFD2021A548FEF791 -:104550002BFD30008038A54A2100C0B2FFF798FA41 -:10456000802090210002FEF71FFD80200021000224 -:10457000FEF71AFD8020F0210002FEF715FDE37B17 -:104580001F2B21D1AA219A48FEF70EFD55219948EB -:10459000FEF70AFD20219648FEF706FD3000703830 -:1045A000954A2100C0B2FFF773FA902090210002D3 -:1045B000FEF7FAFC902000210002FEF7F5FC9020A7 -:1045C000F0210002FEF7F0FCE37B6F2B06D13000F8 -:1045D0008038C0B2894A2100FFF75AFAF4232288B2 -:1045E000E370A37A9B182380C9E100218448FEF779 -:1045F0000BFDAA218348FEF701FF55218248FEF7F3 -:10460000FDFEA0217F48FEF7F9FE6B46187D7F4B2B -:104610000799C01880B2FEF7F7FC089D63683D4318 -:10462000ADB2D95D2800FEF7E9FEC0462800FEF7CE -:10463000E7FD06902800FEF7E3FD069B8342F4D1D8 -:1046400063680699DA5D724B8A420FD1029A196843 -:10465000013292B20292042291431960D968013763 -:104660000A43DA600222FFB29A6238E7042219682C -:104670000A431A6002229A6131E7AA216548FEF7CF -:10468000C3FC55216448FEF7BFFCA0216148FEF73A -:10469000BBFC63682800D95DFEF7B6FCC046280065 -:1046A000FEF7AEFD02902800FEF7AAFD029B8342B2 -:1046B000F4D13AE7E37B002B04D1584A21003000C3 -:1046C000FFF714FAE37B012B04D1554A2100300097 -:1046D000FFF70CFAE37B032B04D1524A2100300090 -:1046E000FFF704FAE37B042B04D14F4A210030008A -:1046F000FFF7FCF9E37B0A2B04D14C4A2100300080 -:10470000FFF7F4F9E37B0B2B04D1494A2100300079 -:10471000FFF7ECF9E37BFE2B00D05FE721884548EB -:104720004909C9B2FEF7B8FBAA214348657AFEF7EA -:104730006FFB55214148FEF76BFB3F482021FEF7F8 -:1047400067FB1F2030400302AFB20593237ABB42C0 -:104750000DD2657290210020FEF75AFB002108005F -:10476000FEF756FBF0210020FEF752FB36E7059ED0 -:10477000A0212E433000FEF74BFB63683000595DEB -:10478000FEF746FBC0463000FEF76AFB02903000A1 -:10479000FEF766FB029B8342F4D1636802995A5D7F -:1047A0001B4B8A424CD104211A6801358A431A6096 -:1047B000DA6801370A43DA600222EDB2BFB29A62C8 -:1047C000C4E7C04601350008F93B00089D340008E5 -:1047D000AD3300080D2E000859330008E5320008FB -:1047E000FFFF0000AA8A0000558500006332000820 -:1047F000AA9A000055950000393200089932000845 -:1048000069FD000055550000AA2A000069FDFFFF60 -:104810000004004855D50000AAAA0000652F000832 -:10482000993B000885310008212F0008113100084C -:1048300085300008FF3F0000AA0A0000550500006F -:1048400004211A680A431A6002229A617EE7300046 -:1048500060305A4A2100C0B2FFF748F9BEE6E37B58 -:10486000042B06D130008038C0B2554A2100FFF732 -:104870003DF9E37B052B04D1514A21003000FFF7BD -:1048800035F9E37B062B06D130008038C0B24D4AA3 -:104890002100FFF72BF9E37B072B04D1494A2100C4 -:1048A0003000FFF723F9E37B0A2B06D13000803874 -:1048B000C0B2454A2100FFF7EBF8E37B0B2B04D194 -:1048C000414A21003000FFF7E3F8E37B082B05D1D4 -:1048D00030008038C0B22100FEF7F4F8E37B092BEA -:1048E00003D121003000FEF7EDF8E37B002B1CD153 -:1048F000FF2280331E4323883448DB09DBB29D004E -:1049000041692A40324DDB0029400A43426190222E -:10491000C020D205C000516903402E4801400B431E -:10492000536121003000FEF703F8E37B012B00D038 -:1049300054E62388254A5B04580E40230343FF2096 -:104940009B0051690340224801400B439021536171 -:10495000C9054B691F4A30001A4080239B0013434E -:104960004B612100FDF7E4FF38E62D02667AADB217 -:10497000237AF0B2B34210D26072C323E370164BB5 -:104980001B78F02B01D1FFF76AFA832B01D0FFF7D8 -:1049900066FAFEF741FFFFF762FA63680236195CB8 -:1049A0000130C0B21B5C0902C9184008284389B213 -:1049B0000135FEF709FAADB2B6B2D9E70930000801 -:1049C000F92B0008A92B0008592B00080004004807 -:1049D00003FF0000FFF90000E6040020FFFFFFFFD7 -:1049E000F0B5474680B4061C081C000C102801D501 -:1049F000162700E004270007000F8046FF20014033 -:104A00005468251C1D439C43F60313850AD5C046F4 -:104A1000C046C046C046C046C046C04694801383C8 -:104A2000958002E0012000F081F801390AD4381C99 -:104A300000F07CF8C046948013839580C046C04641 -:104A40007600E2E7381C013800F070F89480138398 -:104A50009580042000F06AF8108A184001D0FF20E9 -:104A600061E0C046C046C046C046C046C0469480CD -:104A70009580108A184055D001200226B04552D0AA -:104A80000921168A1E40FCD1012000F04FF89480C5 -:104A9000C0469580C04603E0C046C046C046C046FA -:104AA000948095807600108A1840EFF300804000D3 -:104AB000C00F0643381C023800F038F89480958007 -:104AC000022000F033F80139EAD5138594800120E3 -:104AD00000F02CF813839580301C8021022399402C -:104AE0000E401BD1002341085E4149085E41490840 -:104AF0005E4149085E4149085E4149085E414908F6 -:104B00005E4149085E4149085E41760808D3400885 -:104B1000FF21084048400002013004E00E2002E07E -:104B2000092000E0002080BCB846F0BD0138FDD16E -:104B30007047C04603685A0003D45B005B08C01886 -:104B40007047802212061343F9E7C046F0B5574676 -:104B50004E46DE464546E0B5814683B09246002982 -:104B600025D04B1E9B46002701935B46FB18DC0FAC -:104B7000E4184B466410E5005E193000FFF7DAFFD9 -:104B8000019B8046A3420BD0280008304844FFF721 -:104B9000D1FFD04506D80138504509D2671CE4E75B -:104BA000504505D9A74202D0631E9B46DDE700268B -:104BB000300003B03CBC90469946A246AB46F0BDDF -:104BC000012809D0022805D0002801D00020704714 -:104BD0000248FCE70248FAE70248F8E7B552000845 -:104BE000CD520008C152000830B5234B83B00500F8 -:104BF0008C1E002B26D001A9200000E000BF002859 -:104C00001CD001992200FFF7A1FF041E16D0FFF768 -:104C100091FF6368A864012B2AD0201D002B23DBA1 -:104C2000FFF788FF0023E8642B650368002B0FDB88 -:104C3000FFF780FF2861002003B030BD002309206A -:104C40002B61F9E70D480E49091AC9100191D9E7FE -:104C50001801000FFFF7B4FF2861431E9841082395 -:104C6000404298430930E7E70123E8642B65DCE71D -:104C7000002305202B61DFE700000000B05B000887 -:104C8000805C0008036810B50400DA0705D44830DA -:104C90009B070ED500F06CFC23685A070ED51A0747 -:104CA00013D5DB0604D42000D130FF3000F06CFCBB -:104CB00010BD00F059FC23685A07F0D42000D03012 -:104CC00000F05AFC23681A07EBD420005130FF3063 -:104CD00000F056FC2368E4E70368002B00D01B18A3 -:104CE00018007047092070477047C04670B504002F -:104CF0000D0008E02B6C2A0063612100012023696C -:104D00009847082807D1296C2000FFF76DFF00287D -:104D1000F0D000F083FE0728FBD10020296CFFF7BC -:104D2000E3FF281D00F00AFCF0B5CE46474680B5EB -:104D3000C3682E4C9846A5448369060014000431CC -:104D4000402205A8994600F071FE002304AD0493AB -:104D500023E0F0222B6C5200736129007CA800F044 -:104D600065FE7CAA31003369200098478A9B0700C2 -:104D70006B6403934B46009501933200330021008E -:104D80000120C04700281FD1F0227CA95200280032 -:104D900000F04CFE0024082F1FD1296C3000FFF7D3 -:104DA00023FF611E8C41070009340028D1D0AB6B72 -:104DB00010216B644B462143019300953300320070 -:104DC0000120C047002800D009273800F5239B00A8 -:104DD0009D440CBC90469946F0BD072FF4D12000AD -:104DE000296CFFF781FF05A800F0A8FB2CFCFFFF52 -:104DF000406C704770B5CB6BFAB00B6404000E00CA -:104E00004022043103A800F011FE01235B4202930B -:104E100006E002AA210023699847050008280AD164 -:104E2000129B200019000193FFF7DEFE0028F0D04E -:104E300009207AB070BD02A8FFF724FF062DF7D134 -:104E400031002000FFF752FF10B58261DA6BC160BC -:104E50001A6419000022FFF767FF10BD436970B59F -:104E60000B64C36804000D00002B15D10A002369F0 -:104E7000010002209847072807D0082803D12900FD -:104E80002000FFF733FF00F0C9FD0020296CFFF779 -:104E90002BFF281D00F052FB0122FFF745FF00F019 -:104EA000BDFDC046C36810B5002B05D0CB6B0022FA -:104EB0000B64FFF739FF10BDFFF79CFFFBE7C0460F -:104EC0007047C046836810B5002B02D00100012056 -:104ED000984710BD012906D0002906D003390220C9 -:104EE000012900D970470120FCE7002B08D10F2AC7 -:104EF00006D8920082185268009B00201A60F1E7E1 -:104F00000220EFE700B585B003AB0A000093002153 -:104F10000023FFF7DFFF039805B000BD012906D08D -:104F2000002906D003390220012900D97047012049 -:104F3000FCE7002B08D10F2A06D8009B92001B68C3 -:104F4000821853600020F1E70220EFE700B585B03A -:104F500003AB039200930A0000230021FFF7DEFF5A -:104F600005B000BD70B51A4CD36BA54413640600A0 -:104F70000D0019A8111D402200F058FD01235B42CD -:104F8000189314E00C2118A802AAFFF7DFFF2900EC -:104F900018A8B047002812D1069B18AA02A9083009 -:104FA00001939847040005280AD0092807D0289BB8 -:104FB00002A819000193FFF717FE0028E2D0092488 -:104FC00018A8FFF75FFE200090239B009D4470BD52 -:104FD000C0FDFFFFF0B5DE4657464E464546E0B5FC -:104FE000160003220D0011008BB01F000193EB6C23 -:104FF00001401C1D009107A91B688B460894002FD7 -:105000006BD01A0C1B045946079302230B72FD3315 -:1050100013409B004A72E418009B022B00D1AC6B3A -:105020002B6DDB0747D4002305930833034002931D -:105030002768002F00D112E1019B022B49D0638821 -:10504000278898460434012340469A469843AB6C1F -:105050000F21994681443000FFF754FF002181451C -:1050600006D8390053469943494488428941494208 -:1050700043465A0002231340012217403B43012BB1 -:105080003AD0002B30D0022B1BD12368009A5F004E -:105090007F08002A67D1002906D0029A002A00D191 -:1050A0007CE0002F00D1A9E0002B00DA04340137A6 -:1050B000BF00E419BCE75946300000F00BFB0028A4 -:1050C00010D009200BB03CBC90469946A246AB4696 -:1050D000F0BD636808349846B5E71B0207935B464A -:1050E0001A8199E70820EDE7009B002B02D00029E8 -:1050F00000D08DE004349BE7009B002B1AD10029DF -:1051000016D02368DF0F63689A1CDAD02A00583261 -:105110000692013300D1BDE0201DFFF7DDFD06AB97 -:1051200001003A00280000E000BF002800D082E023 -:1051300008347DE70D2130002F6AFFF7E3FE874238 -:10514000F6D1AB6A9C42F3D12000FFF7F3FC0F21AC -:1051500002003000FFF7FAFE30002A000021FFF7BE -:10516000F5FE0720AEE72B6A0D2130009846FFF7C9 -:10517000C9FE804501D0236896E7AB6A9C42FAD10C -:105180000023EB6204332B63231DAF626B63236840 -:10519000002B00DA86E00123059388E7002F2DD04D -:1051A00058239C46AC4463460393231D9946002331 -:1051B000984606AB220004933B004C464746B24655 -:1051C00098462E00914603E004342F00454542D016 -:1051D000039B20000693FFF77FFD049B0100002244 -:1051E00030007D1C00E000BF0028EDD04346B846EB -:1051F00035004C4656461F009845BCD10D21300065 -:10520000FFF780FE069B28626B62AC62062059E7BE -:105210002000FFF78FFC04340700AC63280000E097 -:1052200000BF002800D14CE730003A000F21FFF703 -:105230008DFE072046E707000D213000FFF762FED4 -:105240002862022F2BD1069BEB622B002C336B6262 -:10525000AC62062036E735004C465646CEE7594646 -:10526000300000F037FA002800D02AE7059B002B19 -:1052700000D137E70F213000FFF744FE0E21020076 -:105280003000FFF763FE3000094A0F21FFF75EFE92 -:10529000072017E70D213000FFF734FE2862069B38 -:1052A0006B62D5E738000130800020184DE7C0461A -:1052B0000000000010B50023FFF78CFE10BDC046B3 -:1052C00010B50123FFF786FE10BDC04610B50223BE -:1052D000FFF780FE10BDC046F0B5CE46474680B50C -:1052E0000500C3B014001E00012955D000294BD081 -:1052F000032922D0042949D1002B47D1102A45D8AF -:10530000102203681A4200D0F1E020AF380000F00C -:105310003DF900230120A96B02009A40144203D0FA -:105320000E689A00BE5004310133042BF4D13800CA -:10533000A96300F029F9002029E0032B26D11404E9 -:10534000230C160C9846F318102B1FD8082203685C -:105350001A4200D098E020AF380000F013F942461E -:10536000AB6BF6001C00002A08D0D400F21A1C19FE -:10537000BA181968D15004339C42FAD1AC63380092 -:1053800000F0FEF8002002E0002B24D0022043B001 -:105390000CBC90469946F0BD130C14049846240C9E -:1053A000012E2ED0052EF1D11B19202BEED842460E -:1053B0000F2A70D9A146002C7ED1AA6B4346AA635E -:1053C0000F2B00D89AE04B46002BDBD0684600F04C -:1053D000D3F80020DBE700231004A96B000C013692 -:1053E00032009A40104204D00F689A00AA18576001 -:1053F00004310133102BF3D10020A304C7D4A963D7 -:10540000C5E71B19102BC1D843460F2BBED82B68FC -:105410001E4206D00322280093432B60483000F040 -:10542000A5F820AF380000F0A1F8AA6B002C24D01A -:105430004346DB00FF180023994664000023A400C4 -:10544000D158F95004339C42FAD14B4612196F4699 -:10545000002B0FD04046102800D210204B46D90018 -:1054600000231038C0003818D458C450043399426F -:10547000FAD15218012EA1D120AF04323800AA630C -:1054800000F072F8002082E7934303605130FF3050 -:1054900000F078F85FE7102B3BD91022524291467A -:1054A00099442B68194208D0022228008B431343E9 -:1054B0002B60483000F05EF82B6804221A4221D19C -:1054C00043460F2B03D820AF380000F053F86F4647 -:1054D000380000F053F810244346AA6BE41A002C5D -:1054E000B8DD434620AFDB006400FF18A6E7934316 -:1054F0000360D130FF3000F049F806E720A800F043 -:1055000037F860E7280093432B60D03000F036F87E -:10551000D6E72B680B4207D0022228008B431343A7 -:105520002B60483000F026F820AF380000F022F859 -:10553000A146AA6B002C00D07AE73FE7011C34316A -:1055400038C9043B9C461D60A646011C20313CC95D -:1055500090469946A246AB46011C0831FCC94168F9 -:105560000068E54600BDC0467047C0467047C0466B -:105570007047C0467047C0467047C0467047C04637 -:105580007047C0467047C0467047C0467047C04627 -:1055900001B401A801B585B0FFB408A841464A4648 -:1055A00053465C4665463EC001A83EC80F98009031 -:1055B00000230CB401A9FFF71DFC109B12B0184783 -:1055C00001B401A801B585B0FFB408A841464A4618 -:1055D00053465C4665463EC001A83EC80F98009001 -:1055E00000230CB401A9FFF739FC109B12B0184737 -:1055F00001B401A801B585B0FFB408A841464A46E8 -:1056000053465C4665463EC001A83EC80F980090D0 -:1056100000230CB401A9FFF745FC109B12B01847FA -:1056200001B401A801B585B0FFB408A841464A46B7 -:1056300053465C4665463EC001A83EC80F980090A0 -:1056400000230CB401ABFFF7FFFB109B12B018470F -:1056500001B401A801B585B0FFB408A841464A4687 -:1056600053465C4665463EC001A83EC80F98009070 -:1056700000230CB401AAFFF775FC109B12B0184769 -:10568000027A0300002A0BD1427A002A0FD0013A95 -:1056900042724268111D416003211268017202E0EA -:1056A000013A02720268100E12021A607047B020AE -:1056B000FCE7C04600B585B003AB00930C22002385 -:1056C0000021FFF707FC039805B000BD10B5FFF7F8 -:1056D000F1FF10BDF0B557464E464546DE46002365 -:1056E000E0B587B003930F339846083B9946802373 -:1056F0001B0306000F009A463800FFF7C1FF0400A5 -:10570000B02800D1C3E003062AD5030042469343E4 -:10571000DBB2802B00D171E0902B3DD0A02B00D1CB -:1057200085E0B02B50D0C02B00D196E003004A4654 -:105730009343DBB2D02B0AD15346024001321A43C5 -:10574000052301213000FFF7C7FD0028D4D009242C -:10575000200007B03CBC90469946A246AB46F0BD3F -:10576000FF23820013401D1D05AB9B4600930D22B5 -:10577000002300213000FFF7ADFB630620D4059B1A -:105780009C46654405955B460D220093002100234D -:105790003000FFF7C3FBAFE7833B03400D2BD6D0B0 -:1057A00005AD02400095002300213000FFF792FB79 -:1057B000009500230D2200213000FFF7AFFB9BE78F -:1057C000059B5D1B0595DEE7B12874D0B22800D19A -:1057D000CFE0B32800D184E0FC230340B42BB6D043 -:1057E0004A465346024001321A4301210123300048 -:1057F000FFF772FD002800D17EE7A8E70402380019 -:10580000FFF73EFF802520432D02A8429FD00401D0 -:105810000005020C002300213000FFF75DFD002889 -:1058200095D12C4200D167E70123039364E7FF235E -:105830004A461B011900824311410A001A4003071E -:1058400002D58023DB011A43002300213000FFF73B -:1058500043FD002800D14FE779E7C6284CD0C72880 -:105860005ED003004A469343DBB2C02B6DD0C828FC -:1058700072D0C92800D06AE73800FFF701FFF02393 -:1058800002031B03134042460240013257E7039BC9 -:105890000024002B00D05BE705AD00950E2200210F -:1058A0003000FFF717FB009500230F220021300086 -:1058B000FFF734FB4CE73800FFF7E2FE002800D189 -:1058C00045E7030042469343DBB2002B00D03EE79E -:1058D000020000213000FFF7FFFC002800D10BE799 -:1058E00035E73800FFF7CCFEF02302031B0313401B -:1058F00042460240013277E73800FFF7C1FEF0234D -:1059000002031B0313404246024001321A430323A1 -:1059100003213000FFF7E0FC002800D1ECE616E799 -:105920003800FFF7ADFE021E00D110E7030041462C -:105930008B43DBB2002B00D009E704213000FFF7D6 -:10594000CBFC002800D1D7E601E74346A0221C404B -:10595000013412032243DAE73800FFF791FE434691 -:1059600002009A43D2B210321840120301300243AF -:10597000E6E605AB00939B460D2200230021300094 -:10598000FFF7A8FA3800FFF77BFE030618D57F253E -:10599000B03C059B2840A0409C46604405903800E0 -:1059A0000734FFF76DFE0306F3D481217F238900BE -:1059B00003408C46A340059A62449B180593E2E697 -:1059C0000224F2E7030000B5DB6C85B05A680800DA -:1059D000120201921A0001A908324A6003220A72D7 -:1059E000DB794B72FFF776FE05B000BD10B5FFF70F -:1059F0006DFE806C10BDC04610B5FFF767FEC26C2F -:105A0000D3799B000833D01810BDC04610B500F004 -:105A100005F8C04610B5FFF7F9FFC04610B50620DF -:105A200000F076F8012000F0A5F8C046F0B50F2A86 -:105A300037D90D0005430C000300AD0735D1150023 -:105A4000103D2D092E013618103627681F60676833 -:105A50005F60A7689F60E7681034DF601033B3426F -:105A6000F3D10F2401352D01491914404519032C98 -:105A70001DD90023CE58EE500433E61A032EF9D870 -:105A80000323043CA4080134A4001A402D19091969 -:105A9000002A05D00023CC5CEC5401339342FAD1A8 -:105AA000F0BD0500002AF5D1FAE70500F2E7220073 -:105AB000F8E7C04670B505000C001F2922D8B723AF -:105AC0009B00C358002B0ED08A009B181A68002A2E -:105AD00009D0012A10D0511C10D0002120001960DB -:105AE0009047002070BD280000F030F8220001002F -:105AF000280000F017F8F5E70020F3E7162303600D -:105B00000120EFE71623036001204042EAE7C04688 -:105B100010B5034B01001868FFF7CCFF10BDC0465D -:105B200000000020002370B5074C0500080011009C -:105B3000236000F017F8431C00D070BD2368002BD1 -:105B4000FBD02B60F9E7C0463407002010B500F009 -:105B500001F810BD58220120014B40421A607047E5 -:105B60003407002058220120014B40421A60704740 -:105B700034070020FEE7C046F8B5C046F8B5C04679 -:105B800074B20181B0AB308000000000800A018156 -:105B9000B0B0ABF0000000003F020181B0AB30803C -:105BA0000000000080060181B0B0ABF000000000F2 -:105BB00030EEFF7FB0B0B0807CEFFF7F01000000CF -:105BC00028F0FF7FB0A90280BCF0FF7FB0B0A880B2 -:105BD00008F1FF7F0100000014F1FF7FB0B0AA8040 -:105BE00048F1FF7F9CFFFF7F08F2FF7F010000006C -:105BF00004F2FF7FAA3F398050F2FF7FB0B0A88047 -:105C00005CF2FF7FB0B0AA809CF2FF7FB0B0A880AA -:105C1000B0F2FF7F01000000ACF2FF7FB0B0A880BF -:105C2000B4F2FF7F010000003CF3FF7FAA0FB280B7 -:105C3000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88002 -:105C400098F6FF7F54FFFF7FF4F8FF7F010000000C -:105C500064FAFF7F0084048074FAFF7FB0B0A880EC -:105C600074FAFF7F40FFFF7F5CFDFF7F00840480AC -:105C70007CFDFF7FB0B0A88094FDFF7F0100000095 -:105C8000080000200000000000000000F4020020D6 -:105C90005C030020C403002000000000000000009E -:105CA00000000000000000000000000000000000F4 -:105CB00000000000000000000000000000000000E4 -:105CC00000000000000000000000000000000000D4 -:105CD00000000000000000000000000000000000C4 -:105CE00000000000000000000000000000000000B4 -:105CF00000000000000000000000000000000000A4 -:105D00000000000000000000000000000000000093 -:105D10000000000000000000000000000000000083 -:105D20000000000000000000000000000000000073 -:105D300001000000000000000E33CDAB34126DE610 -:105D4000ECDE05000B000000000000000000000079 -:105D50000000000000000000000000000000000043 -:105D60000000000000000000000000000000000033 -:105D70000000000000000000000000000000000023 -:105D80000000000000000000000000000000000013 -:105D90000000000000000000000000000000000003 -:105DA00000000000000000000000000000000000F3 -:105DB00000000000000000000000000000000000E3 -:105DC00000000000000000000000000000000000D3 -:105DD00000000000000000000000000000000000C3 -:105DE00000000000000000000000000000000000B3 -:105DF00000000000000000000000000000000000A3 -:105E00000000000000000000000000000000000092 -:105E10000000000000000000000000000000000082 -:105E20000000000000000000000000000000000072 -:105E30000000000000000000000000000000000062 -:105E40000000000000000000000000000000000052 -:105E50000000000000000000000000000000000042 -:105E60000000000000000000000000000000000032 -:105E70000000000000000000000000000000000022 -:105E80000000000000000000000000000000000012 -:105E90000000000000000000000000000000000002 -:105EA00000000000000000000000000000000000F2 -:105EB00000000000000000000000000000000000E2 -:105EC00000000000000000000000000000000000D2 -:105ED00000000000000000000000000000000000C2 -:105EE00000000000000000000000000000000000B2 -:105EF00000000000000000000000000000000000A2 -:105F00000000000000000000000000000000000091 -:105F10000000000000000000000000000000000081 -:105F20000000000000000000000000000000000071 -:105F30000000000000000000000000000000000061 -:105F40000000000000000000000000000000000051 -:105F50000000000000000000000000000000000041 -:105F60000000000000000000000000000000000031 -:105F70000000000000000000000000000000000021 -:105F80000000000000000000000000000000000011 -:105F90000000000000000000000000000000000001 -:105FA00000000000000000000000000000000000F1 -:105FB00000000000000000000000000000000000E1 -:105FC00000000000000000000000000000000000D1 -:105FD00000000000000000000000000000000000C1 -:105FE00000000000000000000000000000000000B1 -:105FF00000000000000000000000000000000000A1 -:106000000000000000000000000000000000000090 -:106010000000000000000000000000000000000080 -:106020000000000000000000000000000000000070 -:106030000000000000000000000000000000000060 -:106040000000000000000000000000000000000050 -:106050000000000000000000000000000000000040 -:106060000000000000000000000000000000000030 -:106070000000000000000000000000000000000020 -:106080000000000000000000000000000000000010 -:106090000000000000000000000000000000000000 -:1060A00000000000000000000000000000000000F0 -:0400000508000805E2 -:00000001FF diff --git a/firmware/build_stm6/inlretro_stm.map b/firmware/build_stm6/inlretro_stm.map deleted file mode 100644 index 9f3c19d..0000000 --- a/firmware/build_stm6/inlretro_stm.map +++ /dev/null @@ -1,935 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\cccRrXfG.o (__aeabi_unwind_cpp_pr0) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (__gnu_unwind_execute) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (abort) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_global_impure_ptr) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (memcpy) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (raise) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_kill_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (__call_exitprocs) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (atexit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__libc_fini_array) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__retarget_lock_acquire_recursive) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_malloc_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (__malloc_lock) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (errno) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_sbrk_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) (__register_exitproc) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_free_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_getpid) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_kill) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) (_sbrk) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) - -Allocating common symbols -Common symbol size file - -cur_addr_lo 0x2 source/gba.o (symbol from plugin) -buff3 0x14 source/buffer.o (symbol from plugin) -__lock___atexit_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -cur_buff 0x4 source/buffer.o (symbol from plugin) -__lock___arc4random_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -tdo_pin 0x1 source/jtag.o (symbol from plugin) -errno 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) -pbje_status 0x1 source/jtag.o (symbol from plugin) -pbje_command 0x1 source/jtag.o (symbol from plugin) -tck_base 0x4 source/jtag.o (symbol from plugin) -tck_pin 0x1 source/jtag.o (symbol from plugin) -bank_table 0x2 source/nes.o (symbol from plugin) -addrh 0x2 source/bootload.o (symbol from plugin) -buff1 0x14 source/buffer.o (symbol from plugin) -incoming_bytes_remain - 0x1 source/buffer.o (symbol from plugin) -__lock___env_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -__lock___sinit_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -pbje_cmd_update_flag - 0x1 source/jtag.o (symbol from plugin) -tms_pin 0x1 source/jtag.o (symbol from plugin) -__lock___malloc_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -tdi_base 0x4 source/jtag.o (symbol from plugin) -tdo_base 0x4 source/jtag.o (symbol from plugin) -num_prg_banks 0x1 source/nes.o (symbol from plugin) -cur_addr_hi 0x1 source/gba.o (symbol from plugin) -buff2 0x14 source/buffer.o (symbol from plugin) -cur_bank 0x1 source/nes.o (symbol from plugin) -addr_ptr 0x4 source/bootload.o (symbol from plugin) -tdi_pin 0x1 source/jtag.o (symbol from plugin) -lfsr 0x4 source/stuff.o (symbol from plugin) -buff0 0x14 source/buffer.o (symbol from plugin) -raw_bank_status 0x10 source/buffer.o (symbol from plugin) -oper_info_struct 0x20 source/operation.o (symbol from plugin) -raw_buffer16 0x200 source/buffer.o (symbol from plugin) -tms_base 0x4 source/jtag.o (symbol from plugin) -swim_base 0x4 source/swim.o (symbol from plugin) -swim_pin 0x1 source/swim.o (symbol from plugin) -__lock___at_quick_exit_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin) -pbje_numclk 0x1 source/jtag.o (symbol from plugin) -__lock___dd_hash_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -__lock___tz_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -n64_bank 0x2 source/n64.o (symbol from plugin) -pbje_data 0x20 source/jtag.o (symbol from plugin) -__lock___sfp_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - -Discarded input sections - - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .text 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .data 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .bss 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .init_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .fini_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .eh_frame 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .text 0x00000000 0x78 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.extab 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.attributes - 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_aranges - 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_str 0x00000000 0x70 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .ARM.attributes - 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_3v_buffer_wr - 0x00000000 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .debug_str 0x00000000 0x6d C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .ARM.attributes - 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\cccRrXfG.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .debug_frame 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .text.exit 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .rodata._global_impure_ptr - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .text.__libc_init_array - 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .text.memset 0x00000000 0x9c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal_r.part.0 - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal_r - 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._signal_r - 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.__sigtramp_r - 0x00000000 0x50 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.signal 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal - 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.__sigtramp - 0x00000000 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .debug_frame 0x00000000 0xf8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .debug_frame 0x00000000 0x44 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text.startup.register_fini - 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .init_array.00000 - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text.__call_exitprocs - 0x00000000 0x118 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .data.__atexit_recursive_mutex - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .debug_frame 0x00000000 0x54 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .text.atexit 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .text.__libc_fini_array - 0x00000000 0x34 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_init - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_init_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_close - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_close_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_acquire - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_acquire_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_try_acquire - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_try_acquire_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_release - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_release_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .debug_frame 0x00000000 0xb0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - COMMON 0x00000000 0x21 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .text._malloc_r - 0x00000000 0x554 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_current_mallinfo - 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_max_sbrked_mem - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_max_total_mem - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_top_pad - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_av_ - 0x00000000 0x408 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_sbrk_base - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_trim_threshold - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text.__malloc_lock - 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text.__malloc_unlock - 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .debug_frame 0x00000000 0x40 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text.cleanup_glue - 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text._reclaim_reent - 0x00000000 0x94 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .debug_frame 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .text._sbrk_r 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .text.__register_exitproc - 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text._malloc_trim_r - 0x00000000 0xa0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text._free_r 0x00000000 0x1d4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .debug_frame 0x00000000 0x58 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .stab 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .stab 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x24 (size before relaxing) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .text._sbrk 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .bss.heap_end.4102 - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .eh_frame 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .init 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .fini 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - -Memory Configuration - -Name Origin Length Attributes -FLASH 0x08000000 0x00008000 xr -RAM 0x20000000 0x00001800 xrw -*default* 0x00000000 0xffffffff - -Linker script and memory map - -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o -LOAD C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\cccRrXfG.o -LOAD C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o -START GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a -END GROUP -START GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a -END GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - -.text 0x08000000 0x5b80 - *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - 0x08000000 __isr_vector - *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x08000198 USB_IRQHandler - *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - 0x08000534 TIM1_CC_IRQHandler - 0x08000534 TSC_IRQHandler - 0x08000534 ADC1_COMP_IRQHandler - 0x08000534 SysTick_Handler - 0x08000534 PendSV_Handler - 0x08000534 NMI_Handler - 0x08000534 I2C1_IRQHandler - 0x08000534 RCC_CRS_IRQHandler - 0x08000534 SPI1_IRQHandler - 0x08000534 TIM6_DAC_IRQHandler - 0x08000534 USART3_4_IRQHandler - 0x08000534 EXTI2_3_IRQHandler - 0x08000534 I2C2_IRQHandler - 0x08000534 TIM17_IRQHandler - 0x08000534 CEC_CAN_IRQHandler - 0x08000534 PVD_VDDIO2_IRQHandler - 0x08000534 DMA1_Channel4_5_6_7_IRQHandler - 0x08000534 TIM16_IRQHandler - 0x08000534 TIM3_IRQHandler - 0x08000534 EXTI4_15_IRQHandler - 0x08000534 DMA1_Channel1_IRQHandler - 0x08000534 Default_Handler - 0x08000534 TIM14_IRQHandler - 0x08000534 TIM7_IRQHandler - 0x08000534 TIM15_IRQHandler - 0x08000534 EXTI0_1_IRQHandler - 0x08000534 SPI2_IRQHandler - 0x08000534 SVC_Handler - 0x08000534 RTC_IRQHand - 0x08000534 WWDG_IRQHandler - 0x08000534 TIM2_IRQHandler - 0x08000534 DEF_IRQHandler - 0x08000534 DMA1_Channel2_3_IRQHandler - 0x08000534 USART2_IRQHandler - 0x08000534 FLASH_IRQHandler - 0x08000534 USART1_IRQHandler - 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler - *fill* 0x08000536 0x2 ff - .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x08000538 HardFault_Handler - *_thumb1_case_uqi.o() - .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - 0x08000544 __gnu_thumb1_case_uqi - .ARM.attributes - 0x08000558 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - *_thumb1_case_shi.o() - *_thumb1_case_uhi.o() - *fill* 0x08000576 0x2 ff - .text 0x08000578 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - 0x08000578 __gnu_thumb1_case_uhi - .ARM.attributes - 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - *(.fw_update) - *fill* 0x080005aa 0x2 ff - .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x00000770 . = 0x770 - *fill* 0x080006fc 0x74 ff - *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x00000800 . = 0x800 - *fill* 0x080007e0 0x20 ff - *(.appver) - 0x00000804 . = 0x804 - *fill* 0x08000800 0x4 ff - *(.reset_handler) - .reset_handler - 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - 0x08000804 Reset_Handler - *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x1e5c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *(.text*) - .text.snes_page_rd_poll.constprop.29 - 0x080026e0 0x70 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_cpu_page_rd_poll.constprop.28 - 0x08002750 0x6c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_ppu_page_rd_poll.constprop.25 - 0x080027bc 0x68 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.append_pairity - 0x08002824 0x1e C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.delay_us - 0x08002842 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x08002856 0x2 ff - .text.lfsr_32 0x08002858 0x30 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_wr 0x08002888 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_rd 0x080028e8 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.write_page_snes.constprop.35 - 0x08002930 0x194 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.write_page_buffer.constprop.34 - 0x08002ac4 0x94 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_3v_verify_wr - 0x08002b58 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_3v_flash_wr - 0x08002ba8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.snes_5v_flash_wr - 0x08002bf8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.genesis_page_rd - 0x08002c48 0xa4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.gen_flash_wr - 0x08002cec 0x94 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.gen_rom_rd - 0x08002d80 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.gen_sst_flash_wr - 0x08002dc8 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc3s_prgrom_flash_wr - 0x08002e0c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_dualport_wr - 0x08002e10 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_dualport_rd - 0x08002e60 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_ppu_wr - 0x08002e98 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_ppu_rd - 0x08002ee8 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc3_chrrom_flash_wr - 0x08002f20 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nrom_chrrom_flash_wr - 0x08002f64 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_m2_high_wr - 0x08002fa8 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_cpu_wr - 0x08003008 0x7c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.cdream_chrrom_flash_wr - 0x08003084 0x8c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc4_chrrom_flash_wr - 0x08003110 0x74 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.cnrom_chrrom_flash_wr - 0x08003184 0x7c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nes_cpu_rd - 0x08003200 0x38 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.tssop_prgrom_flash_wr - 0x08003238 0x2a C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.a53_tssop_prgrom_flash_wr - 0x08003262 0x36 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.gtrom_prgrom_flash_wr - 0x08003298 0x4c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.map30_prgrom_flash_wr - 0x080032e4 0x74 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc4_prgrom_flash_wr - 0x08003358 0x54 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc3_prgrom_flash_wr - 0x080033ac 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.disc_push_exp0_prgrom_wr - 0x080033fc 0x48 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.discrete_exp0_prgrom_wr - 0x08003444 0x58 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.unrom_prgrom_flash_wr - 0x0800349c 0x64 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.nrom_prgrom_flash_wr - 0x08003500 0x44 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.n64_latch_addr - 0x08003544 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.pbje_scan - 0x080035a4 0x10c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.pbje_state_change - 0x080036b0 0x88 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.jtag_init_pbje - 0x08003738 0xe0 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.jtag_run_pbje.part.0 - 0x08003818 0xb8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.io_reset - 0x080038d0 0x174 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.gba_rd 0x08003a44 0x4c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.write_page_verify - 0x08003a90 0x5c C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.write_page - 0x08003aec 0x34 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.get_next_buff - 0x08003b20 0x54 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc1_wr.constprop.12 - 0x08003b74 0x22 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x08003b96 0x2 ff - .text.mmc1_chrrom_flash_wr - 0x08003b98 0x60 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.mmc1_prgrom_flash_wr - 0x08003bf8 0x50 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.swim_wotf - 0x08003c48 0xb4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.swim_rotf - 0x08003cfc 0xac C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .text.startup.main - 0x08003da8 0xc34 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x08003da8 main - *fill* 0x080049dc 0x4 ff - .text 0x080049e0 0x154 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - 0x080049e0 swim_xfr - .text 0x08004b34 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08004df0 _Unwind_GetCFA - 0x08004df4 __gnu_Unwind_RaiseException - 0x08004e48 __gnu_Unwind_ForcedUnwind - 0x08004e5c __gnu_Unwind_Resume - 0x08004ea4 __gnu_Unwind_Resume_or_Rethrow - 0x08004ec0 _Unwind_Complete - 0x08004ec4 _Unwind_DeleteException - 0x08004ed4 _Unwind_VRS_Get - 0x08004f1c _Unwind_VRS_Set - 0x08004f64 __gnu_Unwind_Backtrace - 0x080052b4 __aeabi_unwind_cpp_pr0 - 0x080052c0 __aeabi_unwind_cpp_pr1 - 0x080052cc __aeabi_unwind_cpp_pr2 - 0x080052d8 _Unwind_VRS_Pop - .text 0x0800553c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800553c __restore_core_regs - 0x0800553c restore_core_regs - 0x08005568 __gnu_Unwind_Restore_VFP - 0x0800556c __gnu_Unwind_Save_VFP - 0x08005570 __gnu_Unwind_Restore_VFP_D - 0x08005574 __gnu_Unwind_Save_VFP_D - 0x08005578 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800557c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08005580 __gnu_Unwind_Restore_WMMXD - 0x08005584 __gnu_Unwind_Save_WMMXD - 0x08005588 __gnu_Unwind_Restore_WMMXC - 0x0800558c __gnu_Unwind_Save_WMMXC - 0x08005590 ___Unwind_RaiseException - 0x08005590 _Unwind_RaiseException - 0x080055c0 _Unwind_Resume - 0x080055c0 ___Unwind_Resume - 0x080055f0 _Unwind_Resume_or_Rethrow - 0x080055f0 ___Unwind_Resume_or_Rethrow - 0x08005620 _Unwind_ForcedUnwind - 0x08005620 ___Unwind_ForcedUnwind - 0x08005650 ___Unwind_Backtrace - 0x08005650 _Unwind_Backtrace - .text 0x08005680 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080056d4 __gnu_unwind_execute - 0x080059c4 __gnu_unwind_frame - 0x080059ec _Unwind_GetRegionStart - 0x080059f8 _Unwind_GetLanguageSpecificData - 0x08005a0c _Unwind_GetDataRelBase - 0x08005a14 _Unwind_GetTextRelBase - .text.abort 0x08005a1c 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x08005a1c abort - .text.memcpy 0x08005a2c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x08005a2c memcpy - .text._raise_r - 0x08005ab4 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08005ab4 _raise_r - .text.raise 0x08005b10 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08005b10 raise - .text._kill_r 0x08005b24 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08005b24 _kill_r - .text._getpid_r - 0x08005b4c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08005b4c _getpid_r - .text._getpid 0x08005b54 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08005b54 _getpid - .text._kill 0x08005b64 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08005b64 _kill - .text._exit 0x08005b74 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08005b74 _exit - *(.init) - .init 0x08005b78 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08005b78 _init - *(.fini) - .fini 0x08005b7c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08005b7c _fini - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) - *(SORT_BY_NAME(.ctors.*)) - *(.ctors) - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) - *(SORT_BY_NAME(.dtors.*)) - *(.dtors) - *(.rodata*) - *(.eh_frame*) - -.glue_7 0x08005b80 0x0 - .glue_7 0x08005b80 0x0 linker stubs - -.glue_7t 0x08005b80 0x0 - .glue_7t 0x08005b80 0x0 linker stubs - -.vfp11_veneer 0x08005b80 0x0 - .vfp11_veneer 0x08005b80 0x0 linker stubs - -.v4_bx 0x08005b80 0x0 - .v4_bx 0x08005b80 0x0 linker stubs - -.iplt 0x08005b80 0x0 - .iplt 0x08005b80 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - -.ARM.extab 0x08005b80 0x30 - *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08005b80 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08005ba4 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08005bb0 __exidx_start = . - -.ARM.exidx 0x08005bb0 0xd0 - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08005bb0 0x8 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - 0x10 (size before relaxing) - .ARM.exidx 0x08005bb8 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0xd8 (size before relaxing) - .ARM.exidx 0x08005c50 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x48 (size before relaxing) - 0x08005c80 __exidx_end = . - 0x08005c80 __etext = ALIGN (0x4) - -.rel.dyn 0x08005c80 0x0 - .rel.iplt 0x08005c80 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - -.data 0x20000000 0x430 load address 0x08005c80 - 0x20000000 __data_start__ = . - *(vtable) - *(.data*) - .data._impure_ptr - 0x20000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - 0x20000000 _impure_ptr - *fill* 0x20000004 0x4 - .data.impure_data - 0x20000008 0x428 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__preinit_array_start = .) - *(.preinit_array) - 0x20000430 PROVIDE (__preinit_array_end = .) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__init_array_start = .) - *(SORT_BY_NAME(.init_array.*)) - *(.init_array) - 0x20000430 PROVIDE (__init_array_end = .) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__fini_array_start = .) - *(SORT_BY_NAME(.fini_array.*)) - *(.fini_array) - 0x20000430 PROVIDE (__fini_array_end = .) - 0x20000430 . = ALIGN (0x4) - *(.fastrun) - 0x20000430 __data_end__ = . - -.igot.plt 0x20000430 0x0 load address 0x080060b0 - .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccQPQ68t.o - -.bss 0x20000430 0x308 load address 0x080060b0 - 0x20000430 . = ALIGN (0x4) - 0x20000430 __bss_start__ = . - *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.bank_table - 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.cur_addr_hi - 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000489 0x1 - .bss.cur_addr_lo - 0x2000048a 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.cur_bank 0x2000048c 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x2000048d 0x3 - .bss.cur_buff 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.cur_usb_load_buff - 0x20000494 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.incoming_bytes_remain - 0x20000498 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000499 0x3 - .bss.lfsr 0x2000049c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.n64_bank 0x200004a0 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.num_buff.5160 - 0x200004a2 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.num_prg_banks - 0x200004a3 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.oper_info_struct - 0x200004a4 0x20 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.pbje_command - 0x200004c4 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.pbje_data - 0x200004c5 0x20 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.pbje_numclk - 0x200004e5 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.pbje_status - 0x200004e6 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.raw_bank_status - 0x200004e7 0x10 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x200004f7 0x1 - .bss.raw_buffer16 - 0x200004f8 0x200 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.rv16.4759 - 0x200006f8 0x8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.rv16.5080 - 0x20000700 0x8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.sega_addr - 0x20000708 0x2 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.stm_debug_disable - 0x2000070a 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x2000070b 0x1 - .bss.swim_base - 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.swim_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000711 0x3 - .bss.tck_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.tck_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000719 0x3 - .bss.tdi_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.tdi_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000721 0x3 - .bss.tdo_base 0x20000724 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.tdo_pin 0x20000728 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *fill* 0x20000729 0x3 - .bss.tms_base 0x2000072c 0x4 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .bss.tms_pin 0x20000730 0x1 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - *(COMMON) - *fill* 0x20000731 0x3 - COMMON 0x20000734 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - 0x20000734 errno - 0x20000738 . = ALIGN (0x4) - 0x20000738 __bss_end__ = . - -.heap 0x20000738 0x0 - 0x20000738 __end__ = . - 0x20000738 PROVIDE (end = .) - *(.heap*) - 0x20000738 __HeapLimit = . - -.stack_dummy 0x20000738 0x0 - *(.stack*) - 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) - 0x20001800 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) - 0x20001800 PROVIDE (__stack = __StackTop) - 0x00000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) -OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) - -.ARM.attributes - 0x00000000 0x28 - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .ARM.attributes - 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .ARM.attributes - 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x80 (size before relaxing) - -.debug_info 0x00000000 0x5eb4 - .debug_info 0x00000000 0x5e8e C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .debug_info 0x00005e8e 0x26 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.debug_abbrev 0x00000000 0x6c9 - .debug_abbrev 0x00000000 0x6b5 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .debug_abbrev 0x000006b5 0x14 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.debug_loc 0x00000000 0x967f - .debug_loc 0x00000000 0x967f C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - -.debug_aranges 0x00000000 0x248 - .debug_aranges - 0x00000000 0x228 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .debug_aranges - 0x00000228 0x20 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.debug_ranges 0x00000000 0xe98 - .debug_ranges 0x00000000 0xe98 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - -.debug_line 0x00000000 0x1dcb - .debug_line 0x00000000 0x1cd8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - .debug_line 0x00001cd8 0xf3 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.debug_str 0x00000000 0x1341 - .debug_str 0x00000000 0x12d8 C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - 0x1413 (size before relaxing) - .debug_str 0x000012d8 0x69 C:\Users\paul\AppData\Local\Temp\cc6TiYRU.o - -.debug_frame 0x00000000 0x6fc - .debug_frame 0x00000000 0x6fc C:\Users\paul\AppData\Local\Temp\ccAHkeLy.ltrans0.ltrans.o - -.stabstr 0x00000000 0x76 - .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/build_stm6/inlretro_stm_AV00.bin b/firmware/build_stm6/inlretro_stm_AV00.bin deleted file mode 100644 index 9d300da..0000000 Binary files a/firmware/build_stm6/inlretro_stm_AV00.bin and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm_AV01.bin b/firmware/build_stm6/inlretro_stm_AV01.bin deleted file mode 100644 index dd9a419..0000000 Binary files a/firmware/build_stm6/inlretro_stm_AV01.bin and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm_AV02.bin b/firmware/build_stm6/inlretro_stm_AV02.bin deleted file mode 100644 index 3ffb861..0000000 Binary files a/firmware/build_stm6/inlretro_stm_AV02.bin and /dev/null differ diff --git a/firmware/build_stm6/inlretro_stm_AV03.bin b/firmware/build_stm6/inlretro_stm_AV03.bin deleted file mode 100644 index 6e0e5a7..0000000 Binary files a/firmware/build_stm6/inlretro_stm_AV03.bin and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm.axf b/firmware/build_stmn/inlretro_stm.axf deleted file mode 100644 index 8baad1b..0000000 Binary files a/firmware/build_stmn/inlretro_stm.axf and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm.bin b/firmware/build_stmn/inlretro_stm.bin deleted file mode 100644 index a2e83d1..0000000 Binary files a/firmware/build_stmn/inlretro_stm.bin and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm.elf b/firmware/build_stmn/inlretro_stm.elf deleted file mode 100644 index 2f110e3..0000000 Binary files a/firmware/build_stmn/inlretro_stm.elf and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm.hex b/firmware/build_stmn/inlretro_stm.hex deleted file mode 100644 index 9a9ad67..0000000 --- a/firmware/build_stmn/inlretro_stm.hex +++ /dev/null @@ -1,1311 +0,0 @@ -:020000040800F2 -:10000000001800200508000835050008390500081B -:1000100000000000000000000000000000000000E0 -:10002000000000000000000000000000350500088E -:10003000000000000000000035050008350500083C -:1000400035050008350500083505000835050008A8 -:100050003505000835050008350500083505000898 -:100060003505000835050008350500083505000888 -:100070003505000835050008350500083505000878 -:100080003505000835050008350500083505000868 -:100090003505000835050008350500083505000858 -:1000A0003505000835050008350500083505000848 -:1000B00035050008350500083505000899010008D8 -:1000C000284B10B51A88284B12041B881A43274B5B -:1000D000198849084900885A254908801988023139 -:1000E00089B21980198849084900885A214908802D -:1000F0001988023189B21980198849084900885A3B -:100100001D49088019881D48023189B21980198853 -:1001100049084900895A1A4A11801A881949023235 -:1001200092B21A801C880288944213D902881C88D3 -:100130000832121B92B20A80028892B21A801249C7 -:10014000124B0A881343124A1A40302353409BB281 -:100150000B8010BD0F4804881A889442E6D3082308 -:100160000B80ECE70C6000400A6000400460004037 -:100170004C6000404E600040506000400260004013 -:10018000526000401A600040005C00408080FFFF29 -:10019000BF8FFFFF006000409449F8B50B88944C76 -:1001A000002B3AD00A88934B9A4234D1002302257F -:1001B000914A924F1380924A1380924A1380924A36 -:1001C0001380924A1380924AD08FA843D087D08F51 -:1001D000013DA843D0878F481735FB8705808E489F -:1001E000343505808D480835058080258C486D01A3 -:1001F000058080258B4805808020FB878A4B000680 -:1002000023808A4B18608023D08FDB000343D38781 -:10021000874B884A1A8000230B8023881BB2002B4F -:1002200000DBC4E02388844A774F134080221343C5 -:10023000238023881B0500D49CE0804D7F232A78EF -:1002400011009943714B1980E9886B4B198000218B -:100250006C4B19803B88FF318B4313433B806023F9 -:100260001A4208D08022764B12051B8828009B1862 -:100270009847634B188060232A78134052B2002AB3 -:100280004DDA002B14D16A78062A0FD16A88110A38 -:1002900002291AD003291BD0012920D1694B12262B -:1002A000694A99B21180694A1B0C1380544B1E8015 -:1002B0002288674B1343674A1A40C0239B0153406F -:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C -:1002D000D2B2012A0FD0002A03D0022A15D01E0064 -:1002E000E4E7584B584A243399B21180574A1B0C03 -:1002F00013800426DAE7534B534A283399B211800E -:10030000524A1B0C1380544ED0E74E4B4E4A7C335E -:1003100099B211804D4A1B0C1380504EC6E7002B3A -:1003200009D16B78052B06D13A886B88D2B21B02B3 -:1003300013439BB23B8000212388494A1340494A1A -:1003400013439BB22380484B198023881A43474BA1 -:100350001A40474B5A4092B22280284BDB8F5B05F4 -:1003600007D580222F4B1A800023244AD3872E4B97 -:100370002380F8BD60213B880B40402BEDD13B88AA -:100380001342EAD1264A3B4B2C481B881188802215 -:1003900012059B18C9B298472288324B13432D4A45 -:1003A0001A40C0239B0153409BB22380D5E7802293 -:1003B00023881342D1D023882F490B408021090282 -:1003C0000B432380114B1B88934200D17AE7FF2017 -:1003D0000D4B19888143C0D01988090A0A43114975 -:1003E0000A801A8802401A80B7E7C0460E600040B3 -:1003F000005C00403CA5000000600040065C00403E -:100400000260004004600040066000400860004058 -:10041000025C0040505C0040186000401C600040DE -:100420001E6000404C5C00402032000000E100E013 -:10043000585C00400080FFFF8F0F000054600040B8 -:10044000106000407C0400080A6000400C6000401E -:100450008081FFFF8FBFFFFF2A0300001E03000003 -:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D -:1004700030300000126000400F8FFFFF12010002B9 -:10048000FF000008C016DC0503020102000109029A -:100490001200010100803209040000000000000089 -:1004A000040309042A0349006E00660069006E0017 -:1004B0006900740065004E00650073004C0069001F -:1004C0007600650073002E0063006F006D00000071 -:1004D000000000000000000000000000000000001C -:1004E000000000000000000000000000000000000C -:1004F00000000000000000001E0349004E004C00F8 -:10050000200052006500740072006F002D00500042 -:1005100072006F0067000000000000000000000093 -:1005200000000000000000000000000000000000CB -:1005300000000000FEE7FFFF004801E02301ADDE00 -:10054000FEE7C04602B4714649084900095C49000B -:100550008E4402BC7047C046411D000000616561C9 -:1005600062690001130000000536532D4D00060C92 -:10057000074D09011901FFFF03B471464908400006 -:100580004900095A49008E4403BC7047411D0000D0 -:100590000061656162690001130000000536532D9A -:1005A0004D00060C074D09011901FFFF70470A4B6A -:1005B0000A4A10B55A600A4A5A600122DC6814429D -:1005C000FCD11A6101220180D9681142FCD120229C -:1005D000DA6060321A6110BD0020024023016745D5 -:1005E000AB89EFCDFF2370B53F4D2B804378C68894 -:1005F000102B00D075E0C478818880783B4B01389F -:100600005A69082800D968E0FFF79CFF0567672B47 -:100610003D314B5363008A1E8E241D2A19D8344A5B -:100620005A60344A5A600122D8681042FCD1022232 -:100630001A618022890212058918422259611A61C1 -:10064000C046413ADC681440FCD12022DA606032B6 -:100650001A612C70284BAAB22D0CF0B25A819D81E0 -:1006600070BD60001018FFF7A2FF0024F1E7002C16 -:1006700035D10BB2002B32DB80231B05C8181F4974 -:10068000FFF795FFE5E704226A705A69AA705A6974 -:10069000120AEA705A69120C2A715B691B0E6B719F -:1006A000E3E702236B701388AB7013881B0AEB70AF -:1006B000DBE7002C13D10BB2002B10DB80231B05D2 -:1006C000C91802236B700B88AB700B881B0AEB7088 -:1006D000BFE70B4B0B4ADA60C7E78B24B9E78E24E0 -:1006E000B7E780232B70B5E7F40600200020024016 -:1006F00023016745AB89EFCD00600040FFFF00009C -:1007000000ED00E00400FA05FFFFFFFFFFFFFFFF21 -:10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 -:10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 -:10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 -:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 -:10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 -:10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 -:10077000164B174A9BB21382164B9BB253826846A4 -:100780001C300F4A0F4B0430043001681140C91A65 -:10079000FAD1094A094B043801681140C91AF2D14B -:1007A0007B460A3303600438013303600CE00A4BD4 -:1007B0000A4A1A60FBE7C0460000FFFF000000087D -:1007C000FFFFFF0F0000000100207047E505000853 -:1007D00000600040AD05000800300040AAAA0000FB -:1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 -:1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 -:10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D -:10081000C858D050FBDC0849084A0020521A02DDB3 -:10082000043A8850FCDC02F06FFC0000904D000898 -:1008300000000020300400203004002014070020B5 -:1008400070B50E4B1A68537A55685C18E4B2A3422F -:100850000ED1537A0A48CB1853720378591AC9B289 -:1008600001700020814202D198230130D37070BD05 -:1008700006780130EE540133DBB2E8E79004002043 -:1008800095040020FF23F7B5C04C02002380837934 -:10089000009340780138102801D901F0DEFAFFF703 -:1008A0006BFE1100BA04F405DC0A8509DC0AC90AEA -:1008B0000B08C00806096609DC0ADC0ADC0ADC0A47 -:1008C000DC0A69099078938819281BD8FFF754FE31 -:1008D0001E002600EC00B7015F02D1024E03D603D2 -:1008E000E703F203F9030004080410043804470482 -:1008F000550464048B048B048B041A001A001A003C -:10090000490254028C23237001F030F8E023A04AFE -:100910001B0351690B4353610023F4E7152B01D9E5 -:1009200000F064FC1800FFF727FE160021002E00DF -:100930003B00480055005F006C00760081008D0090 -:100940009A00610461046104610461046104A70008 -:1009500061046104B40090234022DB0519689143CF -:100960001960D9680A43DA600023CCE79023DB05DD -:100970001A6888490A401A608022D96852000A43DE -:10098000DA600023BFE79023DB051A6882490A403A -:100990001A608022D968D2000A43DA600023B2E7E5 -:1009A0009023DB051A687D490A401A608022D968C5 -:1009B00052010A43DA600023A5E79023DB051A6899 -:1009C00077490A401A608022D968D2010A43DA6066 -:1009D000002398E70122734B196891431960D96885 -:1009E0000A43DA6000238EE79023DB051A686E491C -:1009F0000A401A608022D96852030A43DA60002351 -:100A000081E70422674B196891431960D9680A434A -:100A1000DA60002377E790230122DB051968914310 -:100A20001960D9680A43DA6000236CE75F4B6049BC -:100A30001A680A401A608022D968D2040A43DA6030 -:100A4000002360E79023DB051A685A490A401A60C0 -:100A50008022D968D2050A43DA60002353E7902345 -:100A6000DB051A6852490A401A608022D968D2040C -:100A70000A43DA60002346E79023DB051A684E49F3 -:100A80000A401A608022D96852050A43DA600023BE -:100A900039E790230122DB05196891431960D96871 -:100AA0000A43DA6000232EE7152B00D9A1E31800D2 -:100AB000FFF762FD160021002C00370042004D00B8 -:100AC0005700620084008F009900A4009F039F03D9 -:100AD0009F039F039F039F03AF009F039F03BA00E1 -:100AE00090234021DB051A688A431A60DA688A433A -:100AF000DA60002307E79023DB05196825480140E9 -:100B00001960DA680240DA600023FCE69023DB0516 -:100B10001968214801401960DA680240DA60002350 -:100B2000F1E69023DB0519681C4801401960DA687A -:100B30000240DA600023E6E69023DB0519681848D6 -:100B400001401960DA680240DA600023DBE6012127 -:100B5000144B1A688A431A60DA688A43DA60002301 -:100B6000D1E69023DB0519680F4801401960DA6867 -:100B70000240DA600023C6E604210A4B1A688A4361 -:100B80001A60DA688A43DA600023BCE6FC060020BB -:100B900000100240FFFEFFFFFFFBFFFFFFEFFFFF24 -:100BA000FFBFFFFF00040048FFFFEFFF0008004801 -:100BB000FFFFFFFBFFFFFFBFFFFFFFEF90230121C0 -:100BC000DB051A688A431A60DA688A43DA60002310 -:100BD00099E6C24BC248196801401960DA680240C0 -:100BE000DA6000238FE69023DB051968BD480140D9 -:100BF0001960DA680240DA60002384E69023DB059E -:100C00001968B74801401960DA680240DA600023C9 -:100C100079E69023DB051968B34801401960DA686A -:100C20000240DA6000236EE690230121DB051A689A -:100C30008A431A60DA688A43DA60002363E6152B78 -:100C400000D9D9E21800FFF797FC16001E00270014 -:100C5000300039004200490052005900610069002B -:100C60007200D702D702D702D702D702D7027B0081 -:100C7000D702D702840090224023D20511680B438B -:100C8000136000233FE690228023D20511685B00A9 -:100C90000B431360002336E690228023D2051168AF -:100CA000DB000B43136000232DE690228023D20546 -:100CB00011685B010B431360002324E6902280231C -:100CC000D2051168DB010B43136000231BE60123EF -:100CD000864A11680B431360002314E69022802398 -:100CE000D20511685B030B43136000230BE604235A -:100CF0007E4A11680B431360002304E6902201230F -:100D0000D20511680B4313600023FCE58023734A6E -:100D1000DB0411680B4313600023F4E59022802369 -:100D2000D2051168DB050B4313600023EBE590222D -:100D30008023D2051168DB040B4313600023E2E536 -:100D400090228023D20511685B050B4313600023BA -:100D5000D9E590220123D20511680B4313600023CB -:100D6000D1E5082B00D04AE29022D2055168073B1A -:100D70000B4353600023C6E5082B00D042E29022CB -:100D80000121D20553688B4353600023BBE5152B2B -:100D900000D93AE21800FFF7EFFB16001C00220012 -:100DA00028002E0034003900400045004B0051005F -:100DB00058003802380238023802380238025F0020 -:100DC00038023802660090230822DB059A6200236D -:100DD00099E590231022DB059A62002393E5902386 -:100DE0002022DB059A6200238DE590234022DB055B -:100DF0009A62002387E590238022DB059A62002314 -:100E000081E50122394B9A6200237CE59023802200 -:100E1000DB05D2009A62002375E50222334B9A6209 -:100E2000002370E590230122DB059A6200236AE526 -:100E300080222A4B92019A62002364E5902380224B -:100E4000DB0512029A6200235DE590238022DB0518 -:100E500092019A62002356E590238022DB05D2019D -:100E60009A6200234FE590230122DB059A6200235A -:100E700049E5152B00D9CBE11800FFF77DFB1600E3 -:100E80001C002200280039003F0044004B005000A5 -:100E900056005C006300C901C901C901C901C9014B -:100EA000C9016A00C901C901710090230822DB054C -:100EB0009A61002327E590231022DB059A61002325 -:100EC00021E590232022DB059A6100231BE5902376 -:100ED0004022DB059A61002315E5C0460008004862 -:100EE000FFFFFFFBFFFFFFBFFFFFFFEF0004004816 -:100EF00090238022DB059A61002304E50122CC4B7C -:100F00009A610023FFE490238022DB05D2009A61DE -:100F10000023F8E40222C64B9A610023F3E49023F5 -:100F20000122DB059A610023EDE48022C14B92018E -:100F30009A610023E7E490238022DB0512029A6184 -:100F40000023E0E490238022DB0592019A610023D4 -:100F5000D9E490238022DB05D2019A610023D2E4F8 -:100F600090230122DB059A610023CCE40222627007 -:100F7000152B00D97EE01800FFF7E4FA0B131B23B2 -:100F80002B333A434A525A627C7C7C7C7C7C6B7C5F -:100F90007C7490230822DB051B69134063800023C7 -:100FA000B1E490231022DB051B691340638000230A -:100FB000A9E490232022DB051B69134063800023F2 -:100FC000A1E490234022DB051B69134063800023CA -:100FD00099E490238022DB051B6913406380002382 -:100FE00091E40122924B1B691340638000238AE441 -:100FF00090238022DB051B69D2001340638000230D -:1010000081E402228A4B1B691340638000237AE447 -:1010100090230122DB051B6913406380002372E4E7 -:101020008022844B92011B691340638000236AE491 -:101030009023DB051B69DB0BDB036380002362E489 -:1010400090238022DB051B699201134063800023FB -:1010500059E490238022DB051B69D2011340638091 -:10106000002350E490230122DB051B6913406380B9 -:10107000002348E4002363708D3344E480236E4AE8 -:10108000DB0251690B435361694B6C491A680A4092 -:101090001A60D9686A4A0A43DA60002333E4644B71 -:1010A00066491A680A401A60D968654A0A43DA60D4 -:1010B000002328E45E4A614913680B401360002353 -:1010C00021E45B4A5E4B11680B43136000231AE472 -:1010D00057491B024A69D2B213434B61002312E401 -:1010E000534B1B691B0AA3700123637000230AE49E -:1010F0008023514ADB02516950480B4353614C4BEA -:10110000196801401960D8684D490143D960C02170 -:101110005069C90201435161042219680A431A60E7 -:10112000022290219A62A022C9050868D2020243D5 -:101130000A601968434A0A431A600023FFF7E3FB79 -:101140009022A023D205D168DB020B43D360384A3A -:101150003C4BD1680B43D3600023FFF7D4FB9022B4 -:10116000D205136838490B401360314A3749136878 -:101170000B4013600023FFF7C6FB9022A023D2058B -:101180001168DB020B431360294A2E4B11680B4395 -:1011900013600023FFF7B7FB9020C00542692C497C -:1011A0009D000A40C021890029400A434261204A2B -:1011B000284851691B0A0140FF200540294351611D -:1011C00015681F491B0229431160516908400343F8 -:1011D0005361022393619362136818490B401360B3 -:1011E0000023FFF790FB0023FFF78DFB8D23FFF714 -:1011F0008AFB8D23FFF787FB8D23FFF784FB8D236D -:10120000FFF781FB8D23FFF77EFB8D23FFF77BFB31 -:101210008D23FFF778FB95789388032D00D1D8E0D4 -:101220001AD8002D67D0012D6BD0962311E1C0464E -:10123000000400480008004800100240FFFFAAAA6E -:101240000000555550550000FFFFFAFFAFAAFFFF01 -:10125000FFFC000003FF0000042D00D1FCE0802D06 -:10126000E3D190230122DB0562709A621968114371 -:101270001960C04618691968104091431960D9680F -:101280009143D960F021002832D119689143196047 -:10129000D9681143D96019691F698C46C0461E6917 -:1012A000C046C0461D69C046C046C0461C69C0460F -:1012B000C046C046C046196901911968914319603A -:1012C000D9689143D96063460100134210D11100DF -:1012D00017420DD1023116420AD10331154207D10E -:1012E0000431144204D1019BD631DB0700D5D1393A -:1012F000C64B997003E0C64A137001F091FC0023BD -:10130000A7E001F08DFC90221023D20593611168B3 -:10131000F0330B43136008239362116838330B4397 -:1013200013602023936180231168DB000B4313605B -:101330008023936180231168DB010B431360B54B5D -:10134000B5489D611968B54C0D431D608025416904 -:10135000ED0229434161196821401960DE68B049F6 -:101360000E43DE601E6826401E60DE680E43DE60AF -:101370004669354345611D6825401D60DD680D43A4 -:10138000DD60C0254669ED023543456104201D68D6 -:10139000284318600220A02598621668ED023543A4 -:1013A00015601E689F4D35431D6055699E4E354042 -:1013B00055615A699D4D2A405A611A681143196056 -:1013C0005A69D2B25A61986198621A6814401C60D6 -:1013D00095E7DAB2022A21D00023032A39D09733C5 -:1013E000012A36D1C0238C4ADB02516904200B4309 -:1013F00053611022874B196891431960D9681143D2 -:10140000D960596801435960986119680A430221FB -:101410001A60874A1170874A136070E7E0237E4A9A -:101420001B0351690B43536190220123D2051168BC -:1014300099431160D1681943D160516819435160D3 -:10144000936111680B431360002379490B7079494C -:101450000A606E4CFFF757FADBB2012B03D0022B68 -:101460000CD09823F5E7E0236B4A1B0351690B432B -:10147000536101F059FB01F057FB40E7E023664A56 -:101480001B0351690B435361F5E79678D77895882C -:10149000122E00D19AE140D8092E00D14DE11FD87B -:1014A000042E00D13FE10CD8012E00D1EFE0002E38 -:1014B00000D1E1E0022E00D1EEE0A023534CFFF773 -:1014C00022FA062E00D1DDE000D227E1072E00D15E -:1014D00051E1082EF1D13900280000F0F7FECFE0ED -:1014E0000D2E00D13DE109D80B2E00D13EE100D8F0 -:1014F00028E13900280000F0D3FFC1E00F2E00D111 -:101500002AE100D223E1102E00D139E1112ED4D1ED -:101510003900280001F00AF8B2E00023262ECDD0D1 -:101520001CD8212E00D103E109D8142E00D148E1A6 -:1015300000D250E1404B202EBFD11D70A0E0232EE1 -:1015400000D14DE100D2ACE0242E00D1F3E0252EF5 -:10155000B3D13900280000F0FDFE91E0842E00D1C7 -:1015600093E16BD8812E00D182E1822E00D185E1FA -:10157000802EA2D1012190236170DB051A6810260C -:101580008A431A60DA68AF008A43DA6008229A62F6 -:1015900018329E619A615869234A0240C020800037 -:1015A000384002435A611B4A5069844661461F48CD -:1015B0000840FF210F400743576117681848384318 -:1015C00010605769280A0F4000023843506102201A -:1015D000906190621068114F38401060C046C0465C -:1015E000F7392DB29961002D00DA9E62C046C046DF -:1015F000C046C046C046C046136990220821D205A5 -:101600009162491891611B0AA37039E0FC06002021 -:10161000040700200004004800100240FFFFAAAAAF -:101620000000555550550000FFFC000003FF00006E -:101630000C0700200807002088040020862E00D117 -:101640002EE100D227E1872E00D131E1882E00D093 -:1016500033E7012602216670D14800F0C7FE310051 -:10166000D04800F0C3FE0221CD4800F0BFFE390093 -:10167000280000F0BBFEFDE03900280001F034F93D -:1016800000231BE73900280001F0ECF8F8E73900E7 -:10169000280000F091FDF3E73900280000F0A6FED5 -:1016A000EEE79022D2055369BF48A9000340C0204D -:1016B0008000084003435361BC4BBD4C58693F0256 -:1016C0002040FF242140084358611868B949084365 -:1016D00018605E69280A26400002304358610220E3 -:1016E000986198621E68B4482DB206401E6020269C -:1016F00096621E6831431960596921400F435F614A -:10170000002D01DA10219162C046C046102191617E -:10171000491891611A6810401860B1E73900280033 -:1017200000F0C4FCACE73900280001F0D3FBA7E7C8 -:10173000A24B1D80A4E7A24BFFE63900280001F070 -:101740004BF99DE73900280000F0E2FD98E73900E9 -:10175000280001F001FC93E73900280001F0CCFBE0 -:101760008EE73900280001F005F989E739002800E3 -:1017700000F016FF84E73900280001F04BF87FE7FE -:10178000AA21904800F032FE55218F4800F02EFE2D -:10179000A0218C4800F02AFE3900280000F026FE27 -:1017A000A0208A4B0002197800F020FE280000F0EB -:1017B00035FF0400C046280000F030FF8442F5D118 -:1017C0005EE73900280000F0FBFF59E739002800E8 -:1017D00000F0BCFF54E73900280000F091FF4FE70C -:1017E0007B4B9D4202D880231B021D43902700F0B3 -:1017F00043FC6B1CFF339BB20193FF057A696A4976 -:10180000AB000A40C02189001940684C0A437A6144 -:101810006269674900020A40FF210B401A43626176 -:101820002268644B1A43226066692A0A0E4012023B -:10183000324362610222A261A26222685E4E32409D -:10184000226022681343236063690B401843606180 -:10185000C0460123A36200F00FFC01230135A36100 -:10186000019BADB29D42C9D123681E40266007E7A7 -:1018700001236370280000F0D1FE04E0012328005A -:10188000637000F0E1FCA070FAE6012328006370A9 -:1018900000F052FCF7E7012363704C4B1B78B3E672 -:1018A00002236370454B1B88A3701B0AE370E7E6B5 -:1018B00001236370424BF1E79578D0789188112D20 -:1018C00000D1A7E008D8012D57D0002D10D0022D4F -:1018D00000D185E0822648E0212D00D18EE0222D26 -:1018E00000D192E0122DF5D102231020637094E014 -:1018F0000127384B04261B7810209F40FA43364BB3 -:1019000001921D68AF626B6813406B6000F0A9FB29 -:10191000AF616B683B436B60FA20400000F0A1FBB5 -:10192000FA20AF626B68019A400013406B6000F0D0 -:1019300098FBAF616B68013E3B43B6B26B60002E13 -:10194000EAD10436FA2000F08CFBAF626B68019A92 -:10195000FA2013406B6000F084FBAF616B68013EBE -:101960003B43B6B26B60002EECD126701B4BA2B28B -:10197000240C5A8100989C81FEBD164A164B1278A1 -:101980001E689540B56273681020AB43736000F029 -:1019900068FBB56173682B4373600026E5E7C046BA -:1019A0000251000003510000FFFC00000004004849 -:1019B00003FF000000005555FFFFAAAA36040020CF -:1019C0009D040020AAFA000055F5000088040020BC -:1019D000FF1F00000C0700200807002000600040E7 -:1019E0000123B84A63701278B7499340B74A9BB253 -:1019F0001268002002F07CF8A070CEE701230200FC -:101A00000020637001F0D0FAF6E701230200637052 -:101A10001020F7E702230020637001F01FFB6080B5 -:101A2000BBE79078D1780138938808283CD8FEF736 -:101A300089FD050D150B1E3B21273100A44B1B789A -:101A4000A3700123637006E0A24BF8E7A04A13706D -:101A50008322A04B1A700023FEF755FF9C4A9D4D30 -:101A6000137083232B7001F07FF82B78E8E79A4AF4 -:101A70001370F0E7994A535452181B0A5370EAE75F -:101A80000023964A5218D05CE11801338870082B65 -:101A9000F9D1D7E7022391499A1E8A5CE2540133B7 -:101AA000222BF9D1023BCDE78723FEF72CFF90785C -:101AB000D578023891888A230A2801D9FEF723FFB6 -:101AC000FEF740FD060B11161D24303C4149500025 -:101AD000834B19800023FEF716FF814B1B881B04E4 -:101AE0000B439847F6E7FEF743FE0300FEF70BFFB4 -:101AF0007C4803689AB20B0413430360EAE7794A0F -:101B000013681B0C1B040B431360E3E7042363708F -:101B1000744B1B681A0AA370E2701A0C1B0E227118 -:101B20006371D7E702236F4A637012684B00D318C2 -:101B30001A88A2701B881B0AE370CBE7694B6D0003 -:101B40001B68E952C6E7674A4B001168CB1813605F -:101B500002226270ECE7634B6D001A6855191D6034 -:101B60002980B7E7012363700233A370B2E78823AB -:101B7000FEF7C9FE93789188022B09D0032B0ED073 -:101B8000012B10D1584A090411600023FEF7BBFE57 -:101B9000554A13681B0C1B040B431360F5E7012225 -:101BA000514B1A60F1E78323FEF7ADFE91780B00ED -:101BB000303B2F2B1AD8D078032814D8FEF7C2FC5C -:101BC00016180211494B512900D19DE027D831291F -:101BD00056D00FD8002936D030294AD0B423FEF78A -:101BE00092FE434BEFE7B523FEF78DFE414BEAE74C -:101BF000414BE8E7332951D049D35029EED1C022D7 -:101C0000D20022801A7AA270DA78E2705A7A2271AF -:101C10009A7A62719A78A2715B7CE371A6E67F2959 -:101C200000D9A5E0702900D37DE060293BD061296F -:101C300041D05229D2D180221B889200A3701B0A66 -:101C40002280E37092E6FF222C4BCA540131102906 -:101C5000FBD10123274A5B425380274A5380234A02 -:101C60005380234A53800122254B1A700023FEF72C -:101C70004AFE9288110AD9721A730023FEF743FEB6 -:101C80009288110A59739A730023FEF73CFE9288DA -:101C9000110AD9731A740023FEF735FE92885A741C -:101CA0000023FEF730FE80235B0023809388134AD5 -:101CB000D35CA3705AE680235B002380114B1B6822 -:101CC000DB78F6E70C07002004000200080700207C -:101CD000C0040020E2040020E1040020C104002030 -:101CE0003404002030040020980400206004002008 -:101CF00074040020380400204C040020E304002079 -:101D0000A00400208C040020C022D2002280DA7AB5 -:101D1000A2701A7BE2705A7B22719A7B6271DA7B25 -:101D2000A2711B7C79E75C4B15785C685B4B1B6888 -:101D3000D8787F2D00D993E0594D009E2E70002851 -:101D40000FD000250095982800D18FE004E00025F1 -:101D50000095D02800D189E0524810350570FF2049 -:101D600004E0514803609020D8706F3000907DE00F -:101D700007200840032817D8FEF7E4FB191B0214BC -:101D80004A4B802900D2F1E5872914D97031C9B2B4 -:101D9000072900D9EAE500212170D178997292884B -:101DA0001A80E3E5424BECE7B523FEF7ACFD3A4B76 -:101DB000E7E7404BE5E79088D178C6B28D19BE229F -:101DC000102D2CDC0432002929D0DD78033AFF2DB8 -:101DD00025D19D780132FF2D21D10022D7B28F422B -:101DE0001FD3354D0022AC464F01013F1F727701D2 -:101DF000000A67449870DA705A729A721A80DA721E -:101E00001A735A739A73DA731A745A745F602B4B8D -:101E10009D19A8540132D3B29942FAD800222270F7 -:101E2000A4E50132B718254D013FEF5DFF2FD5D056 -:101E3000C122F4E79378002B04D0402B07D0D223A3 -:101E4000FEF761FD23709288164B1A708EE5802391 -:101E50005B002380134B1B782BE78023FEF753FD99 -:101E6000D82800D073E780205C68D87000205872B2 -:101E7000DB78902B00D079E5712900D076E50A4B0C -:101E800091881B685868017092885968120A4A70D4 -:101E90005A7A02325A7269E5380400208C04002014 -:101EA00095040020A004002090040020600400207D -:101EB000740400204C040020F4040020E3040020FB -:101EC000F0B585B001932B4B00901C682A48204345 -:101ED000186058690C02C0B2204358610220986112 -:101EE00098621868254C2040186048B29021C905B6 -:101EF000002801DA1020886208209500C0272E00F3 -:101F000088614C691E48BF0004403E4034434C6128 -:101F100059691C4C2140A446FF2425400D435D61B6 -:101F2000C046902500210390ED050294C046C046AE -:101F30001869009C000A605401326869039ED2B29D -:101F40009400304026003E40304366466861586940 -:101F500001313040029EC9B23440044301985C61B3 -:101F60008142E3D908230800AB62DB18AB6105B0FE -:101F7000F0BDC0460004004800005555FFFFAAAA66 -:101F8000FFFC000003FF0000F0B585B00193284B73 -:101F9000284C1D6800902C431C6027485C691F2951 -:101FA00043D8802529430902E4B221435961022123 -:101FB000996199621968214C08409021186080202D -:101FC000C905886248699500C026A44620402C00B7 -:101FD000B60034402043FF2448615869184F25401B -:101FE000384005435D61C046002002960394C04618 -:101FF0001D69009C2D0A255464464D690132254017 -:10200000D2B2029C9600344025434D61039C5D6929 -:1020100026403D400130019C2E43C0B25E61A0428B -:10202000E5D980238B6105B0F0BDE4B20902BCE7BD -:102030000004004800005555FFFFAAAAFFFC00005D -:1020400003FF0000002302000002002A04D1002B3D -:1020500001D0802318437047DB43511EDBB20A4096 -:10206000F3E70023800080B2C046C04601339BB234 -:102070009842F9D17047FFFF30B507220124094982 -:102080000868450D43086B404340C50FDBB26B4009 -:10209000013A23404000D2B21843002AF1D108602F -:1020A000C0B230BD98040020002070479022D205B5 -:1020B000F0B553691B4C86002340C024A400344073 -:1020C00023435361184B194D5C69000A2C40FF25CE -:1020D0002E4034435C611E68154C000226431E608E -:1020E0005E69144F2E403043586102209861986217 -:1020F00018681026384018600820906296621868A8 -:10210000090204431C605869284001435961C046D4 -:1021100001219962C046996119680F401F6096615C -:10212000F0BDC046FFFC00000004004803FF0000B3 -:1021300000005555FFFFAAAA9022D20553691949FC -:1021400030B50B40C0218400890021400B4353610E -:10215000154B164D5969000A2940FF252C40214393 -:1021600059611C6812490002214319605969082409 -:102170000D400221284358619961996219680D4800 -:102180008025014019601021946191629562C046DA -:10219000C046C0461869E0409561C0B29462916142 -:1021A00030BDC046FFFC00000004004803FF0000F3 -:1021B00000005555FFFFAAAA1D4B30B5984202D822 -:1021C00080231B0218439025ED056B69194C820092 -:1021D0002340C024A400144023436B61164B174DC9 -:1021E0005C69000A2C40FF252A4014435C611C688E -:1021F000134A000214431C605C6909022C4020430E -:1022000058610220986198621C680E4804401C6066 -:102210001C6822431A605A692A4011435961C0461A -:1022200001229A62C0469A611A6802401A6030BD63 -:10223000FF1F0000FFFC00000004004803FF000037 -:1022400000005555FFFFAAAA1A4B30B5984202D894 -:1022500080231B0218439021C9054B69164A84004C -:102260001340C0229200224013434B61134B144D84 -:102270005A69000A2A40FF252C4022435A611C68F3 -:10228000104A000222431A605A691540022228436C -:1022900058619A619A621A680B4802401A6080225B -:1022A0008A62C046C046C046C0461869000AC0B22D -:1022B0008A6130BDFF1F0000FFFC000000040048E1 -:1022C00003FF000000005555FFFFAAAA70B50400E7 -:1022D0000D000D48AA21FFF76FFF55210B48FFF7AE -:1022E0006BFFA0210848FFF767FF29002000FFF7D8 -:1022F00063FF2000FFF7A8FF0500C0462000FFF79E -:10230000A3FFA842F5D170BD55150000AA1A000020 -:1023100070B504000D000D48AA21FFF74DFF5521AF -:102320000B48FFF749FFA0210848FFF745FF2900A8 -:102330002000FFF741FF2000FFF786FF0500C046A1 -:102340002000FFF781FFA842F5D170BD55150000B0 -:10235000AA0A000090220823D205F0B593615369C0 -:102360001D4C85002340C024A4002C40234353610E -:102370001A4B1B4E5C6909023440FF2635402C4342 -:102380005C611D68174C25431D605F69050A374075 -:102390002D023D435D6102259D619D621F68124DC6 -:1023A00000B22F401F60202797621F683C431C60CB -:1023B0005C69344021435961002801DA102191629F -:1023C000C046C046102191614918916119680D40BD -:1023D0001D6008239362F0BDFFFC0000000400486C -:1023E00003FF000000005555FFFFAAAA9022F0B598 -:1023F0000124D20513688500A3431360D368234EDC -:10240000A343D3605369224C09022340C024A40093 -:102410002C40234353611F4B5C693440FF263540F9 -:102420002C435C611D681C4C25431D605F69050AD7 -:1024300037402D023D435D6102259D619D621F680D -:10244000164D00B22F401F60202797621F683C4343 -:102450001C605C69344021435961002801DA102175 -:10246000916208219161C046C046C046C046C04640 -:10247000C046C046C046C0469162491891611031BD -:1024800091611A6815401D60F0BDC04603FF000051 -:10249000FFFC00000004004800005555FFFFAAAAF9 -:1024A000F7B505001C4B01911E781C4B74001F886A -:1024B00020213C19A4B22000FFF798FFAA21184858 -:1024C000FFF77AFEA01B80B21021FFF78FFF552186 -:1024D0001448FFF771FE20212000FFF787FFA0219D -:1024E0000F48FFF769FE104B187846430101BE19EB -:1024F000C9B2B0B2FFF77AFF01992800FFF75CFE7E -:102500002800FFF7A1FE0400C0462800FFF79CFE4C -:10251000A042F5D1F7BDC0469D040020360400203E -:1025200055150000AA0A00008804002070B50400B8 -:10253000B0200E0000020A21FFF758FFC0200A2138 -:102540000002FFF753FFAA211248FFF735FE55217D -:102550001148FFF731FEA0210E48FFF72DFEB020F5 -:102560000E4B00021D782900FFF740FFC020290014 -:102570000002FFF73BFF31002000FFF71DFE2000A7 -:10258000FFF762FE0500C0462000FFF75DFEA8428F -:10259000F5D170BD55150000AA0A0000880400207E -:1025A000F8B505000E00194B02211C88A71CBFB20C -:1025B0003800FFF71BFFAA211548FFF7FDFD601C3F -:1025C00080B20121FFF712FF55211248FFF7F4FDF9 -:1025D00002213800FFF70AFFA0210D48FFF7ECFDAC -:1025E0000D4B19786418A0B2FFF700FF31002800E6 -:1025F000FFF7E2FD2800FFF727FE0400C046280091 -:10260000FFF722FEA042F5D1F8BDC04636040020F7 -:1026100055150000AA0A0000880400209022D20567 -:1026200053691A4970B50B40C021FF268500890007 -:1026300029400B435361164B16495C6935400C40E9 -:102640002C435C611C681449214319605C69010AD0 -:102650002640090231435961022199619962196842 -:102660000E4C00B221401960002801DA102191625D -:1026700008219161C046C046C046C0461869102373 -:10268000C8409162C0B2936170BDC046FFFC0000BB -:102690000004004803FF000000005555FFFFAAAAF0 -:1026A00070B504000D00A021FFF754FE29002000A2 -:1026B000FFF750FE2000FFF7B1FF0500C0462000E5 -:1026C000FFF7ACFFA842F5D170BD70B50400A020A3 -:1026D0000D00C0015421FFF789FEA0212000FFF763 -:1026E00039FE29002000FFF735FE2000FFF796FF96 -:1026F0000500C0462000FFF791FFA842F5D170BD4C -:1027000070B50400A0200D000D4BC0011978FFF733 -:102710006DFEAA210B48FFF769FE55210A48FFF715 -:1027200065FEA0210748FFF761FE29002000FFF7A2 -:102730005DFE2000FFF772FFA842FAD170BDC046CF -:102740008804002055D50000AAAA000070B5040036 -:10275000C0200D0000020121FFF748FEAA21154804 -:10276000FFF744FEC02000210002FFF73FFE552185 -:102770001148FFF73BFEC02001210002FFF736FEA3 -:10278000A0210C48FFF732FEC0200C4B0002197844 -:10279000FFF72CFE29002000FFF728FE2000FFF79E -:1027A0003DFF0500C0462000FFF738FFA842F5D1E5 -:1027B00070BDC04655950000AAAA000088040020FC -:1027C00070B504000D001048AA21FFF70FFE552137 -:1027D0000E48FFF70BFEA0210B48FFF707FE29006C -:1027E0002000FFF703FEA020094B00021978FFF735 -:1027F000FDFD2000FFF712FF0500C0462000FFF797 -:102800000DFFA842F5D170BD55D50000AAEA000021 -:102810008804002070B504000D001048AA21FFF7BD -:10282000E5FD55210E48FFF7E1FDA0210B48FFF71C -:10283000DDFD29002000FFF7D9FD802002210002E4 -:10284000FFF7D4FD2000FFF7E9FE0500C046200099 -:10285000FFF7E4FEA842F5D170BDC04655D5000093 -:10286000AAAA00009022D205536970B5194C8600BF -:102870002340C024A400344023435361164B174C1B -:102880005D69000A2540FF24264035435D611E68CE -:10289000134D00022E431E605E690902264030433C -:1028A000586102209861986218680E4E3040186096 -:1028B000186805431D605869204001435961012192 -:1028C000106808431060916291611A6816401E609A -:1028D00070BDC046FFFC00000004004803FF00007C -:1028E00000005555FFFFAAAA9022D205536970B582 -:1028F0001B4C86002340C024A40034402343536172 -:10290000184B194D5C69000A2C40FF252E403443BA -:102910005C611E68154C000226431E605E69090258 -:102920002E40304358610220986198621E6810481A -:1029300006401E601E6834431C605C6925402943C4 -:102940005961012114680C431460916214688C432E -:102950001460D4682143D1601A681040186070BDBB -:10296000FFFC00000004004803FF00000000555574 -:10297000FFFFAAAA70B505000E00134B00211C88AA -:102980002000FFF733FDAA211048FFF7ADFF5521C6 -:102990000F48FFF7A9FFA0210C48FFF7A5FF0D4B3B -:1029A00019786418A0B2FFF721FD31002800FFF765 -:1029B0009BFF2800FFF732FE0400C0462800FFF707 -:1029C0002DFEA042F5D170BD360400205555000003 -:1029D000AA2A00008804002070B504000D000D48EC -:1029E000AA21FFF781FF55210B48FFF77DFFA021AA -:1029F0000848FFF779FF29002000FFF775FF200046 -:102A0000FFF70CFE0500C0462000FFF707FEA842B6 -:102A1000F5D170BD55550000AA2A0000F0B5284B2D -:102A200085B01E78274B01901B780291009303928A -:102A3000254B112840D00022902000251A70C00597 -:102A40001C782A002B00012184460198202805D1FA -:102A5000009D1D410D4231D00C430D0002982028ED -:102A60000ED1002B01D1174FBB54604607690F42AE -:102A700006D01448875C08009840074311488754E3 -:102A80000398013EF6B2002804D0002E02D10220A5 -:102A90000D0004430133DBB2082B05D10132094B91 -:102AA000D2B29B5C00930023002ECED1002D01D02A -:102AB000054B1C7005B0F0BD0122BDE78C43CCE78F -:102AC000E1040020C104002094040020F0B5134B61 -:102AD000134D19780023112800D102230027114E2D -:102AE0003A00B4463C0001262B702B7820280CD1EC -:102AF00063461B5D3700134101323340D2B25B00A5 -:102B0000082A02D100220134E4B20139C9B20029F5 -:102B1000ECD1002F00D02B70F0BDC046E1040020A6 -:102B200094040020C104002000230B4A01211370EB -:102B30009022D205106888431060D0680143D160AC -:102B40001900064A1370064A99540133202BFBD111 -:102B50008022044B1A70704794040020E104002086 -:102B6000C1040020E204002010B52B4B1B78082B79 -:102B70004ED013D8294C032B39D006D8012B28D09E -:102B8000022B2AD0254BEE223AE0062B3AD03DD834 -:102B9000042BF7D101222021112021E00F2B28D076 -:102BA00008D81E4C0D2B1FD000220E2BEAD120215D -:102BB000102015E0802B06D0184CFF2B06D0102BD0 -:102BC000E0D100221FE0FFF7AFFF10BDF02323701C -:102BD000FBE72020FFF77AFF04E0012200212020FC -:102BE000FFF71CFF8223F2E700221100F7E7012222 -:102BF000DDE7002220211120FFF710FF8222074B82 -:102C00001A70E2E7012220210800E9E71020E1E73D -:102C10001120FFF75BFFF1E7C0040020E204002071 -:102C2000BC235F49DB038A6AF0B513438B628B6A6E -:102C30005C4A13408B62E0234A691B0313434B61D8 -:102C4000594B1A789023DB05102A03D100221A6011 -:102C50009A60DA6040221868544D90431860D86832 -:102C600080260243DA601A685148F60402401A606E -:102C70008022D86852000243DA601A684D488027E3 -:102C800002401A608022D868D2000243DA601A68D3 -:102C90004948FF0202401A608022D868D2010243EC -:102CA0000120DA60454A146884431460D468044300 -:102CB000D4601C682C401C608024DD6864032C43B5 -:102CC000DC601C683E4D2C401C608024DD68E405FF -:102CD0002C43DC601C683B4D2C401C60DC683A4D8A -:102CE0003443DC601C68394E2C401C608024DD6855 -:102CF00064012C43DC6004241568A5431560D56885 -:102D00002543D5601D6885431D60DD688543DD6012 -:102D1000486938434861106830401060D5682C48D5 -:102D20000543D560C0254F69ED023D434D611568EF -:102D30002C4314600224A02594621C68ED022C43ED -:102D40001C601768234C274317601F68224C2740DC -:102D50001F601768214C27401760DF681D4C3D43FA -:102D60008027DD60D368FF021C43D4604B69154D9A -:102D70003B434B61136833401360D3680343D36014 -:102D800013681E4016608026D368F6041843144B5F -:102D9000D0601A682A401A60DA683243DA60F0BDFF -:102DA00000100240FFFFA1FF04070020FFFFEFFF1C -:102DB000FFFEFFFFFFFBFFFFFFBFFFFF0004004818 -:102DC000FFFFFFBFFFFFFFFBFFEFFFFFFFFFAAAA11 -:102DD0000000555550550000FFFFFAFFAFAAFFFF56 -:102DE00000080048F7B580270D0001924C7A0002D8 -:102DF00003B2A6B20093FF042B7AB34202D26C72E4 -:102E00000020FEBD00986B682043195D80B2019BD5 -:102E100098476B681A5D0B4B824206D01A683A439A -:102E20001A60802292019A61E6E71A680649013425 -:102E30000A401A60DA6801363A43DA60E4B2B6B2A0 -:102E4000DAE7C04600080048FFFFFFFBF7B50D00BA -:102E50001600FF27000203B24C7A01932A7AE3B2EC -:102E6000A24202D26B720020FEBD20006A68384088 -:102E7000D15C019B0134184380B2B047A4B2EDE7A6 -:102E8000022907D10F4B104A984218D0904209D11D -:102E9000180007E0032906D10A4B0B490B4A984258 -:102EA0000BD1080070470429FCD1064B064A984212 -:102EB00005D006499042F4D0054A8842E6D1100078 -:102EC000F0E7C046380400204C04002060040020D5 -:102ED0007404002070B506000D0005243000013C8C -:102EE000FFF79CFBE4B229003000FFF77FFA6D0882 -:102EF000002CF3D170BDFFFF70B50400A0200D00C1 -:102F000000020221FFF7E6FFAA211048FFF754F95B -:102F100055210F48FFF750F9A0210C48FFF74CF955 -:102F2000A0200C4B00021978FFF7D4FF29002000E5 -:102F3000FFF742F92000FFF787F90500C04620009F -:102F4000FFF782F9A842F5D170BDC04655150000C3 -:102F5000AA0A00008804002070B50400C0200D00FB -:102F600000020521FFF7B6FFAA210D48FFF73EFA40 -:102F700055210C48FFF73AFAA0210948FFF736FA25 -:102F800029002000FFF732FA2000FFF747FB050079 -:102F9000C0462000FFF742FBA842F5D170BDC046F5 -:102FA00055550000AAAA0000F7B501230225294FB4 -:102FB00001923A780091054393400421A020264EC7 -:102FC0002D049BB229433268C00100F091FD04003A -:102FD00001283DD13B7809209C4005437830A3B2BD -:102FE00032682900FF3000F083FD040001282FD152 -:102FF0003B7832689C402900A3B2002000F078FDA5 -:103000000400012824D1009B180AFFF71BF83B7825 -:1030100032689C402900A3B200F06AFD0400012838 -:1030200016D16B461878FFF70DF822003B7829007F -:103030009A4093B2326800F05BFD0198FFF702F806 -:103040003B7832689C402900A3B200F051FD040097 -:10305000E0B2FEBD0C07002008070020F7B50123F1 -:103060000225274F00903A780191054393400421AF -:10307000C020244E2D049BB229433268800100F009 -:1030800037FD0400012838D109231D433B78C020B7 -:103090009C403268A3B22900400000F029FD0400E2 -:1030A00001282AD13B7832689C402900A3B2002035 -:1030B00000F01EFD040001281FD1019B180AFEF735 -:1030C000C1FF3B7832689C402900A3B200F010FD9C -:1030D0000400012811D16B461879FEF7B3FF2200D6 -:1030E0003B789A4093B2009A14430922E1B2090452 -:1030F0001143326800F0FCFC0400A0B2FEBDC046E3 -:103100000C07002008070020DB4BDC4AF0B51A60F2 -:10311000DB4A89B01A6002225A60A02212019A602A -:103120000293029BDB68002BFBD19022029BD549C6 -:1031300012031960D44B186802431A608022079169 -:10314000920219681142FCD0012259680A435A6060 -:103150008022596852020A435A60802259685203F9 -:103160000A435A608022196852040A431A60802276 -:10317000920419681142FCD01121C44AC44C116058 -:103180005A680E398A43110002220A435A6080228B -:10319000196B0A431A638022D96912040A43DA615F -:1031A000BC4BE381BC231B689847BB4B6382BB4B82 -:1031B000238262B6FFF734FDF022B94B1A70029BEE -:1031C000079AB84E1A603278202311009943D22909 -:1031D0001CD1B549B548C978C3780224FF2904D168 -:1031E000FF3B1C00631E9C41E4B2B14BDB78FF2B1C -:1031F00000D00324AF4BDB78FF2B00D00424AE4B70 -:10320000AE4F1C703860D22A00D177E13378F22BB0 -:1032100005D10022023B3370A84B1B68DA70357869 -:10322000D02D20D1A54E3068C3780393802B1AD1BE -:10323000A14B00271978FFF723FE3060C570C37AD1 -:10324000058804004772EEB2212B00D1ECE100D9D1 -:103250006AE1112B00D18CE200D952E1102B00D190 -:1032600064E2C323E3708F4B1D78F02D01D000F092 -:1032700012FC924E3468E378982B01D000F00BFCDE -:103280008D4B20001978FFF7FBFD00233060C370E1 -:10329000E37AE5702678112B00D15FE3122B01D180 -:1032A00000F0EFFB102B01D000F0F3FBE37B002BD1 -:1032B00006D130008038C0B2814A2100FFF792FD6C -:1032C000E37B012B06D130008038C0B27D4A21005B -:1032D000FFF7BCFDE37B022B06D130008038C0B283 -:1032E000794A2100FFF7B2FDE37B042B06D13000C1 -:1032F0008038C0B2754A2100FFF774FDE37BFC2BD8 -:1033000006D130008038C0B2714A2100FFF76AFD53 -:10331000E37B0A2B06D130008038C0B26D4A210011 -:10332000FFF760FDE37BFD2B15D13F202388304064 -:103330009B0903936B4680261B7B06430593677AA4 -:10334000BBB2019333021BB20693237A019A9342D4 -:1033500000D37EE26772E37B1E2B06D130008038FB -:10336000C0B25D4A2100FFF73DFDE37B0C2B17D176 -:103370001F20304080260643C0202588A5216D09E6 -:10338000EDB2C001FFF732F829005448FFF72EF8DC -:10339000677A35023D43237ABB4200D3C1E26772AC -:1033A000E37B1C2B21D1AA214D48FEF7D3FF5521E9 -:1033B0004C48FEF7CFFF20214948FEF7CBFF3000F5 -:1033C0008038494A2100C0B2FFF70CFD80209021CF -:1033D0000002FEF7BFFF802000210002FEF7BAFFC7 -:1033E0008020F0210002FEF7B5FFE37B1F2B21D1E7 -:1033F000AA213E48FEF7AEFF55213D48FEF7AAFF41 -:1034000020213A48FEF7A6FF30007038394A2100E3 -:10341000C0B2FFF7E7FC902090210002FEF79AFF70 -:10342000902000210002FEF795FF9020F02100027D -:10343000FEF790FFE37B6F2B06D130008038C0B2DF -:103440002D4A2100FFF7CEFCF4232288E370A37AF3 -:103450009B1823801FE32100FFF712FD0123013594 -:10346000EDB2A542F7D3002B00D0386080223B6834 -:10347000DA70D0233370C9E600300040CCCC0000B5 -:1034800055550000AAAA000000100240002002408A -:10349000006000403CA5FFFF4108000885080008C7 -:1034A000E2040020A00400204C0400203804002086 -:1034B00060040020740400209C0400208C04002080 -:1034C000D9290008592F0008752900081528000877 -:1034D000A9200008C12700084D270008FFFF0000B1 -:1034E000AA8A000055850000CB260008AA9A000091 -:1034F00055950000A126000801270008002301259A -:10350000AFE7122B00D19EE1202B00D0A9E6C17BB2 -:103510000F2900D99BE109012943037A8278C9B2B6 -:103520006068FEF7CDFC8BE0232B00D1FBE000D2DE -:10353000F4E0312B00D185E0322B00D091E6C17B45 -:103540000F2900D983E143680901039383780D4370 -:103550000193037AE14A0493E14B6DB219681E00AE -:103560000A431A605A69E9B20902D2B20A435A619F -:1035700002229A619A621A68DA490A401A60902215 -:10358000D205002D01DA1021916251690198D64DC2 -:1035900080002940C0250700AD002F403943FF2798 -:1035A00051615A69D14938400A4010435861C046B8 -:1035B000CD4A002305929022AC460691D205F73FF2 -:1035C0009761C046C046C046C046C046C046C046D9 -:1035D000C046C04631690398090AC15401999762EF -:1035E0000131C9B2506901918D000599013308403C -:1035F000614629400843506171690698DBB2014079 -:10360000FF2005400D43049975619942D8D21021DD -:10361000976291616372B64B1B6819889A7A521847 -:103620001A80D822DA701EE63C23C17B0A009A4336 -:1036300000D00CE1237AA27831436068FEF7A4FC45 -:103640006072E8E7C17B3C230A009A4300D0FEE0A9 -:103650004368A24A0193837831439C46037AA14888 -:1036600003939F4B1D682A431A605A691F2950D83B -:1036700080260E433602D2B232435A6102229A6148 -:103680009A621A68C0251040186060469022800037 -:103690000600D2055169944FAD002E4039403143A8 -:1036A00051615969914E31400491FF2108400499BC -:1036B00008435861802090629061C046C046C04671 -:1036C00000210597069604959062C046C046C04604 -:1036D0001D69019E2D0A755465460135EDB2566986 -:1036E000AF00AC46059D2E40049D3D402E435661E3 -:1036F0005D69069E3540FF2637402F435F6190612C -:10370000C046C0460131039DC9B28D42DCD2617210 -:1037100081E7D2B2090211435961AFE7037A827897 -:10372000C17B3143FCE6C17B3F237FE7C37B1E2B7C -:103730000BD1C020AD092233E9B200029E43FEF74F -:1037400055FE237AA2788021EBE71C2B00D062E79C -:10375000A0208121C001FEF749FE8020ED09E9B2D9 -:103760000002FEF743FEA0203900C001FEF73EFE36 -:1037700051E7C37BFE2B00D04DE76D09E9B25D48F0 -:10378000FEF71AFD6368554A0493A37803980193E2 -:10379000237A019D0593524BAD0019680A431F21FE -:1037A0001A605A690E40E03136020A4032435A61CB -:1037B00002229A619A621A684A494B4E0A401A607C -:1037C00090220821D2059161491891629062506956 -:1037D000B4463040C0262900B6003140084350614D -:1037E000FF2259694148154001400D435D61C046C3 -:1037F000902511000690ED050396C0461869049ABD -:10380000000AD055019801370130C2B201929600EA -:1038100062466869FFB21040039A32401043686103 -:10382000069A58690E401040059A06435E61BA42F6 -:10383000E3D290228023D2059361783B93620833D0 -:1038400093616772E7E6037A8278602169E7C423AF -:1038500008E500212848FEF7C9FDAA212748FFF7FF -:1038600001F855212648FEF7FDFFA0212348FEF769 -:10387000F9FF6B46187B234B0599C01880B2FEF701 -:10388000B5FD069D63683D43ADB2D95D2800FEF7E6 -:10389000E9FFC0462800FEF7C1FE04902800FEF7AD -:1038A000BDFE049B8342F4D163680499DA5D164B34 -:1038B0008A422DD1019A1549013292B201921A68B9 -:1038C00001370A401A608022D968D2040A43DA60BC -:1038D00080229201FFB29A6237E5C046000055553A -:1038E00000040048FFFFAAAAFFFC000003FF00003D -:1038F0008C040020FF3F000069FD000055550000CA -:10390000AA2A000069FDFFFF00080048FFFFFFFB37 -:1039100080221968D2040A431A60802292019A61B7 -:1039200013E5AA216348FEF761FD55216248FEF7C1 -:103930005DFDA0215F48FEF759FD63682800D95D51 -:10394000FEF754FDC0462800FEF768FE01902800EF -:10395000FEF764FE019B8342F4D11CE5E37B002B60 -:1039600004D1564A21003000FFF770FAE37B012BA7 -:1039700004D1534A21003000FFF768FAE37B032BA0 -:1039800004D1504A21003000FFF760FAE37B042B9A -:1039900004D14D4A21003000FFF758FAE37B0A2B8F -:1039A00004D14A4A21003000FFF750FAE37B0B2B89 -:1039B00004D1474A21003000FFF748FAE37BFE2B91 -:1039C00000D041E5218843484909C9B2FEF7F4FB1C -:1039D000AA214148657AFEF769FB55213F48FEF769 -:1039E00065FB3D482021FEF761FB1F2030400302AC -:1039F000AFB20393237ABB420DD2657290210020AF -:103A0000FEF754FB00210800FEF750FBF0210020D8 -:103A1000FEF74CFB18E5039EA0212E433000FEF775 -:103A200045FB63683000595DFEF740FBC04630003F -:103A3000FEF782FB01903000FEF77EFB019B834284 -:103A4000F4D1636801995A5D254B8A4210D11A68F6 -:103A5000244901350A4080211A60DA68C9040A4302 -:103A6000DA60802201379201EDB2BFB29A62C1E7FB -:103A700080211A68C9040A431A60802292019A615F -:103A8000B8E730006030184A2100C0B2FFF7DEF915 -:103A9000DAE4C323E370154B1B78F02B01D1FFF759 -:103AA0008EFB832B01D0FFF78AFBFFF75DF8FFF752 -:103AB00086FBC04655D50000AAAA000011230008C5 -:103AC000F92E0008A1250008CD2200082D250008A8 -:103AD000A1240008FF3F0000AA0A000055050000CD -:103AE00000080048FFFFFFFBED230008E204002070 -:103AF000F0B5474680B4061C081C000C102801D500 -:103B0000162700E004270007000F8046FF20014031 -:103B10005468251C1D439C43F60313850AD5C046F3 -:103B2000C046C046C046C046C046C04694801383C7 -:103B3000958002E0012000F081F801390AD4381C98 -:103B400000F07CF8C046948013839580C046C04640 -:103B50007600E2E7381C013800F070F89480138397 -:103B60009580042000F06AF8108A184001D0FF20E8 -:103B700061E0C046C046C046C046C046C0469480CC -:103B80009580108A184055D001200226B04552D0A9 -:103B90000921168A1E40FCD1012000F04FF89480C4 -:103BA000C0469580C04603E0C046C046C046C046F9 -:103BB000948095807600108A1840EFF300804000D2 -:103BC000C00F0643381C023800F038F89480958006 -:103BD000022000F033F80139EAD5138594800120E2 -:103BE00000F02CF813839580301C8021022399402B -:103BF0000E401BD1002341085E4149085E4149083F -:103C00005E4149085E4149085E4149085E414908F4 -:103C10005E4149085E4149085E41760808D3400884 -:103C2000FF21084048400002013004E00E2002E07D -:103C3000092000E0002080BCB846F0BD0138FDD16D -:103C40007047C04603685A0003D45B005B08C01885 -:103C50007047802212061343F9E7C046F0B5574675 -:103C60004E46DE464546E0B5814683B09246002981 -:103C700025D04B1E9B46002701935B46FB18DC0FAB -:103C8000E4184B466410E5005E193000FFF7DAFFD8 -:103C9000019B8046A3420BD0280008304844FFF720 -:103CA000D1FFD04506D80138504509D2671CE4E75A -:103CB000504505D9A74202D0631E9B46DDE700268A -:103CC000300003B03CBC90469946A246AB46F0BDDE -:103CD000012809D0022805D0002801D00020704713 -:103CE0000248FCE70248FAE70248F8E7C543000843 -:103CF000DD430008D143000830B5234B83B00500F5 -:103D00008C1E002B26D001A9200000E000BF002857 -:103D10001CD001992200FFF7A1FF041E16D0FFF767 -:103D200091FF6368A864012B2AD0201D002B23DBA0 -:103D3000FFF788FF0023E8642B650368002B0FDB87 -:103D4000FFF780FF2861002003B030BD0023092069 -:103D50002B61F9E70D480E49091AC9100191D9E7FD -:103D60001801000FFFF7B4FF2861431E9841082394 -:103D7000404298430930E7E70123E8642B65DCE71C -:103D8000002305202B61DFE700000000C04C000885 -:103D9000904D0008036810B50400DA0705D44830D8 -:103DA0009B070ED500F06CFC23685A070ED51A0746 -:103DB00013D5DB0604D42000D130FF3000F06CFCBA -:103DC00010BD00F059FC23685A07F0D42000D03011 -:103DD00000F05AFC23681A07EBD420005130FF3062 -:103DE00000F056FC2368E4E70368002B00D01B18A2 -:103DF00018007047092070477047C04670B504002E -:103E00000D0008E02B6C2A0063612100012023696A -:103E10009847082807D1296C2000FFF76DFF00287C -:103E2000F0D000F083FE0728FBD10020296CFFF7BB -:103E3000E3FF281D00F00AFCF0B5CE46474680B5EA -:103E4000C3682E4C9846A5448369060014000431CB -:103E5000402205A8994600F071FE002304AD0493AA -:103E600023E0F0222B6C5200736129007CA800F043 -:103E700065FE7CAA31003369200098478A9B0700C1 -:103E80006B6403934B46009501933200330021008D -:103E90000120C04700281FD1F0227CA95200280031 -:103EA00000F04CFE0024082F1FD1296C3000FFF7D2 -:103EB00023FF611E8C41070009340028D1D0AB6B71 -:103EC00010216B644B46214301930095330032006F -:103ED0000120C047002800D009273800F5239B00A7 -:103EE0009D440CBC90469946F0BD072FF4D12000AC -:103EF000296CFFF781FF05A800F0A8FB2CFCFFFF51 -:103F0000406C704770B5CB6BFAB00B6404000E00C8 -:103F10004022043103A800F011FE01235B4202930A -:103F200006E002AA210023699847050008280AD163 -:103F3000129B200019000193FFF7DEFE0028F0D04D -:103F400009207AB070BD02A8FFF724FF062DF7D133 -:103F500031002000FFF752FF10B58261DA6BC160BB -:103F60001A6419000022FFF767FF10BD436970B59E -:103F70000B64C36804000D00002B15D10A002369EF -:103F8000010002209847072807D0082803D12900FC -:103F90002000FFF733FF00F0C9FD0020296CFFF778 -:103FA0002BFF281D00F052FB0122FFF745FF00F018 -:103FB000BDFDC046C36810B5002B05D0CB6B0022F9 -:103FC0000B64FFF739FF10BDFFF79CFFFBE7C0460E -:103FD0007047C046836810B5002B02D00100012055 -:103FE000984710BD012906D0002906D003390220C8 -:103FF000012900D970470120FCE7002B08D10F2AC6 -:1040000006D8920082185268009B00201A60F1E7DF -:104010000220EFE700B585B003AB0A000093002152 -:104020000023FFF7DFFF039805B000BD012906D08C -:10403000002906D003390220012900D97047012048 -:10404000FCE7002B08D10F2A06D8009B92001B68C2 -:10405000821853600020F1E70220EFE700B585B039 -:1040600003AB039200930A0000230021FFF7DEFF59 -:1040700005B000BD70B51A4CD36BA544136406009F -:104080000D0019A8111D402200F058FD01235B42CC -:10409000189314E00C2118A802AAFFF7DFFF2900EB -:1040A00018A8B047002812D1069B18AA02A9083008 -:1040B00001939847040005280AD0092807D0289BB7 -:1040C00002A819000193FFF717FE0028E2D0092487 -:1040D00018A8FFF75FFE200090239B009D4470BD51 -:1040E000C0FDFFFFF0B5DE4657464E464546E0B5FB -:1040F000160003220D0011008BB01F000193EB6C22 -:1041000001401C1D009107A91B688B460894002FD5 -:104110006BD01A0C1B045946079302230B72FD3314 -:1041200013409B004A72E418009B022B00D1AC6B39 -:104130002B6DDB0747D4002305930833034002931C -:104140002768002F00D112E1019B022B49D0638820 -:10415000278898460434012340469A469843AB6C1E -:104160000F21994681443000FFF754FF002181451B -:1041700006D8390053469943494488428941494207 -:1041800043465A0002231340012217403B43012BB0 -:104190003AD0002B30D0022B1BD12368009A5F004D -:1041A0007F08002A67D1002906D0029A002A00D190 -:1041B0007CE0002F00D1A9E0002B00DA04340137A5 -:1041C000BF00E419BCE75946300000F00BFB0028A3 -:1041D00010D009200BB03CBC90469946A246AB4695 -:1041E000F0BD636808349846B5E71B0207935B4649 -:1041F0001A8199E70820EDE7009B002B02D00029E7 -:1042000000D08DE004349BE7009B002B1AD10029DD -:1042100016D02368DF0F63689A1CDAD02A00583260 -:104220000692013300D1BDE0201DFFF7DDFD06AB96 -:1042300001003A00280000E000BF002800D082E022 -:1042400008347DE70D2130002F6AFFF7E3FE874237 -:10425000F6D1AB6A9C42F3D12000FFF7F3FC0F21AB -:1042600002003000FFF7FAFE30002A000021FFF7BD -:10427000F5FE0720AEE72B6A0D2130009846FFF7C8 -:10428000C9FE804501D0236896E7AB6A9C42FAD10B -:104290000023EB6204332B63231DAF626B6323683F -:1042A000002B00DA86E00123059388E7002F2DD04C -:1042B00058239C46AC4463460393231D9946002330 -:1042C000984606AB220004933B004C464746B24654 -:1042D00098462E00914603E004342F00454542D015 -:1042E000039B20000693FFF77FFD049B0100002243 -:1042F00030007D1C00E000BF0028EDD04346B846EA -:1043000035004C4656461F009845BCD10D21300063 -:10431000FFF780FE069B28626B62AC62062059E7BD -:104320002000FFF78FFC04340700AC63280000E096 -:1043300000BF002800D14CE730003A000F21FFF702 -:104340008DFE072046E707000D213000FFF762FED3 -:104350002862022F2BD1069BEB622B002C336B6261 -:10436000AC62062036E735004C465646CEE7594645 -:10437000300000F037FA002800D02AE7059B002B18 -:1043800000D137E70F213000FFF744FE0E21020075 -:104390003000FFF763FE3000094A0F21FFF75EFE91 -:1043A000072017E70D213000FFF734FE2862069B37 -:1043B0006B62D5E738000130800020184DE7C04619 -:1043C0000000000010B50023FFF78CFE10BDC046B2 -:1043D00010B50123FFF786FE10BDC04610B50223BD -:1043E000FFF780FE10BDC046F0B5CE46474680B50B -:1043F0000500C3B014001E00012955D000294BD080 -:10440000032922D0042949D1002B47D1102A45D8AD -:10441000102203681A4200D0F1E020AF380000F00B -:104420003DF900230120A96B02009A40144203D0F9 -:104430000E689A00BE5004310133042BF4D13800C9 -:10444000A96300F029F9002029E0032B26D11404E8 -:10445000230C160C9846F318102B1FD8082203685B -:104460001A4200D098E020AF380000F013F942461D -:10447000AB6BF6001C00002A08D0D400F21A1C19FD -:10448000BA181968D15004339C42FAD1AC63380091 -:1044900000F0FEF8002002E0002B24D0022043B000 -:1044A0000CBC90469946F0BD130C14049846240C9D -:1044B000012E2ED0052EF1D11B19202BEED842460D -:1044C0000F2A70D9A146002C7ED1AA6B4346AA635D -:1044D0000F2B00D89AE04B46002BDBD0684600F04B -:1044E000D3F80020DBE700231004A96B000C013691 -:1044F00032009A40104204D00F689A00AA18576000 -:1045000004310133102BF3D10020A304C7D4A963D5 -:10451000C5E71B19102BC1D843460F2BBED82B68FB -:104520001E4206D00322280093432B60483000F03F -:10453000A5F820AF380000F0A1F8AA6B002C24D019 -:104540004346DB00FF180023994664000023A400C3 -:10455000D158F95004339C42FAD14B4612196F4698 -:10456000002B0FD04046102800D210204B46D90017 -:1045700000231038C0003818D458C450043399426E -:10458000FAD15218012EA1D120AF04323800AA630B -:1045900000F072F8002082E7934303605130FF304F -:1045A00000F078F85FE7102B3BD910225242914679 -:1045B00099442B68194208D0022228008B431343E8 -:1045C0002B60483000F05EF82B6804221A4221D19B -:1045D00043460F2B03D820AF380000F053F86F4646 -:1045E000380000F053F810244346AA6BE41A002C5C -:1045F000B8DD434620AFDB006400FF18A6E7934315 -:104600000360D130FF3000F049F806E720A800F041 -:1046100037F860E7280093432B60D03000F036F87D -:10462000D6E72B680B4207D0022228008B431343A6 -:104630002B60483000F026F820AF380000F022F858 -:10464000A146AA6B002C00D07AE73FE7011C343169 -:1046500038C9043B9C461D60A646011C20313CC95C -:1046600090469946A246AB46011C0831FCC94168F8 -:104670000068E54600BDC0467047C0467047C0466A -:104680007047C0467047C0467047C0467047C04636 -:104690007047C0467047C0467047C0467047C04626 -:1046A00001B401A801B585B0FFB408A841464A4647 -:1046B00053465C4665463EC001A83EC80F98009030 -:1046C00000230CB401A9FFF71DFC109B12B0184782 -:1046D00001B401A801B585B0FFB408A841464A4617 -:1046E00053465C4665463EC001A83EC80F98009000 -:1046F00000230CB401A9FFF739FC109B12B0184736 -:1047000001B401A801B585B0FFB408A841464A46E6 -:1047100053465C4665463EC001A83EC80F980090CF -:1047200000230CB401A9FFF745FC109B12B01847F9 -:1047300001B401A801B585B0FFB408A841464A46B6 -:1047400053465C4665463EC001A83EC80F9800909F -:1047500000230CB401ABFFF7FFFB109B12B018470E -:1047600001B401A801B585B0FFB408A841464A4686 -:1047700053465C4665463EC001A83EC80F9800906F -:1047800000230CB401AAFFF775FC109B12B0184768 -:10479000027A0300002A0BD1427A002A0FD0013A94 -:1047A00042724268111D416003211268017202E0E9 -:1047B000013A02720268100E12021A607047B020AD -:1047C000FCE7C04600B585B003AB00930C22002384 -:1047D0000021FFF707FC039805B000BD10B5FFF7F7 -:1047E000F1FF10BDF0B557464E464546DE46002364 -:1047F000E0B587B003930F339846083B9946802372 -:104800001B0306000F009A463800FFF7C1FF0400A3 -:10481000B02800D1C3E003062AD5030042469343E3 -:10482000DBB2802B00D171E0902B3DD0A02B00D1CA -:1048300085E0B02B50D0C02B00D196E003004A4653 -:104840009343DBB2D02B0AD15346024001321A43C4 -:10485000052301213000FFF7C7FD0028D4D009242B -:10486000200007B03CBC90469946A246AB46F0BD3E -:10487000FF23820013401D1D05AB9B4600930D22B4 -:10488000002300213000FFF7ADFB630620D4059B19 -:104890009C46654405955B460D220093002100234C -:1048A0003000FFF7C3FBAFE7833B03400D2BD6D0AF -:1048B00005AD02400095002300213000FFF792FB78 -:1048C000009500230D2200213000FFF7AFFB9BE78E -:1048D000059B5D1B0595DEE7B12874D0B22800D199 -:1048E000CFE0B32800D184E0FC230340B42BB6D042 -:1048F0004A465346024001321A4301210123300047 -:10490000FFF772FD002800D17EE7A8E70402380017 -:10491000FFF73EFF802520432D02A8429FD00401CF -:104920000005020C002300213000FFF75DFD002888 -:1049300095D12C4200D167E70123039364E7FF235D -:104940004A461B011900824311410A001A4003071D -:1049500002D58023DB011A43002300213000FFF73A -:1049600043FD002800D14FE779E7C6284CD0C7287F -:104970005ED003004A469343DBB2C02B6DD0C828FB -:1049800072D0C92800D06AE73800FFF701FFF02392 -:1049900002031B03134042460240013257E7039BC8 -:1049A0000024002B00D05BE705AD00950E2200210E -:1049B0003000FFF717FB009500230F220021300085 -:1049C000FFF734FB4CE73800FFF7E2FE002800D188 -:1049D00045E7030042469343DBB2002B00D03EE79D -:1049E000020000213000FFF7FFFC002800D10BE798 -:1049F00035E73800FFF7CCFEF02302031B0313401A -:104A000042460240013277E73800FFF7C1FEF0234B -:104A100002031B0313404246024001321A430323A0 -:104A200003213000FFF7E0FC002800D1ECE616E798 -:104A30003800FFF7ADFE021E00D110E7030041462B -:104A40008B43DBB2002B00D009E704213000FFF7D5 -:104A5000CBFC002800D1D7E601E74346A0221C404A -:104A6000013412032243DAE73800FFF791FE434690 -:104A700002009A43D2B210321840120301300243AE -:104A8000E6E605AB00939B460D2200230021300093 -:104A9000FFF7A8FA3800FFF77BFE030618D57F253D -:104AA000B03C059B2840A0409C46604405903800DF -:104AB0000734FFF76DFE0306F3D481217F238900BD -:104AC00003408C46A340059A62449B180593E2E696 -:104AD0000224F2E7030000B5DB6C85B05A680800D9 -:104AE000120201921A0001A908324A6003220A72D6 -:104AF000DB794B72FFF776FE05B000BD10B5FFF70E -:104B00006DFE806C10BDC04610B5FFF767FEC26C2D -:104B1000D3799B000833D01810BDC04610B500F003 -:104B200005F8C04610B5FFF7F9FFC04610B50620DE -:104B300000F076F8012000F0A5F8C046F0B50F2A85 -:104B400037D90D0005430C000300AD0735D1150022 -:104B5000103D2D092E013618103627681F60676832 -:104B60005F60A7689F60E7681034DF601033B3426E -:104B7000F3D10F2401352D01491914404519032C97 -:104B80001DD90023CE58EE500433E61A032EF9D86F -:104B90000323043CA4080134A4001A402D19091968 -:104BA000002A05D00023CC5CEC5401339342FAD1A7 -:104BB000F0BD0500002AF5D1FAE70500F2E7220072 -:104BC000F8E7C04670B505000C001F2922D8B723AE -:104BD0009B00C358002B0ED08A009B181A68002A2D -:104BE00009D0012A10D0511C10D0002120001960DA -:104BF0009047002070BD280000F030F8220001002E -:104C0000280000F017F8F5E70020F3E7162303600B -:104C10000120EFE71623036001204042EAE7C04687 -:104C200010B5034B01001868FFF7CCFF10BDC0465C -:104C300000000020002370B5074C0500080011009B -:104C4000236000F017F8431C00D070BD2368002BD0 -:104C5000FBD02B60F9E7C0461007002010B500F02C -:104C600001F810BD58220120014B40421A607047E4 -:104C70001007002058220120014B40421A60704763 -:104C800010070020FEE7C046F8B5C046F8B5C0469C -:104C900074B20181B0AB308000000000800A018155 -:104CA000B0B0ABF0000000003F020181B0AB30803B -:104CB0000000000080060181B0B0ABF000000000F1 -:104CC00030EEFF7FB0B0B0807CEFFF7F01000000CE -:104CD00028F0FF7FB0A90280BCF0FF7FB0B0A880B1 -:104CE00008F1FF7F0100000014F1FF7FB0B0AA803F -:104CF00048F1FF7F9CFFFF7F08F2FF7F010000006B -:104D000004F2FF7FAA3F398050F2FF7FB0B0A88045 -:104D10005CF2FF7FB0B0AA809CF2FF7FB0B0A880A9 -:104D2000B0F2FF7F01000000ACF2FF7FB0B0A880BE -:104D3000B4F2FF7F010000003CF3FF7FAA0FB280B6 -:104D4000A4F3FF7F58FFFF7F7CF6FF7FB0B0A88001 -:104D500098F6FF7F54FFFF7FF4F8FF7F010000000B -:104D600064FAFF7F0084048074FAFF7FB0B0A880EB -:104D700074FAFF7F40FFFF7F5CFDFF7F00840480AB -:104D80007CFDFF7FB0B0A88094FDFF7F0100000094 -:104D9000080000200000000000000000F4020020D5 -:104DA0005C030020C403002000000000000000009D -:104DB00000000000000000000000000000000000F3 -:104DC00000000000000000000000000000000000E3 -:104DD00000000000000000000000000000000000D3 -:104DE00000000000000000000000000000000000C3 -:104DF00000000000000000000000000000000000B3 -:104E000000000000000000000000000000000000A2 -:104E10000000000000000000000000000000000092 -:104E20000000000000000000000000000000000082 -:104E30000000000000000000000000000000000072 -:104E400001000000000000000E33CDAB34126DE60F -:104E5000ECDE05000B000000000000000000000078 -:104E60000000000000000000000000000000000042 -:104E70000000000000000000000000000000000032 -:104E80000000000000000000000000000000000022 -:104E90000000000000000000000000000000000012 -:104EA0000000000000000000000000000000000002 -:104EB00000000000000000000000000000000000F2 -:104EC00000000000000000000000000000000000E2 -:104ED00000000000000000000000000000000000D2 -:104EE00000000000000000000000000000000000C2 -:104EF00000000000000000000000000000000000B2 -:104F000000000000000000000000000000000000A1 -:104F10000000000000000000000000000000000091 -:104F20000000000000000000000000000000000081 -:104F30000000000000000000000000000000000071 -:104F40000000000000000000000000000000000061 -:104F50000000000000000000000000000000000051 -:104F60000000000000000000000000000000000041 -:104F70000000000000000000000000000000000031 -:104F80000000000000000000000000000000000021 -:104F90000000000000000000000000000000000011 -:104FA0000000000000000000000000000000000001 -:104FB00000000000000000000000000000000000F1 -:104FC00000000000000000000000000000000000E1 -:104FD00000000000000000000000000000000000D1 -:104FE00000000000000000000000000000000000C1 -:104FF00000000000000000000000000000000000B1 -:1050000000000000000000000000000000000000A0 -:105010000000000000000000000000000000000090 -:105020000000000000000000000000000000000080 -:105030000000000000000000000000000000000070 -:105040000000000000000000000000000000000060 -:105050000000000000000000000000000000000050 -:105060000000000000000000000000000000000040 -:105070000000000000000000000000000000000030 -:105080000000000000000000000000000000000020 -:105090000000000000000000000000000000000010 -:1050A0000000000000000000000000000000000000 -:1050B00000000000000000000000000000000000F0 -:1050C00000000000000000000000000000000000E0 -:1050D00000000000000000000000000000000000D0 -:1050E00000000000000000000000000000000000C0 -:1050F00000000000000000000000000000000000B0 -:10510000000000000000000000000000000000009F -:10511000000000000000000000000000000000008F -:10512000000000000000000000000000000000007F -:10513000000000000000000000000000000000006F -:10514000000000000000000000000000000000005F -:10515000000000000000000000000000000000004F -:10516000000000000000000000000000000000003F -:10517000000000000000000000000000000000002F -:10518000000000000000000000000000000000001F -:10519000000000000000000000000000000000000F -:1051A00000000000000000000000000000000000FF -:1051B00000000000000000000000000000000000EF -:0400000508000805E2 -:00000001FF diff --git a/firmware/build_stmn/inlretro_stm.map b/firmware/build_stmn/inlretro_stm.map deleted file mode 100644 index f0ff5fa..0000000 --- a/firmware/build_stmn/inlretro_stm.map +++ /dev/null @@ -1,888 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o (__aeabi_unwind_cpp_pr0) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (__gnu_unwind_execute) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (abort) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_global_impure_ptr) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (memcpy) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (raise) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_kill_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (__call_exitprocs) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (atexit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__libc_fini_array) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__retarget_lock_acquire_recursive) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_malloc_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (__malloc_lock) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (errno) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_sbrk_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) (__register_exitproc) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_free_r) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_getpid) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_kill) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) (_sbrk) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) -c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) - -Allocating common symbols -Common symbol size file - -exp_byte 0x1 source/buffer.o (symbol from plugin) -buff3 0x14 source/buffer.o (symbol from plugin) -__lock___atexit_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -cur_buff 0x4 source/buffer.o (symbol from plugin) -exp_byte_temp 0x1 source/buffer.o (symbol from plugin) -__lock___arc4random_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -tdo_pin 0x1 source/jtag.o (symbol from plugin) -errno 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) -pbje_status 0x1 source/jtag.o (symbol from plugin) -pbje_command 0x1 source/jtag.o (symbol from plugin) -tck_base 0x4 source/jtag.o (symbol from plugin) -tck_pin 0x1 source/jtag.o (symbol from plugin) -bank_table 0x2 source/nes.o (symbol from plugin) -addrh 0x2 source/bootload.o (symbol from plugin) -buff1 0x14 source/buffer.o (symbol from plugin) -incoming_bytes_remain - 0x1 source/buffer.o (symbol from plugin) -__lock___env_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -__lock___sinit_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -pbje_cmd_update_flag - 0x1 source/jtag.o (symbol from plugin) -tms_pin 0x1 source/jtag.o (symbol from plugin) -__lock___malloc_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -tdi_base 0x4 source/jtag.o (symbol from plugin) -tdo_base 0x4 source/jtag.o (symbol from plugin) -num_prg_banks 0x1 source/nes.o (symbol from plugin) -buff2 0x14 source/buffer.o (symbol from plugin) -cur_bank 0x1 source/nes.o (symbol from plugin) -addr_ptr 0x4 source/bootload.o (symbol from plugin) -tdi_pin 0x1 source/jtag.o (symbol from plugin) -lfsr 0x4 source/stuff.o (symbol from plugin) -buff0 0x14 source/buffer.o (symbol from plugin) -raw_bank_status 0x10 source/buffer.o (symbol from plugin) -oper_info_struct 0x20 source/operation.o (symbol from plugin) -raw_buffer16 0x200 source/buffer.o (symbol from plugin) -tms_base 0x4 source/jtag.o (symbol from plugin) -swim_base 0x4 source/swim.o (symbol from plugin) -swim_pin 0x1 source/swim.o (symbol from plugin) -__lock___at_quick_exit_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin) -pbje_numclk 0x1 source/jtag.o (symbol from plugin) -__lock___dd_hash_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -__lock___tz_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) -pbje_data 0x20 source/jtag.o (symbol from plugin) -__lock___sfp_recursive_mutex - 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - -Discarded input sections - - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .text 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .data 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .bss 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .init_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .fini_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .eh_frame 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o - .text 0x00000000 0x78 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.extab 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .ARM.attributes - 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_aranges - 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_str 0x00000000 0x70 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .ARM.attributes - 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccep6a43.o - .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .debug_aranges - 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .debug_str 0x00000000 0x6d C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .ARM.attributes - 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o - .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .debug_frame 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .text.exit 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .rodata._global_impure_ptr - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .text.__libc_init_array - 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .text.memset 0x00000000 0x9c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal_r.part.0 - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal_r - 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._signal_r - 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.__sigtramp_r - 0x00000000 0x50 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.signal 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text._init_signal - 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text.__sigtramp - 0x00000000 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .debug_frame 0x00000000 0xf8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .debug_frame 0x00000000 0x44 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text.startup.register_fini - 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .init_array.00000 - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text.__call_exitprocs - 0x00000000 0x118 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .data.__atexit_recursive_mutex - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .debug_frame 0x00000000 0x54 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .text.atexit 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .text.__libc_fini_array - 0x00000000 0x34 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_init - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_init_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_close - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_close_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_acquire - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_acquire_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_try_acquire - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_try_acquire_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_release - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text.__retarget_lock_release_recursive - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .debug_frame 0x00000000 0xb0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - COMMON 0x00000000 0x21 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .text._malloc_r - 0x00000000 0x554 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_current_mallinfo - 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_max_sbrked_mem - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_max_total_mem - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .bss.__malloc_top_pad - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_av_ - 0x00000000 0x408 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_sbrk_base - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .data.__malloc_trim_threshold - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text.__malloc_lock - 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text.__malloc_unlock - 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .debug_frame 0x00000000 0x40 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text.cleanup_glue - 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text._reclaim_reent - 0x00000000 0x94 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .debug_frame 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .text._sbrk_r 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .text.__register_exitproc - 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text._malloc_trim_r - 0x00000000 0xa0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text._free_r 0x00000000 0x1d4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .debug_frame 0x00000000 0x58 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .stab 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .stab 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x24 (size before relaxing) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .text._sbrk 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .bss.heap_end.4102 - 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .eh_frame 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .ARM.attributes - 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o - .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .init 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .fini 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - -Memory Configuration - -Name Origin Length Attributes -FLASH 0x08000000 0x00008000 xr -RAM 0x20000000 0x00001800 xrw -*default* 0x00000000 0xffffffff - -Linker script and memory map - -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\paul\AppData\Local\Temp\ccep6a43.o -LOAD C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o -LOAD C:\Users\paul\AppData\Local\Temp\ccj6UtR6.o -LOAD C:\Users\paul\AppData\Local\Temp\cckRUKFb.o -START GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a -END GROUP -START GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a -END GROUP -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o -LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o - -.text 0x08000000 0x4c90 - *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - 0x08000000 __isr_vector - *(.usb_driver) - .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x08000198 USB_IRQHandler - *(.usb_desc) - .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *(.hardfault) - .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - 0x08000534 TIM1_CC_IRQHandler - 0x08000534 TSC_IRQHandler - 0x08000534 ADC1_COMP_IRQHandler - 0x08000534 SysTick_Handler - 0x08000534 PendSV_Handler - 0x08000534 NMI_Handler - 0x08000534 I2C1_IRQHandler - 0x08000534 RCC_CRS_IRQHandler - 0x08000534 SPI1_IRQHandler - 0x08000534 TIM6_DAC_IRQHandler - 0x08000534 USART3_4_IRQHandler - 0x08000534 EXTI2_3_IRQHandler - 0x08000534 I2C2_IRQHandler - 0x08000534 TIM17_IRQHandler - 0x08000534 CEC_CAN_IRQHandler - 0x08000534 PVD_VDDIO2_IRQHandler - 0x08000534 DMA1_Channel4_5_6_7_IRQHandler - 0x08000534 TIM16_IRQHandler - 0x08000534 TIM3_IRQHandler - 0x08000534 EXTI4_15_IRQHandler - 0x08000534 DMA1_Channel1_IRQHandler - 0x08000534 Default_Handler - 0x08000534 TIM14_IRQHandler - 0x08000534 TIM7_IRQHandler - 0x08000534 TIM15_IRQHandler - 0x08000534 EXTI0_1_IRQHandler - 0x08000534 SPI2_IRQHandler - 0x08000534 SVC_Handler - 0x08000534 RTC_IRQHand - 0x08000534 WWDG_IRQHandler - 0x08000534 TIM2_IRQHandler - 0x08000534 DEF_IRQHandler - 0x08000534 DMA1_Channel2_3_IRQHandler - 0x08000534 USART2_IRQHandler - 0x08000534 FLASH_IRQHandler - 0x08000534 USART1_IRQHandler - 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler - *fill* 0x08000536 0x2 ff - .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x08000538 HardFault_Handler - *_thumb1_case_uqi.o() - .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - 0x08000544 __gnu_thumb1_case_uqi - .ARM.attributes - 0x08000558 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - *_thumb1_case_shi.o() - *_thumb1_case_uhi.o() - *fill* 0x08000576 0x2 ff - .text 0x08000578 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - 0x08000578 __gnu_thumb1_case_uhi - .ARM.attributes - 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - *(.fw_update) - *fill* 0x080005aa 0x2 ff - .fw_update 0x080005ac 0x15c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x00000770 . = 0x770 - *fill* 0x08000708 0x68 ff - *(.fw_up_main) - .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x00000800 . = 0x800 - *fill* 0x080007e0 0x20 ff - *(.appver) - 0x00000804 . = 0x804 - *fill* 0x08000800 0x4 ff - *(.reset_handler) - .reset_handler - 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccep6a43.o - 0x08000804 Reset_Handler - *(.usbFuncWrite) - .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *(.usbFuncSetup) - .usbFuncSetup 0x08000884 0x163c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *(.text*) - .text.nes_cpu_page_rd_poll.constprop.21 - 0x08001ec0 0xc8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_ppu_page_rd_poll.constprop.19 - 0x08001f88 0xbc C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.append_pairity - 0x08002044 0x1e C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.delay_us - 0x08002062 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x08002076 0x2 ff - .text.lfsr_32 0x08002078 0x30 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc3s_prgrom_flash_wr - 0x080020a8 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_dualport_wr - 0x080020ac 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_dualport_rd - 0x08002138 0x80 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_ppu_wr - 0x080021b8 0x90 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_ppu_rd - 0x08002248 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc3_chrrom_flash_wr - 0x080022cc 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nrom_chrrom_flash_wr - 0x08002310 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_m2_high_wr - 0x08002354 0x98 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_cpu_wr - 0x080023ec 0xb4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.cdream_chrrom_flash_wr - 0x080024a0 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc4_chrrom_flash_wr - 0x0800252c 0x74 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.cnrom_chrrom_flash_wr - 0x080025a0 0x7c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nes_cpu_rd - 0x0800261c 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.tssop_prgrom_flash_wr - 0x080026a0 0x2a C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.a53_tssop_prgrom_flash_wr - 0x080026ca 0x36 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.gtrom_prgrom_flash_wr - 0x08002700 0x4c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.map30_prgrom_flash_wr - 0x0800274c 0x74 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc4_prgrom_flash_wr - 0x080027c0 0x54 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc3_prgrom_flash_wr - 0x08002814 0x50 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.disc_push_exp0_prgrom_wr - 0x08002864 0x84 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.discrete_exp0_prgrom_wr - 0x080028e8 0x8c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.unrom_prgrom_flash_wr - 0x08002974 0x64 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.nrom_prgrom_flash_wr - 0x080029d8 0x44 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.pbje_scan - 0x08002a1c 0xb0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.pbje_state_change - 0x08002acc 0x5c C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.jtag_init_pbje - 0x08002b28 0x40 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.jtag_run_pbje.part.0 - 0x08002b68 0xb8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.io_reset - 0x08002c20 0x1c4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.write_page_verify - 0x08002de4 0x68 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.write_page - 0x08002e4c 0x34 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.get_next_buff - 0x08002e80 0x54 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc1_wr.constprop.10 - 0x08002ed4 0x22 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x08002ef6 0x2 ff - .text.mmc1_chrrom_flash_wr - 0x08002ef8 0x60 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.mmc1_prgrom_flash_wr - 0x08002f58 0x50 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.swim_wotf - 0x08002fa8 0xb4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.swim_rotf - 0x0800305c 0xac C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .text.startup.main - 0x08003108 0x9e8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x08003108 main - .text 0x08003af0 0x154 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - 0x08003af0 swim_xfr - .text 0x08003c44 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0x08003f00 _Unwind_GetCFA - 0x08003f04 __gnu_Unwind_RaiseException - 0x08003f58 __gnu_Unwind_ForcedUnwind - 0x08003f6c __gnu_Unwind_Resume - 0x08003fb4 __gnu_Unwind_Resume_or_Rethrow - 0x08003fd0 _Unwind_Complete - 0x08003fd4 _Unwind_DeleteException - 0x08003fe4 _Unwind_VRS_Get - 0x0800402c _Unwind_VRS_Set - 0x08004074 __gnu_Unwind_Backtrace - 0x080043c4 __aeabi_unwind_cpp_pr0 - 0x080043d0 __aeabi_unwind_cpp_pr1 - 0x080043dc __aeabi_unwind_cpp_pr2 - 0x080043e8 _Unwind_VRS_Pop - .text 0x0800464c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) - 0x0800464c __restore_core_regs - 0x0800464c restore_core_regs - 0x08004678 __gnu_Unwind_Restore_VFP - 0x0800467c __gnu_Unwind_Save_VFP - 0x08004680 __gnu_Unwind_Restore_VFP_D - 0x08004684 __gnu_Unwind_Save_VFP_D - 0x08004688 __gnu_Unwind_Restore_VFP_D_16_to_31 - 0x0800468c __gnu_Unwind_Save_VFP_D_16_to_31 - 0x08004690 __gnu_Unwind_Restore_WMMXD - 0x08004694 __gnu_Unwind_Save_WMMXD - 0x08004698 __gnu_Unwind_Restore_WMMXC - 0x0800469c __gnu_Unwind_Save_WMMXC - 0x080046a0 ___Unwind_RaiseException - 0x080046a0 _Unwind_RaiseException - 0x080046d0 _Unwind_Resume - 0x080046d0 ___Unwind_Resume - 0x08004700 _Unwind_Resume_or_Rethrow - 0x08004700 ___Unwind_Resume_or_Rethrow - 0x08004730 _Unwind_ForcedUnwind - 0x08004730 ___Unwind_ForcedUnwind - 0x08004760 ___Unwind_Backtrace - 0x08004760 _Unwind_Backtrace - .text 0x08004790 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x080047e4 __gnu_unwind_execute - 0x08004ad4 __gnu_unwind_frame - 0x08004afc _Unwind_GetRegionStart - 0x08004b08 _Unwind_GetLanguageSpecificData - 0x08004b1c _Unwind_GetDataRelBase - 0x08004b24 _Unwind_GetTextRelBase - .text.abort 0x08004b2c 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) - 0x08004b2c abort - .text.memcpy 0x08004b3c 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) - 0x08004b3c memcpy - .text._raise_r - 0x08004bc4 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004bc4 _raise_r - .text.raise 0x08004c20 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) - 0x08004c20 raise - .text._kill_r 0x08004c34 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004c34 _kill_r - .text._getpid_r - 0x08004c5c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) - 0x08004c5c _getpid_r - .text._getpid 0x08004c64 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) - 0x08004c64 _getpid - .text._kill 0x08004c74 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) - 0x08004c74 _kill - .text._exit 0x08004c84 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - 0x08004c84 _exit - *(.init) - .init 0x08004c88 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08004c88 _init - *(.fini) - .fini 0x08004c8c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - 0x08004c8c _fini - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) - *(SORT_BY_NAME(.ctors.*)) - *(.ctors) - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) - *(SORT_BY_NAME(.dtors.*)) - *(.dtors) - *(.rodata*) - *(.eh_frame*) - -.glue_7 0x08004c90 0x0 - .glue_7 0x08004c90 0x0 linker stubs - -.glue_7t 0x08004c90 0x0 - .glue_7t 0x08004c90 0x0 linker stubs - -.vfp11_veneer 0x08004c90 0x0 - .vfp11_veneer 0x08004c90 0x0 linker stubs - -.v4_bx 0x08004c90 0x0 - .v4_bx 0x08004c90 0x0 linker stubs - -.iplt 0x08004c90 0x0 - .iplt 0x08004c90 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - -.ARM.extab 0x08004c90 0x30 - *(.ARM.extab* .gnu.linkonce.armextab.*) - .ARM.extab 0x08004c90 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - .ARM.extab 0x08004cb4 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x08004cc0 __exidx_start = . - -.ARM.exidx 0x08004cc0 0xd0 - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x08004cc0 0x8 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - 0x10 (size before relaxing) - .ARM.exidx 0x08004cc8 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) - 0xd8 (size before relaxing) - .ARM.exidx 0x08004d60 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) - 0x48 (size before relaxing) - 0x08004d90 __exidx_end = . - 0x08004d90 __etext = ALIGN (0x4) - -.rel.dyn 0x08004d90 0x0 - .rel.iplt 0x08004d90 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - -.data 0x20000000 0x430 load address 0x08004d90 - 0x20000000 __data_start__ = . - *(vtable) - *(.data*) - .data._impure_ptr - 0x20000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - 0x20000000 _impure_ptr - *fill* 0x20000004 0x4 - .data.impure_data - 0x20000008 0x428 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__preinit_array_start = .) - *(.preinit_array) - 0x20000430 PROVIDE (__preinit_array_end = .) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__init_array_start = .) - *(SORT_BY_NAME(.init_array.*)) - *(.init_array) - 0x20000430 PROVIDE (__init_array_end = .) - 0x20000430 . = ALIGN (0x4) - 0x20000430 PROVIDE (__fini_array_start = .) - *(SORT_BY_NAME(.fini_array.*)) - *(.fini_array) - 0x20000430 PROVIDE (__fini_array_end = .) - 0x20000430 . = ALIGN (0x4) - *(.fastrun) - 0x20000430 __data_end__ = . - -.igot.plt 0x20000430 0x0 load address 0x080051c0 - .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccep6a43.o - -.bss 0x20000430 0x2e4 load address 0x080051c0 - 0x20000430 . = ALIGN (0x4) - 0x20000430 __bss_start__ = . - *(.bss*) - .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.bank_table - 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x20000489 0x3 - .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.cur_usb_load_buff - 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.exp_byte 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.incoming_bytes_remain - 0x20000495 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x20000496 0x2 - .bss.lfsr 0x20000498 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.num_buff.5153 - 0x2000049c 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.num_prg_banks - 0x2000049d 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x2000049e 0x2 - .bss.oper_info_struct - 0x200004a0 0x20 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.pbje_command - 0x200004c0 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.pbje_data - 0x200004c1 0x20 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.pbje_numclk - 0x200004e1 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.pbje_status - 0x200004e2 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.raw_bank_status - 0x200004e3 0x10 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x200004f3 0x1 - .bss.raw_buffer16 - 0x200004f4 0x200 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.rv16.4750 - 0x200006f4 0x8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.rv16.5073 - 0x200006fc 0x8 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.stm_debug_disable - 0x20000704 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *fill* 0x20000705 0x3 - .bss.swim_base - 0x20000708 0x4 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .bss.swim_pin 0x2000070c 0x1 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - *(COMMON) - *fill* 0x2000070d 0x3 - COMMON 0x20000710 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) - 0x20000710 errno - 0x20000714 . = ALIGN (0x4) - 0x20000714 __bss_end__ = . - -.heap 0x20000714 0x0 - 0x20000714 __end__ = . - 0x20000714 PROVIDE (end = .) - *(.heap*) - 0x20000714 __HeapLimit = . - -.stack_dummy 0x20000714 0x0 - *(.stack*) - 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) - 0x20001800 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) - 0x20001800 PROVIDE (__stack = __StackTop) - 0x00000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) -OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) - -.ARM.attributes - 0x00000000 0x28 - .ARM.attributes - 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o - .ARM.attributes - 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .ARM.attributes - 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.comment 0x00000000 0x7f - .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x80 (size before relaxing) - -.debug_info 0x00000000 0x48db - .debug_info 0x00000000 0x48b5 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .debug_info 0x000048b5 0x26 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.debug_abbrev 0x00000000 0x6b6 - .debug_abbrev 0x00000000 0x6a2 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .debug_abbrev 0x000006a2 0x14 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.debug_loc 0x00000000 0x6ff6 - .debug_loc 0x00000000 0x6ff6 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - -.debug_aranges 0x00000000 0x1d0 - .debug_aranges - 0x00000000 0x1b0 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .debug_aranges - 0x000001b0 0x20 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.debug_ranges 0x00000000 0xb30 - .debug_ranges 0x00000000 0xb30 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - -.debug_line 0x00000000 0x1677 - .debug_line 0x00000000 0x1584 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - .debug_line 0x00001584 0xf3 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.debug_str 0x00000000 0x1071 - .debug_str 0x00000000 0x1008 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - 0x1121 (size before relaxing) - .debug_str 0x00001008 0x69 C:\Users\paul\AppData\Local\Temp\cckRUKFb.o - -.debug_frame 0x00000000 0x594 - .debug_frame 0x00000000 0x594 C:\Users\paul\AppData\Local\Temp\ccyIooTi.ltrans0.ltrans.o - -.stabstr 0x00000000 0x76 - .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/build_stmn/inlretro_stm_AV00.bin b/firmware/build_stmn/inlretro_stm_AV00.bin deleted file mode 100644 index fc9f811..0000000 Binary files a/firmware/build_stmn/inlretro_stm_AV00.bin and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm_AV01.bin b/firmware/build_stmn/inlretro_stm_AV01.bin deleted file mode 100644 index a25239c..0000000 Binary files a/firmware/build_stmn/inlretro_stm_AV01.bin and /dev/null differ diff --git a/firmware/build_stmn/inlretro_stm_AV03.bin b/firmware/build_stmn/inlretro_stm_AV03.bin deleted file mode 100644 index 0a7c8ee..0000000 Binary files a/firmware/build_stmn/inlretro_stm_AV03.bin and /dev/null differ diff --git a/firmware/include_stm/nokeep.ld b/firmware/include_stm/nokeep.ld index b891061..e53d116 100644 --- a/firmware/include_stm/nokeep.ld +++ b/firmware/include_stm/nokeep.ld @@ -97,7 +97,7 @@ SECTIONS /* when created there was about 132 Bytes of free space here */ /* fwupdate main needs to be in a fixed location */ - . = 0x0770; + . = 0x1770; *(.fw_up_main) /* when created there was about 32Bytes free space here */ @@ -105,12 +105,12 @@ SECTIONS /* THIS IS THE END OF THE USB DRIVER & FIRMWARE UDPATER SECTION */ - . = 0x0800; /*update the location counter to the 3rd KByte */ + . = 0x1800; /*update the location counter to the 3rd KByte */ *(.appver) /* 4 Bytes characters ie: "AV01" */ /* can't get this to work right now, just manually add to binary before releasing.. */ - . = 0x0804; + . = 0x1804; /* reset handler fixed to 0x08000804 * that way the vector table should always be accurate */ *(.reset_handler) diff --git a/firmware/source/flash.c b/firmware/source/flash.c index bf56228..b7a5933 100644 --- a/firmware/source/flash.c +++ b/firmware/source/flash.c @@ -613,6 +613,9 @@ uint8_t flash_buff( buffer *buff ) { if (buff->mapper == GTROM) { write_page_verify( (0x80+addrH), buff, gtrom_prgrom_flash_wr); } + if (buff->mapper == PICTO2022) { + write_page_verify( (0x80+addrH), buff, picto2022_prgrom_flash_wr); + } break; case CHRROM: //$0000 @@ -634,6 +637,15 @@ uint8_t flash_buff( buffer *buff ) { if (buff->mapper == CDREAM) { write_page( addrH, buff, cdream_chrrom_flash_wr); } + if (buff->mapper == VG1040) { + write_page( addrH, buff, vg1040_chrrom_flash_wr); + } + if (buff->mapper == VG1040HVC) { + write_page( addrH, buff, vg1040hvc_chrrom_flash_wr); + } + if (buff->mapper == PICTO2022) { + write_page( addrH, buff, picto2022_chrrom_flash_wr); + } if (buff->mapper == DPROM) { //select bank //8KB banks $0000-1FFF diff --git a/firmware/source/nes.c b/firmware/source/nes.c index f8e3f16..37d8e74 100644 --- a/firmware/source/nes.c +++ b/firmware/source/nes.c @@ -1,4 +1,5 @@ #include "nes.h" +#include //only need this file if connector is present on the device #ifdef NES_CONN @@ -111,6 +112,18 @@ uint8_t nes_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *r case CDREAM_CHR_FLASH_WR: cdream_chrrom_flash_wr( operand, miscdata ); break; + case VG1040_CHR_FLASH_WR: + vg1040_chrrom_flash_wr( operand, miscdata ); + break; + case VG1040HVC_CHR_FLASH_WR: + vg1040hvc_chrrom_flash_wr( operand, miscdata ); + break; + case PICTO2022_PRG_FLASH_WR: + picto2022_prgrom_flash_wr( operand, miscdata ); + break; + case PICTO2022_CHR_FLASH_WR: + picto2022_chrrom_flash_wr( operand, miscdata ); + break; case MAP30_PRG_FLASH_WR: map30_prgrom_flash_wr( operand, miscdata ); break; @@ -1632,6 +1645,146 @@ void cdream_chrrom_flash_wr( uint16_t addr, uint8_t data ) return; } +void vg1040_chrrom_flash_wr(uint16_t addr, uint8_t data) +{ + uint8_t rv; + nes_cpu_wr(bank_table+0x08, 0x08); //need the #2 CHR-ROM bank + nes_ppu_wr(0x1555, 0xAA); + + nes_cpu_wr(bank_table+0x04, 0x04); + nes_ppu_wr(0x0AAA, 0x55); + + nes_cpu_wr(bank_table+0x08, 0x08); + nes_ppu_wr(0x1555, 0xA0); + + nes_cpu_wr(bank_table+(cur_bank<<2), (cur_bank<<2)); + nes_ppu_wr(addr, data); + + do { + rv = nes_ppu_rd(addr); + usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != nes_ppu_rd(addr)); + //TODO handle timeout + + return; +} +void vg1040hvc_chrrom_flash_wr(uint16_t addr, uint8_t data) { + uint8_t rv; + + nes_cpu_wr(bank_table+0x08, 0x08); //need the #2 CHR-ROM bank + nes_ppu_wr(0x1955, 0xAA); + + nes_cpu_wr(bank_table+0x04, 0x04); + nes_ppu_wr(0x06AA, 0x55); + + nes_cpu_wr(bank_table+0x08, 0x08); + nes_ppu_wr(0x1955, 0xA0); + + nes_cpu_wr(bank_table+(cur_bank<<2), (cur_bank<<2)); + nes_ppu_wr(addr, data); + + do { + rv = nes_ppu_rd(addr); + usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != nes_ppu_rd(addr)); + //TODO handle timeout + + return; +} + + + +// Picto Cart 2022 Code +void picto2022_flash_cartridge() { + printf("START flash cartridge\n"); + picto2022_erase_prgrom(); + picto2022_erase_chrrom(); + picto2022_flash_prgrom(); + picto2022_flash_chrrom(); + printf("END flash cartridge\n"); +} + +void picto2022_erase_prgrom() { + uint8_t rv; + printf("START Erase PRG ROM"); + nes_cpu_wr(0x8000, 0x00); + discrete_exp0_prgrom_wr(0x4B55, 0xAA); + discrete_exp0_prgrom_wr(0x34AA, 0x55); + discrete_exp0_prgrom_wr(0x4B55, 0x08); + discrete_exp0_prgrom_wr(0x4B55, 0xAA); + discrete_exp0_prgrom_wr(0x34AA, 0x55); + discrete_exp0_prgrom_wr(0x4B55, 0x40); + do { + rv = nes_cpu_rd(0x8000); + } while (rv != 0xff); + printf("END Erase PRG ROM\n"); +} + +void picto2022_erase_chrrom() { + uint8_t rv; + printf("START Erase CHR ROM"); + nes_cpu_wr(0x800C, 0x0C); + nes_ppu_wr(0x0955, 0x55); + nes_cpu_wr(0x8010, 0x10); + nes_ppu_wr(0x162A, 0xAA); + nes_cpu_wr(0x800C, 0x0C); + nes_ppu_wr(0x0955, 0x15); + nes_ppu_wr(0x0955, 0x55); + nes_cpu_wr(0x8010, 0x10); + nes_ppu_wr(0x162A, 0xAA); + nes_cpu_wr(0x800C, 0x0C); + nes_ppu_wr(0x0955, 0x80); + do { + rv = nes_ppu_rd(0x0000); + } while (rv != 0xff); + printf("END Erase CHR ROM\n"); +} + +void picto2022_flash_prgrom() { + +} +void picto2022_flash_chrrom() { + +} + +// Write Picto Cart 2022 PRG ROM +uint8_t picto2022_prgrom_flash_wr(uint16_t addr, uint8_t data) { + uint8_t rv; + + discrete_exp0_prgrom_wr(0x4B55, 0xAA); + discrete_exp0_prgrom_wr(0x34AA, 0x55); + discrete_exp0_prgrom_wr(0x4B55, 0x28); + discrete_exp0_prgrom_wr(addr, data); + + do { + rv = nes_cpu_rd(addr); + usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != nes_cpu_rd(addr)); + //TODO handle timeout + return rv; +} + +// Write Picto Cart 2022 CHR ROM +void picto2022_chrrom_flash_wr(uint16_t addr, uint8_t data) { + uint8_t rv; + + nes_cpu_wr(bank_table+0x0C, 0x0C); + nes_ppu_wr(0x0955, 0x55); + nes_cpu_wr(bank_table+0x10, 0x10); + nes_ppu_wr(0x162A, 0xAA); + nes_cpu_wr(bank_table+0x0C, 0x0C); + nes_ppu_wr(0x0955, 0x50); + nes_cpu_wr(bank_table + (cur_bank << 2), (cur_bank << 2)); + nes_ppu_wr(addr, data); + + do { + rv = nes_ppu_rd(addr); + usbPoll(); //orignal kazzo needs this frequently to slurp up incoming data + } while (rv != nes_ppu_rd(addr)); + //TODO handle timeout + return; +} + /* Desc:NES MAPPER30 PRG-ROM FLASH Write * Pre: nes_init() setup of io pins diff --git a/firmware/source/nes.h b/firmware/source/nes.h index 86546c3..a2a1d0c 100644 --- a/firmware/source/nes.h +++ b/firmware/source/nes.h @@ -32,6 +32,7 @@ uint8_t nes_dualport_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, void mmc1_wr( uint16_t addr, uint8_t data, uint8_t reset ); uint8_t nrom_prgrom_flash_wr( uint16_t addr, uint8_t data ); +uint8_t picto2022_prgrom_flash_wr( uint16_t addr, uint8_t data ); void nrom_chrrom_flash_wr( uint16_t addr, uint8_t data ); void mmc1_prgrom_flash_wr( uint16_t addr, uint8_t data ); void mmc1_chrrom_flash_wr( uint16_t addr, uint8_t data ); @@ -45,6 +46,9 @@ uint8_t mmc4_prgrom_flash_wr( uint16_t addr, uint8_t data ); void mmc2_prgrom_flash_wr( uint16_t addr, uint8_t data ); void mmc4_chrrom_flash_wr( uint16_t addr, uint8_t data ); void cdream_chrrom_flash_wr( uint16_t addr, uint8_t data ); +void vg1040_chrrom_flash_wr( uint16_t addr, uint8_t data ); +void vg1040hvc_chrrom_flash_wr( uint16_t addr, uint8_t data ); +void picto2022_chrrom_flash_wr( uint16_t addr, uint8_t data ); uint8_t map30_prgrom_flash_wr( uint16_t addr, uint8_t data ); uint8_t gtrom_prgrom_flash_wr( uint16_t addr, uint8_t data ); void ppu_page_wr_lfsr( uint16_t addr, uint8_t data ); diff --git a/firmware/source/old_shared_enums.h b/firmware/source/old_shared_enums.h new file mode 100644 index 0000000..568bd36 --- /dev/null +++ b/firmware/source/old_shared_enums.h @@ -0,0 +1,141 @@ +#ifndef _shared_enums_h +#define _shared_enums_h + +//One concise place to list all enums used +//for setting cartridge and memory elements on the host +//which end up getting communicated between device and host + +//used to denote when any cartridge element is not known +#define UNKNOWN 0xFF + +//console options +#define NES_CART 'N' +#define FC_CART 'F' +#define SNES_CART 'S' +#define BKWD_CART 'B' + +//NES mappers +#define NROM 0 +#define MMC1 1 +#define CNROM 2 +#define UxROM 3 +#define MMC3 4 +#define MMC5 5 +#define AxROM 7 +#define MMC2 9 +#define MMC4 10 +#define CDREAMS 11 +#define VG1040 247 +#define VG1040HVC 247 +#define PICTO2022 239 +#define A53 28 +#define UNROM512 30 +#define EZNSF 31 +#define BxROM 34 +#define RAMBO 64 +#define H3001 65 //IREM mapper +#define GxROM 66 +#define SUN3 67 +#define SUN4 68 +#define FME7 69 //SUNSOFT-5 with synth +#define HDIVER 78 +#define DxROM 205 +// UNKNOWN 255 don't assign to something meaningful + +enum mirroring { + MIR_1SCNA = 0x10, //SCNA + MIR_1SCNB = 0x11, //SCNB + MIR_VERT = 0x12, //VERT + MIR_HORIZ = 0x13, //HORIZ + MIR_ANROM, + MIR_MMC1, + MIR_MMC3, + MIR_FME7 +}; + +enum operations { + READ = 10, + WRITE, + CHECK +}; + +//SST 39SF0x0 manf/prod IDs +#define SST_MANF_ID 0xBF +#define SST_PROD_128 0xB5 +#define SST_PROD_256 0xB6 +#define SST_PROD_512 0xB7 + + +//SRAM manf/prod ID +#define SRAM 0xAA + +//MASK ROM read only +#define MASKROM 0xDD + +enum buff_mem_type { + PRGROM = 10, + CHRROM, + PRGRAM, + SNESROM, + SNESRAM +}; + +//buffer/operation status values +#define EMPTY 0x00 +#define RESET 0x01 +#define PROBLEM 0x10 +#define PREPARING 0x20 +#define USB_UNLOADING 0x80 +#define USB_LOADING 0x90 +#define USB_FULL 0x98 +#define CHECKING 0xC0 +#define DUMPING 0xD0 +#define STARTDUMP 0xD2 +#define DUMPED 0xD8 +#define ERASING 0xE0 +#define FLASHING 0xF0 +#define STARTFLASH 0xF2 +#define FLASHED 0xF4 +#define FLASH_WAIT 0xF8 +#define STOPPED 0xFE +#define UNALLOC 0xFF + +enum addr_high_direct_mask { + //actual value is part mapper dependent and part flash dependent + //mapper controlled address bits dictate where split is + //32KB banking A14-0 NES ctl, A15+ mapper ctl "bank" NROM, BNROM, ANROM + //addrH_dmask = 0b0111 1111 directly addressable addrH bits + MSK_32KB = 0x7F, + //16KB banking A13-0 NES ctl, A14+ mapper ctl "bank" UxROM, MMC1 + //addrH_dmask = 0b0011 1111 + MSK_16KB = 0x3F, + // 8KB banking A12-0 NES ctl, A13+ mapper ctl "bank" MMC3, FME7, CHR discrete banking + //addrH_dmask = 0b0001 1111 + MSK_8KB = 0x1F, + // 4KB banking A11-0 NES ctl, A12+ mapper ctl "bank" ezNSF MMC1 CHR + //addrH_dmask = 0b0000 1111 + MSK_4KB = 0x0F, + // 2KB banking A10-0 NES ctl, A11+ mapper ctl "bank" MMC3 CHR + //addrH_dmask = 0b0000 0111 + MSK_2KB = 0x07, + // 1KB banking A9-0 NES ctl, A10+ mapper ctl "bank" FME7 CHR + //addrH_dmask = 0b0000 0011 + MSK_1KB = 0x03 +}; + +enum page2bankshiftright { + //A15->A8 = 7 shifts (equal to number of set bits in addrH_mask + PG2B_32KB = 7, + //A14->A8 = 6 shifts + PG2B_16KB = 6, + //A13->A8 = 5 shifts + PG2B_8KB = 5, + //A12->A8 = 4 shifts + PG2B_4KB = 4, + //A11->A8 = 3 shifts + PG2B_2KB = 3, + //A10->A8 = 2 shifts + PG2B_1KB = 2 +}; + +#endif diff --git a/firmware/source/shared_dict_bootload.h b/firmware/source/shared_dict_bootload.h new file mode 100644 index 0000000..3f8bac5 --- /dev/null +++ b/firmware/source/shared_dict_bootload.h @@ -0,0 +1,89 @@ +#ifndef _shared_dict_bootload_h +#define _shared_dict_bootload_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// BOOTLOAD DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/bootload.c +// these opcodes are currently only defined for STM32 devices +// AVR devices use their own dedicated & entirely separate bootloader handled via switch +// +//============================================================================================= +//============================================================================================= + + +//BOOTLOAD opcodes + +//could never get this to work so just going to cut it out +//#define JUMP_BL 1 //jump to the bootloader + +#define LOAD_ADDRH 2 //upper address half word used for various functions +#define JUMP_ADDR 3 //jump to address upper 16bit provided previous opcode + +#define PREP_FWUPDATE 4 //leave main application and sets up for fwupdate + + +// POINTER READ/WRITE ACCESS +// With great power comes great responsibility +// these opcodes perform direct read/write access of the STM32 address space +// you can litterally read/write any address +// accessing restricted areas will cause hardfaults +// don't think it's really possible to brick the device using any of these +// worst case you could corrupt flash if you halfway know what you're doing +// so long as you don't mess up the option bytes to disable the BOOT pin +// you'll be able to recover the device using bootloader jumper/switch +// via stmicro dfuse demo + +// this could actually be pretty handy for mcu debugging. +// allowing for reading of registers, memory, etc between dictionary calls +// +// TODO for this use including AVR support is actually a good idea +// but need to be extra careful there as bricking an AVR could +// permanently brick it to where not even an AVR programmer could save it +// atleast the mcu socketed.. Bricking it would be difficult to do accidentally. +// More of a concern if one were tinkering with fuses and such. +// Don't feel like learning the AVR memory map enough to add this support +// at the moment. Perhaps much of the ARM code will compile and work fine +// on the AVR..? + +//operand provides 16bit value for RD/WR commands below +#define SET_PTR_HI 5 +#define SET_PTR_LO 6 +#define GET_PTR 7 //RL=6 + +//ALL OFFSETS ARE INTERPRETED AT POSITIVE UNSIGNED! +//read 16bit value from memory location being pointed to +//operand provides offset from current pointer, but doesn't modify the pointer +#define RD_PTR_OFFSET 8 //RL=4 0-error, 1-len, 2-LSB, 3-MSB +//operand provides 16bit value to be written, miscdata provides offset +#define WR_PTR_OFFSET 9 + +//operand provides 16bit offset which is added to ptr before access +//then reads from that address +#define RD_PTR_OFF_UP 10 //RL=4 0-error, 1-len, 2-LSB, 3-MSB + +//miscdata provide 8bit offset which is added to ptr before access +//operand is the 16bit value which is written to memory location being pointed to +#define WR_PTR_OFF_UP 11 + +//application code version +//this is updated more frequently than the USB firmware version +#define GET_APP_VER 12 //RL=3 0-error, 1-len, 2-version (2345-version if string "AV##") +//STM32 just set pointer to 0x08000800 and read 4 bytes for now +//AVR has to use this method.. + + //APPLICATION VERSION NUMBERS + //#define APP_VERSION "AV00" //released with usb firmware v2.3 + //main update was addition of usb firmware updater + //also added the bootloader pointer memory access + //include ram functions & starting to have NES flash algos return data + #define APP_VERSION 3 //released 8/16 with N64 dump fix and MMC2/4 support + +#endif diff --git a/firmware/source/shared_dict_buffer.h b/firmware/source/shared_dict_buffer.h new file mode 100644 index 0000000..60092ad --- /dev/null +++ b/firmware/source/shared_dict_buffer.h @@ -0,0 +1,595 @@ +#ifndef _shared_dict_buffer_h +#define _shared_dict_buffer_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// BUFFER DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/buffer.c +// +//============================================================================================= +//============================================================================================= + + +//raw buffer banks & size +//This determines the raw buffer sram space on avr at firmware compile time +//one byte per bank is instantiated to keep track of that banks' allocation status +//a buffer must be as large as one bank, but a buffer can consume multiple banks +//only limit to buffer size is the buffer structure +//current buffer structure utilizes a single byte for current byte counter +//which limits to 256 bytes per buffer currently +//having 16bit value support would expand this, or somehow shifting current byte +//to account for multiple bytes could expand further +//#define NUM_RAW_BANKS 8 // 8*32 = 256 bytes of buffer +#define NUM_RAW_BANKS 16 //16*32 = 512 bytes of buffer +//#define NUM_RAW_BANKS 24 //24*32 = 768 DAMN THE TORPEDOS FULL SPEED AHEAD!!! + +#define RAW_BANK_SIZE 32 //bank size in bytes + +//number of buffer objects +//This controls number of static buffer objects instantiated in firmware at compile time +//note this also controls opcodes created/supported by firmware +//reducing number of buffers frees firmware sram by ~16bytes per buffer object +//not much reason to have less than 2 atleast allow double buffering +//so one can be getting loaded/unloaded by USB while other is dumping/flashing +//current max is 8, but only really limited by opcode definitions to address all buffers +//makes #ifdef code simpler to only allow buffer numbers that are power of 2 +//#define NUM_BUFFERS_2 2 +#define NUM_BUFFERS_4 4 +//#define NUM_BUFFERS_8 8 + + +//============================================================================================= +// OPCODES with up to 24bit operand and optional return value besides SUCCESS/ERROR_CODE +// PAYLOAD options listed as well +//============================================================================================= +// Detect this opcode/operand setup with opcode between the following defines: +// +//------------------------------------ +#define BUFF_OPCODE_NRV_MIN 0x00 +//opcodes in this range have NO RETURN besides error code and DON'T contain buff# in miscdata byte +// ---------------------------- +#define BUFFN_INMISC_MIN 0x30 //NOTE OVERLAP!! +//opcodes in this range have NO RETURN besides error code and DO contain buff# in miscdata byte +#define BUFF_OPCODE_NRV_MAX 0x3F +//------------------------------------ +#define BUFF_PAYLOADN_MIN 0x40 +//opcodes in this range are PAYLOADS and DO contain buff# in miscdata byte +#define BUFF_PAYLOADN_MAX 0x4F +//------------------------------------ +#define BUFF_OPCODE_RV_MIN 0x50 +//opcodes in this range HAVE RETURN besides error code and DO contain buff# in miscdata byte +#define BUFFN_INMISC_MAX 0x5F //NOTE OVERLAP!! +// ---------------------------- +//opcodes in this range HAVE RETURN value plus error code and DON'T contain buff# in miscdata byte +#define BUFF_OPCODE_RV_MAX 0x6F +//------------------------------------ +#define BUFF_PAYLOAD_MIN 0x70 +//opcodes in this range are PAYLOADS and DO NOT contain buff# in miscdata byte +#define BUFF_PAYLOAD_MAX 0x7F +//============================================================================================= +//============================================================================================= + + +//------------------------------------------------------------------------------------------------ +//opcodes in this range have NO RETURN besides error code and DON'T contain buff# in miscdata byte +//#define BUFF_OPCODE_NRV_MIN 0x00-2F +//------------------------------------------------------------------------------------------------ + +//blindly clear all allocation of raw buffer space +//reset all buffers to unallocated +//no operands no return value +#define RAW_BUFFER_RESET 0x00 + + +//------------------------------------------------------------------------------------------------ +//opcodes in this range have NO RETURN besides error code and DO contain buff# in miscdata byte +//#define BUFFN_INMISC_MIN 0x30-3F //NOTE OVERLAP!! +//------------------------------------------------------------------------------------------------ +//SET BUFFER ELEMENTS + +//memory type and part number +//miscdata: buffer number +//operMSB: memory type +//operLSB: part number +#define SET_MEM_N_PART 0x30 + //operand MSB memtype + #define PRGROM 0x10 + #define CHRROM 0x11 + #define PRGRAM 0x12 + #define SNESROM 0x13 + #define SNESRAM 0x14 + #define GENESISROM 0x15 + + //Read specific sections of memory map + // 4KB/1KB naming designates the granularity of the starting address + // Any amount can be read, but unexpected behavior will result when reading past memory map limits + // designate the address base with mapper since this read is mapper independent + #define NESCPU_4KB 0x20 //mapper (bits 3-0) specifies A12-15 (4bits) + #define NESPPU_1KB 0x21 //mapper (bits 5-2) specifies A10-13 (4bits) + //DON'T WANT TO USE THESE ANY MORE, USE THE PAGE VERSIONS BELOW + + //since the types above only specify the granularity of the read, there is no reason + //to limit it to 1-4KByte. May as well give page granularity and use the whole mapper byte! + #define NESCPU_PAGE 0x22 //mapper byte specifies A15-8 + #define NESPPU_PAGE 0x23 //mapper byte specifies A13-8 bits 6 & 7 can't be set + #define SNESROM_PAGE 0x24 //mapper byte specifies A15-8 ROMSEL low + #define SNESSYS_PAGE 0x25 //mapper byte specifies A15-8 ROMSEL high + #define GAMEBOY_PAGE 0x26 //mapper byte specifies A15-8 + #define GBA_ROM_PAGE 0x27 //address must have already been latched with gba dictionary + #define GENESIS_ROM_PAGE0 0x28 //bank address A17-23 must have been latched already + //TODO come up with better way to handle genesis address complications + #define GENESIS_ROM_PAGE1 0x29 //bank address A17-23 must have been latched already + #define N64_ROM_PAGE 0x30 + + + #define NESPPU_1KB_TOGGLE 0x31 //similar to PPU page read but /RD signal toggles with each read + #define NESCPU_4KB_TOGGLE 0x32 //similar to CPU page read but M2 toggles with each read + #define GENESIS_RAM_PAGE 0x33 //bank address A17-23 must have been latched already + + //operand LSB + //SST 39SF0x0 manf/prod IDs + #define SST_MANF_ID 0xBF + #define SST_PROD_128 0xB5 + #define SST_PROD_256 0xB6 + #define SST_PROD_512 0xB7 + //SRAM manf/prod ID + #define SRAM 0xAA + //MASK ROM read only + #define MASKROM 0xDD + +//set multiple and add multiple +//miscdata: buffer number +//operMSB: multiple +//operLSB: add multiple +#define SET_MULT_N_ADDMULT 0x31 + +//set mapper and mapper variant +//miscdata: buffer number +//operMSB: mapper +//operLSB: mapper variant +#define SET_MAP_N_MAPVAR 0x32 + //operand MSB mapper + #define NROM 0 + #define MMC1 1 + #define UxROM 2 + #define CNROM 3 + #define MMC3 4 + #define MMC5 5 + #define AxROM 7 + #define MMC2 9 + #define MMC4 10 + #define CDREAM 11 + #define VG1040 247 + #define VG1040HVC 237 + #define PICTO2022 239 + #define CNINJA 12 //not actually mapper 12, just a temp mapper assignment + #define A53 28 + #define MAP30 30 + #define EZNSF 31 + #define BxROM 34 + #define RAMBO 64 + #define H3001 65 //IREM mapper + #define GxROM 66 + #define SUN3 67 + #define SUN4 68 + #define FME7 69 //SUNSOFT-5 with synth + #define HDIVER 78 + #define GTROM 111 + #define DxROM 205 + + #define MM2 253 + #define DPROM 254 //just a random mapper number for whatever I need it for + #define MMC3S 252 + // UNKNOWN 255 don't assign to something meaningful + //operand LSB mapper variant + #define NOVAR 0 + + + #define LOROM 0 + #define HIROM 1 //file starts at bank 40 and is mirrored to C0 + #define EXHIROM 2 //file starts at bank C0 + #define SOROM 3 //12MB star ocean mapping + + #define LOROM_5VOLT 4 //Catskull 5v SNES board with SST PLCC flash + #define HIROM_5VOLT 5 + + #define LOROM_3VOLT 6 + #define HIROM_3VOLT 7 + + #define LOROM_3V_PAGE 8 + #define HIROM_3V_PAGE 9 + + #define LOROM_3V_VERIFY 10 //same as 3VOLT above, but verifies each byte while writing + #define HIROM_3V_VERIFY 11 + + +//set function +//miscdata: buffer number +//operMSB: (might be needed if this is a ponter..?) or might need more than one function def.. +//operLSB: function +#define SET_FUNCTION 0x33 + + +//#define BUFF_OPCODE_NRV_MAX 0x3F +//------------------------------------------------------------------------------------------------ +//opcodes in this range are PAYLOADS and DO contain buff# in miscdata byte +//#define BUFF_PAYLOADN_MIN 0x40-4F +//------------------------------------------------------------------------------------------------ + +//designate what buffer to fill with miscdata byte +//no return value as it's write OUT only +//operandMSB:LSB actually contains first 2 bytes +#define BUFF_OUT_PAYLOADN_2B_INSP 0x40 + +//designate what buffer to fill/read with miscdata byte +#define BUFF_PAYLOADN 0x41 + + +//#define BUFF_PAYLOADN_MAX 0x4F +//------------------------------------------------------------------------------------------------ +//opcodes in this range HAVE RETURN besides error code and DO contain buff# in miscdata byte +//#define BUFF_OPCODE_RV_MIN 0x50-5F +//------------------------------------------------------------------------------------------------ + +//return buffer elements +//misc/data: buffer number +#define GET_PRI_ELEMENTS 0x50 //RL=8 +//rv0: success/error code +//rv1: rdatalen = 6 +//rv2: last_idx +#define BUFF_LASTIDX 1 +//rv3: status +#define BUFF_STATUS 2 +//rv4: cur_byte +#define BUFF_CURBYTE 3 +//rv5: reload +#define BUFF_RELOAD 4 +//rv6: id +#define BUFF_ID 5 +//rv7: function +#define BUFF_FUNC 6 + + +//return buffer elements +//misc/data: buffer number +#define GET_SEC_ELEMENTS 0x51 //RL=8 +//rv0: success/error code +//rv1: rdatalen = 6 +//rv2: mem_type +#define BUFF_MEMTYPE 1 +//rv3: part_num +#define BUFF_PARTNUM 2 +//rv4: multiple +#define BUFF_MUL 3 +//rv5: add_multiple +#define BUFF_ADDMUL 4 +//rv6: mapper +#define BUFF_MAPPER 5 +//rv7: mapvar +#define BUFF_MAPVAR 6 + +//return buffer elements +//misc/data: buffer number +#define GET_PAGE_NUM 0x52 //RL=4 +//rv0: success/error code +//rv1: rdatalen = 2 +//rv3-2: 16bit page number + + +//#define BUFFN_INMISC_MAX 0x5F //NOTE OVERLAP!! +//------------------------------------------------------------------------------------------------ +//opcodes in this range HAVE RETURN value plus error code and DON'T contain buff# in miscdata byte +// 0x60-6F +//------------------------------------------------------------------------------------------------ + +//send bank number and read back it's status +//0xFF-UNALLOC +//gets assigned buffer ID number when allocated +//operandMSB/miscdata: unused +//operandLSB: raw bank number to retrieve status of +//return value status of that raw bank (set to bank id if allocated) +#define GET_RAW_BANK_STATUS 0x60 //RL=3 + //buffer/operation status values + #define EMPTY 0x00 + #define RESET 0x01 + #define PROBLEM 0x10 + #define PREPARING 0x20 + #define USB_UNLOADING 0x80 + #define USB_LOADING 0x90 + #define USB_FULL 0x98 + #define CHECKING 0xC0 + #define DUMPING 0xD0 + #define STARTDUMP 0xD2 + #define DUMPED 0xD8 + #define ERASING 0xE0 + #define FLASHING 0xF0 + #define STARTFLASH 0xF2 + #define FLASHED 0xF4 + #define FLASH_WAIT 0xF8 + #define STOPPED 0xFE + #define UNALLOC 0xFF + +//retrieve cur_buff status +#define GET_CUR_BUFF_STATUS 0x61 //RL=3 + + + +//#define BUFF_OPCODE_RV_MAX 0x6F +//------------------------------------------------------------------------------------------------ +//opcodes in this range are PAYLOADS and DO NOT contain buff# in miscdata byte +//#define BUFF_PAYLOAD_MIN 0x70-7F +//------------------------------------------------------------------------------------------------ + + +//does NOT designate what buffer to fill with opcode +//endpoint direction determines if read/write +//no operands no return value aside from payload for transfer IN +//max size for these transfers is 254Bytes for IN and OUT +#define BUFF_PAYLOAD 0x70 + +//does NOT designate what buffer to fill with opcode +//no return value as it's write OUT only +//operandMSB:LSB actually contains first 2 bytes +#define BUFF_OUT_PAYLOAD_2B_INSP 0x71 + + +//#define BUFF_PAYLOAD_MAX 0x7F + + + +//============================================================================================= +// OPCODES with up to 24bit operand and no return value besides SUCCESS/ERROR_CODE +// BUFFER NUMBER denoted in lower nibble of opcode +//============================================================================================= +// Detect this opcode group which uses 3 LSbits to determine which buffer to call +#define BUFF_OPCODE_BUFN_MIN 0x80 +#define BUFF_OPCODE_BUFN_MAX 0xFF +// +// +// Detect this opcode/operand setup with opcode between the following defines: +#define BUFF_OPCODE_BUFN_NRV_MIN 0x80 +#define BUFF_OPCODE_BUFN_NRV_MAX 0xBF +// +#define BUFF_OPCODE_BUFN_RV_MIN 0xC0 +#define BUFF_OPCODE_BUFN_RV_MAX 0xEF +// +#define BUFF_OPCODE_PAYLOAD_MIN 0xF0 +#define BUFF_OPCODE_PAYLOAD_MAX 0xFF +//============================================================================================= +//============================================================================================= + + +//allocate firmware sram to a buffer +//send a buffer number +//buffer size +//base address 0-255 (in 32byte chunks) +//returns SUCCESS if able to allocate +//returns error code if unable to allocate +//operMSB: id to give to new buffer +// (upper id bits used to set any address bits not covered by page and buff size if needed) +//operLSB: base bank number +//misc/data: size (number of banks to allocate to buffer) +// -size doesn't get stored in buffer, the last_idx does +#define ALLOCATE_BUFFER0 0x80 +#define ALLOCATE_BUFFER1 0x81 +#define ALLOCATE_BUFFER2 0x82 +#define ALLOCATE_BUFFER3 0x83 +#define ALLOCATE_BUFFER4 0x84 +#define ALLOCATE_BUFFER5 0x85 +#define ALLOCATE_BUFFER6 0x86 +#define ALLOCATE_BUFFER7 0x87 + + +//SET BUFFER ELEMENTS + +//set reload and page_num +//misc/data reload +//operMSB:LSB page_num (16 bit) +#define SET_RELOAD_PAGENUM0 0x90 +#define SET_RELOAD_PAGENUM1 0x91 +#define SET_RELOAD_PAGENUM2 0x92 +#define SET_RELOAD_PAGENUM3 0x93 +#define SET_RELOAD_PAGENUM4 0x94 +#define SET_RELOAD_PAGENUM5 0x95 +#define SET_RELOAD_PAGENUM6 0x96 +#define SET_RELOAD_PAGENUM7 0x97 + + +//designate what buffer to fill with opcode +//endpoint direction determines if read/write +//no operands no return value aside from payload for transfer IN +//DOES NOT STUFF extra bytes in setup packet for write/OUT transfers +#define BUFF_PAYLOAD0 0xF0 +#define BUFF_PAYLOAD1 0xF1 +#define BUFF_PAYLOAD2 0xF2 +#define BUFF_PAYLOAD3 0xF3 +#define BUFF_PAYLOAD4 0xF4 +#define BUFF_PAYLOAD5 0xF5 +#define BUFF_PAYLOAD6 0xF6 +#define BUFF_PAYLOAD7 0xF7 + + + +//~16 bytes per buffer... +//as initially defined in firmware +//typedef struct buffer{ +// uint8_t *data; //pointer to base buffer's allocated sram +// uint8_t last_idx; //index of last byte in buffer used to determine when at end of buffer +// uint8_t status; //current status of buffer USB load/unload, flashing, waiting, erase +// uint8_t cur_byte; //byte currently being loaded/unloaded/flashed/read +// uint8_t reload; //add this number to page_num for next loading +// uint8_t id; //address bits between buffer size and page number +// //ie need 2x128 byte buffers making buff_num = A7 +// //ie need 4x64 byte buffers making buff_num = A7:6 +// //ie need 8x32 byte buffers making buff_num = A7:5 +// //CANNOT BE 0xFF "UNALLOC" +// uint16_t page_num; //address bits beyond buffer's size and buff_num A23-A8 +// //MSB A23-16, LSB A15-8 +// uint8_t mem_type; //SNES ROM, SNES RAM, PRG ROM, PRG RAM, CHR ROM, CHR RAM, CPLD, SPI +// uint8_t part_num; //used to define unlock commands, sector erase, etc +// uint8_t multiple; //number of times to program this page +// uint8_t add_mult; //add this number to page_num for multiple programs +// //CHR shift LSb to A13 (max 2MByte) +// //PRG shift LSb to A14 (max 4MByte) +// //SNES add to MSB of page_num (max 16MByte) +// uint8_t mapper; //mapper number of board +// uint8_t mapvar; //mapper variant +// uint8_t function; //function "pointer" for flash/dump operation control +//}buffer; + +//buffer struct +//designed to have multiple buffers instantiated at a time +//buffers are effectively objects who get instructed by host +//commands include things like reading from cartridge rom/ram +//getting filled by usb writes, programming 'themselves' to +//where they belong on the cartridge. They know how to get +//on/off the cart and have a current status that the host can +//query. Host then decides when to refill/dump data from +//buffer over usb. Host also can query buffer to get error +//codes back and and attempt to resolve issues. Buffers can +//also be instructed to verify themselves with a checksum +//They can verify themselves against cart rom/ram as well. + +//atmega164 has 1KByte of SRAM +//VUSB has max of 254 + wValue/wIndex = max 256 bytes without long transfers +//Expecting two 128 byte buffers will be faster than a single 256byte buffer +//That way one buffer could be flashing onto the cart while the other is +//getting filled 8bytes at a time from USB. this would proide some double +//buffering speed ups, but not sure how fast that'll be. Having buffers +//as small as 32bytes might be faster for 4-8MB flash memories as they +//have ability to flash 32Bytes at once. Could perhaps fill multiple +//32B buffers with one larger 128/256B transfer. Increasing transfer size +//does speed up overall due to fewer setup and status USB packets. + +//USB control transfer: +// SETUP/DATA STAGES: +// Token packet- sync, pid, addr, enp, crc5, eop = 35bits +// Data/setup packet +// sync, pid, crc16, eop = 67bits +// setup/payload packet data = 64bits +// handsk (sync, pid, eop) = 19bit +// total = 185bits with 64bit payload = 34.6% data utilization per data packet +// STATUS STAGE: +// same as above, but zero lenght data packet. +// total 121bits + +// 8byte total payload +// 185 setup + 185 data + 121 status = 491 bits transferred for 64bit payload = 13.03% bus utilization + +// 32byte total payload +// 185 setup + 4*185 data + 121 status = 1046 bits xfrd for 4*64=256 payld = 24.47% bus util + +// 64byte total payload +// 185 setup + 8*185 data + 121 status = 1786 bits xfrd for 8*64=512 payld = 28.67% bus util + +// 128byte total payload +// 185 setup + 16*185 data + 121 status = 3266 bits xfrd for 16*64=1024 payld = 31.35% bus util + +// 254byte total payload +// 185 setup + 32*185-16 data + 121 status = 6210 bits xfrd for 31.8*64=2032 payld = 32.72% bus util +// 4.4% speedup than 128 + +// 256bytes in 254byte xfr +// 185 setup + 32*185-16 data + 121 status = 6210 bits xfrd for 32*64=2048 payld = 32.98% bus util +// 0.79% speedup than 254 in 254 + +// 256byte total payload +// 185 setup + 32*185 data + 121 status = 6226 bits xfrd for 32*64=2048 payld = 32.89% bus util + +// 512byte total payload +// 185 setup + 64*185 data + 121 status = 12146 bits xfrd for 64*64=4096 payld = 33.72% bus util +// 1% greater bus util compared to 254byte xfr +// 2.2% speedup compared to 256 in 254 + +// USB 1.1 Low speed 1.5Mbps +// maximum theoretical bus utiliation with transfers styles above +// 1.5Mbps * 33% utilization = 495Kbps = 61.8KBps +// Will never get to this maximum, as this assumes that bus is in use 100% of the time with no +// delays waiting for responses etc. But gives sense of scale for what's possible + +// Probably decent overall speedup by eliminating multiple status packets. Not sure how many +// NAK's the old firmware was sending while the device programmed the entire 256byte buffer. +// but one NAK is more than should be necessary. +// +// Plan is to support max of 254 byte transfers with 2 bytes stuffed in setup packet +// Want to compare to 512B long transfers for speed comparison +// +// Either way, I can setup the buffers in smaller sizes than the transfers. Then a buffer could +// start programming mid usb transfer once it's full. Want to make effor to hide flash programming +// wait time behind usb transfer time. + +// some speed testing with 16bit return length variable: +// 128Byte OUT (write) transfers with long transfers DISABLED: 20.04sec/512KByte = 25.55KBps +// 128Byte OUT (write) transfers with long transfers ENABLED: 20.7 sec/512KByte = 24.7 KBps +// 256Byte OUT (write) transfers with long transfers ENABLED: 18.56sec/512KByte = 27.6 KBps +// 254Byte OUT (write) transfers with long transfers DISABLED: 17.9 sec/512KByte = 28.6 KBps (assuming 2 bytes stuffed in setup packet) +// 128Byte IN (read) with long xfr DISABLED, w/o usbFuncRd: 30.5 sec/512KByte = 16.8 KBps +//with read data dumping operations and file writing: 128Byte IN 32.25sec/512KByte = 15.8 KBps only 1KBps lost due to dumping operation +// 128Byte IN (read) with long xfr DISABLED, w/usbFuncRd: 34.9 sec/512KByte = 14.7 KBps +// 1033*254Byte IN (read) long xfr DISABLED, w/o usbFuncRd: 28.35sec/512KByte = 18.1 KBps +// +// after concluding that would not be using long transfers, the return length variable +// was reduced to 8bits (single byte unsigned int) and slight improvement was found: +// 254Byte OUT (write) transfers with long transfers DISABLED: 17.5 sec/512KByte = 29.2 KBps (assuming 2 bytes stuffed in setup packet) +// +// adding a few checks to usbFunctionWrite to ensure buffer is proper status and not won't be overflowed +// presented small reduction in speed: +// 254Byte OUT (write) transfers with long transfers DISABLED: 18.1 sec/512KByte = 28.4 KBps (assuming 2 bytes stuffed in setup packet) +// +// These tests did nothing with payload once it arrived, so these are practical maximums of V-usb. +// Conclusion: +// -enabling long transfers slows writes (and probably reads) +// -reads are much slower than writes. +// found a vusb forum thread quoting 22KBps reads at transfer size of 200bytes +// he was using atmega16 with 12Mhz clock, so doesn't look like we can +// replicate this even with our 'better' conditions. But our +// writes are exceeding his 24KBps transfer speeds so we'll take it.. +// https://forums.obdev.at/viewtopic.php?t=3059 +// -enabling usbFunctionRead is slower compared to using usbFunctionSetup alone. +// -using 254B xfrs with 2 bytes stuffed in setup packet gives decent boost for writes. +// this is primarily due to speed up of not having long transfers enabled. +// -not actually certain enabling long transfers will slow down reads, but it certainly does for writes. +// -reads can't stuff 2 bytes in setup packet because data is going opposite direction as setup packet. +// -reads do have decent speed boost of ~1.3KBps using 254B * 1033xfrs over 128*2048xfrs +// for reads to get this speed boost the missing 2 bytes would have to be accumulated in +// separate buffer and sent separately once full. +// Only other way without complicating dump algo would be to implement usbFuncRd +// but that would slow things down and negate the speed boost.. +// +// Speed testing with old firmware and app: +// fairly certain these were long transfers of 256 bytes each +// 512KB write 30.2sec = 16.7KBps +// 512KB read 34.2sec = 15.0KBps +// +// Haven't tested for comparison's sake, but original anago/unagi firmware/app was even slower I believe +// Found quote of Memblers finding ~19sec for 128KB PRG-ROM = 6.7KBps for reads... +// So shouldn't be hard to beat those speeds +// +// Checking SST 39SF040 datasheet, the byte program time is max 20usec * 256B page = 5.12usec per page +// We have some additional CPU execution time overhead above that 5.12usec per page +// but that shouldn't be significant in comparison, still lots of margin to meet 50usec usbPoll requirement +// if slow down is noticed during flashing/dumping may be helpful to call usbPoll mid page so +// the next data packet doesn't have to wait for the last page to complete before it can be accepted/sent +// to/from the driver. +// +// Sector erases are maximum of 25usec however which should probably be avoided or used with caution +// between usbPoll. However exiting back to main and continuing to poll USB and erasure should be fine +// as erasing doesn't have to be monitored. +// +// Chip erasure is max of 100usec which will most certainly violate 50usec usbPoll req't so make sure +// we don't sit and spin waiting for chip to erase without calling usbPoll... +// +// SNES 4-8MB chip erasure is on the order of 30sec so certainly need to be considerate of flash timing +// depending on the chip in use. Avoiding SNES chip erasure when possible presents large chance for +// speedup! +// + + +#endif diff --git a/firmware/source/shared_dict_ciccom.h b/firmware/source/shared_dict_ciccom.h new file mode 100644 index 0000000..4726d47 --- /dev/null +++ b/firmware/source/shared_dict_ciccom.h @@ -0,0 +1,21 @@ +#ifndef _shared_dict_ciccom_h +#define _shared_dict_ciccom_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// CICCOM DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/ciccom.c +// +//============================================================================================= +//============================================================================================= + +#define CICCOM_INIT 0 + +#endif diff --git a/firmware/source/shared_dict_fwupdate.h b/firmware/source/shared_dict_fwupdate.h new file mode 100644 index 0000000..dba8c10 --- /dev/null +++ b/firmware/source/shared_dict_fwupdate.h @@ -0,0 +1,66 @@ +#ifndef _shared_dict_fwupdate_h +#define _shared_dict_fwupdate_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// FIRMWARE UDPATE DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source_stm_only/fwupdate.c +// dictionary used to control self updating firmware functions +// These commands aren't actually processed by the main application +// they are sniffed out by the device's usb code and handled separately +// this is because we are presumedly erasing the main application code +// +//============================================================================================= +//============================================================================================= + + +//send the 1KByte page address to be erased CANNOT send page 0 or 1 as this is where usb & fwupdater is +//RB has 2KByte pages so the page numbers are off, and 2KByte will be erased per command +//C6 has 1KByte pages which is more aligned with how this function operates +//The argument is effectively A10-A26 of the mcu memory map starting with offset 0x0800_0000 +//ie sending 2 to a C6 erases 0x0800_0800 through 0x0800_0BFF +//ie sending 2 to a RB erases 0x0800_0800 through 0x0800_0FFF +//ie sending 3 to a C6 erases 0x0800_0C00 through 0x0800_0FFF +//ie sending 3 to a RB erases 0x0800_0800 through 0x0800_0FFF (same as 2) +//you can pretend they're the same if you always send the odd page that follows the even +//this will be redundant for the RB erasing the same page twice, but make them behave the same +//you can effectively ignore the odd pages on RB, or pretend the page number is shifted right by 1 +#define ERASE_1KB_PAGE 1 //erase any page except the first 2KByte + +//Don't actually want to leave the flash in an unlocked state +//it's fast to unlock/lock so just do it before each flash operation +//#define UNLOCK_FLASH 2 +//#define LOCK_FLASH 3 + +#define WR_HWORD 4 //operand = data, miscdata = offset from FLASH->AR + +//FLASH->AR seems to drop the upper 16bits of address when flash is unlocked... +//but it's still there apparently when accessed internally for flashing halfwords..? +#define GET_FLASH_ADDR 5 //RL = 6 0-SUCCESS 1-len 2-LSB 3, 4, 5-MSB + +//SET FLASH->AR to an address that's currently erased +// 0x08 8bitmiscdata 16bitoperand +// this also unlocks then locks the flash and writes 0xFFFF to the address selected +// C6 only has 32KByte of flash, so miscdata must be zero +// operand MUST BE EVEN! writes must be half word aligned +#define SET_FLASH_ADDR 6 //only works if the + +#define GET_FLASH_DATA 7 //RL = 4 0-SUCCESS 1-len 2-LSB 3-MSB +//similar to above, but provide an address, FLASH->AR is unchanged +//can generically read from any flash address +// ADDRESS: 0x08 8bitmiscdata 16bitoperand +// this could be used to dump the entire contents of the flash +#define READ_FLASH 8 //RL = 4 0-SUCCESS 1-len 2-LSB 3-MSB + +//device issues system reset to itself +//don't want to do this until the main application has been reprogrammed +#define RESET_DEVICE 9 + +#endif diff --git a/firmware/source/shared_dict_gameboy.h b/firmware/source/shared_dict_gameboy.h new file mode 100644 index 0000000..4bbaed3 --- /dev/null +++ b/firmware/source/shared_dict_gameboy.h @@ -0,0 +1,24 @@ +#ifndef _shared_dict_gameboy_h +#define _shared_dict_gameboy_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// GAMEBOY DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/gameboy.c +// +//============================================================================================= +//============================================================================================= + + +#define GAMEBOY_RD 0 //RL=3 return error code, data len = 1, 1 byte of data +#define GAMEBOY_WR 1 + + +#endif diff --git a/firmware/source/shared_dict_gba.h b/firmware/source/shared_dict_gba.h new file mode 100644 index 0000000..737a09e --- /dev/null +++ b/firmware/source/shared_dict_gba.h @@ -0,0 +1,36 @@ +#ifndef _shared_dict_gba_h +#define _shared_dict_gba_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// GBA (gameboy advance) DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/gba.c +// +//============================================================================================= +//============================================================================================= + + +//must have latched the address first +//rom will auto increment so can just call this repeatedly to read a sequence of addresses +#define GBA_RD 0 //RL=4 return error code, data len = 1, 2 bytes of data +//#define GBA_WR 1 + +//operand A0-15, miscdata A16-23 +//leaves /CE low for subsequent accesses +//leaves A16-23 as output +//leaves AD0-15 as input +#define LATCH_ADDR 2 + +//take /CE high to finish above access +//put A16-23 back to input +#define RELEASE_BUS 3 + + +#endif diff --git a/firmware/source/shared_dict_io.h b/firmware/source/shared_dict_io.h new file mode 100644 index 0000000..0e6a4ec --- /dev/null +++ b/firmware/source/shared_dict_io.h @@ -0,0 +1,116 @@ +#ifndef _shared_dict_io_h +#define _shared_dict_io_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// IO DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/io.c +// +//============================================================================================= +//============================================================================================= + + +//pullup as many cart pins as possible +//goal to be safe state for all hardware +//LED is pulled up (DIM) to help indicate this io state +//FFs are disabled due to pull up on /OE +#define IO_RESET 0 + //operand: 1-disable STM SW DEBUG PORT in the process + //SWD & SWC pins have default GPIO settings different from all others + //this sets a static variable so anytime the firmware calls io_reset + //the debug remains disabled. But if the host calls IO_RESET + //whatever operand is provided is set. + #define DISABLE_STM_DEBUG 0x10 + //sending no operand (0) clears the disable debug setting in firmware + + +//NES cartridge interfacing setup +//set outputs as required +//latch address of $0000 +//disable NES cart memories +#define NES_INIT 1 + +//SNES cartridge interfacing setup +//set outputs as required +//latch address of $000000 +//disable cart memories +//reset high disables SRAM and puts INL carts in PRGM mode +#define SNES_INIT 2 + +//SWIM protocol init +//"single wire interface module" +//different INL boards have this signal on different pins +//So initialization must provide pin to perform all subsequent +//communications with +#define SWIM_INIT 3 + // don't define 0x00 to protect from forgetting to pass swim lane + #define SWIM_ON_A0 0x01 //NES & Famicom carts + #define SWIM_ON_EXP0 0x02 //SNES carts + #define SWIM_ON_D0 0x03 //NES discrete CICOprocessor + + +//JTAG protocol init +//4 wire serial protocol for configuring and communicating to programmable logic device cores +//different INL boards have this signal on different pins or virtual CIC ports +//So initialization must provide pins to perform all subsequent +//communications with +#define JTAG_INIT 4 + // don't define 0x00 to protect from forgetting to pass jtag lane + #define JTAG_ON_EXP0_3 0x01 //Most NES carts with CPLDs EXP0-TDO, EXP1-TDI, EXP2-TMS, EXP3-TCK + #define JTAG_ON_SNES_CTL 0x02 //SNES v2.0proto2 SYSCLK-TCK, RESET/EXP0-TMS, WR-TDI, RD-TDO + + + +#define GAMEBOY_INIT 5 +#define GBA_INIT 6 +#define SEGA_INIT 7 +#define N64_INIT 8 + +//default is 3v by pulling up on GBP pin +//these set GBP pin to output and drive high for 3v, and low for 5v +//be careful not to drive GBA cartridge with 5v as it's supposed to only be 3v +#define GB_POWER_5V 9 +#define GB_POWER_3V 10 + + + + +//Test EXP0 drive with pull up +//This is an important test if reling on pulling up EXP0 pin to drive the cart's pin. +//EXP0 is used for various things and may have pull up/down of it's own or significant load +//Test that programmer can drive EXP0 with a pull up before reling on commands that only pullup +//If this fails, can resort to driving EXP0 with SNES /RESET commands but excersize caution +//as some NES cart's have CPLD JTAG TDO pin placed on EXP0 that may not be 5v tolerant. +//FC also has APU audio placed on EXP0, carts without exp sound short RF sound (EXP6) to EXP0 +//So if EXP FF's output is enabled, driving the mcu EXP0 pin could cause damage to the pin. +//that's why it's best in general to only pull up EXP0 instead of driving it high. +//Have to drive it low however to get logic 0 most times. If famicom cart is inserted, +//it's probably safer to drive EXP0 through EXP6 sound jumper and leave EXP0 floating/pulledup. +// +//Test starts by verifying EXP0 can be driven low, if not, will return one byte of AUX_PIN +//followed by alternating 0xAA, 0x55, 0xAA... +//This test pulls up EXP0 and then reads AUX_PIN 6 times in rapid succession returning error code +//plus 6 bytes of read data. If pull up works but is just slow, should see that in return data. +//data[0] marks bit where EXP0 resisdes to provide host with bitmask for EXP0 +#define EXP0_PULLUP_TEST 0x80 //RL=3 + //return values + #define EXP0_STUCK_HI 0xF0 + #define CANNOT_PULLUP_EXP0 0xE0 + //if 0-20, denotes number of cycles it took + //AVR appears to have weaker pullup than stm +//without any cart inserted takes 5 cycles for EXP0 to settle high +//with discrete NROM board inserted (has pullup on EXP0) settled immediately +//SNES board inserted never settled +//famicom NROM choplifter cart inserted never settled +//INLXO-ROM board JTAG TDO (non-5v tolerant) tied to EXP0 settled immediately + + + +#endif diff --git a/firmware/source/shared_dict_jtag.h b/firmware/source/shared_dict_jtag.h new file mode 100644 index 0000000..d8ba8cf --- /dev/null +++ b/firmware/source/shared_dict_jtag.h @@ -0,0 +1,85 @@ +#ifndef _shared_dict_jtag_h +#define _shared_dict_jtag_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// JTAG DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/jtag.c +// +//============================================================================================= +//============================================================================================= + + +//JTAG opcodes +#define GET_CMD 1 //RL=3 +#define SET_CMD 2 //command is only writable by host, read only by engine + +#define SET_CMD_WAIT 3 //RL=3 returns command status effectively set, perform, and get/return command + //set command and force device to perform command immediately + //should only be used for quick commands like state change, not for long scan in/outs + +#define GET_STATUS 4 //RL=3 only the engine can write to status, ready only by host + +#define SET_NUMCLK 5 //numclk is only writable by host, read only by engine + //set to zero if would like 256 clocks to be performed + //range is 1-255, 0 equates to 256 clocks + +#define SET_2B_DATA 7 //miscdata defines the first byte index + //0=first 2 bytes (16bits) of DATA array + //if undefined, should be 0 (first 2 bytes) + +#define GET_8B_DATA 8 //RL=10 max lua int, miscdata gives offset of first byte +#define GET_32B_DATA 9 //RL=34 + + +//PBJE Paul's Basic Jtag engine commands & status' +#define PBJE_STATE_CHG 0x01 //data array holds TMS values to clock values bit packed, TDI undefined +//TMS s bit packed, better for USB data compression (contrary to notes) + + +//DATA SCAN commands, these end with setting TMS to 1 to exit SHIFT-IR/DR completing the SCAN. +//If need to make multiple smaller scans to make up one big scan, this would be the last scan, "HOLD" scans +//lower down would be the first to second to last scans +#define PBJE_TDI_SCAN 0x02 //ignore TDO 256max +#define PBJE_TDO_SCAN0 0x03 //TDI = 0, TMS=0 256max +#define PBJE_TDO_SCAN1 0x04 //TDI = 1, TMS=0 256max +//#define PBJE_HALF_SCAN 0x05 //TDI = first half of data array, TDO = second, TMS=0 128max +#define PBJE_FULL_SCAN 0x06 //TDI = entire data array, TDO dumped into array stomping TDI, TMS=0 256max + +//Clocking commands, mostly used for RUNTEST type instructions when waiting for device to complete operation +#define PBJE_CLOCK0 0x07 //data not used, clock TMS=0 for NUMCLK +#define PBJE_CLOCK1 0x08 //data not used, clock TMS=1 for NUMCLK +#define PBJE_FREE_CLOCK0 0x09 //data not used, clock TMS=0 indefinely +#define PBJE_FREE_CLOCK1 0x0A //data not used, clock TMS=1 indefinely +#define PBJE_LONG_CLOCK0 0x0B //data contains 32bit uint for number of clocks, TMS=0, numclk not used +#define PBJE_LONG_CLOCK1 0x0C //data contains 32bit uint for number of clocks, TMS=1, numclk not used + +//These scans leave JTAG SM in SHIFT state so more bits can be shifted in later on +//this is because the last bit is shifted in when exiting SHIFT-IR/DR +#define PBJE_TDI_SCAN_HOLD 0x0D //ignore TDO 256max +#define PBJE_TDO_SCAN0_HOLD 0x0E //TDI = 0, TMS=0 256max +#define PBJE_TDO_SCAN1_HOLD 0x0F //TDI = 1, TMS=0 256max +#define PBJE_FULL_SCAN_HOLD 0x10 //TDI = entire data array, TDO dumped into array stomping TDI, TMS=0 256max + + +//TODO, why don't we get unknown opcode when accidentally sending a command as an opcode..? ie dict.jtag("PBJE_INIT") +//that freezes instead of sending back unknown opcode, because it is known you idiot!... +//Statuses & commands to get to the status +#define PBJE_INIT 0x80 //STATE ONLY! DON'T USE AS COMMAND!!l init with io dict, this is the state only +#define PBJE_PROC 0x81 +#define PBJE_DONE 0x82 +#define PBJE_CMD_RX 0x83 +#define PBJE_UNKN_CMD 0xEE +#define PBJE_OFF 0xF0 //STATE: mcu isn't running the PBJE +#define PBJE_SHUTDOWN 0xFF //COMMAND: tell mcu to shutoff PBJE + + + +#endif diff --git a/firmware/source/shared_dict_n64.h b/firmware/source/shared_dict_n64.h new file mode 100644 index 0000000..968b654 --- /dev/null +++ b/firmware/source/shared_dict_n64.h @@ -0,0 +1,27 @@ +#ifndef _shared_dict_n64_h +#define _shared_dict_n64_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// N64 DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/n64.c +// +//============================================================================================= +//============================================================================================= + + +#define N64_RD 0 //RL=4 return error code, data len = 1, 2 bytes of data (D0-15) +// TODO #define N64_WR 1 + +#define N64_SET_BANK 2 //operand = A16-31 for next address latch, this merely updates a firmware variable +#define N64_LATCH_ADDR 3 //operand = A0-15 (A0 ignored by rom), BANK from above used for A16-31 +#define N64_RELEASE_BUS 4 //take ALE_L/H high to end the access + +#endif diff --git a/firmware/source/shared_dict_nes.h b/firmware/source/shared_dict_nes.h new file mode 100644 index 0000000..adbba6c --- /dev/null +++ b/firmware/source/shared_dict_nes.h @@ -0,0 +1,121 @@ +#ifndef _shared_dict_nes_h +#define _shared_dict_nes_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// NES DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/nes.c +// +//============================================================================================= +//============================================================================================= + + +// OPCODES with no operand and no return value besides SUCCESS/ERROR_CODE + +//Discrete board PRG-ROM only write, does not write to mapper +//This is a /WE controlled write with data latched on rising edge EXP0 +//PRG-ROM /WE <- EXP0 w/PU +//PRG-ROM /OE <- /ROMSEL +//PRG-ROM /CE <- GND +//PRG-ROM write: /WE & /CE low, /OE high +//mapper '161 CLK <- /ROMSEL +//mapper '161 /LOAD <- PRG R/W +//wValueMSB: data +//wIndex: address +#define DISCRETE_EXP0_PRGROM_WR 0x00 + +#define NES_PPU_WR 0x01 + +//generic CPU write with M2 toggle as expected with NES CPU +// A15 decoded to enable /ROMSEL as it should +#define NES_CPU_WR 0x02 + +//#define DISCRETE_EXP0_MAPPER_WR 0x03 + +//write to an MMC1 register, provide bank/address & data +#define NES_MMC1_WR 0x04 + +#define NES_DUALPORT_WR 0x05 + +#define DISC_PUSH_EXP0_PRGROM_WR 0x06 + + +#define MMC3_PRG_FLASH_WR 0x07 //TODO set return lengths for all these functions +#define MMC3_CHR_FLASH_WR 0x08 +#define NROM_PRG_FLASH_WR 0x09 +#define NROM_CHR_FLASH_WR 0x0A +#define CNROM_CHR_FLASH_WR 0x0B //needs cur_bank & bank_table prior to calling +#define CDREAM_CHR_FLASH_WR 0x0C //needs cur_bank & bank_table prior to calling +#define UNROM_PRG_FLASH_WR 0x0D //needs cur_bank & bank_table prior to calling +#define MMC1_PRG_FLASH_WR 0x0E +#define MMC1_CHR_FLASH_WR 0x0F //needs cur_bank set prior to calling +#define MMC4_PRG_SOP_FLASH_WR 0x10 //current bank must be selected, & needs cur_bank set prior to calling +#define MMC4_CHR_FLASH_WR 0x11 //needs cur_bank set prior to calling +#define MAP30_PRG_FLASH_WR 0x12 //needs cur_bank set prior to calling +#define GTROM_PRG_FLASH_WR 0x13 //desired bank must be selected +#define MMC4_PRG_FLASH_WR 0x14 //mapper mod to XOR A14 with A13 +#define VG1040_CHR_FLASH_WR 0x1E // TEMPORARY //needs cur_bank & bank_table prior to calling +#define VG1040HVC_CHR_FLASH_WR 0x1F // TEMPORARY //needs cur_bank & bank_table prior to calling +#define PICTO2022_PRG_FLASH_WR 0x1C // TEMPORARY //needs cur_bank & bank_table prior to calling +#define PICTO2022_CHR_FLASH_WR 0x1D // TEMPORARY //needs cur_bank & bank_table prior to calling + + +#define SET_CUR_BANK 0x20 +#define SET_BANK_TABLE 0x21 + +#define M2_LOW_WR 0x22 //like CPU WR, but M2 stays low + +//write a page worth of random data to ppu +//make sure the LSFR is initialized first in misc dict +//send start address in operand, doesn't have to be page boundary +//but A13 and /A13 get set once based on provided address. +#define PPU_PAGE_WR_LFSR 0x23 + +#define SET_NUM_PRG_BANKS 0x24 //used for determining banktable structure for mapper 11 and such +#define M2_HIGH_WR 0x25 //like CPU WR, but M2 stays high +#define FLASH_3V_WR 0x25 //same as above but easier to remember when + //being used to write to 3v tssop flash +#define MMC3S_PRG_FLASH_WR 0x26 //TODO set return lengths for all these functions + + +//============================================================================================= +// OPCODES WITH OPERAND AND RETURN VALUE plus SUCCESS/ERROR_CODE +//============================================================================================= + +//read from NES CPU ADDRESS +//set /ROMSEL, M2, and PRG R/W +//read from cartridge just as NES's CPU would +//nice and slow trying to be more like the NES +#define EMULATE_NES_CPU_RD 0x80 //RL=3 + +//like the one above but not so slow.. +#define NES_CPU_RD 0x81 //RL=3 + +#define NES_PPU_RD 0x82 //RL=3 + +//doesn't have operands just returns sensed CIRAM A10 mirroring +//now used to detect old firmware versions so NESmaker folks don't have to update firmware +#define CIRAM_A10_MIRROR 0x83 //RL=3 +////returns VERT/HORIZ/1SCNA/1SCNB values: +// #define MIR_1SCNA 0x10 +// #define MIR_1SCNB 0x11 +// #define MIR_VERT 0x12 +// #define MIR_HORZ 0x13 + +#define NES_DUALPORT_RD 0x84 //RL=3 + +#define GET_CUR_BANK 0x85 //RL=3 +#define GET_BANK_TABLE 0x86 //RL=4 16bit value so 2 bytes need returned +#define GET_NUM_PRG_BANKS 0x87 //RL=3 + +#define MMC5_PRG_RAM_WR 0x88 //RL=3 Enable writting to PRG-RAM and then write a single byte + //after written read back for verification as a timeout would cause fail + +#endif diff --git a/firmware/source/shared_dict_operation.h b/firmware/source/shared_dict_operation.h new file mode 100644 index 0000000..1ef66cc --- /dev/null +++ b/firmware/source/shared_dict_operation.h @@ -0,0 +1,125 @@ +#ifndef _shared_dict_operation_h +#define _shared_dict_operation_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// OPERATION DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/operation.c +// +//============================================================================================= +//============================================================================================= + +//avr definition: +//typedef struct operation_info { +enum operation_elem_nums { //Each index is numbered by it's name +// uint8_t operation; //overall type of operation being performed + OPERATION = 0, +// uint8_t addrH_dmask; //mask page_num lower byte to get directly addressable A15:A8 bits + ADDRH_DMASK = 1, +// uint8_t pg2bank_shright; //shift page_num to right this many bits to get cur bank value + PG2BANK_SHRIGHT = 2, +// uint8_t valid_addr_msb; //most significant bit that must be valid for operation (ie A14 SST) + VALID_ADDR_MSB = 3, +//unlock sequence SST $5555 0xAA +// uint8_t unlock1_bank; //unlock sequence #1 bank number for mapper reg + UNLOCK1_BANK = 4, +// uint8_t unlock1_AH; //unlock sequence #1 A15:A8 + UNLOCK1_AH = 5, +// uint8_t unlock1_AL; //unlock sequence #1 A7:A0 + UNLOCK1_AL = 6, +// uint8_t unlock1_data; //unlock sequence #1 D7:D0 + UNLOCK1_DATA = 7, +////unlock sequence SST $2AAA 0x55 +// uint8_t unlock2_bank; //unlock sequence #1 bank number for mapper reg + UNLOCK2_BANK = 8, +// uint8_t unlock2_AH; //unlock sequence #2 A15:A8 + UNLOCK2_AH = 9, +// uint8_t unlock2_AL; //unlock sequence #2 A7:A0 + UNLOCK2_AL = 10, +// uint8_t unlock2_data; //unlock sequence #2 D7:D0 + UNLOCK2_DATA = 11, +////command SST byte write $5555 0xA0, SST sector/chip erase $5555 0x80 +// uint8_t command_bank; //flash command bank (ie bank to write byte write, sector erase cmd) + COMMAND_BANK = 12, +// uint8_t command_AH; //flash command A15:A8 + COMMAND_AH = 13, +// uint8_t command_AL; //flash command A7:A0 + COMMAND_AL = 14, +// uint8_t command1_data; //flash command D7:D0 command 1 data (ie SST sect erase 0x80) + COMMAND1_DATA = 15, +// uint8_t command2_data; //flash command D7:D0 command 2 data (ie SST sect erase 0x30) + COMMAND2_DATA = 16, +////actual byte operation (ie Byte address bank and addr) +// uint8_t oper_bank; //current bank value for actual operation to be done (ie write byte) + OPER_BANK = 17, +// uint8_t oper_AH; //operation A15:A8 (ie actual byte write address) + OPER_AH = 18, +// //uint8_t oper_AL; //operation A7:A0 +// //uint8_t oper_data; //operation D7:D0 (ie actual byte data) + + //number of byte elements in operation_data + //since first element is zero, this will equal num byte (non-pointer) elements + OPER_DATA_NUM_BYTE_ELEMENTS + + //Function pointers get translated from function number to pointer within firmware +// oper_funcptr op_func; //function used for overall operation +// read_funcptr rd_func; //function used to read memory +// write_funcptr wr_mem_func; //function used to write to memory +// write_funcptr wr_map_func; //function used to write to mapper + +}; +//}operation_data; + + + + +//============================================================================================= +// OPCODES with up to 24bit operand and optional return value besides SUCCESS/ERROR_CODE +// PAYLOAD options listed as well +//============================================================================================= +// Detect this opcode/operand setup with opcode between the following defines: +// +//------------------------------------ +#define OPER_OPCODE_NRV_MIN 0x00 +#define OPER_OPCODE_NRV_MAX 0x3F +//------------------------------------ +#define OPER_OPCODE_RV_MIN 0x40 +#define OPER_OPCODE_RV_MAX 0x7F +//------------------------------------ +// +//============================================================================================= +//============================================================================================= + +//set buffer manager operation value +//lower operand byte sets value +#define SET_OPERATION 0x00 + +//set data currently stored in buff0 to operation_info elements +//This sets all byte elements, but not function pointers +#define COPY_BUFF0_TO_ELEMENTS 0x01 + +//copy oper info elements over to buff0 +//this copies over all byte elements, but not function pointers +#define COPY_ELEMENTS_TO_BUFF0 0x02 + + +//pass dictionary in operMSB and command/func in operLSB +#define SET_OPER_FUNC 0x03 +#define SET_RD_FUNC 0x04 +#define SET_WR_MEM_FUNC 0x05 +#define SET_WR_MAP_FUNC 0x06 + + +//retrieve buffer manager current operation variable +#define GET_OPERATION 0x40 //RL=3 + + + +#endif diff --git a/firmware/source/shared_dict_pinport.h b/firmware/source/shared_dict_pinport.h new file mode 100644 index 0000000..42acc9b --- /dev/null +++ b/firmware/source/shared_dict_pinport.h @@ -0,0 +1,201 @@ +#ifndef _shared_dict_pinport_h +#define _shared_dict_pinport_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// PINPORT DICTIONARY +//============================================================================================= +//============================================================================================= + +//This file was created based on firmware version of pinport.h and pinport.c +//the close relationship between these two files must be kept in mind when making changes. +//This file is also very dependent on macro definitions in firmware. +//Any changes to this file must be applied to firmware. +//Don't recommend changing opcodes or anything here, change them in fw first then apply here. +//making this a shared file helps cut room for error as changing opcode numbers here will +//inherently get forwarded to both firmware and app at same time. +// +//Trailing underscores are trimmed from this file for the host application to allow direct +//between firmware and host software. Firmware only uses defines with trailing underscores +//for opcode/operand decoding. +// + + + + +//============================================================================================= +// OPCODES with +//============================================================================================= +// +//============================================================================================= +//============================================================================================= + +//============================ +//CONTROL PORT INDIVIDUAL PIN ACCESS +//opcode: type of pin operation +//operand: pin to act on +//============================ + +//opcodes +#define CTL_ENABLE_ 0 +#define CTL_IP_PU_ 1 +#define CTL_IP_FL_ 2 +#define CTL_OP_ 3 +#define CTL_SET_LO_ 4 +#define CTL_SET_HI_ 5 +#define CTL_RD_ 6 //RL=4 (error code, data length, LSB, MSB) +#define CTL_OD_ 24 +#define CTL_PP_ 25 + //operands +// PC0 "M2" NES M2/phi signal + #define C0_ 0 + #define M2_ 0 +// PC1 "ROMSEL" Cartridge rom enable + #define C1_ 1 + #define ROMSEL_ 1 +// PC2 "PRGRW" NES CPU R/W signal + #define C2_ 2 + #define PRGRW_ 2 +// PC3 "FREE" purple kazzo EXP flipflop latch, FREE on most AVR/adapter kazzos + #define C3_ 3 + #define FREE_ 3 +// PC4 "CSRD" NES CHR/SNES /RD + #define C4_ 4 + #define CSRD_ 4 +// PC5 "CSWR" NES CHR/SNES /WR + #define C5_ 5 + #define CSWR_ 5 +// PC6 "CICE" NES CIRAM /CE + #define C6_ 6 + #define CICE_ 6 +// PC7 "AHL" ADDR HI Latch + #define C7_ 7 + #define AHL_ 7 +// PC8 "EXP0" NES EXP0, cart-console /RESET + #define C8_ 8 + #define EXP0_ 8 + #define SNES_RST_ 8 +// PC9 "LED" kazzos tied this to NES EXP9, INL6 connects to CIC CLK + #define C9_ 9 + #define LED_ 9 +// PC10 "IRQ" console CPU interrupt from cart + #define C10_ 10 + #define IRQ_ 10 +// PC11 "CIA10" NES CIRAM A10 + #define C11_ 11 + #define CIA10_ 11 +// PC12 "BL" Bootloader pin + #define C12_ 12 + #define BL_ 12 +// PC13 "AXL" EXP FF latch and /OE, purple kazzos this was only /OE + #define C13_ 13 + #define AXL_ 13 +// INLretro6 adds following pins +// PC14 "AUDL" cart audio + #define C14_ 14 + #define AUDL_ 14 +// PC15 "AUDR" cart audio + #define C15_ 15 + #define AUDR_ 15 +// PC16 "GBP" GB power selector + #define C16_ 16 + #define GBP_ 16 +// PC17 "SWD" mcu debug + #define C17_ 17 + #define SWD_ 17 +// PC18 "SWC" mcu debug + #define C18_ 18 + #define SWC_ 18 +// PC19 "AFL" flipflop addr expansion for FF0-7 (also CIC RESET on NES) + #define C19_ 19 + #define AFL_ 19 +// PC20 "COUT" CIC data out + #define C20_ 20 + #define COUT_ 20 +// PC21 "FCAPU" cart audio in + #define C21_ 21 + #define FCAPU_ 21 +// INLretro6 gains direct control over NES EXP port and is used for N64 control pins: +// PCxx "D8" +// #define Cxx_ xx +// PC22 "D9" + #define C22_ 22 +// PC23 "D10" + #define C23_ 23 +// PC24 "D11" + #define C24_ 24 +// PC25 "D12" + #define C25_ 25 +// PC26 "D13" + #define C26_ 26 +// PC27 "D14" + #define C27_ 27 + +// D15 & D16 are defined as CICE/CIA10 above + #define C28_ 28 + #define C29_ 29 + +//============================ +//DATA PORT BYTE WIDE ACCESS +//opcode: type of pin operation +//operand: value to place on bus +//============================ +#define DATA_ENABLE_ 7 +#define DATA_IP_PU_ 8 +#define DATA_IP_ 9 +#define DATA_OP_ 10 +#define DATA_SET_ 11 +#define DATA_RD_ 12 //RL=3 (error code, data length, databyte) + +//============================ +//ADDR PORT 16bit WIDE ACCESS +//opcode: type of operation +//operand: value to place on bus +//============================ +#define ADDR_ENABLE_ 13 +#define ADDR_PU_ 14 +#define ADDR_IP_ 15 +#define ADDR_OP_ 16 +#define ADDR_SET_ 17 +#define ADDR_RD_ 26 //doesn't work on devices without direct access to 16bit address bus + +//============================ +//EXP PORT 8bit ACCESS (bits1-8) +//opcode: type of operation +//operand: value to place on bus +//============================ +#define EXP_ENABLE_ 18 +#define EXP_DISABLE_ 19 +#define EXP_SET_ 20 + +//============================ +//HIGH ADDR PORT 8bit WIDE ACCESS +//opcode: type of operation +//operand: value to place on bus +//============================ +#define HADDR_ENABLE_ 21 +#define HADDR_DISABLE_ 22 +#define HADDR_SET_ 23 + +// CTL_OD_ 24 above +// CTL_PP_ 25 above +// ADDR_RD_ 26 above + +//============================ +//FLIPFLOP ADDR PORT 8bit WIDE ACCESS +//SEGA: FF0-7 connecto to A17-18, #AS, A20-23, #TIME +//opcode: type of operation +//operand: value to place on bus +//NOTE: these operations corrupt the ADDR bus, so call this first +//============================ +#define FFADDR_ENABLE_ 27 +#define FFADDR_DISABLE_ 28 +#define FFADDR_SET_ 29 + +#endif diff --git a/firmware/source/shared_dict_sega.h b/firmware/source/shared_dict_sega.h new file mode 100644 index 0000000..ac698e5 --- /dev/null +++ b/firmware/source/shared_dict_sega.h @@ -0,0 +1,39 @@ +#ifndef _shared_dict_sega_h +#define _shared_dict_sega_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// SEGA (genesis/megadrive) DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/sega.c +// +//============================================================================================= +//============================================================================================= + +//TODO THESE ARE JUST PLACE HOLDERS... +//oper=A1-15 update firmware address variable for FLASH_WR_ADDROFF use on subsequent calls +#define GEN_SET_ADDR 0 +//oper=A1-A16 C_CE & C_OE go low (update firmware address var ie GEN_SET_ADDR) +#define GEN_ROM_RD 1 //RL=4 return error code, data len = 1, 2 byte of data (16bit word) + +// GENESIS ADDR A17-23 along with #LO_MEM & #TIME +// TODO separate #LO_MEM & #TIME, they're currently fixed high +#define GEN_SET_BANK 2 + +//miscdata=D0-7, oper=A1-A16 C_CE & C_OE go low, #LDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_WR_LO 3 +//miscdata=D8-15, oper=A1-A16 C_CE & C_OE go low, #UDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_WR_HI 4 +//oper=D0-D15, miscdata=addroffset C_CE & C_OE go low, #UDSW goes low (update firmware address var ie GEN_SET_ADDR) +#define GEN_FLASH_WR_ADDROFF 5 + + +#define GEN_SST_FLASH_WR_ADDROFF 6 + +#endif diff --git a/firmware/source/shared_dict_snes.h b/firmware/source/shared_dict_snes.h new file mode 100644 index 0000000..5548c7a --- /dev/null +++ b/firmware/source/shared_dict_snes.h @@ -0,0 +1,39 @@ +#ifndef _shared_dict_snes_h +#define _shared_dict_snes_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// SNES DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/snes.c +// +//============================================================================================= +//============================================================================================= + + +//set A16-23 aka bank number +#define SNES_SET_BANK 0x00 + +//read from current bank at provided address +//SNES reset is unaffected +#define SNES_ROM_RD 0x01 //RL=3 + +//write from current bank at provided address +//SNES reset is unaffected +#define SNES_ROM_WR 0x02 + +#define FLASH_WR_5V 0x03 //5v PLCC flash algo +#define FLASH_WR_3V 0x04 //3v TSSOP flash algo + +//similar to ROM RD/WR above, but /ROMSEL doesn't go low +#define SNES_SYS_RD 0x05 //RL=3 +#define SNES_SYS_WR 0x06 + + +#endif diff --git a/firmware/source/shared_dict_stuff.h b/firmware/source/shared_dict_stuff.h new file mode 100644 index 0000000..e7f8616 --- /dev/null +++ b/firmware/source/shared_dict_stuff.h @@ -0,0 +1,28 @@ +#ifndef _shared_dict_stuff_h +#define _shared_dict_stuff_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// STUFF DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/stuff.c +// +//============================================================================================= +//============================================================================================= + + +//clear the LOWER half word, and set the upper +//should do this one first if you want to set > 16bit seed +#define SET_LFSR_H_CLR_L 1 //operand = upper half word of LFSR +//set the LOWER half word of LFSR +#define SET_LFSR_L 2 //operand = lower half word of LFSR +//if you don't use these setters, the seed value starts with 1 +#define RESET_LFSR 3 //sets seed to 1 + +#endif diff --git a/firmware/source/shared_dict_swim.h b/firmware/source/shared_dict_swim.h new file mode 100644 index 0000000..7de4895 --- /dev/null +++ b/firmware/source/shared_dict_swim.h @@ -0,0 +1,44 @@ +#ifndef _shared_dict_swim_h +#define _shared_dict_swim_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + + +//============================================================================================= +//============================================================================================= +// SWIM DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/swim.c +// +//============================================================================================= +//============================================================================================= + + +//activate swim on device as initiated with dict_io SWIM_INIT +//return SUCCESS if device responds with sync frame +#define SWIM_ACTIVATE 0 + +//hold swim pin low for 128 clocks to init comms +//return SUCCESS if device responds with sync frame +#define SWIM_RESET 1 + +//SWIM commands +#define SWIM_SRST 2 //reset device RL=3 (error, len, NAK/ACK) + +#define ROTF 0x11 //read on the fly only one byte RL=4 (usberror, len, swimerror, data) +#define ROTF_HS 0x12 //RL=4 +//#define ROTF_8B 0x18 //read on the fly RL=8 +//#define ROTF_128B 0x1F //read on the fly RL=128 (current max due to 254B limit) + +//write on the fly only one byte +//operand = address (extended addr always 0) +//miscdata = data to write @ address +#define WOTF 0x21 //RL=3 (error code, data len, 0-NAK 1-ACK) +#define WOTF_HS 0x22 //RL=3 +//#define WOTF_8B 0x28 //write 8Bytes on the fly +//#define WOTF_128B 0x2F //write 128Bytes on the fly + +#endif diff --git a/firmware/source/shared_dict_usb.h b/firmware/source/shared_dict_usb.h new file mode 100644 index 0000000..d97590c --- /dev/null +++ b/firmware/source/shared_dict_usb.h @@ -0,0 +1,23 @@ +#ifndef _shared_dict_usb_h +#define _shared_dict_usb_h + +//define dictionary's reference number in the shared_dictionaries.h file +//then include this dictionary file in shared_dictionaries.h +//The dictionary number is literally used as usb transfer request field +//the opcodes and operands in this dictionary are fed directly into usb setup packet's wValue wIndex fields + +#define RETURN_BUFF_SIZE 8 //number of bytes in generic return buffer +#define RETURN_ERR_IDX 0 //index of IN DATA stage that contains SUCCESS/ERROR# +#define RETURN_LEN_IDX 1 //index of IN DATA stage that contains length of return value(s) in bytes (0-125) +#define RETURN_DATA 2 //index of IN DATA stage that contains start of return data + +//============================================================================================= +//============================================================================================= +// USB DICTIONARY +// +// opcodes contained in this dictionary must be implemented in firmware/source/usb.c +// +//============================================================================================= +//============================================================================================= + +#endif diff --git a/firmware/source/shared_dictionaries.h b/firmware/source/shared_dictionaries.h new file mode 100644 index 0000000..430b838 --- /dev/null +++ b/firmware/source/shared_dictionaries.h @@ -0,0 +1,295 @@ +#ifndef _shared_dictionaries_h +#define _shared_dictionaries_h + +//list of dictionary reference numbers +//these numbers literally sent in usb control transfer in request field +//the included dictionaries define opcodes and operands contained in transfer wValue wIndex fields +//they also define expected data buffer sizes and contents. + +//These dictionaries are imported to the device firmware at compile time +//The host application loads & parses these dictionaries at run time +//So creation of new dictionaries/opcodes requires device firmware to +//be recompiled, and loaded onto the device. But the host application +//does not need to be recompiled. +// +// +//There are a number of updates that must be completed when creating new dictionaries: +// +//1: Define the dictionary number here in this file with #define & #include +// This will get the new dictionary included in the firmware build +// the assigned dictionary number must be between 0-255 +// This number is the actual USB bRequest value for the setup packet +// +//2: Create new "shared_dict_.h" file in the same directory as this file +// Feel free to copy paste a similar dict, just make sure everything is +// appropriately renamed in the file +// +//3: Add the new dictionary to host/scripts/app/dict.lua +// This includes instantiating, creating, & exporting the module at the bottom +// of dict.lua file as follows: +// op_ = {} +// create_dict_tables( op_, "../shared/shared_dict_.h") +// dict. = +// Create the dictionary function in dict.lua +// This is the function that the host scripts use each time an opcode is +// called for that dictionary. It designates how the operand, misc, & data +// for the opcode are defined and how they map to the USB setup & data packets. +// Currently there is no generic function for dictionaries to use +// This is because some dictionaries may handle USB transfers in special ways +// For now one can probably get by copy pasting one of the other functions +// like nes, and then renaming all "nes" to "" and "NES" to "" +// TODO: create generic dictionary script function for general use +// +//4: Define the desired opcodes in the newly created shared/shared_dict_.h file +// This is done with lines like the following: +// #define NEW_OPCODE 1 //RL=2 +// the opcode name comes first which is the name used to call the opcode +// This is used in host scripts and device firmware +// An underscore can be tacked to the end to allow direct mapping between +// firmware defines and shared defines (see firmware/source/pinport.h for example) +// In that case the trailing underscore is trimmed by the host parser +// choose an arbitrary number between 0-255 that is different from all other +// opcodes in that dictionary +// This value is sent as USB setup packet wValue LSByte +// the "RL=" that's follows the "//" C comment designates the "return data length" +// This C comment is for the host side only so it knows the desired USB endpoint & data length. +// If left out, the default is RL=1 which is ENDPOINT IN with data length of 1. +// A negative value for RL denotes ENDPOINT OUT (write to device). +// a positive is ENDPOINT IN (read data from device). +// That 1 byte of data read back from the device is typically the success/error +// code sent back from the device to denote if opcode wasn't found, or other problem. +// If you want some actual data to be returned increased. +// Typically the first byte is still reserved for error code, second byte gives data length +// of the data that follows. So 1 byte of return data would be RL=3 +// first byte would be errorcode, second = 1, and third byte would be actual data +// see nes.c for an example of this on reads +// You must also dictate what to do with that data once it arrives in the +// dict.lua function created in step 3 above. +// dict.lua parses this RL value, all that really matters is it follows // +// and contains RL= where the number is assumed decimal, but can be hex with 0x prefix +// white space is okay, and RL doesn't have to be first thing in the comment +// If one wants to comment out opcodes it must be done with // at the beginning of the line. +// multiline C comments is not permitted by the dict.lua parser +// Make notes about the opcode explaining operands and data when used. +// Comments in shared_dict_.h must be single line C comments starting with // +// +//5: Add support for the dictionary in the device +// This is done in firmware/source/usb.c within the usbFunctionSetup function +// This is where setup packet is mapped to the firmware function you'd like to be called for +// each incoming setup packet for this dictionary +// +//6: Create the firmware C code to implement the dictionary. +// Something like .c & .h which can be copied from a similar dictionary +// The .h file must be included in usb.h +// Create a _call function in .c which you called in step 6 above. +// Use a switch statement to key off the opcode and pass operands/data to the opcode's function +// Be sure to return SUCCESS/ERROR when possible to get some sort of report back from device that +// the opcode was found and executed properly. +// the return SUCCESS/ERROR is not possible when sending data packets to device (ENDPOINT OUT) +// in that case perhaps you want a 'GET_LAST_ERROR_CODE' opcode that would follow afterwards.. +// These error codes should be kept in shared/shared_errors.h +// +//7: Call opcodes in the new dictionary from host lua scripts! +// For example: +// dict.io("NES_INIT") +// calls the NES_INIT opcode in the io dictionary, this opcode happens to initialize +// the mcu GPIO pins to a known state to prepare for calling other opcodes in the nes dictionary +// +// dict.nes("NES_CPU_WR", 0x8000, 0xFF) +// calls the NES_CPU_WR opcode from the nes dictionary, with operand 0x8000, and miscdata 0xFF +// the host/scripts/app/dict.lua nes function is what determines how that operand/misc data is sent in the setup packet +// in this example the value 0xFF is written to CPU address $8000 +// +// dict.snes("SNES_SET_BANK", 0) +// rv = dict.snes("SNES_ROM_RD", 0xFFFF) +// the SNES_SET_BANK opcode sets the SNES bank address bits to 0 +// the second SNES_ROM_RD opcode reads the value from $FFFF (of the currently selected bank) +// and the read value is stored in the variable rv for use in the script +// +// hex & decimal values can be used in data, operands, misc. Hex must have 0x prefix +// this is lua code afterall, so anything that's possible in lua can be done here on the host side + + + +//Notes: +// each unique read/write function in avr takes about 50 bytes... + +//don't define dictionary #0 as it is common to forget to define + +//============================================================================================= +//============================================================================================= +#define DICT_PINPORT 1 +#include "shared_dict_pinport.h" +//pinport dictionary has various commands giving low and mid level access to retro prog's i/o pins. +//See abstraction layer port definitions in firmware pinport_al.h file for more details. +//An effort has been made to make opcodes in this dictionary hardware independent. +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_IO 2 +#include "shared_dict_io.h" +//io dictionary contains commands +//Scope of functions contained is intended to be general and generic not specific +//to the cartridge inserted. The closest these operations get to being cart/system +//specific is in setup for a system. Calling the cart/system setup contained here +//prepares kazzo for system specific commands. Once complete with system specifc +//commands come back here to 'deinitialize' access to that cartridge. +//commands in this dictionary are meant to estabilish baseline rules of i/o to +//support calling higher level system/cart specific functions. +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_NES 3 +#include "shared_dict_nes.h" +//nes dictionary contains commands +//These commands rely on io initialization from io dictionary prior to calling +//This library is intended to contain all NES related opcodes/commands +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_SNES 4 +#include "shared_dict_snes.h" +//snes dictionary contains commands +//These commands rely on io initialization from io dictionary prior to calling +//This library is intended to contain all SNES related opcodes/commands +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_BUFFER 5 +#include "shared_dict_buffer.h" +//mcu buffer dictionary commands +//This library is intended to contain all buffer related opcodes/commands +//also contains defines for both host and firmware such as buffer status numbers +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_USB 6 +#include "shared_dict_usb.h" +//currently no actual dictionary as there are no opcodes. +//just used to return status of usbfunctions in event of a transfer error. +//contains definitions of data transactions between host and firmware +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_OPER 7 +#include "shared_dict_operation.h" +//dictionary used to initialize and control operation_info variables +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_SWIM 8 +#include "shared_dict_swim.h" +//dictionary used to control swim communications +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_JTAG 9 +#include "shared_dict_jtag.h" +//dictionary used to control jtag communications +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_BOOTLOAD 10 +#include "shared_dict_bootload.h" +//dictionary used to control USB device bootloader +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_CICCOM 11 +#include "shared_dict_ciccom.h" +//dictionary used to communicate to the CIC +//The lockout microcontroller on some INL manufactured cartridges +//is used for advanced features such as mirroring software switch, JTAG interface, etc. +//============================================================================================= +//============================================================================================= + +//============================================================================================= +//============================================================================================= +#define DICT_GAMEBOY 12 +#include "shared_dict_gameboy.h" +//gameboy dictionary +//These commands rely on io initialization from io dictionary prior to calling +//============================================================================================= +//============================================================================================= + +//============================================================================================= +//============================================================================================= +#define DICT_GBA 13 +#include "shared_dict_gba.h" +//gameboy advance dictionary +//These commands rely on io initialization from io dictionary prior to calling +//============================================================================================= +//============================================================================================= + +//============================================================================================= +//============================================================================================= +#define DICT_SEGA 14 +#include "shared_dict_sega.h" +//Sega Genesis dictionary +//These commands rely on io initialization from io dictionary prior to calling +//============================================================================================= +//============================================================================================= + +//============================================================================================= +//============================================================================================= +#define DICT_N64 15 +#include "shared_dict_n64.h" +//Nintendo 64 dictionary +//These commands rely on io initialization from io dictionary prior to calling +//============================================================================================= +//============================================================================================= + + +//============================================================================================= +//============================================================================================= +#define DICT_FWUPDATE 16 +#include "shared_dict_fwupdate.h" +//dictionary used to control self updating firmware functions +//These commands aren't actually processed by the main application +//they are sniffed out by the device's usb code and handled separately +//this is because we are presumedly erasing the main application code +//============================================================================================= +//============================================================================================= + +//============================================================================================= +//============================================================================================= +#define DICT_STUFF 17 +#include "shared_dict_stuff.h" +//miscelaneous stuff dictionary if you just need a few small calls that +//you don't want to create a specific dictionary for you can stuff +//them here. +//============================================================================================= +//============================================================================================= + + +#endif diff --git a/firmware/source/shared_errors.h b/firmware/source/shared_errors.h new file mode 100644 index 0000000..f6b61f9 --- /dev/null +++ b/firmware/source/shared_errors.h @@ -0,0 +1,59 @@ +#ifndef _shared_errors_h +#define _shared_errors_h + +#define SUCCESS 0 +#define GEN_FAIL 0xFF + + +//greater than 128 are possible avr return codes +#define ERR_UNKN_DICTIONARY 128 + +#define ERR_UNKN_SWIM_OPCODE 130 +#define ERR_UNKN_MISC_OPCODE 131 + +#define ERR_UNKN_JTAG_OPCODE 135 +#define ERR_UNKN_CICCOM_OPCODE 136 +#define ERR_UNKN_BOOTLOAD_OPCODE 138 +#define ERR_UNKN_FWUPDATE_OPCODE 139 + +#define ERR_UNKN_PP_OPCODE 140 +#define ERR_CTL_PIN_NOT_PRESENT 141 + +#define ERR_FWUPDATE_BAD_ADDR 142 +#define ERR_FWUPDATE_HIJACK_FAIL 143 + +#define ERR_UNKN_IO_OPCODE 150 +#define ERR_UNKN_SWIM_LANE 151 +#define ERR_UNKN_JTAG_LANE 152 + +#define ERR_UNKN_NES_OPCODE 160 +// +////reserved libusb erro 165 +// +#define ERR_UNKN_SNES_OPCODE 170 + +#define ERR_UNKN_GAMEBOY_OPCODE 175 +#define ERR_UNKN_GBA_OPCODE 176 +#define ERR_UNKN_SEGA_OPCODE 177 +#define ERR_UNKN_N64_OPCODE 178 + +#define ERR_UNKN_BUFF_OPCODE 180 +#define ERR_BUFN_DOES_NOT_EXIST 181 + +#define ERR_BUFF_ALLOC_RANGE 190 +#define ERR_BUFF_STATUS_ALREADY_ALLOC 191 +#define ERR_BUFF_ID_ALREADY_ALLOC 192 +#define ERR_BUFF_RAW_ALREADY_ALLOC 193 +#define ERR_BUFF_ALLOC_SIZE_ZERO 194 +#define ERR_BUFF_UNSUP_MEM_TYPE 195 +#define ERR_BUFF_PART_NUM_RANGE 196 + +//#define ERR_OUT_CURLDBUF_STATUS 200 +//#define ERR_OUT_CURLDBUF_TO_SMALL 201 + +#define ERR_UNKN_OPER_OPCODE 210 + +////max error number 255 + + +#endif diff --git a/firmware/source/usb.h b/firmware/source/usb.h index 7cbd268..364bd03 100644 --- a/firmware/source/usb.h +++ b/firmware/source/usb.h @@ -9,7 +9,7 @@ #endif #ifdef STM_CORE - #include "..\source_stm_only\usbstm.h" + #include "../source_stm_only/usbstm.h" #endif #include "pinport.h" diff --git a/host/scripts/app/ciccom.lua b/host/scripts/app/ciccom.lua index d3c491d..7c60674 100644 --- a/host/scripts/app/ciccom.lua +++ b/host/scripts/app/ciccom.lua @@ -104,8 +104,9 @@ local function byte_to_ciccom(byte, debug) end -local function char_to_ciccom( char, debug) - byte_to_ciccom(string.byte(char), debug) +local function char_to_ciccom(char, debug) + print(char) + byte_to_ciccom(char, debug) end local function set_opcode(opcode) diff --git a/host/scripts/app/flash.lua b/host/scripts/app/flash.lua index 45a73db..900ffc1 100644 --- a/host/scripts/app/flash.lua +++ b/host/scripts/app/flash.lua @@ -11,6 +11,7 @@ local snes = require "scripts.app.snes" -- local functions local function write_file( file, sizeKB, map, mem, debug ) + local wfstart = os.clock(); local buff0 = 0 local buff1 = 1 @@ -80,7 +81,7 @@ local function write_file( file, sizeKB, map, mem, debug ) if debug then print("number of naks", nak) end tstop = os.clock() timediff = ( tstop-tstart) - if debug then print("total time:", timediff, "seconds, average speed:", (sizeKB/timediff), "KBps") end + print("total time:", timediff, "seconds, average speed:", (sizeKB/timediff), "KBps") -- wait till all buffers are done --while flashing buffer manager updates from USB_FULL -> FLASHING -> FLASHED @@ -93,6 +94,9 @@ local function write_file( file, sizeKB, map, mem, debug ) dict.operation("SET_OPERATION", op_buffer["RESET"] ) dict.buffer("RAW_BUFFER_RESET") + local wfstop = os.clock() + local wftimediff = ( wfstop-wfstart) + print("WF Time", wftimediff) end --[[ diff --git a/host/scripts/app/nes.lua b/host/scripts/app/nes.lua index 964c96a..d6a6976 100644 --- a/host/scripts/app/nes.lua +++ b/host/scripts/app/nes.lua @@ -13,7 +13,7 @@ local FC_RF_HI = 0x20 --FC RF audio pin is EXP6 (bit5) -- local functions -- pass a file pointer for a file which is already open -- leave file open when done -local function write_header( file, prgKB, chrKB, mapper, mirroring ) +local function write_header( file, prgKB, chrKB, mapper, mirroring, battery) --bytes 0-3 always "NES " file:write("NES") @@ -50,6 +50,10 @@ local function write_header( file, prgKB, chrKB, mapper, mirroring ) temp = temp << 4 + if battery then + temp = temp | 0x02 + end + if mirroring == "VERT" then temp = temp | 0x01 end diff --git a/host/scripts/inlretro2.lua b/host/scripts/inlretro2.lua index e86342d..6cc9eae 100644 --- a/host/scripts/inlretro2.lua +++ b/host/scripts/inlretro2.lua @@ -67,6 +67,9 @@ function nes_exec(process_opts, console_opts) action53 = require "scripts.nes.action53", bnrom = require "scripts.nes.bnrom", cdream = require "scripts.nes.cdream", + vg1040 = require "scripts.nes.vg1040", + vg1040hvc = require "scripts.nes.vg1040hvc", + picto2022 = require "scripts.nes.picto2022", cninja = require "scripts.nes.cninja", cnrom = require "scripts.nes.cnrom", dualport = require "scripts.nes.dualport", @@ -77,6 +80,7 @@ function nes_exec(process_opts, console_opts) mmc1 = require "scripts.nes.mmc1", mmc2 = require "scripts.nes.mmc2", mmc3 = require "scripts.nes.mmc3", + dragonwarrior = require "scripts.nes.dragonwarrior", mmc4 = require "scripts.nes.mmc4", mmc5 = require "scripts.nes.mmc5", nrom = require "scripts.nes.nrom", diff --git a/host/scripts/nes/dragonwarrior.lua b/host/scripts/nes/dragonwarrior.lua new file mode 100644 index 0000000..4cdb04c --- /dev/null +++ b/host/scripts/nes/dragonwarrior.lua @@ -0,0 +1,127 @@ +-- import required modules +local dict = require "scripts.app.dict" + +local function unset_game_mode() + dict.nes("NES_CPU_WR", 0xFFF0, 0x00) + dict.nes("NES_CPU_WR", 0xFFF1, 0x00) + dict.nes("NES_CPU_WR", 0xFFF0, 0x00) + dict.nes("NES_CPU_WR", 0x8000, 0x00) +end + +local function set_game_mode() + dict.nes("NES_CPU_WR", 0xFFF0, 0x00) + dict.nes("NES_CPU_WR", 0xFFF1, 0x00) + dict.nes("NES_CPU_WR", 0xFFF0, 0x00) + dict.nes("NES_CPU_WR", 0x8000, 0x01) +end + +local function disable_sram() + dict.nes("NES_CPU_WR", 0xE000, 0x80) +end + +local function enable_sram() + dict.nes("NES_CPU_WR", 0xE000, 0x00) +end + +local function set_mirror_vert() + dict.nes("NES_CPU_WR", 0x8000, 0x02) +end + +local function read_sram(file) + local content = "" + print("START") + for i = 0x6000, 0x7fff, 1 do + rv = dict.nes("NES_CPU_RD", i) + content = content .. string.char(rv) + end + return content +end + +local function sanity_check(content) + local checksum_low = 0x1D + local checksum_high = 0x1D + local carry = 0 + local al = 0 + local bl = 0 + for i = 0x1D, 0, -1 do + bl = string.byte(string.sub(content, i + 1, i + 1)) + for x = 0, 7, 1 do + al = bl ~ checksum_high + carry = (checksum_low & 0x80) >> 7 + checksum_low = (checksum_low << 1) & 0xFF + checksum_high = ((checksum_high << 1) + carry) & 0xFF + bl = (bl << 1) & 0xFF + carry = (al & 0x80) >> 7 + al = (al << 1) & 0xFF + if carry > 0 then + checksum_low = checksum_low ~ 0x21 + checksum_high = checksum_high ~ 0x10 + end + end + end + if checksum_low == string.byte(string.sub(content, 31, 31)) then + if checksum_high == string.byte(string.sub(content, 32, 32)) then + return true + end + end + return false +end + +local function check_save_slots(file, content) + local save_data = "" + for i = 0, 2, 1 do + for x = 0, 9, 1 do + local c_start = 0x69 + (i * 0x140) + (x * 0x20) + local slot_content = string.sub(content, c_start, c_start + 0x1F) + local sc = sanity_check(slot_content) + if sc then + print(sc) + for y = 0, 9, 1 do + save_data = save_data .. slot_content + end + break + end + if x == 9 then + print("ERROR: Issue Detecting Dragon Warrior Save Data") + print("Try readjusting the Dragon Warrior cartridge") + return save_data + end + end + end + return save_data +end + +local function process(process_opts, console_opts) + local ramdumpfile = process_opts["dumpram_filename"] + + print("**IO_RESET**") + dict.io("IO_RESET") + print("**NES_INIT**") + dict.io("NES_INIT") + + print("Be sure Dragon Warrior is connected to a Game Genie") + + if dumpram then + print("\nDumping WRAM...") + file = assert(io.open(ramdumpfile, "wb")) + unset_game_mode() + set_game_mode() + set_mirror_vert() + enable_sram() + local content = read_sram(file) + disable_sram() + local save_data = check_save_slots(file, content) + + if string.len(save_data) > 0 then + save_data = string.rep("\x00", 0x23) .. save_data + save_data = "KEN MASUTA" .. save_data + save_data = string.rep("\x00", 0x02) .. save_data + save_data = string.sub(content, 0x36, 0x39) .. save_data + save_data = string.rep("\x00", 0x35) .. save_data + save_data = save_data .. "KEN MASUTA" + save_data = save_data .. string.rep("\x00", 0x1BCE) + file:write(save_data) + end + file.close() + end +end diff --git a/host/scripts/nes/picto2022.lua b/host/scripts/nes/picto2022.lua new file mode 100644 index 0000000..196a7e5 --- /dev/null +++ b/host/scripts/nes/picto2022.lua @@ -0,0 +1,333 @@ +-- create the module's table +local picto2022 = {} + +-- import required modules +local dict = require "scripts.app.dict" +local nes = require "scripts.app.nes" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local time = require "scripts.app.time" +local files = require "scripts.app.files" +local swim = require "scripts.app.swim" +local buffers = require "scripts.app.buffers" + + +-- file constants & variables +local mapname = "PICTO2022" +local banktable_base = 0x8000 +local prg_flash_size = 0 +local chr_flash_size = 0 + +local starttime = 0 +local totaltime = 0 +local cstarttime = 0 +local ctotaltime = 0 + +local function create_header(file, prgKB, chrKB) + local mirroring = nes.detect_mapper_mirroring() + nes.write_header(file, prgKB, chrKB, op_buffer["MMC5"], mirroring, true) +end + +local banktable + + +--[[ +- Bank table (actual table) of 00-FF +- Repeat bank data if doesn't fill up entire cartridge +]]-- + + +local function populate_banktable() +end + + + +--read PRG-ROM flash ID +local function prgrom_manf_id() + --manid = NES_CPU_RD(0x8000) // manid should be 0xEF (rewired 0xBF) + --devid = NES_CPU_RD(0x8001) // devid should be 0x6D (rewired 0xB5) + print() + print("Reading PRG-ROM Product ID") + -- Software ID Entry + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x34AA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0x48) + local man_id = dict.nes("NES_CPU_RD", 0x8000) + print("PRG-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_CPU_RD", 0x8001) + print("PRG-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xEF then + -- Check if 39 series flash chip + if dev_id == 0x6D then + prg_flash_size = 128 + elseif dev_id == 0x6B then + prg_flash_size = 256 + elseif dev_id == 0x6F then + prg_flash_size = 512 + end + if prg_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local prg_chip_Mb = tostring(math.floor(prg_flash_size / 128)) + print("PRG-ROM Chip is SST39SF0" .. prg_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x0000, 0x78) +end + +--read CHR-ROM flash ID +local function chrrom_manf_id() + print() + print("Reading CHR-ROM Product ID") + -- Software ID Entry + dict.nes("NES_CPU_WR", 0x800C, 0x0C) + dict.nes("NES_PPU_WR", 0x0955, 0x55) + dict.nes("NES_CPU_WR", 0x8010, 0x10) + dict.nes("NES_PPU_WR", 0x162A, 0xAA) + dict.nes("NES_CPU_WR", 0x800C, 0x0C) + dict.nes("NES_PPU_WR", 0x0955, 0x90) + dict.nes("NES_CPU_WR", 0x8000, 0x00) + local man_id = dict.nes("NES_PPU_RD", 0x0000) + print("CHR-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_PPU_RD", 0x0001) + print("CHR-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xDF then + -- Check if 39 series flash chip + if dev_id == 0xDA then + chr_flash_size = 128 + elseif dev_id == 0xDC then + chr_flash_size = 256 + elseif dev_id == 0xDE then + chr_flash_size = 512 + end + if chr_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local chr_chip_Mb = tostring(math.floor(chr_flash_size / 128)) + print("CHR-ROM Chip is SST39SF0" .. chr_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("NES_PPU_WR", 0x0000, 0xF0) +end + +local function erase_prgrom() + print() + print("Erasing PRG-ROM"); + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x34AA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0x08) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x34AA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0x40) + local naks = 0 + while (dict.nes("NES_CPU_RD", 0x8000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing PRG ROM."); +end + + +local function erase_chrrom() + print() + print("Erasing CHR-ROM"); + dict.nes("NES_CPU_WR", 0x800C, 0x0C) + dict.nes("NES_PPU_WR", 0x0955, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8010, 0x10) + dict.nes("NES_PPU_WR", 0x162A, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x800C, 0x0C) + dict.nes("NES_PPU_WR", 0x0955, 0x10) + dict.nes("NES_PPU_WR", 0x0955, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x10) + dict.nes("NES_PPU_WR", 0x162A, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x0C) + dict.nes("NES_PPU_WR", 0x0955, 0x80) + local naks = 0 + while (dict.nes("NES_PPU_RD", 0x0000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing CHR ROM."); +end + + +local function program_prgrom(file, prg_size) + print("\nProgramming PRG-ROM flash") + local bank_size = 32 + local byte_num + local byte_str, data, readdata + + for cur_bank = 0, prg_size / bank_size - 1, 1 + do + if cur_bank % 2 == 0 then + print("PRG-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 1) .. " of " .. math.floor(prg_size / bank_size - 1)) + end + local file_offset = file:seek() + for n = 0, prg_flash_size / prg_size - 1, 1 + do + local bank_offset = n * prg_size / bank_size + print(n, bank_offset, cur_bank) + file:seek("set", file_offset) + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank + bank_offset, cur_bank + bank_offset) + flash.write_file(file, bank_size, mapname, "PRGROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + + +local function program_chrrom(file, chr_size) + print("\nProgramming CHR-ROM flash") + local bank_size = 8 + local byte_num + local byte_str, data, readdata + dict.nes("SET_BANK_TABLE", banktable_base) + for cur_bank = 0, chr_size / bank_size - 1, 1 + do + if cur_bank % 4 == 0 then + print("CHR-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 3) .. " of " .. math.floor(chr_size / bank_size - 1)) + end + for n = 0, chr_flash_size / chr_size - 1, 1 + do + local bank_offset = n * chr_size / bank_size + print(n, bank_offset, cur_bank) + dict.nes("SET_CUR_BANK", cur_bank + bank_offset) + flash.write_file(file, bank_size, mapname, "CHRROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + +local function wr_banktable(prg_size) + print() + print("Writing Bank Table") + for cur_bank = 0, prg_size / 32 - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank, cur_bank) + for i = 0, 255, 1 do + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x34AA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x4B55, 0x28) + dict.nes("DISCRETE_EXP0_PRGROM_WR", banktable_base + i - 0x8000, i) + end + end + print("Done Writing Bank Table") +end + +local function read_prgrom(file, prg_size) + print("\nDumping PRG-ROM") + local bank_size = 32 + for cur_bank = 0, prg_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + cur_bank, cur_bank) + dump.dumptofile(file, bank_size, 0x08, "NESCPU_4KB", false) + end + print("Done Dumping PRG-ROM") +end + +local function read_chrrom(file, chr_size) + print("\nDumping CHR-ROM") + local bank_size = 8 + dict.nes("NES_CPU_WR", 0x8000, 0x00) + local cur_bank = 0 + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + for cur_bank = 0, chr_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + dump.dumptofile(file, bank_size, 0x0000, "NESPPU_1KB", false) + end + print("Done Dumping CHR-ROM") +end + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process(process_opts, console_opts) + local test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local file + local prg_size = console_opts["prg_rom_size_kb"] + local chr_size = console_opts["chr_rom_size_kb"] + + --initialize device i/o for NES + dict.io("IO_RESET") + dict.io("NES_INIT") + + --test cart by reading manf/prod ID + if test then + print("Testing " .. mapname) + nes.detect_mapper_mirroring(true) + print("EXP0 pull-up test: " .. dict.io("EXP0_PULLUP_TEST")) + end + +--dump the cart to dumpfile + if read then + file = assert(io.open(dumpfile, "wb")) + print() + print("Dumping NES ROM") + create_header(file, prg_size, chr_size) + read_prgrom(file, prg_size) + read_chrrom(file, chr_size) + assert(file:close()) + end + +--erase the cart + if erase then + prgrom_manf_id(true) + if prg_flash_size == 0 then + print() + print("ERROR: Unable to program PICTO2022 Cartridge.") + print("Invalid ROM Chips") + return + end + erase_prgrom() + + chrrom_manf_id(true) + if chr_flash_size == 0 then + print() + print("ERROR: Unable to program PICTO2022 Cartridge.") + print("Invalid CHR ROM Chip") + return + end + erase_chrrom() + + end + +--program flashfile to the cart + if program then + file = assert(io.open(flashfile, "rb")) + file:seek("set", 16) + wr_banktable(prg_size) + program_prgrom(file, prg_size) + program_chrrom(file, chr_size) + assert(file:close()) + end + +--verify flashfile is on the cart + if verify then + end + + dict.io("IO_RESET") +end + +-- functions other modules are able to call +picto2022.process = process + +-- return the module's table +return picto2022 diff --git a/host/scripts/nes/vg1040.lua b/host/scripts/nes/vg1040.lua new file mode 100644 index 0000000..a62952b --- /dev/null +++ b/host/scripts/nes/vg1040.lua @@ -0,0 +1,328 @@ + +-- create the module's table +local vg1040 = {} + +-- import required modules +local dict = require "scripts.app.dict" +local nes = require "scripts.app.nes" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local time = require "scripts.app.time" +local files = require "scripts.app.files" +local swim = require "scripts.app.swim" +local buffers = require "scripts.app.buffers" + + +-- file constants & variables +local mapname = "VG1040" +local banktable_base = 0x8000 +local prg_flash_size = 0 +local chr_flash_size = 0 + +local function create_header(file, prgKB, chrKB) + local mirroring = nes.detect_mapper_mirroring() + nes.write_header(file, prgKB, chrKB, op_buffer["MMC5"], mirroring, true) +end + +local banktable + + +--[[ +- Bank table (actual table) of 00-FF +- Repeat bank data if doesn't fill up entire cartridge +]]-- + + +local function populate_banktable() +end + + + +--read PRG-ROM flash ID +local function prgrom_manf_id() + print() + print("Reading PRG-ROM Product ID") + -- Software ID Entry + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x90) + local man_id = dict.nes("NES_CPU_RD", 0x8000) + print("PRG-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_CPU_RD", 0x8001) + print("PRG-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xBF then + -- Check if 39 series flash chip + if dev_id == 0xB5 then + prg_flash_size = 128 + elseif dev_id == 0xB6 then + prg_flash_size = 256 + elseif dev_id == 0xB7 then + prg_flash_size = 512 + end + if prg_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local prg_chip_Mb = tostring(math.floor(prg_flash_size / 128)) + print("PRG-ROM Chip is SST39SF0" .. prg_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x8000, 0xF0) +end + +--read CHR-ROM flash ID +local function chrrom_manf_id() + print() + print("Reading CHR-ROM Product ID") + -- Software ID Entry + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1555, 0xAA) + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x0AAA, 0x55) + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1555, 0x90) + local man_id = dict.nes("NES_PPU_RD", 0x0000) + print("CHR-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_PPU_RD", 0x0001) + print("CHR-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xBF then + -- Check if 39 series flash chip + if dev_id == 0xB5 then + chr_flash_size = 128 + elseif dev_id == 0xB6 then + chr_flash_size = 256 + elseif dev_id == 0xB7 then + chr_flash_size = 512 + end + if chr_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local chr_chip_Mb = tostring(math.floor(chr_flash_size / 128)) + print("CHR-ROM Chip is SST39SF0" .. chr_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("NES_PPU_WR", 0x8000, 0xF0) +end + +local function erase_prgrom() + print() + print("Erasing PRG-ROM"); + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x80) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x10) + local naks = 0 + while (dict.nes("NES_CPU_RD", 0x8000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing PRG ROM."); +end + + +local function erase_chrrom() + print() + print("Erasing CHR-ROM"); + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1555, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x0AAA, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1555, 0x80) + dict.nes("NES_PPU_WR", 0x1555, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x0AAA, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1555, 0x10) + local naks = 0 + while (dict.nes("NES_PPU_RD", 0x0000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing CHR ROM."); +end + + +local function program_prgrom(file, prg_size) + print("\nProgramming PRG-ROM flash") + local bank_size = 32 + local byte_num + local byte_str, data, readdata + + for cur_bank = 0, prg_size / bank_size - 1, 1 + do + if cur_bank % 2 == 0 then + print("PRG-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 1) .. " of " .. math.floor(prg_size / bank_size - 1)) + end + local file_offset = file:seek() + for n = 0, prg_flash_size / prg_size - 1, 1 + do + local bank_offset = n * prg_size / bank_size + print(n, bank_offset, cur_bank) + file:seek("set", file_offset) + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank + bank_offset, cur_bank + bank_offset) + flash.write_file(file, bank_size, "NROM", "PRGROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + + +local function program_chrrom(file, chr_size) + print("\nProgramming CHR-ROM flash") + local bank_size = 8 + local byte_num + local byte_str, data, readdata + dict.nes("SET_BANK_TABLE", banktable_base) + for cur_bank = 0, chr_size / bank_size - 1, 1 + do + if cur_bank % 4 == 0 then + print("CHR-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 3) .. " of " .. math.floor(chr_size / bank_size - 1)) + end + local file_offset = file:seek() + for n = 0, chr_flash_size / chr_size - 1, 1 + do + local bank_offset = n * chr_size / bank_size + print(n, bank_offset, cur_bank) + file:seek("set", file_offset) + dict.nes("SET_CUR_BANK", cur_bank + bank_offset) + flash.write_file(file, bank_size, mapname, "CHRROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + +local function wr_banktable(prg_size) + print() + print("Writing Bank Table") + for cur_bank = 0, prg_size / 32 - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank, cur_bank) + for i = 0, 255, 1 do + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xA0) + dict.nes("DISCRETE_EXP0_PRGROM_WR", banktable_base + i - 0x8000, i) + end + end + print("Done Writing Bank Table") +end + +local function read_prgrom(file, prg_size) + print("\nDumping PRG-ROM") + local bank_size = 32 + for cur_bank = 0, prg_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + cur_bank, cur_bank) + dump.dumptofile(file, bank_size, 0x08, "NESCPU_4KB", false) + end + print("Done Dumping PRG-ROM") +end + +local function read_chrrom(file, chr_size) + print("\nDumping CHR-ROM") + local bank_size = 8 + dict.nes("NES_CPU_WR", 0x8000, 0x00) + local cur_bank = 0 + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + for cur_bank = 0, chr_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + dump.dumptofile(file, bank_size, 0x0000, "NESPPU_1KB", false) + end + print("Done Dumping CHR-ROM") +end + + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process(process_opts, console_opts) + local test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local file + local prg_size = console_opts["prg_rom_size_kb"] + local chr_size = console_opts["chr_rom_size_kb"] + + --initialize device i/o for NES + dict.io("IO_RESET") + dict.io("NES_INIT") + + --test cart by reading manf/prod ID + if test then + print("Testing " .. mapname) + nes.detect_mapper_mirroring(true) + print("EXP0 pull-up test: " .. dict.io("EXP0_PULLUP_TEST")) + end + +--dump the cart to dumpfile + if read then + file = assert(io.open(dumpfile, "wb")) + print() + print("Dumping NES ROM") + create_header(file, prg_size, chr_size) + read_prgrom(file, prg_size) + read_chrrom(file, chr_size) + assert(file:close()) + end + +--erase the cart + if erase then + prgrom_manf_id(true) + if prg_flash_size == 0 then + print() + print("ERROR: Unable to program VG1040 Cartridge.") + print("Invalid ROM Chips") + return + end + erase_prgrom() + + chrrom_manf_id(true) + if chr_flash_size == 0 then + print() + print("ERROR: Unable to program VG1040 Cartridge.") + print("Invalid CHR ROM Chip") + return + end + erase_chrrom() + + end + +--program flashfile to the cart + if program then + file = assert(io.open(flashfile, "rb")) + file:seek("set", 16) + wr_banktable(prg_size) + program_prgrom(file, prg_size) + program_chrrom(file, chr_size) + assert(file:close()) + end + +--verify flashfile is on the cart + if verify then + end + + dict.io("IO_RESET") +end + +-- functions other modules are able to call +vg1040.process = process + +-- return the module's table +return vg1040 diff --git a/host/scripts/nes/vg1040hvc.lua b/host/scripts/nes/vg1040hvc.lua new file mode 100644 index 0000000..2eb70e0 --- /dev/null +++ b/host/scripts/nes/vg1040hvc.lua @@ -0,0 +1,328 @@ + +-- create the module's table +local vg1040hvc = {} + +-- import required modules +local dict = require "scripts.app.dict" +local nes = require "scripts.app.nes" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" +local time = require "scripts.app.time" +local files = require "scripts.app.files" +local swim = require "scripts.app.swim" +local buffers = require "scripts.app.buffers" + + +-- file constants & variables +local mapname = "VG1040HVC" +local banktable_base = 0x8000 +local prg_flash_size = 0 +local chr_flash_size = 0 + +local function create_header(file, prgKB, chrKB) + local mirroring = nes.detect_mapper_mirroring() + nes.write_header(file, prgKB, chrKB, op_buffer[mapname], mirroring) +end + +local banktable + + +--[[ +- Bank table (actual table) of 00-FF +- Repeat bank data if doesn't fill up entire cartridge +]]-- + + +local function populate_banktable() +end + + + +--read PRG-ROM flash ID +local function prgrom_manf_id() + print() + print("Reading PRG-ROM Product ID") + -- Software ID Entry + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x90) + local man_id = dict.nes("NES_CPU_RD", 0x8000) + print("PRG-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_CPU_RD", 0x8001) + print("PRG-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xBF then + -- Check if 39 series flash chip + if dev_id == 0xB5 then + prg_flash_size = 128 + elseif dev_id == 0xB6 then + prg_flash_size = 256 + elseif dev_id == 0xB7 then + prg_flash_size = 512 + end + if prg_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local prg_chip_Mb = tostring(math.floor(prg_flash_size / 128)) + print("PRG-ROM Chip is SST39SF0" .. prg_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x8000, 0xF0) +end + +--read CHR-ROM flash ID +local function chrrom_manf_id() + print() + print("Reading CHR-ROM Product ID") + -- Software ID Entry + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1955, 0xAA) + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x06AA, 0x55) + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1955, 0x90) + local man_id = dict.nes("NES_PPU_RD", 0x0000) + print("CHR-ROM Manufacturer's ID: " .. string.format("%X", man_id)) + local dev_id = dict.nes("NES_PPU_RD", 0x0001) + print("CHR-ROM Device ID: " .. string.format("%X", dev_id)) + + -- Check if Manufacturer is Microchip + if man_id == 0xBF then + -- Check if 39 series flash chip + if dev_id == 0xB5 then + chr_flash_size = 128 + elseif dev_id == 0xB6 then + chr_flash_size = 256 + elseif dev_id == 0xB7 then + chr_flash_size = 512 + end + if chr_flash_size > 0 then + -- Get size of PRG_ROM chip in Mb + local chr_chip_Mb = tostring(math.floor(chr_flash_size / 128)) + print("CHR-ROM Chip is SST39SF0" .. chr_chip_Mb .. "0") + end + end + -- Software ID Exit + print("Exiting Software Mode") + dict.nes("NES_PPU_WR", 0x8000, 0xF0) +end + +local function erase_prgrom() + print() + print("Erasing PRG-ROM"); + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x80) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x10) + local naks = 0 + while (dict.nes("NES_CPU_RD", 0x8000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing PRG ROM."); +end + + +local function erase_chrrom() + print() + print("Erasing CHR-ROM"); + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1955, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x06AA, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1955, 0x80) + dict.nes("NES_PPU_WR", 0x1955, 0xAA) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x04) + dict.nes("NES_PPU_WR", 0x06AA, 0x55) + -- + dict.nes("NES_CPU_WR", 0x8000, 0x08) + dict.nes("NES_PPU_WR", 0x1955, 0x10) + local naks = 0 + while (dict.nes("NES_PPU_RD", 0x0000) ~= 0xFF) do + naks = naks + 1 + end + print(naks, "naks. Finished erasing CHR ROM."); +end + + +local function program_prgrom(file, prg_size) + print("\nProgramming PRG-ROM flash") + local bank_size = 32 + local byte_num + local byte_str, data, readdata + + for cur_bank = 0, prg_size / bank_size - 1, 1 + do + if cur_bank % 2 == 0 then + print("PRG-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 1) .. " of " .. math.floor(prg_size / bank_size - 1)) + end + local file_offset = file:seek() + for n = 0, prg_flash_size / prg_size - 1, 1 + do + local bank_offset = n * prg_size / bank_size + print(n, bank_offset, cur_bank) + file:seek("set", file_offset) + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank + bank_offset, cur_bank + bank_offset) + flash.write_file(file, bank_size, "NROM", "PRGROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + + +local function program_chrrom(file, chr_size) + print("\nProgramming CHR-ROM flash") + local bank_size = 8 + local byte_num + local byte_str, data, readdata + dict.nes("SET_BANK_TABLE", banktable_base) + for cur_bank = 0, chr_size / bank_size - 1, 1 + do + if cur_bank % 4 == 0 then + print("CHR-ROM Bank " .. tostring(cur_bank) .. "-" .. tostring(cur_bank + 3) .. " of " .. math.floor(chr_size / bank_size - 1)) + end + local file_offset = file:seek() + for n = 0, chr_flash_size / chr_size - 1, 1 + do + local bank_offset = n * chr_size / bank_size + print(n, bank_offset, cur_bank) + file:seek("set", file_offset) + dict.nes("SET_CUR_BANK", cur_bank + bank_offset) + flash.write_file(file, bank_size, mapname, "CHRROM", false) + end + end + print("Done Programming PRG-ROM flash") +end + +local function wr_banktable(prg_size) + print() + print("Writing Bank Table") + for cur_bank = 0, prg_size / 32 - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base+cur_bank, cur_bank) + for i = 0, 255, 1 do + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xA0) + dict.nes("DISCRETE_EXP0_PRGROM_WR", banktable_base + i - 0x8000, i) + end + end + print("Done Writing Bank Table") +end + +local function read_prgrom(file, prg_size) + print("\nDumping PRG-ROM") + local bank_size = 32 + for cur_bank = 0, prg_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + cur_bank, cur_bank) + dump.dumptofile(file, bank_size, 0x08, "NESCPU_4KB", false) + end + print("Done Dumping PRG-ROM") +end + +local function read_chrrom(file, chr_size) + print("\nDumping CHR-ROM") + local bank_size = 8 + dict.nes("NES_CPU_WR", 0x8000, 0x00) + local cur_bank = 0 + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + for cur_bank = 0, chr_size / bank_size - 1, 1 do + dict.nes("NES_CPU_WR", 0x8000, 0x00) + dict.nes("NES_CPU_WR", banktable_base + (cur_bank << 2), cur_bank << 2) + dump.dumptofile(file, bank_size, 0x08, "NESPPU_4KB", false) + end + print("Done Dumping CHR-ROM") +end + + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process(process_opts, console_opts) + local test = process_opts["test"] + local read = process_opts["read"] + local erase = process_opts["erase"] + local program = process_opts["program"] + local verify = process_opts["verify"] + local dumpfile = process_opts["dump_filename"] + local flashfile = process_opts["flash_filename"] + local verifyfile = process_opts["verify_filename"] + + local file + local prg_size = console_opts["prg_rom_size_kb"] + local chr_size = console_opts["chr_rom_size_kb"] + + --initialize device i/o for NES + dict.io("IO_RESET") + dict.io("NES_INIT") + + --test cart by reading manf/prod ID + if test then + print("Testing " .. mapname) + nes.detect_mapper_mirroring(true) + print("EXP0 pull-up test: " .. dict.io("EXP0_PULLUP_TEST")) + end + +--dump the cart to dumpfile + if read then + file = assert(io.open(dumpfile, "wb")) + print() + print("Dumping NES ROM") + create_header(file, prg_size, chr_size) + read_prgrom(file, prg_size) + read_chrrom(file, chr_size) + assert(file:close()) + end + +--erase the cart + if erase then + prgrom_manf_id(true) + if prg_flash_size == 0 then + print() + print("ERROR: Unable to program VG1040 Cartridge.") + print("Invalid ROM Chips") + return + end + erase_prgrom() + + chrrom_manf_id(true) + if chr_flash_size == 0 then + print() + print("ERROR: Unable to program VG1040 Cartridge.") + print("Invalid CHR ROM Chip") + return + end + erase_chrrom() + + end + +--program flashfile to the cart + if program then + file = assert(io.open(flashfile, "rb")) + file:seek("set", 16) + wr_banktable(prg_size) + program_prgrom(file, prg_size) + program_chrrom(file, chr_size) + assert(file:close()) + end + +--verify flashfile is on the cart + if verify then + end + + dict.io("IO_RESET") +end + +-- functions other modules are able to call +vg1040hvc.process = process + +-- return the module's table +return vg1040hvc diff --git a/host/source/inlprog.c b/host/source/inlprog.c index d758a22..c0c183e 100644 --- a/host/source/inlprog.c +++ b/host/source/inlprog.c @@ -28,8 +28,9 @@ const char *HELP = "Usage: inlretro [options]\n\n"\ " --help, -h\t\t\t\t\tDisplays this message.\n"\ " --lua_filename=filename, -s filename\t\tIf provided, use this script for main application logic\n"\ " --mapper=mapper, -m mapper\t\t\tNES, SNES, GB consoles only, mapper ASIC on cartridge\n"\ - " \t\t\t\t\t\tNES:\t{action53,bnrom,cdream,cninja,cnrom,dualport,easynsf,fme7,\n"\ - " \t\t\t\t\t\t\t mapper30,mmc1,mmc3,mmc4,mmc5,nrom,unrom}\n"\ + " \t\t\t\t\t\tNES:\t{action53,bnrom,cdream,cninja,cnrom,dragonwarrior,dualport,\n"\ + " \t\t\t\t\t\t\t easynsf,fme7,mapper30,mmc1,mmc2,mmc3,mmc4,mmc5,nrom,picto2022,\n"\ + " \t\t\t\t\t\t\t unrom,vg1040,vg1040hvc}\n"\ " \t\t\t\t\t\tGB:\t{mbc1,romonly}\n"\ " \t\t\t\t\t\tSNES:\t{lorom,hirom}\n"\ " --nes_prg_rom_size_kbyte=size, -x size_kbytes\tNES-only, size of PRG-ROM in kilobytes\n"\ diff --git a/host/source/usb_operations.c b/host/source/usb_operations.c index 2313802..025ddbf 100644 --- a/host/source/usb_operations.c +++ b/host/source/usb_operations.c @@ -24,6 +24,7 @@ static libusb_device_handle *lua_usb_handle = NULL; libusb_device_handle *open_usb_device( libusb_context *context, int log_level ) { + log_level = 0; int rv = 0; libusb_device_handle *handle = NULL; libusb_device **device_list = NULL; @@ -281,16 +282,14 @@ int usb_vendor_transfer( USBtransfer *transfer ) // wIndex = wIndex << 8; // wIndex |= transfer->wIndexLSB; - debug("reqtype h: %x \n", ( LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | transfer->endpoint)); - debug("request h: %x d: %d", transfer->request, transfer->request); - debug("wValueMSB h: %x d: %d", transfer->wValueMSB, transfer->wValueMSB); - debug("wValueLSB h: %x d: %d", transfer->wValueLSB, transfer->wValueLSB); - debug("wValue h: %x", wValue); - debug("wValue d: %d", wValue); - debug("wIndexMSB h: %x d: %d", transfer->wIndexMSB, transfer->wIndexMSB); - debug("wIndexLSB h: %x d: %d", transfer->wIndexLSB, transfer->wIndexLSB); - debug("wIndex h: %x", wIndex); - debug("wIndex d: %d", wIndex); + //TODO + //printf("\n\n\nreqtype h: %x \n\n", ( LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | transfer->endpoint)); + //printf("request h: %x d: %d\n", transfer->request, transfer->request); + //printf("endpoint h: %x d: %d\n", transfer->endpoint, transfer->endpoint); + //printf("wValue h: %x\n", wValue); + //printf("wIndex h: %x\n", wIndex); + //printf("wLength h: %x\n", transfer->wLength); + //printf(transfer->data); int xfr_cnt = libusb_control_transfer( transfer->handle, @@ -304,7 +303,16 @@ int usb_vendor_transfer( USBtransfer *transfer ) transfer->wLength, TIMEOUT_1_SEC); - debug("%d bytes transfered", xfr_cnt); + + //TODO + //for (int abcd = 0; abcd < transfer->wLength; abcd++) { + // printf("%02X|", transfer->data[abcd]); + //} + //printf("\n"); + //TODO + + //printf("%x\n", LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | transfer->endpoint); + //printf("%d bytes transfered", xfr_cnt); check( xfr_cnt >=0, "Write xfr failed with libusb error: %s", libusb_strerror(xfr_cnt)); check( xfr_cnt == transfer->wLength, "Write transfer failed only %d Bytes sent expected %dBytes", xfr_cnt, transfer->wLength); @@ -343,8 +351,15 @@ typedef struct USBtransfer { usb_xfr.wValue = luaL_checknumber(L, 3); /* get wValue argument */ usb_xfr.wIndex = luaL_checknumber(L, 4); /* get wIndex argument */ usb_xfr.wLength = luaL_checknumber(L, 5); /* get wLength argument */ + //printf("\n\n\n HANDLE %x\n", usb_xfr.handle); + //printf(" Endpoint %x\n", usb_xfr.endpoint); + //printf(" Request %x\n", usb_xfr.request); + //printf(" wValue %x\n", usb_xfr.wValue); + //printf(" wIndex %x\n", usb_xfr.wIndex); + //printf(" wLength %x\n", usb_xfr.wLength); check( (usb_xfr.wLength <= MAX_VUSB), "Can't transfer more than %d bytes!", MAX_VUSB); if ( usb_xfr.endpoint == LIBUSB_ENDPOINT_OUT ) { + //printf("OUT TRANSFER\n"); //OUT transfer sending data to device lua_out_string = luaL_checkstring(L, 6); /* get data argument */ //2 rules for lua strings in C: don't pop it, and don't modify it!!! @@ -353,6 +368,7 @@ typedef struct USBtransfer { data_buff[i] = lua_out_string[i]; } } else { + //printf("IN TRANSFER\n"); //IN transfer, zero out buffer for( i=0; i