diff options
author | Cluster <clusterrr@clusterrr.com> | 2015-05-26 21:30:43 +0300 |
---|---|---|
committer | Cluster <clusterrr@clusterrr.com> | 2015-05-26 21:30:43 +0300 |
commit | f167f7ff3d5249cb334a94689571d2e26dd766f3 (patch) | |
tree | 5fe24d3ad531351ef5c5ef8ceb5880e324a79bdf | |
parent | c7a8482c069d739fa8db12e46fd8a426109e6b5a (diff) |
Cleanup
-rw-r--r-- | main.c | 8 | ||||
-rw-r--r-- | nes2wii.h | 10 | ||||
-rw-r--r-- | nes2wii.hex | 807 | ||||
-rw-r--r-- | wiimote.c | 9 |
4 files changed, 413 insertions, 421 deletions
@@ -33,10 +33,6 @@ int main() { RED_LED_PORT_DDR |= (1<<RED_LED_PIN); // Red led, output GREEN_LED_PORT_DDR |= (1<<GREEN_LED_PIN); // Red led, output -#ifdef DETECT_PORT_DDR - WII_DISCONNECT; - DETECT_PORT_DDR |= (1<<DETECT_PIN); -#endif #ifdef N64_ENABLED init_n64_gamepad(); #endif @@ -72,10 +68,8 @@ int main() if (!connected) { - _delay_ms(100); - connected = 1; - WII_CONNECT; wm_init((void*)classic_controller_id, but_dat, (void*)cal_data, wiimote_query); + connected = 1; wdt_enable(WDTO_2S); } @@ -14,13 +14,9 @@ #define twi_sda_pin TWI_SDA_PIN #ifdef DETECT_PORT -#define DETECT_PORT_PORT PORT(DETECT_PORT) -#define DETECT_PORT_DDR DDR(DETECT_PORT) -#define WII_CONNECT DETECT_PORT_PORT |= (1<<DETECT_PIN) -#define WII_DISCONNECT DETECT_PORT_PORT &= ~(1<<DETECT_PIN) -#else -#define WII_CONNECT -#define WII_DISCONNECT +#define dev_detect_port PORT(DETECT_PORT) +#define dev_detect_ddr DDR(DETECT_PORT) +#define dev_detect_pin DETECT_PIN #endif #define PRESS_A but_dat[5] &= 0b11101111; // BZL BB BY BA BX BZR BDL BDU diff --git a/nes2wii.hex b/nes2wii.hex index 3744841..4705396 100644 --- a/nes2wii.hex +++ b/nes2wii.hex @@ -2,7 +2,7 @@ :100010000C945C050C945C050C945C050C945C05DC :100020000C945C050C945C050C945C050C945C05CC :100030000C945C050C945C050C945C050C945C05BC -:100040000C945C050C94E90D0C945C050C945C0517 +:100040000C945C050C94DD0D0C945C050C945C0523 :100050000C945C05A877A6E0F7435A3585E27297C1 :100060008FB71A6287380D67C7BE4F3E2076378F2D :1000700068B7A9263F2B10E3307E900E850A705199 @@ -167,412 +167,411 @@ :100A60000000000000000000000000000000000086 :100A70000000000000000000000000000000112441 :100A80001FBECFE5D4E0DEBFCDBF10E0A0E6B0E0F2 -:100A9000E0ECF3E202C005900D92AE3AB107D9F74F +:100A9000E8EAF3E202C005900D92AE3AB107D9F749 :100AA00011E0AEEAB0E001C01D92A53DB107E1F74B -:100AB0000E946A050C94DE110C940000A89528E0B1 +:100AB0000E946A050C94D2110C940000A89528E0BD :100AC00088E190E00FB6F894A89581BD0FBE21BDD6 :100AD000C49A08952F923F924F925F926F927F92A5 :100AE0008F929F92AF92BF92CF92DF92EF92FF923E :100AF0000F931F93DF93CF93CDB7DEB763970FB6F6 -:100B0000F894DEBF0FBECDBFBC9ABB9A0E94310FD6 -:100B10000E94060F0E94DF0E0E94C10F0E947510F6 -:100B200080E090E00E94C911C82E82E08C1508F484 -:100B3000CC2428EE33E044EF51E0CA010197F1F7ED -:100B400021503040D1F78FE58D838FED8E838FE874 -:100B50008F8318868FEF89878A8780E690E0BE01B1 -:100B60006B5F7F4F46E650E02EE535E00E94090BB3 -:100B70002FE088E190E00FB6F894A89581BD0FBEF4 -:100B800021BD442455241E010894211C311C04EF6E -:100B900011E0C398F894C1010E94370F7894892B13 -:100BA00009F070C26624772488249924CE010B961C -:100BB00069E070E040E020E00E94E810892B09F431 -:100BC0005CC08E85682F70E041E050E016C0C39A8B -:100BD0002330310509F42EC4243031050CF0E1C175 -:100BE0002130310509F422C4223031050CF486C4C9 -:100BF0008985837F89874F5F5F4F9A0121503040FD -:100C0000CB01022E02C0959587950A94E2F780FFEA -:100C1000DECF483051057CF38F85682F70E041E0CE -:100C200050E016C0C39A2330310509F407C42430BC -:100C300031050CF0C2C12130310509F40BC422305A -:100C400031050CF469C489858F7D89874F5F5F4FBB -:100C50009A0121503040CB01022E02C09595879514 -:100C60000A94E2F780FFDECF483051057CF38C8593 -:100C700082958F70873009F463C30E940B0FBC010B -:100C8000AA24BB2441E050E016C02230310509F40B -:100C9000DDC1233031050CF047C02115310509F4C1 -:100CA000CAC12130310509F4C2C1403151050CF0EF -:100CB0004BC04F5F5F4F9A0121503040CB01022E55 -:100CC00002C0969587950A94E2F780FDEECFC39A0D -:100CD0002530310509F4BEC126303105B4F2283083 -:100CE000310509F49DC1293031057CF426303105E8 -:100CF00009F48EC127303105C1F6F2E0CF1609F0B4 -:100D0000CBC389858F778987D4CF2A30310509F401 -:100D10007BC12A3031050CF495C12B30310529F601 -:100D200089858D7F8987C5CF2330310509F465C159 -:100D30002430310509F0B9CF82E0C81609F0BBC3F1 -:100D40008A858E7F8A87B5CF0E94E40E682F70E077 -:100D500041E050E016C0C39A2330310509F450C277 -:100D6000243031050CF0D2C02130310509F44FC2D6 -:100D7000223031050CF472C389858F7E89874F5FDD -:100D80005F4F9A0121503040CB01022E02C0959551 -:100D900087950A94E2F780FFDECF483051057CF357 -:100DA000DD24EE24FF240E94CF0FBC018F709070D1 -:100DB000892B09F05FC082E0E816F1040CF45AC0F8 -:100DC00045E050E00DC02430310509F407C125305D -:100DD000310509F4FEC04C30510524F54F5F5F4FDB -:100DE0009A0121503040CB01022E02C09695879582 -:100DF0000A94E2F780FDEFCF2830310509F4CCC02A -:100E00002930310504F32A30310509F4F1C02A30C4 -:100E100031050CF4E8C02B303105E9F689858F7E69 -:100E20008987C39A0894E11CF11C94E0E916F10447 -:100E300009F0B9CF8D81860D8D838E81880D8E83CB -:100E4000CE0105960E94000BE3E0AE16B10409F452 -:100E500003C24424552488E893E10197F1F79FE504 -:100E60009D838FED8E838FE88F8318868FEF898720 -:100E70008A878FCE41E050E09A0121503040CB016B -:100E8000022E02C0969587950A94E2F780FD2AC04B -:100E90002530310509F452C026303105BCF421302B -:100EA000310509F471C02430310509F464C0232BE5 -:100EB000B9F492E0C91609F0B1C18A858E7F8A879C -:100EC000C39ADD24D3944F5F5F4FD6CF2B303105CB -:100ED00069F12C3031056CF42A30310509F443C036 -:100EE000DD24D3944E30510574F3DD2009F09ACF00 -:100EF000A1CF2C30310571F12D30310589F78A856C -:100F00008F7E8A87C39ADD24D3948CCF2530310518 -:100F100009F46EC1253031050CF0A4C082E0C8167A -:100F200009F0D8C28A858E7F8A8729CF82E0C816C9 -:100F300009F07BC189858F778987C2CF89858B7FAF -:100F40008987C39AE114F10409F0BBCF0894A11C6E -:100F5000B11CB7CF8A858F7B8A87C39AE114F104CD -:100F600009F0AFCFF3CFF2E0CF1609F065C18A8563 -:100F70008D7F8A87A5CF8A858F7D8A87C39AE11462 -:100F8000F10409F09ECFE2CFE2E0CE1609F05CC199 -:100F900089858F7B898794CF89858D7F8987C39A3F -:100FA0001DCF2530310509F451C2253031050CF033 -:100FB00026C28A858E7F8A871ECE2530310509F4A8 -:100FC0005BC2253031050CF0AAC18A85877F8A87EC -:100FD0003DCE89858B7F8987C39A00CF8A858F7D97 -:100FE0008A87C39AFBCE8A85877F8A87C39AF6CE83 -:100FF00089858F7D8987C39AF1CE89858B7F898783 -:101000000894A11CB11C55CE89858F7D898751CE4E -:10101000E2E0CE1609F047C28A858D7F8A8749CEE5 -:101020008A858F7E8A870894A11CB11C42CE8A854E -:101030008F7D8A873ECE8A858F7B8A870894A11C04 -:10104000B11C37CE8A85877F8A8733CE89858F7E8C -:1010500089872FCE92E0C91609F016C289858F7B49 -:10106000898727CE2630310509F4BAC027303105EB -:1010700009F093CEF2E0CF1609F03AC289858F7756 -:1010800089878ECE8981682F70E041E050E016C0DC -:10109000C39A2330310509F4C1C1243031050CF065 -:1010A00093C02130310509F4EBC1223031050CF435 -:1010B0002CC28A858F778A874F5F5F4F9A012150B4 -:1010C000304088E090E0841B950BFB0102C0F59551 -:1010D000E7958A95E2F7E0FDDBCF4830510564F3F0 -:1010E0008A81682F70E041E050E00DC02230310568 -:1010F00009F4FAC02330310509F4F2C04830510533 -:1011000054F54F5F5F4F9A012150304088E090E0E6 -:10111000841B950BFB0102C0F595E7958A95E2F7D4 -:10112000E0FFECCFC39A2430310509F4D5C0253057 -:101130003105E4F22630310509F4DEC026303105F0 -:101140000CF4D6C027303105C9F68D81806C8D83B3 -:101150008E81806C8E838B81282F30E02038310582 -:1011600014F0205031408C81E82FF0E0E038F10598 -:1011700014F0E050F140C901880F991F820F931FAE -:101180009C01220F331F220F331F280F391F220FFC -:10119000331FC90160E570E00E9495113B01CF014A -:1011A000880F991F8E0F9F1F9C01220F331F220F44 -:1011B000331F280F391F220F331FC90160E570E06C -:1011C0000E9495114B01F2CC2530310509F42AC15A -:1011D000253031050CF097C08A858E7F8A876CCFC9 -:1011E000E2E0CE1609F06EC18A858D7F8A87C7CD71 -:1011F00092E0C91609F075C189858F7B8987BFCDBB -:1012000089858B7F89870894A11CB11CB8CD8A85FC -:101210008F7B8A870894A11CB11CB1CDCC2009F02A -:10122000AEC18EE1882E912C48CECC2009F0B0C101 -:101230002EE1622E712C7ECECC2009F0A4C1E2EE0C -:101240006E2EEFEF7E2E93CECC2009F08EC1A2EE53 -:101250008A2EAFEF9A2E9CCE0894411C511CF8EEBA -:101260004F16F3E05F060CF4F6CDC39483E0C81686 -:1012700009F4CC2480E090E06C2D0E94D111C39839 -:1012800028E833E1C8010197F1F721503040D1F748 -:101290006C2D70E040E050E0C39A20ED37E0C801CB -:1012A0000197F1F721503040D1F7C39820ED37E096 -:1012B000C8010197F1F721503040D1F74F5F5F4FE0 -:1012C000641775074CF720E137E2C8010197F1F781 -:1012D00021503040D1F7BDCD8F818F618F8311CFE9 -:1012E00089858D7F89870DCF89858F7D898709CFF6 -:1012F0008F81807E8F8305CF8D818F738D838E81CB -:101300008F738E83FECE2630310509F4B1C02730AD -:10131000310509F0E2CE89858F778987E1CE2630C5 -:10132000310509F48FC02730310509F09DCC8A853D -:101330008F7D8A878C8582958F70873009F09DCC50 -:101340008A89FEE18F9F90011124C90180509F403E -:1013500097FDECC03C01660C672C661C77088B89F6 -:1013600020E830E0281B3109C901880F991F820F3E -:10137000931F9C01220F331F220F331F280F391F89 -:10138000C901880F991F36FDCEC04C01880C892CED -:10139000881C9908C30106960D9710F466247724DB -:1013A000C40106960D9710F488249924988996957F -:1013B0009695969589892FEF30E0281B3109359550 -:1013C000279535952795359527959E7F4D814F73A8 -:1013D0005E815F736F81892F86958695869582954C -:1013E000880F880F807C842B8D839295990F907E37 -:1013F000952B9E8360762E7F622B6F833ECC2630AA -:10140000310541F02730310509F003CC8A858D7F05 -:101410008A8702CC89858F7B8987EDCB89858B7FF5 -:1014200089874ACE89858F7B898746CE8985877E45 -:101430008987E1CB89858B7F8987DDCB89858D7F06 -:10144000898704CC8A858F7B8A8700CC89858F77B2 -:101450008987D1CB8A858B7F8A87F8CB232B09F0AC -:101460009CCC8A858F7E8A870894A11CB11C87CC6E -:101470008A858D7F8A8720CE8A858F7E8A87E6CB74 -:101480008A858F7B8A8718CECC2009F053C0E2EE84 -:101490008E2EEFEF9E2EE2CDCC2009F050C09EE1C3 -:1014A000692E712C2ECCCC2009F064C022EE622E65 -:1014B0002FEF722EB1CDCC2009F045C0AEE18A2EBF -:1014C000912C3ECCCC2009F047C0E2EE6E2EEFEF1F -:1014D0007E2E8ACECC2009F05FC0BEE18B2E912CEF -:1014E00021CDCC20A1F5F2EE8F2EFFEF9F2E84CEE2 -:1014F000CC20B9F52EE1622E712CC0CD232B09F042 -:1015000088CB89858F7E898776CB232B09F0E5CD23 -:101510008A858F7E8A87D0CD232B09F0A5CB8A853B -:101520008F778A8793CB81589F4F2FCFC9018158DE -:101530009E4010CFF2EE8F2EFFEF9F2EBACB9EE192 -:10154000692E712CB6CBBEE18B2E912CB2CBA2EEC4 -:101550008A2EAFEF9A2E13CC82EE682E8FEF782E64 -:101560000ECC3EE1632E712C1BCCB2EE8B2EBFEF66 -:101570009B2EA6CC32EE632E3FEF732E9ACB9EE1CC -:10158000892E912C9DCCF2EE6F2EFFEF7F2E98CC02 -:101590003EE1632E712C94CC8EE1882E912CEFCB02 -:1015A0001092D1011092D001880F82B985E486BFD4 -:1015B00078940895882319F485E886BF089585EC0A -:1015C00086BF0895282F30E070E088E090E0861B09 -:1015D000970BA90102C0440F551F8A95E2F7CA0173 -:1015E00002C0359527956A95E2F7822B08958630DB -:1015F00008F00895E091AE00F091AF0009950895CC -:10160000A0EDB0E0FC0186E001900D928150E1F781 -:1016100008950F931F93182F092F3093AF00209335 -:10162000AE00A0EDB0E0FB0186E001900D9281508C -:10163000E1F71092C001812F902F9C01D9012AEF70 -:1016400030E08D91F901E053FF4F80832F5F3F4FD2 -:1016500081E020303807A9F7DA0120E230E08D91EF -:10166000F901E053FF4F80832F5F3F4F2632310552 -:10167000B1F7A898A9981092D1011092D00184EAEC -:1016800082B985E486BF78941F910F9108952F92B7 -:101690003F924F925F926F927F928F929F92AF9202 -:1016A000BF92CF92DF92EF92FF920F931F93DF933F -:1016B000CF93CDB7DEB76A970FB6F894DEBF0FBEF3 -:1016C000CDBF44E5642E40E0742E88249E01295F3E -:1016D0003F4F388F2F8B3DE0232E312C2C0E3D1E9B -:1016E00028E0422E512CDE011196F30184918D9356 -:1016F00031964F89588DA417B507C1F780E090E067 -:10170000FC01E055FF4FE081F0E0E258FF4FE4912B -:10171000D101A80FB91FEC9301968A30910581F78A -:10172000AA88CF8429812A2530E04C2D477050E0CB -:101730009E88B988C201841B950BB90102C0660F4F -:10174000771F8A95E2F7CB0102C0359527954A9518 -:10175000E2F7822B89198B258F83EE84DD842A8121 -:101760002E2530E04D2D477050E0AC89C201841B1E -:10177000950BF90102C0EE0FFF1F8A95E2F7CF012A -:1017800002C0359527954A95E2F7822B8A198A2758 -:101790008887EB892B812E2730E00D89077010E0B8 -:1017A000B201601B710BC901062E02C0880F991F80 -:1017B0000A94E2F7002E02C0359527950A94E2F7C5 -:1017C000822B8C198D2589872C812B2530E04A2F7F -:1017D0004770842F90E09A8F898FD888C201498DF5 -:1017E0005A8D841B950BA90102C0440F551F8A9581 -:1017F000E2F7CA01098C02C0359527950A94E2F7F1 -:10180000822B8D198C258A878D81E826FF24E7702D -:10181000F0E0C2018E1B9F0B970102C0220F331F05 -:101820008A95E2F7C90102C0F594E794EA95E2F7D8 -:101830008E298D198B258B878E81A827B0E0AD016D -:1018400002C0440F551F6A95E2F7BA0102C0B59570 -:10185000A7950A95E2F76A2B6A1969256C87CE016C -:1018600007966AEB70E046E050E00E94BC110097DA -:1018700049F0839466E070E0660E771E77E0871685 -:1018800009F031CF282D30E02F5F3F4F522F4427F2 -:101890008091BE00FA01E80FF11DE258FF4F9491CC -:1018A0002F5F3F4F322F22278091B300F901E80FBD -:1018B000F11DE258FF4FE491E927E093C0008091C9 -:1018C000BC00FA01E80FF11DE258FF4F949180919E -:1018D000B500F901E80FF11DE258FF4FE491E92747 -:1018E000E093C1008091BF00FA01E80FF11DE258BA -:1018F000FF4F94918091B700F901E80FF11DE25874 -:10190000FF4FE491E927E093C2008091BA00FA0109 -:10191000E80FF11DE258FF4F94918091B200F90158 -:10192000E80FF11DE258FF4FE491E927E093C3006F -:101930008091BB00FA01E80FF11DE258FF4F94912E -:101940008091B400F901E80FF11DE258FF4FE491D6 -:10195000E927E093C4008091BD00FA01E80FF11D72 -:10196000E258FF4F94918091B900F901E80FF11D01 -:10197000E258FF4FE491E927E093C5008091B00061 -:10198000FA01E80FF11DE258FF4F94918091B600E3 -:10199000F901E80FF11DE258FF4FE491E927E093C8 -:1019A000C6008091B100FA01E80FF11DE258FF4F27 -:1019B00094918091B800F901E80FF11DE258FF4FB2 -:1019C000E491E927E093C7008091BA00FA01E80F9B -:1019D000F11DE258FF4F94918091B100F901E80F99 -:1019E000F11DE258FF4FE491E927E093C800809190 -:1019F000BF00FA01E80FF11DE258FF4F949180916A -:101A0000B400F901E80FF11DE258FF4FE491E92716 -:101A1000E093C9008091BD00FA01E80FF11DE25882 -:101A2000FF4F94918091B000F901E80FF11DE25849 -:101A3000FF4FE491E927E093CA008091BC00FA01CE -:101A4000E80FF11DE258FF4F94918091B900F90120 -:101A5000E80FF11DE258FF4FE491E927E093CB0036 -:101A60008091BE00FA01E80FF11DE258FF4F9491FA -:101A70008091B700F901E80FF11DE258FF4FE491A2 -:101A8000E927E093CC008091BB00FA01E80FF11D3B -:101A9000E258FF4F94918091B800F901E80FF11DD1 -:101AA000E258FF4FE491E927E093CD008091B30025 -:101AB000FA01E80FF11DE258FF4F94918091B500B3 -:101AC000F901E80FF11DE258FF4FE491E927E09397 -:101AD000CE008091B200480F511D42585F4FFA016D -:101AE00094918091B600280F311D22583F4FF90183 -:101AF000849189278093CF006A960FB6F894DEBF51 -:101B00000FBECDBFCF91DF911F910F91FF90EF904E -:101B1000DF90CF90BF90AF909F908F907F906F900D -:101B20005F904F903F902F900895982F805486306B -:101B3000A0F420E430E049E450E0FA01E21BF30BAA -:101B4000D901A053BF4F8C91E055FF4F80832F5F89 -:101B50003F4F2634310589F70895892F8654863002 -:101B6000C8F4809116018093B3008091170180938F -:101B7000B200809118018093B10080911901809387 -:101B8000B00080911A018093BF0080911B01809367 -:101B9000BE000895892F8C548430B8F480911C01C4 -:101BA0008093BD0080911D018093BC0080911E0137 -:101BB0008093BB0080911F018093BA00892F90E031 -:101BC000860F911D8035910509F008950E94470BFD -:101BD00008951F920F920FB60F9211242F933F93E7 -:101BE0004F935F936F937F938F939F93AF93BF9325 -:101BF000EF93FF9381B190E0887F907080399105D9 -:101C000009F480C08139910514F1803B910509F4F4 -:101C100062C0813B910584F5803A910509F464C066 -:101C2000883A910509F457C085E886BFFF91EF9186 -:101C3000BF91AF919F918F917F916F915F914F91E4 -:101C40003F912F910F900FBE0F901F9018958037E6 -:101C5000910569F081379105B4F18038910509F457 -:101C600051C08838910501F388379105E9F6109243 -:101C7000D20185EC86BFDACF803C910509F1883C22 -:101C80009105F1F0883B910579F68091C0018A3A7F -:101C900009F449C0E091D001F091D101E053FF4F28 -:101CA000808183B98091D0019091D1010196909368 -:101CB000D1018093D0018091D3018F5F8093D301B4 -:101CC00085EC86BFB3CF8036910589F288369105C1 -:101CD00009F0AACFCCCF8091D0019091D1010E9480 -:101CE000F70A1092D301D1CF8091D0019091D10108 -:101CF0002091D3016091D301821B0E94950D85EC48 -:101D000086BF94CF8091D201882351F123B1809175 -:101D1000C0018A3A89F1E091D001F091D101E053FC -:101D2000FF4F2083BFCFE091D001F091D101E0536C -:101D3000FF4F8081E091D001F091D101E770F07008 -:101D4000E054FF4F2081E091D001F091D101E77084 -:101D5000F070E853FF4F9081821B892783B9A2CF8F -:101D600083B190E09093D1018093D00181E0809382 -:101D7000D2011092D301A4CF8091D0019091D101D2 -:101D8000803F910541F2A091D001B091D101E09145 -:101D9000D001F091D101E770F070E853FF4F8081DE -:101DA000E091D001F091D101E770F070E054FF4F65 -:101DB00090818227890FA053BF4F8C9373CFD09A05 -:101DC000D19AD298DA9A0895D89840E020E030E08D -:101DD00052E4D998852F8A95F1F789B3869586952F -:101DE00090E081709070022E02C0880F991F0A94B3 -:101DF000E2F7482BD99A852F8A95F1F72F5F3F4F4D -:101E00002830310531F7D89A842F0895D49AD59A7D -:101E1000D698DE9A0895DC9840E050E020E030E06B -:101E200062E4DD98862F8A95F1F789B382958695CD -:101E30008695837090E081709070022E02C0880FAA -:101E4000991F0A94E2F7482B592BDD9A862F8A9521 -:101E5000F1F72F5F3F4F2031310519F7DC9ACA01A6 -:101E6000089583B7816083BF8F98979808959C01E8 -:101E70008F9A12BE82B78C33E8F38F9812BE82B766 -:101E80008431E8F38F9A12BE82B78C33E8F38F98CF -:101E900012BE82B78431E8F38F9A12BE82B78C33B8 -:101EA000E8F38F9812BE82B78431E8F38F9A12BE9E -:101EB00082B78C33E8F38F9812BE82B78431E8F38F -:101EC0008F9A12BE82B78C33E8F38F9812BE82B716 -:101ED0008431E8F38F9A12BE82B78C33E8F38F987F -:101EE00012BE82B78431E8F38F9A12BE82B78C3368 -:101EF000E8F38F9812BE82B78431E8F38F9A12BE4E -:101F000082B78431E8F38F9812BE82B78C33E8F33E -:101F10008F9A12BE82B78431E8F38F9812BE82B7CF -:101F20008832E8F3F90120E030E0108240E050E030 -:101F300012BE879B07C082B7803FD8F320E030E015 -:101F4000C901089512BE879904C082B7803FD8F3B3 -:101F5000F5CF9081990F908382B7843278F04F5FEC -:101F60005F4F4830510521F72F5F3F4F31962430A6 -:101F70003105D9F621E030E0C901089591609083E0 -:101F8000EECFD79AA298A398A498A598A698A798B8 -:101F9000AA9AAB9AAC9AAD9AAE9AAF9A08959F92CC -:101FA000AF92BF92CF92DF92EF92FF920F931F9367 -:101FB000DF988AEF90E0FC013197F1F793B203B319 -:101FC000E3B2C3B2A3B263B3DF9A0197F1F7B3B33D -:101FD00083B323B343B3E3B3A3B3AA1FAA27AA1FB0 -:101FE000A295AA0FA07EB695B695B170AB2B86953B -:101FF0008695869590E081709070880F991FA82B28 -:1020000022952F7030E021703070220F331F220F85 -:10201000331FA22B42954695477050E04170507097 -:10202000440F551F440F551F440F551FA42BE29515 -:10203000E695E695E370F0E0E170F070E295F295D8 -:10204000F07FFE27E07FFE279A2F9E2B80E0661F01 -:102050006627661F6295660F607E9694969421E0CF -:102060009222692906950695069510E00170107078 -:10207000000F111F602BE294EFE0EE22FF2421E01D -:10208000E222FF24EE0CFF1CEE0CFF1C6E29C29412 -:10209000C69457E0C522DD2421E0C222DD24CC0C09 -:1020A000DD1CCC0CDD1CCC0CDD1C6C29A294A69490 -:1020B000A69433E0A322BB2421E0A222BB24A29455 -:1020C000B29420EFB222BA24A222BA246A2970E084 -:1020D000682B792BCB011F910F91FF90EF90DF9030 -:1020E000CF90BF90AF909F9008958B9A939A8A98C3 -:1020F000929A8D9A959A8E9A969A0895AF92BF92D7 -:10210000CF92DF92EF92FF921F93CF93DF936C01F8 -:102110005B017A01959885E88A95F1F71416150602 -:102120000CF03CC0FB0140E050E015E8C1E0D0E01D -:10213000108260E070E0D601A40FB51F1AC0939A18 -:102140009698812F8A95F1F7829B0AC09E01062EF0 -:1021500002C0220F331F0A94E2F78081822B808312 -:10216000969A812F8A95F1F76F5F7F4F68307105DE -:1021700061F08C9190E0062E02C0959587950A94A7 -:10218000E2F780FDDCCF9398DBCF41305105B9F009 -:102190004F5F5F4F31964E155F0554F2959A85E873 -:1021A0008A95F1F721E030E0C901DF91CF911F91CD -:1021B000FF90EF90DF90CF90BF90AF900895D50142 -:1021C00011968C918F3F21F7959A20E030E0ECCF6B -:1021D000CF92DF92EF92FF920F931F93DF93CF93F3 -:1021E000CDB7DEB7ED970FB6F894DEBF0FBECDBF0B -:1021F0008C016B0159E2E52EF12CEC0EFD1E85E100 -:10220000F70111928A95E9F781E089A782E48AA70C -:102210004CA72DA7C701B801A6010E947E10892BEB -:10222000B1F08091D4018823B9F021E030E0C901F8 -:10223000ED960FB6F894DEBF0FBECDBFCF91DF9104 -:102240001F910F91FF90EF90DF90CF900895109223 -:10225000D40120E030E0EBCFCE010196DC01E9EAC9 -:10226000F0E025E001900D922150E1F7B80145E042 -:1022700050E00E947E10892B19F420E030E0D7CF87 -:10228000CE010E96DC01E0EAF0E029E001900D922B -:102290002150E1F7B80149E050E00E947E10892BFF -:1022A00061F3CE014796DC01E7E9F0E029E0019017 -:1022B0000D922150E1F7B80149E050E00E947E10F4 -:1022C000892BD9F2CE018096DC01EEE8F0E029E01E -:1022D00001900D922150E1F7B80149E050E00E94D1 -:1022E0007E10892B51F2CE010696DC01E6E8F0E083 -:1022F00028E001900D922150E1F7B80148E050E04C -:102300000E947E10892B09F4B8CF81E08093D4011C -:10231000C701B801A6010E947E1020E0892B09F4B4 -:1023200021E081E0282730E082CF97FB092E0726A5 -:102330000AD077FD04D00CD006D000201AF4709596 -:1023400061957F4F0895F6F7909581959F4F089579 -:10235000AA1BBB1B51E107C0AA1FBB1FA617B707CB -:1023600010F0A61BB70B881F991F5A95A9F78095E7 -:102370009095BC01CD010895FB01DC0104C08D9155 -:102380000190801921F441505040C8F7881B990BE7 -:102390000895E199FECF9FBB8EBBE09A99278DB33C -:1023A0000895262FE199FECF9FBB8EBB2DBB0FB6A4 -:1023B000F894E29AE19A0FBE01960895F894FFCF3F -:1023C0000000A42001010000000000000000000047 -:1023D00000000000000000000000000000000000FD -:1023E00000000000000001430000FFFFFFFF014F5D -:1023F00000FFFF03000000014D000001FFFFFFFF91 -:0E240000014400010300000000014300010040 +:100B0000F894DEBF0FBECDBFBC9ABB9A0E94250FE2 +:100B10000E94FA0E0E94D30E0E94B50F0E94691027 +:100B200080E090E00E94BD11C82E82E08C1508F490 +:100B3000CC248FE58D838FED8E838FE88F8318868D +:100B40008FEF89878A8780E690E0BE016B5F7F4FD9 +:100B500046E650E02EE535E00E94FF0A2FE088E1EE +:100B600090E00FB6F894A89581BD0FBE21BD442436 +:100B700055241E010894211C311C04EF11E0C39878 +:100B8000F894C1010E942B0F7894892B09F070C250 +:100B90006624772488249924CE010B9669E070E0BE +:100BA00040E020E00E94DC10892B09F45CC08E85B7 +:100BB000682F70E041E050E016C0C39A2330310541 +:100BC00009F42EC4243031050CF0E1C12130310587 +:100BD00009F422C4223031050CF486C48985837F50 +:100BE00089874F5F5F4F9A0121503040CB01022E21 +:100BF00002C0959587950A94E2F780FFDECF4830D2 +:100C000051057CF38F85682F70E041E050E016C0FD +:100C1000C39A2330310509F407C4243031050CF0A0 +:100C2000C2C12130310509F40BC4223031050CF466 +:100C300069C489858F7D89874F5F5F4F9A012150F5 +:100C40003040CB01022E02C0959587950A94E2F7B9 +:100C500080FFDECF483051057CF38C8582958F7004 +:100C6000873009F463C30E94FF0EBC01AA24BB2491 +:100C700041E050E016C02230310509F4DDC12330D7 +:100C800031050CF047C02115310509F4CAC12130E6 +:100C9000310509F4C2C1403151050CF04BC04F5F22 +:100CA0005F4F9A0121503040CB01022E02C0969531 +:100CB00087950A94E2F780FDEECFC39A253031057F +:100CC00009F4BEC126303105B4F22830310509F4EB +:100CD0009DC1293031057CF42630310509F48EC1DF +:100CE00027303105C1F6F2E0CF1609F0CBC3898574 +:100CF0008F778987D4CF2A30310509F47BC12A3018 +:100D000031050CF495C12B30310529F689858D7F8D +:100D10008987C5CF2330310509F465C124303105F9 +:100D200009F0B9CF82E0C81609F0BBC38A858E7F6F +:100D30008A87B5CF0E94D80E682F70E041E050E05E +:100D400016C0C39A2330310509F450C2243031054E +:100D50000CF0D2C02130310509F44FC222303105E8 +:100D60000CF472C389858F7E89874F5F5F4F9A012C +:100D700021503040CB01022E02C0959587950A94F0 +:100D8000E2F780FFDECF483051057CF3DD24EE240E +:100D9000FF240E94C30FBC018F709070892B09F053 +:100DA0005FC082E0E816F1040CF45AC045E050E060 +:100DB0000DC02430310509F407C12530310509F48F +:100DC000FEC04C30510524F54F5F5F4F9A01215012 +:100DD0003040CB01022E02C0969587950A94E2F727 +:100DE00080FDEFCF2830310509F4CCC02930310522 +:100DF00004F32A30310509F4F1C02A3031050CF42E +:100E0000E8C02B303105E9F689858F7E8987C39A42 +:100E10000894E11CF11C94E0E916F10409F0B9CF43 +:100E20008D81860D8D838E81880D8E83CE010596F2 +:100E30000E94F60AE3E0AE16B10409F403C24424AA +:100E4000552488E893E10197F1F79FE59D838FEDA5 +:100E50008E838FE88F8318868FEF89878A878FCE5E +:100E600041E050E09A0121503040CB01022E02C0F7 +:100E7000969587950A94E2F780FD2AC025303105C2 +:100E800009F452C026303105BCF42130310509F493 +:100E900071C02430310509F464C0232BB9F492E009 +:100EA000C91609F0B1C18A858E7F8A87C39ADD246D +:100EB000D3944F5F5F4FD6CF2B30310569F12C3083 +:100EC00031056CF42A30310509F443C0DD24D39494 +:100ED0004E30510574F3DD2009F09ACFA1CF2C30AC +:100EE000310571F12D30310589F78A858F7E8A872A +:100EF000C39ADD24D3948CCF2530310509F46EC11B +:100F0000253031050CF0A4C082E0C81609F0D8C223 +:100F10008A858E7F8A8729CF82E0C81609F07BC137 +:100F200089858F778987C2CF89858B7F8987C39A87 +:100F3000E114F10409F0BBCF0894A11CB11CB7CF98 +:100F40008A858F7B8A87C39AE114F10409F0AFCFB9 +:100F5000F3CFF2E0CF1609F065C18A858D7F8A87CD +:100F6000A5CF8A858F7D8A87C39AE114F10409F0A1 +:100F70009ECFE2CFE2E0CE1609F05CC189858F7B7F +:100F8000898794CF89858D7F8987C39A1DCF253026 +:100F9000310509F451C2253031050CF026C28A858D +:100FA0008E7F8A871ECE2530310509F45BC225303D +:100FB00031050CF0AAC18A85877F8A873DCE898555 +:100FC0008B7F8987C39A00CF8A858F7D8A87C39A52 +:100FD000FBCE8A85877F8A87C39AF6CE89858F7DE7 +:100FE0008987C39AF1CE89858B7F89870894A11C54 +:100FF000B11C55CE89858F7D898751CEE2E0CE1612 +:1010000009F047C28A858D7F8A8749CE8A858F7E7F +:101010008A870894A11CB11C42CE8A858F7D8A875D +:101020003ECE8A858F7B8A870894A11CB11C37CE5F +:101030008A85877F8A8733CE89858F7E89872FCE61 +:1010400092E0C91609F016C289858F7B898727CE61 +:101050002630310509F4BAC02730310509F093CEA6 +:10106000F2E0CF1609F03AC289858F7789878ECE54 +:101070008981682F70E041E050E016C0C39A2330A8 +:10108000310509F4C1C1243031050CF093C0213081 +:10109000310509F4EBC1223031050CF42CC28A85EC +:1010A0008F778A874F5F5F4F9A012150304088E0E9 +:1010B00090E0841B950BFB0102C0F595E7958A959E +:1010C000E2F7E0FDDBCF4830510564F38A81682FF9 +:1010D00070E041E050E00DC02230310509F4FAC063 +:1010E0002330310509F4F2C04830510554F54F5F03 +:1010F0005F4F9A012150304088E090E0841B950BAF +:10110000FB0102C0F595E7958A95E2F7E0FFECCF89 +:10111000C39A2430310509F4D5C025303105E4F2F5 +:101120002630310509F4DEC0263031050CF4D6C076 +:1011300027303105C9F68D81806C8D838E81806C5E +:101140008E838B81282F30E02038310514F0205019 +:1011500031408C81E82FF0E0E038F10514F0E050E8 +:10116000F140C901880F991F820F931F9C01220F24 +:10117000331F220F331F280F391F220F331FC901BE +:1011800060E570E00E9489113B01CF01880F991F33 +:101190008E0F9F1F9C01220F331F220F331F280F1A +:1011A000391F220F331FC90160E570E00E948911C9 +:1011B0004B01F2CC2530310509F42AC12530310527 +:1011C0000CF097C08A858E7F8A876CCFE2E0CE16BE +:1011D00009F06EC18A858D7F8A87C7CD92E0C916D6 +:1011E00009F075C189858F7B8987BFCD89858B7F04 +:1011F00089870894A11CB11CB8CD8A858F7B8A870A +:101200000894A11CB11CB1CDCC2009F0AEC18EE177 +:10121000882E912C48CECC2009F0B0C12EE1622E50 +:10122000712C7ECECC2009F0A4C1E2EE6E2EEFEF41 +:101230007E2E93CECC2009F08EC1A2EE8A2EAFEF87 +:101240009A2E9CCE0894411C511CF8EE4F16F3E0E8 +:101250005F060CF4F6CDC39483E0C81609F4CC24E1 +:1012600080E090E06C2D0E94C511C39828E833E11E +:10127000C8010197F1F721503040D1F76C2D70E093 +:1012800040E050E0C39A20ED37E0C8010197F1F744 +:1012900021503040D1F7C39820ED37E0C8010197C5 +:1012A000F1F721503040D1F74F5F5F4F641775075A +:1012B0004CF720E137E2C8010197F1F721503040A7 +:1012C000D1F7BDCD8F818F618F8311CF89858D7FC0 +:1012D00089870DCF89858F7D898709CF8F81807E12 +:1012E0008F8305CF8D818F738D838E818F738E83D6 +:1012F000FECE2630310509F4B1C02730310509F0A2 +:10130000E2CE89858F778987E1CE2630310509F4D1 +:101310008FC02730310509F09DCC8A858F7D8A8763 +:101320008C8582958F70873009F09DCC8A89FEE18B +:101330008F9F90011124C90180509F4097FDECC000 +:101340003C01660C672C661C77088B8920E830E02E +:10135000281B3109C901880F991F820F931F9C0117 +:10136000220F331F220F331F280F391FC901880F87 +:10137000991F36FDCEC04C01880C892C881C990819 +:10138000C30106960D9710F466247724C4010696CF +:101390000D9710F48824992498899695969596959A +:1013A00089892FEF30E0281B310935952795359530 +:1013B0002795359527959E7F4D814F735E815F738D +:1013C0006F81892F8695869586958295880F880FDF +:1013D000807C842B8D839295990F907E952B9E8394 +:1013E00060762E7F622B6F833ECC2630310541F034 +:1013F0002730310509F003CC8A858D7F8A8702CC9E +:1014000089858F7B8987EDCB89858B7F89874ACEBC +:1014100089858F7B898746CE8985877E8987E1CBC1 +:1014200089858B7F8987DDCB89858D7F898704CCF2 +:101430008A858F7B8A8700CC89858F778987D1CBF6 +:101440008A858B7F8A87F8CB232B09F09CCC8A85F1 +:101450008F7E8A870894A11CB11C87CC8A858D7FDA +:101460008A8720CE8A858F7E8A87E6CB8A858F7B86 +:101470008A8718CECC2009F053C0E2EE8E2EEFEF13 +:101480009E2EE2CDCC2009F050C09EE1692E712C39 +:101490002ECCCC2009F064C022EE622E2FEF722EEB +:1014A000B1CDCC2009F045C0AEE18A2E912C3ECCC6 +:1014B000CC2009F047C0E2EE6E2EEFEF7E2E8ACEF2 +:1014C000CC2009F05FC0BEE18B2E912C21CDCC2029 +:1014D000A1F5F2EE8F2EFFEF9F2E84CECC20B9F532 +:1014E0002EE1622E712CC0CD232B09F088CB89858B +:1014F0008F7E898776CB232B09F0E5CD8A858F7E79 +:101500008A87D0CD232B09F0A5CB8A858F778A8750 +:1015100093CB81589F4F2FCFC90181589E4010CF48 +:10152000F2EE8F2EFFEF9F2EBACB9EE1692E712C2B +:10153000B6CBBEE18B2E912CB2CBA2EE8A2EAFEFB2 +:101540009A2E13CC82EE682E8FEF782E0ECC3EE1D1 +:10155000632E712C1BCCB2EE8B2EBFEF9B2EA6CC34 +:1015600032EE632E3FEF732E9ACB9EE1892E912CA3 +:101570009DCCF2EE6F2EFFEF7F2E98CC3EE1632ED6 +:10158000712C94CC8EE1882E912CEFCB1092D1014E +:101590001092D001880F82B985E486BF78940895AF +:1015A000882319F485E886BF089585EC86BF0895E1 +:1015B000282F30E070E088E090E0861B970BA901AF +:1015C00002C0440F551F8A95E2F7CA0102C0359543 +:1015D00027956A95E2F7822B0895863008F00895E2 +:1015E000E091AE00F091AF0009950895A0EDB0E054 +:1015F000FC0186E001900D928150E1F708950F9370 +:101600001F93182F092F3093AF002093AE00A0ED49 +:10161000B0E0FB0186E001900D928150E1F710925D +:10162000C001812F902F9C01D9012AEF30E08D91CC +:10163000F901E053FF4F80832F5F3F4F81E020305F +:101640003807A9F7DA0120E230E08D91F901E05383 +:10165000FF4F80832F5F3F4F26323105B1F7109245 +:10166000D1011092D00184EA82B985E486BF7894D2 +:101670001F910F9108952F923F924F925F926F9218 +:101680007F928F929F92AF92BF92CF92DF92EF9212 +:10169000FF920F931F93DF93CF93CDB7DEB76A9777 +:1016A0000FB6F894DEBF0FBECDBF44E5642E40E018 +:1016B000742E88249E01295F3F4F388F2F8B3DE089 +:1016C000232E312C2C0E3D1E28E0422E512CDE0103 +:1016D0001196F30184918D9331964F89588DA417FB +:1016E000B507C1F780E090E0FC01E055FF4FE081D5 +:1016F000F0E0E258FF4FE491D101A80FB91FEC933D +:1017000001968A30910581F7AA88CF8429812A25FC +:1017100030E04C2D477050E09E88B988C201841B90 +:10172000950BB90102C0660F771F8A95E2F7CB01CE +:1017300002C0359527954A95E2F7822B89198B25AA +:101740008F83EE84DD842A812E2530E04D2D477075 +:1017500050E0AC89C201841B950BF90102C0EE0F69 +:10176000FF1F8A95E2F7CF0102C0359527954A956C +:10177000E2F7822B8A198A278887EB892B812E270B +:1017800030E00D89077010E0B201601B710BC901D8 +:10179000062E02C0880F991F0A94E2F7002E02C09D +:1017A000359527950A94E2F7822B8C198D25898728 +:1017B0002C812B2530E04A2F4770842F90E09A8FA0 +:1017C000898FD888C201498D5A8D841B950BA90138 +:1017D00002C0440F551F8A95E2F7CA01098C02C066 +:1017E000359527950A94E2F7822B8D198C258A87E7 +:1017F0008D81E826FF24E770F0E0C2018E1B9F0B6D +:10180000970102C0220F331F8A95E2F7C90102C077 +:10181000F594E794EA95E2F78E298D198B258B874D +:101820008E81A827B0E0AD0102C0440F551F6A9514 +:10183000E2F7BA0102C0B595A7950A95E2F76A2BBF +:101840006A1969256C87CE0107966AEB70E046E05D +:1018500050E00E94B011009749F0839466E070E078 +:10186000660E771E77E0871609F031CF282D30E01D +:101870002F5F3F4F522F44278091BE00FA01E80F9F +:10188000F11DE258FF4F94912F5F3F4F322F2227D7 +:101890008091B300F901E80FF11DE258FF4FE49188 +:1018A000E927E093C0008091BC00FA01E80FF11D28 +:1018B000E258FF4F94918091B500F901E80FF11DB6 +:1018C000E258FF4FE491E927E093C1008091BF0007 +:1018D000FA01E80FF11DE258FF4F94918091B70093 +:1018E000F901E80FF11DE258FF4FE491E927E09379 +:1018F000C2008091BA00FA01E80FF11DE258FF4FD3 +:1019000094918091B200F901E80FF11DE258FF4F68 +:10191000E491E927E093C3008091BB00FA01E80F4E +:10192000F11DE258FF4F94918091B400F901E80F46 +:10193000F11DE258FF4FE491E927E093C400809144 +:10194000BD00FA01E80FF11DE258FF4F949180911C +:10195000B900F901E80FF11DE258FF4FE491E927C2 +:10196000E093C5008091B000FA01E80FF11DE25844 +:10197000FF4F94918091B600F901E80FF11DE258F4 +:10198000FF4FE491E927E093C6008091B100FA018E +:10199000E80FF11DE258FF4F94918091B800F901D2 +:1019A000E80FF11DE258FF4FE491E927E093C700EB +:1019B0008091BA00FA01E80FF11DE258FF4F9491AF +:1019C0008091B100F901E80FF11DE258FF4FE49159 +:1019D000E927E093C8008091BF00FA01E80FF11DEC +:1019E000E258FF4F94918091B400F901E80FF11D86 +:1019F000E258FF4FE491E927E093C9008091BD00D0 +:101A0000FA01E80FF11DE258FF4F94918091B00068 +:101A1000F901E80FF11DE258FF4FE491E927E09347 +:101A2000CA008091BC00FA01E80FF11DE258FF4F97 +:101A300094918091B900F901E80FF11DE258FF4F30 +:101A4000E491E927E093CB008091BE00FA01E80F12 +:101A5000F11DE258FF4F94918091B700F901E80F12 +:101A6000F11DE258FF4FE491E927E093CC0080910B +:101A7000BB00FA01E80FF11DE258FF4F94918091ED +:101A8000B800F901E80FF11DE258FF4FE491E92792 +:101A9000E093CD008091B300FA01E80FF11DE25808 +:101AA000FF4F94918091B500F901E80FF11DE258C4 +:101AB000FF4FE491E927E093CE008091B200480FF8 +:101AC000511D42585F4FFA0194918091B600280F42 +:101AD000311D22583F4FF901849189278093CF000F +:101AE0006A960FB6F894DEBF0FBECDBFCF91DF91DF +:101AF0001F910F91FF90EF90DF90CF90BF90AF902C +:101B00009F908F907F906F905F904F903F902F901D +:101B10000895982F80548630A0F420E430E049E402 +:101B200050E0FA01E21BF30BD901A053BF4F8C9197 +:101B3000E055FF4F80832F5F3F4F2634310589F7F3 +:101B40000895892F86548630C8F4809116018093B9 +:101B5000B300809117018093B200809118018093A7 +:101B6000B100809119018093B00080911A01809397 +:101B7000BF0080911B018093BE000895892F8C5473 +:101B80008430B8F480911C018093BD0080911D01C8 +:101B90008093BC0080911E018093BB0080911F0147 +:101BA0008093BA00892F90E0860F911D80359105B2 +:101BB00009F008950E943B0B08951F920F920FB6F3 +:101BC0000F9211242F933F934F935F936F937F93C3 +:101BD0008F939F93AF93BF93EF93FF9381B190E067 +:101BE000887F90708039910509F480C08139910512 +:101BF00014F1803B910509F462C0813B910584F5A5 +:101C0000803A910509F464C0883A910509F457C0F7 +:101C100085E886BFFF91EF91BF91AF919F918F9122 +:101C20007F916F915F914F913F912F910F900FBED8 +:101C30000F901F9018958037910569F081379105B5 +:101C4000B4F18038910509F451C08838910501F349 +:101C500088379105E9F61092D20185EC86BFDACF7C +:101C6000803C910509F1883C9105F1F0883B910594 +:101C700079F68091C0018A3A09F449C0E091D00117 +:101C8000F091D101E053FF4F808183B98091D00161 +:101C90009091D10101969093D1018093D0018091D0 +:101CA000D3018F5F8093D30185EC86BFB3CF80369D +:101CB000910589F28836910509F0AACFCCCF8091A1 +:101CC000D0019091D1010E94ED0A1092D301D1CFA1 +:101CD0008091D0019091D1012091D3016091D301E5 +:101CE000821B0E94890D85EC86BF94CF8091D20122 +:101CF000882351F123B18091C0018A3A89F1E091A2 +:101D0000D001F091D101E053FF4F2083BFCFE0918C +:101D1000D001F091D101E053FF4F8081E091D001DB +:101D2000F091D101E770F070E054FF4F2081E09115 +:101D3000D001F091D101E770F070E853FF4F90812E +:101D4000821B892783B9A2CF83B190E09093D10100 +:101D50008093D00181E08093D2011092D301A4CF6F +:101D60008091D0019091D101803F910541F2A091E5 +:101D7000D001B091D101E091D001F091D101E77093 +:101D8000F070E853FF4F8081E091D001F091D101D4 +:101D9000E770F070E054FF4F90818227890FA053C5 +:101DA000BF4F8C9373CFD09AD19AD298DA9A089574 +:101DB000D89840E020E030E052E4D998852F8A9509 +:101DC000F1F789B38695869590E081709070022E28 +:101DD00002C0880F991F0A94E2F7482BD99A852FE1 +:101DE0008A95F1F72F5F3F4F2830310531F7D89AA8 +:101DF000842F0895D49AD59AD698DE9A0895DC98BF +:101E000040E050E020E030E062E4DD98862F8A95E3 +:101E1000F1F789B3829586958695837090E08170FD +:101E20009070022E02C0880F991F0A94E2F7482B87 +:101E3000592BDD9A862F8A95F1F72F5F3F4F20317E +:101E4000310519F7DC9ACA01089583B7816083BF11 +:101E50008F98979808959C018F9A12BE82B78C3301 +:101E6000E8F38F9812BE82B78431E8F38F9A12BEDE +:101E700082B78C33E8F38F9812BE82B78431E8F3CF +:101E80008F9A12BE82B78C33E8F38F9812BE82B756 +:101E90008431E8F38F9A12BE82B78C33E8F38F98BF +:101EA00012BE82B78431E8F38F9A12BE82B78C33A8 +:101EB000E8F38F9812BE82B78431E8F38F9A12BE8E +:101EC00082B78C33E8F38F9812BE82B78431E8F37F +:101ED0008F9A12BE82B78C33E8F38F9812BE82B706 +:101EE0008431E8F38F9A12BE82B78431E8F38F9879 +:101EF00012BE82B78C33E8F38F9A12BE82B7843158 +:101F0000E8F38F9812BE82B78832E8F3F90120E037 +:101F100030E0108240E050E012BE879B07C082B7DD +:101F2000803FD8F320E030E0C901089512BE8799C0 +:101F300004C082B7803FD8F3F5CF9081990F90838A +:101F400082B7843278F04F5F5F4F4830510521F7F8 +:101F50002F5F3F4F319624303105D9F621E030E034 +:101F6000C901089591609083EECFD79AA298A39863 +:101F7000A498A598A698A798AA9AAB9AAC9AAD9A55 +:101F8000AE9AAF9A08959F92AF92BF92CF92DF928E +:101F9000EF92FF920F931F93DF988AEF90E0FC017E +:101FA0003197F1F793B203B3E3B2C3B2A3B263B311 +:101FB000DF9A0197F1F7B3B383B323B343B3E3B32A +:101FC000A3B3AA1FAA27AA1FA295AA0FA07EB695FF +:101FD000B695B170AB2B86958695869590E081700D +:101FE0009070880F991FA82B22952F7030E02170D8 +:101FF0003070220F331F220F331FA22B42954695BC +:10200000477050E041705070440F551F440F551FEA +:10201000440F551FA42BE295E695E695E370F0E09A +:10202000E170F070E295F295F07FFE27E07FFE27E9 +:102030009A2F9E2B80E0661F6627661F6295660FAB +:10204000607E9694969421E09222692906950695E1 +:10205000069510E001701070000F111F602BE294C4 +:10206000EFE0EE22FF2421E0E222FF24EE0CFF1C31 +:10207000EE0CFF1C6E29C294C69457E0C522DD24E5 +:1020800021E0C222DD24CC0CDD1CCC0CDD1CCC0CF0 +:10209000DD1C6C29A294A694A69433E0A322BB2451 +:1020A00021E0A222BB24A294B29420EFB222BA244F +:1020B000A222BA246A2970E0682B792BCB011F91E8 +:1020C0000F91FF90EF90DF90CF90BF90AF909F90D7 +:1020D00008958B9A939A8A98929A8D9A959A8E9A45 +:1020E000969A0895AF92BF92CF92DF92EF92FF92AD +:1020F0001F93CF93DF936C015B017A01959885E87C +:102100008A95F1F7141615060CF03CC0FB0140E06F +:1021100050E015E8C1E0D0E0108260E070E0D60148 +:10212000A40FB51F1AC0939A9698812F8A95F1F73C +:10213000829B0AC09E01062E02C0220F331F0A9402 +:10214000E2F78081822B8083969A812F8A95F1F71E +:102150006F5F7F4F6830710561F08C9190E0062EC3 +:1021600002C0959587950A94E2F780FDDCCF93989D +:10217000DBCF41305105B9F04F5F5F4F31964E15BF +:102180005F0554F2959A85E88A95F1F721E030E0F1 +:10219000C901DF91CF911F91FF90EF90DF90CF9019 +:1021A000BF90AF900895D50111968C918F3F21F784 +:1021B000959A20E030E0ECCFCF92DF92EF92FF9241 +:1021C0000F931F93DF93CF93CDB7DEB7ED970FB685 +:1021D000F894DEBF0FBECDBF8C016B0159E2E52E36 +:1021E000F12CEC0EFD1E85E1F70111928A95E9F7BD +:1021F00081E089A782E48AA74CA72DA7C701B8016F +:10220000A6010E947210892BB1F08091D40188231D +:10221000B9F021E030E0C901ED960FB6F894DEBFC9 +:102220000FBECDBFCF91DF911F910F91FF90EF9027 +:10223000DF90CF9008951092D40120E030E0EBCFF2 +:10224000CE010196DC01E9EAF0E025E001900D9273 +:102250002150E1F7B80145E050E00E947210892B4F +:1022600019F420E030E0D7CFCE010E96DC01E0EA91 +:10227000F0E029E001900D922150E1F7B80149E02A +:1022800050E00E947210892B61F3CE014796DC0169 +:10229000E7E9F0E029E001900D922150E1F7B80163 +:1022A00049E050E00E947210892BD9F2CE0180964D +:1022B000DC01EEE8F0E029E001900D922150E1F719 +:1022C000B80149E050E00E947210892B51F2CE0112 +:1022D0000696DC01E6E8F0E028E001900D9221503E +:1022E000E1F7B80148E050E00E947210892B09F430 +:1022F000B8CF81E08093D401C701B801A6010E9444 +:10230000721020E0892B09F421E081E0282730E0D9 +:1023100082CF97FB092E07260AD077FD04D00CD078 +:1023200006D000201AF4709561957F4F0895F6F756 +:10233000909581959F4F0895AA1BBB1B51E107C043 +:10234000AA1FBB1FA617B70710F0A61BB70B881F45 +:10235000991F5A95A9F780959095BC01CD010895D4 +:10236000FB01DC0104C08D910190801921F44150E2 +:102370005040C8F7881B990B0895E199FECF9FBB89 +:102380008EBBE09A99278DB30895262FE199FECF51 +:102390009FBB8EBB2DBB0FB6F894E29AE19A0FBE9D +:0823A00001960895F894FFCFA7 +:1023A8000000A4200101000000000000000000005F +:1023B8000000000000000000000000000000000015 +:1023C80000000000000001430000FFFFFFFF014F75 +:1023D80000FFFF03000000014D000001FFFFFFFFA9 +:0E23E800014400010300000000014300010059 :00000001FF @@ -192,21 +192,24 @@ void wm_init(unsigned char * id, unsigned char * t, unsigned char * cal_data, vo twi_reg[j] = cal_data[i]; } -/* +#ifdef dev_detect_port // initialize device detect pin dev_detect_port &= 0xFF ^ _BV(dev_detect_pin); dev_detect_ddr |= _BV(dev_detect_pin); _delay_ms(500); // delay to simulate disconnect -*/ + // ready twi bus, no pull-ups twi_port &= 0xFF ^ _BV(twi_scl_pin); twi_port &= 0xFF ^ _BV(twi_sda_pin); +#endif // start twi slave, link events twi_slave_init(0x52); +#ifdef dev_detect_port // make the wiimote think something is connected -// dev_detect_port |= _BV(dev_detect_pin); + dev_detect_port |= _BV(dev_detect_pin); +#endif } ISR(TWI_vect) |