From 0dd8828744239604fc0ff8af43ad68ab04288aea Mon Sep 17 00:00:00 2001 From: Paul Molloy Date: Sun, 22 Oct 2017 17:09:21 -0500 Subject: [PATCH] Long over due commit... -Updated STM devices to always run @ 48MHz Doesn't seem to cause any problems with SNES flashing couple thousand SF2 boards have been flashed with this build without issues -Added note to usb_operations.c as manf/prod ID can't be read if drivers aren't installed. Caused issues for Todd as he hadn't installed drivers for new hardware. -STM swim operations are working pretty well for SNES v2 and v3 boards Haven't even touched SWIM on AVR core yet... SWIM is pretty pin independent but only implemented on EXP0 so far Reads "ROTF" aren't bullet proof but they're pretty good. Biggest room for improvement aside from adding a legit pullup would be to have an interrupt trigger the device header bit falling edge instead of the current polling method which has decent amount of jitter. Implementing interrupts would also probably allow for more easily supporing reads longer than a single byte... --- firmware/build_stm/inlretro_stm.bin | Bin 8408 -> 15228 bytes firmware/build_stm/inlretro_stm.elf | Bin 115608 -> 184836 bytes firmware/build_stm/inlretro_stm.hex | 1454 +++++++++++++++++---------- firmware/build_stm/inlretro_stm.map | 709 +++++++++---- firmware/source/asm_stm/swim.s | 14 + firmware/source/flash.c | 9 +- firmware/source/main.c | 8 + firmware/source/swim.c | 345 ++++--- firmware/source/swim.h | 14 +- host/inlretro.exe | Bin 0 -> 334793 bytes host/scripts/app/snes.lua | 40 +- host/scripts/app/swim.lua | 347 +++++++ host/scripts/inlretro.lua | 100 +- host/source/usb_operations.c | 2 +- shared/shared_dict_swim.h | 2 + 15 files changed, 2053 insertions(+), 991 deletions(-) create mode 100644 host/inlretro.exe create mode 100644 host/scripts/app/swim.lua diff --git a/firmware/build_stm/inlretro_stm.bin b/firmware/build_stm/inlretro_stm.bin index 04864f9dd8a5deba15b92673371a28b3fb2f7bc3..9ad15b0d9d1030a94cc17391a3f500700bb19874 100644 GIT binary patch literal 15228 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 M;D1Ko|MCd@ZC1@^#6CFC@^HXvxRK2&7%82 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 O;ajjw%WwN1hWQ8Wp|8aN diff --git a/firmware/build_stm/inlretro_stm.elf b/firmware/build_stm/inlretro_stm.elf index edbdb0ac732742f249b29f0d141162301d286184..72bccef772464e339325f35e19f94176664d41fc 100644 GIT binary patch literal 184836 zcmeFY33yah)-Jry+2>}RbQL%-I7CHCZPB!CcOpURzUx#a0sX#vzxzDj|Nr;?&yJq6 z)?Rz9wby?4yic)V%5=LVNv!8jW;u*fuQ8?@0lM#fnK7BEBbb44p4kyaWOQ0fB%( zKp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m z1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5 zKtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7; z2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;Yn zfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB z2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9 zfq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx z5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C z0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5K;Zv9 z1X7scHO6$m;`xFz-T$m$(&@=3{{QnQhUuazq8-uBmNfpUGX6lNZ)W!=x(c0x8D^)+ zpDN=TW}f+kb?iUQ*!0m_?1n;xY0ozi%y2f)W@l!ZF`4BlewHu!yyg^}XXjo%I4Y|WoVT+Sw`@yuEvSu~CR-D2ji&ikI)h|9q&8M>tZuW1{%fq-Se52h zE26DwF3(hyIBn)Ul`(})<7XKA)6UbuD5qqqtZFnX#^Y*p^_E^sWg4s9QsvdPwKi9I zrXnubl3jvxbGdxPYfhI_Y;n$b#1el_EU{WF^Q+qIjV2vpp-3o#$Z!O0_TXT&*nbd5 z^f`WYPDP7}BI>D$QlYDD*5dI@?eRhJ#5uj1?re5kWr&sKNXLTX`s^Z*pHkasru^n= zuP!()RHL5yBs!BE`n{D^dUqn~!EMQ|IkgGX^wYUD)z)a9RpkXPDeekMXG?Ke4V$Y| z+y-lk>xf&j9d#w6UNP2WmwtaAK7=n}8~iaCBz)!ENPmJ;@7P?P;%h9A@~5!KcAgvI zk9NjX#6TM3*D=pjCHIU!!Wn_I>WipoEdSZ3IvUDP`t_^>ePRUq$TU2Q@Obc;ocg_~ zZj;kAJ*{E3ZZ?~_!06C>(;DRBO|5C(kYv#BBx#x?by}a+tOWxdiLf(^fy!whnXLLidP47sv7MkZ+TUukh`u*|KjSY8{e|JP@=H63*cJ$k3#IzZY z)y1skcqZeK@!0XOMa=5;27|BO8w~ydI%m;`JNL?22~4pm#%+c{Gcqs8Qlw2K4Mtm@ zyG@chUI|J$!~D8J#a3Tf(vasivS6Xq@hqf9e<;liQpYZ&Q~hJ2gPlvxhNM!*BakKd zyIO;ti+W`b1f|Wv&bhtmdxLGQXVG4tAnqf05X%tOC~Z^`O`Boxg@b1dSH?Hw+KSy? z#8Mwrn3PlCk21Fz20?}#R7vVsp~=nu@eRf9Tt@NKXp%I))RKajGR}r_q>hU{BUr~WK!9^cT<7G?UPHA+c@N2$XOjcw<}#LPF9Ge3>GHoH{P(%K2k_L(L-5AiL_ zJbR;U&DG7zCRLPAkG7&mo95Rh@o3wEs)>$?6?*r?89JNZrAIIIX6ao%_X%0D`7ukF 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 GA^Z&$O4~F5 diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex index cc0682a..e5601ec 100644 --- a/firmware/build_stm/inlretro_stm.hex +++ b/firmware/build_stm/inlretro_stm.hex @@ -1,5 +1,5 @@ :020000040800F2 -:1000000000180020C1000008FD000008D1180008F9 +:1000000000180020C1000008FD000008E1030008FE :1000100000000000000000000000000000000000E0 :10002000000000000000000000000000FD000008CB :100030000000000000000000FD000008FD000008B6 @@ -10,520 +10,946 @@ :10008000FD000008FD000008FD000008FD0000085C :10009000FD000008FD000008FD000008FD0000084C :1000A000FD000008FD000008FD000008FD0000083C -:1000B000FD000008FD000008FD0000080101000827 +:1000B000FD000008FD000008FD000008FD0B000821 :1000C00009490A4A0A4B9B1A03DD043BC858D05021 :1000D000FBDC0849084A0020521A02DD043A885025 -:1000E000FCDC01F09BFC0000D82000080000002090 -:1000F0000000002000000020AC020020FEE7C04607 -:10010000F0B5CC4E89B0338801961BB2002B01DBD1 -:1001100001F0FFF93388C84A1A4080231343338023 -:10012000019B1A8880231B011340C44A01D101F0AE -:10013000BEF9C349C34D0B68C34801330B602B782C -:100140007F211C008C43C149C14F0C70E98801809C -:100150000020388060273B401370BE4A14708342F1 -:1001600043D0FF23BC4CCAB22370BC4B60701C60F0 -:10017000029268780138062801D901F046F901F0A9 -:1001800041FF070021063E07C807F20744092F096F -:10019000A878AB888C22172822D88022D20001F0C0 -:1001A00031FF18005400810161021103B3034304BD -:1001B000FF041B0527052F05370541054A0558058E -:1001C000600568057005750589059F05C005D5059D -:1001D000EC05B023A24A5B0351690B435361002233 -:1001E00022706A469F4B12891A802B78602259B27E -:1001F000002901DB01F02CF9134016D16A78062A98 -:100200000FD16A88110A022901D101F000F90329EE -:1002100001D101F002F9944A012901D101F0F8F865 -:1002200003936A468F4B92891A80019B1A888F4BE1 -:1002300013438F4A1A40C0239B015340019A9BB23B -:10024000138001F0E7FA01F024F9152B01D900F031 -:10025000AAFD18008023DB0001F0D4FE1600230065 -:100260002E00A505390044004F00A5055C0069007B -:1002700073008000A505A5058D009A00A500B200B9 -:10028000BF00CC00D600E0009022D2051368794967 -:100290000B4013608023D1685B020B43D3600022C4 -:1002A0009EE790210123C9050A689A430A60CA683B -:1002B0001343CB60002293E790210423C9050A6809 -:1002C0009A430A60CA681343CB60002288E79021F2 -:1002D0001023C9050A689A430A60CA681343CB60B1 -:1002E00000227DE790214023C9050A689A430A60ED -:1002F000CA681343CB60002272E79022D2051368CC -:100300005D490B4013608023D1685B030B43D360CE -:10031000002265E79022D205136858490B4013600C -:100320008023D1685B010B43D360002258E704238C -:1003300053490A689A430A60CA681343CB60002293 -:100340004EE79022D20513684E490B40136080237C -:10035000D168DB050B43D360002241E79022D20530 -:10036000136849490B4013608023D168DB020B43BB -:10037000D360002234E79022D205136843490B4032 -:1003800013608023D1685B000B43D360002227E712 -:100390009022D20511683E4801401160D1680B439C -:1003A000D36000221CE79022D205136839490B4024 -:1003B00013608023D168DB010B43D36000220FE779 -:1003C0009022D205136834490B4013608023D16812 -:1003D000DB040B43D360002202E79022D2051368AE -:1003E0002E490B4013608023D1685B050B43D3601B -:1003F0000022F5E6012322490A689A430A60CA6886 -:100400001343CB600022EBE6102325490A689A4388 -:100410000A60CA681343CB600022E1E69021C90557 -:100420000A681B4802400A60CA681343CB60002276 -:10043000D6E6C046005C00408F0F00009A02002004 -:100440005C0000204860004062000020980200200C -:1004500066000020990200209C020020A4020020D7 -:100460000010024064000020322000088081FFFF5D -:100470008FBFFFFFFFFFFEFFFFFFEFFFFFEFFFFF5D -:1004800000040048FFFFFFBFFFFFFBFFFFFEFFFF71 -:10049000FFFBFFFFFFBFFFFFFFFFFFFBFFFFFFEFC4 -:1004A000000C0048152B01D900F080FC180001F069 -:1004B000A9FD160021002C007D04370042004D00EC -:1004C0007D04580063006D0078007D047D04830086 -:1004D0008E009900A400AF00BA00C400CE009023A3 -:1004E000DB051968CF4801401960DA680240DA601C -:1004F000002275E690230121DB051A688A431A6001 -:10050000DA688A43DA6000226AE690230421DB0578 -:100510001A688A431A60DA688A43DA6000225FE662 -:1005200090231021DB051A688A431A60DA688A432F -:10053000DA60002254E690234021DB051A688A43E2 -:100540001A60DA688A43DA60002249E69023DB0504 -:100550001968B54801401960DA680240DA60002283 -:100560003EE69023DB051968B04801401960DA685F -:100570000240DA60002233E60421AD4B1A688A4358 -:100580001A60DA688A43DA60002229E69023DB05E4 -:100590001968A84801401960DA680240DA60002250 -:1005A0001EE69023DB051968A34801401960DA684C -:1005B0000240DA60002213E69023DB0519689F48A9 -:1005C00001401960DA680240DA60002208E69023F0 -:1005D000DB0519689A4801401960DA680240DA6060 -:1005E0000022FDE59023DB0519689648014019605B -:1005F000DA680240DA600022F2E59023DB05196830 -:10060000914801401960DA680240DA600022E7E5AB -:100610009023DB0519688D4801401960DA680240B3 -:10062000DA600022DCE50121814B1A688A431A60F6 -:10063000DA688A43DA600022D2E51021844B1A6816 -:100640008A431A60DA688A43DA600022C8E5902398 -:10065000DB0519687A4801401960DA680240DA60FF -:100660000022BDE5152B00D9A3E3180001F0CAFC58 -:1006700016001F002700A1032F0037003F00A10331 -:100680004800510058006100A103A1036A007300F3 -:100690007A0083008C0095009C00A30090228023A8 -:1006A000D20511685B020B431360002298E590228B -:1006B0000123D20511680B431360002290E59022BC -:1006C0000423D20511680B431360002288E59022B1 -:1006D0001023D20511680B431360002280E590229D -:1006E0004023D20511680B431360002278E5902265 -:1006F0008023D20511685B030B43136000226FE572 -:1007000090228023D20511685B010B431360002205 -:1007100066E50423464A11680B43136000225FE537 -:1007200090228023D2051168DB050B431360002261 -:1007300056E590228023D2051168DB020B4313603B -:1007400000224DE590228023D20511685B000B4307 -:100750001360002244E59021C9050B681A430A6022 -:1007600000223DE590228023D2051168DB010B4376 -:100770001360002234E590228023D2051168DB0447 -:100780000B43136000222BE590228023D2051168D1 -:100790005B050B431360002222E50123244A116804 -:1007A0000B43136000221BE51023294A11680B43F9 -:1007B0001360002214E59021C9050B681A430A60F2 -:1007C00000220DE5152B00D9F6E2180001F01AFC05 -:1007D00016001D002300F402420048004E00F402FF -:1007E000530059005E006500F402F4026C007200D0 -:1007F00078007E0085008C00910096008022902376 -:100800005200DB059A620022EAE490230122DB0514 -:100810009A620022E4E490230222DB059A6200221D -:10082000DEE4C046FFFFFEFFFFFFEFFFFFEFFFFF2D -:1008300000040048FFFFFFBFFFFFFBFFFFFEFFFFBD -:10084000FFFBFFFFFFBFFFFFFFFFFFFBFFFFFFEF10 -:10085000000C004890230422DB059A620022BFE4CA -:1008600090230822DB059A620022B9E49023DB057D -:100870009A620022B4E490234022DB059A620022AF -:10088000AEE40222CF4B9A620022A9E48022902398 -:100890001202DB059A620022A2E4802290239200D9 -:1008A000DB059A6200229BE490231022DB059A620A -:1008B000002295E490232022DB059A6200228FE437 -:1008C00090238022DB059A62002289E48022902313 -:1008D0009201DB059A62002282E480229023D201F9 -:1008E000DB059A6200227BE40122B64B9A62002269 -:1008F00076E40422B44B9A62002271E49023202211 -:10090000DB059A6200226BE4152B00D957E2180030 -:1009100001F078FB16001D002300550229002F006E -:10092000350055023A00400045004C005502550282 -:1009300053005900600067006F0077007D0083005E -:10094000802290235200DB059A61002248E4902324 -:100950000122DB059A61002242E490230222DB059A -:100960009A6100223CE490230422DB059A61002274 -:1009700036E490230822DB059A61002230E49023BC -:10098000DB059A6100222BE490234022DB059A616B -:10099000002225E402228B4B9A61002220E480226F -:1009A00090231202DB059A61002219E48022902331 -:1009B0009200DB059A61002212E490231022DB05ED -:1009C0009A6100220CE490232022DB059A61002228 -:1009D000FFF706FC90238022DB059A610022FFF7D7 -:1009E000FFFB802290239201DB059A610022FFF732 -:1009F000F7FB80229023D201DB059A610022FFF7EA -:100A0000EFFB01226F4B9A610022FFF7E9FB042202 -:100A10006D4B9A610022FFF7E3FB90232022DB0558 -:100A20009A610022FFF7DCFB02226270152B00D9CD -:100A3000B1E0180001F0D2FA0B151EAF273039AF24 -:100A4000434C545DAFAF677079828C969EA690231D -:100A50008022DB051B695200134063800022FFF7F0 -:100A6000BFFB90230122DB051B691340638000223A -:100A7000FFF7B6FB90230222DB051B69134063805E -:100A80000022FFF7ADFB90230422DB051B69134016 -:100A900063800022FFF7A4FB90230822DB051B697B -:100AA000134063800022FFF79BFB90238022DB052D -:100AB0001B69D200134063800022FFF791FB902353 -:100AC0004022DB051B69134063800022FFF788FB8F -:100AD00002223C4B1B69134063800022FFF780FB1E -:100AE0009023DB051B690022DB0BDB036380FFF730 -:100AF00077FB90238022DB051B6992001340638003 -:100B00000022FFF76DFB90231022DB051B691340C9 -:100B100063800022FFF764FB90232022DB051B6922 -:100B2000134063800022FFF75BFB90238022DB05EC -:100B30001B69134063800022FFF752FB9023802241 -:100B4000DB051B699201134063800022FFF748FB1D -:100B500090238022DB051B69D201134063800022B1 -:100B6000FFF73EFB0122174B1B69134063800022F5 -:100B7000FFF736FB0422144B1B69134063800022ED -:100B8000FFF72EFB90232022DB051B6913406380B7 -:100B90000022FFF725FB00238D226370FFF720FB67 -:100BA00080230A4ADB0251690B435361054A084915 -:100BB00013680B401360D168064B0B43D3600022CF -:100BC000FFF70EFB00040048000C00480010024034 -:100BD000AFAAFAFF50550500CE4ACF4913680B4023 -:100BE0001360D168CD4B0B43D3600022FFF7F8FAB6 -:100BF000C84AC94913680B4013600022FFF7F0FA96 -:100C0000C44AC64B11680B4313600022FFF7E8FA91 -:100C1000C049C3484A699B00024013434B6100220C -:100C2000FFF7DEFABB4B00221B699B08A370012370 -:100C30006370FFF7D5FA8023BA4A1B0351690B434F -:100C40005361B94AB94B11680B4313600022FFF797 -:100C5000C7FAB54AB54BD1680B43D3600022FFF702 -:100C6000BFFAB14AB24913680B4013600022FFF784 -:100C7000B7FAAD4AAD4B11680B4313600022FFF782 -:100C8000AFFAA94A53610022FFF7AAFA8023A54AC6 -:100C90001B0351690B4353619E4AA64B11680B43DA -:100CA00013609022D2051168A34B0B4313600022FE -:100CB000FFF796FA974A9F4BD1680B43D360902376 -:100CC000DB05D8689C490143D96011689B48014005 -:100CD00011601A689A490A401A600022FFF780FAE8 -:100CE000F82280268B4F98027969D2011040360293 -:100CF0005A02324089051043890D084390217861DA -:100D000010205F08C90538404A698E4FDB013A4020 -:100D100002438020C001034013434B610022FFF7D0 -:100D20005FFAC0237F4ADB0251690B435361794A62 -:100D3000804B11680B4313609022A023D2051168E9 -:100D40005B020B4313600022FFF74AFA714A794BAA -:100D5000D1680B43D3609023A021DB05D8684902FA -:100D60000143D96011687548014011601A687649DD -:100D70000A401A600022FFF733FA66489A06416972 -:100D8000120C8905890D0A4342619022C020D205C8 -:100D9000C000DB00516903406C4801400B435361C4 -:100DA0000022FFF71DFA8D22FFF71AFA8D22FFF7B6 -:100DB00017FA8D22FFF714FA8D22FFF711FA8D2210 -:100DC000FFF70EFAAF78012F0ED0002F06D0022FBA -:100DD0004DD0802F00D1BDE0962701E000F07AFDD4 -:100DE0005B4B1F70FFF7FDF900F074FD9023DB05EE -:100DF0001A68494C3A431A6080229F61196852026E -:100E00000A431A608022042152009A621A6800275D -:100E10000A431A6002229A6118680E3202431A606D -:100E20004022996119680A431A6008229A61802356 -:100E30003C49DB024A6913434B61364B1A68224036 -:100E40001A60D868354A1043D86018682040186086 -:100E5000D8680243DA6080234A691B0313434B615D -:100E6000314B324A19680A431A605F61B8E700F0F3 -:100E700031FD90230121DB051A68274F0A431A60D0 -:100E80001022996119680A431A60042240219A616C -:100E90001A680A431A6008229A618022186852016F -:100EA00002431A60802299611E49D20248690243B6 -:100EB0004A61184A106838401060D46817480443E3 -:100EC000D46014683C401460D4682043D060802013 -:100ED0004C690003204348611348144C07683C43A5 -:100EE000002704604761C0204C69C002204348616C -:100EF0001068104901431160A0211868490201439C -:100F0000196051698905890D51615A690F490A4073 -:100F10005A6165E700040048AFAAFAFF5055050082 -:100F200003FC0000001002400008004855555555CC -:100F3000AAAAAAAA0000505500010010FFFFAFAAFC -:100F4000FFFEFFEFEFBF0000FFBFFEFFFFF9000055 -:100F50009C020020012363709C469023402180273F -:100F6000DB0599621A687F013A431A60C046B948A6 -:100F70001C691A680C4002401A60DA680240DA60A4 -:100F8000F022002C37D11A6802401A60DA68174341 -:100F9000DF601A6916001A690492C0461A69059240 -:100FA000C046C0461A690692C046C046C0461A6985 -:100FB0000792C046C046C046C0461F691A68024034 -:100FC0001A60DA681040D86022000E4213D1049BE8 -:100FD00062460B420FD1059B02320B420BD1069B9E -:100FE00003320B4207D1079B04320B4203D1053277 -:100FF0007B0600D4D132984B00279A70F0E6AF7888 -:10100000E978A888022F1BD005D8002F0FD0012F18 -:1010100012D0A0270DE0822F3DD0832F40D0812F0A -:10102000F7D10123637000F07BFBA07006E000F0B5 -:1010300097FB2770FFF7D5F800F02AFB0027F8E7A9 -:101040009023DB051A68834E890032401A60DA6803 -:101050003240DA60814A5061814A9F621668814F4E -:1010600000B23743176056697F4F374039435161AB -:10107000802149009961002801DA01209862C04668 -:10108000C0469962012199614918996113687749AD -:101090000B401360D2E70123637000F025FBC4E727 -:1010A0000123FF276370802390206C4ADB00516985 -:1010B000C00539400B435361036951699BB20F402E -:1010C000802109013943516102698021180092B2DF -:1010D000104389001027084219D00B4018000A401D -:1010E000411E884111004F1EB941C0B2C9B200284B -:1010F00002D0112700290AD1002A02D11227002884 -:1011000005D1002B02D11327002900D1FF27A7709A -:1011100094E7AB78A888012B20D0002B03D0022BBA -:1011200017D0AA2312E04E4F82067969120C890566 -:10113000890D0A437A619021C027C905C000FF00CC -:101140004A6907404A4802403A434A612370FFF720 -:1011500048F8E97800F05CFA0023F7E7637000F0E4 -:101160007FFAA070F8E7AA781300303B2F2B19D82C -:10117000E878032800D9ECE000F030FF14021012E8 -:101180003C4B512A00D195E024D8312A54D00BD8B9 -:10119000002A34D0302A4AD0B42346E0364BF0E758 -:1011A000364BEEE7364BECE7332A4FD049D3502A83 -:1011B000F2D100222270063262701A7AA270DA78B6 -:1011C000E2705A7A22719A7A62719A78A2715B7C83 -:1011D000E37163E07F2A00D9A1E0702A00D379E0AF -:1011E000602A53D0612A5DD0522AD5D100221B88B3 -:1011F0002270A37002321B0A6270E3704EE0FF237C -:10120000204953540132102AFBD11A4A1C49D37089 -:1012100093701A4ACB70D370937001228B70164969 -:10122000CB708B70184B1A700023237036E0AA889D -:10123000110AD9721A73F7E7AA88110A59739A73B7 -:10124000F2E7AA88110AD9731A74EDE7AA885A74CA -:10125000EAE7C046FFEFFFFF9C02002000080048BD -:10126000000400485055050003FC0000AFAAFAFF37 -:10127000FFF9000014000020280000203C0000209E -:101280000000002088000020680000200023237058 -:1012900001336370AB88BD4AD35CA370BC4B1C6048 -:1012A000FEF79FFF0023237001336370B94B1B6867 -:1012B000DB78F2E70022227006326270DA7AA270DE -:1012C0001A7BE2705A7B22719A7B6271DA7BA2717F -:1012D0001B7C7DE7B04BAF495C682B787F2B00D936 -:1012E00035E16846AD4B007A18700868C378002B6A -:1012F0000ED000200290982B05D130E10020029002 -:10130000D02B00D12BE1A64B10301870FF2304E046 -:10131000A44B18609023C3706F3302931FE1072022 -:101320001040032815D800F059FE160218129E4BE3 -:10133000802AB3D3872A12D97032D2B2072AADD805 -:1013400000222270EA789A72AA881A80A6E7974B40 -:10135000EEE7B52369E7904BEAE7954BE8E7A88805 -:10136000E978C2B28F189446BE22102F2CDC0432CA -:10137000002929D0DF78033AFF2F25D19F78013249 -:10138000FF2F21D10022D7B2B9421FD866460022D2 -:101390004F01013F1F72874F7601000ABF199870F5 -:1013A000DA705A729A721A80DA721A735A739A73CE -:1013B000DA731A745A745F60744B63449854013240 -:1013C000D7B2B942FAD80022227067E766460132E6 -:1013D000B7186E4E013FF75DFF2FD4D0C122F3E75F -:1013E000AA78002A04D0402A07D0D222227056E7D9 -:1013F0002270A9886A4A117051E7002222700132D6 -:101400006270674A1278A27049E780239EE66A4AB2 -:101410005F4B1A601223FEF703FFD2B2012A11D0EC -:10142000002A09D0022A01D0FEF7FAFE584B634A7F -:101430001A60634BFEF7F4FE554B624A1A600423B0 -:10144000FEF7EEFE524B604A1A60604BFEF7E8FE74 -:10145000134208D16B78052B05D16B885C4A137059 -:101460005C4ADBB21380019B5B4A1B8801991340E5 -:101470005A4A13439BB20B800021594B1980019BA0 -:101480001B881A43574B1A40574B5A40019B92B244 -:101490001A80564BDA8F520507D58021544A1180A5 -:1014A0000022DA87534B019A138009B0F0BD1278FD -:1014B000402AEED1504A1278002AEAD14F4A1088C9 -:1014C000384AC0B211684D7A4F68DAB2AC18E4B24B -:1014D000904218D84A7A82184A72304A13781B1AF6 -:1014E000DBB21370002B01D19833CB70019B1A88AB -:1014F0003A4B1343424A1A40C0239B015340019A7E -:101500009BB21380C5E73F4A9A18127801333A55C7 -:10151000DBE7019B1B881B06BBD5019B3A4A1B8856 -:101520001340802212021343019A1380374B1B7819 -:10153000802B01D1FEF785FE254A1378002BA8D019 -:1015400080210B432A490B8000231370A1E7086810 -:10155000C378D82B00D0D1E680234468C3700B68D1 -:1015600000215972DB78902B00D097E6712A00D0C9 -:1015700094E60C4BAA881B6859680A70AA885968B7 -:10158000120A4A705A7A02325A7287E6880000209C -:10159000A40200205000002000000020580000207D -:1015A0006800002054000020140000203C000020AF -:1015B0002800002098000020202000089C2000081F -:1015C0001E03000044200008482000082A030000F1 -:1015D00060000020506000408F8EFFFF8080FFFF82 -:1015E00002600040BFBFFFFF30300000065C0040DB -:1015F0004C5C004020320000990200200660004050 -:101600008FBFFFFF486000400F8FFFFF9802002050 -:101610000E4B0F4A58610F4B8900186802431A603D -:101620005A690D4802401143902259610820012156 -:10163000D20590629162C046C046C046C0469061E5 -:1016400091611A6805490A401A607047000800480D -:10165000505505000004004803FC0000AFAAFAFF43 -:10166000094B0122586190230421DB059A6299629B -:10167000C046C046C046C04604480069996180081B -:10168000C0B29A617047C046000800480004004894 -:101690000F4B984202D880231B0218430D4B0E4A71 -:1016A00058610E4B8900186802431A605A690C4849 -:1016B000024011435961C04690220821D20591622F -:1016C000C04691611A6807490A401A607047C046CF -:1016D000FF1F0000000800485055050000040048A6 -:1016E00003FC0000AFAAFAFF0A4B984202D88023FD -:1016F0001B021843084B042258619023DB059A62B1 -:10170000C046C046C046C046044908699A61800880 -:10171000C0B27047FF1F00000008004800040048E6 -:101720000D4B8022586190235200DB0500B29A6174 -:10173000002801DAFF3A9A62C046C046C046C04659 -:10174000064B8022186990235200DB059A628008BC -:10175000FF3AC0B29A617047000800480004004890 -:10176000114B124A10B558611068114B89000343A0 -:10177000136053690F48104C034019439023516183 -:101780008021DB05186849010843186040209862F1 -:10179000186820401860D8680143D9601368074969 -:1017A0000B40136010BDC04600080048000400480C -:1017B0005055050003FC0000FFEFFFFFAFAAFAFF42 -:1017C000022907D10F4B104A984218D0904209D1F4 -:1017D000180007E0032906D10A4B0B490B4A98422F -:1017E0000BD1080070470429FCD1064B064A9842E9 -:1017F00005D006499042F4D0054A8842E6D110004F -:10180000F0E7C0460000002014000020280000205F -:101810003C000020224B10B51968224B224C1A883C -:1018200052085200505A214A10801A88023292B24D -:101830001A8052085200505A1D4A10801A880232EB -:1018400092B21A8052085200505A1A4A10801A88CE -:101850001948023292B21A8052085200515A174A5D -:1018600011801A882188023292B21A808A4210D9D5 -:1018700008318A1A92B2028022881A801049114BCC -:101880000A881343104A1A40302353409BB20B80FE -:1018900010BD0E4C21888A42EAD808230380EDE768 -:1018A000A402002066000020640000204060004088 -:1018B00042600040446000400260004046600040DA -:1018C000005C00408080FFFFBF8FFFFF62000020B0 -:1018D000FEE70000BC22444BD203996A70B50A436C -:1018E0009A629A6A4149424C0A409A628022596936 -:1018F00012030A435A613F4A3F4910683F4E08436A -:1019000010601068204080241060D068E402014319 -:10191000D1605A6922435A61394A116831401160D5 -:10192000D56838490D43D560106830401060D068E4 -:101930000143D160B02158694903014359619023A3 -:10194000DB0519683048014019608021D8684902D8 -:1019500001430120D960196881431960D9680143A6 -:10196000D96004211D688D431D60DD680D43DD6075 -:1019700010251E68AE431E60DE683543DD604025DD -:101980001E68AE431E60DE683543DD601D681F4E75 -:1019900035401D608025DE686D033543DD601D68C0 -:1019A0001B4E35401D608025DE68ED053543DD604A -:1019B0001D68184E35401D60DD682C43DC601468DE -:1019C000154D84431460D4682043D0601C682C40BB -:1019D0001C60D8682840D86013688B431360D368B4 -:1019E0001943D16070BDC04600100240FFFFA1FF47 -:1019F000AAAAAAAA0008004855555555AFAAFAFF49 -:101A00000004004850550500FFFFFEFFFFFFEFFFF9 -:101A1000FFFFFFBFFFFFFBFFFFEFFFFF9022D24B57 -:101A200012031968F0B50A431A60802287B0920247 -:101A300019681142FCD0012259680A435A60802279 -:101A4000596852020A435A6080225968D2020A43F6 -:101A50005A608022196852040A431A608022920454 -:101A600019681142FCD080211A6B0A431A63802244 -:101A7000D86912040243DA6162B60220BB4B4025EA -:101A8000DA8FBB4C8243DA87DA8F01388243DA87F8 -:101A90000022B848C2872280B74C2580B74C083551 -:101AA00025808025B64C6D012580B64C2180C287EB -:101AB000B549B64A11808021B54A090611608022D5 -:101AC000D98FD2000A43DA87B24AB34B1A80FFF7A4 -:101AD00001FFB24E2023327811009943D2292ED132 -:101AE000AF49B048C978C3780224FF2904D1FF3B2D -:101AF0001C00631E9C41E4B2AB4BDB78FF2B00D093 -:101B00000324AA4BDB78FF2B00D00424A84BA94F59 -:101B10001C703860D22A12D10023012505E0210073 -:101B2000FFF74EFE01230135EDB2A542F7D3002B9E -:101B300000D0386080223B68DA70D023337033786D -:101B4000F22B05D10022023B33709A4B1B68DA70EE -:101B50003578D02D00D0D5E1964E3068C378802BF3 -:101B600000D0CFE1924B1978FFF72AFE00233060B6 -:101B7000437204000388C570C07AD9B210380428B3 -:101B800000D9BDE100F02AFA030C464A3A00802051 -:101B9000237AA2780143606800F0ECF960722DE0CE -:101BA000854B6668A078257A5A691F292FD8802727 -:101BB00039430902D2B21143902259610421FF270F -:101BC000D20591625A693F023A407C4902435A6108 -:101BD0008C460022C0466146096901308908B1542B -:101BE0005969C0B2394001320143D2B259619542BC -:101BF000F0D290230421DB0599616272D8226D4BEB -:101C00001B681988DA709A7A52181A807AE1D2B26F -:101C10000902D0E7237AA2786020BBE76748DB0996 -:101C200045699A06AD05AD0D120C2A43C0269025D4 -:101C30004261ED05F600DB006A693340604E67687B -:101C4000324013436B61237AA27801935A4B5E6949 -:101C50000296802631436E46367A09023143596135 -:101C60000421FF26A9620339A9625969360231406D -:101C7000114359610021C046C046C046C0460569AF -:101C80000132AD087D545D69D2B2354015435D61C6 -:101C90000131019DC9B28D42EDD290230422DB05B2 -:101CA0009A61033A9A616172A8E78024264336025A -:101CB00033B27D7A01933B7AECB2AB4207D27C72AD -:101CC000F4233A88FB70BB7A9B183B8001E7AA217A -:101CD0003C48FFF745FD55213B48FFF741FDA0215A -:101CE0003848FFF73DFD019BEEB21E437B68B6B25C -:101CF000195D3000FFF734FDC0463000FFF710FDDE -:101D000004003000FFF70CFD8442F5D10135ADB27F -:101D1000D1E7360233B27D7A01933B7AECB2AB4223 -:101D2000CDD3AA212948FFF7B3FC55212848FFF756 -:101D3000AFFCA0212548FFF7ABFC019BEEB21E4390 -:101D40007B68B6B2195D3000FFF7A2FCC0463000D8 -:101D5000FFF7CAFC04003000FFF7C6FC8442F5D14F -:101D60000135ADB2D9E7C04600100240025C004028 -:101D7000505C0040065C0040006000400460004091 -:101D8000066000404C5C004020320000005C0040D7 -:101D900000E100E00080FFFF585C00406800002088 -:101DA0001400002000000020280000203C0000203B -:101DB000A80200205000002000080048000400484D -:101DC000FFF9000055550000AA2A00005515000033 -:101DD000AA0A00005D4DDB0969699A068905890D2B -:101DE000120C0A439024C0216A61E405C900DB009B -:101DF00062690B40564957480A40134363617B7A36 -:101E0000AA2101934023A362FFF702FC5521524807 -:101E1000FFF7FEFB20214F48FFF7FAFB80231E430C -:101E2000360233B205936B461B79019A03933B7AD2 -:101E3000934213D26B461B7B90217B720020FFF7ED -:101E4000E7FB00210800FFF7E3FBF0210020FFF78C -:101E5000DFFB90234022DB059A6131E72A683F4B84 -:101E600013432B606B693E4A1340A0229200134338 -:101E70006B6108220123A262A362C046C046C0462D -:101E8000C046A261A3612B68364A402613402B60EE -:101E90006B46059A1B7913439BB20293039A7B68A6 -:101EA0000298995CFFF7B4FBA661C0460298FFF761 -:101EB000D7FB039A7B680490A6629B5C049A9342CA -:101EC00007D0A6610298FFF7CBFB049BA66298425D -:101ED00004D1019B01339BB20193A4E7C046C046E5 -:101EE000C046C046C046C046C046C046C046C046C2 -:101EF000C046C046A6610298FFF7B2FB0490E1E736 -:101F0000C323E370184B1C78F02C00D0E1E5174D8B -:101F10002F68FB78982B00D0DBE5154B380019783B -:101F2000FFF74EFC00232860C370F87A3B88103816 -:101F3000FC70DEB2042806D800F05AF8B7FEEBFEBB -:101F4000C2FE4CFFC2FEC323FB70C2E50004004882 -:101F5000FFF90000AA0A00005505000050550500D1 -:101F600003FC0000AFAAFAFF680000205000002028 -:101F7000A8020020F0B5174C050060690E02C0B23F -:101F800030436061802690207600C00549B28661AA -:101F9000002901DA01218162FF26002061693602F1 -:101FA000314011430C4F6161C046396901328908E3 -:101FB00029546169D2B2314001301143C0B261612C -:101FC0009842F1D990238022DB0552009A62FF3AB1 -:101FD0009A61F0BD000800480004004802B4714650 -:101FE00049084900095C49008E4402BC7047C0465C -:101FF00003B47146490840004900095E49008E4417 -:1020000003BC704703B47146490840004900095AAF -:1020100049008E4403BC7047F8B5C046F8B5C046C9 -:1020200009021200010100803209040000000000D2 -:10203000000012010002FF000008C016DC050002CB -:1020400001020001040309042A0349006E0066002E -:1020500069006E006900740065004E006500730041 -:102060004C0069007600650073002E0063006F006D -:102070006D000000000000000000000000000000F3 -:102080000000000000000000000000000000000050 -:102090000000000000000000000000001E034900D6 -:1020A0004E004C00200052006500740072006F006A -:1020B0002D00500072006F0067000000000000005B -:1020C0000000000000000000000000000000000010 -:0820D000000000000000000008 +:1000E000FCDC00F0BDFA00004C37000800000020E6 +:1000F0003004002030040020E8060020FEE7C0465F +:10010000002302000002002A04D1002B01D080232A +:1001100018437047DB43511EDBB20A40F3E700008F +:100120000E4B0F4A58610F4B8900186802431A6042 +:100130005A690D480240114390225961082001215B +:10014000D20590629162C046C046C046C0469061EA +:1001500091611A6805490A401A6070470008004812 +:10016000505505000004004803FC0000AFAAFAFF48 +:10017000094B0122586190230421DB059A629962A0 +:10018000C046C046C046C046044800699961800820 +:10019000C0B29A617047C046000800480004004899 +:1001A0000F4B984202D880231B0218430D4B0E4A76 +:1001B00058610E4B8900186802431A605A690C484E +:1001C000024011435961C04690220821D205916234 +:1001D000C04691611A6807490A401A607047C046D4 +:1001E000FF1F0000000800485055050000040048AB +:1001F00003FC0000AFAAFAFF0A4B984202D8802302 +:100200001B021843084B042258619023DB059A62B5 +:10021000C046C046C046C046044908699A61800885 +:10022000C0B27047FF1F00000008004800040048EB +:100230000D4B8022586190235200DB0500B29A6179 +:10024000002801DAFF3A9A62C046C046C046C0465E +:10025000064B8022186990235200DB059A628008C1 +:10026000FF3AC0B29A617047000800480004004895 +:10027000114B124A10B558611068114B89000343A5 +:10028000136053690F48104C034019439023516188 +:100290008021DB05186849010843186040209862F6 +:1002A000186820401860D8680143D960136807496E +:1002B0000B40136010BDC046000800480004004811 +:1002C0005055050003FC0000FFEFFFFFAFAAFAFF47 +:1002D000022907D10F4B104A984218D0904209D1F9 +:1002E000180007E0032906D10A4B0B490B4A984234 +:1002F0000BD1080070470429FCD1064B064A9842EE +:1003000005D006499042F4D0054A8842E6D1100053 +:10031000F0E7C04634040020480400205C040020BC +:1003200070040020224B10B51968224B224C1A8809 +:1003300052085200505A214A10801A88023292B252 +:100340001A8052085200505A1D4A10801A880232F0 +:1003500092B21A8052085200505A1A4A10801A88D3 +:100360001948023292B21A8052085200515A174A62 +:1003700011801A882188023292B21A808A4210D9DA +:1003800008318A1A92B2028022881A801049114BD1 +:100390000A881343104A1A40302353409BB20B8003 +:1003A00010BD0E4C21888A42EAD808230380EDE76D +:1003B000E00600209A0400209804002040600040DD +:1003C00042600040446000400260004046600040DF +:1003D000005C00408080FFFFBF8FFFFF960400207D +:1003E000FEE70000F7B502240F0004430421A0201B +:1003F0001D4E1E4D24040192338821432A68C001FA +:1004000001F0BEFF01282CD1083004437830338836 +:100410002A682100FF3001F0B3FF012821D1338881 +:100420002A682100002001F0ABFF012819D1380A09 +:10043000FFF766FE33882A68210001F0A1FF01283A +:100440000FD1F8B2FFF75CFE33882A68210001F073 +:1004500097FF0198FFF754FE33882A68210001F0C6 +:100460008FFFC0B2FEBDC046DC060020D8060020CB +:10047000F7B502250090019105430421C0201F4FCC +:100480001F4E2D043B8829433268800101F078FF1C +:10049000040001282FD10923C0201D4332683B8866 +:1004A0002900400001F06CFF0400012823D13B88A3 +:1004B00032682900002001F063FF040001281AD1EE +:1004C000019B180AFFF71CFE3B883268290001F0E7 +:1004D00057FF040001280ED16B461879FFF710FE74 +:1004E000009A3B8814430922E1B20904114332689F +:1004F00001F046FF0400A0B2FEBDC046DC060020AD +:10050000D80600200023834200D17047C046C04671 +:1005100001339BB2F7E70000BC22444BD203996A37 +:1005200070B50A439A629A6A4149424C0A409A62FB +:100530008022596912030A435A613F4A3F491068B1 +:100540003F4E084310601068204080241060D0683F +:10055000E4020143D1605A6922435A61394A116861 +:1005600031401160D56838490D43D560106830407E +:100570001060D0680143D160B0215869490301433C +:1005800059619023DB0519683048014019608021CA +:10059000D868490201430120D96019688143196074 +:1005A000D9680143D96004211D688D431D60DD6851 +:1005B0000D43DD6010251E68AE431E60DE683543C6 +:1005C000DD6040251E68AE431E60DE683543DD6099 +:1005D0001D681F4E35401D608025DE686D03354364 +:1005E000DD601D681B4E35401D608025DE68ED0511 +:1005F0003543DD601D68184E35401D60DD682C43B5 +:10060000DC601468154D84431460D4682043D060C6 +:100610001C682C401C60D8682840D86013688B4345 +:100620001360D3681943D16070BDC046001002400A +:10063000FFFFA1FFAAAAAAAA0008004855555555D0 +:10064000AFAAFAFF0004004850550500FFFFFEFF67 +:10065000FFFFEFFFFFFFFFBFFFFFFBFFFFEFFFFF0E +:100660009022D64B12031968F0B50A431A60802213 +:1006700087B0920219681142FCD0012259680A43DE +:100680005A608022596852020A435A60802259688F +:10069000D2020A435A608022196852040A431A603F +:1006A0008022920419681142FCD011210220C44A10 +:1006B00011605A680E398A4302435A601A6B7D31C1 +:1006C0000A431A638022DC6912042243DA6162B6AB +:1006D000BC4B4025DA8FBC4C8243DA87DA8F013875 +:1006E0008243DA870022B948C2872280B84C25802D +:1006F000B84C083525808025B74C6D012580B74C56 +:100700002180C287B649B74A11808021B64A0906BE +:1007100011608022D98FD2000A43DA87B34AB44BE2 +:100720001A80FFF7F9FEB34E202332781100994367 +:10073000D2292ED1B049B148C978C3780224FF2903 +:1007400004D1FF3B1C00631E9C41E4B2AC4BDB7840 +:10075000FF2B00D00324AB4BDB78FF2B00D004240D +:10076000A94BAA4F1C703860D22A12D10023012550 +:1007700005E02100FFF7ACFD01230135EDB2A542F4 +:10078000F7D3002B00D0386080223B68DA70D0238A +:1007900033703378F22B05D10022023B33709B4B30 +:1007A0001B68DA703578D02D00D0EEE1974E3068B6 +:1007B000C378802B00D0E8E1934B1978FFF788FDD0 +:1007C00000233060437204000388C570C07AD9B238 +:1007D0001038042800D9D6E102F0BAFE030C464ACC +:1007E0003A008020237AA2780143606801F08EFDF0 +:1007F00060722DE0864B6668A078257A5A691F29B9 +:100800002FD8802739430902D2B21143902259616F +:100810000421FF27D20591625A693F023A407D497F +:1008200002435A618C460022C04661460969013084 +:100830008908B1545969C0B2394001320143D2B27A +:1008400059619542F0D290230421DB0599616272CF +:100850006E4B1B6819889A7A52181A80D822DA705F +:1008600093E1D2B20902D0E7237AA2786020BBE7F5 +:100870006848DB0945699A06AD05AD0D120C2A439F +:10088000C02690254261ED05F600DB006A69334021 +:10089000614E6768324013436B61237AA2780193FB +:1008A0005B4B5E690296802631436E46367A0902BA +:1008B000314359610421FF26A9620339A9625969AC +:1008C00036023140114359610021C046C046C0463E +:1008D000C04605690132AD087D545D69D2B235402C +:1008E00015435D610131019DC9B28D42EDD2902366 +:1008F0000422DB059A61033A9A616172A8E78024B9 +:100900002643360233B27D7A01933B7AECB2AB4296 +:1009100007D27C72F4233A88FB70BB7A9B183B8029 +:1009200001E7AA213D48FFF7A3FC55213C48FFF70A +:100930009FFCA0213948FFF79BFC019BEEB21E43B0 +:100940007B68B6B2195D3000FFF792FCC0463000FC +:10095000FFF76EFC04003000FFF76AFC8442F5D11B +:100960000135ADB2D1E7360233B27D7A01933B7ADD +:10097000ECB2AB42CDD3AA212A48FFF711FC552196 +:100980002948FFF70DFCA0212648FFF709FC019B31 +:10099000EEB21E437B68B6B2195D3000FFF700FC73 +:1009A000C0463000FFF728FC04003000FFF724FCAD +:1009B0008442F5D10135ADB2D9E7C04600100240FE +:1009C00000200240025C0040505C0040065C004099 +:1009D0000060004004600040066000404C5C004045 +:1009E00020320000005C004000E100E00080FFFFDA +:1009F000585C00409C04002048040020340400207F +:100A00005C040020700400203004002084040020D6 +:100A10000008004800040048FFF900005555000098 +:100A2000AA2A000055150000AA0A0000694CDB093B +:100A300061699A068905890D120C0A439025C02127 +:100A40006261ED05C900DB006A690B4062496348D9 +:100A50000A4013436B617B7AAA2101936B469B8802 +:100A600004934023AB62FFF75BFB55215C48FFF723 +:100A700057FB20215948FFF753FB80231E433602C2 +:100A800033B205933B7A049A934213D26B461B7997 +:100A900090217B720020FFF743FB00210800FFF745 +:100AA0003FFBF0210020FFF73BFB90234022DB05BA +:100AB0009A612FE722684B4B1343236063694A4ACC +:100AC0001340A02292001343636108220123AA620B +:100AD000AB62C046C046C046C0464026AA61AB6174 +:100AE0002368424A13402360019A059B13439BB23B +:100AF00002937B680298995CFFF712FBAE61C046D7 +:100B00000298FFF735FB7B68019A0390AE62985C10 +:100B1000039B834207D0AE610298FFF729FB039B3A +:100B2000AE62984216D17B68019A9B5C834223D1C6 +:100B300013000133DBB20193049B226801339BB2A3 +:100B4000049304239A432260E2681343E360022380 +:100B5000A36297E7C046C046C046C046C046C046EE +:100B6000C046C046C046C046C046C046AE610298B8 +:100B7000FFF7FEFA0390CFE70423226813432360B4 +:100B80000223A3617EE7C323E370194B1C78F02C8A +:100B900000D0C8E5174D2F68FB78982B00D0C2E530 +:100BA000154B38001978FFF793FB00232860C370BA +:100BB000F87A3B881038FC70DEB2042806D802F0C0 +:100BC000D1FC9EFED2FEA9FE35FFA9FEC323FB7019 +:100BD000A9E5C04600040048FFF90000AA0A000089 +:100BE000550500005055050003FC0000AFAAFAFFB0 +:100BF0009C0400208404002030040020F0B5D74A73 +:100C000089B0138801921BB2002B01DB00F0F4FCC9 +:100C10001388D34A1A4080231343019A1380019BFF +:100C20001A8880231B011340CE4A01D100F0B2FC88 +:100C3000CD49CE4D0B68CE4801330B602B787F2118 +:100C40001C008C43CB49CC4E0C70E98801800020FD +:100C50003080602633401370C84A1470834221D01C +:100C6000FF23C74CCAB22370C64B60701C6002924F +:100C700068780138072801D900F03AFC02F07CFCC2 +:100C800008004200A4012D02D202380423045602B7 +:100C9000621CA988A87800F02FFD20706A46BA4B24 +:100CA00012891A802B78602259B2002901DB00F0EA +:100CB00042FC134016D16A78062A0FD16A88110ABD +:100CC000022901D100F016FC032901D100F018FC23 +:100CD000AE4A012901D100F00EFC03936A46AA4BEB +:100CE00092891A80019B1A88A94B1343A94A1A407A +:100CF000C0239B015340019A9BB21380FFF712FB64 +:100D000000F03AFCAE78022E00D1A7E005D8002E04 +:100D10005CD0012E5FD096265AE0032E00D1F0E081 +:100D2000802EF8D19023012740218026DB056770B3 +:100D300099621A68760132431A60C04696481C6967 +:100D40001A680C4002401A60DA680240DA60F02249 +:100D5000002C38D11A6802401A60DA681643DE6047 +:100D60001A6904921A690592C0461A690692C04629 +:100D7000C0461A699446C046C046C0461A690792E2 +:100D8000C046C046C046C0461E691A6802401A6086 +:100D9000DA681040D860049B22000B4213D1059BF7 +:100DA0003A000B420FD1069B02320B420BD1634635 +:100DB00003320B4207D1079B04320B4203D10532A9 +:100DC000730600D4D1326E4B9A70A3E0FFF7A4FBF8 +:100DD0006B4B1E7062E7FFF79FFB9023DB051A68E1 +:100DE0006E4C32431A6080229E61196852020A4397 +:100DF0001A608022042152009A621A6800260A436F +:100E00001A6002229A6118680E3202431A60402268 +:100E1000996119680A431A6008229A61802360491F +:100E2000DB024A6913434B615E4B1A6822401A6029 +:100E3000D8685D4A1043D860186820401860D868A8 +:100E40000243DA6080234A691B0313434B61574B0B +:100E5000574A19680A431A605E61B9E7FFF75CFBFD +:100E600090230121DB051A684C4E0A431A601022B8 +:100E7000996119680A431A60042240219A611A682C +:100E80000A431A6008229A61802299611968520106 +:100E90000A431A6080224249D202486902434A61E9 +:100EA000404A106830401060D4683F480443D46022 +:100EB000146834401460D4682043D06080204C69AA +:100EC0000003204348613948394C06683443002602 +:100ED00004604661C0204C69C0022043486110682C +:100EE000344901431160A021186849020143196087 +:100EF00051698905890D51615A692F490A405A6122 +:100F000066E72B79022B07D0032B03D09726012B02 +:100F100000D05DE700265BE7B023214A5B035169FF +:100F20000B4353619023DB051A681B490A401A6082 +:100F30008022D96852011143D96040215868084382 +:100F4000586099611868024308201A601B4A1070A3 +:100F50001B4A13601B4B1980DCE7C046005C004055 +:100F60008F0F0000CE060020900400204860004053 +:100F700096040020CC0600209A040020CD06002014 +:100F8000D0060020E006002098040020A6350008C6 +:100F90008081FFFF8FBFFFFFFFEFFFFFAFAAFAFFC8 +:100FA00000100240000400485055050000080048A9 +:100FB0005555555500005055FFF90000DE0600203C +:100FC000D8060020DC060020AE78E978A888022E3A +:100FD0001AD005D8002E0FD0012E11D0A0260DE07A +:100FE000822E3CD0832E3FD0812EF7D10123637017 +:100FF000FFF71EF9A07005E0FFF73AF926704DE6FD +:10100000FFF7CEF80026F9E79023DB051A68C04FFA +:1010100089003A401A60DA683A40DA60BD4A5061A5 +:10102000BD4A9E621768BD4E00B23E4316605769C6 +:10103000BB4E3E40314351618021490099610028F7 +:1010400001DA01209862C046C04699620121996187 +:10105000491899611368B3490B401360D2E7012323 +:101060006370FFF7C9F8C5E70123FF26637080238B +:101070009020A84ADB005169C00531400B43536101 +:10108000036951699BB20E408021090131435161CE +:1010900002698021180092B210438900102608428C +:1010A00019D00B4018000A40411E884111004E1E05 +:1010B000B141C0B2C9B2002802D0112600290AD11C +:1010C000002A02D11226002805D1002B02D11326B6 +:1010D000002900D1FF26A67094E7AB78A888012BE1 +:1010E0001FD0002B03D0022B16D0AA2312E08A4E69 +:1010F00082067169120C8905890D0A43726190227A +:10110000C026D205F600C00051693040864E3140FD +:10111000084350612370C1E5E978FFF701F8002327 +:10112000F8E76370FFF724F8A070F8E7AE78EA7884 +:10113000A988112E6FD007D8012E48D0002E0DD0CF +:10114000022E53D0822659E7212E5AD0222E5ED06D +:10115000122EF7D10223102063705FE0734F32002C +:101160003978042000F0C8FA3020FFF7CBF93200BC +:101170003978052000F0C0FA04266D48FFF7C2F95F +:1011800039780022042000F0B7FA013E6948FFF7E1 +:10119000B9F9B6B239780022052000F0ADFA002E78 +:1011A000EBD104366448FFF7ADF93978002204200A +:1011B00000F0A2FA013E6148FFF7A4F9B6B239780F +:1011C0000022052000F098FA002EEBD116E7574ECA +:1011D00000223178042000F08FFA3020FFF792F9D6 +:1011E00031780022052000F087FA0BE70123544AEA +:1011F0006370544B12681B885349002001F0C0F8FB +:10120000F8E6012300206370FFF7ECF8F2E6012313 +:1012100010206370F8E7022300206370FFF728F9BD +:101220006080EFE6AA781300303B2F2B19D8E878BE +:10123000032800D9F8E002F08BF914021012434B96 +:10124000512A00D1A1E024D8312A54D00BD8002A49 +:1012500034D0302A4AD0B42346E03D4BF0E73D4B32 +:10126000EEE73D4BECE7332A4FD049D3502AF2D179 +:1012700000222270063262701A7AA270DA78E27066 +:101280005A7A22719A7A62719A78A2715B7CE371C0 +:1012900070E07F2A00D9ADE0702A00D385E0602A93 +:1012A00060D0612A69D0522AD5D100221B882270D1 +:1012B000A37002321B0A6270E3705BE0FF232749D0 +:1012C00053540132102AFBD1204A2349D370937022 +:1012D000204ACB70D370937001228B701C49CB7065 +:1012E0008B701F4B1A700023237043E0AA88110AE9 +:1012F000D9721A73F7E7AA88110A59739A73F2E739 +:10130000AA88110AD9731A74EDE7AA885A74EAE711 +:10131000FFEFFFFF0008004800040048505505009B +:1013200003FC0000AFAAFAFFFFF90000DE06002070 +:101330006D0800006A0800002C0400002904000069 +:10134000D8060020DC06002004000200480400202B +:101350005C0400207004002034040020BC04002041 +:101360009C0400200023237001336370AB88C14AC2 +:10137000D35CA370C04B1C6090E400232370013346 +:101380006370BE4B1B68DB78F3E7002222700632E5 +:101390006270DA7AA2701A7BE2705A7B22719A7BB1 +:1013A0006271DA7BA2711B7C71E7B54BB3495C6853 +:1013B0002B787F2B00D93DE16846B24B007A18703C +:1013C0000868C378002B0ED000200290982B05D11E +:1013D00038E100200290D02B00D133E1AA4B10302D +:1013E0001870FF2304E0A94B18609023C3706F337B +:1013F000029327E107201040032815D802F0A8F82F +:1014000016021812A24B802AB4D3872A12D970323E +:10141000D2B2072AAED800222270EA789A72AA883D +:101420001A80A7E79B4BEEE7B5235DE7944BEAE70D +:10143000994BE8E7AA8804926A46E978177CBE22AD +:10144000CE19102E34DC0432002931D0DE78033A74 +:10145000FF2E2DD19E780132FF2E29D1854E0022FC +:10146000B446D6B2B14225D8049A4E01120A04926B +:101470006A46013E127C1E727E0130009A70002284 +:10148000864EDA7036185A729A721A80DA721A73A5 +:101490005A739A73DA731A745A745E603B00634429 +:1014A0006846007C98540132D6B2B142F8D8002286 +:1014B00022705FE760460132BE18013E865DFF2E56 +:1014C000CFD0C122F4E7AA78002A04D0402A07D05E +:1014D000D22222704FE72270A9886B4A11704AE726 +:1014E0000022227001326270674A1278A27042E7CD +:1014F00080230FE66A4A604B1A601223FFF7EDFB68 +:10150000D2B2012A11D0002A09D0022A01D0FFF755 +:10151000E4FB594B634A1A60634BFFF7DEFB564B03 +:10152000624A1A600423FFF7D8FB534B604A1A60E3 +:10153000604BFFF7D2FB134208D16B78052B05D126 +:101540006B885D4A13705D4ADBB21380019B5C4A75 +:101550001B88019913405B4A13439BB20B80002107 +:10156000594B1980019B1B881A43584B1A40584B02 +:101570005A40019B92B21A80564BDA8F520507D51A +:101580008021554A11800022DA87544B019A13803A +:1015900009B0F0BD1278402AEED1514A1278002AE3 +:1015A000EAD1504A1188394AC9B21268557A566848 +:1015B000D8B24419E4B2814218D8537A3148CB18D2 +:1015C000537203785B1ADBB20370002B01D198339E +:1015D000D370019B1A883B4B1343434A1A40C023E4 +:1015E0009B015340019A9BB21380C5E73F481818EE +:1015F000007801333055DBE7019B1B881B06BBD508 +:10160000019B3B4A1B881340802212021343019A1C +:101610001380384B1B78802B01D1FFF76FFB264AD4 +:101620001378002BA8D080210B432B490B8000237B +:101630001370A1E70868C378D82B00D0C9E68023CF +:101640004468C3700B6800215972DB78902B00D07E +:1016500090E6712A00D08DE60C4BAA881B68596869 +:101660000A70AA885968120A4A705A7A02325A7263 +:1016700080E6C046BC040020E00600208404002070 +:10168000340400208C0400209C04002088040020E6 +:1016900048040020700400205C040020CC040020DA +:1016A00094350008103600081E030000B835000805 +:1016B000BC3500082A03000094040020506000405C +:1016C0008F8EFFFF8080FFFF02600040BFBFFFFFE3 +:1016D00030300000065C00404C5C004020320000CE +:1016E000CD060020066000408FBFFFFF486000402D +:1016F0000F8FFFFFCC06002030B50300192801D959 +:1017000000F0E6FD01F038FF1A0022001801130274 +:10171000DF0276030104CF04E104ED04F504FD04C7 +:10172000070510051E0526052E0536053B054F0548 +:101730006505A205B705CE05C702D302B022C94987 +:101740005203486902434A61180030BD152901D986 +:1017500000F0C1FD080001F00FFF160023002E006D +:10176000BE05390044004F00BE055C0069007300EF +:101770008000BE05BE058D009A00A700B400C10020 +:10178000CE00D800E2009023DB051A68B6490A4073 +:101790001A608022D96852020A43DA600023D3E734 +:1017A00090230122DB05196891431960D9680A4327 +:1017B000DA600023C8E790230422DB05196891430F +:1017C0001960D9680A43DA600023BDE7902310222C +:1017D000DB05196891431960D9680A43DA60002370 +:1017E000B2E790234022DB05196891431960D9685C +:1017F0000A43DA600023A7E79023DB051A689B49B8 +:101800000A401A608022D96852030A43DA60002332 +:101810009AE79023DB051A6895490A401A608022EE +:10182000D96852010A43DA6000238DE70422914B04 +:10183000196891431960D9680A43DA60002383E785 +:101840009023DB051A688C490A401A608022D96807 +:10185000D2050A43DA60002376E79023DB051A6895 +:1018600086490A401A608022D968D2020A43DA60A7 +:10187000002369E79023DB051A6881490A401A6052 +:101880008022D96852000A43DA6000235CE7902383 +:10189000DB051A687B490A401A608022D968D200A9 +:1018A0000A43DA6000234FE79023DB051A68764984 +:1018B0000A401A608022D968D2010A43DA60002304 +:1018C00042E79023DB051A6870490A401A608022BB +:1018D000D968D2040A43DA60002335E79023DB0598 +:1018E0001A686B490A401A608022D96852050A4377 +:1018F000DA60002328E701225E4B196891431960E2 +:10190000D9680A43DA6000231EE71022614B196888 +:1019100091431960D9680A43DA60002314E79023E1 +:10192000DB051A6857490A401A608022D968D2003C +:101930000A43DA60002307E7152901D900F0CEFC3D +:10194000080001F019FE160021002C00CB0437001E +:1019500042004D00CB04580063006D007800CB04BA +:10196000CB048300A900B400BF00CA00D500DF008B +:10197000E9009023DB0519683B4801401960DA68EB +:101980000240DA600023DFE690230121DB051A68BC +:101990008A431A60DA688A43DA600023D4E6902327 +:1019A0000421DB051A688A431A60DA688A43DA6020 +:1019B0000023C9E690231021DB051A688A431A60C8 +:1019C000DA688A43DA600023BEE690234021DB0513 +:1019D0001A688A431A60DA688A43DA600023B3E639 +:1019E0009023DB051968214801401960DA6802403C +:1019F000DA600023A8E69023DB0519681C48014043 +:101A00001960DA680240DA6000239DE60421194B70 +:101A10001A688A431A60DA688A43DA60002393E618 +:101A20009023DB051968144801401960DA68024008 +:101A3000DA60002388E69023DB0519680F4801402F +:101A40001960DA680240DA6000237DE69023DB0546 +:101A500019680B4801401960DA680240DA60002317 +:101A600072E6C04600100240FFFFFEFFFFFFEFFFDF +:101A7000FFEFFFFF00040048FFFFFFBFFFFFFBFF7A +:101A8000FFFEFFFFFFFBFFFFFFBFFFFFFFFFFFFBAF +:101A9000FFFFFFEF000C00489023DB051968CC48DE +:101AA00001401960DA680240DA6000234CE69023B6 +:101AB000DB051968C74801401960DA680240DA603E +:101AC000002341E69023DB051968C34801401960F3 +:101AD000DA680240DA60002336E69023DB051968F5 +:101AE000BE4801401960DA680240DA6000232BE644 +:101AF0000121BB4B1A688A431A60DA688A43DA60AC +:101B0000002321E61021B74B1A688A431A60DA686D +:101B10008A43DA60002317E69023DB051968AC4896 +:101B200001401960DA680240DA6000230CE61529EA +:101B300000D9D6E3080001F01FFD16001F002700A2 +:101B4000D4032F0037003F00D40348005100580051 +:101B50006100D403D4036A0073007C0085008E000A +:101B600097009E00A50090228023D20511685B0299 +:101B70000B4313600023E7E590220123D20511688F +:101B80000B4313600023DFE590220423D205116884 +:101B90000B4313600023D7E590221023D205116870 +:101BA0000B4313600023CFE590224023D205116838 +:101BB0000B4313600023C7E590228023D2051168F0 +:101BC0005B030B4313600023BEE590228023D20504 +:101BD00011685B010B4313600023B5E50423804AC1 +:101BE00011680B4313600023AEE590228023D205D9 +:101BF0001168DB050B4313600023A5E590228023C9 +:101C0000D2051168DB020B43136000239CE5902290 +:101C10008023D20511685B000B431360002393E51A +:101C200090228023D2051168DB000B431360002350 +:101C30008AE590228023D2051168DB010B431360F3 +:101C4000002381E590228023D2051168DB040B4339 +:101C50001360002378E590228023D20511685B058C +:101C60000B43136000236FE501235D4A11680B43AA +:101C70001360002368E510235A4A11680B43136070 +:101C8000002361E590228023D2051168DB000B431D +:101C90001360002358E58D23082900D054E59022D5 +:101CA0004023D20551680B43536000234CE58D233C +:101CB000082900D048E59022D205536838318B437B +:101CC0005360002340E5152900D90DE3080001F019 +:101CD00053FC16001D0023000B0329002F003500C4 +:101CE0000B033C00420047004E000B030B03550062 +:101CF0005B00610067006E0075007A008B00802237 +:101D000090235200DB059A6200231DE590230122F7 +:101D1000DB059A62002317E590230222DB059A6215 +:101D2000002311E590230422DB059A6200230BE5D2 +:101D300090230822DB059A62002305E58022902388 +:101D4000D200DB059A620023FEE490234022DB05EB +:101D50009A620023F8E40222214B9A620023F3E402 +:101D6000802290231202DB059A620023ECE4802299 +:101D700090239200DB059A620023E5E49023102271 +:101D8000DB059A620023DFE490232022DB059A62C0 +:101D90000023D9E490238022DB059A620023D3E458 +:101DA000802290239201DB059A620023CCE48022FA +:101DB0009023D201DB059A620023C5E40122084B7F +:101DC0009A620023C0E40422064B9A620023BBE41B +:101DD000FFFBFFFFFFBFFFFFFFFFFFFBFFFFFFEF6B +:101DE00000040048000C004890232022DB059A6282 +:101DF0000023A9E4152900D979E2080001F0BCFB11 +:101E000016001D002300770229002F0035007702FD +:101E10003C00420047004E007702770255005B000D +:101E2000610067006E0075007A007F0080229023B9 +:101E30005200DB059A61002386E490230122DB0532 +:101E40009A61002380E490230222DB059A6100233B +:101E50007AE490230422DB059A61002374E4902342 +:101E60000822DB059A6100236EE480229023D200D1 +:101E7000DB059A61002367E490234022DB059A6129 +:101E8000002361E40222E34B9A6100235CE4802298 +:101E900090231202DB059A61002355E480229023EF +:101EA0009200DB059A6100234EE490231022DB05AB +:101EB0009A61002348E490232022DB059A610023E5 +:101EC00042E490238022DB059A6100233CE48022D7 +:101ED00090239201DB059A61002335E48022902350 +:101EE000D201DB059A6100232EE40122C94B9A61DD +:101EF000002329E40422C84B9A61002324E49023A0 +:101F00002022DB059A6100231EE4022313701529A9 +:101F100000D9C3E0080001F01BFB0B1620C12A34D6 +:101F20003EC149535C66C1C1717B858F9AA5AEB72E +:101F300090238021DB051B6949000B40013213808F +:101F40000023FFF701FC90230121DB051B6901320F +:101F50000B4013800023FFF7F7FB90230221DB05E2 +:101F60001B6901320B4013800023FFF7EDFB902328 +:101F70000421DB051B6901320B4013800023FFF7AE +:101F8000E3FB90230821DB051B6901320B40138022 +:101F90000023FFF7D9FB90238021DB051B69C900D3 +:101FA0000B40013213800023FFF7CEFB902340212A +:101FB000DB051B6901320B4013800023FFF7C4FBD4 +:101FC0000221944B01321B690B4013800023FFF761 +:101FD000BBFB9023DB051B690132DB0BDB031380AA +:101FE0000023FFF7B1FB90238021DB051B698900EB +:101FF0000B40013213800023FFF7A6FB9023102132 +:10200000DB051B6901320B4013800023FFF79CFBAB +:1020100090232021DB051B6901320B401380002334 +:10202000FFF792FB90238021DB051B6901320B40F7 +:1020300013800023FFF788FB90238021DB051B69B9 +:1020400089010B40013213800023FFF77DFB9023B1 +:102050008021DB051B69C9010B400132138000237D +:10206000FFF772FB01216B4B01321B690B401380A0 +:102070000023FFF769FB0421674B01321B690B400A +:1020800013800023FFF760FB90232021DB051B69F1 +:1020900001320B4013800023FFF756FB002313701F +:1020A0008D33FFF751FB80235C4ADB0251690B4300 +:1020B0005361584B5A491A680A401A60D968594AFC +:1020C0000A43DA600023FFF73FFB524B54491A687A +:1020D0000A401A60D968534A0A43DA600023FFF7BE +:1020E00033FB4C4A4E4913680B4013600023FFF743 +:1020F0002BFB484A4B4B11680B4313600023FFF73F +:1021000023FB444A484853698900034019435161FD +:102110000023FFF719FB3F4B1B699B0853700123FA +:1021200013700023FFF710FB80233C4A1B03516907 +:102130000B4353613D4A3E4B11680B431360002330 +:10214000FFF702FB394A3A4BD1680B43D3600023B7 +:10215000FFF7FAFA354A374913680B40136000233A +:10216000FFF7F2FA314A324B11680B431360002338 +:10217000FFF7EAFA2D4B59610023FFF7E5FA8023B8 +:10218000264A1B0351690B435361224A2A4B1168AB +:102190000B4313609022D2051168284B0B43136048 +:1021A0000023FFF7D1FA1B4A234BD1680B43D360BE +:1021B0009023DB05D86821490143D9601168204884 +:1021C000014011601A681F490A401A600023FFF796 +:1021D000BBFAF82480250F488B024269E4012340B2 +:1021E0002D024C022C4092052343920D1343436170 +:1021F00090201024C0054B0842692340124CC901AD +:10220000224013438022D20111401943416100232F +:10221000FFF79AFA00040048000C00480010024042 +:10222000AFAAFAFF5055050003FC00000008004863 +:1022300055555555AAAAAAAA0000505500010010EC +:10224000FFFFAFAAFFFEFFEFEFBF0000C023294A48 +:10225000DB0251690B435361274A284B11680B433A +:1022600013609022A023D20511685B020B43136018 +:102270000023FFF769FA204A204BD1680B43D36053 +:102280009023A021DB05D86849020143D960116879 +:102290001B48014011601A681A490A401A6000235D +:1022A000FFF752FA14488B0642691B0C9205920DF7 +:1022B000134343619022C020D205C000C900536976 +:1022C000014011480340194351610023FFF73CFAD4 +:1022D0008C23FFF739FA8D23FFF736FA8D23FFF7AA +:1022E00033FA8D23FFF730FA8D23FFF72DFA8D2374 +:1022F000FFF72AFA00100240000400480000505581 +:10230000FFFFAFAAFFBFFEFFFFF90000F0B5174CBB +:10231000050060690E02C0B23043606180269020E3 +:102320007600C00549B28661002901DA0121816287 +:10233000FF26002061693602314011430C4F616174 +:10234000C04639690132890829546169D2B23140E5 +:1023500001301143C0B261619842F1D990238022CB +:10236000DB0552009A62FF3A9A61F0BD000800480E +:102370000004004800000000000000000000000011 +:10238000F0B5474680B4061C081C000C102801D587 +:10239000162700E004270007000F8046FF200140B9 +:1023A0005468251C1D439C43F60313850AD5C0467B +:1023B000C046C046C046C046C046C046948013834F +:1023C000958002E0012000F081F801390AD4381C20 +:1023D00000F07CF8C046948013839580C046C046C8 +:1023E0007600E2E7381C013800F070F8948013831F +:1023F0009580042000F06AF8108A184001D0FF2070 +:1024000061E0C046C046C046C046C046C046948053 +:102410009580108A184055D001200226B04552D030 +:102420000921168A1E40FCD1012000F04FF894804B +:10243000C0469580C04603E0C046C046C046C04680 +:10244000948095807600108A1840EFF30080400059 +:10245000C00F0643381C023800F038F8948095808D +:10246000022000F033F80139EAD513859480012069 +:1024700000F02CF813839580301C802102239940B2 +:102480000E401BD1002341085E4149085E414908C6 +:102490005E4149085E4149085E4149085E4149087C +:1024A0005E4149085E4149085E41760808D340080C +:1024B000FF21084048400002013004E00E2002E005 +:1024C000092000E0002080BCB846F0BD0138FDD1F5 +:1024D0007047C04603685A0003D45B005B08C0180D +:1024E0007047802212061343F9E7C046F0B55746FD +:1024F0004E46DE464546E0B5814683B09246002909 +:1025000025D04B1E9B46002701935B46FB18DC0F32 +:10251000E4184B466410E5005E193000FFF7DAFF5F +:10252000019B8046A3420BD0280008304844FFF7A7 +:10253000D1FFD04506D80138504509D2671CE4E7E1 +:10254000504505D9A74202D0631E9B46DDE7002611 +:10255000300003B03CBC90469946A246AB46F0BD65 +:10256000012809D0022805D0002801D0002070479A +:102570000248FCE70248FAE70248F8E7812C000825 +:10258000992C00088D2C000830B5234B83B0050032 +:102590008C1E002B2AD001A9200000E000BF0028DB +:1025A00020D001992200FFF7A1FF041E1AD0FFF7E7 +:1025B00091FF6368A864012B10D0201D002B1BDB4A +:1025C000FFF788FF0023E8642B650368002B17DB07 +:1025D000FFF780FF2861002003B030BD00230520F5 +:1025E0002B61F9E7002309202B61F5E70B480C4923 +:1025F000091AC9100191D5E70123E8642B65E4E7C6 +:102600001801000FFFF7ACFF2861002801D1093045 +:10261000E2E70020E0E7C046000000007C3600084A +:102620004C370008036810B50400DA0705D49B078F +:102630000FD5483000F084FC23685A070FD51A07DD +:1026400014D5DB0604D42000D130FF3000F084FC28 +:1026500010BD483000F070FC23685A07EFD420000A +:10266000D03000F071FC23681A07EAD42000513002 +:10267000FF3000F06DFC2368E3E7C0460368002BE1 +:1026800000D01B1818007047092070477047C046DB +:1026900070B504000D0008E02B6C2A006361210076 +:1026A000012023699847082807D1296C2000FFF7EB +:1026B0006BFF0028F0D000F09FFE0728FBD1002020 +:1026C000296CFFF7E3FF281D00F020FCF0B5CE4693 +:1026D000474680B5C368324C9846A54483690600D6 +:1026E00014000431402205A8994600F08DFE002315 +:1026F00004AD296C30000493FFF746FF631E9C4134 +:1027000007000934002F15D0AB6B10216B644B46CA +:1027100021430193C9B20095330032000120C04724 +:10272000002833D13800F5239B009D440CBC904613 +:102730009946F0BDF0222B6C5200736129007CA8F1 +:1027400000F062FE7CAA31003369200098478A9B22 +:1027500007006B6403934B460095019332003300EE +:1027600021000120C047002810D1F0227CA952008E +:10277000280000F049FE082F06D1296C3000FFF731 +:1027800003FF09240700BDE7072F01D00927C9E788 +:102790000020296CFFF77AFF05A800F0B7FBC046C0 +:1027A0002CFCFFFF406C704770B5CB6BFAB00B642C +:1027B00004000E004022043103A800F025FE01238E +:1027C0005B42029306E002AA2100236998470500B4 +:1027D00008280AD1129B200019000193FFF7D4FEAC +:1027E0000028F0D009207AB070BD02A8FFF71AFFC8 +:1027F000062DF7D131002000FFF74AFF10B58261A6 +:10280000DA6BC1601A6419000022FFF75FFF10BD88 +:10281000436970B50B64C36804000D00002B04D03D +:102820000122FFF753FF00F0E7FD0A0023690100D2 +:1028300002209847072807D0082803D12900200044 +:10284000FFF726FF00F0D8FD0020296CFFF71EFFE0 +:10285000281D00F05BFBC046C36810B5002B05D0F7 +:10286000CB6B00220B64FFF731FF10BDFFF79CFF1D +:10287000FBE7C0467047C046836810B5002B02D006 +:1028800001000120984710BD10B5012907D000298B +:1028900007D003390224012901D9200010BD0124E9 +:1028A000FBE70224002BF8D10F2AF6D892008218F9 +:1028B0005268029B00241A60EFE7C04600B585B05D +:1028C00003AB0A00009300210023FFF7DDFF03980C +:1028D00005B000BD10B5012907D0002907D0033984 +:1028E0000224012901D9200010BD0124FBE70224A4 +:1028F000002BF8D10F2AF6D8029B92001B68821891 +:1029000053600024EFE7C04600B585B003AB0392E7 +:1029100000930A0000230021FFF7DCFF05B000BD93 +:1029200070B51A4CD36BA544136406000D0019A8AA +:10293000111D402200F068FD01235B42189314E052 +:102940000C2118A802AAFFF7DFFF290018A8B0473A +:10295000002812D1069B18AA02A9083001939847B3 +:10296000040005280AD0092807D0289B02A81900CE +:102970000193FFF709FE0028E2D0092418A8FFF709 +:1029800051FE200090239B009D4470BDC0FDFFFFC1 +:10299000F0B5DE464E464546574693460322E0B51F +:1029A0001E0013008BB003400193CB6C0D001C1D67 +:1029B0001B6808940793002E66D11B02079306AB91 +:1029C0005E731A73019B022B00D16EE02B6DDB0747 +:1029D00047D40023A846B24602930833034003932A +:1029E0002568002D00D137E15346022B49D02588B8 +:1029F000668804340123370099469F4343469B6C05 +:102A00000F219C4658466744FFF758FF0022874233 +:102A100006D82A004B469A43D719B8428041424211 +:102A200002230121760033400D402B43012B3ED081 +:102A3000002B5AD0022B1CD1236801995F007F081C +:102A4000002965D1002A06D0039A002A00D188E027 +:102A5000002F00D1AAE0002B65DB0137BF00E4198D +:102A6000BEE700230293022E47DDFFF70DFE00288C +:102A700049D009200BB03CBC90469946A246AB46D3 +:102A8000F0BD66680834B5E7022E9BDC1A0C1B0407 +:102A90000793022306A90B73FD3313409B00E41830 +:102AA000019B4A73022B00D090E7AC6B8EE7019B31 +:102AB000002B3AD1002A16D02368DD0F63689A1CD8 +:102AC000D7D0424658320692013300D1C6E0201DCD +:102AD000FFF7D4FD06AB01002A00404600E000BF2E +:102AE000002800D0A7E008347AE7019B002B02D031 +:102AF000002A00D08BE0043472E707A9584600F0A2 +:102B0000D1FA0028B5D1029B002B5DD10820B1E796 +:102B100043460D2158461D6AFFF7D0FE854263D01B +:102B20002368002B99DA043497E743460D21584671 +:102B30001D6AFFF7C3FE8542D5D143469B6A9C427E +:102B4000D1D145462000FFF7C5FC0F2102005846B1 +:102B5000FFF7DAFE58462A000021FFF7D5FE0720CE +:102B600088E7002F22D058235146434406AABA468C +:102B7000251D0026049405911F00914603E00435AD +:102B80002600A24514D028000697FFF777FD4B4694 +:102B9000010000224046741C00E000BF0028EED077 +:102BA0005746059B049C9A46B742B9D1454601E079 +:102BB0004546049C0D215846FFF780FE069B28627F +:102BC0006B62AC62062055E70F215846FFF776FE90 +:102BD0000E2102005846FFF797FE5846274A0F215C +:102BE000FFF792FE072045E743469B6A9C4297D138 +:102BF000434642469F620023D36204331363231D7E +:102C000053632368002B32DB0123029325E7200066 +:102C1000FFF760FC454604340600AC63404600E024 +:102C200000BF002800D124E7584632000F21FFF7EB +:102C30006BFE07201EE707000D2158464546FFF7AB +:102C40003DFE2862022F0FD1069BEB6243462C33D8 +:102C50006B62AC6206200DE7564604E70D2158462C +:102C60004546FFF72BFE2862069B6B62F1E73800B2 +:102C7000013080004546201865E7C046000000008E +:102C800010B50023FFF784FE10BDC04610B5012328 +:102C9000FFF77EFE10BDC04610B50223FFF778FE99 +:102CA00010BDC046F0B5CE46474680B50600C3B05D +:102CB00014001D0001294ED0002933D003290AD069 +:102CC000042902D1002B00D189E0022043B00CBCC2 +:102CD00090469946F0BD032BF7D11404150C240C33 +:102CE0002B19102BF1D8082203681A4200D0E7E014 +:102CF00020AB1800984600F02DF9B36BED001A00D8 +:102D0000002C09D0E400EA1A1C1942441968D15079 +:102D100004339C42FAD12200B263404600F018F915 +:102D20000020D3E70220002BD0D10023012710047C +:102D3000B56B000C321D39009940084202D0296859 +:102D40000435116001330432102BF4D10020A304A8 +:102D5000BCD4B563BAE71404170C240C012B5FD064 +:102D6000052BB2D13B19202BAFD80F2F7DD9A1460F +:102D7000002C65D1002223009146B16B002B00DCB2 +:102D800088E020A88046FA00DB00521ACB184244A3 +:102D90000868505004318B42FAD119004B46002B81 +:102DA00010D04B4658003A00102F00D210220023BA +:102DB000103AD2006A448000CC58D4500433834285 +:102DC000FAD1C918012D5ED0B1630F2F74D94B46CB +:102DD000002BA5D0684600F0B7F8002076E7102A4F +:102DE00000D972E7102203681A4245D120AB1800BF +:102DF000984600F0B3F800230120B16B02009A401E +:102E0000144204D045460F689A00AF500431013394 +:102E1000042BF3D14046B16300F09EF8002055E743 +:102E20003B19102B00D950E70F2F00D94DE7002395 +:102E30009946012233681A4230D14B46002B5AD0B2 +:102E4000042233681A4242D1012D47D00F2F06D8F1 +:102E500020AB180000F076F84B46002B8AD068466D +:102E600000F074F81023DB1B87E7102BDFD910224A +:102E7000524291469944DCE793430360D130FF30DE +:102E800000F06CF8B2E7043120A8B16300F054F808 +:102E900000201BE74B46002B84D193E71900914398 +:102EA0000A003160052D1ED00322300093433360A9 +:102EB000483000F043F8C0E720A800F041F886E76A +:102EC000934303605130FF3000F044F810E73000C6 +:102ED00093433360D03000F039F8B5E720AB1800E9 +:102EE00000F02CF8BEE7022330001A43326048306D +:102EF00000F028F8A1E7012D03D00F2F00D939E702 +:102F0000A6E720AB180000F019F833E7011C3431B4 +:102F100038C9043B9C461D60A646011C20313CC9B3 +:102F200090469946A246AB46011C0831FCC941684F +:102F30000068E54600BDC0467047C0467047C046C1 +:102F40007047C0467047C0467047C0467047C0468D +:102F50007047C0467047C0467047C0467047C0467D +:102F600001B401A801B585B0FFB408A841464A469E +:102F700053465C4665463EC001A83EC80F98009087 +:102F800000230CB401A9FFF70FFC109B12B01847E7 +:102F900001B401A801B585B0FFB408A841464A466E +:102FA00053465C4665463EC001A83EC80F98009057 +:102FB00000230CB401A9FFF72BFC109B12B018479B +:102FC00001B401A801B585B0FFB408A841464A463E +:102FD00053465C4665463EC001A83EC80F98009027 +:102FE00000230CB401A9FFF737FC109B12B018475F +:102FF00001B401A801B585B0FFB408A841464A460E +:1030000053465C4665463EC001A83EC80F980090F6 +:1030100000230CB401ABFFF7F1FB109B12B0184773 +:1030200001B401A801B585B0FFB408A841464A46DD +:1030300053465C4665463EC001A83EC80F980090C6 +:1030400000230CB401AAFFF76BFC109B12B01847C9 +:10305000027A0300002A04D1427AB020002A07D164 +:103060007047013A02720268100E12021A60F7E706 +:10307000013A5A725A68111D596003211268197277 +:10308000F2E7C04600B585B003AB00930C220023E5 +:103090000021FFF7F9FB039805B000BD10B5FFF75D +:1030A000F1FF10BDF0B557464E464546DE460023BB +:1030B000E0B587B003930F339846083B99468023C9 +:1030C0001B0306000F009A463800FFF7C1FF0400FB +:1030D000B02821D0030632D4FF2583001D4005AB64 +:1030E0009B4600930D220023002130000435FFF79A +:1030F000CBFB63064CD5059B5D1B05955B4600939A +:1031000000230D2200213000FFF7E4FB3800FFF719 +:103110009FFF0400B028DDD1039B0024002B2FD19A +:1031200005AD00950E2200213000FFF7ADFB0095A4 +:1031300000230F2200213000FFF7CCFB20E003002A +:1031400042469343DBB2802B63D0902B25D0A02B3B +:1031500032D0B02B45D0C02B00D173E003004A46DB +:103160009343DBB2D02B0AD15346024001321A43BB +:10317000052301213000FFF795FD0028A4D0092484 +:10318000200007B03CBC90469946A246AB46F0BD35 +:10319000059B9C4665440595B0E7833B03400D2B9A +:1031A000EDD0424605AD02400095002300213000DD +:1031B000FFF76AFB0095A3E7FF234A461B011900AE +:1031C000824311410A001A40030702D58023DB0124 +:1031D0001A43002300213000FFF764FD0028CED100 +:1031E00072E7B1284AD0B2285ED0B32800D18BE074 +:1031F000FC230340B42BC2D04A465346024001325E +:103200001A43012101233000FFF74CFD0028B6D1FD +:103210005AE704023800FFF71BFF802520432D02E8 +:10322000A842ACD004010005020C002300213000AC +:10323000FFF738FD0028A2D12C4200D144E701233A +:10324000039341E7C6286AD0C7287CD003004A46CA +:103250009343DBB2C02B00D18BE0C82800D18FE0B4 +:10326000C92800D08BE73800FFF7F2FEF0230203F5 +:103270001B03134042460240013278E73800FFF753 +:10328000E7FE002800D17AE7030042469343DBB211 +:10329000002B00D073E7020000213000FFF702FD91 +:1032A000002800D06BE70FE705AB00939B460D228B +:1032B000002300213000FFF7E7FA3800FFF7C8FECF +:1032C00003066AD57F25B03C059B2840A0409C465C +:1032D0006044059038000734FFF7BAFE0306F3D4C4 +:1032E000812292009446863AFF3A1040A040059B06 +:1032F000723A634418185B4605900093002100233E +:103300003000FFF7E7FADFE63800FFF7A1FEF02311 +:1033100002031B03134042460240013270E73800AB +:10332000FFF796FEF02302031B03134042460240C0 +:1033300001321A43032303213000FFF7B3FC0028B6 +:1033400000D01CE7C0E63800FFF782FE002800D15D +:1033500015E7030042469343DBB2002B00D00EE793 +:10336000020004213000FFF79DFC002800D006E792 +:10337000AAE64346A0221C40013412032243D9E7A7 +:103380003800FFF765FE434602009A43D2B210327E +:103390001840120301300243EAE60224A0E7C046C7 +:1033A000030000B5DB6C85B05A6808001202019278 +:1033B0001A0001A908324A6003220A72DB794B72B3 +:1033C000FFF770FE05B000BD10B5FFF767FE806C1B +:1033D00010BDC04610B5FFF761FEC26CD3799B00EB +:1033E0000833D01810BDC04610B500F005F8C0462F +:1033F00010B5FFF7F9FFC04610B5062000F074F8CD +:10340000012000F0A3F8C046F0B505000F2A2FD91F +:103410000B0003439B0734D116000C000300103E41 +:10342000350901352D01451927681F6067685F6000 +:10343000A7689F60E7681034DF6010339D42F3D1C6 +:103440000F239E431036851989191340032B1AD96F +:103450001E1F0023B4080134A400CF58EF500433DA +:10346000A342FAD10324A643331D2240C918ED1804 +:10347000002A05D00023CC5CEC5401339342FAD1EE +:10348000F0BD0500F6E71A00F2E7C04670B505008A +:103490000C001F2922D8B7239B00C358002B14D03F +:1034A0008A009B181A68002A0FD0012A0BD0511CE1 +:1034B00005D00021200019609047002070BD162320 +:1034C00003600120FAE70020F8E7280000F02AF85E +:1034D00022000100280000F011F8EFE71623036036 +:1034E00001204042EAE7C04610B5034B01001868CE +:1034F000FFF7CCFF10BDC04600000020002370B5D0 +:10350000074C050008001100236000F017F8431C69 +:1035100000D070BD2368002BFBD02B60F9E7C046BC +:10352000E406002010B500F001F810BD582201207B +:10353000014B40421A607047E406002058220120E7 +:10354000014B40421A607047E4060020FEE7C04687 +:1035500002B4714649084900095C49008E4402BC26 +:103560007047C04603B47146490840004900095EEF +:1035700049008E4403BC704703B4714649084000BB +:103580004900095A49008E4403BC7047F8B5C0464B +:10359000F8B5C0460902120001010080320904009A +:1035A00000000000000012010002FF000008C01629 +:1035B000DC05000201020001040309042A0349009A +:1035C0006E00660069006E006900740065004E00C0 +:1035D000650073004C0069007600650073002E00E2 +:1035E00063006F006D00000000000000000000009C +:1035F00000000000000000000000000000000000CB +:1036000000000000000000000000000000000000BA +:103610001E0349004E004C0020005200650074005B +:1036200072006F002D00500072006F0067000000F4 +:10363000000000000000000000000000000000008A +:0C3640000000000000000000000000007E +:10364C0074B20181B0AB308000000000800A0181AF +:10365C00B0B0ABF0000000003F020181B0AB308095 +:10366C000000000080060181B0B0ABF0000000004B +:10367C0004EDFF7FB0B0B08050EEFF7F0100000082 +:10368C00FCEEFF7FB0A9028090EFFF7FB0B0A88066 +:10369C00E0EFFF7F01000000ECEFFF7FB0B0AA80ED +:1036AC0020F0FF7F9CFFFF7FF0F0FF7F0100000008 +:1036BC00ECF0FF7FAA3F398038F1FF7FB0B0A880D3 +:1036CC0044F1FF7FB0B0AA8084F1FF7FB0B0A88036 +:1036DC0098F1FF7F0100000094F1FF7FB0B0A8804B +:1036EC009CF1FF7F010000002CF2FF7FAA0FB2803B +:1036FC0094F2FF7F58FFFF7F7CF5FF7FB0B0A8806E +:10370C0098F5FF7F54FFFF7FF8F7FF7F0100000063 +:10371C0068F9FF7F0084048078F9FF7FB0B0A8803F +:10372C0078F9FF7F40FFFF7F6CFCFF7F00840480F3 +:10373C008CFCFF7FB0B0A880A4FCFF7F01000000D0 +:10374C00080000200000000000000000F40200202F +:10375C005C030020C40300200000000000000000F7 +:10376C00000000000000000000000000000000004D +:10377C00000000000000000000000000000000003D +:10378C00000000000000000000000000000000002D +:10379C00000000000000000000000000000000001D +:1037AC00000000000000000000000000000000000D +:1037BC0000000000000000000000000000000000FD +:1037CC0000000000000000000000000000000000ED +:1037DC0000000000000000000000000000000000DD +:1037EC0000000000000000000000000000000000CD +:1037FC0001000000000000000E33CDAB34126DE66A +:10380C00ECDE05000B0000000000000000000000D2 +:10381C00000000000000000000000000000000009C +:10382C00000000000000000000000000000000008C +:10383C00000000000000000000000000000000007C +:10384C00000000000000000000000000000000006C +:10385C00000000000000000000000000000000005C +:10386C00000000000000000000000000000000004C +:10387C00000000000000000000000000000000003C +:10388C00000000000000000000000000000000002C +:10389C00000000000000000000000000000000001C +:1038AC00000000000000000000000000000000000C +:1038BC0000000000000000000000000000000000FC +:1038CC0000000000000000000000000000000000EC +:1038DC0000000000000000000000000000000000DC +:1038EC0000000000000000000000000000000000CC +:1038FC0000000000000000000000000000000000BC +:10390C0000000000000000000000000000000000AB +:10391C00000000000000000000000000000000009B +:10392C00000000000000000000000000000000008B +:10393C00000000000000000000000000000000007B +:10394C00000000000000000000000000000000006B +:10395C00000000000000000000000000000000005B +:10396C00000000000000000000000000000000004B +:10397C00000000000000000000000000000000003B +:10398C00000000000000000000000000000000002B +:10399C00000000000000000000000000000000001B +:1039AC00000000000000000000000000000000000B +:1039BC0000000000000000000000000000000000FB +:1039CC0000000000000000000000000000000000EB +:1039DC0000000000000000000000000000000000DB +:1039EC0000000000000000000000000000000000CB +:1039FC0000000000000000000000000000000000BB +:103A0C0000000000000000000000000000000000AA +:103A1C00000000000000000000000000000000009A +:103A2C00000000000000000000000000000000008A +:103A3C00000000000000000000000000000000007A +:103A4C00000000000000000000000000000000006A +:103A5C00000000000000000000000000000000005A +:103A6C00000000000000000000000000000000004A +:103A7C00000000000000000000000000000000003A +:103A8C00000000000000000000000000000000002A +:103A9C00000000000000000000000000000000001A +:103AAC00000000000000000000000000000000000A +:103ABC0000000000000000000000000000000000FA +:103ACC0000000000000000000000000000000000EA +:103ADC0000000000000000000000000000000000DA +:103AEC0000000000000000000000000000000000CA +:103AFC0000000000000000000000000000000000BA +:103B0C0000000000000000000000000000000000A9 +:103B1C000000000000000000000000000000000099 +:103B2C000000000000000000000000000000000089 +:103B3C000000000000000000000000000000000079 +:103B4C000000000000000000000000000000000069 +:103B5C000000000000000000000000000000000059 +:103B6C000000000000000000000000000000000049 :04000005080000C12E :00000001FF diff --git a/firmware/build_stm/inlretro_stm.map b/firmware/build_stm/inlretro_stm.map index 956fe3c..9cd9e92 100644 --- a/firmware/build_stm/inlretro_stm.map +++ b/firmware/build_stm/inlretro_stm.map @@ -1,37 +1,69 @@ Archive member included to satisfy reference by file (symbol) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o (__aeabi_unwind_cpp_pr0) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (__gnu_unwind_execute) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (abort) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_global_impure_ptr) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) (memcpy) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (raise) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_kill_r) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (__call_exitprocs) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (atexit) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__libc_fini_array) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_malloc_r) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (__malloc_lock) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (errno) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_sbrk_r) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) (__register_exitproc) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_free_r) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_getpid) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_kill) +c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) (_sbrk) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_exit) + c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) + C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o (__gnu_thumb1_case_shi) + C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o (__gnu_thumb1_case_shi) c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o (__gnu_thumb1_case_uhi) Allocating common symbols Common symbol size file +errno 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) incoming_bytes_remain 0x1 source/buffer.o (symbol from plugin) raw_bank_status 0x10 source/buffer.o (symbol from plugin) raw_buffer16 0x200 source/buffer.o (symbol from plugin) +swim_pin 0x1 source/swim.o (symbol from plugin) cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin) Discarded input sections @@ -55,20 +87,23 @@ Discarded input sections .ARM.exidx 0x00000000 0x8 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o .ARM.attributes 0x00000000 0x1b c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o - .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o - .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o .text 0x00000000 0x0 source/buffer.o (symbol from plugin) - .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .rodata.oper_info - 0x00000000 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o - .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o - .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o + 0x00000000 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .text 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o .text 0x00000000 0x0 source/dump.o (symbol from plugin) .text 0x00000000 0x0 source/flash.o (symbol from plugin) .text 0x00000000 0x0 source/io.o (symbol from plugin) @@ -77,9 +112,33 @@ Discarded input sections .text 0x00000000 0x0 source/operation.o (symbol from plugin) .text 0x00000000 0x0 source/pinport.o (symbol from plugin) .text 0x00000000 0x0 source/snes.o (symbol from plugin) + .text 0x00000000 0x0 source/swim.o (symbol from plugin) .text 0x00000000 0x0 source/usb.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/stm_init.o (symbol from plugin) .text 0x00000000 0x0 source_stm_only/usbstm.o (symbol from plugin) + .data 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o + .bss 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o + .ARM.extab 0x00000000 0x0 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .debug_frame 0x00000000 0x2c4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .ARM.attributes + 0x00000000 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .debug_frame 0x00000000 0xf4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .debug_frame 0x00000000 0x28 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) @@ -90,10 +149,6 @@ Discarded input sections .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .data._impure_ptr - 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) - .data.impure_data - 0x00000000 0x428 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) .rodata._global_impure_ptr 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) .ARM.attributes @@ -106,6 +161,12 @@ Discarded input sections .debug_frame 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) .ARM.attributes 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .debug_frame 0x00000000 0x30 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) @@ -113,6 +174,31 @@ Discarded input sections .debug_frame 0x00000000 0x30 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) .ARM.attributes 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r.part.0 + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r + 0x00000000 0x1c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._signal_r + 0x00000000 0x3c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp_r + 0x00000000 0x50 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.signal 0x00000000 0x18 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal + 0x00000000 0x20 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp + 0x00000000 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .debug_frame 0x00000000 0xf8 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .debug_frame 0x00000000 0x44 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) @@ -140,6 +226,55 @@ Discarded input sections .debug_frame 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) .ARM.attributes 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text._malloc_r + 0x00000000 0x568 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_current_mallinfo + 0x00000000 0x28 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_sbrked_mem + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_total_mem + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_top_pad + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_av_ + 0x00000000 0x408 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_sbrk_base + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_trim_threshold + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .debug_frame 0x00000000 0x3c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_lock + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_unlock + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .debug_frame 0x00000000 0x30 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text.cleanup_glue + 0x00000000 0x1c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text._reclaim_reent + 0x00000000 0x94 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .debug_frame 0x00000000 0x48 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .text._sbrk_r 0x00000000 0x24 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .debug_frame 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) @@ -148,10 +283,42 @@ Discarded input sections .debug_frame 0x00000000 0x3c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) .ARM.attributes 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._malloc_trim_r + 0x00000000 0xa0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._free_r 0x00000000 0x1bc c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .debug_frame 0x00000000 0x50 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .stab 0x00000000 0x24 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .debug_frame 0x00000000 0x20 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .stab 0x00000000 0x18 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x24 (size before relaxing) + .debug_frame 0x00000000 0x20 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .text._sbrk 0x00000000 0x1c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss.heap_end.4116 + 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .debug_frame 0x00000000 0x20 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .ARM.attributes + 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) .text 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) .data 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) .bss 0x00000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) - .text._exit 0x00000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) .debug_frame 0x00000000 0x20 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) .ARM.attributes 0x00000000 0x2c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) @@ -188,11 +355,12 @@ Linker script and memory map LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o -LOAD C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o +LOAD C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o LOAD source/buffer.o -LOAD C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o -LOAD C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o -LOAD C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +LOAD C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o +LOAD C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o +LOAD C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o +LOAD C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o LOAD source/dump.o LOAD source/flash.o LOAD source/io.o @@ -201,9 +369,11 @@ LOAD source/nes.o LOAD source/operation.o LOAD source/pinport.o LOAD source/snes.o +LOAD source/swim.o LOAD source/usb.o LOAD source_stm_only/stm_init.o LOAD source_stm_only/usbstm.o +LOAD C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o START GROUP LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a @@ -217,12 +387,12 @@ END GROUP LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtend.o LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtn.o -.text 0x08000000 0x20d8 +.text 0x08000000 0x364c *(.isr_vector) - .isr_vector 0x08000000 0xc0 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + .isr_vector 0x08000000 0xc0 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o 0x08000000 __isr_vector *(.text*) - .text 0x080000c0 0x40 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + .text 0x080000c0 0x40 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o 0x080000c0 Reset_Handler 0x080000fc TSC_IRQHandler 0x080000fc ADC1_COMP_IRQHandler @@ -261,57 +431,141 @@ LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm 0x080000fc FLASH_IRQHandler 0x080000fc USART1_IRQHandler 0x080000fc TIM1_BRK_UP_TRG_COM_IRQHandler - .text.USB_IRQHandler - 0x08000100 0x1510 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x08000100 USB_IRQHandler + .text.unlikely.append_pairity + 0x08000100 0x1e C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + *fill* 0x0800011e 0x2 .text.snes_rom_wr - 0x08001610 0x50 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001610 snes_rom_wr + 0x08000120 0x50 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000120 snes_rom_wr .text.snes_rom_rd - 0x08001660 0x30 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001660 snes_rom_rd + 0x08000170 0x30 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000170 snes_rom_rd .text.nes_ppu_wr - 0x08001690 0x58 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001690 nes_ppu_wr + 0x080001a0 0x58 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x080001a0 nes_ppu_wr .text.nes_ppu_rd - 0x080016e8 0x38 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x080016e8 nes_ppu_rd + 0x080001f8 0x38 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x080001f8 nes_ppu_rd .text.nes_cpu_rd - 0x08001720 0x40 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001720 nes_cpu_rd + 0x08000230 0x40 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000230 nes_cpu_rd .text.discrete_exp0_prgrom_wr - 0x08001760 0x60 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001760 discrete_exp0_prgrom_wr + 0x08000270 0x60 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000270 discrete_exp0_prgrom_wr .text.get_next_buff - 0x080017c0 0x54 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .text.control_xfr_in.lto_priv.24 - 0x08001814 0xbc C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001814 control_xfr_in.lto_priv.24 + 0x080002d0 0x54 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .text.control_xfr_in.lto_priv.25 + 0x08000324 0xbc C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000324 control_xfr_in.lto_priv.25 .text.HardFault_Handler - 0x080018d0 0x2 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x080018d0 HardFault_Handler - *fill* 0x080018d2 0x2 + 0x080003e0 0x2 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x080003e0 HardFault_Handler + *fill* 0x080003e2 0x2 + .text.unlikely.swim_wotf + 0x080003e4 0x8c C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x080003e4 swim_wotf + .text.unlikely.swim_rotf + 0x08000470 0x94 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000470 swim_rotf + .text.unlikely.delay + 0x08000504 0x12 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000504 delay + *fill* 0x08000516 0x2 .text.io_reset - 0x080018d4 0x148 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x080018d4 io_reset + 0x08000518 0x148 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000518 io_reset .text.startup.main - 0x08001a1c 0x558 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x08001a1c main - .text.nes_cpu_page_rd_poll.constprop.15 - 0x08001f74 0x68 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o - 0x08001f74 nes_cpu_page_rd_poll.constprop.15 - .text 0x08001fdc 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) - 0x08001fdc __gnu_thumb1_case_uqi - .text 0x08001ff0 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) - 0x08001ff0 __gnu_thumb1_case_shi - .text 0x08002004 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) - 0x08002004 __gnu_thumb1_case_uhi + 0x08000660 0x59c C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x08000660 main + .text.USB_IRQHandler + 0x08000bfc 0xafc C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x08000bfc USB_IRQHandler + .text.pinport_call.constprop.7 + 0x080016f8 0xc14 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + 0x080016f8 pinport_call.constprop.7 + .text.nes_cpu_page_rd_poll.constprop.16 + 0x0800230c 0x68 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + 0x0800230c nes_cpu_page_rd_poll.constprop.16 + *fill* 0x08002374 0xc + .text 0x08002380 0x154 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o + 0x08002380 swim_xfr + .text 0x080024d4 0xa38 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x080027a4 _Unwind_GetCFA + 0x080027a8 __gnu_Unwind_RaiseException + 0x080027fc __gnu_Unwind_ForcedUnwind + 0x08002810 __gnu_Unwind_Resume + 0x08002858 __gnu_Unwind_Resume_or_Rethrow + 0x08002874 _Unwind_Complete + 0x08002878 _Unwind_DeleteException + 0x08002888 _Unwind_VRS_Get + 0x080028d4 _Unwind_VRS_Set + 0x08002920 __gnu_Unwind_Backtrace + 0x08002c80 __aeabi_unwind_cpp_pr0 + 0x08002c8c __aeabi_unwind_cpp_pr1 + 0x08002c98 __aeabi_unwind_cpp_pr2 + 0x08002ca4 _Unwind_VRS_Pop + .text 0x08002f0c 0x144 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x08002f0c __restore_core_regs + 0x08002f0c restore_core_regs + 0x08002f38 __gnu_Unwind_Restore_VFP + 0x08002f3c __gnu_Unwind_Save_VFP + 0x08002f40 __gnu_Unwind_Restore_VFP_D + 0x08002f44 __gnu_Unwind_Save_VFP_D + 0x08002f48 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x08002f4c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08002f50 __gnu_Unwind_Restore_WMMXD + 0x08002f54 __gnu_Unwind_Save_WMMXD + 0x08002f58 __gnu_Unwind_Restore_WMMXC + 0x08002f5c __gnu_Unwind_Save_WMMXC + 0x08002f60 ___Unwind_RaiseException + 0x08002f60 _Unwind_RaiseException + 0x08002f90 _Unwind_Resume + 0x08002f90 ___Unwind_Resume + 0x08002fc0 _Unwind_Resume_or_Rethrow + 0x08002fc0 ___Unwind_Resume_or_Rethrow + 0x08002ff0 _Unwind_ForcedUnwind + 0x08002ff0 ___Unwind_ForcedUnwind + 0x08003020 ___Unwind_Backtrace + 0x08003020 _Unwind_Backtrace + .text 0x08003050 0x3a8 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x080030a4 __gnu_unwind_execute + 0x080033a0 __gnu_unwind_frame + 0x080033c8 _Unwind_GetRegionStart + 0x080033d4 _Unwind_GetLanguageSpecificData + 0x080033e8 _Unwind_GetTextRelBase + 0x080033f0 _Unwind_GetDataRelBase + .text.abort 0x080033f8 0x10 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x080033f8 abort + .text.memcpy 0x08003408 0x84 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08003408 memcpy + .text._raise_r + 0x0800348c 0x5c c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x0800348c _raise_r + .text.raise 0x080034e8 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x080034e8 raise + .text._kill_r 0x080034fc 0x28 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x080034fc _kill_r + .text._getpid_r + 0x08003524 0x8 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08003524 _getpid_r + .text._getpid 0x0800352c 0x10 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x0800352c _getpid + .text._kill 0x0800353c 0x10 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x0800353c _kill + .text._exit 0x0800354c 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x0800354c _exit + .text 0x08003550 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x08003550 __gnu_thumb1_case_uqi + .text 0x08003564 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + 0x08003564 __gnu_thumb1_case_shi + .text 0x08003578 0x14 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x08003578 __gnu_thumb1_case_uhi *(.init) - .init 0x08002018 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x08002018 _init + .init 0x0800358c 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x0800358c _init *(.fini) - .fini 0x0800201c 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o - 0x0800201c _fini + .fini 0x08003590 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o + 0x08003590 _fini *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) @@ -324,134 +578,158 @@ LOAD c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm *(.dtors) *(.rodata*) .rodata.config_desc - 0x08002020 0x12 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x08003594 0x12 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .rodata.device_desc - 0x08002032 0x12 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x080035a6 0x12 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .rodata.string0_desc - 0x08002044 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x080035b8 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .rodata.string1_desc - 0x08002048 0x54 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x080035bc 0x54 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .rodata.string2_desc - 0x0800209c 0x3c C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x08003610 0x3c C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o *(.eh_frame*) -.glue_7 0x080020d8 0x0 - .glue_7 0x080020d8 0x0 linker stubs +.glue_7 0x0800364c 0x0 + .glue_7 0x0800364c 0x0 linker stubs -.glue_7t 0x080020d8 0x0 - .glue_7t 0x080020d8 0x0 linker stubs +.glue_7t 0x0800364c 0x0 + .glue_7t 0x0800364c 0x0 linker stubs -.vfp11_veneer 0x080020d8 0x0 - .vfp11_veneer 0x080020d8 0x0 linker stubs +.vfp11_veneer 0x0800364c 0x0 + .vfp11_veneer 0x0800364c 0x0 linker stubs -.v4_bx 0x080020d8 0x0 - .v4_bx 0x080020d8 0x0 linker stubs +.v4_bx 0x0800364c 0x0 + .v4_bx 0x0800364c 0x0 linker stubs -.iplt 0x080020d8 0x0 - .iplt 0x080020d8 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.iplt 0x0800364c 0x0 + .iplt 0x0800364c 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.rel.dyn 0x080020d8 0x0 - .rel.iplt 0x080020d8 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o - -.ARM.extab +.ARM.extab 0x0800364c 0x30 *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x080020d8 __exidx_start = . + .ARM.extab 0x0800364c 0x24 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08003670 0xc c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x0800367c __exidx_start = . -.ARM.exidx +.ARM.exidx 0x0800367c 0xd0 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - 0x080020d8 __exidx_end = . - 0x080020d8 __etext = ALIGN (0x4) + .ARM.exidx 0x0800367c 0x8 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o + 0x10 (size before relaxing) + .ARM.exidx 0x08003684 0x98 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0xd8 (size before relaxing) + .ARM.exidx 0x0800371c 0x30 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x48 (size before relaxing) + 0x0800374c __exidx_end = . + 0x0800374c __etext = ALIGN (0x4) -.data 0x20000000 0x0 load address 0x080020d8 +.rel.dyn 0x0800374c 0x0 + .rel.iplt 0x0800374c 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o + +.data 0x20000000 0x430 load address 0x0800374c 0x20000000 __data_start__ = . *(vtable) *(.data*) - 0x20000000 . = ALIGN (0x4) - 0x20000000 PROVIDE (__preinit_array_start, .) + .data._impure_ptr + 0x20000000 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.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:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x20000000 PROVIDE (__preinit_array_end, .) - 0x20000000 . = ALIGN (0x4) - 0x20000000 PROVIDE (__init_array_start, .) + 0x20000430 PROVIDE (__preinit_array_end, .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__init_array_start, .) *(SORT(.init_array.*)) *(.init_array) - 0x20000000 PROVIDE (__init_array_end, .) - 0x20000000 . = ALIGN (0x4) - 0x20000000 PROVIDE (__fini_array_start, .) + 0x20000430 PROVIDE (__init_array_end, .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*)) *(.fini_array) - 0x20000000 PROVIDE (__fini_array_end, .) + 0x20000430 PROVIDE (__fini_array_end, .) *(.jcr) - 0x20000000 . = ALIGN (0x4) - 0x20000000 __data_end__ = . + 0x20000430 . = ALIGN (0x4) + 0x20000430 __data_end__ = . -.igot.plt 0x20000000 0x0 - .igot.plt 0x20000000 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o +.igot.plt 0x20000430 0x0 load address 0x08003b7c + .igot.plt 0x20000430 0x0 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crtbegin.o -.bss 0x20000000 0x2ac - 0x20000000 . = ALIGN (0x4) - 0x20000000 __bss_start__ = . +.bss 0x20000430 0x2b8 load address 0x08003b7c + 0x20000430 . = ALIGN (0x4) + 0x20000430 __bss_start__ = . *(.bss*) - .bss.buff0 0x20000000 0x14 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000000 buff0 - .bss.buff1 0x20000014 0x14 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000014 buff1 - .bss.buff2 0x20000028 0x14 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000028 buff2 - .bss.buff3 0x2000003c 0x14 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x2000003c buff3 - .bss.cur_buff 0x20000050 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000050 cur_buff + .bss.num_buff.4922 + 0x20000430 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + *fill* 0x20000431 0x3 + .bss.buff0 0x20000434 0x14 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000434 buff0 + .bss.buff1 0x20000448 0x14 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000448 buff1 + .bss.buff2 0x2000045c 0x14 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x2000045c buff2 + .bss.buff3 0x20000470 0x14 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000470 buff3 + .bss.cur_buff 0x20000484 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000484 cur_buff .bss.cur_usb_load_buff - 0x20000054 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x20000488 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .bss.incoming_bytes_remain - 0x20000058 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - *fill* 0x20000059 0x3 - .bss.log 0x2000005c 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x2000048c 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + *fill* 0x2000048d 0x3 + .bss.log 0x20000490 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .bss.new_address - 0x20000060 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - *fill* 0x20000061 0x1 - .bss.num_bytes_req.lto_priv.27 - 0x20000062 0x2 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000062 num_bytes_req.lto_priv.27 - .bss.num_bytes_sending.lto_priv.26 - 0x20000064 0x2 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000064 num_bytes_sending.lto_priv.26 - .bss.num_bytes_xfrd.lto_priv.25 - 0x20000066 0x2 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000066 num_bytes_xfrd.lto_priv.25 + 0x20000494 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + *fill* 0x20000495 0x1 + .bss.num_bytes_req.lto_priv.28 + 0x20000496 0x2 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000496 num_bytes_req.lto_priv.28 + .bss.num_bytes_sending.lto_priv.27 + 0x20000498 0x2 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x20000498 num_bytes_sending.lto_priv.27 + .bss.num_bytes_xfrd.lto_priv.26 + 0x2000049a 0x2 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x2000049a num_bytes_xfrd.lto_priv.26 .bss.oper_info_struct - 0x20000068 0x20 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x20000068 oper_info_struct + 0x2000049c 0x20 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x2000049c oper_info_struct .bss.raw_bank_status - 0x20000088 0x10 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x200004bc 0x10 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .bss.raw_buffer16 - 0x20000098 0x200 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .bss.req_dir 0x20000298 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .bss.reqdir 0x20000299 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .bss.reqtype 0x2000029a 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - *fill* 0x2000029b 0x1 - .bss.rv16.4816 - 0x2000029c 0x8 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x200004cc 0x200 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .bss.req_dir 0x200006cc 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .bss.reqdir 0x200006cd 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .bss.reqtype 0x200006ce 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + *fill* 0x200006cf 0x1 + .bss.rv16.4842 + 0x200006d0 0x8 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .bss.swim_base + 0x200006d8 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x200006d8 swim_base + .bss.swim_mask + 0x200006dc 0x2 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x200006dc swim_mask + .bss.swim_pin 0x200006de 0x1 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + *fill* 0x200006df 0x1 .bss.usbMsgPtr - 0x200002a4 0x4 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x200002a4 usbMsgPtr - .bss.num_buff.4896 - 0x200002a8 0x1 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o + 0x200006e0 0x4 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x200006e0 usbMsgPtr *(COMMON) - 0x200002ac . = ALIGN (0x4) - *fill* 0x200002a9 0x3 - 0x200002ac __bss_end__ = . + COMMON 0x200006e4 0x4 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + 0x200006e4 errno + 0x200006e8 . = ALIGN (0x4) + 0x200006e8 __bss_end__ = . -.heap 0x200002b0 0x0 - 0x200002b0 __end__ = . - [!provide] PROVIDE (end, .) +.heap 0x200006e8 0x0 + 0x200006e8 __end__ = . + 0x200006e8 PROVIDE (end, .) *(.heap*) - .heap 0x200002b0 0x0 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o - 0x200002b0 __HeapLimit = . + .heap 0x200006e8 0x0 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o + 0x200006e8 __HeapLimit = . -.stack_dummy 0x200002b0 0xc00 +.stack_dummy 0x200006e8 0xc00 *(.stack*) - .stack 0x200002b0 0xc00 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + .stack 0x200006e8 0xc00 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) 0x20000c00 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) 0x20001800 PROVIDE (__stack, __StackTop) @@ -463,73 +741,96 @@ OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) .ARM.attributes 0x00000000 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m/crti.o .ARM.attributes - 0x0000001e 0x1b C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + 0x0000001e 0x1b C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o .ARM.attributes - 0x00000039 0x2f C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x00000039 0x2f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o .ARM.attributes - 0x00000068 0x2f C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o + 0x00000068 0x2f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .ARM.attributes - 0x00000097 0x2f C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o + 0x00000097 0x2f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o .ARM.attributes - 0x000000c6 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x000000c6 0x2f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o .ARM.attributes - 0x000000e4 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + 0x000000f5 0x21 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o .ARM.attributes - 0x00000102 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x00000116 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + .ARM.attributes + 0x00000134 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_shi.o) + .ARM.attributes + 0x00000152 0x1e c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) .comment 0x00000000 0x6e - .comment 0x00000000 0x6e C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + .comment 0x00000000 0x6e C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o 0x6f (size before relaxing) - .comment 0x0000006e 0x6f C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .comment 0x0000006e 0x6f C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o + .comment 0x0000006e 0x6f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .comment 0x0000006e 0x6f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .comment 0x0000006e 0x6f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o -.debug_line 0x00000000 0x1003 - .debug_line 0x00000000 0x6f C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o - .debug_line 0x0000006f 0x8cd C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_line 0x0000093c 0x593 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_line 0x00000ecf 0x134 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_line 0x00000000 0x134a + .debug_line 0x00000000 0x6f C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o + .debug_line 0x0000006f 0x643 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_line 0x000006b2 0x563 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_line 0x00000c15 0x50e C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_line 0x00001123 0x134 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .debug_line 0x00001257 0xf3 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o -.debug_info 0x00000000 0x1e03 - .debug_info 0x00000000 0x83 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o - .debug_info 0x00000083 0x1080 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_info 0x00001103 0xc0a C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_info 0x00001d0d 0xf6 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_info 0x00000000 0x252c + .debug_info 0x00000000 0x83 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o + .debug_info 0x00000083 0xeca C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_info 0x00000f4d 0x1367 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_info 0x000022b4 0x106 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_info 0x000023ba 0xf6 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .debug_info 0x000024b0 0x7c C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o -.debug_abbrev 0x00000000 0x7a3 - .debug_abbrev 0x00000000 0x14 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o - .debug_abbrev 0x00000014 0x319 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_abbrev 0x0000032d 0x3da C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_abbrev 0x00000707 0x9c C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_abbrev 0x00000000 0x91a + .debug_abbrev 0x00000000 0x14 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o + .debug_abbrev 0x00000014 0x44f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_abbrev 0x00000463 0x378 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_abbrev 0x000007db 0x8f C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_abbrev 0x0000086a 0x9c C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .debug_abbrev 0x00000906 0x14 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o -.debug_aranges 0x00000000 0xd0 +.debug_aranges 0x00000000 0x130 .debug_aranges - 0x00000000 0x20 C:\Users\Paul\AppData\Local\Temp\ccELTyUg.o + 0x00000000 0x20 C:\Users\Paul\AppData\Local\Temp\ccOGntZJ.o .debug_aranges - 0x00000020 0x20 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o + 0x00000020 0x90 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o .debug_aranges - 0x00000040 0x70 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o + 0x000000b0 0x20 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o .debug_aranges - 0x000000b0 0x20 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o + 0x000000d0 0x20 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_aranges + 0x000000f0 0x20 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + .debug_aranges + 0x00000110 0x20 C:\Users\Paul\AppData\Local\Temp\cce1HaeA.o -.debug_loc 0x00000000 0x288f - .debug_loc 0x00000000 0x1ec9 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_loc 0x00001ec9 0x91c C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_loc 0x000027e5 0xaa C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_loc 0x00000000 0x3e21 + .debug_loc 0x00000000 0xc53 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_loc 0x00000c53 0xcc3 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_loc 0x00001916 0x2461 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_loc 0x00003d77 0xaa C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o -.debug_ranges 0x00000000 0x13a0 - .debug_ranges 0x00000000 0x1190 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_ranges 0x00001190 0x200 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_ranges 0x00001390 0x10 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_ranges 0x00000000 0x858 + .debug_ranges 0x00000000 0x220 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_ranges 0x00000220 0x618 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_ranges 0x00000838 0x10 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_ranges 0x00000848 0x10 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o -.debug_str 0x00000000 0x92e - .debug_str 0x00000000 0x72d C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - 0x794 (size before relaxing) - .debug_str 0x0000072d 0x1ca C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - 0x44e (size before relaxing) - .debug_str 0x000008f7 0x37 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_str 0x00000000 0xa3e + .debug_str 0x00000000 0x458 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + 0x4b7 (size before relaxing) + .debug_str 0x00000458 0x589 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + 0x832 (size before relaxing) + .debug_str 0x000009e1 0x26 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + 0x1f9 (size before relaxing) + .debug_str 0x00000a07 0x37 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o 0x1d1 (size before relaxing) -.debug_frame 0x00000000 0x14c - .debug_frame 0x00000000 0x30 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans0.ltrans.o - .debug_frame 0x00000030 0xec C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans1.ltrans.o - .debug_frame 0x0000011c 0x30 C:\Users\Paul\AppData\Local\Temp\ccWmX1Gm.ltrans2.ltrans.o +.debug_frame 0x00000000 0x1e0 + .debug_frame 0x00000000 0x154 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans0.ltrans.o + .debug_frame 0x00000154 0x30 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans1.ltrans.o + .debug_frame 0x00000184 0x2c C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans2.ltrans.o + .debug_frame 0x000001b0 0x30 C:\Users\Paul\AppData\Local\Temp\ccMUWKGh.ltrans3.ltrans.o + +.stabstr 0x00000000 0x76 + .stabstr 0x00000000 0x76 c:/program files (x86)/gnu tools arm embedded/6.2 2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/source/asm_stm/swim.s b/firmware/source/asm_stm/swim.s index c9517c1..13dc7c5 100644 --- a/firmware/source/asm_stm/swim.s +++ b/firmware/source/asm_stm/swim.s @@ -312,7 +312,16 @@ poll_header: //; seemed to be a little early at times.. swim_pp + nop swim_od + + //; adding delay to extend header bit which always seems 250nsec longer than it should be + nop //; 1x NOP fails pretty hard header errors @ slow speed + //; moved second NOP between pp->od to try and reduce header errors @ low speed +//; nop //; 2x NOP seems pretty good, sometimes fails in slow speed, but pretty good @ high speed + //; can usually get 1 out of 12 low speed to fail, and sometimes HS will fail hard +//; nop //; 3x NOP seems more likely to fail @ low speed than 3x + //; hard to say if 3x NOP is actually better, it might succeed more on reads, but switching to HS seems to fail more often b read_next_bit .p2align 4 @@ -386,6 +395,11 @@ always_send_ack: swim_hi swim_od + //; check that SWIM is actually high + //; if device failed it's possible pairity still passed + //; but device sensed reset condition due to lack of legit pullup + //; in which case it would likely be outputing low now for 16usec + //; organize return data //; MSB NAK/NORESP from last write //; if ACK, then return read result diff --git a/firmware/source/flash.c b/firmware/source/flash.c index 990adbe..f40a943 100644 --- a/firmware/source/flash.c +++ b/firmware/source/flash.c @@ -215,10 +215,15 @@ uint8_t write_page_snes( uint8_t bank, uint8_t addrH, buffer *buff, write_funcpt //retry if write failed //this helped but still seeing similar fails to dumps - // if (read == buff->data[n]) { + if (read == buff->data[n]) { n++; cur++; - // } + LED_IP_PU(); + LED_LO(); + } else { + LED_OP(); + LED_HI(); + } } diff --git a/firmware/source/main.c b/firmware/source/main.c index 9982fd8..3dd1620 100644 --- a/firmware/source/main.c +++ b/firmware/source/main.c @@ -57,6 +57,13 @@ int main(void) //Default clock is in operation //Change system clock as needed init_clock(); + +//trying to move to 48Mhz clock for all STM32 cores + //If >24Mhz SYSCLK, must add wait state to flash + //can also enable prefetch buffer + FLASH->ACR = FLASH_ACR_PRFTBE | 0x0001; + //switch to 48Mhz + RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; //Initialize periphery clocks as needed init_usb_clock(); @@ -73,6 +80,7 @@ int main(void) init_usb(); //Initialize board/system + #endif //intialize i/o and LED to pullup state diff --git a/firmware/source/swim.c b/firmware/source/swim.c index de8d138..2004b3a 100644 --- a/firmware/source/swim.c +++ b/firmware/source/swim.c @@ -9,6 +9,10 @@ // //================================================================================================= +uint8_t swim_pin; +uint16_t swim_mask; +GPIO_TypeDef *swim_base; + /* Desc:Function takes an opcode which was transmitted via USB * then decodes it to call designated function. * shared_dict_swim.h is used in both host and fw to ensure opcodes/names align @@ -31,16 +35,26 @@ uint8_t swim_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * case SWIM_RESET: swim_reset(); break; case SWIM_SRST: rdata[RD_LEN] = BYTE_LEN; - rdata[RD0] = swim_out( 0x0000, 4); break; + //assumes low speed + rdata[RD0] = swim_xfr( 0x0000, ((SWIM_WR<<16) | 4), swim_base, swim_mask); break; case WOTF: rdata[RD_LEN] = BYTE_LEN; - rdata[RD0] = swim_woft( operand, miscdata ); break; + rdata[RD0] = swim_wotf( SWIM_LS, operand, miscdata ); break; + case WOTF_HS: + rdata[RD_LEN] = BYTE_LEN; + rdata[RD0] = swim_wotf( SWIM_HS, operand, miscdata ); break; case ROTF: rdata[RD_LEN] = HWORD_LEN; //this assignment actually undoes the byte swap //first index of data includes NAK/ACK just like write routines which only return ACK/NAK //second index of data includes actual byte read back - *ret_hword = swim_roft( operand ); break; + *ret_hword = swim_rotf( SWIM_LS, operand ); break; + case ROTF_HS: + rdata[RD_LEN] = HWORD_LEN; + //this assignment actually undoes the byte swap + //first index of data includes NAK/ACK just like write routines which only return ACK/NAK + //second index of data includes actual byte read back + *ret_hword = swim_rotf( SWIM_HS, operand ); break; default: //opcode doesn't exist return ERR_UNKN_SWIM_OPCODE; @@ -50,9 +64,6 @@ uint8_t swim_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t * } -uint8_t swim_pin; -uint16_t swim_mask; -GPIO_TypeDef *swim_base; void delay( uint16_t delay ) { @@ -82,7 +93,7 @@ void swim_activate() //pulse low for 16usec spec says 16usec //but looking at working programmers they do twice the delays below pinport_call( CTL_SET_LO_, 0, swim_pin, 0); - delay(16); + delay(3*16); pinport_call( CTL_SET_HI_, 0, swim_pin, 0); //toggle high->low T=1msec 4x @@ -91,22 +102,22 @@ void swim_activate() //TODO move this timed code into a timer to make timing more stable //between boards, pinport.c code, etc.... #ifdef STM_INL6 - delay(719); + delay(3*719); #endif #ifdef STM_ADAPTER - delay(720); + delay(3*720); #endif pinport_call( CTL_SET_LO_, 0, swim_pin, 0); - delay(718); + delay(3*718); pinport_call( CTL_SET_HI_, 0, swim_pin, 0); } //toggle high->low T=0.5msec 4x for( i = 0; i < 4; i++) { //STM adapter 358 = 256usec - delay(356); + delay(3*356); pinport_call( CTL_SET_LO_, 0, swim_pin, 0); - delay(355); + delay(3*355); pinport_call( CTL_SET_HI_, 0, swim_pin, 0); } @@ -137,7 +148,7 @@ void swim_reset() //pulse low for 16usec spec says 16usec //but looking at working programmers they do very long resets pinport_call( CTL_SET_LO_, 0, swim_pin, 0); - delay(16); + delay(3*16); pinport_call( CTL_SET_HI_, 0, swim_pin, 0); } @@ -159,6 +170,146 @@ void swim_reset() #define NO_RESP 0xFF #define ACK 0x01 #define NAK 0x00 + +/* Function to get parity of number n. It returns 0 + * if n has odd parity, and returns 0xFF if n has even + * parity */ +uint16_t append_pairity(uint8_t n) +{ + //shift incoming data to upper byte + uint16_t data_pb = (n<<8); + uint8_t parity = 0; + + while (n) { + parity = ~parity; + n = n & (n - 1); + } + + if ( parity ) { + return (data_pb | 0x80); + } else { + return data_pb; + } +} + +/* Desc:read byte from SWIM + * Pre: swim must be activated + * Post: + * Rtn: should return success/error and value read + */ +uint16_t swim_rotf(uint8_t speed, uint16_t addr) +{ + uint32_t ack_data = 0; +#ifdef STM_CORE + + uint16_t data_pb; + uint32_t spddir_len; + //bit sequence: + //1bit header "0" Host comm + //3bit command b2-1-0 "001" ROTF + //1bit pairity xor of cmd "1" + //1bit ACK "1" or NAK "0" from device + // 0b0_0011 + data_pb = 0x3000; + spddir_len = ((SWIM_WR|speed)<<16) | 4; //data + pairity ( '0' header not included) + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write N "number of bytes for ROTF" + data_pb = 0x0180; + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @E extended address of write + //always 0x00 since targetting stm8s003 which only has one section + data_pb = 0x0000; + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @H high address of write + data_pb = append_pairity( addr>>8 ); + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @L high address of write + data_pb = append_pairity( addr ); + //this is a read xfr because device will output data immediately after + //writting last byte of command info + spddir_len = ((SWIM_RD|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + + //read DATA portion of write + + //More bytes can be written + //any time NAK is recieved must resend byte +end_swim: + +#endif + return ack_data; + + +} + +uint8_t swim_wotf(uint8_t speed, uint16_t addr, uint8_t data) +{ + uint32_t ack_data = 0; +#ifdef STM_CORE + uint16_t data_pb; + uint32_t spddir_len; + //bit sequence: + //1bit header "0" Host comm + //3bit command b2-1-0 "010" WOTF + //1bit pairity xor of cmd "1" + //1bit ACK "1" or NAK "0" from device + // 0b0_0101 + data_pb = 0x5000; + spddir_len = ((SWIM_WR|speed)<<16) | 4; //data + pairity ( '0' header not included) + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write N "number of bytes for ROTF" + data_pb = 0x0180; + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @E extended address of write + //always 0x00 since targetting stm8s003 which only has one section + data_pb = 0x0000; + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @H high address of write + data_pb = append_pairity( addr>>8 ); + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + if (ack_data != ACK) goto end_swim; + + //write @L high address of write + data_pb = append_pairity( addr ); + //writting last byte of command info + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + + //DATA portion of write + data_pb = append_pairity( data ); + spddir_len = ((SWIM_WR|speed)<<16) | 9; + ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); + + //More bytes can be written + //any time NAK is recieved must resend byte +end_swim: + +#endif + return ack_data; + + +} + /* Desc:Transfer SWIM bit stream * Always outputs '0' as first bit for header "from host" * Will output len number of bits plus one for header @@ -169,10 +320,12 @@ void swim_reset() * Post:STM8 mcu SWIM active * Rtn: 0xFF if no response, 0-NAK, 1-ACK. */ +/* uint8_t swim_out(uint16_t stream, uint8_t len)//, GPIO_TypeDef *base) { //__asm("swim_out_begin:\n\t"); +#ifdef STM_CORE uint8_t return_val; uint16_t pushpull = swim_base->OTYPER & ~swim_mask; @@ -304,170 +457,8 @@ __asm("stream_end:\n\t"); return NAK; } +#endif //made it to here then we got an ACK return ACK; } - -/* Function to get parity of number n. It returns 0 - * if n has odd parity, and returns 0xFF if n has even - * parity */ -uint16_t append_pairity(uint8_t n) -{ - //shift incoming data to upper byte - uint16_t data_pb = (n<<8); - uint8_t parity = 0; - - while (n) { - parity = ~parity; - n = n & (n - 1); - } - - if ( parity ) { - return (data_pb | 0x80); - } else { - return data_pb; - } -} - -/* Desc:read byte from SWIM - * Pre: swim must be activated - * Post: - * Rtn: should return success/error and value read - */ - -//must match swim.s .equ statements!!! -#define SWIM_RD_LS 0x01 -#define SWIM_WR_LS 0x02 -#define SWIM_RD_HS 0x11 -#define SWIM_WR_HS 0x12 - -uint16_t swim_roft(uint16_t addr) -{ - //If >24Mhz SYSCLK, must add wait state to flash - //can also enable prefetch buffer - FLASH->ACR = FLASH_ACR_PRFTBE | 0x0001; - //switch to 48Mhz - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_PLL; - - uint16_t data_pb; - uint32_t ack_data; - uint32_t spddir_len; - //bit sequence: - //1bit header "0" Host comm - //3bit command b2-1-0 "001" ROTF - //1bit pairity xor of cmd "1" - //1bit ACK "1" or NAK "0" from device - // 0b0_0011 - data_pb = 0x3000; - spddir_len = (SWIM_WR_LS<<16) | 4; //data + pairity ( '0' header not included) - ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); - if (ack_data != ACK) goto end_swim; - - //write N "number of bytes for ROTF" - data_pb = 0x0180; - spddir_len = (SWIM_WR_LS<<16) | 9; - ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); - if (ack_data != ACK) goto end_swim; - - //write @E extended address of write - //always 0x00 since targetting stm8s003 which only has one section - data_pb = 0x0000; - spddir_len = (SWIM_WR_LS<<16) | 9; - ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); - if (ack_data != ACK) goto end_swim; - - //write @H high address of write - data_pb = append_pairity( addr>>8 ); - spddir_len = (SWIM_WR_LS<<16) | 9; - ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); - if (ack_data != ACK) goto end_swim; - - //write @L high address of write - data_pb = append_pairity( addr ); - //this is a read xfr because device will output data immediately after - //writting last byte of command info - spddir_len = (SWIM_RD_LS<<16) | 9; - ack_data = swim_xfr( data_pb, spddir_len, swim_base, swim_mask); - - //read DATA portion of write - - //More bytes can be written - //any time NAK is recieved must resend byte -end_swim: - - RCC->CFGR = (RCC->CFGR & ~RCC_CFGR_SW) | RCC_CFGR_SW_HSE; - //Don't need wait states or prefetch buffer anymore - FLASH->ACR = 0x0000; - return ack_data; - -} - - -/* Desc:write byte to SWIM - * Pre: swim must be activated - * Post: - * Rtn: 0-NAK, 1-ACK, 0xFF no response - */ -uint8_t swim_woft(uint16_t addr, uint8_t data) -{ - uint16_t data_pb; - uint8_t ack; - uint8_t len = 0; - //bit sequence: - //1bit header "0" Host comm - //3bit command b2-1-0 "010" WOTF - //1bit pairity xor of cmd "1" - //1bit ACK "1" or NAK "0" from device - // 0b0_0101 - data_pb = 0x5000; -// data_pb = 0x4000; //test wrong pairity - len = 4; //data + pairity ( '0' header not included) - ack = swim_out( data_pb, len); - - if (ack == NO_RESP) { - return NO_RESP; - } else if (ack == NAK) { - return NAK; - //wait and resend WOFT command - } - - //write N "number of bytes for WOTF" - data_pb = 0x0180; - len = 9; - ack = swim_out( data_pb, len); - - if (ack == NO_RESP) return NO_RESP; - - //write @E extended address of write - //always 0x00 since targetting stm8s003 which only has one section - data_pb = 0x0000; - len = 9; - ack = swim_out( data_pb, len); - - if (ack == NO_RESP) return NO_RESP; - - //write @H high address of write - data_pb = append_pairity( addr>>8 ); - len = 9; - ack = swim_out( data_pb, len); - - if (ack == NO_RESP) return NO_RESP; - - //write @L high address of write - data_pb = append_pairity( addr ); - len = 9; - ack = swim_out( data_pb, len); - - if (ack == NO_RESP) return NO_RESP; - - //write DATA portion of write - data_pb = append_pairity( data ); - len = 9; - ack = swim_out( data_pb, len); - - //More bytes can be written - //any time NAK is recieved must resend byte - - return ack; -} - +*/ diff --git a/firmware/source/swim.h b/firmware/source/swim.h index b1b0815..a0c0749 100644 --- a/firmware/source/swim.h +++ b/firmware/source/swim.h @@ -9,12 +9,20 @@ extern uint8_t swim_pin; extern GPIO_TypeDef *swim_base; extern uint16_t swim_mask; +//must match swim.s .equ statements!!! +#define SWIM_RD 0x01 +#define SWIM_WR 0x02 +//#define SWIM_RD_HS 0x11 +//#define SWIM_WR_HS 0x12 +#define SWIM_LS 0x00 +#define SWIM_HS 0x10 + uint8_t swim_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rdata ); void swim_activate(); void swim_reset(); -uint8_t swim_out(uint16_t stream, uint8_t len); -uint16_t swim_roft(uint16_t addr); -uint8_t swim_woft(uint16_t addr, uint8_t data); +//uint8_t swim_out(uint16_t stream, uint8_t len); +uint16_t swim_rotf(uint8_t speed, uint16_t addr); +uint8_t swim_wotf(uint8_t speed, uint16_t addr, uint8_t data); uint16_t append_pairity(uint8_t n); //assembly functions from swim.s diff --git a/host/inlretro.exe b/host/inlretro.exe new file mode 100644 index 0000000000000000000000000000000000000000..100294c46c3600d863f5627b12309cb564456b7c GIT binary patch literal 334793 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 = SST_MANF_ID; --- flash->part = rv[RV_DATA0_IDX]; --- flash->wr_dict = DICT_NES; --- flash->wr_opcode = NES_PPU_WR; --- } --- + local prod_id = dict.snes("SNES_ROM_RD", 0x0002) + if debug then print("attempted read SNES ROM prod ID:", string.format("%X", prod_id)) end + local density_id = dict.snes("SNES_ROM_RD", 0x001C) + if debug then print("attempted read SNES density ID: ", string.format("%X", density_id)) end + local boot_sect = dict.snes("SNES_ROM_RD", 0x001E) + if debug then print("attempted read SNES boot sect ID:", string.format("%X", boot_sect)) end + --put cart in program mode dict.pinport("CTL_SET_LO", "SNES_RST") @@ -93,7 +80,12 @@ local function read_flashID( debug ) dict.pinport("CTL_SET_HI", "SNES_RST") - --return true + --return true if detected flash chip + if (manf_id == 0x01 and prod_id == 0x49) then + return true + else + return false + end end diff --git a/host/scripts/app/swim.lua b/host/scripts/app/swim.lua new file mode 100644 index 0000000..037d646 --- /dev/null +++ b/host/scripts/app/swim.lua @@ -0,0 +1,347 @@ + +-- create the module's table +local swim = {} + +-- import required modules +local dict = require "scripts.app.dict" +--local buffers = require "scripts.app.buffers" + +-- file constants +-- firmware assembly return error code definitions +--.equ NO_RESP, 0xFF device didn't appear to respond +--.equ ACK, 0x01 transfer successful +--.equ NAK, 0x00 device couldn't complete operation +--.equ HERR, 0x0E header error +--.equ PERR, 0x09 pairity error +local ECODE = {} +ECODE.NORESP = 0xFF +ECODE.ACK = 0x01 +ECODE.NAK = 0x00 +ECODE.PERR = 0x0E +ECODE.HERR = 0x09 +--local NRESP = 0xFF +--local ACK = 0x01 +--local NAK = 0x00 +--local PERR = 0x0E +--local HERR = 0x09 + +local cur_CSR = 0x00 +local SWIM_CSR = 0x7F80 + +-- local functions +local function get_key_for_value( t, value ) + for k,v in pairs(t) do + if v==value then + return k + end + end + return nil +end + +local function stm8_system_reset() + --if cur_CSR has bit 2 set, SWIM must be reactivated +end + +local function reset_swim() + print("resetting SWIM") + dict.swim("SWIM_RESET") + +-- wotf(SWIM_CSR, cur_CSR) + --must rewrite current value of SWIM_CSR register as HIGHSPEED is cleared during SWIM RESET + dict.swim("WOTF", SWIM_CSR, cur_CSR) +end + +local function rotf(addr, hspeed, num) + + local result = ECODE.NAK + local data + local tries = 5 + local resets = 3 + + local opcode = "ROTF" + if hspeed then + opcode = "ROTF_HS" + end + + while result ~= "ACK" and tries > 0 do + result, data = dict.swim(opcode, addr) + --convert the value to the key string + result = get_key_for_value( ECODE, result) + print("rotf", string.format(" %X: %X, result ", addr, data), result) + if result == "NORESP" then + reset_swim() + end + tries = tries - 1 + if tries == 0 then + print("ERROR max tries exceeded") + reset_swim() + resets = resets - 1 + if resets > 0 then + tries = 5 + end + end + end +end + +local function wotf(addr, data, hspeed, num) + + local result = ECODE.NAK + local tries = 5 + local resets = 3 + + local opcode = "WOTF" + if hspeed then + opcode = "WOTF_HS" + end + + while result ~= "ACK" and tries > 0 do + result = dict.swim(opcode, addr, data) + result = get_key_for_value( ECODE, result) + print("wotf", string.format(" %X: %X, result ", addr, data), result) + tries = tries - 1 + if result == "NORESP" then + reset_swim() + end + if tries == 0 then + print("ERROR max tries exceeded") + reset_swim() + resets = resets - 1 + if resets > 0 then + tries = 5 + end + end + end +end + +local function start() + + dict.io("IO_RESET") + + dict.io("SNES_INIT") + dict.io("SWIM_INIT", "SWIM_ON_EXP0") + dict.swim("SWIM_ACTIVATE") + + --holds SWIM pin low for 16usec+ to reset SWIM comms incase of error + --also verifies that device has SWIM active + dict.swim("SWIM_RESET") + + + --write 0A0h to SWIM_CSR + --bit 5: allows entire memory range to be read & swim reset to be accessed + --bit 7: masks internal reset sources (like WDT..?) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) +-- print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA0)) + cur_CSR = 0xA0 + wotf(SWIM_CSR, cur_CSR) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + + --read SWIM_CSR + --dict.swim("SWIM_RESET") + + --print("wotf SRST:", dict.swim("SWIM_SRST")) + --print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA0)) + + --now the SRST command is available, whole memory range available, and internal resets disabled + --by default there is now a breakpoint set at reset vector + + --reset the STM8 core + print("wotf SRST:", dict.swim("SWIM_SRST")) + + --the STM8 core is now stalled @ reset vector + --can read/write to any address on STM8 core + --if CIC ROP bit is set, we can only r/w to periph & SRAM + + --bit 2: SWIM is reset (exits active mode) when chip reset + --this forces successful SWIM entry on each execution of script +-- print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + --print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA4)) +-- cur_CSR = cur_CSR | 0x04 +-- wotf(SWIM_CSR, cur_CSR) +-- print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + + wotf(0x0000, 0x00) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + rotf(0x0000) + print("switch to HS") + --bit 4: SWIM HIGH SPEED (set for high speed) SWIM RESET will set back to low speed + --print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xB4)) + cur_CSR = cur_CSR | 0x10 + wotf(SWIM_CSR, cur_CSR) +-- print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF_HS", 0x7F80))) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF_HS", 0x7F80))) + + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x8028))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x8029))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x802A))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x802B))) + + --print("wotf :", dict.swim("WOTF_HS", 0x8028, 0x49)) + --print("wotf :", dict.swim("WOTF_HS", 0x8029, 0x4E)) + --print("wotf :", dict.swim("WOTF_HS", 0x802A, 0x4C)) + --print("wotf :", dict.swim("WOTF_HS", 0x802B, 0x20)) + + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x8028))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x8029))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x802A))) + --print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x802B))) + +--read then write to SRAM +-- print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x0000))) + + --print("wotf :", dict.swim("WOTF_HS", 0x0000, 0x00)) + --high speed now, enable flag with true + wotf(0x0000, 0x00, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + rotf(0x0000, true) + wotf(0x0000, 0xEE, true) + rotf(0x0000, true) + wotf(0x0000, 0xAA, true) + rotf(0x0000, true) + wotf(0x0000, 0x55, true) + rotf(0x0000, true) + +-- print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x0000))) + +--read then write to eeprom +-- print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x4000))) +-- +-- --need to unlock the eeprom first! +-- --Write 0xAE then 56h in +-- --FLASH_DUKR (0x00 5064)(1)(2) +-- print("wotf :", dict.swim("WOTF_HS", 0x5064, 0xAE)) +-- print("wotf :", dict.swim("WOTF_HS", 0x5064, 0x56)) +-- --write data +-- print("wotf :", dict.swim("WOTF_HS", 0x4000, 0x00)) +-- +-- --lock eeprom +-- --Reset bit 3 (DUL) +-- --in FLASH_IAPSR (0x00 505F) +-- print("wotf :", dict.swim("WOTF_HS", 0x505F, 0x00)) +-- +-- print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x4000))) + +--read then write to flash +-- print("rotf :", string.format("%X %X", dict.swim("ROTF_HS", 0x8028))) + + --need to unlock the flash first! + --Write 0x56 then 0xAE in + --FLASH_PUKR (0x00 5062)(3) +-- print("wotf :", dict.swim("WOTF_HS", 0x5062, 0x56)) +-- print("wotf :", dict.swim("WOTF_HS", 0x5062, 0xAE)) +-- --write data +-- byte = 0x8028 +-- data = 0x12 +-- while byte < 0x8030 do +-- while (dict.swim("WOTF_HS", byte, data) ~= 1) do +-- print("woft nak ", byte) +-- end +-- +-- byte = byte + 1 +-- data = data + 0x11 +-- +-- end + +-- print("wotf 28:", dict.swim("WOTF_HS", 0x8028, 0xEE)) +-- print("wotf 29:", dict.swim("WOTF_HS", 0x8029, 0x11)) +-- print("wotf 2A:", dict.swim("WOTF_HS", 0x802A, 0x22)) +-- print("wotf 2B:", dict.swim("WOTF_HS", 0x802B, 0x33)) +-- print("wotf 2C:", dict.swim("WOTF_HS", 0x802C, 0x44)) +-- print("wotf 2D:", dict.swim("WOTF_HS", 0x802D, 0x55)) +-- print("wotf 2E:", dict.swim("WOTF_HS", 0x802E, 0x66)) +-- print("wotf 2F:", dict.swim("WOTF_HS", 0x802F, 0x77)) + + --lock flash + --Reset bit 1 (PUL) +-- --in FLASH_IAPSR (0x00 505F) +-- print("wotf :", dict.swim("WOTF_HS", 0x505F, 0x00)) +-- +-- print("rotf 28 :", string.format("%X %X", dict.swim("ROTF_HS", 0x8028))) +-- print("rotf 29 :", string.format("%X %X", dict.swim("ROTF_HS", 0x8029))) +-- print("rotf 2A :", string.format("%X %X", dict.swim("ROTF_HS", 0x802A))) +-- print("rotf 2B :", string.format("%X %X", dict.swim("ROTF_HS", 0x802B))) +-- print("rotf 2C :", string.format("%X %X", dict.swim("ROTF_HS", 0x802C))) +-- print("rotf 2D :", string.format("%X %X", dict.swim("ROTF_HS", 0x802D))) +-- print("rotf 2E :", string.format("%X %X", dict.swim("ROTF_HS", 0x802E))) +-- print("rotf 2F :", string.format("%X %X", dict.swim("ROTF_HS", 0x802F))) +-- +-- +-- --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + --print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) + + --test by blinking LED via periph register access + --v2 board has LED on hi_lo_sel PA2 +-- print("wotf LED PA_CR1:", dict.swim("WOTF", 0x5003, 0xFF)) --default is input w/o pullup, now pullups enabled +-- --LED should be dimly lit +-- --set pin to pushpull +-- print("wotf LED PA_DDR:", dict.swim("WOTF", 0x5002, 0x04)) --PA2 is output CR1 set above makes pushpull +-- --LED is push/pull, ODR default to 0, so LED OFF +-- print("wotf LED PA_ODR:", dict.swim("WOTF", 0x5000, 0x04)) --PA2 output set LED ON! +-- print("wotf LED PA_ODR:", dict.swim("WOTF", 0x5000, 0x00)) --PA2 output set LED OFF! +--HIGH SPEED + print("wotf LED PA_CR1:", dict.swim("WOTF_HS", 0x5003, 0xFF)) --default is input w/o pullup, now pullups enabled + --LED should be dimly lit + --set pin to pushpull + print("wotf LED PA_DDR:", dict.swim("WOTF_HS", 0x5002, 0x04)) --PA2 is output CR1 set above makes pushpull + --LED is push/pull, ODR default to 0, so LED OFF + print("wotf LED PA_ODR:", dict.swim("WOTF_HS", 0x5000, 0x04)) --PA2 output set LED ON! + print("wotf LED PA_ODR:", dict.swim("WOTF_HS", 0x5000, 0x00)) --PA2 output set LED OFF! + + + --holds SWIM pin low for 16usec+ to reset SWIM comms incase of error +-- dict.swim("SWIM_RESET") + + --reset the chip, if bit2 set in CSR the SWIM exits active mode with this reset +-- print("wotf SRST:", dict.swim("SWIM_SRST")) + --SWIM is now inactive chip is executing it's program code + + --indicate to logic analyzer that test sequence above is complete +-- dict.pinport("CTL_SET_LO", "EXP0") + dict.io("IO_RESET") + +end + + +-- global variables so other modules can use them + + +-- call functions desired to run when script is called/imported + + +-- functions other modules are able to call +swim.start = start +swim.wotf = wotf +swim.rotf = rotf + +-- return the module's table +return swim diff --git a/host/scripts/inlretro.lua b/host/scripts/inlretro.lua index 3993681..eb057a1 100644 --- a/host/scripts/inlretro.lua +++ b/host/scripts/inlretro.lua @@ -12,6 +12,8 @@ function main () local dump = require "scripts.app.dump" local erase = require "scripts.app.erase" local flash = require "scripts.app.flash" + local swim = require "scripts.app.swim" +-- local crc32 = require "scripts.app.crc32" local rv -- rv = dict.pinport( "CTL_ENABLE" ) @@ -32,72 +34,13 @@ function main () -- print(dict.io("EXP0_PULLUP_TEST")) -- - dict.io("IO_RESET") - dict.io("SNES_INIT") - dict.io("SWIM_INIT", "SWIM_ON_EXP0") - dict.swim("SWIM_ACTIVATE") - - --holds SWIM pin low for 16usec+ to reset SWIM comms incase of error - dict.swim("SWIM_RESET") - - - --write 0A0h to SWIM_CSR - --bit 5: allows entire memory range to be read & swim reset to be accessed - --bit 7: masks internal reset sources (like WDT..?) - print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA0)) - - --read SWIM_CSR - print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) - print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) - print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) - print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) - print("rotf SWIM_CSR:", string.format("%X %X", dict.swim("ROTF", 0x7F80))) - dict.swim("SWIM_RESET") - - print("wotf SRST:", dict.swim("SWIM_SRST")) - print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA0)) - - --now the SRST command is available, whole memory range available, and internal resets disabled - --by default there is now a breakpoint set at reset vector - - --reset the STM8 core - print("wotf SRST:", dict.swim("SWIM_SRST")) - - --the STM8 core is now stalled @ reset vector - --can read/write to any address on STM8 core - --if CIC ROP bit is set, we can only r/w to periph & SRAM - - --bit 2: SWIM is reset (exits active mode) when chip reset - --this forces successful SWIM entry on each execution of script - print("wotf SWIM_CSR:", dict.swim("WOTF", 0x7F80, 0xA4)) - - --test by blinking LED via periph register access - --v2 board has LED on hi_lo_sel PA2 - print("wotf LED PA_CR1:", dict.swim("WOTF", 0x5003, 0xFF)) --default is input w/o pullup, now pullups enabled - --LED should be dimly lit - --set pin to pushpull - print("wotf LED PA_DDR:", dict.swim("WOTF", 0x5002, 0x04)) --PA2 is output CR1 set above makes pushpull - --LED is push/pull, ODR default to 0, so LED OFF - print("wotf LED PA_ODR:", dict.swim("WOTF", 0x5000, 0x04)) --PA2 output set LED ON! - print("wotf LED PA_ODR:", dict.swim("WOTF", 0x5000, 0x00)) --PA2 output set LED OFF! - - - --holds SWIM pin low for 16usec+ to reset SWIM comms incase of error - dict.swim("SWIM_RESET") - - --reset the chip, if bit2 set in CSR the SWIM exits active mode with this reset - print("wotf SRST:", dict.swim("SWIM_SRST")) - --SWIM is now inactive chip is executing it's program code - - --indicate to logic analyzer that test sequence above is complete - dict.pinport("CTL_SET_LO", "EXP0") - dict.io("IO_RESET") -- debug = true -- rv = cart.detect(debug) - local force_cart = true +-- local force_cart = true +-- cart_console = "SNES" if (force_cart or cart.detect_console(true)) then if cart_console == "NES" or cart_console == "Famicom" then @@ -134,7 +77,7 @@ function main () erase.erase_nes( true ) --open file local file - file = assert(io.open("flash.bin", "rb")) + file = assert(io.open("inltest.bin", "rb")) --determine if auto-doubling, deinterleaving, etc, --needs done to make board compatible with rom --flash cart @@ -156,6 +99,9 @@ function main () dict.io("IO_RESET") elseif cart_console == "SNES" then + + swim.start() + dict.io("IO_RESET") dict.io("SNES_INIT") @@ -166,16 +112,38 @@ function main () --SNES detect if there's save ram and size --SNES detect if able to read flash ID's - snes.read_flashID(true) + if not snes.read_flashID(true) then + print("ERROR unable to read flash ID") + return + end + --quick lame check to see if chip erased + if snes.read_reset_vector(0, true) ~= 0xFFFF then + erase.erase_snes( false ) + end + if snes.read_reset_vector(1, true) ~= 0xFFFF then + erase.erase_snes( false ) + end + if snes.read_reset_vector(20, true) ~= 0xFFFF then + erase.erase_snes( false ) + end + if snes.read_reset_vector(63, true) ~= 0xFFFF then + erase.erase_snes( false ) + end --FLASHING: --erase cart - -- erase.erase_snes( false ) +-- erase.erase_snes( false ) --open file local file - file = assert(io.open("flash.bin", "rb")) + -- file = assert(io.open("flash.bin", "rb")) + file = assert(io.open("SF2_PTdump_capcomFINAL.bin", "rb")) + + --calculate checksum + --local data = file:read("*all") + --print(crc32.hash(data)) + --determine if auto-doubling, deinterleaving, etc, --needs done to make board compatible with rom --flash cart @@ -195,7 +163,7 @@ function main () --trick to do this at end while debugging so don't have to wait for it before starting --- erase.erase_snes( false ) + erase.erase_snes( false ) dict.io("IO_RESET") diff --git a/host/source/usb_operations.c b/host/source/usb_operations.c index c42ac52..c19fdda 100644 --- a/host/source/usb_operations.c +++ b/host/source/usb_operations.c @@ -147,7 +147,7 @@ libusb_device_handle * open_usb_device( libusb_context *context, int log_level ) //Getting here means the device was opened because it matched V-USB //VID/PID, but it wasn't a compatible device. //Can't use this device, so close it - if (log_level>0) printf("VID/PID matched, but manf/prod didn't match, closing device\n"); + if (log_level>0) printf("VID/PID matched, but manf/prod didn't match, closing device.\n It's likely that the drivers haven't been installed...\n"); libusb_close(handle); handle = NULL; //Don't want to try and reclose } diff --git a/shared/shared_dict_swim.h b/shared/shared_dict_swim.h index 27dfc5e..7de4895 100644 --- a/shared/shared_dict_swim.h +++ b/shared/shared_dict_swim.h @@ -29,6 +29,7 @@ #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) @@ -36,6 +37,7 @@ //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