summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcpldcpu <cpldcpu@gmail.com>2015-06-06 19:18:07 +0200
committercpldcpu <cpldcpu@gmail.com>2015-06-06 19:18:07 +0200
commitf0d344d2686628c84f9ce860ac5f276909a0d44a (patch)
tree0e83ce72e51e34dde8a1c7fad8f4205a170cbcb6
parent616f5810f1ba98f3f963e4e8b947ad3c6bd9ea57 (diff)
downloadmicronucleus-f0d344d2686628c84f9ce860ac5f276909a0d44a.tar.gz
micronucleus-f0d344d2686628c84f9ce860ac5f276909a0d44a.tar.bz2
micronucleus-f0d344d2686628c84f9ce860ac5f276909a0d44a.zip
cleanup: Temporarily removed ruby and upload
-rw-r--r--ruby/dump.rb3
-rw-r--r--ruby/hex-to-bin.rb9
-rw-r--r--ruby/micronucleus.rb171
-rw-r--r--ruby/upload.rb33
-rw-r--r--upgrade/Makefile206
-rw-r--r--upgrade/bootloader_data.c11
-rw-r--r--upgrade/generate-data.rb39
-rw-r--r--upgrade/readme.txt25
-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
24 files changed, 0 insertions, 2902 deletions
diff --git a/ruby/dump.rb b/ruby/dump.rb
deleted file mode 100644
index 471d6d4..0000000
--- a/ruby/dump.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-`rm temp-dump.bin`
-`avrdude -c usbtiny -p t85 -U flash:r:temp-dump.bin:r`
-puts open('temp-dump.bin').read(30).bytes.to_a.map { |x| x.to_s(16) }.join(' ')
diff --git a/ruby/hex-to-bin.rb b/ruby/hex-to-bin.rb
deleted file mode 100644
index 528a50f..0000000
--- a/ruby/hex-to-bin.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-require_relative "../ruby/micronucleus.rb"
-
-# just converts a hex file to a binary file
-program = HexProgram.new open ARGV.first
-
-File.open ARGV.first.split('/').last.sub(/\.hex$/, '') + '.raw', 'w' do |file|
- file.write program.binary
- file.close
-end
diff --git a/ruby/micronucleus.rb b/ruby/micronucleus.rb
deleted file mode 100644
index 4b63af2..0000000
--- a/ruby/micronucleus.rb
+++ /dev/null
@@ -1,171 +0,0 @@
-require 'libusb'
-
-# Abstracts access to micronucleus avr tiny85 bootloader - can be used only to erase and upload bytes
-class Micronucleus
- Functions = [
- :get_info,
- :write_page,
- :erase_application,
- :run_program
- ]
-
- # return all micronucleus devices connected to computer
- def self.all
- usb = LIBUSB::Context.new
- usb.devices.select { |device|
- device.idVendor == 0x16d0 && device.idProduct == 0x0753
- }.map { |device|
- self.new(device)
- }
- end
-
- def initialize devref
- @device = devref
- end
-
- def info
- unless @info
- result = control_transfer(function: :get_info, dataIn: 4)
- flash_length, page_size, write_sleep = result.unpack('S>CC')
-
- @info = {
- flash_length: flash_length,
- page_size: page_size,
- pages: (flash_length.to_f / page_size).ceil,
- write_sleep: write_sleep.to_f / 1000.0,
- version: "#{@device.bcdDevice >> 8}.#{@device.bcdDevice & 0xFF}",
- version_numeric: @device.bcdDevice
- }
- end
-
- @info
- end
-
- def erase!
- puts "erasing"
- info = self.info
- control_transfer(function: :erase_application)
- info[:pages].times do
- sleep(info[:write_sleep]) # sleep for as many pages as the chip has to erase
- end
- puts "erased chip"
- end
-
- # upload a new program
- def program= bytestring
- info = self.info
- raise "Program too long!" if bytestring.bytesize > info[:flash_length]
- bytes = bytestring.bytes.to_a
- bytes.push(0xFF) while bytes.length < info[:flash_length]
-
- erase!
-
- address = 0
- bytes.each_slice(info[:page_size]) do |slice|
- slice.push(0xFF) while slice.length < info[:page_size] # ensure every slice is one page_size long - pad out if needed
-
- puts "uploading @ #{address} of #{bytes.length}"
- control_transfer(function: :write_page, wIndex: address, wValue: slice.length, dataOut: slice.pack('C*'))
- sleep(info[:write_sleep])
- address += slice.length
- end
- end
-
- def finished
- info = self.info
-
- puts "asking device to finish writing"
- control_transfer(function: :run_program)
- puts "waiting for device to finish"
-
- # sleep for as many pages as the chip could potentially need to write - this could be smarter
- info[:pages].times do
- sleep(info[:write_sleep])
- end
-
- @io.close
- @io = nil
- end
-
- def inspect
- "<MicroBoot #{info[:version]}: #{(info[:flash_length] / 1024.0).round(1)} kb programmable>"
- end
-
- protected
- # raw opened device
- def io
- unless @io
- @io = @device.open
- end
-
- @io
- end
-
- def control_transfer(opts = {})
- opts[:bRequest] = Functions.index(opts.delete(:function)) if opts[:function]
- io.control_transfer({
- wIndex: 0,
- wValue: 0,
- bmRequestType: usb_request_type(opts),
- timeout: 5000
- }.merge opts)
- end
-
- # calculate usb request type
- def usb_request_type opts #:nodoc:
- value = LIBUSB::REQUEST_TYPE_VENDOR | LIBUSB::RECIPIENT_DEVICE
- value |= LIBUSB::ENDPOINT_OUT if opts.has_key? :dataOut
- value |= LIBUSB::ENDPOINT_IN if opts.has_key? :dataIn
- return value
- end
-end
-
-class HexProgram
- def initialize input
- @bytes = Hash.new(0xFF)
- input = input.read if input.is_a? IO
- parse input
- end
-
- def binary
- bytes.pack('C*')
- end
-
- def bytes
- highest_address = @bytes.keys.max
-
- bytes = Array.new(highest_address + 1) { |index|
- @bytes[index]
- }
- end
-
- protected
-
- def parse input_text
- input_text.each_line do |line|
- next unless line.start_with? ':'
- line.chomp!
- length = line[1..2].to_i(16) # usually 16 or 32
- address = line[3..6].to_i(16) # 16-bit start address
- record_type = line[7..8].to_i(16)
- data = line[9... 9 + (length * 2)]
- checksum = line[9 + (length * 2).. 10 + (length * 2)].to_i(16)
- checksum_section = line[1...9 + (length * 2)]
-
- checksum_calculated = checksum_section.chars.to_a.each_slice(2).map { |slice|
- slice.join('').to_i(16)
- }.reduce(0, &:+)
-
- checksum_calculated = (((checksum_calculated % 256) ^ 0xFF) + 1) % 256
-
- raise "Hex file checksum mismatch @ #{line} should be #{checksum_calculated.to_s(16)}" unless checksum == checksum_calculated
-
- if record_type == 0 # data record
- data_bytes = data.chars.each_slice(2).map { |slice| slice.join('').to_i(16) }
- data_bytes.each_with_index do |byte, index|
- @bytes[address + index] = byte
- end
- end
- end
- end
-end \ No newline at end of file
diff --git a/ruby/upload.rb b/ruby/upload.rb
deleted file mode 100644
index 32aefa9..0000000
--- a/ruby/upload.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require_relative './micronucleus'
-
-if ARGV[0]
- if ARGV[0].end_with? '.hex'
- puts "parsing input file as intel hex"
- test_data = HexProgram.new(open ARGV[0]).binary
- else
- puts "parsing input file as raw binary"
- test_data = open(ARGV[0]).read
- end
-else
- raise "Pass intel hex or raw binary as argument to script"
-end
-
-#test_data += ("\xFF" * 64)
-
-puts "Plug in programmable device now: (waiting)"
-sleep 0.25 while Micronucleus.all.length == 0
-
-nucleus = Micronucleus.all.first
-puts "Attached to device: #{nucleus.inspect}"
-
-#puts "Attempting to write '#{test_data.inspect}' to first thinklet's program memory"
-#puts "Bytes: #{test_data.bytes.to_a.inspect}"
-sleep(0.25) # some time to think?
-puts "Attempting to write supplied program in to device's memory"
-nucleus.program = test_data
-
-puts "Great! Starting program..."
-
-
-nucleus.finished # let thinklet know it can go do other things now if it likes
-puts "All done!"
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 0073ad9..0000000
--- a/upgrade/readme.txt
+++ /dev/null
@@ -1,25 +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!
-
-
-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);
-}
-