summaryrefslogtreecommitdiffstats
path: root/upgrade
diff options
context:
space:
mode:
Diffstat (limited to 'upgrade')
-rw-r--r--upgrade/Makefile206
-rw-r--r--upgrade/bootloader_data.c11
-rw-r--r--upgrade/generate-data.rb39
-rw-r--r--upgrade/readme.txt34
-rw-r--r--upgrade/releases/micronucleus-1.03-upgrade.hex179
-rw-r--r--upgrade/releases/micronucleus-1.04-upgrade.hex180
-rw-r--r--upgrade/releases/micronucleus-1.05-jumper-upgrade.hex182
-rw-r--r--upgrade/releases/micronucleus-1.05-upgrade.hex181
-rw-r--r--upgrade/releases/micronucleus-1.06-jumper-v2-upgrade.hex185
-rw-r--r--upgrade/releases/micronucleus-1.06-upgrade.hex185
-rw-r--r--upgrade/releases/micronucleus-1.10-ledpb1-upgrade.hex168
-rw-r--r--upgrade/releases/micronucleus-1.10-upgrade.hex167
-rw-r--r--upgrade/releases/micronucleus-1.11-entry-ext-reset-upgrade.hex165
-rw-r--r--upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex166
-rw-r--r--upgrade/releases/micronucleus-1.11-ledpb1-upgrade.hex165
-rw-r--r--upgrade/releases/micronucleus-1.11-upgrade.hex164
-rw-r--r--upgrade/technical details.txt51
-rw-r--r--upgrade/upgrade-prefix.hex1
-rw-r--r--upgrade/upgrade.c176
-rw-r--r--upgrade/utils.h90
20 files changed, 0 insertions, 2695 deletions
diff --git a/upgrade/Makefile b/upgrade/Makefile
deleted file mode 100644
index e1c8254..0000000
--- a/upgrade/Makefile
+++ /dev/null
@@ -1,206 +0,0 @@
-# Name: Makefile
-# Project: Upgrade - based on Micronucleus makefile
-# Author: Jenna Fox; portions by Christian Starkjohann, Louis Beaudoin
-# Creation Date: 2012-10-4
-# Tabsize: 4
-# License: GNU GPL v2 (see License.txt)
-
-###############################################################################
-# Configure the following variables according to your AVR.
-# Program the device with
-# make fuse # to set the clock generator, boot section size etc.
-# make flash # to load the boot loader into flash
-# make lock # to protect the boot loader from overwriting
-# make disablereset # for ATtiny85 target - to use external reset line for IO (CAUTION: this is not easy to enable again, see README)
-
-F_CPU = 16500000
-DEVICE = attiny85
-FUSEOPT = $(FUSEOPT_t85)
-LOCKOPT = -U lock:w:0x2f:m
-
-# app starts two pages in, so we can mess around with the first page for leet ISR hax
-APP_ADDRESS = 80
-
-PROGRAMMER = -c USBasp
-# PROGRAMMER contains AVRDUDE options to address your programmer
-
-FUSEOPT_8 = -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m
-FUSEOPT_88 = -U hfuse:w:0xd6:m -U lfuse:w:0xdf:m -U efuse:w:0x00:m
-FUSEOPT_168 = -U hfuse:w:0xd6:m -U lfuse:w:0xdf:m -U efuse:w:0x00:m
-FUSEOPT_328 = -U lfuse:w:0xf7:m -U hfuse:w:0xda:m -U efuse:w:0x03:m
-FUSEOPT_t85 = -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m
-FUSEOPT_t85_DISABLERESET = -U lfuse:w:0xe1:m -U efuse:w:0xfe:m -U hfuse:w:0x5d:m
-# You may have to change the order of these -U commands.
-
-#---------------------------------------------------------------------
-# ATMega8
-#---------------------------------------------------------------------
-# Fuse high byte:
-# 0xc0 = 1 1 0 0 0 0 0 0 <-- BOOTRST (boot reset vector at 0x1800)
-# ^ ^ ^ ^ ^ ^ ^------ BOOTSZ0
-# | | | | | +-------- BOOTSZ1
-# | | | | + --------- EESAVE (preserve EEPROM over chip erase)
-# | | | +-------------- CKOPT (full output swing)
-# | | +---------------- SPIEN (allow serial programming)
-# | +------------------ WDTON (WDT not always on)
-# +-------------------- RSTDISBL (reset pin is enabled)
-# Fuse low byte:
-# 0x9f = 1 0 0 1 1 1 1 1
-# ^ ^ \ / \--+--/
-# | | | +------- CKSEL 3..0 (external >8M crystal)
-# | | +--------------- SUT 1..0 (crystal osc, BOD enabled)
-# | +------------------ BODEN (BrownOut Detector enabled)
-# +-------------------- BODLEVEL (2.7V)
-#---------------------------------------------------------------------
-# ATMega88, ATMega168
-#---------------------------------------------------------------------
-# Fuse extended byte:
-# 0x00 = 0 0 0 0 0 0 0 0 <-- BOOTRST (boot reset vector at 0x1800)
-# \+/
-# +------- BOOTSZ (00 = 2k bytes)
-# Fuse high byte:
-# 0xd6 = 1 1 0 1 0 1 1 0
-# ^ ^ ^ ^ ^ \-+-/
-# | | | | | +------ BODLEVEL 0..2 (110 = 1.8 V)
-# | | | | + --------- EESAVE (preserve EEPROM over chip erase)
-# | | | +-------------- WDTON (if 0: watchdog always on)
-# | | +---------------- SPIEN (allow serial programming)
-# | +------------------ DWEN (debug wire enable)
-# +-------------------- RSTDISBL (reset pin is enabled)
-# Fuse low byte:
-# 0xdf = 1 1 0 1 1 1 1 1
-# ^ ^ \ / \--+--/
-# | | | +------- CKSEL 3..0 (external >8M crystal)
-# | | +--------------- SUT 1..0 (crystal osc, BOD enabled)
-# | +------------------ CKOUT (if 0: Clock output enabled)
-# +-------------------- CKDIV8 (if 0: divide by 8)
-#---------------------------------------------------------------------
-# ATMega328P
-#---------------------------------------------------------------------
-# Fuse extended byte:
-# 0x03 = - - - - - 0 1 1
-# \-+-/
-# +------ BODLEVEL 0..2 (011 = 4.3V)
-# Fuse high byte:
-# 0xda = 1 1 0 1 1 0 1 0 <-- BOOTRST (0 = jump to bootloader at start)
-# ^ ^ ^ ^ ^ \+/
-# | | | | | +------- BOOTSZ 0..1 (01 = 2KB starting at 0x7800)
-# | | | | + --------- EESAVE (don't preserve EEPROM over chip erase)
-# | | | +-------------- WDTON (1 = watchdog disabled at start)
-# | | +---------------- SPIEN (0 = allow serial programming)
-# | +------------------ DWEN (1 = debug wire disable)
-# +-------------------- RSTDISBL (1 = reset pin is enabled)
-# Fuse low byte:
-# 0xf7 = 1 1 1 1 0 1 1 1
-# ^ ^ \ / \--+--/
-# | | | +------- CKSEL 3..0 (0111 = external full-swing crystal)
-# | | +--------------- SUT 1..0 (11 = startup time 16K CK/14K + 65ms)
-# | +------------------ CKOUT (1 = clock output disabled)
-# +-------------------- CKDIV8 (1 = do not divide clock by 8)
-#---------------------------------------------------------------------
-# ATtiny85
-#---------------------------------------------------------------------
-# Fuse extended byte:
-# 0xFE = - - - - - 1 1 0
-# ^
-# |
-# +---- SELFPRGEN (enable self programming flash)
-#
-# Fuse high byte:
-# 0xdd = 1 1 0 1 1 1 0 1
-# ^ ^ ^ ^ ^ \-+-/
-# | | | | | +------ BODLEVEL 2..0 (brownout trigger level -> 2.7V)
-# | | | | +---------- EESAVE (preserve EEPROM on Chip Erase -> not preserved)
-# | | | +-------------- WDTON (watchdog timer always on -> disable)
-# | | +---------------- SPIEN (enable serial programming -> enabled)
-# | +------------------ DWEN (debug wire enable)
-# +-------------------- RSTDISBL (disable external reset -> enabled)
-#
-# Fuse high byte ("no reset": external reset disabled, can't program through SPI anymore)
-# 0x5d = 0 1 0 1 1 1 0 1
-# ^ ^ ^ ^ ^ \-+-/
-# | | | | | +------ BODLEVEL 2..0 (brownout trigger level -> 2.7V)
-# | | | | +---------- EESAVE (preserve EEPROM on Chip Erase -> not preserved)
-# | | | +-------------- WDTON (watchdog timer always on -> disable)
-# | | +---------------- SPIEN (enable serial programming -> enabled)
-# | +------------------ DWEN (debug wire enable)
-# +-------------------- RSTDISBL (disable external reset -> disabled!)
-#
-# Fuse low byte:
-# 0xe1 = 1 1 1 0 0 0 0 1
-# ^ ^ \+/ \--+--/
-# | | | +------- CKSEL 3..0 (clock selection -> HF PLL)
-# | | +--------------- SUT 1..0 (BOD enabled, fast rising power)
-# | +------------------ CKOUT (clock output on CKOUT pin -> disabled)
-# +-------------------- CKDIV8 (divide clock by 8 -> don't divide)
-
-###############################################################################
-
-# Tools:
-AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
-CC = avr-gcc
-
-# Options:
-DEFINES = -DAPP_ADDRESS=0x$(APP_ADDRESS) #-DDEBUG_LEVEL=2
-# Remove the -fno-* options when you use gcc 3, it does not understand them
-CFLAGS = -Wall -Os -fno-move-loop-invariants -fno-tree-scev-cprop -fno-inline-small-functions -I. -Ilibs-device -mmcu=$(DEVICE) -DF_CPU=$(F_CPU) $(DEFINES)
-LDFLAGS = -Wl,--relax,--gc-sections -Wl,--section-start=.text=$(APP_ADDRESS),-Map=upgrade.map
-
-OBJECTS = upgrade.o
-
-# symbolic targets:
-all: upgrade.hex
-
-
-.c.o:
- $(CC) $(CFLAGS) -c $< -o $@ -Wa,-ahls=$<.lst
-
-.S.o:
- $(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o $@
-# "-x assembler-with-cpp" should not be necessary since this is the default
-# file type for the .S (with capital S) extension. However, upper case
-# characters are not always preserved on Windows. To ensure WinAVR
-# compatibility define the file type manually.
-
-.c.s:
- $(CC) $(CFLAGS) -S $< -o $@
-
-flash: all
- $(AVRDUDE) -U flash:w:upgrade.hex:i
-
-readflash:
- $(AVRDUDE) -U flash:r:read.hex:i
-
-fuse:
- $(AVRDUDE) $(FUSEOPT)
-
-disablereset:
- $(AVRDUDE) $(FUSEOPT_t85_DISABLERESET)
-
-lock:
- $(AVRDUDE) $(LOCKOPT)
-
-read_fuses:
- $(UISP) --rd_fuses
-
-clean:
- rm -f upgrade.hex upgrade.bin *.o upgrade.s upgrade.map upgrade.c.lst
-
-# file targets:
-upgrade.bin: $(OBJECTS)
- $(CC) $(CFLAGS) -o upgrade.bin $(OBJECTS) $(LDFLAGS)
-
-upgrade.hex: upgrade.bin
- rm -f upgrade.hex upgrade.eep.hex
- avr-objcopy -j .text -j .data -O ihex upgrade.bin upgrade-app.hex
- cat upgrade-prefix.hex upgrade-app.hex > upgrade.hex
- rm upgrade-app.hex
- avr-size upgrade.hex
-
-disasm: upgrade.bin
- avr-objdump -d upgrade.bin
-
-cpp:
- $(CC) $(CFLAGS) -E upgrade.c
-
-
diff --git a/upgrade/bootloader_data.c b/upgrade/bootloader_data.c
deleted file mode 100644
index c0c5447..0000000
--- a/upgrade/bootloader_data.c
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file contains the bootloader data itself and the address to
-// install the bootloader
-// Use generate-data.rb with ruby 1.9 or 2.0 to generate these
-// values from a hex file
-// Generated from ../firmware/releases/micronucleus-1.10_LEDonPB1.hex at 2013-12-16 13:16:29 +1100 by bluebie
-
-const uint16_t bootloader_data[944] PROGMEM = {
-0xc017, 0xc016, 0xc04c, 0xc014, 0x0209, 0x0012, 0x0101, 0x8000, 0x0932, 0x0004, 0x0000, 0x0000, 0x0000, 0x0112, 0x0110, 0x00ff, 0x0800, 0x16d0, 0x0753, 0x010a, 0x0000, 0x0100, 0x0304, 0x0409, 0x2411, 0xbe1f, 0xe5cf, 0xe0d2, 0xbfcd, 0xbfde, 0xeb00, 0x930f, 0xe007, 0x930f, 0xe010, 0xe6a0, 0xe0b0, 0xedea, 0xe1ff, 0xc002, 0x9005, 0x920d, 0x36a6, 0x07b1, 0xf7d9, 0xe020, 0xe6a6, 0xe0b0, 0xc001, 0x921d, 0x39ab, 0x07b2, 0xf7e1, 0xc1ec, 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, 0x93cf, 0xb7cf, 0x93cf, 0x91c0, 0x025f, 0x3bc0, 0xf421, 0x91c0, 0x025e, 0x30c7, 0xf021, 0x91cf, 0xbfcf, 0x91cf, 0xcfa1, 0x27cc, 0x95c3, 0x9bb3, 0xf7e9, 0x9bb3, 0xc00b, 0x9bb3, 0xc009, 0x9bb3, 0xc007, 0x9bb3, 0xc005, 0x9bb3, 0xc003, 0x9bb3, 0xc001, 0xc0d3, 0x920f, 0x93df, 0x91c0, 0x007e, 0x27dd, 0x57cb, 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, 0x007c, 0x8119, 0x0f11, 0x1312, 0xcfed, 0x3609, 0xf151, 0x320d, 0xf011, 0x3e01, 0xf739, 0x9300, 0x0083, 0x913f, 0x915f, 0x914f, 0x911f, 0x910f, 0x912f, 0x91df, 0x900f, 0xb7ca, 0xfdc5, 0xcf1d, 0x91cf, 0xbfcf, 0x91cf, 0x9518, 0x9120, 0x0083, 0x2322, 0xf369, 0x9110, 0x0081, 0x2311, 0xf521, 0x3034, 0xf122, 0x9330, 0x0081, 0x9320, 0x007d, 0x9110, 0x007e, 0xe03b, 0x1b31, 0x9330, 0x007e, 0xc019, 0x9100, 0x0081, 0x3001, 0xf49c, 0xe50a, 0x9130, 0x0060, 0xfd34, 0xc011, 0x9300, 0x0060, 0xe7c1, 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, 0x0082, 0x0f11, 0xbb08, 0x50c2, 0x40d0, 0xf011, 0x9310, 0x007c, 0xe210, 0xbf1a, 0x6008, 0xb317, 0x7e17, 0x2f40, 0x7e47, 0xe054, 0x955a, 0xf7f1, 0xbb08, 0xbb17, 0xbb48, 0xcf8a, 0x94f8, 0xef2f, 0xe8b0, 0xe4a0, 0xe04a, 0xbfb1, 0x0000, 0xee81, 0xe09c, 0x99b3, 0xcffe, 0x9bb3, 0xcffe, 0x9701, 0x99b3, 0xcffd, 0xff97, 0xc003, 0x1bba, 0x9581, 0xc001, 0x0fba, 0x95a6, 0xf429, 0x1728, 0xf010, 0xb731, 0x2f28, 0xe0a1, 0x5041, 0xf731, 0xbf31, 0x0000, 0x9478, 0x9508, 0x94f8, 0x91e0, 0x006a, 0x91f0, 0x006b, 0x9732, 0xe085, 0x9380, 0x0057, 0x95e8, 0x9478, 0x9508, 0x91e0, 0x006a, 0x91f0, 0x006b, 0x9730, 0xf429, 0x9390, 0x006d, 0x9380, 0x006c, 0xc007, 0x30e4, 0x05f1, 0xf439, 0x9390, 0x006f, 0x9380, 0x006e, 0xe38f, 0xec9c, 0xc01c, 0x37ec, 0xe128, 0x07f2, 0xf439, 0x9180, 0x006c, 0x9190, 0x006d, 0x538e, 0x4f9c, 0xc011, 0x37ee, 0xe128, 0x07f2, 0xf439, 0x9180, 0x006e, 0x9190, 0x006f, 0x538d, 0x4f9c, 0xc006, 0x37ea, 0xe128, 0x07f2, 0xf411, 0xb781, 0xe090, 0xb72f, 0x94f8, 0x9730, 0xf421, 0xe131, 0x9330, 0x0057, 0x95e8, 0xe031, 0x010c, 0x9330, 0x0057, 0x95e8, 0x2411, 0x9632, 0x93f0, 0x006b, 0x93e0, 0x006a, 0xbf2f, 0x9508, 0xbe14, 0xe188, 0xb60f, 0x94f8, 0xbd81, 0xbc11, 0xbe0f, 0x98c1, 0x9abb, 0xe888, 0xe193, 0xe9ec, 0xe0f1, 0x9731, 0xf7f1, 0x9701, 0xf7d1, 0x98bb, 0x9aac, 0xb78b, 0x6280, 0xbf8b, 0x9478, 0x9100, 0x0081, 0x5003, 0xfd07, 0xc0ba, 0x9180, 0x007e, 0xe0cc, 0xe0d0, 0x1bc8, 0x09d1, 0x57cb, 0x4fdf, 0x9180, 0x007d, 0x328d, 0xf009, 0xc08e, 0x3008, 0xf009, 0xc0a8, 0xec83, 0x9380, 0x0071, 0xe58a, 0x9380, 0x0060, 0x9210, 0x0069, 0x8128, 0x2f92, 0x7690, 0x8189, 0x2399, 0xf119, 0x9210, 0x0067, 0x1181, 0xc008, 0xe682, 0xe090, 0x9390, 0x0080, 0x9380, 0x007f, 0xe014, 0xc067, 0x3081, 0xf451, 0x818c, 0x819d, 0x9390, 0x006b, 0x9380, 0x006a, 0xfd27, 0xc058, 0xef1f, 0xc057, 0x9190, 0x0068, 0x3082, 0xf411, 0x6091, 0xc001, 0x6094, 0x9390, 0x0068, 0xe010, 0xc050, 0x819a, 0x9210, 0x007a, 0x1181, 0xc006, 0x9210, 0x007b, 0xe78a, 0xe090, 0xe012, 0xc03b, 0x3085, 0xf419, 0x9390, 0x0082, 0xc02c, 0x3086, 0xf509, 0x818b, 0x3081, 0xf419, 0xe98a, 0xe198, 0xc004, 0x3082, 0xf441, 0xe888, 0xe198, 0x9390, 0x0080, 0x9380, 0x007f, 0xe112, 0xc00d, 0x3083, 0xf451, 0x1191, 0xc008, 0xea8c, 0xe198, 0x9390, 0x0080, 0x9380, 0x007f, 0xe014, 0xc001, 0xe010, 0xe480, 0x9380, 0x0069, 0xc01d, 0x3088, 0xf059, 0x3089, 0xf419, 0x9390, 0x0084, 0xc002, 0x308a, 0xf039, 0xe78a, 0xe090, 0xe010, 0xc006, 0xe884, 0xe090, 0xc002, 0xe78a, 0xe090, 0xe011, 0x9390, 0x0080, 0x9380, 0x007f, 0xc005, 0x811e, 0xe880, 0x9380, 0x0069, 0xc007, 0x818f, 0x1181, 0xc004, 0x818e, 0x1781, 0xf408, 0x2f18, 0x9310, 0x0061, 0xc01d, 0x9180, 0x0069, 0xff87, 0xc019, 0x9180, 0x006a, 0x9190, 0x006b, 0x3880, 0x4198, 0xf028, 0x9180, 0x006a, 0x738f, 0xf039, 0xc00d, 0x9189, 0x9199, 0xdef0, 0x5002, 0xf779, 0xcff5, 0x9180, 0x0068, 0x6082, 0x9380, 0x0068, 0x9210, 0x0061, 0x9210, 0x0081, 0x9180, 0x0060, 0xff84, 0xc043, 0x9180, 0x0061, 0x3f8f, 0xf409, 0xc03e, 0x2f08, 0x3089, 0xf008, 0xe008, 0x1b80, 0x9380, 0x0061, 0x9180, 0x0071, 0xe898, 0x2789, 0x9380, 0x0071, 0x2300, 0xf119, 0x91e0, 0x007f, 0x91f0, 0x0080, 0x9180, 0x0069, 0xff86, 0xc00b, 0xe7a2, 0xe0b0, 0x9184, 0x938d, 0x9631, 0xe782, 0xe090, 0x0f80, 0x138a, 0xcff8, 0xc00c, 0x01cf, 0xe7a2, 0xe0b0, 0x01fc, 0x9121, 0x01cf, 0x932d, 0xe722, 0xe030, 0x0f20, 0x132a, 0xcff7, 0x93f0, 0x0080, 0x93e0, 0x007f, 0x2f60, 0xe782, 0xe090, 0xdd14, 0x5f0c, 0x300c, 0xf019, 0xef8f, 0x9380, 0x0061, 0x9300, 0x0060, 0xe184, 0xb396, 0x7198, 0xf431, 0x5081, 0xf7d9, 0x9210, 0x0082, 0x9210, 0x007c, 0xe001, 0x1181, 0xe000, 0x9180, 0x0070, 0x1780, 0xf039, 0x1101, 0xc003, 0x9210, 0x0067, 0xde58, 0x9300, 0x0070, 0xe98c, 0xe091, 0x9701, 0xf7f1, 0x9100, 0x0068, 0xff00, 0xc017, 0x94f8, 0xe8e0, 0xe1f8, 0x54e0, 0x09f1, 0xe083, 0x9380, 0x0057, 0x95e8, 0x9730, 0xf7c1, 0x9210, 0x006b, 0x9210, 0x006a, 0xe088, 0x2ef8, 0xef8f, 0xef9f, 0xde69, 0x94fa, 0xf7d9, 0xde5a, 0xff01, 0xc005, 0xe38a, 0xe290, 0x9701, 0xf7f1, 0xde53, 0xff02, 0xc013, 0x98b9, 0xe282, 0xea91, 0x9701, 0xf7f1, 0x94f8, 0x9abb, 0xbe1b, 0xba15, 0x9210, 0x025f, 0xe7ea, 0xe1f8, 0x91e4, 0x2f8e, 0x5081, 0x3f8e, 0xf0c0, 0xc019, 0x9210, 0x0068, 0x9180, 0x0067, 0x708d, 0xf011, 0x98b9, 0xc001, 0x9ab9, 0x9180, 0x0066, 0x9190, 0x0067, 0x9601, 0x9390, 0x0067, 0x9380, 0x0066, 0x3680, 0x4e9a, 0xf408, 0xce91, 0xcfd6, 0xbfe1, 0x0000, 0xcc52, 0xcf22, 0xff5a, 0x7a18, 0x0840
-};
-
-uint16_t bootloader_address = 6272;
diff --git a/upgrade/generate-data.rb b/upgrade/generate-data.rb
deleted file mode 100644
index 875870c..0000000
--- a/upgrade/generate-data.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-require_relative "../ruby/micronucleus.rb"
-
-data = HexProgram.new(open ARGV.first)
-
-puts data.instance_variable_get(:@bytes).inspect
-
-data = data.bytes
-
-# find start address
-start_address = 16 # skip past baked in trampoline - upgrade firmware generates one anyway!
-# TODO: Verify jump table? or store it in the upgrade firmware for verbatim installation?
-start_address += 1 while data[start_address] == 0xFF
-
-raise "Seems to be junk data quite early in the bootloader" unless start_address > 100
-
-# trim blank padding data from start of data
-start_address.times { data.shift }
-
-# if data is an odd number of bytes make it even
-data.push 0xFF while (data.length % 2) != 0
-
-puts "Length: #{data.length}"
-puts "Start address: #{start_address}"
-
-File.open "bootloader_data.c", "w" do |file|
- file.puts "// This file contains the bootloader data itself and the address to"
- file.puts "// install the bootloader"
- file.puts "// Use generate-data.rb with ruby 1.9 or 2.0 to generate these"
- file.puts "// values from a hex file"
- file.puts "// Generated from #{ARGV.first} at #{Time.now} by #{ENV['USER']}"
- file.puts ""
- file.puts "const uint16_t bootloader_data[#{data.length / 2}] PROGMEM = {"
- file.puts data.each_slice(2).map { |big_end, little_end|
- "0x#{ ((little_end * 256) + big_end).to_s(16).rjust(4, '0') }"
- }.join(', ')
- file.puts "};"
- file.puts ""
- file.puts "uint16_t bootloader_address = #{start_address};"
-end \ No newline at end of file
diff --git a/upgrade/readme.txt b/upgrade/readme.txt
deleted file mode 100644
index 394e206..0000000
--- a/upgrade/readme.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Micronucleus Upgrade
-====================
-
-Upgrade is a virus-like payload you can upload via micronucleus (or other bootloaders!) to install a new version of micronucleus on the target chip. The upgrade program works by compiling the binary contents of a bootloader hex file in to a progmem array, then running on the chip bricking the device so it doesn't enter any existing bootloader anymore but instead runs the upgrade program exclusively. Next it erases and rewrites the bootloader in place at the same address the hex file specifies (BOOTLOADER_ADDRESS in the case of micronucleus). Once the bootloader has been rewritten, upgrade rewrites it's own interrupt vector table to point every interrupt including reset straight at the newly uploaded bootloader's interrupt vector table at whichever address it was installed.
-
-The program then emits a beep if a piezo speaker is connected between PB0 and PB1. If you have no speaker, use an LED with positive on PB0 (requires resistor). Premade upgrades are included in releases/ for micronucleus builds. Just upload one in the usual way and wait for the beep. Once you hear the beep, the chip will automatically reboot and should enumerate over USB as a micronucleus device, ready to accept a new program.
-
-Upgrade has only been tested with micronucleus - use it to upload other bootloaders at your own risk!
-
-Prerequesits
-============
-
-You'll need a few dependencies to start with:
-
- gem install libusb
-
-Also, you'll need avr-gcc. For OS X, it can be obtained from http://www.obdev.at/products/crosspack/download.html
-
-
-Creating an Upgrade
-===================
-
- ruby generate-data.rb my_new_bootloader.hex
- make clean; make
-
-Next upload the 'upgrade.hex' file generated in this folder, via whichever bootloader you're using, or an ISP or whatever - everything should work. If you're using micronucleus and have the command line tool installed: micronucleus --run upgrade.hex
-
-The generate-data.rb script requires Ruby 1.9 or newer to be installed. If you're using an older version of Mac OS X (before Mavericks), use homebrew to install ruby with 'brew install ruby' to get a recent version. On linuxes you can usually find a package called ruby1.9 in whichever installing thingy. On windows you're on your own!
-
-
-License
-=======
-
-Released under BSD license. Have fun!
diff --git a/upgrade/releases/micronucleus-1.03-upgrade.hex b/upgrade/releases/micronucleus-1.03-upgrade.hex
deleted file mode 100644
index 120e279..0000000
--- a/upgrade/releases/micronucleus-1.03-upgrade.hex
+++ /dev/null
@@ -1,179 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:1000800016C438C437C436C435C434C433C432C4C7
-:1000900031C430C42FC42EC42DC42CC42BC422C0E0
-:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
-:1000B00038C037C036C035C034C033C0040309046B
-:1000C00012011001FF000008D016530703010000C1
-:1000D0000001090212000101008032090400000041
-:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
-:1000F00000EB0F9307E00F9310E0A0E6B0E0EAEC0E
-:10010000FFE102C005900D92A636B107D9F710E0C5
-:10011000A6E6B0E001C01D92AA39B107E1F7DFD130
-:10012000C1C3BDCFA82FB92F80E090E041E050EAD5
-:10013000609530E009C02D9182279795879510F042
-:1001400084279527305EC8F36F5FA8F30895EADF30
-:100150008D939D930895A6E088279927AA9569F025
-:100160000197E1F3B399FCCFB39BFECF81E09927D0
-:10017000A6B3019611F0A871D9F70895CF93CFB720
-:10018000CF93C0915F02C03B21F4C0915E02C730A3
-:1001900021F0CF91CFBFCF9181CFCC27C395B39B17
-:1001A000E9F7B39B0BC0B39B09C0B39B07C0B39BDC
-:1001B00005C0B39B03C0B39B01C0D3C00F92DF93B4
-:1001C000C0917D00DD27CC57DF4F012EB39B03C0CC
-:1001D000DF910F90E6CF2F930F931F934F932FEF45
-:1001E0004F6F06B303FB20F95F933F9350E03BE072
-:1001F00065C016B30126502953FDC89556B3012793
-:1002000003FB25F92F7306B3B1F05027102713FB1A
-:1002100026F906B22230F0F000C016B3012703FB26
-:1002200027F90126502906B22430E8F54F772068D7
-:1002300016B30000F6CF50274F7D206206B2102F74
-:10024000000000C006B300265029102713FB26F932
-:1002500006B2E2CF4F7B06B3206400C0DACF01269E
-:100260005029187106B269F14E7F2160012F16B333
-:1002700028C0002650294D7F06B22260102F29C0C9
-:10028000012650294B7F06B22460012F2DC016B3E2
-:1002900001265029477F2860000006B22EC04F7EFD
-:1002A00006B3206130C0422706B349930026502987
-:1002B000102706B24FEF13FB20F9297F16B379F20E
-:1002C000187159F10126502906B2012703FB21F9C3
-:1002D000237F06B371F2002650293150D0F006B2C8
-:1002E000102713FB22F9277E16B351F2012650295D
-:1002F000012703FB06B223F92F7C49F2000006B365
-:10030000102713FB24F90026502906B22F7939F261
-:1003100070CF10E21ABF002717C03B503195C31BA6
-:10032000D04010E21ABF0881033CF9F00B34E9F029
-:1003300020917B001981110F1213EDCF093651F175
-:100340000D3211F0013E39F7009382003F915F9129
-:100350004F911F910F912F91DF910F90CAB7C5FD5B
-:100360001DCFCF91CFBFCF9118952091820022232E
-:1003700069F310918000112321F5343022F130937C
-:10038000800020937C0010917D003BE0311B309376
-:100390007D0019C00091800001309CF40AE5309185
-:1003A000600034FD11C000936000C0E7D0E010C0D1
-:1003B000052710E000C021C0052710E0C89508BB44
-:1003C00014C03AE501C032ED032EC0E0D0E032E0C7
-:1003D00017B31861C39A08B317BB58E120E84FEF71
-:1003E00020FF052708BB279517951C3F28F700001D
-:1003F0004552B0F720FF0527279508BB17951C3FEE
-:10040000B8F629913A9561F7077E10918100110F96
-:1004100008BBC250D04011F010937B0010E21ABF0D
-:10042000086017B3177E402F477E54E05A95F1F7C6
-:1004300008BB17BB48BB8ACF81E080936700F89464
-:10044000E0916E00F0916F00329785E08093570045
-:10045000E89507B600FCFDCF789408959C01E091E3
-:100460006E00F0916F00309749F1E430F105B1F082
-:1004700087E1EC3BF80739F420916A0030916B007A
-:100480002E5D3B4F0DC087E1EE3BF80749F420910C
-:100490006C0030916D002D5D3B4F02C02FED3BECA9
-:1004A000F89481E0090180935700E895112478942D
-:1004B0003296F0936F00E0936E00089581E180938F
-:1004C0005700E895EBCF8FEF9FEFC8DF80916E006C
-:1004D00090916F008F739070892BA9F7ADCF88E151
-:1004E0000FB6F89481BD11BC0FBEE0E0F0E085913D
-:1004F00094918F5D9B4C39F4E4E0F0E08591949108
-:100500008F5D9B4C09F0DFDF10926F0010926E0040
-:10051000AC9A8BB780628BBFBB9A88E893E1ECE919
-:10052000F1E03197F1F70197D1F7BB987894EE2479
-:10053000FF2410918000135017FDD0C080917D00E2
-:10054000CCE0D0E0C81BD109CC57DF4F80917C00B4
-:100550008D3209F08DC0183009F0BEC083EC809355
-:1005600070008AE580936000109269002881822FD4
-:1005700080769981882309F1992341F482E690E0FD
-:1005800090937F0080937E0024E068C0913051F406
-:100590008C819D8190936F0080936E0027FD59C0E0
-:1005A0009FEF58C080916600923011F4816001C0C5
-:1005B00084608093660020E051C08A8110927900A7
-:1005C000992331F410927A0089E790E022E03CC050
-:1005D000953019F48093810034C0963011F58B81E9
-:1005E000813019F482EE97E104C0823041F484EF47
-:1005F00097E190937F0080937E0022E10EC08330CC
-:1006000059F48A81882341F48EED97E190937F001D
-:1006100080937E0024E001C020E080E480936900A4
-:100620001DC0983019F483E890E009C0993019F49E
-:100630008093830006C09A3021F489E790E021E09E
-:1006400003C089E790E020E090937F0080937E00D4
-:1006500005C09E8180E88093690007C08F81882350
-:1006600019F49E81921708F0922F9093610034C084
-:100670008091690087FF30C080916E0090916F007B
-:10068000009739F48881998190936B0080936A0078
-:100690000DC08430910539F48881998190936D0063
-:1006A00080936C0003C0805C974138F48881998105
-:1006B000D5DE125011F02296DFCF80916E0090911E
-:1006C0006F008F739070892B39F48091660082607F
-:1006D000809366001092610010928000809160000B
-:1006E00084FF3CC0809161008F3FC1F1182F893099
-:1006F00008F018E0811B809361008091700098E8F9
-:100700008927809370001123E1F0E0917E00F09141
-:100710007F008091690086FF09C0912FA1E7B0E0BA
-:1007200084918D9331969150D9F707C0912FA1E70D
-:10073000B0E081918D939150E1F7F0937F00E093C9
-:100740007E0081E790E0612F02DD612F6C5F6C30ED
-:1007500019F08FEF809361006093600094E186B39D
-:10076000887131F49150D9F71092810010927B007A
-:1007700010E0992309F411E080916800811739F0A5
-:10078000112319F4F8944FD07894109368008CE9F1
-:1007900091E00197F1F780916600882319F0EE242B
-:1007A000FF2403C00894E11CF11C182F80FF14C023
-:1007B000F894E0ECF7E1E054F04083E080935700D8
-:1007C000E89507B600FCFDCF3097A9F710926F00AF
-:1007D00010926E0078DE789411FF0FC08AE390E2E9
-:1007E0000197F1F780916E0090916F008F73907078
-:1007F000892B11F068DE01C01FDE12FD08C01092C7
-:10080000660080E5E81683ECF80608F492CE82E2F2
-:1008100091EA0197F1F7F8941BBE15BA10925F02A6
-:1008200010925E023ACCFF920F931F93CF93DF9307
-:1008300080E8F82E00E0C0E0D0E0102F1F0D11BFBF
-:100840008ADC29E0843392070CF0102FF69421966D
-:10085000C830D10511F0012FF0CF115011BF1F5F2B
-:10086000012FEC0110C077DC8453994097FF03C03F
-:10087000909581959F4F8C179D0714F401B7EC015B
-:1008800081B78F5F81BF21B730E0812F90E0019663
-:100890008217930744F701BFDF91CF911F910F910A
-:1008A000FF900895F894FFCF5AFF17BC400800004E
-:1008B0000000000000000000000000000000000038
-:1008C00000000000000000000000000000001124F3
-:1008D0001FBECFE5D2E0DEBFCDBF10E0A0E6B0E0A6
-:1008E000ECE6FBE002C005900D92A236B107D9F705
-:1008F0001CD13AC1C5CB05C0EDE1F0E13197F1F76C
-:1009000001970097C9F70895AC01407C20E030E0E2
-:10091000F901E40FF51F85919491F901EE7FE60F3F
-:10092000F71F918380832E5F3F4F2034310581F77D
-:100930000895FC01E07C83E080935700E89507B6BA
-:1009400000FCFDCF0895CF93DF93EC01A0E0B0E071
-:10095000AD014C0F5D1FFB01EA0FFB1F80819181F0
-:1009600021E0FA010C0120935700E895112412961A
-:10097000A034B10569F785E0FE0180935700E89542
-:1009800007B600FCFDCFDF91CF910895DF93CF93A1
-:10099000CDB7DEB7C054D0400FB6F894DEBF0FBE5F
-:1009A000CDBF209160003091610036952795215090
-:1009B0003044FE01319621933193CE018F5B9F4FDE
-:1009C000E817F907C1F780E090E0B3DF80E090E03E
-:1009D000BE016F5F7F4FB7DFC05CDF4F0FB6F8948B
-:1009E000DEBF0FBECDBFCF91DF910895EF92FF9292
-:1009F0000F931F93DF93CF93CDB7DEB7C054D04092
-:100A00000FB6F894DEBF0FBECDBF00E010E035C0DA
-:100A10009B01359527957E010894E11CF11C88E027
-:100A2000AE3AB80738F0220F331FE20EF31E8FEFF5
-:100A30009FEF07C0FD0185919491220F331FE20EB5
-:100A4000F31EF701918380836E5F7F4F12966034AF
-:100A50007105F1F68091600090916100800F911F07
-:100A600068DF8091600090916100800F911FBE014E
-:100A70006F5F7F4F68DF005C1F4FF8E000341F0797
-:100A800031F0D801A256BF4F60E070E0C1CFC05C2A
-:100A9000DF4F0FB6F894DEBF0FBECDBFCF91DF9111
-:100AA0001F910F91FF90EF900895DF93CF93CDB7F3
-:100AB000DEB7C054D0400FB6F894DEBF0FBECDBF36
-:100AC00080E090E0BE016F5F7F4F1EDF80E090E02E
-:100AD000019680329105E1F78FEF9FEF9A8389832A
-:100AE00080E090E026DF80E090E0BE016F5F7F4F06
-:100AF0002ADFC05CDF4F0FB6F894DEBF0FBECDBF5C
-:100B0000CF91DF91089587B3836087BBC19820E0C0
-:100B10008DE190E1FC013197F1F7C19A0197F1F76E
-:100B2000C1982F5F2A3FA1F7089588B318BA87B3F9
-:100B30008FEF87BB8AEF90E0EDE1F0E13197F1F7BD
-:100B40000197D1F787B317BA8AEF90E0EDE1F0E1B2
-:100B50003197F1F70197D1F7F894A7DF47DF16DF58
-:0C0B6000D2DF80E090E00895F894FFCF11
-:020B6C00C017B0
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.04-upgrade.hex b/upgrade/releases/micronucleus-1.04-upgrade.hex
deleted file mode 100644
index 51417de..0000000
--- a/upgrade/releases/micronucleus-1.04-upgrade.hex
+++ /dev/null
@@ -1,180 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:100080001BC43DC43CC43BC43AC439C438C437C49F
-:1000900036C435C434C433C432C431C430C422C0BD
-:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
-:1000B00038C037C036C035C034C033C0040309046B
-:1000C00012011001FF000008D016530704010000C0
-:1000D0000001090212000101008032090400000041
-:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
-:1000F00000EB0F9307E00F9310E0A0E6B0E0E4ED13
-:10010000FFE102C005900D92A636B107D9F710E0C5
-:10011000A6E6B0E001C01D92AC39B107E1F7DFD12E
-:10012000C6C3BDCFA82FB92F80E090E041E050EAD0
-: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
-:100460007000F0917100309749F1E430F105B1F07E
-:1004700087E1EC3BF80739F420916C0030916D0076
-:100480002E5D3B4F0DC087E1EE3BF80749F420910C
-:100490006E0030916F002D5D3B4F02C02FED3BECA5
-:1004A000F89481E0090180935700E895112478942D
-:1004B0003296F0937100E0937000089581E180938B
-:1004C0005700E895EBCF8FEF9FEFC8DF809170006A
-:1004D000909171008F739070892BA9F7ADCF88E14F
-:1004E0000FB6F89481BD11BC0FBEE0E0F0E085913D
-:1004F00094918F5D9B4C39F4E4E0F0E08591949108
-:100500008F5D9B4C09F0DFDF10927100109270003C
-:10051000AC9A8BB780628BBFBB9A88E893E1ECE919
-:10052000F1E03197F1F70197D1F7BB9878941091EA
-:100530008200135017FDD4C080917F00CCE0D0E042
-:10054000C81BD109CA57DF4F80917E008D3209F058
-:1005500091C0183009F0C2C083EC809372008AE524
-:100560008093600010926B002881822F80769981A1
-:10057000882329F11092670010926600992341F4B4
-:1005800082E690E0909381008093800024E068C030
-:10059000913051F48C819D81909371008093700013
-:1005A00027FD59C09FEF58C080916800923011F428
-:1005B000816001C084608093680020E051C08A811E
-:1005C00010927B00992331F410927C008BE790E02D
-:1005D00022E03CC0953019F48093830034C09630FB
-:1005E00011F58B81813019F482EE97E104C08230DD
-:1005F00041F484EF97E1909381008093800022E1A1
-:100600000EC0833059F48A81882341F48EED97E13E
-:10061000909381008093800024E001C020E080E47A
-:1006200080936B001DC0983019F485E890E009C0F4
-:10063000993019F48093850006C09A3021F48BE735
-:1006400090E021E003C08BE790E020E090938100F0
-:100650008093800005C09E8180E880936B0007C076
-:100660008F81882319F49E81921708F0922F90931E
-:10067000610034C080916B0087FF30C080917000B2
-:1006800090917100009739F48881998190936D0061
-:1006900080936C000DC08430910539F48881998174
-:1006A00090936F0080936E0003C0805C974138F494
-:1006B00088819981D3DE125011F02296DFCF80918C
-:1006C0007000909171008F739070892B39F4809134
-:1006D000680082608093680010926100109282002E
-:1006E0008091600084FF3CC0809161008F3FC1F128
-:1006F000182F893008F018E0811B809361008091E9
-:10070000720098E88927809372001123E1F0E0914C
-:100710008000F091810080916B0086FF09C0912FCD
-:10072000A3E7B0E084918D9331969150D9F707C03B
-:10073000912FA3E7B0E081918D939150E1F7F09371
-:100740008100E093800083E790E0612F00DD612F5E
-:100750006C5F6C3019F08FEF8093610060936000E4
-:1007600094E186B3887131F49150D9F710928300E7
-:1007700010927D0010E0992309F411E080916A0045
-:10078000811739F0112319F4F89452D0789410930A
-:100790006A008CE991E00197F1F7809166009091F1
-:1007A00067000196909367008093660080916800CF
-:1007B000182F80FF14C0F894E0ECF7E1E054F0400B
-:1007C00083E080935700E89507B600FCFDCF309793
-:1007D000A9F7109271001092700075DE789411FFE5
-:1007E0000FC08AE390E20197F1F780917000909139
-:1007F00071008F739070892B11F065DE01C01CDED3
-:1008000012FD0AC010926800809166009091670006
-:10081000885A914608F48BCE82E291EA0197F1F76B
-:10082000F8941BBE15BA10925F0210925E0235CC8E
-:10083000FF920F931F93CF93DF9380E8F82E00E091
-:10084000C0E0D0E0102F1F0D11BF85DC29E08433FC
-:1008500092070CF0102FF6942196C830D10511F0B4
-:10086000012FF0CF115011BF1F5F012FEC0110C0FD
-:1008700072DC8453994097FF03C0909581959F4FF8
-:100880008C179D0714F401B7EC0181B78F5F81BF0E
-:1008900021B730E0812F90E001968217930744F74B
-:1008A00001BFDF91CF911F910F91FF900895F894B0
-:1008B000FFCF5AFF17BC40060000000000000000F8
-:1008C0000000000000000000000000000000000028
-:1008D000000000000000000011241FBECFE5D2E0A0
-:1008E000DEBFCDBF10E0A0E6B0E0E6E7FBE002C06F
-:1008F00005900D92A236B107D9F71CD13AC1C0CBF1
-:1009000005C0EDE1F0E13197F1F701970097C9F7E4
-:100910000895AC01407C20E030E0F901E40FF51FC0
-:1009200085919491F901EE7FE60FF71F9183808303
-:100930002E5F3F4F2034310581F70895FC01E07CA4
-:1009400083E080935700E89507B600FCFDCF08953B
-:10095000CF93DF93EC01A0E0B0E0AD014C0F5D1F41
-:10096000FB01EA0FFB1F8081918121E0FA010C015C
-:1009700020935700E89511241296A034B10569F729
-:1009800085E0FE0180935700E89507B600FCFDCF97
-:10099000DF91CF910895DF93CF93CDB7DEB7C054E9
-:1009A000D0400FB6F894DEBF0FBECDBF20916000DF
-:1009B000309161003695279521503044FE013196E3
-:1009C00021933193CE018F5B9F4FE817F907C1F751
-:1009D00080E090E0B3DF80E090E0BE016F5F7F4F8A
-:1009E000B7DFC05CDF4F0FB6F894DEBF0FBECDBFE0
-:1009F000CF91DF910895EF92FF920F931F93DF93B2
-:100A0000CF93CDB7DEB7C054D0400FB6F894DEBF59
-:100A10000FBECDBF00E010E035C09B013595279596
-:100A20007E010894E11CF11C88E0A83BB80738F06F
-:100A3000220F331FE20EF31E8FEF9FEF07C0FD0161
-:100A400085919491220F331FE20EF31EF7019183DB
-:100A500080836E5F7F4F129660347105F1F680914E
-:100A6000600090916100800F911F68DF80916000AD
-:100A700090916100800F911FBE016F5F7F4F68DF13
-:100A8000005C1F4FF8E000341F0731F0D801A25678
-:100A9000BF4F60E070E0C1CFC05CDF4F0FB6F8948D
-:100AA000DEBF0FBECDBFCF91DF911F910F91FF90A1
-:100AB000EF900895DF93CF93CDB7DEB7C054D04009
-:100AC0000FB6F894DEBF0FBECDBF80E090E0BE0150
-:100AD0006F5F7F4F1EDF80E090E0019680329105CE
-:100AE000E1F78FEF9FEF9A83898380E090E026DF24
-:100AF00080E090E0BE016F5F7F4F2ADFC05CDF4F78
-:100B00000FB6F894DEBF0FBECDBFCF91DF91089531
-:100B100087B3836087BBC19820E08DE190E1FC0141
-:100B20003197F1F7C19A0197F1F7C1982F5F2A3FEA
-:100B3000A1F7089588B318BA87B38FEF87BB8AEF00
-:100B400090E0EDE1F0E13197F1F70197D1F787B34C
-:100B500017BA8AEF90E0EDE1F0E13197F1F70197F4
-:100B6000D1F7F894A7DF47DF16DFD2DF80E090E00F
-:060B70000895F894FFCF88
-:020B7600C017A6
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.05-jumper-upgrade.hex b/upgrade/releases/micronucleus-1.05-jumper-upgrade.hex
deleted file mode 100644
index 278a0fb..0000000
--- a/upgrade/releases/micronucleus-1.05-jumper-upgrade.hex
+++ /dev/null
@@ -1,182 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:1000800029C44BC44AC449C448C447C446C445C42F
-:1000900044C443C442C441C440C43FC43EC422C05B
-:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
-:1000B00038C037C036C035C034C033C0040309046B
-:1000C00012011001FF000008D016530705010000BF
-:1000D0000001090212000101008032090400000041
-:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
-:1000F00000EB0F9307E00F9310E0A0E6B0E0E0EF15
-:10010000FFE102C005900D92A636B107D9F710E0C5
-:10011000A6E6B0E001C01D92AC39B107E1F7DFD12E
-:10012000D4C3BDCFA82FB92F80E090E041E050EAC2
-: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
-:100460007000F0917100309749F1E430F105B1F07E
-:1004700087E1EC3BF80739F420916C0030916D0076
-:100480002E5D3B4F0DC087E1EE3BF80749F420910C
-:100490006E0030916F002D5D3B4F02C02FED3BECA5
-:1004A000F89481E0090180935700E895112478942D
-:1004B0003296F0937100E0937000089581E180938B
-:1004C0005700E895EBCF8FEF9FEFC8DF809170006A
-:1004D000909171008F739070892BA9F7ADCF1F9306
-:1004E000CF93DF9388E10FB6F89481BD11BC0FBEA6
-:1004F000E0E0F0E0859194918F5D9B4C39F4E4E06D
-:10050000F0E0859194918F5D9B4C09F0DCDF1092B7
-:10051000710010927000BD9AC59A82E291EA01972B
-:10052000F1F786B382958695877080FD7DC1AC9A80
-:100530008BB780628BBFBB9A88E893E1ECE9F1E06E
-:100540003197F1F70197D1F7BB9878941091820019
-:10055000135017FDD4C080917F00CCE0D0E0C81BC1
-:10056000D109CA57DF4F80917E008D3209F091C0CA
-:10057000183009F0C2C083EC809372008AE5809342
-:10058000600010926B002881822F807699818823E9
-:1005900029F11092670010926600992341F482E6D7
-:1005A00090E0909381008093800024E068C09130B7
-:1005B00051F48C819D81909371008093700027FD90
-:1005C00059C09FEF58C080916800923011F481604B
-:1005D00001C084608093680020E051C08A8110923D
-:1005E0007B00992331F410927C008BE790E022E0AD
-:1005F0003CC0953019F48093830034C0963011F5D7
-:100600008B81813019F482EE97E104C0823041F48D
-:1006100084EF97E1909381008093800022E10EC0E7
-:10062000833059F48A81882341F48EED97E19093C9
-:1006300081008093800024E001C020E080E480936A
-:100640006B001DC0983019F485E890E009C099301E
-:1006500019F48093850006C09A3021F48BE790E06E
-:1006600021E003C08BE790E020E09093810080932D
-:10067000800005C09E8180E880936B0007C08F8159
-:10068000882319F49E81921708F0922F90936100AD
-:1006900034C080916B0087FF30C0809170009091D2
-:1006A0007100009739F48881998190936D0080934F
-:1006B0006C000DC08430910539F488819981909344
-:1006C0006F0080936E0003C0805C974138F488818E
-:1006D0009981C4DE125011F02296DFCF8091700014
-:1006E000909171008F739070892B39F4809168001C
-:1006F0008260809368001092610010928200809165
-:10070000600084FF3CC0809161008F3FC1F1182FD1
-:10071000893008F018E0811B80936100809172009D
-:1007200098E88927809372001123E1F0E09180001E
-:10073000F091810080916B0086FF09C0912FA3E7A3
-:10074000B0E084918D9331969150D9F707C0912FE5
-:10075000A3E7B0E081918D939150E1F7F093810090
-:10076000E093800083E790E0612FF1DC612F6C5F04
-:100770006C3019F08FEF809361006093600094E11A
-:1007800086B3887131F49150D9F71092830010929A
-:100790007D0010E0992309F411E080916A0081172F
-:1007A00039F0112319F4F89451D0789410936A0019
-:1007B0008CE991E00197F1F78091660090916700D4
-:1007C0000196909367008093660080916800182FCF
-:1007D00080FF14C0F894E0ECF7E1E054F04083E0CF
-:1007E00080935700E89507B600FCFDCF3097A9F736
-:1007F000109271001092700066DE789411FF0FC0A5
-:100800008AE390E20197F1F7809170009091710076
-:100810008F739070892B11F056DE01C00DDE12FD32
-:1008200003C01092680092CE82E291EA0197F1F73C
-:1008300018BA17BAF8941BBE15BA10925F0210923C
-:100840005E022BCCDF91CF911F910895FF920F9301
-:100850001F93CF93DF9380E8F82E00E0C0E0D0E054
-:10086000102F1F0D11BF77DC29E0843392070CF0A5
-:10087000102FF6942196C830D10511F0012FF0CF3A
-:10088000115011BF1F5F012FEC0110C064DC8453B5
-:10089000994097FF03C0909581959F4F8C179D07B6
-:1008A00014F401B7EC0181B78F5F81BF21B730E04D
-:1008B000812F90E001968217930744F701BFDF91E3
-:1008C000CF911F910F91FF900895F894FFCF5AFF99
-:1008D00017BC4008000000000000000000000000FD
-:1008E0000000000000000000000000000000000008
-:1008F0000000000011241FBECFE5D2E0DEBFCDBF57
-:1009000010E0A0E6B0E0ECE9FBE002C005900D923B
-:10091000A236B107D9F720D13FC1B2CB05C0EDE176
-:10092000F0E13197F1F701970097C9F70895AC010D
-:10093000407C20E030E0F901E40FF51F85919491AF
-:10094000F901EE7FE60FF71F918380832E5F3F4F03
-:100950002034310581F70895FC01E07C83E0809329
-:100960005700E89507B600FCFDCF0895CF93DF93BD
-:10097000EC01A0E0B0E0AD014C0F5D1FFB01EA0F00
-:10098000FB1F8081918121E0FA010C012093570027
-:10099000E89511241296A034B10569F785E0FE01AF
-:1009A00080935700E89507B600FCFDCFDF91CF910B
-:1009B0000895DF93CF93CDB7DEB7C054D0400FB6C4
-:1009C000F894DEBF0FBECDBF209160003091610072
-:1009D0003695279521503044FE013196219331936D
-:1009E000CE018F5B9F4FE817F907C1F780E090E0D9
-:1009F000B3DF80E090E0BE016F5F7F4FB7DFC05C88
-:100A0000DF4F0FB6F894DEBF0FBECDBFCF91DF91A1
-:100A10000895EF92FF920F931F93DF93CF93CDB77B
-:100A2000DEB7C054D0400FB6F894DEBF0FBECDBFC6
-:100A300000E010E035C09B01359527957E010894B4
-:100A4000E11CF11C88E0A43DB80738F0220F331FE9
-:100A5000E20EF31E8FEF9FEF07C0FD018591949189
-:100A6000220F331FE20EF31EF701918380836E5F26
-:100A70007F4F129660347105F1F68091600090917D
-:100A80006100800F911F68DF80916000909161008C
-:100A9000800F911FBE016F5F7F4F68DF005C1F4FAB
-:100AA000F8E000341F0731F0D801A256BF4F60E0D4
-:100AB00070E0C1CFC05CDF4F0FB6F894DEBF0FBE51
-:100AC000CDBFCF91DF911F910F91FF90EF900895CF
-:100AD000DF93CF93CDB7DEB7C054D0400FB6F894B4
-:100AE000DEBF0FBECDBF80E090E0BE016F5F7F4FE5
-:100AF0001EDF80E090E0019680329105E1F78FEFF4
-:100B00009FEF9A83898380E090E026DF80E090E089
-:100B1000BE016F5F7F4F2ADFC05CDF4F0FB6F894D6
-:100B2000DEBF0FBECDBFCF91DF91089587B3836045
-:100B300087BBC19820E08DE190E1FC013197F1F78E
-:100B4000C19A0197F1F7C1982F5F2A3FA1F7089545
-:100B5000E0E0F0E00995089588B318BA87B38FEF05
-:100B600087BB8AEF90E0EDE1F0E13197F1F7019773
-:100B7000D1F787B317BA8AEF90E0EDE1F0E1319752
-:100B8000F1F70197D1F7F894A3DF43DF12DFCEDF4F
-:0C0B9000DFDF80E090E00895F894FFCFD4
-:020B9C00C01780
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.05-upgrade.hex b/upgrade/releases/micronucleus-1.05-upgrade.hex
deleted file mode 100644
index f430323..0000000
--- a/upgrade/releases/micronucleus-1.05-upgrade.hex
+++ /dev/null
@@ -1,181 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:1000800022C444C443C442C441C440C43FC43EC467
-:100090003DC43CC43BC43AC439C438C437C422C08C
-:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
-:1000B00038C037C036C035C034C033C0040309046B
-:1000C00012011001FF000008D016530705010000BF
-:1000D0000001090212000101008032090400000041
-:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
-:1000F00000EB0F9307E00F9310E0A0E6B0E0E2EE14
-:10010000FFE102C005900D92A636B107D9F710E0C5
-:10011000A6E6B0E001C01D92AC39B107E1F7DFD12E
-:10012000CDC3BDCFA82FB92F80E090E041E050EAC9
-: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
-:100460007000F0917100309749F1E430F105B1F07E
-:1004700087E1EC3BF80739F420916C0030916D0076
-:100480002E5D3B4F0DC087E1EE3BF80749F420910C
-:100490006E0030916F002D5D3B4F02C02FED3BECA5
-:1004A000F89481E0090180935700E895112478942D
-:1004B0003296F0937100E0937000089581E180938B
-:1004C0005700E895EBCF8FEF9FEFC8DF809170006A
-:1004D000909171008F739070892BA9F7ADCF1F9306
-:1004E000CF93DF9388E10FB6F89481BD11BC0FBEA6
-:1004F000E0E0F0E0859194918F5D9B4C39F4E4E06D
-:10050000F0E0859194918F5D9B4C09F0DCDF1092B7
-:10051000710010927000AC9A8BB780628BBFBB9A4F
-:1005200088E893E1ECE9F1E03197F1F70197D1F731
-:10053000BB98789410918200135017FDD4C080911D
-:100540007F00CCE0D0E0C81BD109CA57DF4F8091B3
-:100550007E008D3209F091C0183009F0C2C083ECE2
-:10056000809372008AE58093600010926B0028816E
-:10057000822F80769981882329F11092670010924A
-:100580006600992341F482E690E090938100809385
-:10059000800024E068C0913051F48C819D8190935B
-:1005A00071008093700027FD59C09FEF58C0809163
-:1005B0006800923011F4816001C08460809368000B
-:1005C00020E051C08A8110927B00992331F410926F
-:1005D0007C008BE790E022E03CC0953019F48093DA
-:1005E000830034C0963011F58B81813019F482EE8E
-:1005F00097E104C0823041F484EF97E19093810049
-:100600008093800022E10EC0833059F48A818823D0
-:1006100041F48EED97E1909381008093800024E077
-:1006200001C020E080E480936B001DC0983019F475
-:1006300085E890E009C0993019F48093850006C0E0
-:100640009A3021F48BE790E021E003C08BE790E043
-:1006500020E0909381008093800005C09E8180E817
-:1006600080936B0007C08F81882319F49E819217B5
-:1006700008F0922F9093610034C080916B0087FF47
-:1006800030C08091700090917100009739F488819A
-:10069000998190936D0080936C000DC0843091051A
-:1006A00039F48881998190936F0080936E0003C024
-:1006B000805C974138F488819981D0DE125011F026
-:1006C0002296DFCF80917000909171008F739070AF
-:1006D000892B39F4809168008260809368001092C1
-:1006E0006100109282008091600084FF3CC0809184
-:1006F00061008F3FC1F1182F893008F018E0811B8D
-:10070000809361008091720098E88927809372003D
-:100710001123E1F0E0918000F091810080916B0065
-:1007200086FF09C0912FA3E7B0E084918D933196A5
-:100730009150D9F707C0912FA3E7B0E081918D9335
-:100740009150E1F7F0938100E093800083E790E01F
-:10075000612FFDDC612F6C5F6C3019F08FEF80939F
-:1007600061006093600094E186B3887131F4915028
-:10077000D9F71092830010927D0010E0992309F4BC
-:1007800011E080916A00811739F0112319F4F8946F
-:1007900056D0789410936A008CE991E00197F1F7B4
-:1007A0008091660090916700019690936700809316
-:1007B000660080916800182F80FF14C0F894E0EC68
-:1007C000F7E1E054F04083E080935700E89507B6E6
-:1007D00000FCFDCF3097A9F71092710010927000C5
-:1007E00072DE789411FF0FC08AE390E20197F1F76F
-:1007F00080917000909171008F739070892B11F02F
-:1008000062DE01C019DE12FD0AC0109268008091FC
-:100810006600909167008055934C08F48BCE82E27D
-:1008200091EA0197F1F7F8941BBE15BA10925F0296
-:1008300010925E0232CCDF91CF911F910895FF920A
-:100840000F931F93CF93DF9380E8F82E00E0C0E072
-:10085000D0E0102F1F0D11BF7EDC29E084339207FA
-:100860000CF0102FF6942196C830D10511F0012F0D
-:10087000F0CF115011BF1F5F012FEC0110C06BDCD6
-:100880008453994097FF03C0909581959F4F8C1793
-:100890009D0714F401B7EC0181B78F5F81BF21B7C9
-:1008A00030E0812F90E001968217930744F701BF53
-:1008B000DF91CF911F910F91FF900895F894FFCF92
-:1008C0005AFF17BC400800000000000000000000B4
-:1008D0000000000000000000000000000000000018
-:1008E00000000000000011241FBECFE5D2E0DEBFF3
-:1008F000CDBF10E0A0E6B0E0EEE8FBE002C005905E
-:100900000D92A236B107D9F720D13FC1B9CB05C0AE
-:10091000EDE1F0E13197F1F701970097C9F70895FC
-:10092000AC01407C20E030E0F901E40FF51F859137
-:100930009491F901EE7FE60FF71F918380832E5F7C
-:100940003F4F2034310581F70895FC01E07C83E0BE
-:1009500080935700E89507B600FCFDCF0895CF932C
-:10096000DF93EC01A0E0B0E0AD014C0F5D1FFB0197
-:10097000EA0FFB1F8081918121E0FA010C01209395
-:100980005700E89511241296A034B10569F785E067
-:10099000FE0180935700E89507B600FCFDCFDF917C
-:1009A000CF910895DF93CF93CDB7DEB7C054D04039
-:1009B0000FB6F894DEBF0FBECDBF2091600030911E
-:1009C00061003695279521503044FE0131962193E0
-:1009D0003193CE018F5B9F4FE817F907C1F780E095
-:1009E00090E0B3DF80E090E0BE016F5F7F4FB7DF44
-:1009F000C05CDF4F0FB6F894DEBF0FBECDBFCF9106
-:100A0000DF910895EF92FF920F931F93DF93CF939F
-:100A1000CDB7DEB7C054D0400FB6F894DEBF0FBEDE
-:100A2000CDBF00E010E035C09B01359527957E01D4
-:100A30000894E11CF11C88E0A63CB80738F0220FAE
-:100A4000331FE20EF31E8FEF9FEF07C0FD0185916C
-:100A50009491220F331FE20EF31EF70191838083DE
-:100A60006E5F7F4F129660347105F1F680916000E1
-:100A700090916100800F911F68DF809160009091DC
-:100A80006100800F911FBE016F5F7F4F68DF005CC8
-:100A90001F4FF8E000341F0731F0D801A256BF4FB6
-:100AA00060E070E0C1CFC05CDF4F0FB6F894DEBFEE
-:100AB0000FBECDBFCF91DF911F910F91FF90EF90AF
-:100AC0000895DF93CF93CDB7DEB7C054D0400FB6B3
-:100AD000F894DEBF0FBECDBF80E090E0BE016F5F37
-:100AE0007F4F1EDF80E090E0019680329105E1F7B4
-:100AF0008FEF9FEF9A83898380E090E026DF80E08C
-:100B000090E0BE016F5F7F4F2ADFC05CDF4F0FB602
-:100B1000F894DEBF0FBECDBFCF91DF91089587B3AC
-:100B2000836087BBC19820E08DE190E1FC013197A3
-:100B3000F1F7C19A0197F1F7C1982F5F2A3FA1F70A
-:100B40000895E0E0F0E00995089588B318BA87B3F6
-:100B50008FEF87BB8AEF90E0EDE1F0E13197F1F79D
-:100B60000197D1F787B317BA8AEF90E0EDE1F0E192
-:100B70003197F1F70197D1F7F894A3DF43DF12DF44
-:0E0B8000CEDFDFDF80E090E00895F894FFCF35
-:020B8E00C0178E
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.06-jumper-v2-upgrade.hex b/upgrade/releases/micronucleus-1.06-jumper-v2-upgrade.hex
deleted file mode 100644
index 019c7e0..0000000
--- a/upgrade/releases/micronucleus-1.06-jumper-v2-upgrade.hex
+++ /dev/null
@@ -1,185 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:1000800040C462C461C460C45FC45EC45DC45CC477
-:100090005BC45AC459C458C457C456C455C422C0BA
-:1000A00040C06CC03EC03DC03CC03BC03AC039C03F
-:1000B00038C037C036C035C034C033C0040309046B
-:1000C00012011001FF000008D016530706010000BE
-:1000D0000001090212000101008032090400000041
-:1000E0000000000011241FBECFE5D2E0DEBFCDBF6F
-:1000F00000EB0F9307E00F9310E0A0E6B0E0EEED09
-:10010000FFE102C005900D92A636B107D9F710E0C5
-:10011000A6E6B0E001C01D92AC39B107E1F7E7D126
-:10012000EBC3BDCFA82FB92F80E090E041E050EAAB
-: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
-:10052000710010927000C59A82E291EA0197F1F78A
-:10053000B5997DC1AC9A8BB780628BBFBB9A88E8B6
-:1005400093E1ECE9F1E03197F1F70197D1F7BB982E
-:10055000789410918200135017FDD4C080917F00D1
-:10056000CCE0D0E0C81BD109CA57DF4F80917E0094
-:100570008D3209F091C0183009F0C2C083EC80932D
-:1005800072008AE58093600010926B002881822FB0
-:1005900080769981882329F1109267001092660075
-:1005A000992341F482E690E090938100809380004B
-:1005B00024E068C0913051F48C819D81909371004A
-:1005C0008093700027FD59C09FEF58C0809168004C
-:1005D000923011F4816001C084608093680020E053
-:1005E00051C08A8110927B00992331F410927C00D3
-:1005F0008BE790E022E03CC0953019F480938300B3
-:1006000034C0963011F58B81813019F482EA97E17C
-:1006100004C0823041F484EB97E190938100809391
-:10062000800022E10EC0833059F48A81882341F48E
-:100630008EE997E1909381008093800024E001C0CF
-:1006400020E080E480936B001DC0983019F485E8A9
-:1006500090E009C0993019F48093850006C09A3063
-:1006600021F48BE790E021E003C08BE790E020E0ED
-:10067000909381008093800005C09E8180E88093E4
-:100680006B0007C08F81882319F49E81921708F0B0
-:10069000922F9093610034C080916B0087FF30C02F
-:1006A0008091700090917100009739F48881998150
-:1006B00090936D0080936C000DC08430910539F4E7
-:1006C0008881998190936F0080936E0003C0805859
-:1006D000974138F488819981C1DE125011F0229639
-:1006E000DFCF80917000909171008F739070892B93
-:1006F00039F48091680082608093680010926100F4
-:10070000109282008091600084FF3CC08091610063
-:100710008F3FC1F1182F893008F018E0811B8093BA
-:1007200061008091720098E88927809372001123FC
-:10073000E1F0E0918000F091810080916B0086FFF4
-:1007400009C0912FA3E7B0E084918D933196915029
-:10075000D9F707C0912FA3E7B0E081918D93915015
-:10076000E1F7F0938100E093800083E790E0612F50
-:10077000EEDC612F6C5F6C3019F08FEF80936100BD
-:100780006093600094E186B3887131F49150D9F799
-:100790001092830010927D0010E0992309F411E07B
-:1007A00080916A00811739F0112319F4F89465D00B
-:1007B000789410936A008CE991E00197F1F78091A9
-:1007C00066009091670001969093670080936600A1
-:1007D00080916800182F80FF14C0F894E0E8F7E1DA
-:1007E000E054F04083E080935700E89507B600FCA2
-:1007F000FDCF3097A9F710927100109270006BDE58
-:10080000789411FF0FC08AE390E20197F1F780918D
-:100810007000909171008F739070892B11F05BDEE6
-:1008200001C00ADE12FD03C01092680092CE82E27F
-:1008300091EA0197F1F718BAF8941BBE15BA109215
-:100840005F0210925E02EAE7F7E19491892F8150EE
-:100850008E3F20F00DC081B7815081BF81B79817BE
-:10086000D0F303C081B78F5F81BF81B78917D0F301
-:1008700014CCDF91CF911F910895FF920F931F9396
-:10088000CF93DF9380E8F82E00E0C0E0D0E0102F97
-:100890001F0D11BF60DC29E0843392070CF0102F8C
-:1008A000F6942196C830D10511F0012FF0CF1150E8
-:1008B00011BF1F5F012FEC0110C04DDC8453994024
-:1008C00097FF03C0909581959F4F8C179D0714F457
-:1008D00001B7EC0181B78F5F81BF21B730E0812F75
-:1008E00090E001968217930744F701BFDF91CF9103
-:1008F0001F910F91FF900895F894FFCF5AFF177C36
-:10090000400800000000000000000000000000009F
-:1009100000000000000000000000000000000000D7
-:10092000000011241FBECFE5D2E0DEBFCDBF10E036
-:10093000A0E6B0E0EAECFBE002C005900D92A23622
-:10094000B107D9F720D13FC19BCB05C0EDE1F0E164
-:100950003197F1F701970097C9F70895AC01407CF2
-:1009600020E030E0F901E40FF51F85919491F90141
-:10097000EE7FE60FF71F918380832E5F3F4F203479
-:10098000310581F70895FC01E07C83E080935700F6
-:10099000E89507B600FCFDCF0895CF93DF93EC01F7
-:1009A000A0E0B0E0AD014C0F5D1FFB01EA0FFB1FA3
-:1009B0008081918121E0FA010C0120935700E89594
-:1009C00011241296A034B10569F785E0FE018093E9
-:1009D0005700E89507B600FCFDCFDF91CF91089551
-:1009E000DF93CF93CDB7DEB7C054D0400FB6F894A5
-:1009F000DEBF0FBECDBF2091600030916100369503
-:100A0000279521503044FE01319621933193CE0138
-:100A10008F5B9F4FE817F907C1F780E090E0B3DFE5
-:100A200080E090E0BE016F5F7F4FB7DFC05CDF4FBB
-:100A30000FB6F894DEBF0FBECDBFCF91DF91089502
-:100A4000EF92FF920F931F93DF93CF93CDB7DEB753
-:100A5000C054D0400FB6F894DEBF0FBECDBF00E04B
-:100A600010E035C09B01359527957E010894E11C67
-:100A7000F11C89E0A230B80738F0220F331FE20ED4
-:100A8000F31E8FEF9FEF07C0FD0185919491220F18
-:100A9000331FE20EF31EF701918380836E5F7F4F59
-:100AA000129660347105F1F68091600090916100BA
-:100AB000800F911F68DF8091600090916100800F2E
-:100AC000911FBE016F5F7F4F68DF005C1F4FF8E032
-:100AD00000381F0731F0D801A256BF4F60E070E028
-:100AE000C1CFC05CDF4F0FB6F894DEBF0FBECDBFE5
-:100AF000CF91DF911F910F91FF90EF900895DF93B9
-:100B0000CF93CDB7DEB7C054D0400FB6F894DEBF58
-:100B10000FBECDBF80E090E0BE016F5F7F4F1EDF54
-:100B200080E090E0019680329105E1F78FEF9FEF32
-:100B30009A83898380E090E026DF80E090E0BE0128
-:100B40006F5F7F4F2ADFC05CDF4F0FB6F894DEBFC8
-:100B50000FBECDBFCF91DF91089587B3836087BB70
-:100B6000C19820E08DE190E1FC013197F1F7C19A45
-:100B70000197F1F7C1982F5F2A3FA1F70895E0E0B0
-:100B8000F0E00995089588B318BA87B38FEF87BB53
-:100B90008AEF90E0EDE1F0E13197F1F70197D1F7BD
-:100BA00087B317BA8AEF90E0EDE1F0E13197F1F702
-:100BB0000197D1F7F894A3DF43DF12DFCEDFDFDF49
-:0A0BC00080E090E00895F894FFCF64
-:020BCA00801792
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.06-upgrade.hex b/upgrade/releases/micronucleus-1.06-upgrade.hex
deleted file mode 100644
index 90ffe74..0000000
--- a/upgrade/releases/micronucleus-1.06-upgrade.hex
+++ /dev/null
@@ -1,185 +0,0 @@
-: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
diff --git a/upgrade/releases/micronucleus-1.10-ledpb1-upgrade.hex b/upgrade/releases/micronucleus-1.10-ledpb1-upgrade.hex
deleted file mode 100644
index d70f544..0000000
--- a/upgrade/releases/micronucleus-1.10-ledpb1-upgrade.hex
+++ /dev/null
@@ -1,168 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:10008000BEC3E8C3E7C3E6C3E5C3E4C3E3C3E2C357
-:10009000E1C3E0C3DFC3DEC3DDC3DCC3DBC317C022
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070A01000000010403090411249B
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0EAEDFFE102C005905A
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92AB39B207E1F7ECC1A82FB92F80E0FF
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917E00DD27CB57DF4F012EB39B03C00C
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F00020917C001981110F1213EDCF093651F1B5
-:100300000D3211F0013E39F7009383003F915F9168
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF9118952091830022236D
-:1003300069F310918100112321F5343022F13093BB
-:10034000810020937D0010917E003BE0311B3093B3
-:100350007E0019C00091810001309CF40AE53091C3
-:10036000600034FD11C000936000C1E7D0E010C010
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10918200110FD6
-:1003D00008BBC250D04011F010937C0010E21ABF4D
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000E0916A00F0916B00329785E0809357004D
-:10045000E89578940895E0916A00F0916B003097E8
-:1004600029F490936D0080936C0007C0E430F1058F
-:1004700039F490936F0080936E008FE39CEC1CC066
-:10048000EC3728E1F20739F480916C0090916D000F
-:100490008E539C4F11C0EE3728E1F20739F480915A
-:1004A0006E0090916F008D539C4F06C0EA3728E193
-:1004B000F20711F481B790E02FB7F894309721F448
-:1004C00031E130935700E89531E00C01309357004B
-:1004D000E89511243296F0936B00E0936A002FBFE9
-:1004E000089514BE88E10FB6F89481BD11BC0FBE0B
-:1004F000C198BB9A88E893E1ECE9F1E03197F1F714
-:100500000197D1F7BB98AC9A8BB780628BBF789478
-:1005100000918100035007FDBAC080917E00CCE0BD
-:10052000D0E0C81BD109CB57DF4F80917D008D32C1
-:1005300009F08EC0083009F0A8C083EC80937100E8
-:100540008AE580936000109269002881922F90764E
-:100550008981992319F110926700811108C082E600
-:1005600090E09093800080937F0014E067C081301A
-:1005700051F48C819D8190936B0080936A0027FDDC
-:1005800058C01FEF57C090916800823011F49160FD
-:1005900001C094609093680010E050C09A8110925E
-:1005A0007A00811106C010927B008AE790E012E089
-:1005B0003BC0853019F4909382002CC0863009F539
-:1005C0008B81813019F48AE998E104C0823041F4CA
-:1005D00088E898E19093800080937F0012E10DC03D
-:1005E000833051F4911108C08CEA98E19093800017
-:1005F00080937F0014E001C010E080E480936900E4
-:100600001DC0883059F0893019F49093840002C0DD
-:100610008A3039F08AE790E010E006C084E890E084
-:1006200002C08AE790E011E09093800080937F0001
-:1006300005C01E8180E88093690007C08F81811109
-:1006400004C08E81811708F4182F109361001DC01B
-:100650008091690087FF19C080916A0090916B00BA
-:100660008038984128F080916A008F7339F00DC06E
-:1006700089919991F0DE025079F7F5CF8091680069
-:1006800082608093680010926100109281008091D6
-:10069000600084FF43C0809161008F3F09F43EC039
-:1006A000082F893008F008E0801B8093610080915A
-:1006B000710098E8892780937100002319F1E09177
-:1006C0007F00F09180008091690086FF0BC0A2E757
-:1006D000B0E084918D93319682E790E0800F8A1389
-:1006E000F8CF0CC0CF01A2E7B0E0FC012191CF010F
-:1006F0002D9322E730E0200F2A13F7CFF0938000EC
-:10070000E0937F00602F82E790E014DD0C5F0C30F7
-:1007100019F08FEF809361000093600084E196B33D
-:10072000987131F48150D9F71092820010927C00B8
-:1007300001E0811100E080917000801739F0011113
-:1007400003C01092670058DE009370008CE991E0BE
-:100750000197F1F70091680000FF17C0F894E0E8F6
-:10076000F8E1E054F10983E080935700E895309771
-:10077000C1F710926B0010926A0088E0F82E8FEF9C
-:100780009FEF69DEFA94D9F75ADE01FF05C08AE3CC
-:1007900090E20197F1F753DE02FF13C0B99882E2AD
-:1007A00091EA0197F1F7F894BB9A1BBE15BA109223
-:1007B0005F02EAE7F8E1E4918E2F81508E3FC0F0AE
-:1007C00019C010926800809167008D7011F0B9987F
-:1007D00001C0B99A8091660090916700019690934C
-:1007E00067008093660080369A4E08F491CED6CF8B
-:1007F000E1BF000052CC22CF5AFF187A4008000017
-:1008000000000000000000000000000000000000E8
-:1008100000000000000000000000000000001124A3
-:100820001FBECFE5D2E0DEBFCDBF10E0A0E6B0E056
-:10083000EAEBFAE002C005900D92A236B107D9F7B3
-:1008400010E0A2E6B0E001C01D92A236B107E1F7C8
-:100850001CD131C115CC05C0EDE1F0E13197F1F7C4
-:1008600001970097C9F70895AC01407C80E090E0C3
-:10087000FC01E40FF51F25913491FC01EE7FE60F9A
-:10088000F71F2083318302968034910589F70895FC
-:10089000FC01E07C83E080935700E89507B600FCFC
-:1008A000FDCF0895CF93DF93EC01AB01DB0120E096
-:1008B00030E0FE01E41BF50BEA0FFB1F8D919D91CB
-:1008C00061E00C0160935700E89511242F5F3F4FC2
-:1008D0002032310571F785E0FE0180935700E895DD
-:1008E00007B600FCFDCFDF91CF910895CF93DF9342
-:1008F000CDB7DEB7C054D0400FB6F894DEBF0FBE00
-:10090000CDBF809160009091610096958795815050
-:100910009044FE0131969E012F5B3F4F819391934E
-:10092000E217F307D9F780E090E0B2DF80E090E0D3
-:10093000BE016F5F7F4FB6DFC05CDF4F0FB6F8942C
-:10094000DEBF0FBECDBFDF91CF9108950F931F93F0
-:10095000CF93DF93CDB7DEB7C054D0400FB6F89435
-:10096000DEBF0FBECDBF00E010E040C080E090E0F1
-:10097000F801E256FF4FE80FF91F9C0135952795C6
-:1009800047E0EE3FF40770F0F901EE0FFF1F21E0A2
-:1009900030E02C0F3D1FE20FF31F2FEF3FEF3183AD
-:1009A00020830DC045915491F901EE0FFF1F21E006
-:1009B00030E02C0F3D1FE20FF31F4083518302965E
-:1009C00080349105A9F68091600090916100800FBC
-:1009D000911F5EDF8091600090916100800F911FF8
-:1009E000BE016F5F7F4F5EDF005C1F4F37E0003856
-:1009F000130709F0BBCFC05CDF4F0FB6F894DEBF22
-:100A00000FBECDBFDF91CF911F910F910895CF936E
-:100A1000DF93CDB7DEB7C054D0400FB6F894DEBF39
-:100A20000FBECDBF80E090E0BE016F5F7F4F1CDF47
-:100A30008FEF9FEF9A83898380E090E029DF80E049
-:100A400090E0BE016F5F7F4F2DDFC05CDF4F0FB6C0
-:100A5000F894DEBF0FBECDBFDF91CF910895CF9345
-:100A600087B3836087BBC198CAEF81E090E0F3DE73
-:100A7000C19A81E090E0EFDEC198C150B1F7CF910B
-:100A80000895E0E0F0E00995089588B318BA87B3B7
-:100A90008FEF87BB8AEF90E0DEDE87B317BA8AEF6D
-:100AA00090E0D9DEF894B3DF51DF20DFD8DFE9DF53
-:0A0AB00080E090E00895F894FFCF75
-:020ABA008018A2
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.10-upgrade.hex b/upgrade/releases/micronucleus-1.10-upgrade.hex
deleted file mode 100644
index 9fb05a9..0000000
--- a/upgrade/releases/micronucleus-1.10-upgrade.hex
+++ /dev/null
@@ -1,167 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:10008000B5C3DFC3DEC3DDC3DCC3DBC3DAC3D9C39F
-:10009000D8C3D7C3D6C3D5C3D4C3D3C3D2C317C061
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070A01000000010403090411249B
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0E8ECFFE102C005905D
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92AB39B207E1F7ECC1A82FB92F80E0FF
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917E00DD27CB57DF4F012EB39B03C00C
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F00020917C001981110F1213EDCF093651F1B5
-:100300000D3211F0013E39F7009383003F915F9168
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF9118952091830022236D
-:1003300069F310918100112321F5343022F13093BB
-:10034000810020937D0010917E003BE0311B3093B3
-:100350007E0019C00091810001309CF40AE53091C3
-:10036000600034FD11C000936000C1E7D0E010C010
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10918200110FD6
-:1003D00008BBC250D04011F010937C0010E21ABF4D
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000E0916A00F0916B00329785E0809357004D
-:10045000E89578940895E0916A00F0916B003097E8
-:1004600029F490936D0080936C0007C0E430F1058F
-:1004700039F490936F0080936E008FE39CEC1CC066
-:10048000EC3728E1F20739F480916C0090916D000F
-:100490008E539C4F11C0EE3728E1F20739F480915A
-:1004A0006E0090916F008D539C4F06C0EA3728E193
-:1004B000F20711F481B790E02FB7F894309721F448
-:1004C00031E130935700E89531E00C01309357004B
-:1004D000E89511243296F0936B00E0936A002FBFE9
-:1004E000089514BE88E10FB6F89481BD11BC0FBE0B
-:1004F000BB9A88E893E1ECE9F1E03197F1F70197D5
-:10050000D1F7BB98AC9A8BB780628BBF789400917F
-:100510008100035007FDBAC080917E00CCE0D0E09E
-:10052000C81BD109CB57DF4F80917D008D3209F078
-:100530008EC0083009F0A8C083EC809371008AE572
-:1005400080936000109269002881922F90768981B3
-:10055000992319F110926700811108C082E690E09A
-:100560009093800080937F0014E067C0813051F445
-:100570008C819D8190936B0080936A0027FD58C009
-:100580001FEF57C090916800823011F4916001C054
-:1005900094609093680010E050C09A8110927A00A5
-:1005A000811106C010927B008AE790E012E03BC008
-:1005B000853019F4909382002CC0863009F58B8128
-:1005C000813019F48AE998E104C0823041F488E866
-:1005D00098E19093800080937F0012E10DC08330FA
-:1005E00051F4911108C08CEA98E1909380008093B7
-:1005F0007F0014E001C010E080E4809369001DC01A
-:10060000883059F0893019F49093840002C08A3000
-:1006100039F08AE790E010E006C084E890E002C07C
-:100620008AE790E011E09093800080937F0005C0FE
-:100630001E8180E88093690007C08F81811104C00A
-:100640008E81811708F4182F109361001DC08091CE
-:10065000690087FF19C080916A0090916B00803813
-:10066000984128F080916A008F7339F00DC089910C
-:100670009991F1DE025079F7F5CF809168008260A0
-:100680008093680010926100109281008091600058
-:1006900084FF43C0809161008F3F09F43EC0082F62
-:1006A000893008F008E0801B809361008091710020
-:1006B00098E8892780937100002319F1E0917F0069
-:1006C000F09180008091690086FF0BC0A2E7B0E046
-:1006D00084918D93319682E790E0800F8A13F8CF52
-:1006E0000CC0CF01A2E7B0E0FC012191CF012D9316
-:1006F00022E730E0200F2A13F7CFF0938000E09339
-:100700007F00602F82E790E015DD0C5F0C3019F060
-:100710008FEF809361000093600084E196B398713D
-:1007200031F48150D9F71092820010927C0001E0E0
-:10073000811100E080917000801739F0011103C031
-:100740001092670059DE009370008CE991E00197E8
-:10075000F1F70091680000FF17C0F894E0E8F8E1B5
-:10076000E054F10983E080935700E8953097C1F792
-:1007700010926B0010926A0088E0F82E8FEF9FEFC6
-:100780006ADEFA94D9F75BDE01FF05C08AE390E2E6
-:100790000197F1F754DE02FF12C082E291EA01975D
-:1007A000F1F7F894BB9A1BBE15BA10925F02EAE704
-:1007B000F8E1E4918E2F81508E3F88F012C01092A4
-:1007C00068008091660090916700019690936700A1
-:1007D0008093660080369A4E08F499CEDECFE1BF52
-:1007E00000005BCC2ACF5AFF187A400800000000B6
-:1007F00000000000000000000000000000000000F9
-:1008000000000000000000000000000011241FBED6
-:10081000CFE5D2E0DEBFCDBF10E0A0E6B0E0E8EA71
-:10082000FAE002C005900D92A236B107D9F710E0A8
-:10083000A2E6B0E001C01D92A236B107E1F71CD1DB
-:1008400031C11ECC05C0EDE1F0E13197F1F7019720
-:100850000097C9F70895AC01407C80E090E0FC016E
-:10086000E40FF51F25913491FC01EE7FE60FF71F91
-:100870002083318302968034910589F70895FC0125
-:10088000E07C83E080935700E89507B600FCFDCF3D
-:100890000895CF93DF93EC01AB01DB0120E030E062
-:1008A000FE01E41BF50BEA0FFB1F8D919D9161E0AA
-:1008B0000C0160935700E89511242F5F3F4F2032C1
-:1008C000310571F785E0FE0180935700E89507B682
-:1008D00000FCFDCFDF91CF910895CF93DF93CDB78B
-:1008E000DEB7C054D0400FB6F894DEBF0FBECDBF08
-:1008F0008091600090916100969587958150904419
-:10090000FE0131969E012F5B3F4F81939193E21739
-:10091000F307D9F780E090E0B2DF80E090E0BE011D
-:100920006F5F7F4FB6DFC05CDF4F0FB6F894DEBF5E
-:100930000FBECDBFDF91CF9108950F931F93CF933B
-:10094000DF93CDB7DEB7C054D0400FB6F894DEBF0A
-:100950000FBECDBF00E010E040C080E090E0F801A5
-:10096000E256FF4FE80FF91F9C013595279547E0A8
-:10097000EC3EF40770F0F901EE0FFF1F21E030E0CC
-:100980002C0F3D1FE20FF31F2FEF3FEF318320832A
-:100990000DC045915491F901EE0FFF1F21E030E0A9
-:1009A0002C0F3D1FE20FF31F4083518302968034CA
-:1009B0009105A9F68091600090916100800F911FD0
-:1009C0005EDF8091600090916100800F911FBE01F9
-:1009D0006F5F7F4F5EDF005C1F4F37E0003813070B
-:1009E00009F0BBCFC05CDF4F0FB6F894DEBF0FBE7F
-:1009F000CDBFDF91CF911F910F910895CF93DF93DA
-:100A0000CDB7DEB7C054D0400FB6F894DEBF0FBEEE
-:100A1000CDBF80E090E0BE016F5F7F4F1CDF8FEFA6
-:100A20009FEF9A83898380E090E029DF80E090E067
-:100A3000BE016F5F7F4F2DDFC05CDF4F0FB6F894B4
-:100A4000DEBF0FBECDBFDF91CF910895CF9387B3A7
-:100A5000836087BBC198CAEF81E090E0F3DEC19A62
-:100A600081E090E0EFDEC198C150B1F7CF910895D9
-:100A7000E0E0F0E00995089588B318BA87B38FEFE6
-:100A800087BB8AEF90E0DEDE87B317BA8AEF90E08B
-:100A9000D9DEF894B3DF51DF20DFD8DFE9DF80E073
-:080AA00090E00895F894FFCFE7
-:020AA8008018B4
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.11-entry-ext-reset-upgrade.hex b/upgrade/releases/micronucleus-1.11-entry-ext-reset-upgrade.hex
deleted file mode 100644
index a6a1236..0000000
--- a/upgrade/releases/micronucleus-1.11-entry-ext-reset-upgrade.hex
+++ /dev/null
@@ -1,165 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:10008000A5C3CFC3CEC3CDC3CCC3CBC3CAC3C9C31F
-:10009000C8C3C7C3C6C3C5C3C4C3C3C3C2C317C0D1
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070B01000000010403090411249A
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0E8EEFFE102C005905B
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92A639B207E1F7E2C1A82FB92F80E00E
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917900DD27C058DF4F012EB39B03C01B
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F000209177001981110F1213EDCF093651F1BA
-:100300000D3211F0013E39F700937E003F915F916D
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF91189520917E00222372
-:1003300069F310917C00112321F5343022F13093C0
-:100340007C0020937800109179003BE0311B3093C2
-:10035000790019C000917C0001309CF40AE53091CD
-:10036000600034FD11C000936000CCE6D0E010C006
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10917D00110FDB
-:1003D00008BBC250D04011F01093770010E21ABF52
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000F201329785E080935700E89578940895FB
-:10045000F201309729F4909368008093670007C0F9
-:10046000E430F10539F490936A00809369008FE5D8
-:100470009CEC1FC02CEB421628E1520639F4809107
-:100480006700909168008E559C4F13C02EEB42166A
-:1004900028E1520639F48091690090916A008D55E7
-:1004A0009C4F07C02AEB421628E1520611F481B78F
-:1004B00090E02FB7F89431E00C0130935700E895A5
-:1004C00011242F0182E0480E511C2FBF089504B65D
-:1004D00001FC14C0EDEBF8E1E491EF3F79F0F89402
-:1004E000BB9A1BBE15BA10925F02EAEBF8E1E491E9
-:1004F0008E2F81508E3F08F462C163C114BE88E123
-:1005000081BD87E081BDBB9A88E893E1ECE9F1E029
-:100510003197F1F70197D1F7BB98AC9A8BB780620E
-:100520008BBF7894712C8CE991E00197F1F7A89535
-:10053000312C60917C00162F135017FDB2C08091B2
-:100540007900CCE0D0E0C81BD109C058DF4F615022
-:10055000CE01DBDD8E3F9F4409F0A1C08091780081
-:100560008D3209F085C0183009F099C083EC809372
-:100570006C008AE580936000109266009881292FB4
-:10058000207689812223D1F0712C811108C082E666
-:1005900090E090937B0080937A0024E05FC08130EC
-:1005A00051F481E180935700E8954C805D8097FD80
-:1005B00050C02FEF4FC0382E20E050C09A811092CB
-:1005C0007500811106C01092760085E790E022E068
-:1005D0003BC0853019F490937D002CC0863009F51E
-:1005E0008B81813019F48AED98E104C0823041F4A6
-:1005F00088EC98E190937B0080937A0022E10DC013
-:10060000833051F4911108C08CEE98E190937B00F7
-:1006100080937A0024E001C020E080E480936600AB
-:100620001DC0883059F0893019F490937F0002C0C2
-:100630008A3039F085E790E020E006C08FE790E04F
-:1006400002C085E790E021E090937B0080937A00E0
-:1006500005C02E8180E88093660007C08F818111DC
-:1006600004C08E81821708F4282F2093610017C0E0
-:100670008091660087FF13C080EC481688E1580619
-:1006800020F0842D8F7339F00AC089919991E0DEB2
-:10069000125091F7F6CF95E0392E1092610010922A
-:1006A0007C008091600084FF42C0809161008F3F98
-:1006B00009F43DC0182F893008F018E0811B8093A1
-:1006C000610080916C0098E8892780936C00112369
-:1006D00011F1E0917A00F0917B008091660086FF35
-:1006E0000BC0ADE6B0E084918D9331968DE690E03D
-:1006F000810F8A13F8CF0BC0EF01ADE6B0E089910E
-:100700008D93FE018DE690E0810F8A13F8CFF09370
-:100710007B00E0937A00612F8DE690E00BDD1C5F9B
-:100720001C3019F08FEF809361001093600084E11A
-:1007300096B3987131F48150D9F710927D001092E0
-:100740007700C1E08111C0E080916B008C1729F027
-:10075000C11101C051DEC0936B00C30101963C0181
-:100760008035934C11F484E0382E232D3320E9F0AA
-:100770008AE390E20197F1F72230A9F4F894E0ECD3
-:10078000F8E1E054F10983E080935700E895309751
-:10079000C1F7412C512CC8E08FEF9FEF59DEC150BB
-:1007A000D9F74DDE02C02530E1F384E03812BBCE2C
-:1007B000EDEBF8E1E491EF3F09F4B5CE90CEE1BF67
-:1007C00000006BCCFFCF5AFF18BA400800000000B1
-:1007D0000000000000000000000000000000000019
-:1007E00000000000000000000000000011241FBEF7
-:1007F000CFE5D2E0DEBFCDBF10E0A0E6B0E0E8E894
-:10080000FAE002C005900D92A236B107D9F710E0C8
-:10081000A2E6B0E001C01D92A236B107E1F71CD1FB
-:1008200031C12ECC05C0EDE1F0E13197F1F7019730
-:100830000097C9F70895AC01407C80E090E0FC018E
-:10084000E40FF51F25913491FC01EE7FE60FF71FB1
-:100850002083318302968034910589F70895FC0145
-:10086000E07C83E080935700E89507B600FCFDCF5D
-:100870000895CF93DF93EC01AB01DB0120E030E082
-:10088000FE01E41BF50BEA0FFB1F8D919D9161E0CA
-:100890000C0160935700E89511242F5F3F4F2032E1
-:1008A000310571F785E0FE0180935700E89507B6A2
-:1008B00000FCFDCFDF91CF910895CF93DF93CDB7AB
-:1008C000DEB7C054D0400FB6F894DEBF0FBECDBF28
-:1008D0008091600090916100969587958150904439
-:1008E000FE0131969E012F5B3F4F81939193E2175A
-:1008F000F307D9F780E090E0B2DF80E090E0BE013E
-:100900006F5F7F4FB6DFC05CDF4F0FB6F894DEBF7E
-:100910000FBECDBFDF91CF9108950F931F93CF935B
-:10092000DF93CDB7DEB7C054D0400FB6F894DEBF2A
-:100930000FBECDBF00E010E040C080E090E0F801C5
-:10094000E256FF4FE80FF91F9C013595279547E0C8
-:10095000EC3CF40770F0F901EE0FFF1F21E030E0EE
-:100960002C0F3D1FE20FF31F2FEF3FEF318320834A
-:100970000DC045915491F901EE0FFF1F21E030E0C9
-:100980002C0F3D1FE20FF31F4083518302968034EA
-:100990009105A9F68091600090916100800F911FF0
-:1009A0005EDF8091600090916100800F911FBE0119
-:1009B0006F5F7F4F5EDF005C1F4F37E0003413072F
-:1009C00009F0BBCFC05CDF4F0FB6F894DEBF0FBE9F
-:1009D000CDBFDF91CF911F910F910895CF93DF93FA
-:1009E000CDB7DEB7C054D0400FB6F894DEBF0FBE0F
-:1009F000CDBF80E090E0BE016F5F7F4F1CDF8FEFC7
-:100A00009FEF9A83898380E090E029DF80E090E087
-:100A1000BE016F5F7F4F2DDFC05CDF4F0FB6F894D4
-:100A2000DEBF0FBECDBFDF91CF910895CF9387B3C7
-:100A3000836087BBC198CAEF81E090E0F3DEC19A82
-:100A400081E090E0EFDEC198C150B1F7CF910895F9
-:100A5000E0E0F0E00995089588B318BA87B38FEF06
-:100A600087BB8AEF90E0DEDE87B317BA8AEF90E0AB
-:100A7000D9DEF894B3DF51DF20DFD8DFE9DF80E093
-:080A800090E00895F894FFCF07
-:020A8800C01894
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex b/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex
deleted file mode 100644
index 979bbdf..0000000
--- a/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex
+++ /dev/null
@@ -1,166 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:10008000ABC3D5C3D4C3D3C3D2C3D1C3D0C3CFC3EF
-:10009000CEC3CDC3CCC3CBC3CAC3C9C3C8C317C0A7
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070B01000000010403090411249A
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0E4EFFFE102C005905E
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92A639B207E1F7E2C1A82FB92F80E00E
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917900DD27C058DF4F012EB39B03C01B
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F000209177001981110F1213EDCF093651F1BA
-:100300000D3211F0013E39F700937E003F915F916D
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF91189520917E00222372
-:1003300069F310917C00112321F5343022F13093C0
-:100340007C0020937800109179003BE0311B3093C2
-:10035000790019C000917C0001309CF40AE53091CD
-:10036000600034FD11C000936000CCE6D0E010C006
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10917D00110FDB
-:1003D00008BBC250D04011F01093770010E21ABF52
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000F201329785E080935700E89578940895FB
-:10045000F201309729F4909368008093670007C0F9
-:10046000E430F10539F490936A00809369008FE5D8
-:100470009CEC1FC02CEB421628E1520639F4809107
-:100480006700909168008E559C4F13C02EEB42166A
-:1004900028E1520639F48091690090916A008D55E7
-:1004A0009C4F07C02AEB421628E1520611F481B78F
-:1004B00090E02FB7F89431E00C0130935700E895A5
-:1004C00011242F0182E0480E511C2FBF0895B898C7
-:1004D000C09A8DE190E10197F1F7B09B15C0EDEB6B
-:1004E000F8E1E491EF3F81F0C098F894BB9A1BBE0D
-:1004F00015BA10925F02EAEBF8E1E4918E2F815079
-:100500008E3F08F462C163C114BE88E181BD87E0FB
-:1005100081BDBB9A88E893E1ECE9F1E03197F1F70E
-:100520000197D1F7BB98AC9A8BB780628BBF789458
-:10053000712C8CE991E00197F1F7A895312C60912D
-:100540007C00162F135017FDB2C080917900CCE0CB
-:10055000D0E0C81BD109C058DF4F6150CE01D5DDB6
-:100560008E3F9F4409F0A1C0809178008D3209F040
-:1005700085C0183009F099C083EC80936C008AE53F
-:1005800080936000109266009881292F20768981DF
-:100590002223D1F0712C811108C082E690E0909363
-:1005A0007B0080937A0024E05FC0813051F481E1C8
-:1005B00080935700E8954C805D8097FD50C02FEFE9
-:1005C0004FC0382E20E050C09A81109275008111E2
-:1005D00006C01092760085E790E022E03BC08530AF
-:1005E00019F490937D002CC0863009F58B81813001
-:1005F00019F48AED98E104C0823041F488EC98E166
-:1006000090937B0080937A0022E10DC0833051F4F7
-:10061000911108C08CEE98E190937B0080937A0052
-:1006200024E001C020E080E4809366001DC0883093
-:1006300059F0893019F490937F0002C08A3039F064
-:1006400085E790E020E006C08FE790E002C085E7F4
-:1006500090E021E090937B0080937A0005C02E818A
-:1006600080E88093660007C08F81811104C08E816D
-:10067000821708F4282F2093610017C0809166002C
-:1006800087FF13C080EC481688E1580620F0842DBF
-:100690008F7339F00AC089919991DADE125091F77F
-:1006A000F6CF95E0392E1092610010927C00809177
-:1006B000600084FF42C0809161008F3F09F43DC01B
-:1006C000182F893008F018E0811B80936100809119
-:1006D0006C0098E8892780936C00112311F1E09158
-:1006E0007A00F0917B008091660086FF0BC0ADE63A
-:1006F000B0E084918D9331968DE690E0810F8A135E
-:10070000F8CF0BC0EF01ADE6B0E089918D93FE010B
-:100710008DE690E0810F8A13F8CFF0937B00E09391
-:100720007A00612F8DE690E005DD1C5F1C3019F02A
-:100730008FEF809361001093600084E196B398710D
-:1007400031F48150D9F710927D0010927700C1E00A
-:100750008111C0E080916B008C1729F0C11101C09C
-:100760004BDEC0936B00C30101963C018035934C76
-:1007700011F484E0382E232D3320E9F08AE390E24F
-:100780000197F1F72230A9F4F894E0ECF8E1E05495
-:10079000F10983E080935700E8953097C1F7412C29
-:1007A000512CC8E08FEF9FEF53DEC150D9F747DEE1
-:1007B00002C02530E1F384E03812BBCEEDEBF8E166
-:1007C000E491EF3F09F4B5CE8FCEE1BF000065CCD8
-:1007D000FFCF5AFF18BA40080000000000000000D8
-:1007E0000000000000000000000000000000000009
-:1007F000000000000000000011241FBECFE5D2E081
-:10080000DEBFCDBF10E0A0E6B0E0E4E9FAE002C050
-:1008100005900D92A236B107D9F710E0A2E6B0E03C
-:1008200001C01D92A236B107E1F71CD131C128CC1D
-:1008300005C0EDE1F0E13197F1F701970097C9F7B5
-:100840000895AC01407C80E090E0FC01E40FF51FCE
-:1008500025913491FC01EE7FE60FF71F2083318351
-:1008600002968034910589F70895FC01E07C83E0CD
-:1008700080935700E89507B600FCFDCF0895CF930D
-:10088000DF93EC01AB01DB0120E030E0FE01E41B73
-:10089000F50BEA0FFB1F8D919D9161E00C016093B8
-:1008A0005700E89511242F5F3F4F2032310571F733
-:1008B00085E0FE0180935700E89507B600FCFDCF68
-:1008C000DF91CF910895CF93DF93CDB7DEB7C054BA
-:1008D000D0400FB6F894DEBF0FBECDBF8091600050
-:1008E000909161009695879581509044FE013196D4
-:1008F0009E012F5B3F4F81939193E217F307D9F746
-:1009000080E090E0B2DF80E090E0BE016F5F7F4F5B
-:10091000B6DFC05CDF4F0FB6F894DEBF0FBECDBFB1
-:10092000DF91CF9108950F931F93CF93DF93CDB7AE
-:10093000DEB7C054D0400FB6F894DEBF0FBECDBFB7
-:1009400000E010E040C080E090E0F801E256FF4F88
-:10095000E80FF91F9C013595279547E0E83DF4071E
-:1009600070F0F901EE0FFF1F21E030E02C0F3D1F6A
-:10097000E20FF31F2FEF3FEF318320830DC045912E
-:100980005491F901EE0FFF1F21E030E02C0F3D1FC5
-:10099000E20FF31F40835183029680349105A9F63C
-:1009A0008091600090916100800F911F5EDF8091C7
-:1009B000600090916100800F911FBE016F5F7F4FBB
-:1009C0005EDF005C1F4F37E00034130709F0BBCF38
-:1009D000C05CDF4F0FB6F894DEBF0FBECDBFDF9116
-:1009E000CF911F910F910895CF93DF93CDB7DEB7CD
-:1009F000C054D0400FB6F894DEBF0FBECDBF80E02C
-:100A000090E0BE016F5F7F4F1CDF8FEF9FEF9A83F7
-:100A1000898380E090E029DF80E090E0BE016F5F95
-:100A20007F4F2DDFC05CDF4F0FB6F894DEBF0FBEE7
-:100A3000CDBFDF91CF910895CF9387B3836087BBFC
-:100A4000C198CAEF81E090E0F3DEC19A81E090E0C6
-:100A5000EFDEC198C150B1F7CF910895E0E0F0E02A
-:100A60000995089588B318BA87B38FEF87BB8AEFCB
-:100A700090E0DEDE87B317BA8AEF90E0D9DEF89413
-:100A8000B3DF51DF20DFD8DFE9DF80E090E00895B9
-:040A9000F894FFCF08
-:020A9400C01888
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.11-ledpb1-upgrade.hex b/upgrade/releases/micronucleus-1.11-ledpb1-upgrade.hex
deleted file mode 100644
index f5944e2..0000000
--- a/upgrade/releases/micronucleus-1.11-ledpb1-upgrade.hex
+++ /dev/null
@@ -1,165 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:10008000A2C3CCC3CBC3CAC3C9C3C8C3C7C3C6C337
-:10009000C5C3C4C3C3C3C2C3C1C3C0C3BFC317C0E6
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070B01000000010403090411249A
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0E2EEFFE102C0059061
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92A639B207E1F7E2C1A82FB92F80E00E
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917900DD27C058DF4F012EB39B03C01B
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F000209177001981110F1213EDCF093651F1BA
-:100300000D3211F0013E39F700937E003F915F916D
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF91189520917E00222372
-:1003300069F310917C00112321F5343022F13093C0
-:100340007C0020937800109179003BE0311B3093C2
-:10035000790019C000917C0001309CF40AE53091CD
-:10036000600034FD11C000936000CCE6D0E010C006
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10917D00110FDB
-:1003D00008BBC250D04011F01093770010E21ABF52
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000F201329785E080935700E89578940895FB
-:10045000F201309729F4909368008093670007C0F9
-:10046000E430F10539F490936A00809369008FE5D8
-:100470009CEC1FC02CEB421628E1520639F4809107
-:100480006700909168008E559C4F13C02EEB42166A
-:1004900028E1520639F48091690090916A008D55E7
-:1004A0009C4F07C02AEB421628E1520611F481B78F
-:1004B00090E02FB7F89431E00C0130935700E895A5
-:1004C00011242F0182E0480E511C2FBF089514BE45
-:1004D00088E181BD87E081BDBB9A88E893E1ECE9C2
-:1004E000F1E03197F1F70197D1F7BB98AC9A8BB750
-:1004F00080628BBF7894C198712C8CE991E0019750
-:10050000F1F7A895312C60917C00162F135017FD40
-:10051000B2C080917900CCE0D0E0C81BD109C058AE
-:10052000DF4F6150CE01F1DD8E3F9F4409F0A1C045
-:10053000809178008D3209F085C0183009F099C09B
-:1005400083EC80936C008AE58093600010926600D3
-:100550009881292F207689812223D1F0712C811155
-:1005600008C082E690E090937B0080937A0024E0BC
-:100570005FC0813051F481E180935700E8954C8051
-:100580005D8097FD50C02FEF4FC0382E20E050C047
-:100590009A8110927500811106C01092760085E74D
-:1005A00090E022E03BC0853019F490937D002CC090
-:1005B000863009F58B81813019F48AED98E104C009
-:1005C000823041F488EC98E190937B0080937A002C
-:1005D00022E10DC0833051F4911108C08CEE98E1F6
-:1005E00090937B0080937A0024E001C020E080E4B7
-:1005F000809366001DC0883059F0893019F49093BB
-:100600007F0002C08A3039F085E790E020E006C024
-:100610008FE790E002C085E790E021E090937B00B7
-:1006200080937A0005C02E8180E88093660007C021
-:100630008F81811104C08E81821708F4282F2093A6
-:10064000610017C08091660087FF13C080EC4816D8
-:1006500088E1580620F0842D8F7339F00AC0899103
-:100660009991F6DE125091F7F6CF95E0392E10925F
-:10067000610010927C008091600084FF42C08091F4
-:1006800061008F3F09F43DC0182F893008F018E051
-:10069000811B8093610080916C0098E8892780938A
-:1006A0006C00112311F1E0917A00F0917B008091B0
-:1006B000660086FF0BC0ADE6B0E084918D93319665
-:1006C0008DE690E0810F8A13F8CF0BC0EF01ADE605
-:1006D000B0E089918D93FE018DE690E0810F8A1341
-:1006E000F8CFF0937B00E0937A00612F8DE690E0E5
-:1006F00021DD1C5F1C3019F08FEF80936100109397
-:10070000600084E196B3987131F48150D9F710926A
-:100710007D0010927700C1E08111C0E080916B00F4
-:100720008C1729F0C11101C067DEC0936B00C301B3
-:1007300001963C018035934C11F484E0382E872DCE
-:100740008D7011F0B99801C0B99A232D3320E9F0CA
-:100750008AE390E20197F1F72230A9F4F894E0ECF3
-:10076000F8E1E054F10983E080935700E895309771
-:10077000C1F7412C512CC8E08FEF9FEF69DEC150CB
-:10078000D9F75DDE02C02530E1F384E03812B5CE42
-:10079000EDEBF8E1E491EF3F09F4AFCEB998F894AE
-:1007A000BB9A1BBE15BA10925F02EAEBF8E1E49126
-:1007B0008E2F81508E3F10F4E1BF00006ECCFFCF32
-:1007C0005AFF18BA400800000000000000000000B6
-:1007D0000000000000000000000000000000000019
-:1007E00000000000000011241FBECFE5D2E0DEBFF4
-:1007F000CDBF10E0A0E6B0E0E2E8FAE002C005906C
-:100800000D92A236B107D9F710E0A2E6B0E001C020
-:100810001D92A236B107E1F71CD131C131CC05C020
-:10082000EDE1F0E13197F1F701970097C9F70895ED
-:10083000AC01407C80E090E0FC01E40FF51F2591C5
-:100840003491FC01EE7FE60FF71F2083318302967F
-:100850008034910589F70895FC01E07C83E0809362
-:100860005700E89507B600FCFDCF0895CF93DF93BE
-:10087000EC01AB01DB0120E030E0FE01E41BF50BF5
-:10088000EA0FFB1F8D919D9161E00C016093570071
-:10089000E89511242F5F3F4F2032310571F785E035
-:1008A000FE0180935700E89507B600FCFDCFDF916D
-:1008B000CF910895CF93DF93CDB7DEB7C054D0402A
-:1008C0000FB6F894DEBF0FBECDBF8091600090914F
-:1008D00061009695879581509044FE0131969E0166
-:1008E0002F5B3F4F81939193E217F307D9F780E095
-:1008F00090E0B2DF80E090E0BE016F5F7F4FB6DF37
-:10090000C05CDF4F0FB6F894DEBF0FBECDBFDF91E6
-:10091000CF9108950F931F93CF93DF93CDB7DEB799
-:10092000C054D0400FB6F894DEBF0FBECDBF00E07C
-:1009300010E040C080E090E0F801E256FF4FE80F81
-:10094000F91F9C013595279547E0E63CF40770F0C8
-:10095000F901EE0FFF1F21E030E02C0F3D1FE20FE9
-:10096000F31F2FEF3FEF318320830DC0459154914A
-:10097000F901EE0FFF1F21E030E02C0F3D1FE20FC9
-:10098000F31F40835183029680349105A9F680912C
-:10099000600090916100800F911F5EDF8091600088
-:1009A00090916100800F911FBE016F5F7F4F5EDFEE
-:1009B000005C1F4F37E00034130709F0BBCFC05C69
-:1009C000DF4F0FB6F894DEBF0FBECDBFDF91CF91E2
-:1009D0001F910F910895CF93DF93CDB7DEB7C05429
-:1009E000D0400FB6F894DEBF0FBECDBF80E090E0E0
-:1009F000BE016F5F7F4F1CDF8FEF9FEF9A8389836C
-:100A000080E090E029DF80E090E0BE016F5F7F4FE3
-:100A10002DDFC05CDF4F0FB6F894DEBF0FBECDBF39
-:100A2000DF91CF910895CF9387B3836087BBC1983F
-:100A3000CAEF81E090E0F3DEC19A81E090E0EFDE62
-:100A4000C198C150B1F7CF910895E0E0F0E0099569
-:100A5000089588B318BA87B38FEF87BB8AEF90E009
-:100A6000DEDE87B317BA8AEF90E0D9DEF894B3DF01
-:100A700051DF20DFD8DFE9DF80E090E00895F894CF
-:020A8000FFCFA6
-:020A8200C0189A
-:040000030000008079
-:00000001FF
diff --git a/upgrade/releases/micronucleus-1.11-upgrade.hex b/upgrade/releases/micronucleus-1.11-upgrade.hex
deleted file mode 100644
index 11060a0..0000000
--- a/upgrade/releases/micronucleus-1.11-upgrade.hex
+++ /dev/null
@@ -1,164 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
-:100080009AC3C4C3C3C3C2C3C1C3C0C3BFC3BEC377
-:10009000BDC3BCC3BBC3BAC3B9C3B8C3B7C317C01E
-:1000A00016C04CC014C009021200010100803209C0
-:1000B000040000000000000012011001FF00000811
-:1000C000D01653070B01000000010403090411249A
-:1000D0001FBECFE5D2E0CDBFDEBF00EB0F9307E040
-:1000E0000F9310E0A0E6B0E0E2EDFFE102C0059062
-:1000F0000D92A636B107D9F720E0A6E6B0E001C020
-:100100001D92A639B207E1F7E2C1A82FB92F80E00E
-:1001100090E041E050EA609530E009C02D918227DF
-:100120009795879510F084279527305EC8F36F5F09
-:10013000A8F30895EADF8D939D930895CF93CFB7E9
-:10014000CF93C0915F02C03B21F4C0915E02C730E3
-:1001500021F0CF91CFBFCF91A1CFCC27C395B39B37
-:10016000E9F7B39B0BC0B39B09C0B39B07C0B39B1C
-:1001700005C0B39B03C0B39B01C0D3C00F92DF93F4
-:10018000C0917900DD27C058DF4F012EB39B03C01B
-:10019000DF910F90E6CF2F930F931F934F932FEF85
-:1001A0004F6F06B303FB20F95F933F9350E03BE0B2
-:1001B00065C016B30126502953FDC89556B30127D3
-:1001C00003FB25F92F7306B3B1F05027102713FB5B
-:1001D00026F906B22230F0F000C016B3012703FB67
-:1001E00027F90126502906B22430E8F54F77206818
-:1001F00016B30000F6CF50274F7D206206B2102FB5
-:10020000000000C006B300265029102713FB26F972
-:1002100006B2E2CF4F7B06B3206400C0DACF0126DE
-:100220005029187106B269F14E7F2160012F16B373
-:1002300028C0002650294D7F06B22260102F29C009
-:10024000012650294B7F06B22460012F2DC016B322
-:1002500001265029477F2860000006B22EC04F7E3D
-:1002600006B3206130C0422706B3499300265029C7
-:10027000102706B24FEF13FB20F9297F16B379F24E
-:10028000187159F10126502906B2012703FB21F903
-:10029000237F06B371F2002650293150D0F006B208
-:1002A000102713FB22F9277E16B351F2012650299D
-:1002B000012703FB06B223F92F7C49F2000006B3A5
-:1002C000102713FB24F90026502906B22F7939F2A2
-:1002D00070CF10E21ABF002717C03B503195C31BE7
-:1002E000D04010E21ABF0881033CF9F00B34E9F06A
-:1002F000209177001981110F1213EDCF093651F1BA
-:100300000D3211F0013E39F700937E003F915F916D
-:100310004F911F910F912F91DF910F90CAB7C5FD9B
-:100320001DCFCF91CFBFCF91189520917E00222372
-:1003300069F310917C00112321F5343022F13093C0
-:100340007C0020937800109179003BE0311B3093C2
-:10035000790019C000917C0001309CF40AE53091CD
-:10036000600034FD11C000936000CCE6D0E010C006
-:10037000052710E000C021C0052710E0C89508BB84
-:1003800014C03AE501C032ED032EC0E0D0E032E007
-:1003900017B31861C39A08B317BB58E120E84FEFB1
-:1003A00020FF052708BB279517951C3F28F700005D
-:1003B0004552B0F720FF0527279508BB17951C3F2E
-:1003C000B8F629913A9561F7077E10917D00110FDB
-:1003D00008BBC250D04011F01093770010E21ABF52
-:1003E000086017B3177E402F477E54E05A95F1F707
-:1003F00008BB17BB48BB8ACFF8942FEFB0E8A0E446
-:100400004AE0B1BF000081EE9CE0B399FECFB39B00
-:10041000FECF0197B399FDCF97FF03C0BA1B81951B
-:1004200001C0BA0FA69529F4281710F031B7282F6C
-:10043000A1E0415031F731BF000078940895F8945D
-:10044000F201329785E080935700E89578940895FB
-:10045000F201309729F4909368008093670007C0F9
-:10046000E430F10539F490936A00809369008FE5D8
-:100470009CEC1FC02CEB421628E1520639F4809107
-:100480006700909168008E559C4F13C02EEB42166A
-:1004900028E1520639F48091690090916A008D55E7
-:1004A0009C4F07C02AEB421628E1520611F481B78F
-:1004B00090E02FB7F89431E00C0130935700E895A5
-:1004C00011242F0182E0480E511C2FBF089514BE45
-:1004D00088E181BD87E081BDBB9A88E893E1ECE9C2
-:1004E000F1E03197F1F70197D1F7BB98AC9A8BB750
-:1004F00080628BBF7894712C8CE991E00197F1F7C1
-:10050000A895312C60917C00162F135017FDB2C0B6
-:1005100080917900CCE0D0E0C81BD109C058DF4FF2
-:100520006150CE01F2DD8E3F9F4409F0A1C0809161
-:1005300078008D3209F085C0183009F099C083EC3D
-:1005400080936C008AE58093600010926600988129
-:10055000292F207689812223D1F0712C811108C0A6
-:1005600082E690E090937B0080937A0024E05FC065
-:10057000813051F481E180935700E8954C805D8093
-:1005800097FD50C02FEF4FC0382E20E050C09A8109
-:1005900010927500811106C01092760085E790E0F8
-:1005A00022E03BC0853019F490937D002CC086304A
-:1005B00009F58B81813019F48AED98E104C082300D
-:1005C00041F488EC98E190937B0080937A0022E1DB
-:1005D0000DC0833051F4911108C08CEE98E19093D6
-:1005E0007B0080937A0024E001C020E080E48093C7
-:1005F00066001DC0883059F0893019F490937F004F
-:1006000002C08A3039F085E790E020E006C08FE72D
-:1006100090E002C085E790E021E090937B0080931A
-:100620007A0005C02E8180E88093660007C08F8124
-:10063000811104C08E81821708F4282F2093610055
-:1006400017C08091660087FF13C080EC481688E1D0
-:10065000580620F0842D8F7339F00AC08991999142
-:10066000F7DE125091F7F6CF95E0392E1092610027
-:1006700010927C008091600084FF42C080916100F4
-:100680008F3F09F43DC0182F893008F018E0811B16
-:100690008093610080916C0098E8892780936C00BA
-:1006A000112311F1E0917A00F0917B0080916600B6
-:1006B00086FF0BC0ADE6B0E084918D9331968DE658
-:1006C00090E0810F8A13F8CF0BC0EF01ADE6B0E0E8
-:1006D00089918D93FE018DE690E0810F8A13F8CF0A
-:1006E000F0937B00E0937A00612F8DE690E022DDAD
-:1006F0001C5F1C3019F08FEF809361001093600035
-:1007000084E196B3987131F48150D9F710927D004D
-:1007100010927700C1E08111C0E080916B008C17CE
-:1007200029F0C11101C068DEC0936B00C3010196BE
-:100730003C018035934C11F484E0382E232D332076
-:10074000E9F08AE390E20197F1F72230A9F4F894F6
-:10075000E0ECF8E1E054F10983E080935700E8957C
-:100760003097C1F7412C512CC8E08FEF9FEF70DE1E
-:10077000C150D9F764DE02C02530E1F384E03812BD
-:10078000BBCEEDEBF8E1E491EF3F09F4B5CEF89480
-:10079000BB9A1BBE15BA10925F02EAEBF8E1E49136
-:1007A0008E2F81508E3F10F4E1BF000076CCFFCF3A
-:1007B0005AFF18BA400800000000000000000000C6
-:1007C0000000000000000000000000000000000029
-:1007D00000000000000011241FBECFE5D2E0DEBF04
-:1007E000CDBF10E0A0E6B0E0E2E7FAE002C005907D
-:1007F0000D92A236B107D9F710E0A2E6B0E001C031
-:100800001D92A236B107E1F71CD131C139CC05C028
-:10081000EDE1F0E13197F1F701970097C9F70895FD
-:10082000AC01407C80E090E0FC01E40FF51F2591D5
-:100830003491FC01EE7FE60FF71F2083318302968F
-:100840008034910589F70895FC01E07C83E0809372
-:100850005700E89507B600FCFDCF0895CF93DF93CE
-:10086000EC01AB01DB0120E030E0FE01E41BF50B05
-:10087000EA0FFB1F8D919D9161E00C016093570081
-:10088000E89511242F5F3F4F2032310571F785E045
-:10089000FE0180935700E89507B600FCFDCFDF917D
-:1008A000CF910895CF93DF93CDB7DEB7C054D0403A
-:1008B0000FB6F894DEBF0FBECDBF8091600090915F
-:1008C00061009695879581509044FE0131969E0176
-:1008D0002F5B3F4F81939193E217F307D9F780E0A5
-:1008E00090E0B2DF80E090E0BE016F5F7F4FB6DF47
-:1008F000C05CDF4F0FB6F894DEBF0FBECDBFDF91F7
-:10090000CF9108950F931F93CF93DF93CDB7DEB7A9
-:10091000C054D0400FB6F894DEBF0FBECDBF00E08C
-:1009200010E040C080E090E0F801E256FF4FE80F91
-:10093000F91F9C013595279547E0E63BF40770F0D9
-:10094000F901EE0FFF1F21E030E02C0F3D1FE20FF9
-:10095000F31F2FEF3FEF318320830DC0459154915A
-:10096000F901EE0FFF1F21E030E02C0F3D1FE20FD9
-:10097000F31F40835183029680349105A9F680913C
-:10098000600090916100800F911F5EDF8091600098
-:1009900090916100800F911FBE016F5F7F4F5EDFFE
-:1009A000005C1F4F37E00034130709F0BBCFC05C79
-:1009B000DF4F0FB6F894DEBF0FBECDBFDF91CF91F2
-:1009C0001F910F910895CF93DF93CDB7DEB7C05439
-:1009D000D0400FB6F894DEBF0FBECDBF80E090E0F0
-:1009E000BE016F5F7F4F1CDF8FEF9FEF9A8389837C
-:1009F00080E090E029DF80E090E0BE016F5F7F4FF4
-:100A00002DDFC05CDF4F0FB6F894DEBF0FBECDBF49
-:100A1000DF91CF910895CF9387B3836087BBC1984F
-:100A2000CAEF81E090E0F3DEC19A81E090E0EFDE72
-:100A3000C198C150B1F7CF910895E0E0F0E0099579
-:100A4000089588B318BA87B38FEF87BB8AEF90E019
-:100A5000DEDE87B317BA8AEF90E0D9DEF894B3DF11
-:100A600051DF20DFD8DFE9DF80E090E00895F894DF
-:020A7000FFCFB6
-:020A7200C018AA
-:040000030000008079
-:00000001FF
diff --git a/upgrade/technical details.txt b/upgrade/technical details.txt
deleted file mode 100644
index 45fa7ee..0000000
--- a/upgrade/technical details.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-Technical Details
-=================
-
-A summary of how 'upgrade' works
-
-
--- build process:
-
-1) Manually run the generate-data.rb ruby script with the new bootloader's hex file:
- ruby generate-data.rb new_firmware.hex
- If you have trouble running it, make sure you're using ruby version 1.9. 1.8 is too old!
-
- generate-data.rb creates the bootloader_data.c file, which defines some variables containing
- the entire raw byte data of the bootloader as an array stored in flash memory. It also
- calculates and writes in the start address of the bootloader. The hex file supplied can be any
- bootloader which works similarly to USBaspLoader-tiny85 - which is most (all?) tiny85 bootloaders
- and likely some for other avr chips which lack hardware bootloader stuff.
-
-2) Generate the hex file using make:
- make clean; make
-
- The upgrader hex file is built in the usual way, then combined with upgrade-prefix.hex (which
- I wrote by hand) to prefix a fake interrupt vector table in the start of the upgrader. This is
- necessary because bootloaders like micronucleus and Fast Tiny & Mega Bootloader only work with
- firmwares which begin with an interrupt vector table, because of the way they mangle the table
- to forward some interrupts to themselves.
-
-3) Upload the resulting upgrade.hex file to a chip you have some means of recovering. If all works
- correctly, consider now uploading it to other chips which maybe more difficult to recover but are
- otherwise identical.
-
-
--- how it works:
-
-Taking inspiration from computer viruses, when upgrade runs it goes through this process:
-
-1) Brick the chip:
- The first thing upgrade does is erase the ISR vector table. Erasing it sets the first page to
- 0xFF bytes - creating a NOP sled. If the chip looses power or otherwise resets, it wont enter
- the bootloader, sliding in to the upgrader restarting the process.
-
-2) erase and write bootloader:
- The flash pages for the new bootloader are erased and rewritten from start to finish.
-
-3) install the trampoline:
- The fake ISR table which was erased in step one is now written to - a trampoline is added, simply
- forwarding any requests to the new bootloader's interrupt vector table. At this point the viral
- upgrader has completed it's life cycle and has disabled itself. It should never run again, booting
- directly in to the bootloader instead.
-
-
diff --git a/upgrade/upgrade-prefix.hex b/upgrade/upgrade-prefix.hex
deleted file mode 100644
index bb908dc..0000000
--- a/upgrade/upgrade-prefix.hex
+++ /dev/null
@@ -1 +0,0 @@
-:1000000003C003C003C003C003C003C003C003C0D8
diff --git a/upgrade/upgrade.c b/upgrade/upgrade.c
deleted file mode 100644
index 698ed28..0000000
--- a/upgrade/upgrade.c
+++ /dev/null
@@ -1,176 +0,0 @@
-// Upgrade is an in-place firmware upgrader for tiny85 chips - just fill in the
-// 'bootloaderAddress' variable in bootloader_data.h, and the bootloaderData
-// progmem array with the bootloader data, and you're ready to go.
-//
-// Upgrade will firstly rewrite the interrupt vector table to disable the bootloader,
-// rewriting it to just run the upgrade app. Next it erases and writes each page of the
-// bootloader in sequence, erasing over any remaining pages leaving them set to 0xFFFF
-// Finally upgrader erases it's interrupt table again and fills it with RJMPs to
-// bootloaderAddress, effectively bridging the interrupts in to the new bootloader's
-// interrupts table.
-//
-// While upgrade has been written with attiny85 and micronucleus in mind, it should
-// work with other bootloaders and other chips with flash self program but no hardware
-// bootloader protection, where the bootloader exists at the end of flash
-//
-// Be very careful to not power down the AVR while upgrader is running.
-// If you connect a piezo between pb0 and pb1 you'll hear a bleep when the update
-// is complete. You can also connect an LED with pb0 positive and pb1 or gnd negative and
-// it will blink
-
-#include "./utils.h"
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include <avr/pgmspace.h>
-#include <avr/wdt.h>
-#include <avr/boot.h>
-#include "./bootloader_data.c"
-
-void secure_interrupt_vector_table(void);
-void write_new_bootloader(void);
-void forward_interrupt_vector_table(void);
-void beep(void);
-void reboot(void);
-
-void load_table(uint16_t address, uint16_t words[SPM_PAGESIZE / 2]);
-void erase_page(uint16_t address);
-void write_page(uint16_t address, uint16_t words[SPM_PAGESIZE / 2]);
-
-
-int main(void) {
- pinsOff(0xFF); // pull down all pins
- outputs(0xFF); // all to ground - force usb disconnect
- delay(250); // milliseconds
- inputs(0xFF); // let them float
- delay(250);
- cli();
-
- secure_interrupt_vector_table(); // reset our vector table to it's original state
- write_new_bootloader();
- forward_interrupt_vector_table();
-
- beep();
-
- reboot();
-
- return 0;
-}
-
-// erase first page, removing any interrupt table hooks the bootloader added when
-// upgrade was uploaded
-void secure_interrupt_vector_table(void) {
- uint16_t table[SPM_PAGESIZE / 2];
-
- load_table(0, table);
-
- // wipe out any interrupt hooks the bootloader rewrote
- int i = 0;
- while (i < SPM_PAGESIZE / 2) {
- table[0] = 0xFFFF;
- i++;
- }
-
- erase_page(0);
- write_page(0, table);
-}
-
-// erase bootloader's section and write over it with new bootloader code
-void write_new_bootloader(void) {
- uint16_t outgoing_page[SPM_PAGESIZE / 2];
- int iter = 0;
- while (iter < sizeof(bootloader_data)) {
-
- // read in one page's worth of data from progmem
- int word_addr = 0;
- while (word_addr < SPM_PAGESIZE) {
- int subaddress = ((int) bootloader_data) + iter + word_addr;
- if (subaddress >= ((int) bootloader_data) + sizeof(bootloader_data)) {
- outgoing_page[word_addr / 2] = 0xFFFF;
- } else {
- outgoing_page[word_addr / 2] = pgm_read_word(subaddress);
- }
-
- word_addr += 2;
- }
-
- // erase page in destination
- erase_page(bootloader_address + iter);
- // write updated page
- write_page(bootloader_address + iter, outgoing_page);
-
- iter += 64;
- }
-}
-
-// write in forwarding interrupt vector table
-void forward_interrupt_vector_table(void) {
- uint16_t vector_table[SPM_PAGESIZE / 2];
-
- int iter = 0;
- while (iter < SPM_PAGESIZE / 2) {
- // rjmp to bootloader_address's interrupt table
- vector_table[iter] = 0xC000 + (bootloader_address / 2) - 1;
- iter++;
- }
-
- erase_page(0);
- write_page(0, vector_table);
-}
-
-void load_table(uint16_t address, uint16_t words[SPM_PAGESIZE / 2]) {
- uint16_t subaddress = 0;
- address -= address % SPM_PAGESIZE; // round down to nearest page start
-
- while (subaddress < SPM_PAGESIZE) {
- words[subaddress / 2] = pgm_read_word(address + subaddress);
- subaddress += 2;
- }
-}
-
-void erase_page(uint16_t address) {
- boot_page_erase(address - (address % SPM_PAGESIZE));
- boot_spm_busy_wait();
-}
-
-void write_page(uint16_t address, uint16_t words[SPM_PAGESIZE / 2]) {
- // fill buffer
- uint16_t iter = 0;
- while (iter < SPM_PAGESIZE / 2) {
- boot_page_fill(address + (iter * 2), words[iter]);
- iter++;
- }
-
- boot_page_write(address);
- boot_spm_busy_wait(); // Wait until the memory is written.
-}
-
-// beep for a quarter of a second
-void beep(void) {
- outputs(pin(0) | pin(1));
- pinOff(1);
-
- byte i = 0;
- while (i < 250) {
- delay(1);
- pinOn(pin(0));
- delay(1);
- pinOff(pin(0));
- i++;
- }
-}
-
-void reboot(void) {
- void (*ptrToFunction)(); // pointer to a function
- ptrToFunction = 0x0000;
- (*ptrToFunction)(); // reset!
-}
-
-
-////////////// Add padding to start of program so no program code could reasonably be erased while program is running
-// this never needs to be called - avr-gcc stuff happening: http://www.nongnu.org/avr-libc/user-manual/mem_sections.html
-volatile void FakeISR (void) __attribute__ ((naked)) __attribute__ ((section (".init0")));
-volatile void FakeISR (void) {
- // 16 nops to pad out first section of program
- asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
- asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop");
-}
diff --git a/upgrade/utils.h b/upgrade/utils.h
deleted file mode 100644
index c84ee56..0000000
--- a/upgrade/utils.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <util/delay_basic.h>
-#include <avr/io.h>
-
-// For the niceness
-typedef unsigned char byte;
-typedef unsigned char boolean;
-
-// make bit & value, eg bit(5) #=> 0b00010000
-#define bit(number) _BV(number)
-#define pin(number) _BV(number)
-
-// USI serial aliases
-#define USIOutputPort PORTE
-#define USIInputPort PINE
-#define USIDirectionPort DDRE
-#define USIClockPin PE4
-#define USIDataInPin PE5
-#define USIDataOutPin PE6
-
-// booleans
-#define on 255
-#define off 0
-#define true 1
-#define false 0
-#define yes true
-#define no false
-
-// ensure a value is within the bounds of a minimum and maximum (inclusive)
-#define constrainUpper(value, max) (value > max ? max : value)
-#define constrainLower(value, min) (value < min ? min : value)
-#define constrain(value, min, max) constrainLower(constrainUpper(value, max), min)
-#define multiplyDecimal(a,b) (((a) * (b)) / 256)
-
-// set a pin on DDRB to be an input or an output - i.e. becomeOutput(pin(3));
-#define inputs(pinmap) DDRB &= ~(pinmap)
-#define outputs(pinmap) DDRB |= (pinmap)
-
-// turn some pins on or off
-#define pinsOn(pinmap) PORTB |= (pinmap)
-#define pinsOff(pinmap) PORTB &= ~(pinmap)
-#define pinsToggle(pinmap) PORTB ^= pinmap
-
-// turn a single pin on or off
-#define pinOn(pin) pinsOn(bit(pin))
-#define pinOff(pin) pinsOff(bit(pin))
-// TODO: Should be called pinToggle
-#define toggle(pin) pinsToggle(bit(pin))
-
-// delay a number of microseconds - or as close as we can get
-#if F_CPU == 16500000
- // special version to deal with half-mhz speed. in a resolution of 2us increments, rounded up
- // this loop has been tuned empirically with an oscilloscope and works in avr-gcc 4.5.1
- static inline void microdelay(int microseconds) {
- while (microseconds > 1) {
- // 16 nops
- asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");
- asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");
- // 16 nops
- asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");asm("NOP");
- asm("NOP");asm("NOP");asm("NOP");
-
-
- microseconds -= 2;
- }
- }
-#else
- #define microdelay(microseconds) _delay_loop_2(((microseconds) * (F_CPU / 100000)) / 40)
-#endif
-
-// delay in milliseconds - a custom implementation to avoid util/delay's tendancy to import floating point math libraries
-inline void delay(unsigned int ms) {
- while (ms > 0) {
- // delay for one millisecond (250*4 cycles, multiplied by cpu mhz)
- // subtract number of time taken in while loop and decrement and other bits
- _delay_loop_2((25 * F_CPU / 100000));
- ms--;
- }
-}
-
-
-
-// digital read returns 0 or 1
-#define get(pin) ((PINB >> pin) & 0b00000001)
-#define getBitmap(bitmap) (PINB & bitmap)
-static inline void set(byte pin, byte state) {
- if (state) { pinOn(pin); } else { pinOff(pin); }
- // alternatly:
- // PORTB = (PORTB & ~(bit(pin)) | ((state & 1) << pin);
-}
-