diff --git a/firmware/build_stm/inlretro_stm.elf b/firmware/build_stm/inlretro_stm.elf new file mode 100644 index 0000000..42d1e08 Binary files /dev/null and b/firmware/build_stm/inlretro_stm.elf differ diff --git a/firmware/build_stm/inlretro_stm.hex b/firmware/build_stm/inlretro_stm.hex new file mode 100644 index 0000000..70b2866 --- /dev/null +++ b/firmware/build_stm/inlretro_stm.hex @@ -0,0 +1,1355 @@ +:020000040800F2 +:10000000001800200508000835050008390500081B +:1000100000000000000000000000000000000000E0 +:10002000000000000000000000000000350500088E +:10003000000000000000000035050008350500083C +:1000400035050008350500083505000835050008A8 +:100050003505000835050008350500083505000898 +:100060003505000835050008350500083505000888 +:100070003505000835050008350500083505000878 +:100080003505000835050008350500083505000868 +:100090003505000835050008350500083505000858 +:1000A0003505000835050008350500083505000848 +:1000B00035050008350500083505000899010008D8 +:1000C000284B10B51A88284B12041B881A43274B5B +:1000D000198849084900885A254908801988023139 +:1000E00089B21980198849084900885A214908802D +:1000F0001988023189B21980198849084900885A3B +:100100001D49088019881D48023189B21980198853 +:1001100049084900895A1A4A11801A881949023235 +:1001200092B21A801C880288944213D902881C88D3 +:100130000832121B92B20A80028892B21A801249C7 +:10014000124B0A881343124A1A40302353409BB281 +:100150000B8010BD0F4804881A889442E6D3082308 +:100160000B80ECE70C6000400A6000400460004037 +:100170004C6000404E600040506000400260004013 +:10018000526000401A600040005C00408080FFFF29 +:10019000BF8FFFFF006000409449F8B50B88944C76 +:1001A000002B3AD00A88934B9A4234D1002302257F +:1001B000914A924F1380924A1380924A1380924A36 +:1001C0001380924A1380924AD08FA843D087D08F51 +:1001D000013DA843D0878F481735FB8705808E489F +:1001E000343505808D480835058080258C486D01A3 +:1001F000058080258B4805808020FB878A4B000680 +:1002000023808A4B18608023D08FDB000343D38781 +:10021000874B884A1A8000230B8023881BB2002B4F +:1002200000DBC4E02388844A774F134080221343C5 +:10023000238023881B0500D49CE0804D7F232A78EF +:1002400011009943714B1980E9886B4B198000218B +:100250006C4B19803B88FF318B4313433B806023F9 +:100260001A4208D08022764B12051B8828009B1862 +:100270009847634B188060232A78134052B2002AB3 +:100280004DDA002B14D16A78062A0FD16A88110A38 +:1002900002291AD003291BD0012920D1694B12262B +:1002A000694A99B21180694A1B0C1380544B1E8015 +:1002B0002288674B1343674A1A40C0239B0153406F +:1002C0009BB22380FFF7FCFE47E05E4B1233E6E76C +:1002D000D2B2012A0FD0002A03D0022A15D01E0064 +:1002E000E4E7584B584A243399B21180574A1B0C03 +:1002F00013800426DAE7534B534A283399B211800E +:10030000524A1B0C1380544ED0E74E4B4E4A7C335E +:1003100099B211804D4A1B0C1380504EC6E7002B3A +:1003200009D16B78052B06D13A886B88D2B21B02B3 +:1003300013439BB23B8000212388494A1340494A1A +:1003400013439BB22380484B198023881A43474BA1 +:100350001A40474B5A4092B22280284BDB8F5B05F4 +:1003600007D580222F4B1A800023244AD3872E4B97 +:100370002380F8BD60213B880B40402BEDD13B88AA +:100380001342EAD1264A3B4B2C481B881188802215 +:1003900012059B18C9B298472288324B13432D4A45 +:1003A0001A40C0239B0153409BB22380D5E7802293 +:1003B00023881342D1D023882F490B408021090282 +:1003C0000B432380114B1B88934200D17AE7FF2017 +:1003D0000D4B19888143C0D01988090A0A43114975 +:1003E0000A801A8802401A80B7E7C0460E600040B3 +:1003F000005C00403CA5000000600040065C00403E +:100400000260004004600040066000400860004058 +:10041000025C0040505C0040186000401C600040DE +:100420001E6000404C5C00402032000000E100E013 +:10043000585C00400080FFFF8F0F000054600040B8 +:10044000106000407C0400080A6000400C6000401E +:100450008081FFFF8FBFFFFF2A0300001E03000003 +:100460008F8EFFFF8080FFFF1A600040BFBFFFFF3D +:1004700030300000126000400F8FFFFF12010002B9 +:10048000FF000008C016DC0503020102000109029A +:100490001200010100803209040000000000000089 +:1004A000040309042A0349006E00660069006E0017 +:1004B0006900740065004E00650073004C0069001F +:1004C0007600650073002E0063006F006D00000071 +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000001E0349004E004C00F8 +:10050000200052006500740072006F002D00500042 +:1005100072006F0067000000000000000000000093 +:1005200000000000000000000000000000000000CB +:1005300000000000FEE7FFFF004801E02301ADDE00 +:10054000FEE7C04602B4714649084900095C49000B +:100550008E4402BC7047C046411D000000616561C9 +:1005600062690001130000000536532D4D00060C92 +:10057000074D09011901FFFF03B471464908400006 +:100580004900095A49008E4403BC7047411D0000D0 +:100590000061656162690001130000000536532D9A +:1005A0004D00060C074D09011901FFFF70470A4B6A +:1005B0000A4A10B55A600A4A5A600122DC6814429D +:1005C000FCD11A6101220180D9681142FCD120229C +:1005D000DA6060321A6110BD0020024023016745D5 +:1005E000AB89EFCDFF2370B53C4C23804378C588A1 +:1005F000102B00D06FE0C37881888078384E0138A6 +:100600007269082800D964E0FFF79CFF0563632B3B +:100610003B3149515F008B1E8E227D2B19D8314B07 +:100620007360314B73600123F2681A42FCD10223DC +:100630003361802389021B05C9184223716133612C +:10064000C046413BF2681A40FCD12023F36060337E +:1006500033612270254BA2B2240CE8B25A819C81EE +:1006600070BD58001018FFF7A2FF0022F1E78E229C +:10067000012BEED8180480231B05C01840181C4914 +:10068000F1E7042363707369A37073691B0AE37055 +:1006900073691B0C237173691B0E6371E5E70223F9 +:1006A00063701388A37013881B0AE370DDE78E2242 +:1006B000012BCED880221B0412059B185918022347 +:1006C00063700B88A3700B88EEE70A4B0A4ADA6066 +:1006D000CBE78B22BDE780232370BBE7EC0600202D +:1006E0000020024023016745AB89EFCD0060004048 +:1006F000FFFF000000ED00E00400FA05FFFFFFFF30 +:10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10077000164B174A9BB21382164B9BB253826846A4 +:100780001C300F4A0F4B0430043001681140C91A65 +:10079000FAD1094A094B043801681140C91AF2D14B +:1007A0007B460A3303600438013303600CE00A4BD4 +:1007B0000A4A1A60FBE7C0460000FFFF000000087D +:1007C000FFFFFF0F0000000100207047E505000853 +:1007D00000600040AD05000800300040AAAA0000FB +:1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10080000FFFFFFFF09490A4A0A4B9B1A03DD043B1D +:10081000C858D050FBDC0849084A0020521A02DDB3 +:10082000043A8850FCDC02F0FFFC00005050000845 +:1008300000000020300400203004002028070020A1 +:1008400070B50E4B1A68537A55685C18E4B2A3422F +:100850000ED1537A0A48CB1853720378591AC9B289 +:1008600001700020814202D198230130D37070BD05 +:1008700006780130EE540133DBB2E8E79004002043 +:1008800094040020FF23F0B5C34C85B02380837906 +:1008900005000093407801380E2801D901F0B5FB1E +:1008A000FFF76AFE0F00A8059307A408770AB30BA9 +:1008B0009F0B2B09B3091A0A740AE308F508070904 +:1008C0001909A878AA888C23192822D8FFF754FE82 +:1008D0001A0024001A011502E10281030C04C80465 +:1008E000E404F004F80400050905120520052805B4 +:1008F000300538058005800580053D0552056905F0 +:10090000C902D502B023A54A5B0351690B43536169 +:100910000023237000F003FE152A01D900F05BFDCF +:100920001000FFF729FE160023002E00580539009D +:1009300044004F0058055C006900730080005805B2 +:1009400058058D009A00A700B400C100CE00D80061 +:10095000E2009023DB051A6891490A401A60802260 +:10096000D96852030A43DA600023D2E790230122B8 +:10097000DB05196891431960D9680A43DA600023DE +:10098000C7E790230422DB05196891431960D968F1 +:100990000A43DA600023BCE790231022DB051968C4 +:1009A00091431960D9680A43DA600023B1E79023C4 +:1009B0004022DB05196891431960D9680A43DA605F +:1009C0000023A6E79023DB051A6876490A401A60DF +:1009D0008022D968D2040A43DA60002399E7902381 +:1009E000DB051A6870490A401A608022D9685201F2 +:1009F0000A43DA6000238CE704226C4B19689143A8 +:100A00001960D9680A43DA60002382E79023DB0586 +:100A10001A6867490A401A608022D968D2050A43D9 +:100A2000DA60002375E79023DB051A6861490A4004 +:100A30001A608022D968D2020A43DA60002368E78C +:100A40009023DB051A685C490A401A608022D96845 +:100A500052000A43DA6000235BE79023DB051A6843 +:100A600056490A401A608022D968D2000A43DA60E7 +:100A700000234EE79023DB051A6851490A401A60AB +:100A80008022D968D2010A43DA60002341E790232B +:100A9000DB051A6843490A401A608022D968D204EB +:100AA0000A43DA60002334E79023DB051A684549DE +:100AB0000A401A608022D96852050A43DA6000238E +:100AC00027E70122394B196891431960D9680A4315 +:100AD000DA6000231DE710223B4B1968914319602F +:100AE000D9680A43DA60002313E79023DB051A680C +:100AF00032490A401A608022D968D2000A43DA607B +:100B0000002306E7152A01D900F068FC1000FFF762 +:100B100033FD160021002C00650437005D006800DD +:100B2000650473007E0088009300650465049E00E0 +:100B3000A900B400BF00CA00D500DF00E90090237F +:100B4000DB051968164801401960DA680240DA606E +:100B50000023DEE690230121DB051A688A431A6030 +:100B6000DA688A43DA600023D3E690230421DB05A8 +:100B70001A688A431A60DA688A43DA600023C8E692 +:100B800090231021DB051A688A431A60DA688A43C9 +:100B9000DA600023BDE6C046F406002000100240E3 +:100BA000FFFFEFFFFFFFFFFBFFEFFFFF0004004829 +:100BB000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF8E +:100BC000FFBFFFFFFFFFFFEF000C00489023402115 +:100BD000DB051A688A431A60DA688A43DA60002300 +:100BE00097E69023DB051968CE4801401960DA6862 +:100BF0000240DA6000238CE69023DB051968CA48BE +:100C000001401960DA680240DA60002381E60421BD +:100C1000C64B1A688A431A60DA688A43DA6000238E +:100C200077E69023DB051968C14801401960DA684E +:100C30000240DA6000236CE69023DB051968BD48AA +:100C400001401960DA680240DA60002361E690230F +:100C5000DB051968B84801401960DA680240DA60BB +:100C6000002356E69023DB051968B448014019605B +:100C7000DA680240DA6000234BE69023DB0519684E +:100C8000AF4801401960DA680240DA60002340E6AC +:100C90009023DB051968A34801401960DA68024017 +:100CA000DA60002335E69023DB051968A54801408A +:100CB0001960DA680240DA6000232AE601219B4BC2 +:100CC0001A688A431A60DA688A43DA60002320E6E9 +:100CD00010219D4B1A688A431A60DA688A43DA60E9 +:100CE000002316E69023DB0519689448014019603B +:100CF000DA680240DA6000230BE6152A00D970E3B7 +:100D00001000FFF739FC16001F0027006E032F00AC +:100D100037003F006E0348005100580061006E0329 +:100D20006E036A0073007C0085008E0097009E00B1 +:100D3000A50090228023D20511685B030B4313604A +:100D40000023E6E590220123D20511680B431360CE +:100D50000023DEE590220423D20511680B431360C3 +:100D60000023D6E590221023D20511680B431360AF +:100D70000023CEE590224023D20511680B43136077 +:100D80000023C6E590228023D2051168DB040B43C3 +:100D900013600023BDE590228023D20511685B011A +:100DA0000B4313600023B4E50423604A11680B432E +:100DB00013600023ADE590228023D2051168DB0586 +:100DC0000B4313600023A4E590228023D205116811 +:100DD000DB020B43136000239BE590228023D205A6 +:100DE00011685B000B431360002392E5902280237F +:100DF000D2051168DB000B431360002389E59022C4 +:100E00008023D2051168DB010B431360002380E5CA +:100E100090228023D2051168DB040B43136000236A +:100E200077E590228023D20511685B050B431360A0 +:100E300000236EE501233D4A11680B431360002334 +:100E400067E51023404A11680B431360002360E5F7 +:100E500090228023D2051168DB000B43136000232E +:100E600057E58D23082A00D053E590224023D20570 +:100E700051680B43536000234BE58D23082A00D0B3 +:100E800047E590224021D20553688B4353600023ED +:100E90003FE5152A00D9A7E21000FFF76DFB160009 +:100EA0001D002300A50229002F003500A5023C00EB +:100EB00057005C006300A502A5026A00700076007E +:100EC0007C0083008A008F00940090238022DB0541 +:100ED000D2009A6200231CE590230122DB059A626E +:100EE000002316E590230222DB059A62002310E519 +:100EF00090230422DB059A6200230AE5902308224E +:100F0000DB059A62002304E590238022DB05920131 +:100F10009A620023FDE490234022DB059A620023BD +:100F2000F7E4C046FFFFFFFBFFEFFFFF00040048B0 +:100F3000FFFFFFBFFFFFFBFFFFFEFFFFFFFBFFFF0A +:100F4000FFBFFFFFFFFFFFEF000C00480222CD4B69 +:100F50009A620023DDE490238022DB0512029A626C +:100F60000023D6E490238022DB0592009A620023BE +:100F7000CFE490231022DB059A620023C9E490237A +:100F80002022DB059A620023C3E490238022DB0544 +:100F90009A620023BDE490238022DB0592019A62CD +:100FA0000023B6E490238022DB05D2019A6200235D +:100FB000AFE40122B34B9A620023AAE40422B24BAD +:100FC0009A620023A5E490232022DB059A62002385 +:100FD0009FE4152A00D90AE21000FFF7CDFA1600A7 +:100FE0001D002300080229002F00350008023C00E4 +:100FF000420047004E000802080255005B006100F5 +:1010000067006E0075007A007F0090238022DB0568 +:10101000D2009A6100237CE490230122DB059A61CF +:10102000002376E490230222DB059A61002370E41A +:1010300090230422DB059A6100236AE490230822AE +:10104000DB059A61002364E490238022DB05920192 +:101050009A6100235DE490234022DB059A6100231E +:1010600057E40222874B9A61002352E490238022A6 +:10107000DB0512029A6100234BE490238022DB05FA +:1010800092009A61002344E490231022DB059A61C8 +:1010900000233EE490232022DB059A61002338E4FC +:1010A00090238022DB059A61002332E49023802282 +:1010B000DB0592019A6100232BE490238022DB055B +:1010C000D2019A61002324E401226E4B9A6100232D +:1010D0001FE404226C4B9A6100231AE4902320221F +:1010E000DB059A61002314E402236370152A00D9FA +:1010F000B1E01000FFF726FA0B151EAF273039AF0D +:10110000434C545DAFAF677079828C969EA6902356 +:101110008022DB051B69D200134063800023FFF7A8 +:10112000F8FB90230122DB051B6913406380002339 +:10113000FFF7EFFB90230222DB051B69134063805E +:101140000023FFF7E6FB90230422DB051B69134015 +:1011500063800023FFF7DDFB90230822DB051B697A +:10116000134063800023FFF7D4FB90238022DB052C +:101170001B699201134063800023FFF7CAFB902391 +:101180004022DB051B69134063800023FFF7C1FB8E +:1011900002223C4B1B69134063800023FFF7B9FB1D +:1011A0009023DB051B69DB0BDB0363800023FFF768 +:1011B000B0FB90238022DB051B6992001340638003 +:1011C0000023FFF7A6FB90231022DB051B691340C9 +:1011D00063800023FFF79DFB90232022DB051B6922 +:1011E000134063800023FFF794FB90238022DB05EC +:1011F0001B69134063800023FFF78BFB9023802241 +:10120000DB051B699201134063800023FFF781FB1C +:1012100090238022DB051B69D201134063800023E9 +:10122000FFF777FB0122174B1B69134063800023F4 +:10123000FFF76FFB0422144B1B69134063800023EC +:10124000FFF767FB90232022DB051B6913406380B7 +:101250000023FFF75EFB002363708D33FFF759FB1C +:1012600080230A4ADB0251690B435361054B08494D +:101270001A680A401A60D968064A0A43DA600023ED +:10128000FFF747FB00040048000C00480010024034 +:10129000FFFFAAAA00005555C64BC7491A680A4065 +:1012A0001A60D968C54A0A43DA600023FFF731FBA8 +:1012B000C04AC14913680B4013600023FFF729FBA4 +:1012C000BC4ABE4B11680B4313600023FFF721FBA0 +:1012D000B84912024B69DBB21A434A610023FFF797 +:1012E00018FBB44B1B691B0AA37001236370002316 +:1012F000FFF70FFB8023B24A1B0351690B43536175 +:10130000B04AB14B11680B4313600023FFF701FB98 +:10131000AC4AAD4BD1680B43D3600023FFF7F9FA19 +:10132000A84AAA4913680B4013600023FFF7F1FA9B +:10133000A44AA54B11680B4313600023FFF7E9FA99 +:10134000A04B5A610023FFF7E4FAC0239C4ADB025A +:1013500051690B435361974A9D4B11680B431360CE +:101360009022A023D20511685B030B431360002376 +:10137000FFF7CFFA8F4A964BD1680B43D360902387 +:10138000A021DB05D86849030143D9601168914861 +:10139000014011601A6890490A401A600023FFF763 +:1013A000B8FAFF258348930041692B408B4DD2004A +:1013B00029400B4343619021C020C905C0004B69FF +:1013C0000240874803401A434A610023FFF7A1FA0D +:1013D0000023FFF79EFA8D23FFF79BFA8D23FFF77B +:1013E00098FA8D23FFF795FA8D23FFF792FA8D2354 +:1013F000FFF78FFAAB88AD78042D00D1C0E10DD88E +:10140000012D00D193E0002D00D184E0022D00D108 +:10141000EEE0032D00D16FE196257EE0092D00D18D +:1014200044E120D8052D00D14AE1072DF4D101F087 +:10143000C1FC90230121DB051A6840200A431A6091 +:101440001022996119680A431A6004229A61196886 +:10145000014319600821996119680A431A60022240 +:101460009A619861DAE00A2D00D114E1802DD3D180 +:101470009023012540218026DB05657099621A685A +:10148000760132431A60C04656481C691A680C40FF +:1014900002401A60DA680240DA60F022002C37D18C +:1014A0001A6802401A60DA681643DE601A699446C8 +:1014B0001A690192C0461A690292C046C0461A696A +:1014C0000392C046C046C0461F69C046C046C046DB +:1014D000C0461E691A6802401A60DA681040D86077 +:1014E000634622000B4213D1019B2A000B420FD10D +:1014F000029B02320B420BD10B00039903321942BB +:1015000006D104321F4203D1D6321E4200D0D13A56 +:10151000354B9A70C8E001F04DFC334C2570334BCD +:101520000098A2B2240C5A819C8105B0F0BD01F054 +:1015300041FC9023DB051A682A431A6080229D61D2 +:10154000196852030A431A6080220421D2009A6269 +:101550001A680A431A6002229A6118680E3202431E +:101560001A604022996119680A431A6008229A6138 +:101570008023134ADB0251690F4D0B4353610D4B1E +:10158000196829401960DC680C490C43DC60186854 +:1015900028401860D86800250143D960802351692C +:1015A0001B030B435361074B074A19680A431A6030 +:1015B0005D61B2E700040048FFFFAAAA000055558C +:1015C000001002400008004855555555AAAAAAAA7D +:1015D00050550000AFAAFFFFFFFFEBFF03FF000025 +:1015E000FFF90000FFEFFFFFF4060020006000405D +:1015F00001F0E0FB90230121DB051A680A431A6021 +:101600001022996119680A431A60042240219A61E4 +:101610001A680A431A6008229A619961802219683F +:1016200052010A431A608022BB49D2024869BB4E6C +:1016300002434A61BA4A106830401060D568B94820 +:101640000543D560146834401460D4682043D060EA +:1016500080204C69000320434861B348B34C0568BF +:101660002C43002504604561C0204C69C002204322 +:1016700048611068AE4901431160A0211868490310 +:10168000014319605169AB48014051615A69AA4947 +:101690000A405A6141E790238022DB051968D20194 +:1016A0000A431A6080229A61002536E7902380223F +:1016B000DB051968D2010A431A6080229A62F3E7B7 +:1016C00001F078FB90230121DB051A680A431A60B8 +:1016D0001022996119680A431A60042240219A6114 +:1016E0001A680A431A6008229A6180221868520117 +:1016F00002431A6099613BE7DBB2022B21D000253F +:10170000032B00D109E79735012B00D005E7802294 +:10171000002581491203486902434A61824A1168DF +:1017200099431160D1681943D160516819435160E0 +:10173000936111680B431360804B1D70804B1A60DE +:10174000EBE6B023744A5B03516940200B435361BD +:101750009023DB051A687B490A401A608022D96809 +:1017600052011143D9605968014359609861196861 +:101770000A4308211A60714A1170714A136093E795 +:10178000DBB29825012B00D0C7E690226E4BD20524 +:101790001A6006220A216D4B1A70614B6C4A136065 +:1017A0006C4A11706C4A013113606C4A11706C4ABA +:1017B00013600C226B4B1A70B023574A5B035169BC +:1017C0000B43536101F02AFA6EE7E978A888AD78F7 +:1017D0000D2D00D194E023D8062D55D00FD8022D21 +:1017E00059D005D8002D4CD0012D51D0A02595E61B +:1017F000042D73D0052DF9D100F074FE46E0092DBB +:1018000075D007D8072D00D180E0082DEED100F06B +:10181000F1FE3BE00B2D76D06CD900F065FF35E092 +:10182000222D3BD011D8102D73D006D80E2D64D0A8 +:101830000F2DDBD101F0F0FB28E0202D51D053D843 +:10184000112DD3D100F092FF20E0822D00D1BBE01A +:101850000AD8802D00D18BE0812DC7D10123637080 +:1018600000F0FCFFA07011E0852D00D1B1E0862DC5 +:1018700000D1B3E0842DB9D10123637000F05AFE8A +:10188000F0E701F081F849E601F05AF8002545E655 +:1018900000F06CFEFAE700F0F1FEF7E7224B902231 +:1018A00058610223D20593621D4B1E4D1E6809022A +:1018B00035431D605D6900B2EDB2294359610028CE +:1018C00001DA01219162C046C046012191614918A7 +:1018D00091611A6811490A401A60D7E701F08AFB42 +:1018E000D4E7214B1870D1E7204B1880CEE701F0E8 +:1018F000A9F8CBE700F0A0FEC8E701F0BDFBC5E703 +:1019000001F06EF8C2E700F06BFFBFE700F0F0FFF8 +:10191000BCE700F0C3FFB9E700100240FFFFAAAA2E +:10192000000400480000555500080048555555551D +:101930005055000003FF0000FFF9000000070020E1 +:10194000FC060020FFEFFFFF14070020180700200F +:101950000C070020100700201C0700202007002093 +:101960000407002008070020880400203604002017 +:10197000012190236170DB051D68C94E35401D6053 +:10198000DA6802253240DA608022D2009A629961D8 +:101990009D61C44D6861C046C04600B29A6100288E +:1019A00000DA9962C046C046C046C046C046C0463E +:1019B00090228021BC4BD205C9001B699162012194 +:1019C0001B0A9161A37061E70123637000F0F6FDCB +:1019D00048E701236370B54B1B78F3E7022363707C +:1019E000B34B1B88A3701B0AE3704FE7A878E97814 +:1019F000AE88AA23062801D9FEF78BFFFEF7A2FDC9 +:101A0000042A1B2226322000FF20A749B3004A697E +:101A10000340A848F600024013434B619022C021C6 +:101A2000D205C90053690E40A3490B401E435661BD +:101A30000023FEF76EFF0022300000F0E5FBF7E721 +:101A40000122F9E7300000F025FDF1E7300000F059 +:101A5000F9FCEDE7012300216370300000F004FC85 +:101A6000A070E5E701216170F7E7AA78002A07D0A6 +:101A70000023012A01D1FEF74CFFAF33FEF749FFE7 +:101A800001236370A933A3701300FEF742FFAA7805 +:101A9000002A07D00023012A01D1FEF73AFFB03314 +:101AA000FEF737FF01236370A933A3701300FEF71D +:101AB00030FFAA78002A07D00023012A01D1FEF7BF +:101AC00028FFB133FEF725FF01236370A933A3700C +:101AD0001300FEF71EFFAA78002A07D00023012A70 +:101AE00001D1FEF716FFB233FEF713FF0123637037 +:101AF000A933A3701300FEF70CFFEA78A988AD782C +:101B0000112D7BD007D8012D4ED0002D0DD0022DE8 +:101B10005CD0822646E0212D66D0222D6AD0122D7F +:101B2000F7D10223102063706BE00127634B04267A +:101B30001B7810209F40FA43614B01921D68AF62F1 +:101B40006B6813406B6000F054FBAF616B683B4304 +:101B50006B60FA20400000F04CFBFA20AF626B682B +:101B6000019A400013406B6000F043FBAF616B686B +:101B7000013E3B43B6B26B60002EEAD10436FA2038 +:101B800000F037FBAF626B68019AFA2013406B607C +:101B900000F02FFBAF616B68013E3B43B6B26B6058 +:101BA000002EECD12670BAE4444A454B12781E68E8 +:101BB0009540B56273681020AB43736000F019FB69 +:101BC000B56173682B4373600026EBE701233B4A42 +:101BD000637012783B499340394A9BB212680020E7 +:101BE00002F0E6F8A070EFE701230020637001F037 +:101BF0006BFAF7E7012310206370F8E70223002057 +:101C0000637001F0BBFA6080DEE7AB78AA88042B32 +:101C10001DD007D8022B1FD024D8012B12D0872328 +:101C2000FEF777FE072B26D003D8052BF7D1264BDE +:101C300016E0082B24D0802BF1D100F0EFFF002319 +:101C4000FEF767FE214A1278A2706370F7E7204B17 +:101C50001B78A3700123F8E71C4B1A7083221C4BDE +:101C60001A70ECE7194B1A4D1A7083232B7001F090 +:101C700045F82B78EDE7174B1A70120A5A70DEE719 +:101C8000144B1A78A2705A78E2709A782271DA7836 +:101C900062711A79A2715B79E3710623D5E7C046B8 +:101CA000FFEFFFFF00080048000400488804002000 +:101CB0003604002003FF0000FFF9000000070020A9 +:101CC000FC06002004000200D9040020B804002013 +:101CD000DA040020B9040020A878E9780238AA883C +:101CE0008A23092801D9FEF714FEFEF72BFC050A0A +:101CF00010151C232F3B4048C54B1A800023FEF7CC +:101D000008FEC34B1B881B0413439847F6E7FEF7F6 +:101D10002FFD0300FEF7FDFDBE48036899B21304D2 +:101D20000B430360EAE7BB490B681B0C1B0413431E +:101D30000B60E3E704236370B64B1B681A0AA370B9 +:101D4000E2701A0C1B0E22716371D7E702236370D5 +:101D50005300B04A1168CB181A88A2701B881B0A5E +:101D6000E370CBE7AB4B49001B68CA52C6E7A949F1 +:101D700053000A68D31802220B606270ECE7A54B8F +:101D800049001868411819600A80B7E78823FEF7F0 +:101D9000C0FDAA781300303B2F2B1AD8E87803280F +:101DA00014D8FEF7CFFB161802119B4B512A00D115 +:101DB0007DE028D8312A57D00FD8002A37D0302AD2 +:101DC0004BD0B423FEF7A5FD944BEFE7B523FEF708 +:101DD000A0FD934BEAE7934BE8E7332A52D04AD36E +:101DE000502AEED1C022D20022801A7AA270DA786C +:101DF000E2705A7A22719A7A62719A78A2715B7C47 +:101E0000E371FFF78CFB7F2A00D984E0702A5DD252 +:101E1000602A3CD0612A43D0522AD2D180221B882A +:101E20009200A3701B0A2280E370FFF778FBFF216A +:101E30007D4BD1540132102AFBD10123784A5B42F9 +:101E40005380784A5380744A5380744A53800122E5 +:101E5000764B1A700023FEF75CFDAA88110AD9722E +:101E60001A730023FEF755FDAA88110A59739A7355 +:101E70000023FEF74EFDAA88110AD9731A740023B5 +:101E8000FEF747FDAA885A740023FEF742FD80231F +:101E90005B002380AB88644AD35CA370FFF73FFBF1 +:101EA00080235B002380624B1B68DB78F5E7C02250 +:101EB000D2002280DA7AA2701A7BE2705A7B2271F9 +:101EC0009A7B6271DA7BA2711B7C99E7544B28786C +:101ED0005C68574B1B68D9787F2800D9B0E055481B +:101EE000009E067000290FD000200090982900D194 +:101EF000ACE004E000200090D02900D1A6E04B49DE +:101F000010300870FF2104E04B490B609021D9701C +:101F10006F3100919AE00720104003281AD8FEF78D +:101F200011FB1C1E02173C4B802A01D2FFF7F7FA67 +:101F3000872A16D97032D2B2072A01D9FFF7EFFAF1 +:101F400000222270EA789A72AA881A80FFF7E7FACC +:101F5000324BE9E7B523FEF7DCFC314BE4E7314BCC +:101F6000E2E7A888E978C6B28D19BE22102D2CDCD4 +:101F70000432002929D0DD78033AFF2D25D19D7840 +:101F80000132FF2D21D10022D7B2B94220D82B4DEA +:101F90000022AC464F01013F1F727701000A6744DF +:101FA0009870DA705A729A721A80DA721A735A73C7 +:101FB0009A73DA731A745A745F601B4B9D19A85494 +:101FC0000132D3B29942FAD800222270FFF7A7FA61 +:101FD0000132B718144D013FEF5DFF2FD4D0C1225D +:101FE000F3E7AB78002B04D0402B08D0D223FEF7C8 +:101FF00090FC2370AA880D4B1A70FFF790FA80238B +:102000005B002380094B1B7847E78023FEF781FCA8 +:1020100034040020300400206004002074040020F8 +:10202000380400204C040020DB0400209804002029 +:102030008C0400209404002090040020EC04002074 +:10204000D82900D056E780215C68D97000215972E8 +:10205000DB78902B01D0FFF762FA712A01D0FFF7ED +:102060005EFA074BAA881B6859680A70AA885968E3 +:10207000120A4A705A7A02325A72FFF750FAC04670 +:1020800090040020F0B51C4D040005A8067868698E +:102090000902C0B20843686190200421C005816232 +:1020A0002900002A01D101328262FF2500204A69FD +:1020B0002D022A401A43114F4A61C046C046C0460D +:1020C000C046C046C046C046C046C046C0463A6943 +:1020D0000133120A22544A69DBB22A4001301A4302 +:1020E000C0B24A61B042E8D990230422DB059A616C +:1020F000033A9A61F0BDC046000800480004004859 +:10210000F0B5184C050060690E02C0B23043606142 +:1021100080269020F600C00549B28661002901DAC8 +:1021200001218162FF2661693602314011436161FC +:10213000C04600200C4FC04639690132090A2954B3 +:102140006169D2B2314001301143C0B2616198423D +:10215000F1D990238022DB05D2009A6201229A6194 +:10216000F0BDC0460008004800040048F0B5174C18 +:1021700005000E0060691F2925D88021314309021E +:10218000C0B20143616190210420FF26C905886225 +:1021900061693602314011436161C04600200C4F35 +:1021A000C04639690132090A29546169D2B2314005 +:1021B00001301143C0B261619842F1D990230422E9 +:1021C000DB059A61F0BDC0B20902DAE700080048F9 +:1021D00000040048002302000002002A04D1002B62 +:1021E00001D0802318437047DB43511EDBB20A4005 +:1021F000F3E70023800080B2C046C04601339BB2A3 +:102200009842F9D17047FFFF134B10B55861134B3B +:1022100013481C680902204318605869C0B2014382 +:10222000596190210820C9058862002A01D1013234 +:102230008A62C046C046C046C046C046C046C04688 +:10224000C04690220821D2059161073991611A6830 +:1022500004490A401A6010BD000800480004004804 +:1022600000005555FFFFAAAA0F4B58619023DB05CC +:10227000002901D101229A6204229A62C046C04616 +:10228000C046C046C046C046C046C046C046C0461E +:10229000C046C046C046054908699A61000A033A2B +:1022A000C0B29A617047C046000800480004004868 +:1022B000F7B504000E004D7AC046C046C046C04681 +:1022C000C046C046C046C046C0460022AA21584863 +:1022D000FFF79AFF002255215648FFF795FF240289 +:1022E000002220215248FFF78FFF23B20193EBB267 +:1022F0000093337AAB4216D28020009B0022737287 +:1023000090210002FFF780FF0022802011000002D0 +:10231000FFF77AFF80200022F0210002FFF774FF10 +:10232000C0460020FEBD444B444A196808200A43B9 +:10233000FF211A605A690A40A02109020A435A6122 +:1023400090220121D20590629162C046C046C046EB +:10235000C046FF24906191611A6839492C400A40B7 +:102360001A60019B009A1C437368A4B2995C200018 +:102370000022FFF749FFC046C046C046C046C046DF +:10238000C046C046C046C046C04600212000FFF7F8 +:102390006BFF0700C046C046C046C046C046C046A8 +:1023A000C046C046C0467368009A9B5C834217D003 +:1023B000C046C046C046C046C046C046C046C046ED +:1023C000C04600212000FFF74FFFB8420BD1C046A6 +:1023D000C046C046C046C046C046C046C046C046CD +:1023E0000135ADB283E7C046C046C046C046C046D0 +:1023F000C046C046C046C046C046C046C046C046AD +:10240000C046C046C046C046C046C046C046C0469C +:10241000C046C046C046C046C046C046C046C0468C +:10242000C04600212000FFF71FFF0700C9E7C04694 +:10243000AA8A000055850000000400480000555598 +:10244000FFFFAAAA70B504000D000022AA210F48C0 +:10245000FFF7DAFE002255210D48FFF7D5FE0022D6 +:10246000A0210A48FFF7D0FE002229002000FFF734 +:10247000CBFE00212000FFF7F7FE0500C04600213B +:102480002000FFF7F1FEA842F3D170BDAA8A000038 +:102490005585000070B504000D000022AA210F48E8 +:1024A000FFF7B2FE002255210D48FFF7ADFE0022D6 +:1024B000A0210A48FFF7A8FE002229002000FFF70C +:1024C000A3FE00212000FFF7CFFE0500C04600213B +:1024D0002000FFF7C9FEA842F3D170BD555500009A +:1024E000AA2A00000F4B30B59022586180230124A6 +:1024F000D205DB0093620C4B94621D680B48090205 +:10250000284318605869C0B201435961C046082188 +:102510009162C04691611968054801401960946153 +:1025200030BDC04600080048000400480000555572 +:10253000FFFFAAAA0B4B10B58021586190230122FE +:102540000424DB05C90099619A629C62C046C046BA +:10255000C046054800699C61000A9962C0B29A6150 +:1025600010BDC04600080048000400480E4B9842C9 +:1025700002D880231B0218430C4B0D4A58610D4BA7 +:102580000902186802431A605A69D2B211435961AC +:10259000C04690220821D2059162C04691611A6816 +:1025A00005490A401A607047FF1F000000080048F4 +:1025B0000000555500040048FFFFAAAA0A4B9842A4 +:1025C00002D880231B021843084B04225861902331 +:1025D000DB059A62C046C046C046C0460449086949 +:1025E0009A61000AC0B27047FF1F0000000800484F +:1025F0000004004870B504000D000D48AA21FFF743 +:10260000B5FF55210B48FFF7B1FFA0210848FFF7A0 +:10261000ADFF29002000FFF7A9FF2000FFF7CEFF44 +:102620000500C0462000FFF7C9FFA842F5D170BDE4 +:1026300055150000AA1A000070B504000D000D48E1 +:10264000AA21FFF793FF55210B48FFF78FFFA02129 +:102650000848FFF78BFF29002000FFF787FF2000C5 +:10266000FFF7ACFF0500C0462000FFF7A7FFA84218 +:10267000F5D170BD55150000AA0A00009023DB05B6 +:1026800030B51C68134D09022C401C60DA68124CEE +:102690002A40DA60114A506102229A62104A00B25E +:1026A00015682C4314605469E4B2214351618021C0 +:1026B000C9009961002801DA01209862C046C0462D +:1026C00099620121996149189961136805490B4084 +:1026D000136030BDFFEFFFFF0000555500080048B4 +:1026E00000040048FFFFAAAAF7B51C4B07001D789D +:1026F0001B4B01911C88202126002036B6B23000E9 +:10270000FFF7BCFFAA211748FFF730FF2000103069 +:1027100080B21021FFF7B2FF2D0155211248FFF7BB +:1027200025FFEDB220213000FFF7A8FF6419A0219A +:102730000C48FFF71BFFA0B22900FFF79FFF01998C +:102740003800FFF713FF3800FFF738FF0400C046DA +:102750003800FFF733FFA042F5D1F7BD8804002011 +:102760003604002055150000AA0A000070B50400C8 +:10277000B0200E0000020A21FFF780FFC0200A21CE +:102780000002FFF77BFFAA211248FFF7EFFE552159 +:102790001148FFF7EBFEA0210E48FFF7E7FEB0203F +:1027A0000E4B00021D782900FFF768FFC0202900AA +:1027B0000002FFF763FF31002000FFF7D7FE200083 +:1027C000FFF7FCFE0500C0462000FFF7F7FEA84219 +:1027D000F5D170BD55150000AA0A0000880400203C +:1027E000F8B505000E00194B02211C88A71CBFB2CA +:1027F0003800FFF743FFAA211548FFF7B7FE601C1A +:1028000080B20121FFF73AFF55211248FFF7AEFED3 +:1028100002213800FFF732FFA0210D48FFF7A6FE86 +:102820000D4B19786418A0B2FFF728FF310028007B +:10283000FFF79CFE2800FFF7C1FE0400C0462800F9 +:10284000FFF7BCFEA042F5D1F8BDC046360400201B +:1028500055150000AA0A0000880400200D4B8022B4 +:1028600058619023D200DB0500B29A61002801DA9A +:1028700001229A62C046C046C046C046064B80222E +:1028800018699023D200DB059A620122000AC0B2C7 +:102890009A617047000800480004004870B50400C1 +:1028A0000D001048AA21FFF7E9FE55210E48FFF759 +:1028B000E5FEA0210B48FFF7E1FE29002000FFF70D +:1028C000DDFEA020094B00021978FFF7D7FE20009B +:1028D000FFF7C4FF0500C0462000FFF7BFFFA84276 +:1028E000F5D170BDAAFA000055F50000880400205B +:1028F00070B504000D001048AA21FFF7BFFE552156 +:102900000E48FFF7BBFEA0210B48FFF7B7FE2900DA +:102910002000FFF7B3FE802000210002FFF7AEFE8B +:102920002000FFF79BFF0500C0462000FFF796FF41 +:10293000A842F5D170BDC04655D50000AAAA000036 +:102940000D4B0E4A58610E4B0902186802431A607B +:102950005A69D2B21143902259618021D205106880 +:102960004901014311604021916291611A68054952 +:102970000A401A607047C0460008004800005555DC +:1029800000040048FFFFAAAA104B114A10B5586175 +:102990001068104B09020343136053690E4CDBB2FD +:1029A0001943902351618021DB05186849010843D0 +:1029B000186040209862186820401860D868014369 +:1029C000D960136805490B40136010BD000800482A +:1029D0000004004800005555FFEFFFFFFFFFAAAAC3 +:1029E00070B505000E00134B00211C882000FFF776 +:1029F00045FEAA211048FFF7C7FF55210F48FFF7F2 +:102A0000C3FFA0210C48FFF7BFFF0D4B19786418D6 +:102A1000A0B2FFF733FE31002800FFF7B5FF280012 +:102A2000FFF71CFF0400C0462800FFF717FFA04275 +:102A3000F5D170BD3604002055550000AA2A0000CB +:102A40008804002070B504000D000D48AA21FFF78E +:102A50009BFF55210B48FFF797FFA0210848FFF780 +:102A600093FF29002000FFF78FFF2000FFF7F6FEFD +:102A700005002000FFF7F2FEA842F6D170BDC04667 +:102A800055550000AA2A0000F0B58BB0099201222A +:102A900008911100354B02901F78354B1B78049339 +:102AA000344B1D68344B1B789940344B01911868A6 +:102AB000334BA9621B789A40029B102B4FD1826244 +:102AC000012421002F4B05941B6806932E4B1B7885 +:102AD00099408BB2210007932C4B1B689C462C4BD2 +:102AE0001B789940002303911900029C202C05D1EA +:102AF000049E059C1E41264236D08261089C202CF3 +:102B00000FD1002B01D11A4C6354069C2669079CF7 +:102B1000264206D0164C665C059C9C402643144C0D +:102B20006654099C013FFFB2002C03D0002F01D155 +:102B3000019CAC616446039E0133DBB2A661A662D0 +:102B4000082B05D101310A4BC9B25B5C0493002309 +:102B5000002FCAD1019B8262AB620BB0F0BD029B19 +:102B6000112BADD18261ABE78262C7E7D9040020A7 +:102B7000B90400201C070020200700200C070020BB +:102B80001007002014070020180700200407002069 +:102B900008070020F7B501221A4B1C781A4B196858 +:102BA0001A4B1B789A40102826D18A6201263500DC +:102BB000174B01961B680093164B1B789D40002312 +:102BC000AC461D0020280DD1134E019F765D1E419D +:102BD0003E4215D08A610133DBB2082B02D10023BB +:102BE0000135EDB26646009F013CE4B2BE61BE62B3 +:102BF000002CE7D18A62F7BD1128D7D18A61D5E7C9 +:102C00008A62E8E7D90400201C0700202007002082 +:102C10000407002008070020B9040020F0B52C4B61 +:102C200085B01B78019301231E00019A1F00964076 +:102C3000284A1168284A8E62127802921A00029875 +:102C4000824094466046254A12689062244805787E +:102C50002448AF4000689D408762046803941C00CC +:102C6000AC402500039C254305604568019CBD439D +:102C700045609C401D00A54008681C002843086072 +:102C80004868B04348601068029999408C40210020 +:102C900001436046116051688143134851600078D8 +:102CA000124A984083401268116899431160D168B4 +:102CB0000B43D36080220E4B1A70002319000D4A7B +:102CC00013700D4A99540133202BFBD105B0F0BD90 +:102CD000200700201C070020100700200C07002000 +:102CE0000807002004070020180700201407002010 +:102CF000DA040020D9040020B904002010B52B4BC1 +:102D00001B78082B4ED013D8294C032B39D006D86A +:102D1000012B28D0022B2AD0254BEE223AE0062B9D +:102D20003AD03DD8042BF7D101222021112021E0F7 +:102D30000F2B28D008D81E4C0D2B1FD000220E2B95 +:102D4000EAD12021102015E0802B06D0184CFF2B53 +:102D500006D0102BE0D100221FE0FFF75FFF10BD6F +:102D6000F0232370FBE72020FFF714FF04E001228B +:102D700000212020FFF788FE8223F2E700221100C5 +:102D8000F7E70122DDE7002220211120FFF77CFE7A +:102D90008222074B1A70E2E7012220210800E9E7AE +:102DA0001020E1E71120FFF7F5FEF1E7B80400205D +:102DB000DA040020BC234849DB038A6AF0B51343D8 +:102DC0008B628B6A454A464813408B62B0234A693E +:102DD0005B0313434B619023DB051A680124024017 +:102DE0001A608022D868D2010243DA601A683D482E +:102DF0003D4F02401A608022D868520302430420EB +:102E0000DA601A68A2431A60DA682243DA601A6844 +:102E100082431A60DA680243DA6010221D68954323 +:102E20001D60DD682A43DA6040221D6895431D60FD +:102E3000DD682A43DA601A682C4D2A401A60802225 +:102E4000DD68D2042A43DA601A68294D2A401A60E4 +:102E50008022DD68D2052A43DA601A68254D2A40AF +:102E600080251A60DA68ED022A43DA60224A166881 +:102E7000A6431660D6683443D4601E683E401E6088 +:102E8000DC683C40DC6080234C691B0323434B61BE +:102E90001A4B1B4C1E681B4F26431E601E683E408B +:102EA0001E60DE683443DC604B691D434D6113686E +:102EB000154D2B401360D468144B1C43D46011682B +:102EC00029401160D1680B43D360136883431360BA +:102ED000D3681843D060F0BD00100240FFFFA1FF8F +:102EE000FFBFFFFFFFFFEFFFFFEFFFFFFFFFFFFB56 +:102EF000FFFFFFBFFFFFFBFF000400480008004882 +:102F000055555555AAAAAAAAFFFFAAAA00005555C9 +:102F1000F7B50D00042701924C7A000203B2A6B265 +:102F200000932B7AB34202D26C720020FEBD00984F +:102F30006B682043195D80B2019B98476B681A5DEE +:102F4000094B824205D01A683A431A6002229A61FC +:102F5000E7E71A680134BA431A60DA6801363A437F +:102F6000DA60E4B2B6B2DCE700040048F7B50D0061 +:102F70001600FF27000203B24C7A01932A7AE3B2CB +:102F8000A24202D26B720020FEBD20006A68384067 +:102F9000D15C019B0134184380B2B047A4B2EDE785 +:102FA000022907D10F4B104A984218D0904209D1FC +:102FB000180007E0032906D10A4B0B490B4A984237 +:102FC0000BD1080070470429FCD1064B064A9842F1 +:102FD00005D006499042F4D0054A8842E6D1100057 +:102FE000F0E7C046380400204C04002060040020B4 +:102FF0007404002070B506000D0005243000013C6B +:10300000FFF72CFCE4B229003000FFF737FB6D0816 +:10301000002CF3D170BDFFFF70B50400A0200D009F +:1030200000020221FFF7E6FFAA211048FFF79EFAEF +:1030300055210F48FFF79AFAA0210C48FFF796FA9E +:10304000A0200C4B00021978FFF7D4FF29002000C4 +:10305000FFF78CFA2000FFF7B1FA0500C046200008 +:10306000FFF7ACFAA842F5D170BDC0465515000077 +:10307000AA0A00008804002070B50400C0200D00DA +:1030800000020521FFF7B6FFAA210D48FFF7F6FA67 +:1030900055210C48FFF7F2FAA0210948FFF7EEFA94 +:1030A00029002000FFF7EAFA2000FFF7D7FB050010 +:1030B000C0462000FFF7D2FBA842F5D170BDC04644 +:1030C00055550000AAAA0000F7B501230225294F93 +:1030D00001923A780091054393400421A020264EA6 +:1030E0002D049BB229433268C00100F061FE040048 +:1030F00001283DD13B7809209C4005437830A3B29C +:1031000032682900FF3000F053FE040001282FD15F +:103110003B7832689C402900A3B2002000F048FEB2 +:103120000400012824D1009B180AFFF753F83B78CC +:1031300032689C402900A3B200F03AFE0400012846 +:1031400016D16B461878FFF745F822003B78290026 +:103150009A4093B2326800F02BFE0198FFF73AF8DC +:103160003B7832689C402900A3B200F021FE0400A5 +:10317000E0B2FEBD00070020FC060020F7B50123E9 +:103180000225274F00903A7801910543934004218E +:10319000C020244E2D049BB229433268800100F0E8 +:1031A00007FE0400012838D109231D433B78C020C5 +:1031B0009C403268A3B22900400000F0F9FD0400F1 +:1031C00001282AD13B7832689C402900A3B2002014 +:1031D00000F0EEFD040001281FD1019B180AFEF744 +:1031E000F9FF3B7832689C402900A3B200F0E0FD73 +:1031F0000400012811D16B461879FEF7EBFF22007D +:103200003B789A4093B2009A14430922E1B2090430 +:103210001143326800F0CCFD0400A0B2FEBDC046F0 +:1032200000070020FC060020C04BC14AF0B51A6020 +:10323000C04A8BB01A6002225A60A02212019A6022 +:103240000493049BDB68002BFBD19022049BBA49BA +:1032500012031960B94B186802431A608022099161 +:10326000920219681142FCD0012259680A435A603F +:103270008022596852020A435A60802259685203D8 +:103280000A435A608022196852040A431A60802255 +:10329000920419681142FCD01121A94AA94C11606D +:1032A0005A680E398A43110002220A435A6080226A +:1032B000196B0A431A638022D96912040A43DA613E +:1032C000A14BE381BC231B689847A04B6382A04BB2 +:1032D000238262B6FFF76EFDF0229E4B1A70049BAC +:1032E000099A9D4E1A603278202311009943D22901 +:1032F0001BD19A499A48C978C3780224FF2904D17E +:10330000FF3B1C00631E9C41E4B2964BDB78FF2B15 +:1033100000D00324944BDB78FF2B00D00424934B84 +:10332000934F1C703860D22A4CD03378F22B05D1E1 +:103330000022023B33708E4B1B68DA703578D02D3B +:1033400000D08DE18A4E3068C378802B00D087E1B1 +:10335000864B1978FFF724FE00233060C57006887D +:1033600004004372C07AF5B21038162800D975E10E +:10337000FDF702F9A400040144014801740174013D +:103380007401740174017401740174017401740195 +:10339000740174012B00380046004B004E005800A9 +:1033A0005F002100FFF7FCFD01230135EDB2A542CE +:1033B000F7D3002B00D0386080223B68DA70D0232E +:1033C0003370B2E700230125F1E7E17B0F2900D933 +:1033D00067E109013143237AA278C9B26068FEF738 +:1033E0008FFE0BE03C23E17B0A009A4300D058E1BA +:1033F000237AA27829436068FEF7B8FE607254E031 +:10340000237AA278E17B2943E8E7E17B3F23EBE7DE +:10341000227AE17BA3780092002229436068FEF7BC +:1034200031FEEBE7E17B227AA37829430092012267 +:10343000F4E7504BE17B586929430E02C0B2304398 +:103440006568A278277A5861902004266031C0050B +:10345000C9B286621E001E2901D801218162FF20A7 +:1034600059690002014011435961C0464249002395 +:103470008C46C046C046C046C046C046C046C04650 +:10348000614609690132090AE9547169D2B2014001 +:1034900001331143DBB271619F42EAD290220421D1 +:1034A000D2059161033991616372314B1B681988B0 +:1034B0009A7A52181A80D822DA70D1E0E37B1E2B58 +:1034C0000BD1C020B6092233F1B200029D43FFF7B1 +:1034D000D5F8237AA278802195E71C2B0FD1A02064 +:1034E0008121C001FFF7CAF88020F609F1B200027D +:1034F000FFF7C4F8A0200021C001FFF7BFF880212A +:10350000E27B49421F2A05D00D43EDB2237AA2780F +:10351000290063E77022A02095430D432188C00154 +:103520000909C9B2EDB2FFF7A9F8EFE70030004092 +:10353000CCCC000055550000AAAA000000100240A3 +:1035400000200240006000403CA5FFFF4108000849 +:1035500085080008DA040020980400204C040020AC +:10356000380400206004002074040020950400202A +:103570008C0400200008004800040048E37BFE2B78 +:1035800093D17609F1B2C348FEF7F0FF1F21C24B79 +:1035900029405A690902D2B20A43A0786768267A9C +:1035A00080215A619022C900D20591610121FF2535 +:1035B0009162033191625A692D022A4002435A6195 +:1035C000C046B64900228C46C046614609690130B2 +:1035D000090AB9545969C0B2294001320143D2B233 +:1035E00059619642F0D290230421DB059961802134 +:1035F000C900996201219961627256E7237AA27823 +:10360000602100E7E37B002B20D18033F6091D43C6 +:10361000F3B20293FF20029BA0499B004A6903403A +:103620009F48024013434B61C0209021029BC90573 +:10363000C000DB004A6903409A48024013434B61D3 +:10364000227AA378290000920022E7E6012BE1D13B +:1036500040217604760E31430291DBE7C323E37009 +:10366000914B1D78F02D00D082E3904E3468E378C2 +:10367000982B00D07CE38E4B20001978FFF790FC4C +:1036800000233060C370E07AE57010382678042893 +:1036900000D96BE3FCF770FF07004D02FE02060342 +:1036A000F700C423DBE7E37B002B06D13000803832 +:1036B000C0B2804A2100FFF72BFCE37B012B06D12F +:1036C00030008038C0B27C4A2100FFF74FFCE37B1A +:1036D000032B06D130008038C0B2784A2100FFF7B2 +:1036E00045FCE37B042B06D130008038C0B2744A1D +:1036F0002100FFF70DFCE37B0A2B06D13000803858 +:10370000C0B2704A2100FFF731FCE37BFD2B15D1DD +:103710003F20238830409B0905936B4680261B7D04 +:1037200006430793677ABBB2039333021BB2089335 +:10373000237A039A934200D3CCE06772E37B1E2B7B +:1037400013D13F2030408026238806439B09DBB2FB +:103750000693677ABBB2039333021BB20793237AB3 +:10376000039A934200D3FDE06772E37B0C2B17D1E1 +:103770001F20304080260643C0202588A5216D09E2 +:10378000EDB2C001FEF77AFF29004F48FEF776FF41 +:10379000677A35023D43237ABB4200D332E1677238 +:1037A000E37B1C2B3BD1A02023888121DB09DBB2EA +:1037B000C0010593FEF762FF802005990002FEF725 +:1037C0005DFFA0205421C001FEF758FF677AAA21AF +:1037D000BBB23E480393FEF751FF55213C48FEF72C +:1037E0004DFF20213948FEF749FF802333431B0258 +:1037F0001BB20793237A039A934200D31FE18020E0 +:10380000902100026772FEF739FF8020002100023C +:10381000FEF734FF8020F0210002FEF72FFFE37B4C +:103820001F2B30D1A0202188C0010909C9B2FEF7A1 +:1038300025FFAA212548657AFEF720FF5521244857 +:10384000FEF71CFF21482021FEF718FF702380207F +:103850009E434042304340B20302AFB20593237A05 +:10386000BB4200D333E18020902100026572FEF755 +:1038700005FF802000210002FEF700FF8020F021DC +:103880000002FEF7FBFEF4232288E370A37A9B1864 +:1038900023806DE2FF3F000000080048000400485C +:1038A00003FF0000FFF90000980400208C040020B2 +:1038B00095040020452A000879300008E129000815 +:1038C000F12800089D280008FFFF0000AA8A0000D8 +:1038D000558500000021DE48FEF7D0FEAA21DD4814 +:1038E000FFF72EF85521DC48FFF72AF8A021D94828 +:1038F000FFF726F86B46187DD84B0799C01880B2A1 +:10390000FEF7BCFE089D63683D43ADB2D95D28005B +:10391000FFF716F8C0462800FEF7A0FF0690280023 +:10392000FEF79CFF069B8342F4D163680699DA5D3B +:10393000CB4B8A420FD1039A1968013292B203929B +:10394000042291431960D96801370A43DA600222E0 +:10395000FFB29A62ECE6042219680A431A60022256 +:103960009A61E5E6C02001210002FEF787FEAA2148 +:10397000BC48FEF783FEC02000210002FEF77EFE59 +:103980005521B948FEF77AFEC02001210002FEF75A +:1039900075FEA021B348FEF771FEC0200699000213 +:1039A000FEF76CFE079D63683D43ADB2D95D28000C +:1039B000FEF764FEC0462800FEF750FF0590280081 +:1039C000FEF74CFF059B8342F4D163680599DA5DED +:1039D000A34B8A420FD1039A1968013292B2039223 +:1039E000042291431960D96801370A43DA60022240 +:1039F000FFB29A62B3E6042219680A431A600222EF +:103A00009A61ACE6AA219948FEF738FE55219648FE +:103A1000FEF734FEA0219548FEF730FE63682800CB +:103A2000D95DFEF72BFEC0462800FEF717FF039076 +:103A30002800FEF713FF039B8342F4D1ABE6A020DE +:103A40005421C001FEF71AFE079DA0213D43ADB2EF +:103A50002800FEF713FE63682800D95DFEF70EFE0E +:103A6000C0462800FEF7FAFE06902800FEF7F6FE94 +:103A7000069B8342F4D16368069ADB5D784D9342DE +:103A80000FD1039B2A6801339BB2039304239A430B +:103A90002A60EA6801371343EB600223FFB2AB628E +:103AA000A8E6A0208121C001FEF7E8FD802005994D +:103AB0000002FEF7E3FDA0205421C001FEF7DEFD69 +:103AC00004232A6813432B600223AB6192E6059E10 +:103AD000A0212E43B6B23000FEF7D0FD636830005F +:103AE000595DFEF7CBFDC0463000FEF7B7FE0390F0 +:103AF0003000FEF7B3FE039B8342F4D16368039961 +:103B00005A5D574B8A420DD104211A6801358A4308 +:103B10001A60DA6801370A43DA600222EDB2BFB2F6 +:103B20009A629CE604211A680A431A6002229A618A +:103B300095E6E37B002B04D14D4A21003000FFF7CE +:103B400015FAE37B012B04D14A4A21003000FFF72C +:103B50000DFAE37B022B04D1474A21003000FFF726 +:103B600005FAE37B042B04D1444A21003000FFF71F +:103B7000FDF9E37B0A2B04D1414A21003000FFF715 +:103B8000F5F9E37B0B2B04D13E4A21003000FFF70F +:103B9000EDF9E37BFE2B00D075E621883A48490910 +:103BA000C9B2FEF7E3FCAA213848657AFEF79AFC11 +:103BB00055213748FEF796FC34482021FEF792FC49 +:103BC0001F2030400302AFB20593237ABB420DD2CF +:103BD000657290210020FEF785FC00210800FEF7A9 +:103BE00081FCF0210020FEF77DFC4CE6059EA02123 +:103BF0002E433000FEF776FC63683000595DFEF717 +:103C000071FCC0463000FEF795FC03903000FEF7D3 +:103C100091FC039B8342F4D1636803995A5D104B76 +:103C20008A420DD104211A6801358A431A60DA6884 +:103C300001370A43DA600222EDB2BFB29A62C4E7EA +:103C400004211A680A431A6002229A61BDE7C0463D +:103C500069FD000055550000AA2A000069FDFFFF1C +:103C60000004004855950000AAAA000055D50000A0 +:103C70003926000819300008E1270008F52500085A +:103C80006D270008E9260008FF3F0000AA0A00008F +:103C900055050000300060303C4A2100C0B2FFF7FB +:103CA00065F9F0E5E37B042B06D130008038C0B223 +:103CB000374A2100FFF75AF9E37B052B04D1344A38 +:103CC00021003000FFF752F9E37B062B06D13000CC +:103CD0008038C0B22F4A2100FFF748F9E37B072B59 +:103CE00004D12C4A21003000FFF740F9E37B002B80 +:103CF0001CD1FF2280331E4323882748DB09DBB217 +:103D00009D0041692A40254DDB0029400A4342615C +:103D10009022C020D205C0005169034020480140D4 +:103D20000B43536121003000FEF7C2FAE37B012B05 +:103D300000D0A8E52388184A5B04580E40230343AB +:103D4000FF209B0051690340144801400B43902120 +:103D50005361C9054B69124A30001A4080239B0009 +:103D600013434B612100FEF7A3FA8CE5C323E370F4 +:103D70000C4B1B78F02B01D1FFF7B1FA832B01D04C +:103D8000FFF7ADFAFEF7BAFFFFF7A9FA7D260008A4 +:103D900095240008452400080004004803FF0000A3 +:103DA000FFF90000DA040020FFFFFFFFFFFFFFFF25 +:103DB000F0B5474680B4061C081C000C102801D53D +:103DC000162700E004270007000F8046FF2001406F +:103DD0005468251C1D439C43F60313850AD5C04631 +:103DE000C046C046C046C046C046C0469480138305 +:103DF000958002E0012000F081F801390AD4381CD6 +:103E000000F07CF8C046948013839580C046C0467D +:103E10007600E2E7381C013800F070F894801383D4 +:103E20009580042000F06AF8108A184001D0FF2025 +:103E300061E0C046C046C046C046C046C046948009 +:103E40009580108A184055D001200226B04552D0E6 +:103E50000921168A1E40FCD1012000F04FF8948001 +:103E6000C0469580C04603E0C046C046C046C04636 +:103E7000948095807600108A1840EFF3008040000F +:103E8000C00F0643381C023800F038F89480958043 +:103E9000022000F033F80139EAD51385948001201F +:103EA00000F02CF813839580301C80210223994068 +:103EB0000E401BD1002341085E4149085E4149087C +:103EC0005E4149085E4149085E4149085E41490832 +:103ED0005E4149085E4149085E41760808D34008C2 +:103EE000FF21084048400002013004E00E2002E0BB +:103EF000092000E0002080BCB846F0BD0138FDD1AB +:103F00007047C04603685A0003D45B005B08C018C2 +:103F10007047802212061343F9E7C046F0B55746B2 +:103F20004E46DE464546E0B5814683B092460029BE +:103F300025D04B1E9B46002701935B46FB18DC0FE8 +:103F4000E4184B466410E5005E193000FFF7DAFF15 +:103F5000019B8046A3420BD0280008304844FFF75D +:103F6000D1FFD04506D80138504509D2671CE4E797 +:103F7000504505D9A74202D0631E9B46DDE70026C7 +:103F8000300003B03CBC90469946A246AB46F0BD1B +:103F9000012809D0022805D0002801D00020704750 +:103FA0000248FCE70248FAE70248F8E785460008BD +:103FB0009D4600089146000830B5234B83B00500AC +:103FC0008C1E002B26D001A9200000E000BF002895 +:103FD0001CD001992200FFF7A1FF041E16D0FFF7A5 +:103FE00091FF6368A864012B2AD0201D002B23DBDE +:103FF000FFF788FF0023E8642B650368002B0FDBC5 +:10400000FFF780FF2861002003B030BD00230920A6 +:104010002B61F9E70D480E49091AC9100191D9E73A +:104020001801000FFFF7B4FF2861431E98410823D1 +:10403000404298430930E7E70123E8642B65DCE759 +:10404000002305202B61DFE700000000804F0008FF +:1040500050500008036810B50400DA0705D4483052 +:104060009B070ED500F06CFC23685A070ED51A0783 +:1040700013D5DB0604D42000D130FF3000F06CFCF7 +:1040800010BD00F059FC23685A07F0D42000D0304E +:1040900000F05AFC23681A07EBD420005130FF309F +:1040A00000F056FC2368E4E70368002B00D01B18DF +:1040B00018007047092070477047C04670B504006B +:1040C0000D0008E02B6C2A006361210001202369A8 +:1040D0009847082807D1296C2000FFF76DFF0028BA +:1040E000F0D000F083FE0728FBD10020296CFFF7F9 +:1040F000E3FF281D00F00AFCF0B5CE46474680B528 +:10410000C3682E4C9846A544836906001400043108 +:10411000402205A8994600F071FE002304AD0493E7 +:1041200023E0F0222B6C5200736129007CA800F080 +:1041300065FE7CAA31003369200098478A9B0700FE +:104140006B6403934B4600950193320033002100CA +:104150000120C04700281FD1F0227CA9520028006E +:1041600000F04CFE0024082F1FD1296C3000FFF70F +:1041700023FF611E8C41070009340028D1D0AB6BAE +:1041800010216B644B4621430193009533003200AC +:104190000120C047002800D009273800F5239B00E4 +:1041A0009D440CBC90469946F0BD072FF4D12000E9 +:1041B000296CFFF781FF05A800F0A8FB2CFCFFFF8E +:1041C000406C704770B5CB6BFAB00B6404000E0006 +:1041D0004022043103A800F011FE01235B42029348 +:1041E00006E002AA210023699847050008280AD1A1 +:1041F000129B200019000193FFF7DEFE0028F0D08B +:1042000009207AB070BD02A8FFF724FF062DF7D170 +:1042100031002000FFF752FF10B58261DA6BC160F8 +:104220001A6419000022FFF767FF10BD436970B5DB +:104230000B64C36804000D00002B15D10A0023692C +:10424000010002209847072807D0082803D1290039 +:104250002000FFF733FF00F0C9FD0020296CFFF7B5 +:104260002BFF281D00F052FB0122FFF745FF00F055 +:10427000BDFDC046C36810B5002B05D0CB6B002236 +:104280000B64FFF739FF10BDFFF79CFFFBE7C0464B +:104290007047C046836810B5002B02D00100012092 +:1042A000984710BD012906D0002906D00339022005 +:1042B000012900D970470120FCE7002B08D10F2A03 +:1042C00006D8920082185268009B00201A60F1E71D +:1042D0000220EFE700B585B003AB0A000093002190 +:1042E0000023FFF7DFFF039805B000BD012906D0CA +:1042F000002906D003390220012900D97047012086 +:10430000FCE7002B08D10F2A06D8009B92001B68FF +:10431000821853600020F1E70220EFE700B585B076 +:1043200003AB039200930A0000230021FFF7DEFF96 +:1043300005B000BD70B51A4CD36BA54413640600DC +:104340000D0019A8111D402200F058FD01235B4209 +:10435000189314E00C2118A802AAFFF7DFFF290028 +:1043600018A8B047002812D1069B18AA02A9083045 +:1043700001939847040005280AD0092807D0289BF4 +:1043800002A819000193FFF717FE0028E2D00924C4 +:1043900018A8FFF75FFE200090239B009D4470BD8E +:1043A000C0FDFFFFF0B5DE4657464E464546E0B538 +:1043B000160003220D0011008BB01F000193EB6C5F +:1043C00001401C1D009107A91B688B460894002F13 +:1043D0006BD01A0C1B045946079302230B72FD3352 +:1043E00013409B004A72E418009B022B00D1AC6B77 +:1043F0002B6DDB0747D4002305930833034002935A +:104400002768002F00D112E1019B022B49D063885D +:10441000278898460434012340469A469843AB6C5B +:104420000F21994681443000FFF754FF0021814558 +:1044300006D8390053469943494488428941494244 +:1044400043465A0002231340012217403B43012BED +:104450003AD0002B30D0022B1BD12368009A5F008A +:104460007F08002A67D1002906D0029A002A00D1CD +:104470007CE0002F00D1A9E0002B00DA04340137E2 +:10448000BF00E419BCE75946300000F00BFB0028E0 +:1044900010D009200BB03CBC90469946A246AB46D2 +:1044A000F0BD636808349846B5E71B0207935B4686 +:1044B0001A8199E70820EDE7009B002B02D0002924 +:1044C00000D08DE004349BE7009B002B1AD100291B +:1044D00016D02368DF0F63689A1CDAD02A0058329E +:1044E0000692013300D1BDE0201DFFF7DDFD06ABD4 +:1044F00001003A00280000E000BF002800D082E060 +:1045000008347DE70D2130002F6AFFF7E3FE874274 +:10451000F6D1AB6A9C42F3D12000FFF7F3FC0F21E8 +:1045200002003000FFF7FAFE30002A000021FFF7FA +:10453000F5FE0720AEE72B6A0D2130009846FFF705 +:10454000C9FE804501D0236896E7AB6A9C42FAD148 +:104550000023EB6204332B63231DAF626B6323687C +:10456000002B00DA86E00123059388E7002F2DD089 +:1045700058239C46AC4463460393231D994600236D +:10458000984606AB220004933B004C464746B24691 +:1045900098462E00914603E004342F00454542D052 +:1045A000039B20000693FFF77FFD049B0100002280 +:1045B00030007D1C00E000BF0028EDD04346B84627 +:1045C00035004C4656461F009845BCD10D213000A1 +:1045D000FFF780FE069B28626B62AC62062059E7FB +:1045E0002000FFF78FFC04340700AC63280000E0D4 +:1045F00000BF002800D14CE730003A000F21FFF740 +:104600008DFE072046E707000D213000FFF762FE10 +:104610002862022F2BD1069BEB622B002C336B629E +:10462000AC62062036E735004C465646CEE7594682 +:10463000300000F037FA002800D02AE7059B002B55 +:1046400000D137E70F213000FFF744FE0E210200B2 +:104650003000FFF763FE3000094A0F21FFF75EFECE +:10466000072017E70D213000FFF734FE2862069B74 +:104670006B62D5E738000130800020184DE7C04656 +:104680000000000010B50023FFF78CFE10BDC046EF +:1046900010B50123FFF786FE10BDC04610B50223FA +:1046A000FFF780FE10BDC046F0B5CE46474680B548 +:1046B0000500C3B014001E00012955D000294BD0BD +:1046C000032922D0042949D1002B47D1102A45D8EB +:1046D000102203681A4200D0F1E020AF380000F049 +:1046E0003DF900230120A96B02009A40144203D037 +:1046F0000E689A00BE5004310133042BF4D1380007 +:10470000A96300F029F9002029E0032B26D1140425 +:10471000230C160C9846F318102B1FD80822036898 +:104720001A4200D098E020AF380000F013F942465A +:10473000AB6BF6001C00002A08D0D400F21A1C193A +:10474000BA181968D15004339C42FAD1AC633800CE +:1047500000F0FEF8002002E0002B24D0022043B03D +:104760000CBC90469946F0BD130C14049846240CDA +:10477000012E2ED0052EF1D11B19202BEED842464A +:104780000F2A70D9A146002C7ED1AA6B4346AA639A +:104790000F2B00D89AE04B46002BDBD0684600F088 +:1047A000D3F80020DBE700231004A96B000C0136CE +:1047B00032009A40104204D00F689A00AA1857603D +:1047C00004310133102BF3D10020A304C7D4A96313 +:1047D000C5E71B19102BC1D843460F2BBED82B6839 +:1047E0001E4206D00322280093432B60483000F07D +:1047F000A5F820AF380000F0A1F8AA6B002C24D057 +:104800004346DB00FF180023994664000023A40000 +:10481000D158F95004339C42FAD14B4612196F46D5 +:10482000002B0FD04046102800D210204B46D90054 +:1048300000231038C0003818D458C45004339942AB +:10484000FAD15218012EA1D120AF04323800AA6348 +:1048500000F072F8002082E7934303605130FF308C +:1048600000F078F85FE7102B3BD9102252429146B6 +:1048700099442B68194208D0022228008B43134325 +:104880002B60483000F05EF82B6804221A4221D1D8 +:1048900043460F2B03D820AF380000F053F86F4683 +:1048A000380000F053F810244346AA6BE41A002C99 +:1048B000B8DD434620AFDB006400FF18A6E7934352 +:1048C0000360D130FF3000F049F806E720A800F07F +:1048D00037F860E7280093432B60D03000F036F8BB +:1048E000D6E72B680B4207D0022228008B431343E4 +:1048F0002B60483000F026F820AF380000F022F896 +:10490000A146AA6B002C00D07AE73FE7011C3431A6 +:1049100038C9043B9C461D60A646011C20313CC999 +:1049200090469946A246AB46011C0831FCC9416835 +:104930000068E54600BDC0467047C0467047C046A7 +:104940007047C0467047C0467047C0467047C04673 +:104950007047C0467047C0467047C0467047C04663 +:1049600001B401A801B585B0FFB408A841464A4684 +:1049700053465C4665463EC001A83EC80F9800906D +:1049800000230CB401A9FFF71DFC109B12B01847BF +:1049900001B401A801B585B0FFB408A841464A4654 +:1049A00053465C4665463EC001A83EC80F9800903D +:1049B00000230CB401A9FFF739FC109B12B0184773 +:1049C00001B401A801B585B0FFB408A841464A4624 +:1049D00053465C4665463EC001A83EC80F9800900D +:1049E00000230CB401A9FFF745FC109B12B0184737 +:1049F00001B401A801B585B0FFB408A841464A46F4 +:104A000053465C4665463EC001A83EC80F980090DC +:104A100000230CB401ABFFF7FFFB109B12B018474B +:104A200001B401A801B585B0FFB408A841464A46C3 +:104A300053465C4665463EC001A83EC80F980090AC +:104A400000230CB401AAFFF775FC109B12B01847A5 +:104A5000027A0300002A0BD1427A002A0FD0013AD1 +:104A600042724268111D416003211268017202E026 +:104A7000013A02720268100E12021A607047B020EA +:104A8000FCE7C04600B585B003AB00930C220023C1 +:104A90000021FFF707FC039805B000BD10B5FFF734 +:104AA000F1FF10BDF0B557464E464546DE460023A1 +:104AB000E0B587B003930F339846083B99468023AF +:104AC0001B0306000F009A463800FFF7C1FF0400E1 +:104AD000B02800D1C3E003062AD503004246934321 +:104AE000DBB2802B00D171E0902B3DD0A02B00D108 +:104AF00085E0B02B50D0C02B00D196E003004A4691 +:104B00009343DBB2D02B0AD15346024001321A4301 +:104B1000052301213000FFF7C7FD0028D4D0092468 +:104B2000200007B03CBC90469946A246AB46F0BD7B +:104B3000FF23820013401D1D05AB9B4600930D22F1 +:104B4000002300213000FFF7ADFB630620D4059B56 +:104B50009C46654405955B460D2200930021002389 +:104B60003000FFF7C3FBAFE7833B03400D2BD6D0EC +:104B700005AD02400095002300213000FFF792FBB5 +:104B8000009500230D2200213000FFF7AFFB9BE7CB +:104B9000059B5D1B0595DEE7B12874D0B22800D1D6 +:104BA000CFE0B32800D184E0FC230340B42BB6D07F +:104BB0004A465346024001321A4301210123300084 +:104BC000FFF772FD002800D17EE7A8E70402380055 +:104BD000FFF73EFF802520432D02A8429FD004010D +:104BE0000005020C002300213000FFF75DFD0028C6 +:104BF00095D12C4200D167E70123039364E7FF239B +:104C00004A461B011900824311410A001A4003075A +:104C100002D58023DB011A43002300213000FFF777 +:104C200043FD002800D14FE779E7C6284CD0C728BC +:104C30005ED003004A469343DBB2C02B6DD0C82838 +:104C400072D0C92800D06AE73800FFF701FFF023CF +:104C500002031B03134042460240013257E7039B05 +:104C60000024002B00D05BE705AD00950E2200214B +:104C70003000FFF717FB009500230F2200213000C2 +:104C8000FFF734FB4CE73800FFF7E2FE002800D1C5 +:104C900045E7030042469343DBB2002B00D03EE7DA +:104CA000020000213000FFF7FFFC002800D10BE7D5 +:104CB00035E73800FFF7CCFEF02302031B03134057 +:104CC00042460240013277E73800FFF7C1FEF02389 +:104CD00002031B0313404246024001321A430323DE +:104CE00003213000FFF7E0FC002800D1ECE616E7D6 +:104CF0003800FFF7ADFE021E00D110E70300414669 +:104D00008B43DBB2002B00D009E704213000FFF712 +:104D1000CBFC002800D1D7E601E74346A0221C4087 +:104D2000013412032243DAE73800FFF791FE4346CD +:104D300002009A43D2B210321840120301300243EB +:104D4000E6E605AB00939B460D22002300213000D0 +:104D5000FFF7A8FA3800FFF77BFE030618D57F257A +:104D6000B03C059B2840A0409C466044059038001C +:104D70000734FFF76DFE0306F3D481217F238900FA +:104D800003408C46A340059A62449B180593E2E6D3 +:104D90000224F2E7030000B5DB6C85B05A68080016 +:104DA000120201921A0001A908324A6003220A7213 +:104DB000DB794B72FFF776FE05B000BD10B5FFF74B +:104DC0006DFE806C10BDC04610B5FFF767FEC26C6B +:104DD000D3799B000833D01810BDC04610B500F041 +:104DE00005F8C04610B5FFF7F9FFC04610B506201C +:104DF00000F076F8012000F0A5F8C046F0B50F2AC3 +:104E000037D90D0005430C000300AD0735D115005F +:104E1000103D2D092E013618103627681F6067686F +:104E20005F60A7689F60E7681034DF601033B342AB +:104E3000F3D10F2401352D01491914404519032CD4 +:104E40001DD90023CE58EE500433E61A032EF9D8AC +:104E50000323043CA4080134A4001A402D190919A5 +:104E6000002A05D00023CC5CEC5401339342FAD1E4 +:104E7000F0BD0500002AF5D1FAE70500F2E72200AF +:104E8000F8E7C04670B505000C001F2922D8B723EB +:104E90009B00C358002B0ED08A009B181A68002A6A +:104EA00009D0012A10D0511C10D000212000196017 +:104EB0009047002070BD280000F030F8220001006B +:104EC000280000F017F8F5E70020F3E71623036049 +:104ED0000120EFE71623036001204042EAE7C046C5 +:104EE00010B5034B01001868FFF7CCFF10BDC0469A +:104EF00000000020002370B5074C050008001100D9 +:104F0000236000F017F8431C00D070BD2368002B0D +:104F1000FBD02B60F9E7C0462407002010B500F055 +:104F200001F810BD58220120014B40421A60704721 +:104F30002407002058220120014B40421A6070478C +:104F400024070020FEE7C046F8B5C046F8B5C046C5 +:104F500074B20181B0AB308000000000800A018192 +:104F6000B0B0ABF0000000003F020181B0AB308078 +:104F70000000000080060181B0B0ABF0000000002E +:104F800030EEFF7FB0B0B0807CEFFF7F010000000B +:104F900028F0FF7FB0A90280BCF0FF7FB0B0A880EE +:104FA00008F1FF7F0100000014F1FF7FB0B0AA807C +:104FB00048F1FF7F9CFFFF7F08F2FF7F01000000A8 +:104FC00004F2FF7FAA3F398050F2FF7FB0B0A88083 +:104FD0005CF2FF7FB0B0AA809CF2FF7FB0B0A880E7 +:104FE000B0F2FF7F01000000ACF2FF7FB0B0A880FC +:104FF000B4F2FF7F010000003CF3FF7FAA0FB280F4 +:10500000A4F3FF7F58FFFF7F7CF6FF7FB0B0A8803E +:1050100098F6FF7F54FFFF7FF4F8FF7F0100000048 +:1050200064FAFF7F0084048074FAFF7FB0B0A88028 +:1050300074FAFF7F40FFFF7F5CFDFF7F00840480E8 +:105040007CFDFF7FB0B0A88094FDFF7F01000000D1 +:10505000080000200000000000000000F402002012 +:105060005C030020C40300200000000000000000DA +:105070000000000000000000000000000000000030 +:105080000000000000000000000000000000000020 +:105090000000000000000000000000000000000010 +:1050A0000000000000000000000000000000000000 +:1050B00000000000000000000000000000000000F0 +:1050C00000000000000000000000000000000000E0 +:1050D00000000000000000000000000000000000D0 +:1050E00000000000000000000000000000000000C0 +:1050F00000000000000000000000000000000000B0 +:1051000001000000000000000E33CDAB34126DE64C +:10511000ECDE05000B0000000000000000000000B5 +:10512000000000000000000000000000000000007F +:10513000000000000000000000000000000000006F +:10514000000000000000000000000000000000005F +:10515000000000000000000000000000000000004F +:10516000000000000000000000000000000000003F +:10517000000000000000000000000000000000002F +:10518000000000000000000000000000000000001F +:10519000000000000000000000000000000000000F +:1051A00000000000000000000000000000000000FF +:1051B00000000000000000000000000000000000EF +:1051C00000000000000000000000000000000000DF +:1051D00000000000000000000000000000000000CF +:1051E00000000000000000000000000000000000BF +:1051F00000000000000000000000000000000000AF +:10520000000000000000000000000000000000009E +:10521000000000000000000000000000000000008E +:10522000000000000000000000000000000000007E +:10523000000000000000000000000000000000006E +:10524000000000000000000000000000000000005E +:10525000000000000000000000000000000000004E +:10526000000000000000000000000000000000003E +:10527000000000000000000000000000000000002E +:10528000000000000000000000000000000000001E +:10529000000000000000000000000000000000000E +:1052A00000000000000000000000000000000000FE +:1052B00000000000000000000000000000000000EE +:1052C00000000000000000000000000000000000DE +:1052D00000000000000000000000000000000000CE +:1052E00000000000000000000000000000000000BE +:1052F00000000000000000000000000000000000AE +:10530000000000000000000000000000000000009D +:10531000000000000000000000000000000000008D +:10532000000000000000000000000000000000007D +:10533000000000000000000000000000000000006D +:10534000000000000000000000000000000000005D +:10535000000000000000000000000000000000004D +:10536000000000000000000000000000000000003D +:10537000000000000000000000000000000000002D +:10538000000000000000000000000000000000001D +:10539000000000000000000000000000000000000D +:1053A00000000000000000000000000000000000FD +:1053B00000000000000000000000000000000000ED +:1053C00000000000000000000000000000000000DD +:1053D00000000000000000000000000000000000CD +:1053E00000000000000000000000000000000000BD +:1053F00000000000000000000000000000000000AD +:10540000000000000000000000000000000000009C +:10541000000000000000000000000000000000008C +:10542000000000000000000000000000000000007C +:10543000000000000000000000000000000000006C +:10544000000000000000000000000000000000005C +:10545000000000000000000000000000000000004C +:10546000000000000000000000000000000000003C +:10547000000000000000000000000000000000002C +:0400000508000805E2 +:00000001FF diff --git a/firmware/build_stm/inlretro_stm.map b/firmware/build_stm/inlretro_stm.map new file mode 100644 index 0000000..717ae8e --- /dev/null +++ b/firmware/build_stm/inlretro_stm.map @@ -0,0 +1,886 @@ +Archive member included to satisfy reference by file (symbol) + +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + C:\Users\paul\AppData\Local\Temp\ccILlO7q.o (__aeabi_unwind_cpp_pr0) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (restore_core_regs) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (__gnu_unwind_execute) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (abort) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (_global_impure_ptr) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) (memcpy) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (raise) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_kill_r) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) (__call_exitprocs) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (atexit) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__libc_fini_array) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) (__retarget_lock_acquire_recursive) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) (_malloc_r) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (__malloc_lock) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (errno) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_sbrk_r) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) (__register_exitproc) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) (_free_r) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_getpid) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) (_kill) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) (_sbrk) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) (_exit) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o (__gnu_thumb1_case_uqi) +c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o (__gnu_thumb1_case_uhi) + +Allocating common symbols +Common symbol size file + +buff3 0x14 source/buffer.o (symbol from plugin) +__lock___atexit_recursive_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +cur_buff 0x4 source/buffer.o (symbol from plugin) +__lock___arc4random_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +tdo_pin 0x1 source/jtag.o (symbol from plugin) +errno 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) +pbje_status 0x1 source/jtag.o (symbol from plugin) +pbje_command 0x1 source/jtag.o (symbol from plugin) +tck_base 0x4 source/jtag.o (symbol from plugin) +tck_pin 0x1 source/jtag.o (symbol from plugin) +bank_table 0x2 source/nes.o (symbol from plugin) +addrh 0x2 source/bootload.o (symbol from plugin) +buff1 0x14 source/buffer.o (symbol from plugin) +incoming_bytes_remain + 0x1 source/buffer.o (symbol from plugin) +__lock___env_recursive_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +__lock___sinit_recursive_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +pbje_cmd_update_flag + 0x1 source/jtag.o (symbol from plugin) +tms_pin 0x1 source/jtag.o (symbol from plugin) +__lock___malloc_recursive_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +tdi_base 0x4 source/jtag.o (symbol from plugin) +tdo_base 0x4 source/jtag.o (symbol from plugin) +buff2 0x14 source/buffer.o (symbol from plugin) +cur_bank 0x1 source/nes.o (symbol from plugin) +addr_ptr 0x4 source/bootload.o (symbol from plugin) +tdi_pin 0x1 source/jtag.o (symbol from plugin) +buff0 0x14 source/buffer.o (symbol from plugin) +raw_bank_status 0x10 source/buffer.o (symbol from plugin) +oper_info_struct 0x20 source/operation.o (symbol from plugin) +raw_buffer16 0x200 source/buffer.o (symbol from plugin) +tms_base 0x4 source/jtag.o (symbol from plugin) +swim_base 0x4 source/swim.o (symbol from plugin) +swim_pin 0x1 source/swim.o (symbol from plugin) +__lock___at_quick_exit_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +cur_usb_load_buff 0x4 source/buffer.o (symbol from plugin) +pbje_numclk 0x1 source/jtag.o (symbol from plugin) +__lock___dd_hash_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +__lock___tz_mutex 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) +pbje_data 0x20 source/jtag.o (symbol from plugin) +__lock___sfp_recursive_mutex + 0x1 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + +Discarded input sections + + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + .text 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .data 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .bss 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .init_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .fini_array 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .eh_frame 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o + .text 0x00000000 0x78 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.extab 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.exidx 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .ARM.attributes + 0x00000000 0x1b c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .stack 0x00000000 0xc00 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .heap 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_line 0x00000000 0x7c C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_info 0x00000000 0x22 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_abbrev 0x00000000 0x12 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_aranges + 0x00000000 0x28 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_str 0x00000000 0x80 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .debug_ranges 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .ARM.attributes + 0x00000000 0x1b C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + .text 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text 0x00000000 0x4 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .ARM.exidx 0x00000000 0x8 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .debug_line 0x00000000 0x49 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .debug_info 0x00000000 0x26 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .debug_abbrev 0x00000000 0x14 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .debug_aranges + 0x00000000 0x20 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .debug_str 0x00000000 0x7d C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .ARM.attributes + 0x00000000 0x21 C:\Users\paul\AppData\Local\Temp\ccILlO7q.o + .data 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + .bss 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + .ARM.extab 0x00000000 0x0 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .debug_frame 0x00000000 0x2b4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .debug_frame 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .text.exit 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-exit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .text.__libc_init_array + 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-init.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .text.memset 0x00000000 0x9c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .debug_frame 0x00000000 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memset.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r.part.0 + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal_r + 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._signal_r + 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp_r + 0x00000000 0x50 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.signal 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text._init_signal + 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text.__sigtramp + 0x00000000 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .debug_frame 0x00000000 0xf8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .debug_frame 0x00000000 0x44 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text.startup.register_fini + 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .init_array.00000 + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text.__call_exitprocs + 0x00000000 0x118 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .data.__atexit_recursive_mutex + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .debug_frame 0x00000000 0x54 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__call_atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .text.atexit 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .debug_frame 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .text.__libc_fini_array + 0x00000000 0x34 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-fini.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_init + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_init_recursive + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_close + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_close_recursive + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_acquire + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_acquire_recursive + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire_recursive + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_release + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text.__retarget_lock_release_recursive + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .debug_frame 0x00000000 0xb0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + COMMON 0x00000000 0x21 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-lock.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text._malloc_r + 0x00000000 0x554 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_current_mallinfo + 0x00000000 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_sbrked_mem + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_max_total_mem + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .bss.__malloc_top_pad + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_av_ + 0x00000000 0x408 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_sbrk_base + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .data.__malloc_trim_threshold + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mallocr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_lock + 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text.__malloc_unlock + 0x00000000 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .debug_frame 0x00000000 0x40 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-mlock.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text.cleanup_glue + 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text._reclaim_reent + 0x00000000 0x94 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .debug_frame 0x00000000 0x48 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .text._sbrk_r 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .debug_frame 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-sbrkr.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .text.__register_exitproc + 0x00000000 0xf4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .debug_frame 0x00000000 0x3c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-__atexit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._malloc_trim_r + 0x00000000 0xa0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text._free_r 0x00000000 0x1d4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .debug_frame 0x00000000 0x58 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-freer.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .stab 0x00000000 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .stab 0x00000000 0x18 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x24 (size before relaxing) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .text._sbrk 0x00000000 0x1c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .bss.heap_end.4102 + 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(sbrk.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .debug_frame 0x00000000 0x20 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o + .eh_frame 0x00000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o + .ARM.attributes + 0x00000000 0x2c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o + .text 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .init 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .fini 0x00000000 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + .data 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + .bss 0x00000000 0x0 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + +Memory Configuration + +Name Origin Length Attributes +FLASH 0x08000000 0x00008000 xr +RAM 0x20000000 0x00001800 xrw +*default* 0x00000000 0xffffffff + +Linker script and memory map + +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/crt0.o +LOAD C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o +LOAD C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o +LOAD C:\Users\paul\AppData\Local\Temp\ccILlO7q.o +LOAD C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o +START GROUP +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a +END GROUP +START GROUP +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a +END GROUP +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o +LOAD c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o + +.text 0x08000000 0x4f50 + *(.isr_vector) + .isr_vector 0x08000000 0xc0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + 0x08000000 __isr_vector + *(.usb_driver) + .usb_driver 0x080000c0 0x3bc C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x08000198 USB_IRQHandler + *(.usb_desc) + .usb_desc 0x0800047c 0xb8 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *(.hardfault) + .hardfault 0x08000534 0x2 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + 0x08000534 TIM1_CC_IRQHandler + 0x08000534 TSC_IRQHandler + 0x08000534 ADC1_COMP_IRQHandler + 0x08000534 SysTick_Handler + 0x08000534 PendSV_Handler + 0x08000534 NMI_Handler + 0x08000534 I2C1_IRQHandler + 0x08000534 RCC_CRS_IRQHandler + 0x08000534 SPI1_IRQHandler + 0x08000534 TIM6_DAC_IRQHandler + 0x08000534 USART3_4_IRQHandler + 0x08000534 EXTI2_3_IRQHandler + 0x08000534 I2C2_IRQHandler + 0x08000534 TIM17_IRQHandler + 0x08000534 CEC_CAN_IRQHandler + 0x08000534 PVD_VDDIO2_IRQHandler + 0x08000534 DMA1_Channel4_5_6_7_IRQHandler + 0x08000534 TIM16_IRQHandler + 0x08000534 TIM3_IRQHandler + 0x08000534 EXTI4_15_IRQHandler + 0x08000534 DMA1_Channel1_IRQHandler + 0x08000534 Default_Handler + 0x08000534 TIM14_IRQHandler + 0x08000534 TIM7_IRQHandler + 0x08000534 TIM15_IRQHandler + 0x08000534 EXTI0_1_IRQHandler + 0x08000534 SPI2_IRQHandler + 0x08000534 SVC_Handler + 0x08000534 RTC_IRQHand + 0x08000534 WWDG_IRQHandler + 0x08000534 TIM2_IRQHandler + 0x08000534 DEF_IRQHandler + 0x08000534 DMA1_Channel2_3_IRQHandler + 0x08000534 USART2_IRQHandler + 0x08000534 FLASH_IRQHandler + 0x08000534 USART1_IRQHandler + 0x08000534 TIM1_BRK_UP_TRG_COM_IRQHandler + *fill* 0x08000536 0x2 ff + .hardfault 0x08000538 0xc C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x08000538 HardFault_Handler + *_thumb1_case_uqi.o() + .text 0x08000544 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + 0x08000544 __gnu_thumb1_case_uqi + .ARM.attributes + 0x08000558 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uqi.o) + *_thumb1_case_shi.o() + *_thumb1_case_uhi.o() + *fill* 0x08000576 0x2 ff + .text 0x08000578 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + 0x08000578 __gnu_thumb1_case_uhi + .ARM.attributes + 0x0800058c 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(_thumb1_case_uhi.o) + *(.fw_update) + *fill* 0x080005aa 0x2 ff + .fw_update 0x080005ac 0x150 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x00000770 . = 0x770 + *fill* 0x080006fc 0x74 ff + *(.fw_up_main) + .fw_up_main 0x08000770 0x70 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x00000800 . = 0x800 + *fill* 0x080007e0 0x20 ff + *(.appver) + 0x00000804 . = 0x804 + *fill* 0x08000800 0x4 ff + *(.reset_handler) + .reset_handler + 0x08000804 0x3c C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + 0x08000804 Reset_Handler + *(.usbFuncWrite) + .usbFuncWrite 0x08000840 0x44 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *(.usbFuncSetup) + .usbFuncSetup 0x08000884 0x1800 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *(.text*) + .text.snes_page_rd_poll.constprop.23 + 0x08002084 0x7c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_cpu_page_rd_poll.constprop.22 + 0x08002100 0x6c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_ppu_page_rd_poll.constprop.19 + 0x0800216c 0x68 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.append_pairity + 0x080021d4 0x1e C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.delay_us + 0x080021f2 0x14 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x08002206 0x2 ff + .text.snes_wr 0x08002208 0x60 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.snes_rd 0x08002268 0x48 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.write_page_snes.constprop.31 + 0x080022b0 0x194 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.snes_3v_flash_wr + 0x08002444 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.snes_5v_flash_wr + 0x08002494 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_dualport_wr + 0x080024e4 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_dualport_rd + 0x08002534 0x38 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_ppu_wr + 0x0800256c 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_ppu_rd + 0x080025bc 0x38 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc3_chrrom_flash_wr + 0x080025f4 0x44 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nrom_chrrom_flash_wr + 0x08002638 0x44 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_cpu_wr + 0x0800267c 0x6c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.cdream_chrrom_flash_wr + 0x080026e8 0x84 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc4_chrrom_flash_wr + 0x0800276c 0x74 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.cnrom_chrrom_flash_wr + 0x080027e0 0x7c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nes_cpu_rd + 0x0800285c 0x40 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc4_prgrom_sop_flash_wr + 0x0800289c 0x54 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc3_prgrom_flash_wr + 0x080028f0 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.disc_push_exp0_prgrom_wr + 0x08002940 0x48 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.discrete_exp0_prgrom_wr + 0x08002988 0x58 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.unrom_prgrom_flash_wr + 0x080029e0 0x64 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.nrom_prgrom_flash_wr + 0x08002a44 0x44 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.pbje_scan + 0x08002a88 0x10c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.pbje_state_change + 0x08002b94 0x88 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.jtag_init_pbje + 0x08002c1c 0xe0 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.jtag_run_pbje.part.0 + 0x08002cfc 0xb8 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.io_reset + 0x08002db4 0x15c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.write_page_verify + 0x08002f10 0x5c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.write_page + 0x08002f6c 0x34 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.get_next_buff + 0x08002fa0 0x54 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc1_wr.constprop.11 + 0x08002ff4 0x22 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x08003016 0x2 ff + .text.mmc1_chrrom_flash_wr + 0x08003018 0x60 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.mmc1_prgrom_flash_wr + 0x08003078 0x50 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.swim_wotf + 0x080030c8 0xb4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.swim_rotf + 0x0800317c 0xac C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .text.startup.main + 0x08003228 0xb80 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x08003228 main + *fill* 0x08003da8 0x8 ff + .text 0x08003db0 0x154 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + 0x08003db0 swim_xfr + .text 0x08003f04 0xa08 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0x080041c0 _Unwind_GetCFA + 0x080041c4 __gnu_Unwind_RaiseException + 0x08004218 __gnu_Unwind_ForcedUnwind + 0x0800422c __gnu_Unwind_Resume + 0x08004274 __gnu_Unwind_Resume_or_Rethrow + 0x08004290 _Unwind_Complete + 0x08004294 _Unwind_DeleteException + 0x080042a4 _Unwind_VRS_Get + 0x080042ec _Unwind_VRS_Set + 0x08004334 __gnu_Unwind_Backtrace + 0x08004684 __aeabi_unwind_cpp_pr0 + 0x08004690 __aeabi_unwind_cpp_pr1 + 0x0800469c __aeabi_unwind_cpp_pr2 + 0x080046a8 _Unwind_VRS_Pop + .text 0x0800490c 0x144 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(libunwind.o) + 0x0800490c __restore_core_regs + 0x0800490c restore_core_regs + 0x08004938 __gnu_Unwind_Restore_VFP + 0x0800493c __gnu_Unwind_Save_VFP + 0x08004940 __gnu_Unwind_Restore_VFP_D + 0x08004944 __gnu_Unwind_Save_VFP_D + 0x08004948 __gnu_Unwind_Restore_VFP_D_16_to_31 + 0x0800494c __gnu_Unwind_Save_VFP_D_16_to_31 + 0x08004950 __gnu_Unwind_Restore_WMMXD + 0x08004954 __gnu_Unwind_Save_WMMXD + 0x08004958 __gnu_Unwind_Restore_WMMXC + 0x0800495c __gnu_Unwind_Save_WMMXC + 0x08004960 ___Unwind_RaiseException + 0x08004960 _Unwind_RaiseException + 0x08004990 _Unwind_Resume + 0x08004990 ___Unwind_Resume + 0x080049c0 _Unwind_Resume_or_Rethrow + 0x080049c0 ___Unwind_Resume_or_Rethrow + 0x080049f0 _Unwind_ForcedUnwind + 0x080049f0 ___Unwind_ForcedUnwind + 0x08004a20 ___Unwind_Backtrace + 0x08004a20 _Unwind_Backtrace + .text 0x08004a50 0x39c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004aa4 __gnu_unwind_execute + 0x08004d94 __gnu_unwind_frame + 0x08004dbc _Unwind_GetRegionStart + 0x08004dc8 _Unwind_GetLanguageSpecificData + 0x08004ddc _Unwind_GetDataRelBase + 0x08004de4 _Unwind_GetTextRelBase + .text.abort 0x08004dec 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-abort.o) + 0x08004dec abort + .text.memcpy 0x08004dfc 0x88 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-memcpy-stub.o) + 0x08004dfc memcpy + .text._raise_r + 0x08004e84 0x5c c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004e84 _raise_r + .text.raise 0x08004ee0 0x14 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signal.o) + 0x08004ee0 raise + .text._kill_r 0x08004ef4 0x28 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004ef4 _kill_r + .text._getpid_r + 0x08004f1c 0x8 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-signalr.o) + 0x08004f1c _getpid_r + .text._getpid 0x08004f24 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) + 0x08004f24 _getpid + .text._kill 0x08004f34 0x10 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(kill.o) + 0x08004f34 _kill + .text._exit 0x08004f44 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(_exit.o) + 0x08004f44 _exit + *(.init) + .init 0x08004f48 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08004f48 _init + *(.fini) + .fini 0x08004f4c 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + 0x08004f4c _fini + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) + *(SORT_BY_NAME(.ctors.*)) + *(.ctors) + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) + *(SORT_BY_NAME(.dtors.*)) + *(.dtors) + *(.rodata*) + *(.eh_frame*) + +.glue_7 0x08004f50 0x0 + .glue_7 0x08004f50 0x0 linker stubs + +.glue_7t 0x08004f50 0x0 + .glue_7t 0x08004f50 0x0 linker stubs + +.vfp11_veneer 0x08004f50 0x0 + .vfp11_veneer 0x08004f50 0x0 linker stubs + +.v4_bx 0x08004f50 0x0 + .v4_bx 0x08004f50 0x0 linker stubs + +.iplt 0x08004f50 0x0 + .iplt 0x08004f50 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + +.ARM.extab 0x08004f50 0x30 + *(.ARM.extab* .gnu.linkonce.armextab.*) + .ARM.extab 0x08004f50 0x24 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + .ARM.extab 0x08004f74 0xc c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x08004f80 __exidx_start = . + +.ARM.exidx 0x08004f80 0xd0 + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + .ARM.exidx 0x08004f80 0x8 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + 0x10 (size before relaxing) + .ARM.exidx 0x08004f88 0x98 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(unwind-arm.o) + 0xd8 (size before relaxing) + .ARM.exidx 0x08005020 0x30 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m\libgcc.a(pr-support.o) + 0x48 (size before relaxing) + 0x08005050 __exidx_end = . + 0x08005050 __etext = ALIGN (0x4) + +.rel.dyn 0x08005050 0x0 + .rel.iplt 0x08005050 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + +.data 0x20000000 0x430 load address 0x08005050 + 0x20000000 __data_start__ = . + *(vtable) + *(.data*) + .data._impure_ptr + 0x20000000 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + 0x20000000 _impure_ptr + *fill* 0x20000004 0x4 + .data.impure_data + 0x20000008 0x428 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-impure.o) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__preinit_array_start = .) + *(.preinit_array) + 0x20000430 PROVIDE (__preinit_array_end = .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__init_array_start = .) + *(SORT_BY_NAME(.init_array.*)) + *(.init_array) + 0x20000430 PROVIDE (__init_array_end = .) + 0x20000430 . = ALIGN (0x4) + 0x20000430 PROVIDE (__fini_array_start = .) + *(SORT_BY_NAME(.fini_array.*)) + *(.fini_array) + 0x20000430 PROVIDE (__fini_array_end = .) + 0x20000430 . = ALIGN (0x4) + *(.fastrun) + 0x20000430 __data_end__ = . + +.igot.plt 0x20000430 0x0 load address 0x08005480 + .igot.plt 0x20000430 0x0 C:\Users\paul\AppData\Local\Temp\ccQ7ryii.o + +.bss 0x20000430 0x2f8 load address 0x08005480 + 0x20000430 . = ALIGN (0x4) + 0x20000430 __bss_start__ = . + *(.bss*) + .bss.addr_ptr 0x20000430 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.addrh 0x20000434 0x2 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.bank_table + 0x20000436 0x2 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.buff0 0x20000438 0x14 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.buff1 0x2000044c 0x14 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.buff2 0x20000460 0x14 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.buff3 0x20000474 0x14 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.cur_bank 0x20000488 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000489 0x3 + .bss.cur_buff 0x2000048c 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.cur_usb_load_buff + 0x20000490 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.incoming_bytes_remain + 0x20000494 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.num_buff.5073 + 0x20000495 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000496 0x2 + .bss.oper_info_struct + 0x20000498 0x20 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.pbje_command + 0x200004b8 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.pbje_data + 0x200004b9 0x20 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.pbje_numclk + 0x200004d9 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.pbje_status + 0x200004da 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.raw_bank_status + 0x200004db 0x10 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x200004eb 0x1 + .bss.raw_buffer16 + 0x200004ec 0x200 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.rv16.4756 + 0x200006ec 0x8 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.rv16.4993 + 0x200006f4 0x8 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.swim_base + 0x200006fc 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.swim_pin 0x20000700 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000701 0x3 + .bss.tck_base 0x20000704 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.tck_pin 0x20000708 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000709 0x3 + .bss.tdi_base 0x2000070c 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.tdi_pin 0x20000710 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000711 0x3 + .bss.tdo_base 0x20000714 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.tdo_pin 0x20000718 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *fill* 0x20000719 0x3 + .bss.tms_base 0x2000071c 0x4 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .bss.tms_pin 0x20000720 0x1 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + *(COMMON) + *fill* 0x20000721 0x3 + COMMON 0x20000724 0x4 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libg.a(lib_a-reent.o) + 0x20000724 errno + 0x20000728 . = ALIGN (0x4) + 0x20000728 __bss_end__ = . + +.heap 0x20000728 0x0 + 0x20000728 __end__ = . + 0x20000728 PROVIDE (end = .) + *(.heap*) + 0x20000728 __HeapLimit = . + +.stack_dummy 0x20000728 0x0 + *(.stack*) + 0x20001800 __StackTop = (ORIGIN (RAM) + LENGTH (RAM)) + 0x20001800 __StackLimit = (__StackTop - SIZEOF (.stack_dummy)) + 0x20001800 PROVIDE (__stack = __StackTop) + 0x00000001 ASSERT ((__StackLimit >= __HeapLimit), region RAM overflowed with stack) +OUTPUT(build_stm/inlretro_stm.elf elf32-littlearm) + +.ARM.attributes + 0x00000000 0x28 + .ARM.attributes + 0x00000000 0x1e c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o + .ARM.attributes + 0x0000001e 0x2f C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .ARM.attributes + 0x0000004d 0x21 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.comment 0x00000000 0x7f + .comment 0x00000000 0x7f C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x80 (size before relaxing) + +.debug_info 0x00000000 0x4cf2 + .debug_info 0x00000000 0x4ccc C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .debug_info 0x00004ccc 0x26 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.debug_abbrev 0x00000000 0x67b + .debug_abbrev 0x00000000 0x667 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .debug_abbrev 0x00000667 0x14 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.debug_loc 0x00000000 0x500b + .debug_loc 0x00000000 0x500b C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + +.debug_aranges 0x00000000 0x1c8 + .debug_aranges + 0x00000000 0x1a8 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .debug_aranges + 0x000001a8 0x20 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.debug_ranges 0x00000000 0xc80 + .debug_ranges 0x00000000 0xc80 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + +.debug_line 0x00000000 0x184b + .debug_line 0x00000000 0x1758 C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + .debug_line 0x00001758 0xf3 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.debug_str 0x00000000 0x1115 + .debug_str 0x00000000 0x109c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + 0x11b1 (size before relaxing) + .debug_str 0x0000109c 0x79 C:\Users\paul\AppData\Local\Temp\cc8YgOYB.o + +.debug_frame 0x00000000 0x54c + .debug_frame 0x00000000 0x54c C:\Users\paul\AppData\Local\Temp\ccuar51r.ltrans0.ltrans.o + +.stabstr 0x00000000 0x76 + .stabstr 0x00000000 0x76 c:/arm/gcc-arm-none-eabi-7-2018-q2-update-win32/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libnosys.a(getpid.o) diff --git a/firmware/source/dump.c b/firmware/source/dump.c index 4ab85f9..7952e2e 100644 --- a/firmware/source/dump.c +++ b/firmware/source/dump.c @@ -74,6 +74,16 @@ uint8_t dump_buff( buffer *buff ) { break; #endif + #ifdef GB_CONN + case GAMEBOY_PAGE: + //mapper byte specifies CPU A15-8 + addrH |= buff->mapper; + buff->cur_byte = gameboy_page_rd_poll( buff->data, addrH, buff->id, + //id contains MSb of page when <256B buffer + buff->last_idx, 1 ); + break; + #endif + #ifdef NES_CONN case PRGROM: addrH |= 0x80; //$8000 diff --git a/firmware/source/gameboy.c b/firmware/source/gameboy.c index 8be24b1..7a8965c 100644 --- a/firmware/source/gameboy.c +++ b/firmware/source/gameboy.c @@ -61,5 +61,72 @@ void dmg_wr( uint16_t addr, uint8_t data ) return; } +/* Desc:GAMEBOY 8bit CPU Page Read with optional USB polling + * decode A15 from addrH to set SRAM /CE as expected + * if poll is true calls usbdrv.h usbPoll fuction + * this is needed to keep from timing out when double buffering usb data + * Pre: gameboy_init() setup of io pins + * num_bytes can't exceed 256B page boundary + * Post:address left on bus + * data bus left clear + * data buffer filled starting at first to last + * Rtn: Index of last byte read + */ +uint8_t gameboy_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t len, uint8_t poll ) +{ + uint8_t i; + + //set address bus + ADDRH(addrH); + + //enable /RD pin + CSRD_LO(); + + //set SRAM /CS + //low for $A000-BFFF + if( (addrH >= 0xA0) && (addrH <= 0xBF) ) { //addressing cart RAM space + ROMSEL_LO(); //this is actually the SRAM /CS pin + } + + //set lower address bits + ADDRL(first); //doing this prior to entry and right after latching + + //extra NOP was needed on stm6 as address hadn't settled in time for the very first read + NOP(); + //gives longest delay between address out and latching data + for( i=0; i<=len; i++ ) { + //testing shows that having this if statement doesn't affect overall dumping speed + if ( poll ) { + usbPoll(); //Call usbdrv.h usb polling while waiting for data + } else { + NOP(); //couple more NOP's waiting for data + NOP(); //one prob good enough considering the if/else + } + + //gameboy needed some extra NOPS + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + NOP(); + + //latch data + DATA_RD(data[i]); + + //set lower address bits + //ADDRL(++first); THIS broke things, on stm adapter because macro expands it twice! + first++; + ADDRL(first); + } + + //return bus to default + CSRD_HI(); + ROMSEL_HI(); + + //return index of last byte read + return i; +} + #endif //GB_CONN diff --git a/firmware/source/gameboy.h b/firmware/source/gameboy.h index b2f111d..8db9fd6 100644 --- a/firmware/source/gameboy.h +++ b/firmware/source/gameboy.h @@ -2,6 +2,7 @@ #define _gameboy_h #include "pinport.h" +#include "buffer.h" #include "shared_dictionaries.h" #include "shared_errors.h" @@ -10,4 +11,6 @@ uint8_t gameboy_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_ uint8_t dmg_rd( uint16_t addr ); void dmg_wr( uint16_t addr, uint8_t data ); +uint8_t gameboy_page_rd_poll( uint8_t *data, uint8_t addrH, uint8_t first, uint8_t len, uint8_t poll ); + #endif diff --git a/firmware/source/io.c b/firmware/source/io.c index f6e5630..b386cf4 100644 --- a/firmware/source/io.c +++ b/firmware/source/io.c @@ -34,7 +34,11 @@ uint8_t io_call( uint8_t opcode, uint8_t miscdata, uint16_t operand, uint8_t *rd case SNES_INIT: snes_init(); break; #endif #ifdef GB_CONN - case GAMEBOY_INIT: gameboy_init(); break; + case GB_POWER_3V: + GBP_OP(); GBP_3V(); break; + case GB_POWER_5V: + GBP_OP(); GBP_5V(); break; + case GAMEBOY_INIT: gameboy_init(); break; // case GBA_INIT: gba_init(); break; #endif #ifdef SEGA_CONN @@ -74,14 +78,22 @@ void io_reset() RCC->AHBRSTR &= ~( RCC_AHBRSTR_GPIOARST | RCC_AHBRSTR_GPIOBRST | RCC_AHBRSTR_GPIOCRST | RCC_AHBRSTR_GPIODRST | RCC_AHBRSTR_GPIOFRST ); #endif - //First set gameboy/GBA power, default to 3v (safe for both) + + //enable the GPIO blocks before can access them + CTL_ENABLE(); + #ifndef C16nodef - GBP_OP(); - GBP_3V(); + //First set gameboy/GBA power, default to 3v (safe for both) + //pull up the GB power control pin + //prevents conflicts, but also pulls up the + //Pmosfet gate which turns off the mosfet + //leaving the 3v power diode to supply the gameboy cart + GBP_IP_PU(); + //If there's a load on the gameboy cart power there will be ~3v present. + //If no load/cart, the voltage will will float up to 5v because of Rds_off of the mosfet. #endif //pull up control port - CTL_ENABLE(); M2_IP_PU(); ROMSEL_IP_PU(); PRGRW_IP_PU(); @@ -238,19 +250,29 @@ void gameboy_init() io_reset(); //enable control outputs and disable memories - //ROM + //ROM-RAM ROMSEL_OP(); - ROMSEL_HI(); + ROMSEL_HI(); //gameboy pin 5 "SRAM /CS" CSRD_OP(); - CSRD_HI(); + CSRD_HI(); //gameboy pin 4 /RD CSWR_OP(); - CSWR_HI(); + CSWR_HI(); //gameboy pin 3 /WR //Set #RESET pin low - EXP0_LO(); EXP0_OP(); - //if SWIM is active, EXP0 must be set to pullup prior to SWIM transfers + EXP0_HI(); //gameboy pin 30 "GAMEBOY /RESET" (GBA /CS2) + //AUDIO IN (from cart) gameboy pin 31 + //if the cart generates audio it will drive this pin + //this pin is also used for ROM /WE on some carts + //such carts should have a pullup on this pin though.. + //use "AUDR" ctl pin to access this pin + + //CLK is a 1MHz signal from the gameboy + //INL6 connects this to GPIO PA8, haven't even assigned this in pinport yet.. + //don't think any carts even need it though.. + //This is also the MCO pin from the STM32 + //other control pins are inputs or unused, leave as IP pullup from reset //memories are now disabled Data bus should be clear @@ -262,11 +284,12 @@ void gameboy_init() ADDR_ENABLE(); ADDR_SET(0x0000); -#ifndef C16nodef - //set GB/GBA power to 5v - GBP_OP(); - GBP_5V(); -#endif +//want to control this separately +//#ifndef C16nodef +// //set GB/GBA power to 5v +// GBP_OP(); +// GBP_5V(); +//#endif } #endif @@ -309,6 +332,8 @@ void gba_init() ADDR_ENABLE(); ADDR_SET(0x0000); + //default is 3v on gameboy/GBA port + } #endif diff --git a/host/inlretro.exe b/host/inlretro.exe index 8b4957b..adee2fa 100644 Binary files a/host/inlretro.exe and b/host/inlretro.exe differ diff --git a/host/scripts/gb/romonly.lua b/host/scripts/gb/romonly.lua new file mode 100644 index 0000000..f7c2b9d --- /dev/null +++ b/host/scripts/gb/romonly.lua @@ -0,0 +1,282 @@ + +-- create the module's table +local romonly = {} + +-- import required modules +local dict = require "scripts.app.dict" +local dump = require "scripts.app.dump" +local flash = require "scripts.app.flash" + +-- file constants +local mapname = "ROMONLY" + +-- local functions + +--read PRG-ROM flash ID +local function rom_manf_id( debug ) + + --init_mapper() + + if debug then print("reading PRG-ROM manf ID") end + + --enter software mode + --ROMSEL controls PRG-ROM /OE which needs to be low for flash writes + --So unlock commands need to be addressed below $8000 + --DISCRETE_EXP0_PRGROM_WR doesn't toggle /ROMSEL by definition though, so A15 is unused + -- 15 14 13 12 + -- 0x5 = 0b 0 1 0 1 -> $5555 + -- 0x2 = 0b 0 0 1 0 -> $2AAA + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x90) + + --read manf ID + local rv = dict.nes("NES_CPU_RD", 0x8000) + if debug then print("attempted read PRG-ROM manf ID:", string.format("%X", rv)) end + + --read prod ID + rv = dict.nes("NES_CPU_RD", 0x8001) + if debug then print("attempted read PRG-ROM prod ID:", string.format("%X", rv)) end + + --exit software + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x8000, 0xF0) + + --verify exited +-- rv = dict.nes("NES_CPU_RD", 0x8001) +-- if debug then print("attempted read PRG-ROM prod ID:", string.format("%X", rv)) end + +end + + + +--dump the ROM +local function dump_rom( file, rom_size_KB, debug ) + + --ROM ONLY dump all 32KB, most of this code is overkill for no MBC. + -- but follows same format as MBC's + local KB_per_read = 32 --$0000-7FFF is ROM space (32KByte) + local num_reads = rom_size_KB / KB_per_read + local read_count = 0 + local addr_base = 0x00 -- $0000 base address for ROM + + while ( read_count < num_reads ) do + + if debug then print( "dump ROM part ", read_count, " of ", num_reads) end + + dump.dumptofile( file, KB_per_read, addr_base, "GAMEBOY_PAGE", false ) + + read_count = read_count + 1 + end + +end + +--write a single byte to ROM flash +local function wr_flash_byte(addr, value, debug) + + if (addr < 0x8000 or addr > 0xFFFF) then + print("\n ERROR! flash write to PRG-ROM", string.format("$%X", addr), "must be $8000-FFFF \n\n") + return + end + + --send unlock command and write byte + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) + dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xA0) + dict.nes("DISCRETE_EXP0_PRGROM_WR", addr, value) + + local rv = dict.nes("NES_CPU_RD", addr) + + local i = 0 + + while ( rv ~= value ) do + rv = dict.nes("NES_CPU_RD", addr) + i = i + 1 + end + if debug then print(i, "naks, done writing byte.") end + + --TODO handle timeout for problems + + --TODO return pass/fail/info +end + + + +--fast host flash one bank at a time... +--this is controlled from the host side one bank at a time +--but requires specific firmware MMC3 flashing functions +--there is super slow version commented out that doesn't require MMC3 specific firmware code +local function flash_rom(file, rom_size_KB, debug) + + --init_mapper() + + --test some bytes + --wr_flash_byte(0x8000, 0xA5, true) + --wr_flash_byte(0xFFFF, 0x5A, true) + + + print("\nProgramming PRG-ROM flash") + + --most of this is overkill for NROM, but it's how we want to handle things for bigger mappers + local base_addr = 0x8000 --writes occur $8000-9FFF + local bank_size = 32*1024 --MMC3 8KByte per PRG bank + local buff_size = 1 --number of bytes to write at a time + local cur_bank = 0 + local total_banks = rom_size_KB*1024/bank_size + + local byte_num --byte number gets reset for each bank + local byte_str, data, readdata + + while cur_bank < total_banks do + + if (cur_bank %8 == 0) then + print("writting PRG bank: ", cur_bank, " of ", total_banks-1) + end + + --program the entire bank's worth of data + flash.write_file( file, 32, mapname, "PRGROM", false ) + + cur_bank = cur_bank + 1 + end + + print("Done Programming PRG-ROM flash") + +end + + + + +--Cart should be in reset state upon calling this function +--this function processes all user requests for this specific board/mapper +local function process( test, read, erase, program, verify, dumpfile, flashfile, verifyfile, mirror) + + local rv = nil + local file + local rom_size = 32 + local ram_size = 0 + +--initialize device i/o for NES + dict.io("IO_RESET") + dict.io("GAMEBOY_INIT") + + dict.io("GB_POWER_5V") --gameboy carts prob run fine at 3v if want to be safe + +--test the cart + if test then + -- print("Testing ", mapname) + + -- nes.detect_mapper_mirroring(true) + -- print("EXP0 pull-up test:", dict.io("EXP0_PULLUP_TEST")) + -- --nes.read_flashID_prgrom_exp0(true) + -- rom_manf_id(true) + -- --nes.read_flashID_chrrom_8K(true) + -- chrrom_manf_id(true) + end + +--dump the cart to dumpfile + if read then + + print("\nDumping ROM...") + + --init_mapper() + + file = assert(io.open(dumpfile, "wb")) + + --dump cart into file + dump_rom(file, rom_size, false) + + --close file + assert(file:close()) + print("DONE Dumping ROM") + end + + +--erase the cart + if erase then + +-- print("\nErasing ", mapname); +-- +-- --init_mapper() +-- +-- print("erasing PRG-ROM"); +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x80) +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0xAA) +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x2AAA, 0x55) +-- dict.nes("DISCRETE_EXP0_PRGROM_WR", 0x5555, 0x10) +-- rv = dict.nes("NES_CPU_RD", 0x8000) +-- +-- local i = 0 +-- +-- --TODO create some function to pass the read value +-- --that's smart enough to figure out if the board is actually erasing or not +-- while ( rv ~= 0xFF ) do +-- rv = dict.nes("NES_CPU_RD", 0x8000) +-- i = i + 1 +-- end +-- print(i, "naks, done erasing prg."); +-- +-- print("erasing CHR-ROM"); +-- dict.nes("NES_PPU_WR", 0x1555, 0xAA) +-- dict.nes("NES_PPU_WR", 0x0AAA, 0x55) +-- dict.nes("NES_PPU_WR", 0x1555, 0x80) +-- dict.nes("NES_PPU_WR", 0x1555, 0xAA) +-- dict.nes("NES_PPU_WR", 0x0AAA, 0x55) +-- dict.nes("NES_PPU_WR", 0x1555, 0x10) +-- rv = dict.nes("NES_PPU_RD", 0x0000) +-- +-- i = 0 +-- while ( rv ~= 0xFF ) do +-- rv = dict.nes("NES_PPU_RD", 0x0000) +-- i = i + 1 +-- end +-- print(i, "naks, done erasing chr.\n"); + end + + +--program flashfile to the cart + if program then +-- --open file +-- file = assert(io.open(flashfile, "rb")) +-- --determine if auto-doubling, deinterleaving, etc, +-- --needs done to make board compatible with rom +-- --flash cart +-- flash_rom(file, rom_size, true) +-- --close file +-- assert(file:close()) +-- + end + +--verify flashfile is on the cart + if verify then + --for now let's just dump the file and verify manually + print("\nPost dumping ROM...") + + --init_mapper() + + file = assert(io.open(verifyfile, "wb")) + + --dump cart into file + dump_rom(file, rom_size, false) + + --close file + assert(file:close()) + + print("DONE post dumping ROM") + end + + 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 +romonly.process = process + +-- return the module's table +return romonly diff --git a/host/scripts/inlretro.lua b/host/scripts/inlretro.lua index 60dd98d..e1d5861 100644 --- a/host/scripts/inlretro.lua +++ b/host/scripts/inlretro.lua @@ -73,7 +73,7 @@ function main () --local curcart = require "scripts.nes.mmc4" --local curcart = require "scripts.nes.mm2" --local curcart = require "scripts.nes.mapper30" - local curcart = require "scripts.nes.bnrom" + --local curcart = require "scripts.nes.bnrom" --local curcart = require "scripts.nes.cdream" --local curcart = require "scripts.nes.cninja" --local curcart = require "scripts.nes.action53" @@ -85,15 +85,16 @@ function main () --local curcart = require "scripts.snes.lorom_5volt" --catskull design --local curcart = require "scripts.snes.v2proto" --local curcart = require "scripts.snes.v2proto_hirom" --quickly becoming the master SNES script... + local curcart = require "scripts.gb.romonly" -- ===================================================== -- USERS: set cart_console to the to point to the mapper script you would like to use here. -- ===================================================== - local cart_console = "NES" --includes Famicom + --local cart_console = "NES" --includes Famicom --local cart_console = "SNES" --local cart_console = "SEGA" --local cart_console = "N64" - --local cart_console = "DMG" + local cart_console = "DMG" --local cart_console = "GBA" --local cart_console = "SMS" @@ -533,25 +534,26 @@ function main () print("testing gameboy") - --SNES should be similar - curcart.process( false, true, false, false, false, "ignore/dump.bin", "ignore/gameboy.bin", "ignore/verifyout.bin") - ---[[ --TEST GB power - rv = dict.pinport( "CTL_ENABLE", "GBP" ) - rv = dict.pinport( "CTL_OP", "GBP") - rv = dict.pinport( "CTL_SET_HI", "GBP") + dict.io("IO_RESET") + + curcart.process( true, true, false, false, false, "ignore/dump.bin", "ignore/gameboy.bin", "ignore/verifyout.bin") + --[[ --TEST GB power + dict.io("GB_POWER_3V") print("GBP high 3v GBA") jtag.sleep(1) - rv = dict.pinport( "CTL_SET_LO", "GBP") + dict.io("GB_POWER_5V") print("GBP low 5v GB") jtag.sleep(1) - rv = dict.pinport( "CTL_SET_HI", "GBP") + dict.io("GB_POWER_3V") print("GBP high 3v GBA") jtag.sleep(1) - rv = dict.pinport( "CTL_SET_LO", "GBP") + dict.io("GB_POWER_5V") print("GBP low 5v GB") - --jtag.sleep(2) + jtag.sleep(1) + print("GBP reset (pullup) = 3v") --]] + dict.io("IO_RESET") elseif cart_console == "GBA" then diff --git a/shared/shared_dict_buffer.h b/shared/shared_dict_buffer.h index a280974..39820fd 100644 --- a/shared/shared_dict_buffer.h +++ b/shared/shared_dict_buffer.h @@ -120,6 +120,7 @@ #define NESPPU_PAGE 0x23 //mapper byte specifies A13-8 bits 6 & 7 can't be set #define SNESROM_PAGE 0x24 //mapper byte specifies A15-8 ROMSEL low #define SNESSYS_PAGE 0x25 //mapper byte specifies A15-8 ROMSEL high + #define GAMEBOY_PAGE 0x26 //mapper byte specifies A15-8 //operand LSB //SST 39SF0x0 manf/prod IDs diff --git a/shared/shared_dict_io.h b/shared/shared_dict_io.h index 8e49cb4..d704bb1 100644 --- a/shared/shared_dict_io.h +++ b/shared/shared_dict_io.h @@ -64,6 +64,12 @@ #define SEGA_INIT 7 #define N64_INIT 8 +//default is 3v by pulling up on GBP pin +//these set GBP pin to output and drive high for 3v, and low for 5v +//be careful not to drive GBA cartridge with 5v as it's supposed to only be 3v +#define GB_POWER_5V 9 +#define GB_POWER_3V 10 + //Test EXP0 drive with pull up //This is an important test if reling on pulling up EXP0 pin to drive the cart's pin.