diff options
| -rw-r--r-- | firmware/Makefile | 2 | ||||
| -rw-r--r-- | firmware/main.c | 18 | ||||
| -rw-r--r-- | firmware/releases/micronucleus-1.06.hex | 137 | ||||
| -rw-r--r-- | firmware/releases/release notes.txt | 7 | ||||
| -rw-r--r-- | upgrade/bootloader_data.c | 8 | ||||
| -rw-r--r-- | upgrade/releases/micronucleus-1.06-upgrade.hex | 185 | 
6 files changed, 343 insertions, 14 deletions
| diff --git a/firmware/Makefile b/firmware/Makefile index 72c034b..8dfba5d 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -24,7 +24,7 @@ LOCKOPT = -U lock:w:0x2f:m  # - for the size of your device (8kb = 1024 * 8 = 8192) subtract above value 2124... = 6068  # - How many pages in is that? 6068 / 64 (tiny85 page size in bytes) = 94.8125  # - round that down to 94 - our new bootloader address is 94 * 64 = 6016, in hex = 1780 -BOOTLOADER_ADDRESS = 17c0 +BOOTLOADER_ADDRESS = 1780  PROGRAMMER = -c USBasp  # PROGRAMMER contains AVRDUDE options to address your programmer diff --git a/firmware/main.c b/firmware/main.c index 708f474..0db320c 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -10,7 +10,7 @@   */  #define MICRONUCLEUS_VERSION_MAJOR 1 -#define MICRONUCLEUS_VERSION_MINOR 5 +#define MICRONUCLEUS_VERSION_MINOR 6  // how many milliseconds should host wait till it sends another erase or write?  // needs to be above 4.5 (and a whole integer) as avr freezes for 4.5ms  #define MICRONUCLEUS_WRITE_SLEEP 8 @@ -368,6 +368,17 @@ static inline void leaveBootloader(void) {      // clear magic word from bottom of stack before jumping to the app      *(uint8_t*)(RAMEND) = 0x00;      *(uint8_t*)(RAMEND-1) = 0x00; +     +    // adjust clock to previous calibration value, so user program always starts with same calibration +    // as when it was uploaded originally +    // TODO: Test this and find out, do we need the +1 offset? +    unsigned char stored_osc_calibration = pgm_read_byte(BOOTLOADER_ADDRESS - TINYVECTOR_OSCCAL_OFFSET); +    if (stored_osc_calibration != 0xFF && stored_osc_calibration != 0x00) { +        //OSCCAL = stored_osc_calibration; // this should really be a gradual change, but maybe it's alright anyway? +        // do the gradual change - failed to score extra free bytes anyway in 1.06 +        while (OSCCAL > stored_osc_calibration) OSCCAL--; +        while (OSCCAL < stored_osc_calibration) OSCCAL++; +    }      // jump to application reset vector at end of flash      asm volatile ("rjmp __vectors - 4"); @@ -382,11 +393,6 @@ int main(void) {          uint8_t prescaler_default = CLKPR;      #endif -    unsigned char stored_osc_calibration = pgm_read_byte(BOOTLOADER_ADDRESS - TINYVECTOR_OSCCAL_OFFSET + 1); -    if (stored_osc_calibration != 0xFF) { -        OSCCAL = stored_osc_calibration; -    } -          wdt_disable();      /* main app may have enabled watchdog */      tiny85FlashInit();      bootLoaderInit(); diff --git a/firmware/releases/micronucleus-1.06.hex b/firmware/releases/micronucleus-1.06.hex new file mode 100644 index 0000000..301751f --- /dev/null +++ b/firmware/releases/micronucleus-1.06.hex @@ -0,0 +1,137 @@ +:1017800022C040C06CC03EC03DC03CC03BC03AC05F
 +:1017900039C038C037C036C035C034C033C0040388
 +:1017A000090412011001FF000008D01653070601BA
 +:1017B000000000010902120001010080320904004A
 +:1017C00000000000000011241FBECFE5D2E0DEBF04
 +:1017D000CDBF00EB0F9307E00F9310E0A0E6B0E061
 +:1017E000ECEDFFE102C005900D92A636B107D9F7E6
 +:1017F00010E0A6E6B0E001C01D92AC39B107E1F7F8
 +:10180000E7D1EAC3BDCFA82FB92F80E090E041E037
 +:1018100050EA609530E009C02D9182279795879511
 +:1018200010F084279527305EC8F36F5FA8F3089502
 +:10183000EADF8D939D930895A6E088279927AA95BE
 +:1018400069F00197E1F3B399FCCFB39BFECF81E040
 +:101850009927A6B3019611F0A871D9F70895CF93EF
 +:10186000CFB7CF93C0915F02C03B21F4C0915E021D
 +:10187000C73021F0CF91CFBFCF9181CFCC27C39577
 +:10188000B39BE9F7B39B0BC0B39B09C0B39B07C0E5
 +:10189000B39B05C0B39B03C0B39B01C0D3C00F92E1
 +:1018A000DF93C0917F00DD27CA57DF4F012EB39B26
 +:1018B00003C0DF910F90E6CF2F930F931F934F93A9
 +:1018C0002FEF4F6F06B303FB20F95F933F9350E078
 +:1018D0003BE065C016B30126502953FDC89556B3A9
 +:1018E000012703FB25F92F7306B3B1F0502710270A
 +:1018F00013FB26F906B22230F0F000C016B3012720
 +:1019000003FB27F90126502906B22430E8F54F776A
 +:10191000206816B30000F6CF50274F7D206206B234
 +:10192000102F000000C006B300265029102713FB1B
 +:1019300026F906B2E2CF4F7B06B3206400C0DACFAF
 +:1019400001265029187106B269F14E7F2160012FDE
 +:1019500016B328C0002650294D7F06B22260102FF2
 +:1019600029C0012650294B7F06B22460012F2DC0CB
 +:1019700016B301265029477F2860000006B22EC00A
 +:101980004F7E06B3206130C0422706B3499300263C
 +:101990005029102706B24FEF13FB20F9297F16B309
 +:1019A00079F2187159F10126502906B2012703FB7B
 +:1019B00021F9237F06B371F2002650293150D0F06F
 +:1019C00006B2102713FB22F9277E16B351F2012627
 +:1019D0005029012703FB06B223F92F7C49F20000AE
 +:1019E00006B3102713FB24F90026502906B22F79DD
 +:1019F00039F270CF10E21ABF002717C03B50319563
 +:101A0000C31BD04010E21ABF0881033CF9F00B342D
 +:101A1000E9F020917D001981110F1213EDCF0936E5
 +:101A200051F10D3211F0013E39F7009384003F91DE
 +:101A30005F914F911F910F912F91DF910F90CAB736
 +:101A4000C5FD1DCFCF91CFBFCF91189520918400B8
 +:101A5000222369F310918200112321F5343022F101
 +:101A60003093820020937E0010917F003BE0311B79
 +:101A700030937F0019C00091820001309CF40AE588
 +:101A80003091600034FD11C000936000C2E7D0E0E7
 +:101A900010C0052710E000C021C0052710E0C89540
 +:101AA00008BB14C03AE501C032ED032EC0E0D0E01F
 +:101AB00032E017B31861C39A08B317BB58E120E8A6
 +:101AC0004FEF20FF052708BB279517951C3F28F7E8
 +:101AD00000004552B0F720FF0527279508BB179552
 +:101AE0001C3FB8F629913A9561F7077E1091830063
 +:101AF000110F08BBC250D04011F010937D0010E2CE
 +:101B00001ABF086017B3177E402F477E54E05A95DE
 +:101B1000F1F708BB17BB48BB8ACF81E0809369000F
 +:101B2000F894E0917000F0917100329785E0809315
 +:101B30005700E89507B600FCFDCF789408959C0106
 +:101B4000E0917000F0917100309789F1E430F10577
 +:101B5000F1F087E1EC37F80739F420916C0030910F
 +:101B60006D002E5B3B4F15C087E1EE37F80739F467
 +:101B700020916E0030916F002D5B3B4F0AC087E1D2
 +:101B8000EA37F80731F481B7282F30E002C02FEB95
 +:101B90003BECF89481E0090180935700E89511240B
 +:101BA00078943296F0937100E0937000089581E18B
 +:101BB00080935700E895EBCF8FEF9FEFC0DF8091C8
 +:101BC0007000909171008F739070892BA9F7A5CF49
 +:101BD0001F93CF93DF9388E10FB6F89481BD11BCBA
 +:101BE0000FBEE0E0F0E0859194918F5B9B4C39F45F
 +:101BF000E4E0F0E0859194918F5B9B4C09F0DCDF91
 +:101C00001092710010927000AC9A8BB780628BBFFB
 +:101C1000BB9A88E893E1ECE9F1E03197F1F701979D
 +:101C2000D1F7BB98789410918200135017FDD4C05F
 +:101C300080917F00CCE0D0E0C81BD109CA57DF4FAC
 +:101C400080917E008D3209F091C0183009F0C2C039
 +:101C500083EC809372008AE58093600010926B00A1
 +:101C60002881822F80769981882329F1109267003C
 +:101C700010926600992341F482E690E090938100EF
 +:101C80008093800024E068C0913051F48C819D8164
 +:101C9000909371008093700027FD59C09FEF58C04A
 +:101CA00080916800923011F4816001C0846080935B
 +:101CB000680020E051C08A8110927B00992331F4A2
 +:101CC00010927C008BE790E022E03CC0953019F444
 +:101CD0008093830034C0963011F58B81813019F4E4
 +:101CE00082EA97E104C0823041F484EB97E190935B
 +:101CF00081008093800022E10EC0833059F48A81F4
 +:101D0000882341F48EE997E19093810080938000CD
 +:101D100024E001C020E080E480936B001DC0983077
 +:101D200019F485E890E009C0993019F48093850092
 +:101D300006C09A3021F48BE790E021E003C08BE7E6
 +:101D400090E020E0909381008093800005C09E8108
 +:101D500080E880936B0007C08F81882319F49E81EF
 +:101D6000921708F0922F9093610034C080916B001D
 +:101D700087FF30C08091700090917100009739F416
 +:101D80008881998190936D0080936C000DC08430A0
 +:101D9000910539F48881998190936F0080936E004A
 +:101DA00003C08058974138F488819981C8DE125069
 +:101DB00011F02296DFCF80917000909171008F73A7
 +:101DC0009070892B39F4809168008260809368005C
 +:101DD00010926100109282008091600084FF3CC0EC
 +:101DE000809161008F3FC1F1182F893008F018E011
 +:101DF000811B809361008091720098E8892780930D
 +:101E000072001123E1F0E0918000F0918100809157
 +:101E10006B0086FF09C0912FA3E7B0E084918D93FA
 +:101E200031969150D9F707C0912FA3E7B0E0819187
 +:101E30008D939150E1F7F0938100E093800083E768
 +:101E400090E0612FF5DC612F6C5F6C3019F08FEF43
 +:101E5000809361006093600094E186B3887131F4EF
 +:101E60009150D9F71092830010927D0010E09923D1
 +:101E700009F411E080916A00811739F0112319F4F7
 +:101E8000F8946BD0789410936A008CE991E00197F4
 +:101E9000F1F780916600909167000196909367003A
 +:101EA0008093660080916800182F80FF14C0F8941A
 +:101EB000E0E8F7E1E054F04083E080935700E895D4
 +:101EC00007B600FCFDCF3097A9F710927100109271
 +:101ED000700072DE789411FF0FC08AE390E20197E0
 +:101EE000F1F780917000909171008F739070892B41
 +:101EF00011F062DE01C011DE12FD0AC0109268000E
 +:101F000080916600909167008055934C08F48BCEC9
 +:101F100082E291EA0197F1F7F8941BBE15BA10928C
 +:101F20005F0210925E02EAE7F7E19491892F8150F7
 +:101F30008E3F20F00DC081B7815081BF81B79817C7
 +:101F4000D0F303C081B78F5F81BF81B78917D0F30A
 +:101F500015CCDF91CF911F910895FF920F931F939E
 +:101F6000CF93DF9380E8F82E00E0C0E0D0E0102FA0
 +:101F70001F0D11BF61DC29E0843392070CF0102F94
 +:101F8000F6942196C830D10511F0012FF0CF1150F1
 +:101F900011BF1F5F012FEC0110C04EDC845399402C
 +:101FA00097FF03C0909581959F4F8C179D0714F460
 +:101FB00001B7EC0181B78F5F81BF21B730E0812F7E
 +:101FC00090E001968217930744F701BFDF91CF910C
 +:0C1FD0001F910F91FF900895F894FFCF2F
 +:061FDC005AFF177C4008CB
 +:040000030000178062
 +:00000001FF
 diff --git a/firmware/releases/release notes.txt b/firmware/releases/release notes.txt index 3378066..c513de6 100644 --- a/firmware/releases/release notes.txt +++ b/firmware/releases/release notes.txt @@ -1,10 +1,11 @@ -== 1.06 - unreleased == +== 1.06 - 2013-3-4 ==  firmware:   o Store 16.5mhz oscillator calibration value in tiny vector table - o At startup, restore oscillator calibration value before initialising USB + o At user program startup, restore oscillator calibration value stored together with program     -> User programs always start on the calibration value from the last time they were uploaded -   -> Bootloader is ready to talk over USB sooner, because it is closer to already being calibrated at startup + o Slightly too big to have 6076 programmable bytes, reverted to having 6012 bytes free for user program +   -> Hopefully a future version can slim down again and get another page free!  == 1.05 - 2013-2-8 == diff --git a/upgrade/bootloader_data.c b/upgrade/bootloader_data.c index f388b99..5c69228 100644 --- a/upgrade/bootloader_data.c +++ b/upgrade/bootloader_data.c @@ -1,9 +1,9 @@  // This file contains the bootloader data itself and the address to install the bootloader at  // Use generate-data.rb with ruby 1.9 to generate these values from a hex file -// Generated from ../firmware/main.hex at 2013-02-08 21:39:33 +1100 +// Generated from ../firmware/releases/micronucleus-1.06.hex at 2013-03-04 11:55:05 +1100 -uint16_t bootloader_data[1051] PROGMEM = { -0xc022, 0xc040, 0xc06c, 0xc03e, 0xc03d, 0xc03c, 0xc03b, 0xc03a, 0xc039, 0xc038, 0xc037, 0xc036, 0xc035, 0xc034, 0xc033, 0x0304, 0x0409, 0x0112, 0x0110, 0x00ff, 0x0800, 0x16d0, 0x0753, 0x0105, 0x0000, 0x0100, 0x0209, 0x0012, 0x0101, 0x8000, 0x0932, 0x0004, 0x0000, 0x0000, 0x0000, 0x2411, 0xbe1f, 0xe5cf, 0xe0d2, 0xbfde, 0xbfcd, 0xeb00, 0x930f, 0xe007, 0x930f, 0xe010, 0xe6a0, 0xe0b0, 0xefe0, 0xe1ff, 0xc002, 0x9005, 0x920d, 0x36a6, 0x07b1, 0xf7d9, 0xe010, 0xe6a6, 0xe0b0, 0xc001, 0x921d, 0x39ac, 0x07b1, 0xf7e1, 0xd1df, 0xc3d4, 0xcfbd, 0x2fa8, 0x2fb9, 0xe080, 0xe090, 0xe041, 0xea50, 0x9560, 0xe030, 0xc009, 0x912d, 0x2782, 0x9597, 0x9587, 0xf010, 0x2784, 0x2795, 0x5e30, 0xf3c8, 0x5f6f, 0xf3a8, 0x9508, 0xdfea, 0x938d, 0x939d, 0x9508, 0xe0a6, 0x2788, 0x2799, 0x95aa, 0xf069, 0x9701, 0xf3e1, 0x99b3, 0xcffc, 0x9bb3, 0xcffe, 0xe081, 0x2799, 0xb3a6, 0x9601, 0xf011, 0x71a8, 0xf7d9, 0x9508, 0x93cf, 0xb7cf, 0x93cf, 0x91c0, 0x025f, 0x3bc0, 0xf421, 0x91c0, 0x025e, 0x30c7, 0xf021, 0x91cf, 0xbfcf, 0x91cf, 0xcf81, 0x27cc, 0x95c3, 0x9bb3, 0xf7e9, 0x9bb3, 0xc00b, 0x9bb3, 0xc009, 0x9bb3, 0xc007, 0x9bb3, 0xc005, 0x9bb3, 0xc003, 0x9bb3, 0xc001, 0xc0d3, 0x920f, 0x93df, 0x91c0, 0x007f, 0x27dd, 0x57ca, 0x4fdf, 0x2e01, 0x9bb3, 0xc003, 0x91df, 0x900f, 0xcfe6, 0x932f, 0x930f, 0x931f, 0x934f, 0xef2f, 0x6f4f, 0xb306, 0xfb03, 0xf920, 0x935f, 0x933f, 0xe050, 0xe03b, 0xc065, 0xb316, 0x2601, 0x2950, 0xfd53, 0x95c8, 0xb356, 0x2701, 0xfb03, 0xf925, 0x732f, 0xb306, 0xf0b1, 0x2750, 0x2710, 0xfb13, 0xf926, 0xb206, 0x3022, 0xf0f0, 0xc000, 0xb316, 0x2701, 0xfb03, 0xf927, 0x2601, 0x2950, 0xb206, 0x3024, 0xf5e8, 0x774f, 0x6820, 0xb316, 0x0000, 0xcff6, 0x2750, 0x7d4f, 0x6220, 0xb206, 0x2f10, 0x0000, 0xc000, 0xb306, 0x2600, 0x2950, 0x2710, 0xfb13, 0xf926, 0xb206, 0xcfe2, 0x7b4f, 0xb306, 0x6420, 0xc000, 0xcfda, 0x2601, 0x2950, 0x7118, 0xb206, 0xf169, 0x7f4e, 0x6021, 0x2f01, 0xb316, 0xc028, 0x2600, 0x2950, 0x7f4d, 0xb206, 0x6022, 0x2f10, 0xc029, 0x2601, 0x2950, 0x7f4b, 0xb206, 0x6024, 0x2f01, 0xc02d, 0xb316, 0x2601, 0x2950, 0x7f47, 0x6028, 0x0000, 0xb206, 0xc02e, 0x7e4f, 0xb306, 0x6120, 0xc030, 0x2742, 0xb306, 0x9349, 0x2600, 0x2950, 0x2710, 0xb206, 0xef4f, 0xfb13, 0xf920, 0x7f29, 0xb316, 0xf279, 0x7118, 0xf159, 0x2601, 0x2950, 0xb206, 0x2701, 0xfb03, 0xf921, 0x7f23, 0xb306, 0xf271, 0x2600, 0x2950, 0x5031, 0xf0d0, 0xb206, 0x2710, 0xfb13, 0xf922, 0x7e27, 0xb316, 0xf251, 0x2601, 0x2950, 0x2701, 0xfb03, 0xb206, 0xf923, 0x7c2f, 0xf249, 0x0000, 0xb306, 0x2710, 0xfb13, 0xf924, 0x2600, 0x2950, 0xb206, 0x792f, 0xf239, 0xcf70, 0xe210, 0xbf1a, 0x2700, 0xc017, 0x503b, 0x9531, 0x1bc3, 0x40d0, 0xe210, 0xbf1a, 0x8108, 0x3c03, 0xf0f9, 0x340b, 0xf0e9, 0x9120, 0x007d, 0x8119, 0x0f11, 0x1312, 0xcfed, 0x3609, 0xf151, 0x320d, 0xf011, 0x3e01, 0xf739, 0x9300, 0x0084, 0x913f, 0x915f, 0x914f, 0x911f, 0x910f, 0x912f, 0x91df, 0x900f, 0xb7ca, 0xfdc5, 0xcf1d, 0x91cf, 0xbfcf, 0x91cf, 0x9518, 0x9120, 0x0084, 0x2322, 0xf369, 0x9110, 0x0082, 0x2311, 0xf521, 0x3034, 0xf122, 0x9330, 0x0082, 0x9320, 0x007e, 0x9110, 0x007f, 0xe03b, 0x1b31, 0x9330, 0x007f, 0xc019, 0x9100, 0x0082, 0x3001, 0xf49c, 0xe50a, 0x9130, 0x0060, 0xfd34, 0xc011, 0x9300, 0x0060, 0xe7c2, 0xe0d0, 0xc010, 0x2705, 0xe010, 0xc000, 0xc021, 0x2705, 0xe010, 0x95c8, 0xbb08, 0xc014, 0xe53a, 0xc001, 0xed32, 0x2e03, 0xe0c0, 0xe0d0, 0xe032, 0xb317, 0x6118, 0x9ac3, 0xb308, 0xbb17, 0xe158, 0xe820, 0xef4f, 0xff20, 0x2705, 0xbb08, 0x9527, 0x9517, 0x3f1c, 0xf728, 0x0000, 0x5245, 0xf7b0, 0xff20, 0x2705, 0x9527, 0xbb08, 0x9517, 0x3f1c, 0xf6b8, 0x9129, 0x953a, 0xf761, 0x7e07, 0x9110, 0x0083, 0x0f11, 0xbb08, 0x50c2, 0x40d0, 0xf011, 0x9310, 0x007d, 0xe210, 0xbf1a, 0x6008, 0xb317, 0x7e17, 0x2f40, 0x7e47, 0xe054, 0x955a, 0xf7f1, 0xbb08, 0xbb17, 0xbb48, 0xcf8a, 0xe081, 0x9380, 0x0069, 0x94f8, 0x91e0, 0x0070, 0x91f0, 0x0071, 0x9732, 0xe085, 0x9380, 0x0057, 0x95e8, 0xb607, 0xfc00, 0xcffd, 0x9478, 0x9508, 0x019c, 0x91e0, 0x0070, 0x91f0, 0x0071, 0x9730, 0xf149, 0x30e4, 0x05f1, 0xf0b1, 0xe187, 0x3bec, 0x07f8, 0xf439, 0x9120, 0x006c, 0x9130, 0x006d, 0x5d2e, 0x4f3b, 0xc00d, 0xe187, 0x3bee, 0x07f8, 0xf449, 0x9120, 0x006e, 0x9130, 0x006f, 0x5d2d, 0x4f3b, 0xc002, 0xed2f, 0xec3b, 0x94f8, 0xe081, 0x0109, 0x9380, 0x0057, 0x95e8, 0x2411, 0x9478, 0x9632, 0x93f0, 0x0071, 0x93e0, 0x0070, 0x9508, 0xe181, 0x9380, 0x0057, 0x95e8, 0xcfeb, 0xef8f, 0xef9f, 0xdfc8, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf7a9, 0xcfad, 0x931f, 0x93cf, 0x93df, 0xe188, 0xb60f, 0x94f8, 0xbd81, 0xbc11, 0xbe0f, 0xe0e0, 0xe0f0, 0x9185, 0x9194, 0x5d8f, 0x4c9b, 0xf439, 0xe0e4, 0xe0f0, 0x9185, 0x9194, 0x5d8f, 0x4c9b, 0xf009, 0xdfdc, 0x9210, 0x0071, 0x9210, 0x0070, 0x9abd, 0x9ac5, 0xe282, 0xea91, 0x9701, 0xf7f1, 0xb386, 0x9582, 0x9586, 0x7087, 0xfd80, 0xc17d, 0x9aac, 0xb78b, 0x6280, 0xbf8b, 0x9abb, 0xe888, 0xe193, 0xe9ec, 0xe0f1, 0x9731, 0xf7f1, 0x9701, 0xf7d1, 0x98bb, 0x9478, 0x9110, 0x0082, 0x5013, 0xfd17, 0xc0d4, 0x9180, 0x007f, 0xe0cc, 0xe0d0, 0x1bc8, 0x09d1, 0x57ca, 0x4fdf, 0x9180, 0x007e, 0x328d, 0xf009, 0xc091, 0x3018, 0xf009, 0xc0c2, 0xec83, 0x9380, 0x0072, 0xe58a, 0x9380, 0x0060, 0x9210, 0x006b, 0x8128, 0x2f82, 0x7680, 0x8199, 0x2388, 0xf129, 0x9210, 0x0067, 0x9210, 0x0066, 0x2399, 0xf441, 0xe682, 0xe090, 0x9390, 0x0081, 0x9380, 0x0080, 0xe024, 0xc068, 0x3091, 0xf451, 0x818c, 0x819d, 0x9390, 0x0071, 0x9380, 0x0070, 0xfd27, 0xc059, 0xef9f, 0xc058, 0x9180, 0x0068, 0x3092, 0xf411, 0x6081, 0xc001, 0x6084, 0x9380, 0x0068, 0xe020, 0xc051, 0x818a, 0x9210, 0x007b, 0x2399, 0xf431, 0x9210, 0x007c, 0xe78b, 0xe090, 0xe022, 0xc03c, 0x3095, 0xf419, 0x9380, 0x0083, 0xc034, 0x3096, 0xf511, 0x818b, 0x3081, 0xf419, 0xee82, 0xe197, 0xc004, 0x3082, 0xf441, 0xef84, 0xe197, 0x9390, 0x0081, 0x9380, 0x0080, 0xe122, 0xc00e, 0x3083, 0xf459, 0x818a, 0x2388, 0xf441, 0xed8e, 0xe197, 0x9390, 0x0081, 0x9380, 0x0080, 0xe024, 0xc001, 0xe020, 0xe480, 0x9380, 0x006b, 0xc01d, 0x3098, 0xf419, 0xe885, 0xe090, 0xc009, 0x3099, 0xf419, 0x9380, 0x0085, 0xc006, 0x309a, 0xf421, 0xe78b, 0xe090, 0xe021, 0xc003, 0xe78b, 0xe090, 0xe020, 0x9390, 0x0081, 0x9380, 0x0080, 0xc005, 0x819e, 0xe880, 0x9380, 0x006b, 0xc007, 0x818f, 0x2388, 0xf419, 0x819e, 0x1792, 0xf008, 0x2f92, 0x9390, 0x0061, 0xc034, 0x9180, 0x006b, 0xff87, 0xc030, 0x9180, 0x0070, 0x9190, 0x0071, 0x9700, 0xf439, 0x8188, 0x8199, 0x9390, 0x006d, 0x9380, 0x006c, 0xc00d, 0x3084, 0x0591, 0xf439, 0x8188, 0x8199, 0x9390, 0x006f, 0x9380, 0x006e, 0xc003, 0x5c80, 0x4197, 0xf438, 0x8188, 0x8199, 0xdec4, 0x5012, 0xf011, 0x9622, 0xcfdf, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf439, 0x9180, 0x0068, 0x6082, 0x9380, 0x0068, 0x9210, 0x0061, 0x9210, 0x0082, 0x9180, 0x0060, 0xff84, 0xc03c, 0x9180, 0x0061, 0x3f8f, 0xf1c1, 0x2f18, 0x3089, 0xf008, 0xe018, 0x1b81, 0x9380, 0x0061, 0x9180, 0x0072, 0xe898, 0x2789, 0x9380, 0x0072, 0x2311, 0xf0e1, 0x91e0, 0x0080, 0x91f0, 0x0081, 0x9180, 0x006b, 0xff86, 0xc009, 0x2f91, 0xe7a3, 0xe0b0, 0x9184, 0x938d, 0x9631, 0x5091, 0xf7d9, 0xc007, 0x2f91, 0xe7a3, 0xe0b0, 0x9181, 0x938d, 0x5091, 0xf7e1, 0x93f0, 0x0081, 0x93e0, 0x0080, 0xe783, 0xe090, 0x2f61, 0xdcf1, 0x2f61, 0x5f6c, 0x306c, 0xf019, 0xef8f, 0x9380, 0x0061, 0x9360, 0x0060, 0xe194, 0xb386, 0x7188, 0xf431, 0x5091, 0xf7d9, 0x9210, 0x0083, 0x9210, 0x007d, 0xe010, 0x2399, 0xf409, 0xe011, 0x9180, 0x006a, 0x1781, 0xf039, 0x2311, 0xf419, 0x94f8, 0xd051, 0x9478, 0x9310, 0x006a, 0xe98c, 0xe091, 0x9701, 0xf7f1, 0x9180, 0x0066, 0x9190, 0x0067, 0x9601, 0x9390, 0x0067, 0x9380, 0x0066, 0x9180, 0x0068, 0x2f18, 0xff80, 0xc014, 0x94f8, 0xece0, 0xe1f7, 0x54e0, 0x40f0, 0xe083, 0x9380, 0x0057, 0x95e8, 0xb607, 0xfc00, 0xcffd, 0x9730, 0xf7a9, 0x9210, 0x0071, 0x9210, 0x0070, 0xde66, 0x9478, 0xff11, 0xc00f, 0xe38a, 0xe290, 0x9701, 0xf7f1, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf011, 0xde56, 0xc001, 0xde0d, 0xfd12, 0xc003, 0x9210, 0x0068, 0xce92, 0xe282, 0xea91, 0x9701, 0xf7f1, 0xba18, 0xba17, 0x94f8, 0xbe1b, 0xba15, 0x9210, 0x025f, 0x9210, 0x025e, 0xcc2b, 0x91df, 0x91cf, 0x911f, 0x9508, 0x92ff, 0x930f, 0x931f, 0x93cf, 0x93df, 0xe880, 0x2ef8, 0xe000, 0xe0c0, 0xe0d0, 0x2f10, 0x0d1f, 0xbf11, 0xdc77, 0xe029, 0x3384, 0x0792, 0xf00c, 0x2f10, 0x94f6, 0x9621, 0x30c8, 0x05d1, 0xf011, 0x2f01, 0xcff0, 0x5011, 0xbf11, 0x5f1f, 0x2f01, 0x01ec, 0xc010, 0xdc64, 0x5384, 0x4099, 0xff97, 0xc003, 0x9590, 0x9581, 0x4f9f, 0x178c, 0x079d, 0xf414, 0xb701, 0x01ec, 0xb781, 0x5f8f, 0xbf81, 0xb721, 0xe030, 0x2f81, 0xe090, 0x9601, 0x1782, 0x0793, 0xf744, 0xbf01, 0x91df, 0x91cf, 0x911f, 0x910f, 0x90ff, 0x9508, 0x94f8, 0xcfff, 0xff5a, 0xbc17, 0x0840 +uint16_t bootloader_data[1073] PROGMEM = { +0xc022, 0xc040, 0xc06c, 0xc03e, 0xc03d, 0xc03c, 0xc03b, 0xc03a, 0xc039, 0xc038, 0xc037, 0xc036, 0xc035, 0xc034, 0xc033, 0x0304, 0x0409, 0x0112, 0x0110, 0x00ff, 0x0800, 0x16d0, 0x0753, 0x0106, 0x0000, 0x0100, 0x0209, 0x0012, 0x0101, 0x8000, 0x0932, 0x0004, 0x0000, 0x0000, 0x0000, 0x2411, 0xbe1f, 0xe5cf, 0xe0d2, 0xbfde, 0xbfcd, 0xeb00, 0x930f, 0xe007, 0x930f, 0xe010, 0xe6a0, 0xe0b0, 0xedec, 0xe1ff, 0xc002, 0x9005, 0x920d, 0x36a6, 0x07b1, 0xf7d9, 0xe010, 0xe6a6, 0xe0b0, 0xc001, 0x921d, 0x39ac, 0x07b1, 0xf7e1, 0xd1e7, 0xc3ea, 0xcfbd, 0x2fa8, 0x2fb9, 0xe080, 0xe090, 0xe041, 0xea50, 0x9560, 0xe030, 0xc009, 0x912d, 0x2782, 0x9597, 0x9587, 0xf010, 0x2784, 0x2795, 0x5e30, 0xf3c8, 0x5f6f, 0xf3a8, 0x9508, 0xdfea, 0x938d, 0x939d, 0x9508, 0xe0a6, 0x2788, 0x2799, 0x95aa, 0xf069, 0x9701, 0xf3e1, 0x99b3, 0xcffc, 0x9bb3, 0xcffe, 0xe081, 0x2799, 0xb3a6, 0x9601, 0xf011, 0x71a8, 0xf7d9, 0x9508, 0x93cf, 0xb7cf, 0x93cf, 0x91c0, 0x025f, 0x3bc0, 0xf421, 0x91c0, 0x025e, 0x30c7, 0xf021, 0x91cf, 0xbfcf, 0x91cf, 0xcf81, 0x27cc, 0x95c3, 0x9bb3, 0xf7e9, 0x9bb3, 0xc00b, 0x9bb3, 0xc009, 0x9bb3, 0xc007, 0x9bb3, 0xc005, 0x9bb3, 0xc003, 0x9bb3, 0xc001, 0xc0d3, 0x920f, 0x93df, 0x91c0, 0x007f, 0x27dd, 0x57ca, 0x4fdf, 0x2e01, 0x9bb3, 0xc003, 0x91df, 0x900f, 0xcfe6, 0x932f, 0x930f, 0x931f, 0x934f, 0xef2f, 0x6f4f, 0xb306, 0xfb03, 0xf920, 0x935f, 0x933f, 0xe050, 0xe03b, 0xc065, 0xb316, 0x2601, 0x2950, 0xfd53, 0x95c8, 0xb356, 0x2701, 0xfb03, 0xf925, 0x732f, 0xb306, 0xf0b1, 0x2750, 0x2710, 0xfb13, 0xf926, 0xb206, 0x3022, 0xf0f0, 0xc000, 0xb316, 0x2701, 0xfb03, 0xf927, 0x2601, 0x2950, 0xb206, 0x3024, 0xf5e8, 0x774f, 0x6820, 0xb316, 0x0000, 0xcff6, 0x2750, 0x7d4f, 0x6220, 0xb206, 0x2f10, 0x0000, 0xc000, 0xb306, 0x2600, 0x2950, 0x2710, 0xfb13, 0xf926, 0xb206, 0xcfe2, 0x7b4f, 0xb306, 0x6420, 0xc000, 0xcfda, 0x2601, 0x2950, 0x7118, 0xb206, 0xf169, 0x7f4e, 0x6021, 0x2f01, 0xb316, 0xc028, 0x2600, 0x2950, 0x7f4d, 0xb206, 0x6022, 0x2f10, 0xc029, 0x2601, 0x2950, 0x7f4b, 0xb206, 0x6024, 0x2f01, 0xc02d, 0xb316, 0x2601, 0x2950, 0x7f47, 0x6028, 0x0000, 0xb206, 0xc02e, 0x7e4f, 0xb306, 0x6120, 0xc030, 0x2742, 0xb306, 0x9349, 0x2600, 0x2950, 0x2710, 0xb206, 0xef4f, 0xfb13, 0xf920, 0x7f29, 0xb316, 0xf279, 0x7118, 0xf159, 0x2601, 0x2950, 0xb206, 0x2701, 0xfb03, 0xf921, 0x7f23, 0xb306, 0xf271, 0x2600, 0x2950, 0x5031, 0xf0d0, 0xb206, 0x2710, 0xfb13, 0xf922, 0x7e27, 0xb316, 0xf251, 0x2601, 0x2950, 0x2701, 0xfb03, 0xb206, 0xf923, 0x7c2f, 0xf249, 0x0000, 0xb306, 0x2710, 0xfb13, 0xf924, 0x2600, 0x2950, 0xb206, 0x792f, 0xf239, 0xcf70, 0xe210, 0xbf1a, 0x2700, 0xc017, 0x503b, 0x9531, 0x1bc3, 0x40d0, 0xe210, 0xbf1a, 0x8108, 0x3c03, 0xf0f9, 0x340b, 0xf0e9, 0x9120, 0x007d, 0x8119, 0x0f11, 0x1312, 0xcfed, 0x3609, 0xf151, 0x320d, 0xf011, 0x3e01, 0xf739, 0x9300, 0x0084, 0x913f, 0x915f, 0x914f, 0x911f, 0x910f, 0x912f, 0x91df, 0x900f, 0xb7ca, 0xfdc5, 0xcf1d, 0x91cf, 0xbfcf, 0x91cf, 0x9518, 0x9120, 0x0084, 0x2322, 0xf369, 0x9110, 0x0082, 0x2311, 0xf521, 0x3034, 0xf122, 0x9330, 0x0082, 0x9320, 0x007e, 0x9110, 0x007f, 0xe03b, 0x1b31, 0x9330, 0x007f, 0xc019, 0x9100, 0x0082, 0x3001, 0xf49c, 0xe50a, 0x9130, 0x0060, 0xfd34, 0xc011, 0x9300, 0x0060, 0xe7c2, 0xe0d0, 0xc010, 0x2705, 0xe010, 0xc000, 0xc021, 0x2705, 0xe010, 0x95c8, 0xbb08, 0xc014, 0xe53a, 0xc001, 0xed32, 0x2e03, 0xe0c0, 0xe0d0, 0xe032, 0xb317, 0x6118, 0x9ac3, 0xb308, 0xbb17, 0xe158, 0xe820, 0xef4f, 0xff20, 0x2705, 0xbb08, 0x9527, 0x9517, 0x3f1c, 0xf728, 0x0000, 0x5245, 0xf7b0, 0xff20, 0x2705, 0x9527, 0xbb08, 0x9517, 0x3f1c, 0xf6b8, 0x9129, 0x953a, 0xf761, 0x7e07, 0x9110, 0x0083, 0x0f11, 0xbb08, 0x50c2, 0x40d0, 0xf011, 0x9310, 0x007d, 0xe210, 0xbf1a, 0x6008, 0xb317, 0x7e17, 0x2f40, 0x7e47, 0xe054, 0x955a, 0xf7f1, 0xbb08, 0xbb17, 0xbb48, 0xcf8a, 0xe081, 0x9380, 0x0069, 0x94f8, 0x91e0, 0x0070, 0x91f0, 0x0071, 0x9732, 0xe085, 0x9380, 0x0057, 0x95e8, 0xb607, 0xfc00, 0xcffd, 0x9478, 0x9508, 0x019c, 0x91e0, 0x0070, 0x91f0, 0x0071, 0x9730, 0xf189, 0x30e4, 0x05f1, 0xf0f1, 0xe187, 0x37ec, 0x07f8, 0xf439, 0x9120, 0x006c, 0x9130, 0x006d, 0x5b2e, 0x4f3b, 0xc015, 0xe187, 0x37ee, 0x07f8, 0xf439, 0x9120, 0x006e, 0x9130, 0x006f, 0x5b2d, 0x4f3b, 0xc00a, 0xe187, 0x37ea, 0x07f8, 0xf431, 0xb781, 0x2f28, 0xe030, 0xc002, 0xeb2f, 0xec3b, 0x94f8, 0xe081, 0x0109, 0x9380, 0x0057, 0x95e8, 0x2411, 0x9478, 0x9632, 0x93f0, 0x0071, 0x93e0, 0x0070, 0x9508, 0xe181, 0x9380, 0x0057, 0x95e8, 0xcfeb, 0xef8f, 0xef9f, 0xdfc0, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf7a9, 0xcfa5, 0x931f, 0x93cf, 0x93df, 0xe188, 0xb60f, 0x94f8, 0xbd81, 0xbc11, 0xbe0f, 0xe0e0, 0xe0f0, 0x9185, 0x9194, 0x5b8f, 0x4c9b, 0xf439, 0xe0e4, 0xe0f0, 0x9185, 0x9194, 0x5b8f, 0x4c9b, 0xf009, 0xdfdc, 0x9210, 0x0071, 0x9210, 0x0070, 0x9aac, 0xb78b, 0x6280, 0xbf8b, 0x9abb, 0xe888, 0xe193, 0xe9ec, 0xe0f1, 0x9731, 0xf7f1, 0x9701, 0xf7d1, 0x98bb, 0x9478, 0x9110, 0x0082, 0x5013, 0xfd17, 0xc0d4, 0x9180, 0x007f, 0xe0cc, 0xe0d0, 0x1bc8, 0x09d1, 0x57ca, 0x4fdf, 0x9180, 0x007e, 0x328d, 0xf009, 0xc091, 0x3018, 0xf009, 0xc0c2, 0xec83, 0x9380, 0x0072, 0xe58a, 0x9380, 0x0060, 0x9210, 0x006b, 0x8128, 0x2f82, 0x7680, 0x8199, 0x2388, 0xf129, 0x9210, 0x0067, 0x9210, 0x0066, 0x2399, 0xf441, 0xe682, 0xe090, 0x9390, 0x0081, 0x9380, 0x0080, 0xe024, 0xc068, 0x3091, 0xf451, 0x818c, 0x819d, 0x9390, 0x0071, 0x9380, 0x0070, 0xfd27, 0xc059, 0xef9f, 0xc058, 0x9180, 0x0068, 0x3092, 0xf411, 0x6081, 0xc001, 0x6084, 0x9380, 0x0068, 0xe020, 0xc051, 0x818a, 0x9210, 0x007b, 0x2399, 0xf431, 0x9210, 0x007c, 0xe78b, 0xe090, 0xe022, 0xc03c, 0x3095, 0xf419, 0x9380, 0x0083, 0xc034, 0x3096, 0xf511, 0x818b, 0x3081, 0xf419, 0xea82, 0xe197, 0xc004, 0x3082, 0xf441, 0xeb84, 0xe197, 0x9390, 0x0081, 0x9380, 0x0080, 0xe122, 0xc00e, 0x3083, 0xf459, 0x818a, 0x2388, 0xf441, 0xe98e, 0xe197, 0x9390, 0x0081, 0x9380, 0x0080, 0xe024, 0xc001, 0xe020, 0xe480, 0x9380, 0x006b, 0xc01d, 0x3098, 0xf419, 0xe885, 0xe090, 0xc009, 0x3099, 0xf419, 0x9380, 0x0085, 0xc006, 0x309a, 0xf421, 0xe78b, 0xe090, 0xe021, 0xc003, 0xe78b, 0xe090, 0xe020, 0x9390, 0x0081, 0x9380, 0x0080, 0xc005, 0x819e, 0xe880, 0x9380, 0x006b, 0xc007, 0x818f, 0x2388, 0xf419, 0x819e, 0x1792, 0xf008, 0x2f92, 0x9390, 0x0061, 0xc034, 0x9180, 0x006b, 0xff87, 0xc030, 0x9180, 0x0070, 0x9190, 0x0071, 0x9700, 0xf439, 0x8188, 0x8199, 0x9390, 0x006d, 0x9380, 0x006c, 0xc00d, 0x3084, 0x0591, 0xf439, 0x8188, 0x8199, 0x9390, 0x006f, 0x9380, 0x006e, 0xc003, 0x5880, 0x4197, 0xf438, 0x8188, 0x8199, 0xdec8, 0x5012, 0xf011, 0x9622, 0xcfdf, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf439, 0x9180, 0x0068, 0x6082, 0x9380, 0x0068, 0x9210, 0x0061, 0x9210, 0x0082, 0x9180, 0x0060, 0xff84, 0xc03c, 0x9180, 0x0061, 0x3f8f, 0xf1c1, 0x2f18, 0x3089, 0xf008, 0xe018, 0x1b81, 0x9380, 0x0061, 0x9180, 0x0072, 0xe898, 0x2789, 0x9380, 0x0072, 0x2311, 0xf0e1, 0x91e0, 0x0080, 0x91f0, 0x0081, 0x9180, 0x006b, 0xff86, 0xc009, 0x2f91, 0xe7a3, 0xe0b0, 0x9184, 0x938d, 0x9631, 0x5091, 0xf7d9, 0xc007, 0x2f91, 0xe7a3, 0xe0b0, 0x9181, 0x938d, 0x5091, 0xf7e1, 0x93f0, 0x0081, 0x93e0, 0x0080, 0xe783, 0xe090, 0x2f61, 0xdcf5, 0x2f61, 0x5f6c, 0x306c, 0xf019, 0xef8f, 0x9380, 0x0061, 0x9360, 0x0060, 0xe194, 0xb386, 0x7188, 0xf431, 0x5091, 0xf7d9, 0x9210, 0x0083, 0x9210, 0x007d, 0xe010, 0x2399, 0xf409, 0xe011, 0x9180, 0x006a, 0x1781, 0xf039, 0x2311, 0xf419, 0x94f8, 0xd06b, 0x9478, 0x9310, 0x006a, 0xe98c, 0xe091, 0x9701, 0xf7f1, 0x9180, 0x0066, 0x9190, 0x0067, 0x9601, 0x9390, 0x0067, 0x9380, 0x0066, 0x9180, 0x0068, 0x2f18, 0xff80, 0xc014, 0x94f8, 0xe8e0, 0xe1f7, 0x54e0, 0x40f0, 0xe083, 0x9380, 0x0057, 0x95e8, 0xb607, 0xfc00, 0xcffd, 0x9730, 0xf7a9, 0x9210, 0x0071, 0x9210, 0x0070, 0xde72, 0x9478, 0xff11, 0xc00f, 0xe38a, 0xe290, 0x9701, 0xf7f1, 0x9180, 0x0070, 0x9190, 0x0071, 0x738f, 0x7090, 0x2b89, 0xf011, 0xde62, 0xc001, 0xde11, 0xfd12, 0xc00a, 0x9210, 0x0068, 0x9180, 0x0066, 0x9190, 0x0067, 0x5580, 0x4c93, 0xf408, 0xce8b, 0xe282, 0xea91, 0x9701, 0xf7f1, 0x94f8, 0xbe1b, 0xba15, 0x9210, 0x025f, 0x9210, 0x025e, 0xe7ea, 0xe1f7, 0x9194, 0x2f89, 0x5081, 0x3f8e, 0xf020, 0xc00d, 0xb781, 0x5081, 0xbf81, 0xb781, 0x1798, 0xf3d0, 0xc003, 0xb781, 0x5f8f, 0xbf81, 0xb781, 0x1789, 0xf3d0, 0xcc15, 0x91df, 0x91cf, 0x911f, 0x9508, 0x92ff, 0x930f, 0x931f, 0x93cf, 0x93df, 0xe880, 0x2ef8, 0xe000, 0xe0c0, 0xe0d0, 0x2f10, 0x0d1f, 0xbf11, 0xdc61, 0xe029, 0x3384, 0x0792, 0xf00c, 0x2f10, 0x94f6, 0x9621, 0x30c8, 0x05d1, 0xf011, 0x2f01, 0xcff0, 0x5011, 0xbf11, 0x5f1f, 0x2f01, 0x01ec, 0xc010, 0xdc4e, 0x5384, 0x4099, 0xff97, 0xc003, 0x9590, 0x9581, 0x4f9f, 0x178c, 0x079d, 0xf414, 0xb701, 0x01ec, 0xb781, 0x5f8f, 0xbf81, 0xb721, 0xe030, 0x2f81, 0xe090, 0x9601, 0x1782, 0x0793, 0xf744, 0xbf01, 0x91df, 0x91cf, 0x911f, 0x910f, 0x90ff, 0x9508, 0x94f8, 0xcfff, 0xff5a, 0x7c17, 0x0840  }; -uint16_t bootloader_address = 6080; +uint16_t bootloader_address = 6016; diff --git a/upgrade/releases/micronucleus-1.06-upgrade.hex b/upgrade/releases/micronucleus-1.06-upgrade.hex new file mode 100644 index 0000000..90ffe74 --- /dev/null +++ b/upgrade/releases/micronucleus-1.06-upgrade.hex @@ -0,0 +1,185 @@ +:1000000003C003C003C003C003C003C003C003C0D8 +:100080003FC461C460C45FC45EC45DC45CC45BC47F
 +:100090005AC459C458C457C456C455C454C422C0C1
 +:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
 +:1000B00038C037C036C035C034C033C0040309046B
 +:1000C00012011001FF000008D016530706010000BE
 +:1000D0000001090212000101008032090400000041
 +:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
 +:1000F00000EB0F9307E00F9310E0A0E6B0E0ECED0B
 +:10010000FFE102C005900D92A636B107D9F710E0C5
 +:10011000A6E6B0E001C01D92AC39B107E1F7E7D126
 +:10012000EAC3BDCFA82FB92F80E090E041E050EAAC
 +:10013000609530E009C02D9182279795879510F042
 +:1001400084279527305EC8F36F5FA8F30895EADF30
 +:100150008D939D930895A6E088279927AA9569F025
 +:100160000197E1F3B399FCCFB39BFECF81E09927D0
 +:10017000A6B3019611F0A871D9F70895CF93CFB720
 +:10018000CF93C0915F02C03B21F4C0915E02C730A3
 +:1001900021F0CF91CFBFCF9181CFCC27C395B39B17
 +:1001A000E9F7B39B0BC0B39B09C0B39B07C0B39BDC
 +:1001B00005C0B39B03C0B39B01C0D3C00F92DF93B4
 +:1001C000C0917F00DD27CA57DF4F012EB39B03C0CC
 +:1001D000DF910F90E6CF2F930F931F934F932FEF45
 +:1001E0004F6F06B303FB20F95F933F9350E03BE072
 +:1001F00065C016B30126502953FDC89556B3012793
 +:1002000003FB25F92F7306B3B1F05027102713FB1A
 +:1002100026F906B22230F0F000C016B3012703FB26
 +:1002200027F90126502906B22430E8F54F772068D7
 +:1002300016B30000F6CF50274F7D206206B2102F74
 +:10024000000000C006B300265029102713FB26F932
 +:1002500006B2E2CF4F7B06B3206400C0DACF01269E
 +:100260005029187106B269F14E7F2160012F16B333
 +:1002700028C0002650294D7F06B22260102F29C0C9
 +:10028000012650294B7F06B22460012F2DC016B3E2
 +:1002900001265029477F2860000006B22EC04F7EFD
 +:1002A00006B3206130C0422706B349930026502987
 +:1002B000102706B24FEF13FB20F9297F16B379F20E
 +:1002C000187159F10126502906B2012703FB21F9C3
 +:1002D000237F06B371F2002650293150D0F006B2C8
 +:1002E000102713FB22F9277E16B351F2012650295D
 +:1002F000012703FB06B223F92F7C49F2000006B365
 +:10030000102713FB24F90026502906B22F7939F261
 +:1003100070CF10E21ABF002717C03B503195C31BA6
 +:10032000D04010E21ABF0881033CF9F00B34E9F029
 +:1003300020917D001981110F1213EDCF093651F173
 +:100340000D3211F0013E39F7009384003F915F9127
 +:100350004F911F910F912F91DF910F90CAB7C5FD5B
 +:100360001DCFCF91CFBFCF9118952091840022232C
 +:1003700069F310918200112321F5343022F130937A
 +:10038000820020937E0010917F003BE0311B309370
 +:100390007F0019C00091820001309CF40AE5309181
 +:1003A000600034FD11C000936000C2E7D0E010C0CF
 +:1003B000052710E000C021C0052710E0C89508BB44
 +:1003C00014C03AE501C032ED032EC0E0D0E032E0C7
 +:1003D00017B31861C39A08B317BB58E120E84FEF71
 +:1003E00020FF052708BB279517951C3F28F700001D
 +:1003F0004552B0F720FF0527279508BB17951C3FEE
 +:10040000B8F629913A9561F7077E10918300110F94
 +:1004100008BBC250D04011F010937D0010E21ABF0B
 +:10042000086017B3177E402F477E54E05A95F1F7C6
 +:1004300008BB17BB48BB8ACF81E080936900F89462
 +:10044000E0917000F0917100329785E08093570041
 +:10045000E89507B600FCFDCF789408959C01E091E3
 +:100460007000F0917100309789F1E430F105F1F0FE
 +:1004700087E1EC37F80739F420916C0030916D007A
 +:100480002E5B3B4F15C087E1EE37F80739F420911A
 +:100490006E0030916F002D5B3B4F0AC087E1EA3759
 +:1004A000F80731F481B7282F30E002C02FEB3BEC86
 +:1004B000F89481E0090180935700E895112478941D
 +:1004C0003296F0937100E0937000089581E180937B
 +:1004D0005700E895EBCF8FEF9FEFC0DF8091700062
 +:1004E000909171008F739070892BA9F7A5CF1F93FE
 +:1004F000CF93DF9388E10FB6F89481BD11BC0FBE96
 +:10050000E0E0F0E0859194918F5B9B4C39F4E4E05E
 +:10051000F0E0859194918F5B9B4C09F0DCDF1092A9
 +:10052000710010927000AC9A8BB780628BBFBB9A3F
 +:1005300088E893E1ECE9F1E03197F1F70197D1F721
 +:10054000BB98789410918200135017FDD4C080910D
 +:100550007F00CCE0D0E0C81BD109CA57DF4F8091A3
 +:100560007E008D3209F091C0183009F0C2C083ECD2
 +:10057000809372008AE58093600010926B0028815E
 +:10058000822F80769981882329F11092670010923A
 +:100590006600992341F482E690E090938100809375
 +:1005A000800024E068C0913051F48C819D8190934B
 +:1005B00071008093700027FD59C09FEF58C0809153
 +:1005C0006800923011F4816001C0846080936800FB
 +:1005D00020E051C08A8110927B00992331F410925F
 +:1005E0007C008BE790E022E03CC0953019F48093CA
 +:1005F000830034C0963011F58B81813019F482EA82
 +:1006000097E104C0823041F484EB97E1909381003C
 +:100610008093800022E10EC0833059F48A818823C0
 +:1006200041F48EE997E1909381008093800024E06B
 +:1006300001C020E080E480936B001DC0983019F465
 +:1006400085E890E009C0993019F48093850006C0D0
 +:100650009A3021F48BE790E021E003C08BE790E033
 +:1006600020E0909381008093800005C09E8180E807
 +:1006700080936B0007C08F81882319F49E819217A5
 +:1006800008F0922F9093610034C080916B0087FF37
 +:1006900030C08091700090917100009739F488818A
 +:1006A000998190936D0080936C000DC0843091050A
 +:1006B00039F48881998190936F0080936E0003C014
 +:1006C0008058974138F488819981C8DE125011F022
 +:1006D0002296DFCF80917000909171008F7390709F
 +:1006E000892B39F4809168008260809368001092B1
 +:1006F0006100109282008091600084FF3CC0809174
 +:1007000061008F3FC1F1182F893008F018E0811B7C
 +:10071000809361008091720098E88927809372002D
 +:100720001123E1F0E0918000F091810080916B0055
 +:1007300086FF09C0912FA3E7B0E084918D93319695
 +:100740009150D9F707C0912FA3E7B0E081918D9325
 +:100750009150E1F7F0938100E093800083E790E00F
 +:10076000612FF5DC612F6C5F6C3019F08FEF809397
 +:1007700061006093600094E186B3887131F4915018
 +:10078000D9F71092830010927D0010E0992309F4AC
 +:1007900011E080916A00811739F0112319F4F8945F
 +:1007A0006BD0789410936A008CE991E00197F1F78F
 +:1007B0008091660090916700019690936700809306
 +:1007C000660080916800182F80FF14C0F894E0E85C
 +:1007D000F7E1E054F04083E080935700E89507B6D6
 +:1007E00000FCFDCF3097A9F71092710010927000B5
 +:1007F00072DE789411FF0FC08AE390E20197F1F75F
 +:1008000080917000909171008F739070892B11F01E
 +:1008100062DE01C011DE12FD0AC0109268008091F4
 +:100820006600909167008055934C08F48BCE82E26D
 +:1008300091EA0197F1F7F8941BBE15BA10925F0286
 +:1008400010925E02EAE7F7E19491892F81508E3F82
 +:1008500020F00DC081B7815081BF81B79817D0F3C8
 +:1008600003C081B78F5F81BF81B78917D0F315CCE3
 +:10087000DF91CF911F910895FF920F931F93CF9314
 +:10088000DF9380E8F82E00E0C0E0D0E0102F1F0DCD
 +:1008900011BF61DC29E0843392070CF0102FF6942D
 +:1008A0002196C830D10511F0012FF0CF115011BFA2
 +:1008B0001F5F012FEC0110C04EDC8453994097FF5D
 +:1008C00003C0909581959F4F8C179D0714F401B735
 +:1008D000EC0181B78F5F81BF21B730E0812F90E0BD
 +:1008E00001968217930744F701BFDF91CF911F91C3
 +:1008F0000F91FF900895F894FFCF5AFF177C40089E
 +:1009000000000000000000000000000000000000E7
 +:1009100000000000000000000000000000000000D7
 +:1009200011241FBECFE5D2E0DEBFCDBF10E0A0E6B0
 +:10093000B0E0E8ECFBE002C005900D92A236B107F2
 +:10094000D9F720D13FC19CCB05C0EDE1F0E1319753
 +:10095000F1F701970097C9F70895AC01407C20E0BA
 +:1009600030E0F901E40FF51F85919491F901EE7FD4
 +:10097000E60FF71F918380832E5F3F4F20343105B0
 +:1009800081F70895FC01E07C83E080935700E895AF
 +:1009900007B600FCFDCF0895CF93DF93EC01A0E0F4
 +:1009A000B0E0AD014C0F5D1FFB01EA0FFB1F808122
 +:1009B000918121E0FA010C0120935700E895112460
 +:1009C0001296A034B10569F785E0FE0180935700C7
 +:1009D000E89507B600FCFDCFDF91CF910895DF9336
 +:1009E000CF93CDB7DEB7C054D0400FB6F894DEBF7A
 +:1009F0000FBECDBF209160003091610036952795E4
 +:100A000021503044FE01319621933193CE018F5B0A
 +:100A10009F4FE817F907C1F780E090E0B3DF80E06F
 +:100A200090E0BE016F5F7F4FB7DFC05CDF4F0FB656
 +:100A3000F894DEBF0FBECDBFCF91DF910895EF9246
 +:100A4000FF920F931F93DF93CF93CDB7DEB7C054C0
 +:100A5000D0400FB6F894DEBF0FBECDBF00E010E06F
 +:100A600035C09B01359527957E010894E11CF11C4A
 +:100A700089E0A030B80738F0220F331FE20EF31ED2
 +:100A80008FEF9FEF07C0FD0185919491220F331FD7
 +:100A9000E20EF31EF701918380836E5F7F4F129603
 +:100AA00060347105F1F68091600090916100800FD3
 +:100AB000911F68DF8091600090916100800F911F0D
 +:100AC000BE016F5F7F4F68DF005C1F4FF8E00038AA
 +:100AD0001F0731F0D801A256BF4F60E070E0C1CFD0
 +:100AE000C05CDF4F0FB6F894DEBF0FBECDBFCF9115
 +:100AF000DF911F910F91FF90EF900895DF93CF93B7
 +:100B0000CDB7DEB7C054D0400FB6F894DEBF0FBEED
 +:100B1000CDBF80E090E0BE016F5F7F4F1EDF80E0C1
 +:100B200090E0019680329105E1F78FEF9FEF9A8375
 +:100B3000898380E090E026DF80E090E0BE016F5F77
 +:100B40007F4F2ADFC05CDF4F0FB6F894DEBF0FBEC9
 +:100B5000CDBFCF91DF91089587B3836087BBC198E4
 +:100B600020E08DE190E1FC013197F1F7C19A019706
 +:100B7000F1F7C1982F5F2A3FA1F70895E0E0F0E078
 +:100B80000995089588B318BA87B38FEF87BB8AEFAA
 +:100B900090E0EDE1F0E13197F1F70197D1F787B3FC
 +:100BA00017BA8AEF90E0EDE1F0E13197F1F70197A4
 +:100BB000D1F7F894A3DF43DF12DFCEDFDFDF80E081
 +:080BC00090E00895F894FFCFC6
 +:020BC800801794
 +:040000030000008079
 +:00000001FF
 | 
