[libticalcs] 01/01: Imported Upstream version 1.1.8+dfsg1

Andreas B. Mundt andi at alioth.debian.org
Wed Aug 21 07:12:31 UTC 2013


This is an automated email from the git hooks/post-receive script.

andi pushed a commit to branch upstream
in repository libticalcs.

commit 32540bd5141e4ecbe7550dc986e017119690e6dd
Author: Andreas B. Mundt <andi at debian.org>
Date:   Wed Aug 21 00:02:51 2013 +0200

    Imported Upstream version 1.1.8+dfsg1
---
 src/rom73.h                     |  106 +----
 src/rom82.h                     |  160 +------
 src/rom83.h                     |   99 +----
 src/rom83p.h                    |  113 +----
 src/rom84p.h                    |  195 +--------
 src/rom85.h                     |  155 +------
 src/rom86.h                     |   88 +---
 src/rom89.h                     |  182 +-------
 src/rom89t.h                    |  219 +---------
 src/rom92f2.h                   |  161 +------
 src/romdump_84p_usb/romdump.z80 |  918 +++++++++++++++++++++++++++++++++++++++
 src/romdump_8x/data.asm         |   49 +++
 src/romdump_8x/defs.inc         |   40 ++
 src/romdump_8x/display.asm      |   96 ++++
 src/romdump_8x/display82.asm    |  138 ++++++
 src/romdump_8x/display85.asm    |  159 +++++++
 src/romdump_8x/font.asm         |  412 ++++++++++++++++++
 src/romdump_8x/link.asm         |  153 +++++++
 src/romdump_8x/link83p.asm      |   92 ++++
 src/romdump_8x/linksw.asm       |  227 ++++++++++
 src/romdump_8x/main.asm         |  238 ++++++++++
 src/romdump_8x/packet.asm       |  117 +++++
 src/romdump_8x/romdump.asm      |  324 ++++++++++++++
 src/romdump_8x/romdump.inc      |   35 ++
 src/romdump_8x/ti73defs.inc     |   81 ++++
 src/romdump_8x/ti82defs.inc     |   74 ++++
 src/romdump_8x/ti83defs.inc     |   71 +++
 src/romdump_8x/ti83pdefs.inc    |   93 ++++
 src/romdump_8x/ti85defs.inc     |   72 +++
 src/romdump_8x/ti86defs.inc     |   74 ++++
 src/romdump_8x/unlock73.asm     |  114 +++++
 src/romdump_8x/unlock83p.asm    |  167 +++++++
 32 files changed, 3754 insertions(+), 1468 deletions(-)

diff --git a/src/rom73.h b/src/rom73.h
index 3af6816..125070a 100644
--- a/src/rom73.h
+++ b/src/rom73.h
@@ -1,107 +1,3 @@
 static unsigned char romDump73[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x37, 0x33, 0x2a, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0b, 
-0x00, 0xf1, 0x02, 0x06, 0x52, 0x4f, 0x4d, 0x44, 
-0x55, 0x4d, 0x50, 0x00, 0xf1, 0x02, 0xef, 0x02, 
-0x5f, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 
-0x35, 0x3f, 0x2a, 0x5d, 0x9a, 0xe9, 0x01, 0xd5, 
-0x3f, 0x11, 0x2b, 0x01, 0x19, 0x11, 0x52, 0x8a, 
-0x01, 0xb6, 0x01, 0xed, 0xb0, 0xfd, 0xcb, 0x1f, 
-0xae, 0xfd, 0xcb, 0x08, 0x9e, 0xdb, 0x06, 0x32, 
-0x13, 0x86, 0xcd, 0x53, 0x8a, 0x3a, 0x13, 0x86, 
-0xd3, 0x06, 0x21, 0x00, 0x00, 0x22, 0x16, 0x86, 
-0x22, 0x18, 0x86, 0xef, 0xd7, 0x44, 0xef, 0xad, 
-0x44, 0x21, 0x00, 0x00, 0x22, 0xe2, 0x83, 0x21, 
-0xd2, 0x8b, 0xef, 0x71, 0x44, 0x11, 0x04, 0x00, 
-0xed, 0x53, 0xe2, 0x83, 0xef, 0x71, 0x44, 0xfb, 
-0x76, 0xef, 0x0f, 0x40, 0xfe, 0x37, 0x28, 0x2f, 
-0xcd, 0x6a, 0x8b, 0x28, 0xf2, 0xcd, 0xca, 0x8a, 
-0x38, 0x53, 0xed, 0x5b, 0x26, 0x86, 0x21, 0x55, 
-0xaa, 0xb7, 0xed, 0x52, 0x28, 0x09, 0x7a, 0xb7, 
-0x20, 0x43, 0x43, 0x10, 0x0a, 0x18, 0xd8, 0x21, 
-0x01, 0x00, 0xcd, 0x00, 0x8b, 0x18, 0xd0, 0x10, 
-0x10, 0x21, 0x02, 0x00, 0xcd, 0x00, 0x8b, 0xef, 
-0xad, 0x44, 0x21, 0x00, 0x00, 0x22, 0xe2, 0x83, 
-0xc9, 0x10, 0x20, 0x21, 0x04, 0x8c, 0x22, 0x1e, 
-0x86, 0x21, 0x04, 0x00, 0x22, 0x1c, 0x86, 0x21, 
-0x03, 0x00, 0xcd, 0x08, 0x8b, 0x21, 0x02, 0x04, 
-0x22, 0xe2, 0x83, 0x21, 0xfa, 0x8b, 0xef, 0x71, 
-0x44, 0x18, 0x9c, 0x10, 0x1b, 0x21, 0x07, 0x00, 
-0x22, 0xe2, 0x83, 0x21, 0xf2, 0x8b, 0xef, 0x71, 
-0x44, 0x2a, 0x16, 0x86, 0x23, 0x22, 0x16, 0x86, 
-0xef, 0x6e, 0x44, 0xcd, 0x5c, 0x8b, 0x18, 0xe1, 
-0x10, 0xe3, 0x2a, 0x2a, 0x86, 0x3a, 0x2c, 0x86, 
-0xcb, 0x24, 0x17, 0xcb, 0x24, 0x17, 0xd3, 0x06, 
-0x37, 0xcb, 0x1c, 0xcb, 0x3c, 0x22, 0x1e, 0x86, 
-0xcd, 0xc0, 0x8a, 0x20, 0x19, 0x67, 0x6f, 0x22, 
-0x22, 0x86, 0x21, 0x00, 0x04, 0x22, 0x20, 0x86, 
-0x21, 0x20, 0x86, 0x22, 0x1e, 0x86, 0x21, 0x04, 
-0x00, 0x11, 0x07, 0x00, 0x18, 0x06, 0x21, 0x00, 
-0x04, 0x11, 0x06, 0x00, 0x22, 0x1c, 0x86, 0xeb, 
-0xcd, 0x08, 0x8b, 0x3a, 0x13, 0x86, 0xd3, 0x06, 
-0x38, 0x9b, 0x21, 0x02, 0x00, 0x22, 0xe2, 0x83, 
-0x2a, 0x18, 0x86, 0x23, 0x22, 0x18, 0x86, 0xef, 
-0x6e, 0x44, 0x3e, 0x4b, 0xef, 0x6b, 0x44, 0x18, 
-0x9d, 0xe9, 0xef, 0x8e, 0x4b, 0x48, 0x47, 0x21, 
-0x91, 0x01, 0xb7, 0xed, 0x42, 0xd8, 0xf3, 0x3e, 
-0x1c, 0xd3, 0x06, 0x21, 0x00, 0x40, 0x44, 0x4d, 
-0x3e, 0xf5, 0xed, 0xb1, 0x37, 0xc0, 0xe5, 0xc5, 
-0x11, 0xb0, 0x8a, 0x06, 0x0c, 0x1a, 0xbe, 0x20, 
-0x0c, 0x23, 0x13, 0x10, 0xf8, 0x23, 0x23, 0x23, 
-0x87, 0x06, 0x04, 0x20, 0xf0, 0xc1, 0xe1, 0x20, 
-0xdf, 0xed, 0x73, 0x13, 0x86, 0x2b, 0xe5, 0x21, 
-0xaa, 0x8a, 0x22, 0x15, 0x86, 0x21, 0x15, 0x86, 
-0xe5, 0x11, 0x17, 0x86, 0xef, 0xfc, 0x46, 0x21, 
-0xf0, 0xff, 0x39, 0xeb, 0xe1, 0x01, 0x14, 0x00, 
-0xc9, 0xed, 0x7b, 0x13, 0x86, 0xaf, 0xc9, 0x3e, 
-0x01, 0x00, 0xf3, 0x00, 0x00, 0xed, 0x56, 0xf3, 
-0xd3, 0x14, 0xf3, 0xf1, 0xef, 0x54, 0x80, 0x7e, 
-0x01, 0x00, 0x04, 0xed, 0xa1, 0xe0, 0x28, 0xfb, 
-0xc9, 0x21, 0x00, 0x00, 0x11, 0x26, 0x86, 0x06, 
-0x04, 0xcd, 0x45, 0x8b, 0xd8, 0x3a, 0x29, 0x86, 
-0xc6, 0xff, 0xd8, 0x3a, 0x28, 0x86, 0xb7, 0x28, 
-0x0b, 0x47, 0xc6, 0xbf, 0xd8, 0x11, 0x2a, 0x86, 
-0xcd, 0x45, 0x8b, 0xd8, 0xe5, 0x11, 0x24, 0x86, 
-0x06, 0x02, 0xcd, 0x45, 0x8b, 0xd1, 0xd8, 0x2a, 
-0x24, 0x86, 0xed, 0x52, 0xc8, 0x37, 0xc9, 0xe5, 
-0x21, 0x00, 0x00, 0x22, 0x1c, 0x86, 0xe1, 0x22, 
-0x1a, 0x86, 0x21, 0x00, 0x00, 0x11, 0x1a, 0x86, 
-0x01, 0x04, 0x00, 0xcd, 0x2f, 0x8b, 0xd8, 0xed, 
-0x5b, 0x1e, 0x86, 0xed, 0x4b, 0x1c, 0x86, 0xcd, 
-0x2f, 0x8b, 0xd8, 0x22, 0x24, 0x86, 0x11, 0x24, 
-0x86, 0x01, 0x02, 0x00, 0x18, 0x00, 0x78, 0xb1, 
-0xc8, 0x0b, 0xc5, 0x1a, 0x13, 0x4f, 0x06, 0x00, 
-0x09, 0xd5, 0xe5, 0xcd, 0xa6, 0x8b, 0xe1, 0xd1, 
-0xc1, 0xd8, 0x18, 0xea, 0xc5, 0xe5, 0xd5, 0xcd, 
-0x70, 0x8b, 0xd1, 0xe1, 0x38, 0x0b, 0x06, 0x00, 
-0x09, 0x79, 0x12, 0x13, 0xc1, 0x10, 0xed, 0xb7, 
-0xc5, 0xc1, 0xc9, 0x06, 0xff, 0xf5, 0x3e, 0x00, 
-0xd3, 0x00, 0xfb, 0x76, 0x76, 0x10, 0xfb, 0xf1, 
-0xc9, 0xdb, 0x00, 0x2f, 0xe6, 0x03, 0xc9, 0xf3, 
-0x3e, 0x00, 0xd3, 0x00, 0x06, 0x08, 0x16, 0xff, 
-0xcd, 0x96, 0x8b, 0xd8, 0xc6, 0xfe, 0x3e, 0x02, 
-0x30, 0x03, 0xc0, 0x3e, 0x01, 0xd3, 0x00, 0xcb, 
-0x19, 0x14, 0xcd, 0x96, 0x8b, 0xd8, 0x3e, 0x00, 
-0xd3, 0x00, 0x10, 0xe2, 0xc9, 0x21, 0xff, 0xff, 
-0x2b, 0xdb, 0x00, 0xaa, 0xe6, 0x03, 0xc0, 0x7c, 
-0xb5, 0x20, 0xf5, 0x37, 0xc9, 0xf3, 0x06, 0x08, 
-0xcd, 0xbc, 0x8b, 0xd8, 0xcb, 0x19, 0x3e, 0x01, 
-0x30, 0x02, 0x3e, 0x02, 0x14, 0xcd, 0xc0, 0x8b, 
-0xd8, 0x10, 0xed, 0x3e, 0x00, 0x16, 0xff, 0xd3, 
-0x00, 0x21, 0xff, 0xff, 0x2b, 0xdb, 0x00, 0xaa, 
-0xe6, 0x03, 0xc8, 0x7c, 0xb5, 0x20, 0xf5, 0x37, 
-0xc9, 0x44, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x67, 
-0x20, 0x52, 0x4f, 0x4d, 0x2e, 0x2e, 0x2e, 0x00, 
-0xc1, 0x4d, 0x4f, 0x44, 0x45, 0x5d, 0x20, 0x74, 
-0x6f, 0x20, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 
-0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x3a, 
-0x00, 0x30, 0x4b, 0x20, 0x6f, 0x66, 0x20, 0x35, 
-0x31, 0x32, 0x4b, 0x00, 0x00, 0x08, 0x00, 0x2e, 
-0x2d, 
 };
-static unsigned int romDumpSize73 = 825;
+static unsigned int romDumpSize73 = 0;
diff --git a/src/rom82.h b/src/rom82.h
index 671dcb2..4c37745 100644
--- a/src/rom82.h
+++ b/src/rom82.h
@@ -1,161 +1,3 @@
 static unsigned char romDump82[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x32, 0x2a, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x04, 0x0b, 
-0x00, 0xa5, 0x04, 0x03, 0x24, 0x52, 0x44, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0xa5, 0x04, 0xa3, 0x04, 
-0x11, 0x65, 0x01, 0x19, 0x11, 0xa8, 0x82, 0x01, 
-0x06, 0x02, 0xed, 0xb0, 0x22, 0x34, 0x84, 0xed, 
-0x73, 0x1a, 0x82, 0x11, 0xde, 0xfc, 0x19, 0xcd, 
-0xa8, 0x82, 0x2a, 0x10, 0x8d, 0x22, 0x12, 0x8d, 
-0x2a, 0x0c, 0x8d, 0x22, 0x0e, 0x8d, 0x21, 0x08, 
-0x00, 0x39, 0x5e, 0x23, 0x56, 0x21, 0x06, 0x00, 
-0x19, 0x7e, 0x23, 0xae, 0x23, 0xae, 0xfe, 0xa1, 
-0x20, 0x03, 0x3e, 0x40, 0xe9, 0xe1, 0xe1, 0xe1, 
-0xf1, 0xd3, 0x02, 0x3e, 0x06, 0x32, 0x19, 0x82, 
-0xc9, 0xfd, 0xcb, 0x08, 0x9e, 0xdb, 0x02, 0x32, 
-0x28, 0x82, 0xcd, 0x53, 0x83, 0x21, 0x00, 0x00, 
-0x22, 0x2b, 0x82, 0x22, 0x2d, 0x82, 0xfd, 0xcb, 
-0x12, 0x86, 0xcd, 0x19, 0x84, 0x21, 0x00, 0x00, 
-0x22, 0x0c, 0x80, 0x21, 0x78, 0x84, 0xcd, 0x10, 
-0x84, 0x11, 0x04, 0x00, 0xed, 0x53, 0x0c, 0x80, 
-0xcd, 0x10, 0x84, 0xfb, 0x76, 0xf3, 0x21, 0x00, 
-0x80, 0x7e, 0x36, 0x00, 0xfe, 0x37, 0x28, 0x2f, 
-0xcd, 0x76, 0x83, 0x28, 0xee, 0xcd, 0xb3, 0x82, 
-0x38, 0x53, 0xed, 0x5b, 0x3b, 0x82, 0x21, 0x55, 
-0xaa, 0xb7, 0xed, 0x52, 0x28, 0x09, 0x7a, 0xb7, 
-0x20, 0x43, 0x43, 0x10, 0x0a, 0x18, 0xd4, 0x21, 
-0x01, 0x00, 0xcd, 0xe9, 0x82, 0x18, 0xcc, 0x10, 
-0x10, 0x21, 0x02, 0x00, 0xcd, 0xe9, 0x82, 0xcd, 
-0x19, 0x84, 0x21, 0x00, 0x00, 0x22, 0x0c, 0x80, 
-0xc9, 0x10, 0x20, 0x21, 0xaa, 0x84, 0x22, 0x33, 
-0x82, 0x21, 0x04, 0x00, 0x22, 0x31, 0x82, 0x21, 
-0x03, 0x00, 0xcd, 0xf1, 0x82, 0x21, 0x02, 0x04, 
-0x22, 0x0c, 0x80, 0x21, 0xa0, 0x84, 0xcd, 0x10, 
-0x84, 0x18, 0x98, 0x10, 0x1b, 0x21, 0x07, 0x00, 
-0x22, 0x0c, 0x80, 0x21, 0x98, 0x84, 0xcd, 0x10, 
-0x84, 0x2a, 0x2b, 0x82, 0x23, 0x22, 0x2b, 0x82, 
-0xcd, 0xe4, 0x83, 0xcd, 0x45, 0x83, 0x18, 0xe1, 
-0x10, 0xe3, 0x2a, 0x3f, 0x82, 0x3a, 0x41, 0x82, 
-0xcb, 0x24, 0x17, 0xcb, 0x24, 0x17, 0xe6, 0x07, 
-0xf6, 0x88, 0xd3, 0x02, 0x37, 0xcb, 0x1c, 0xcb, 
-0x3c, 0x22, 0x33, 0x82, 0xcd, 0xa9, 0x82, 0x20, 
-0x19, 0x67, 0x6f, 0x22, 0x37, 0x82, 0x21, 0x00, 
-0x04, 0x22, 0x35, 0x82, 0x21, 0x35, 0x82, 0x22, 
-0x33, 0x82, 0x21, 0x04, 0x00, 0x11, 0x07, 0x00, 
-0x18, 0x06, 0x21, 0x00, 0x04, 0x11, 0x06, 0x00, 
-0x22, 0x31, 0x82, 0xeb, 0xcd, 0xf1, 0x82, 0x3a, 
-0x28, 0x82, 0xd3, 0x02, 0x38, 0x97, 0x21, 0x02, 
-0x00, 0x22, 0x0c, 0x80, 0x2a, 0x2d, 0x82, 0x23, 
-0x22, 0x2d, 0x82, 0xcd, 0xe4, 0x83, 0x3e, 0x4b, 
-0xcd, 0x30, 0x84, 0x18, 0x99, 0xe9, 0x7e, 0x01, 
-0x00, 0x04, 0xed, 0xa1, 0xe0, 0x28, 0xfb, 0xc9, 
-0x21, 0x00, 0x00, 0x11, 0x3b, 0x82, 0x06, 0x04, 
-0xcd, 0x2e, 0x83, 0xd8, 0x3a, 0x3e, 0x82, 0xc6, 
-0xff, 0xd8, 0x3a, 0x3d, 0x82, 0xb7, 0x28, 0x0b, 
-0x47, 0xc6, 0xbf, 0xd8, 0x11, 0x3f, 0x82, 0xcd, 
-0x2e, 0x83, 0xd8, 0xe5, 0x11, 0x39, 0x82, 0x06, 
-0x02, 0xcd, 0x2e, 0x83, 0xd1, 0xd8, 0x2a, 0x39, 
-0x82, 0xed, 0x52, 0xc8, 0x37, 0xc9, 0xe5, 0x21, 
-0x00, 0x00, 0x22, 0x31, 0x82, 0xe1, 0x22, 0x2f, 
-0x82, 0x21, 0x00, 0x00, 0x11, 0x2f, 0x82, 0x01, 
-0x04, 0x00, 0xcd, 0x18, 0x83, 0xd8, 0xed, 0x5b, 
-0x33, 0x82, 0xed, 0x4b, 0x31, 0x82, 0xcd, 0x18, 
-0x83, 0xd8, 0x22, 0x39, 0x82, 0x11, 0x39, 0x82, 
-0x01, 0x02, 0x00, 0x18, 0x00, 0x78, 0xb1, 0xc8, 
-0x0b, 0xc5, 0x1a, 0x13, 0x4f, 0x06, 0x00, 0x09, 
-0xd5, 0xe5, 0xcd, 0xb5, 0x83, 0xe1, 0xd1, 0xc1, 
-0xd8, 0x18, 0xea, 0xc5, 0xe5, 0xd5, 0xcd, 0x7c, 
-0x83, 0xd1, 0xe1, 0x38, 0x0b, 0x06, 0x00, 0x09, 
-0x79, 0x12, 0x13, 0xc1, 0x10, 0xed, 0xb7, 0xc5, 
-0xc1, 0xc9, 0x06, 0xff, 0xf5, 0x3e, 0xc0, 0xd3, 
-0x00, 0xfb, 0x76, 0x76, 0x10, 0xfb, 0xf1, 0xc9, 
-0xf3, 0x3e, 0xc0, 0xd3, 0x00, 0x01, 0x03, 0xfe, 
-0x21, 0xd4, 0xe8, 0xdb, 0x00, 0xe6, 0x0c, 0x28, 
-0x06, 0x01, 0x0c, 0xf8, 0x21, 0xc1, 0xc2, 0x79, 
-0x32, 0x7a, 0x83, 0x78, 0x32, 0x8a, 0x83, 0x22, 
-0x29, 0x82, 0xc9, 0xdb, 0x00, 0x2f, 0xe6, 0x00, 
-0xc9, 0xf3, 0x3e, 0xc0, 0xd3, 0x00, 0x06, 0x08, 
-0x16, 0xff, 0xcd, 0xa4, 0x83, 0xd8, 0xc6, 0x00, 
-0x3a, 0x2a, 0x82, 0x30, 0x04, 0xc0, 0x3a, 0x29, 
-0x82, 0xd3, 0x00, 0xcb, 0x19, 0x14, 0xcd, 0xa4, 
-0x83, 0xd8, 0x3e, 0xc0, 0xd3, 0x00, 0x10, 0xe0, 
-0xc9, 0x21, 0xff, 0xff, 0x2b, 0xdb, 0x00, 0xaa, 
-0xcd, 0x79, 0x83, 0xc0, 0x7c, 0xb5, 0x20, 0xf4, 
-0x37, 0xc9, 0xf3, 0x06, 0x08, 0xcd, 0xcd, 0x83, 
-0xd8, 0xcb, 0x19, 0x3a, 0x29, 0x82, 0x30, 0x03, 
-0x3a, 0x2a, 0x82, 0x14, 0xcd, 0xd1, 0x83, 0xd8, 
-0x10, 0xeb, 0x3e, 0xc0, 0x16, 0xff, 0xd3, 0x00, 
-0x21, 0xff, 0xff, 0x2b, 0xdb, 0x00, 0xaa, 0xcd, 
-0x79, 0x83, 0xc8, 0x7c, 0xb5, 0x20, 0xf4, 0x37, 
-0xc9, 0x06, 0x05, 0xeb, 0x3e, 0x20, 0xcd, 0x30, 
-0x84, 0x10, 0xf9, 0x21, 0x0d, 0x80, 0x7e, 0xf5, 
-0x35, 0xeb, 0x01, 0x0a, 0x10, 0xaf, 0x29, 0x8f, 
-0xb9, 0x38, 0x02, 0x91, 0x2c, 0x10, 0xf7, 0xeb, 
-0xc6, 0x30, 0xcd, 0x30, 0x84, 0x35, 0x7a, 0xb3, 
-0x20, 0xe6, 0xf1, 0x77, 0xc9, 0x7e, 0x23, 0xb7, 
-0xc8, 0xcd, 0x30, 0x84, 0x18, 0xf7, 0x3e, 0x20, 
-0x4f, 0xcd, 0x6a, 0x84, 0x06, 0x40, 0xcd, 0x72, 
-0x84, 0xaf, 0xd3, 0x11, 0x10, 0xf8, 0x79, 0x3c, 
-0xfe, 0x2c, 0x38, 0xec, 0xc9, 0xe5, 0xd5, 0xc5, 
-0x21, 0x00, 0x00, 0x01, 0x08, 0x00, 0xbe, 0x28, 
-0x03, 0x09, 0x30, 0xfa, 0x23, 0xaf, 0xcd, 0x6a, 
-0x84, 0x11, 0x0d, 0x80, 0x1a, 0x3c, 0x12, 0x3d, 
-0xf6, 0x20, 0xcd, 0x6a, 0x84, 0x1b, 0x1a, 0x87, 
-0x87, 0x87, 0xf6, 0x80, 0xcd, 0x6a, 0x84, 0x06, 
-0x07, 0xcd, 0x72, 0x84, 0x7e, 0xd3, 0x11, 0x23, 
-0x10, 0xf7, 0xc1, 0xd1, 0xe1, 0x3e, 0x01, 0xf5, 
-0xcd, 0x72, 0x84, 0xf1, 0xd3, 0x10, 0xc9, 0xdb, 
-0x10, 0x87, 0x38, 0xfb, 0xc9, 0x44, 0x75, 0x6d, 
-0x70, 0x69, 0x6e, 0x67, 0x20, 0x52, 0x4f, 0x4d, 
-0x2e, 0x2e, 0x2e, 0x00, 0x5b, 0x4d, 0x4f, 0x44, 
-0x45, 0x5d, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x61, 
-0x6e, 0x63, 0x65, 0x6c, 0x00, 0x45, 0x72, 0x72, 
-0x6f, 0x72, 0x73, 0x3a, 0x00, 0x30, 0x4b, 0x20, 
-0x6f, 0x66, 0x20, 0x31, 0x32, 0x38, 0x4b, 0x00, 
-0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x0c, 0x0c, 0x3a, 0x00, 0x0c, 0x0c, 0x00, 
-0x0c, 0x0c, 0x00, 0x5b, 0x0c, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x0c, 0x5d, 0x18, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x18, 0x30, 0x1c, 0x22, 0x26, 0x2a, 
-0x32, 0x22, 0x1c, 0x31, 0x08, 0x18, 0x08, 0x08, 
-0x08, 0x08, 0x1c, 0x32, 0x1c, 0x22, 0x02, 0x04, 
-0x08, 0x10, 0x3e, 0x33, 0x3e, 0x04, 0x08, 0x04, 
-0x02, 0x22, 0x1c, 0x34, 0x04, 0x0c, 0x14, 0x24, 
-0x3e, 0x04, 0x04, 0x35, 0x3e, 0x20, 0x3c, 0x02, 
-0x02, 0x22, 0x1c, 0x36, 0x0c, 0x10, 0x20, 0x3c, 
-0x22, 0x22, 0x1c, 0x37, 0x3e, 0x02, 0x04, 0x08, 
-0x10, 0x10, 0x10, 0x38, 0x1c, 0x22, 0x22, 0x1c, 
-0x22, 0x22, 0x1c, 0x39, 0x1c, 0x22, 0x22, 0x1e, 
-0x02, 0x04, 0x18, 0x44, 0x3c, 0x22, 0x22, 0x22, 
-0x22, 0x22, 0x3c, 0x45, 0x3e, 0x20, 0x20, 0x3c, 
-0x20, 0x20, 0x3e, 0x49, 0x1c, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x1c, 0x4b, 0x22, 0x24, 0x28, 0x30, 
-0x28, 0x24, 0x22, 0x4d, 0x22, 0x36, 0x2a, 0x2a, 
-0x22, 0x22, 0x22, 0x4f, 0x1c, 0x22, 0x22, 0x22, 
-0x22, 0x22, 0x1c, 0x52, 0x3c, 0x22, 0x22, 0x3c, 
-0x28, 0x24, 0x22, 0x54, 0x3e, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x08, 0x58, 0x22, 0x22, 0x14, 0x08, 
-0x14, 0x22, 0x22, 0x61, 0x00, 0x00, 0x1c, 0x02, 
-0x1e, 0x22, 0x1e, 0x63, 0x00, 0x00, 0x1c, 0x20, 
-0x20, 0x22, 0x1c, 0x65, 0x00, 0x00, 0x1c, 0x22, 
-0x3e, 0x20, 0x1c, 0x66, 0x0c, 0x12, 0x10, 0x38, 
-0x10, 0x10, 0x10, 0x67, 0x00, 0x1e, 0x22, 0x22, 
-0x1e, 0x02, 0x1c, 0x69, 0x08, 0x00, 0x18, 0x08, 
-0x08, 0x08, 0x1c, 0x6c, 0x18, 0x08, 0x08, 0x08, 
-0x08, 0x08, 0x1c, 0x6d, 0x00, 0x00, 0x34, 0x2a, 
-0x2a, 0x22, 0x22, 0x6e, 0x00, 0x00, 0x2c, 0x32, 
-0x22, 0x22, 0x22, 0x6f, 0x00, 0x00, 0x1c, 0x22, 
-0x22, 0x22, 0x1c, 0x70, 0x00, 0x00, 0x3c, 0x22, 
-0x3c, 0x20, 0x20, 0x72, 0x00, 0x00, 0x2c, 0x32, 
-0x20, 0x20, 0x20, 0x73, 0x00, 0x00, 0x1c, 0x20, 
-0x1c, 0x02, 0x3c, 0x74, 0x10, 0x10, 0x38, 0x10, 
-0x10, 0x12, 0x0c, 0x75, 0x00, 0x00, 0x22, 0x22, 
-0x22, 0x26, 0x1a, 0xde, 0x86, 
 };
-static unsigned int romDumpSize82 = 1261;
+static unsigned int romDumpSize82 = 0;
diff --git a/src/rom83.h b/src/rom83.h
index 72eefe2..5a716d0 100644
--- a/src/rom83.h
+++ b/src/rom83.h
@@ -1,100 +1,3 @@
 static unsigned char romDump83[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x33, 0x2a, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x02, 0x0b, 
-0x00, 0xbb, 0x02, 0x06, 0x52, 0x4f, 0x4d, 0x44, 
-0x55, 0x4d, 0x50, 0x00, 0xbb, 0x02, 0xb9, 0x02, 
-0x43, 0x44, 0x32, 0x36, 0x34, 0x34, 0x32, 0x31, 
-0x31, 0x39, 0x30, 0x30, 0x31, 0x39, 0x45, 0x39, 
-0xd4, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x3f, 0x11, 
-0x37, 0x01, 0x19, 0x11, 0xe5, 0x82, 0x01, 0x63, 
-0x01, 0xed, 0xb0, 0xfd, 0xcb, 0x08, 0x9e, 0xdb, 
-0x02, 0x32, 0x65, 0x82, 0xdb, 0x00, 0xe6, 0x10, 
-0xf6, 0xc0, 0x32, 0x66, 0x82, 0x21, 0x00, 0x00, 
-0x22, 0x68, 0x82, 0x22, 0x6a, 0x82, 0xcd, 0x95, 
-0x47, 0xcd, 0x5d, 0x47, 0x21, 0x00, 0x00, 0x22, 
-0x0c, 0x80, 0x21, 0x12, 0x84, 0xcd, 0x0d, 0x47, 
-0x11, 0x04, 0x00, 0xed, 0x53, 0x0c, 0x80, 0xcd, 
-0x0d, 0x47, 0xfb, 0x76, 0xcd, 0x14, 0x40, 0xfe, 
-0x37, 0x28, 0x2f, 0xcd, 0xaa, 0x83, 0x28, 0xf2, 
-0xcd, 0xf0, 0x82, 0x38, 0x53, 0xed, 0x5b, 0x78, 
-0x82, 0x21, 0x55, 0xaa, 0xb7, 0xed, 0x52, 0x28, 
-0x09, 0x7a, 0xb7, 0x20, 0x43, 0x43, 0x10, 0x0a, 
-0x18, 0xd8, 0x21, 0x01, 0x00, 0xcd, 0x26, 0x83, 
-0x18, 0xd0, 0x10, 0x10, 0x21, 0x02, 0x00, 0xcd, 
-0x26, 0x83, 0xcd, 0x5d, 0x47, 0x21, 0x00, 0x00, 
-0x22, 0x0c, 0x80, 0xc9, 0x10, 0x20, 0x21, 0x44, 
-0x84, 0x22, 0x70, 0x82, 0x21, 0x04, 0x00, 0x22, 
-0x6e, 0x82, 0x21, 0x03, 0x00, 0xcd, 0x2e, 0x83, 
-0x21, 0x02, 0x04, 0x22, 0x0c, 0x80, 0x21, 0x3a, 
-0x84, 0xcd, 0x0d, 0x47, 0x18, 0x9c, 0x10, 0x1b, 
-0x21, 0x07, 0x00, 0x22, 0x0c, 0x80, 0x21, 0x32, 
-0x84, 0xcd, 0x0d, 0x47, 0x2a, 0x68, 0x82, 0x23, 
-0x22, 0x68, 0x82, 0xcd, 0x09, 0x47, 0xcd, 0x98, 
-0x83, 0x18, 0xe1, 0x10, 0xe3, 0x2a, 0x7c, 0x82, 
-0x3a, 0x7e, 0x82, 0xcb, 0x24, 0x17, 0xcb, 0x24, 
-0x17, 0xf5, 0xe6, 0x08, 0x07, 0xf6, 0xc0, 0xd3, 
-0x00, 0xf1, 0xe6, 0x07, 0xf6, 0x88, 0xd3, 0x02, 
-0x37, 0xcb, 0x1c, 0xcb, 0x3c, 0x22, 0x70, 0x82, 
-0xcd, 0xe6, 0x82, 0x20, 0x19, 0x67, 0x6f, 0x22, 
-0x74, 0x82, 0x21, 0x00, 0x04, 0x22, 0x72, 0x82, 
-0x21, 0x72, 0x82, 0x22, 0x70, 0x82, 0x21, 0x04, 
-0x00, 0x11, 0x07, 0x00, 0x18, 0x06, 0x21, 0x00, 
-0x04, 0x11, 0x06, 0x00, 0x22, 0x6e, 0x82, 0xeb, 
-0xcd, 0x2e, 0x83, 0x3a, 0x66, 0x82, 0xd3, 0x00, 
-0x3a, 0x65, 0x82, 0xd3, 0x02, 0x38, 0x89, 0x21, 
-0x02, 0x00, 0x22, 0x0c, 0x80, 0x2a, 0x6a, 0x82, 
-0x23, 0x22, 0x6a, 0x82, 0xcd, 0x09, 0x47, 0x3e, 
-0x4b, 0xcd, 0x05, 0x47, 0x18, 0x8b, 0xe9, 0x7e, 
-0x01, 0x00, 0x04, 0xed, 0xa1, 0xe0, 0x28, 0xfb, 
-0xc9, 0x21, 0x00, 0x00, 0x11, 0x78, 0x82, 0x06, 
-0x04, 0xcd, 0x77, 0x83, 0xd8, 0x3a, 0x7b, 0x82, 
-0xc6, 0xff, 0xd8, 0x3a, 0x7a, 0x82, 0xb7, 0x28, 
-0x0b, 0x47, 0xc6, 0xbf, 0xd8, 0x11, 0x7c, 0x82, 
-0xcd, 0x77, 0x83, 0xd8, 0xe5, 0x11, 0x76, 0x82, 
-0x06, 0x02, 0xcd, 0x77, 0x83, 0xd1, 0xd8, 0x2a, 
-0x76, 0x82, 0xed, 0x52, 0xc8, 0x37, 0xc9, 0xe5, 
-0x21, 0x00, 0x00, 0x22, 0x6e, 0x82, 0xe1, 0x22, 
-0x6c, 0x82, 0x21, 0x00, 0x00, 0x11, 0x6c, 0x82, 
-0x01, 0x04, 0x00, 0xcd, 0x55, 0x83, 0xd8, 0xed, 
-0x5b, 0x70, 0x82, 0xed, 0x4b, 0x6e, 0x82, 0xcd, 
-0x55, 0x83, 0xd8, 0x22, 0x76, 0x82, 0x11, 0x76, 
-0x82, 0x01, 0x02, 0x00, 0x18, 0x00, 0x78, 0xb1, 
-0xc8, 0x0b, 0xc5, 0xdb, 0x00, 0xe6, 0x10, 0xf6, 
-0xc0, 0xf5, 0x1a, 0x13, 0x4f, 0x06, 0x00, 0x09, 
-0xd5, 0xe5, 0xcd, 0xe6, 0x83, 0xe1, 0xd1, 0xc1, 
-0x0e, 0x00, 0xed, 0x41, 0xc1, 0xd8, 0x18, 0xde, 
-0xdb, 0x00, 0xe6, 0x10, 0xf6, 0xc0, 0x4f, 0xc5, 
-0xe5, 0xd5, 0xcd, 0xb0, 0x83, 0xd1, 0xe1, 0x38, 
-0x0b, 0x06, 0x00, 0x09, 0x79, 0x12, 0x13, 0xc1, 
-0x10, 0xed, 0xb7, 0xc5, 0xc1, 0x79, 0xd3, 0x00, 
-0xc9, 0x06, 0xff, 0xf5, 0xdb, 0x00, 0xe6, 0x10, 
-0xf6, 0xc0, 0xd3, 0x00, 0xfb, 0x76, 0x76, 0x10, 
-0xfb, 0xf1, 0xc9, 0xdb, 0x00, 0x2f, 0xe6, 0x0c, 
-0xc9, 0xf3, 0x3e, 0xc0, 0xd3, 0x00, 0x06, 0x08, 
-0x16, 0xff, 0xcd, 0xd6, 0x83, 0xd8, 0xc6, 0xf8, 
-0x3e, 0xc2, 0x30, 0x03, 0xc0, 0x3e, 0xc1, 0xd3, 
-0x00, 0xcb, 0x19, 0x14, 0xcd, 0xd6, 0x83, 0xd8, 
-0x3e, 0xc0, 0xd3, 0x00, 0x10, 0xe2, 0xc9, 0x21, 
-0xff, 0xff, 0x2b, 0xdb, 0x00, 0xaa, 0xe6, 0x0c, 
-0xc0, 0x7c, 0xb5, 0x20, 0xf5, 0x37, 0xc9, 0xf3, 
-0x06, 0x08, 0xcd, 0xfc, 0x83, 0xd8, 0xcb, 0x19, 
-0x3e, 0xc1, 0x30, 0x02, 0x3e, 0xc2, 0x14, 0xcd, 
-0x00, 0x84, 0xd8, 0x10, 0xed, 0x3e, 0xc0, 0x16, 
-0xff, 0xd3, 0x00, 0x21, 0xff, 0xff, 0x2b, 0xdb, 
-0x00, 0xaa, 0xe6, 0x0c, 0xc8, 0x7c, 0xb5, 0x20, 
-0xf5, 0x37, 0xc9, 0x44, 0x75, 0x6d, 0x70, 0x69, 
-0x6e, 0x67, 0x20, 0x52, 0x4f, 0x4d, 0x2e, 0x2e, 
-0x2e, 0x00, 0xc1, 0x4d, 0x4f, 0x44, 0x45, 0x5d, 
-0x20, 0x74, 0x6f, 0x20, 0x63, 0x61, 0x6e, 0x63, 
-0x65, 0x6c, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, 
-0x73, 0x3a, 0x00, 0x30, 0x4b, 0x20, 0x6f, 0x66, 
-0x20, 0x32, 0x35, 0x36, 0x4b, 0x00, 0x00, 0x04, 
-0x00, 0xd4, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x3f, 
-0xd4, 0x93, 0x1b, 
 };
-static unsigned int romDumpSize83 = 771;
+static unsigned int romDumpSize83 = 0;
diff --git a/src/rom83p.h b/src/rom83p.h
index 75362e3..945edbb 100644
--- a/src/rom83p.h
+++ b/src/rom83p.h
@@ -1,114 +1,3 @@
 static unsigned char romDump8Xp[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x33, 0x46, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x03, 0x0d, 
-0x00, 0x2d, 0x03, 0x06, 0x52, 0x4f, 0x4d, 0x44, 
-0x55, 0x4d, 0x50, 0x00, 0x00, 0x00, 0x2d, 0x03, 
-0x2b, 0x03, 0xbb, 0x6d, 0xdb, 0x02, 0x07, 0xe6, 
-0x01, 0xd3, 0x20, 0xfd, 0xcb, 0x1f, 0xae, 0xfd, 
-0xcb, 0x08, 0x9e, 0xdb, 0x06, 0x32, 0xec, 0x86, 
-0xcd, 0xf1, 0x9e, 0x3a, 0xec, 0x86, 0xd3, 0x06, 
-0xdb, 0x02, 0x87, 0x30, 0x10, 0x3e, 0x01, 0xd3, 
-0x20, 0xdb, 0x21, 0xe6, 0x03, 0x3e, 0x10, 0x28, 
-0x01, 0x87, 0x32, 0xbc, 0xa0, 0x21, 0x00, 0x00, 
-0x22, 0xef, 0x86, 0x22, 0xf1, 0x86, 0xef, 0x70, 
-0x45, 0xef, 0x46, 0x45, 0x21, 0x00, 0x00, 0x22, 
-0x4b, 0x84, 0x21, 0x8c, 0xa0, 0xef, 0x0a, 0x45, 
-0x11, 0x04, 0x00, 0xed, 0x53, 0x4b, 0x84, 0xef, 
-0x0a, 0x45, 0xfb, 0x76, 0xef, 0x18, 0x40, 0xfe, 
-0x37, 0x28, 0x2f, 0xcd, 0x5f, 0xa0, 0x28, 0xf2, 
-0xcd, 0xb6, 0x9f, 0x38, 0x62, 0xed, 0x5b, 0xff, 
-0x86, 0x21, 0x55, 0xaa, 0xb7, 0xed, 0x52, 0x28, 
-0x09, 0x7a, 0xb7, 0x20, 0x52, 0x43, 0x10, 0x0a, 
-0x18, 0xd8, 0x21, 0x01, 0x00, 0xcd, 0xec, 0x9f, 
-0x18, 0xd0, 0x10, 0x10, 0x21, 0x02, 0x00, 0xcd, 
-0xec, 0x9f, 0xef, 0x46, 0x45, 0x21, 0x00, 0x00, 
-0x22, 0x4b, 0x84, 0xc9, 0x10, 0x2f, 0x21, 0xba, 
-0xa0, 0x22, 0xf7, 0x86, 0x21, 0x04, 0x00, 0x22, 
-0xf5, 0x86, 0x21, 0x03, 0x00, 0xcd, 0xf4, 0x9f, 
-0x21, 0x02, 0x04, 0x22, 0x4b, 0x84, 0x21, 0xb4, 
-0xa0, 0xef, 0x0a, 0x45, 0x2a, 0xbb, 0xa0, 0xcb, 
-0x3c, 0xcb, 0x3c, 0xef, 0x07, 0x45, 0x3e, 0x4b, 
-0xef, 0x04, 0x45, 0x18, 0x8d, 0x10, 0x1b, 0x21, 
-0x07, 0x00, 0x22, 0x4b, 0x84, 0x21, 0xac, 0xa0, 
-0xef, 0x0a, 0x45, 0x2a, 0xef, 0x86, 0x23, 0x22, 
-0xef, 0x86, 0xef, 0x07, 0x45, 0xcd, 0x48, 0xa0, 
-0x18, 0xe1, 0x10, 0xe3, 0x2a, 0x03, 0x87, 0x3a, 
-0x05, 0x87, 0xcb, 0x24, 0x17, 0xcb, 0x24, 0x17, 
-0xd3, 0x06, 0x37, 0xcb, 0x1c, 0xcb, 0x3c, 0x22, 
-0xf7, 0x86, 0xcd, 0xac, 0x9f, 0x20, 0x19, 0x67, 
-0x6f, 0x22, 0xfb, 0x86, 0x21, 0x00, 0x04, 0x22, 
-0xf9, 0x86, 0x21, 0xf9, 0x86, 0x22, 0xf7, 0x86, 
-0x21, 0x04, 0x00, 0x11, 0x07, 0x00, 0x18, 0x06, 
-0x21, 0x00, 0x04, 0x11, 0x06, 0x00, 0x22, 0xf5, 
-0x86, 0xeb, 0xcd, 0xf4, 0x9f, 0x3a, 0xec, 0x86, 
-0xd3, 0x06, 0x38, 0x9b, 0x21, 0x02, 0x00, 0x22, 
-0x4b, 0x84, 0x2a, 0xf1, 0x86, 0x23, 0x22, 0xf1, 
-0x86, 0xef, 0x07, 0x45, 0x3e, 0x4b, 0xef, 0x04, 
-0x45, 0x18, 0x9d, 0xe9, 0x01, 0x13, 0x01, 0x01, 
-0x01, 0x13, 0x01, 0x00, 0x02, 0x37, 0x01, 0x03, 
-0x02, 0x37, 0x01, 0x03, 0x02, 0x38, 0x01, 0x03, 
-0xef, 0x6f, 0x4c, 0x4f, 0xef, 0xba, 0x80, 0x6f, 
-0xc6, 0xfc, 0xd8, 0x3c, 0x20, 0x05, 0xcb, 0x40, 
-0x20, 0x01, 0x2c, 0x26, 0x00, 0x29, 0x29, 0x11, 
-0xdd, 0x9e, 0x19, 0x79, 0xcd, 0xa5, 0x9f, 0xd8, 
-0x23, 0xef, 0xb7, 0x80, 0xcd, 0xa5, 0x9f, 0xd8, 
-0xf3, 0xfd, 0xe5, 0x11, 0x09, 0x7b, 0x7b, 0x32, 
-0xee, 0x83, 0xd3, 0x06, 0x1a, 0x47, 0xc5, 0xd5, 
-0xcd, 0x91, 0x9f, 0x7b, 0xef, 0xc6, 0x80, 0x21, 
-0x80, 0x9f, 0x11, 0x38, 0x98, 0xef, 0xda, 0x47, 
-0xed, 0x73, 0x3c, 0x98, 0xcd, 0x44, 0x9f, 0xf1, 
-0xc1, 0x18, 0x4a, 0x3a, 0x94, 0x50, 0x57, 0x21, 
-0x00, 0x81, 0x01, 0x30, 0x01, 0x3e, 0xed, 0xed, 
-0xb1, 0xc0, 0x7e, 0xd6, 0xa0, 0x20, 0xf6, 0x4e, 
-0x47, 0x23, 0x22, 0xdb, 0x84, 0x2a, 0x92, 0x50, 
-0x3c, 0x32, 0x34, 0x98, 0xb7, 0xc4, 0x91, 0x9f, 
-0x3e, 0x3a, 0xed, 0xb1, 0xc0, 0x11, 0x63, 0x9f, 
-0x1a, 0xbe, 0x20, 0xf4, 0x23, 0x13, 0xfe, 0xc4, 
-0x20, 0xf6, 0xef, 0x09, 0x40, 0xfd, 0x21, 0x31, 
-0x00, 0xe9, 0x31, 0x00, 0x00, 0xe1, 0xf1, 0x77, 
-0xbe, 0x20, 0xfd, 0x36, 0xf0, 0xfd, 0xe1, 0xc9, 
-0xdb, 0x02, 0x87, 0x3e, 0x1f, 0x30, 0x09, 0xdb, 
-0x21, 0xe6, 0x03, 0x3e, 0x7f, 0x20, 0x01, 0x1f, 
-0xa2, 0xd3, 0x06, 0xc9, 0xbe, 0x23, 0x3f, 0xc0, 
-0x7e, 0xb8, 0xc9, 0x7e, 0x01, 0x00, 0x04, 0xed, 
-0xa1, 0xe0, 0x28, 0xfb, 0xc9, 0x21, 0x00, 0x00, 
-0x11, 0xff, 0x86, 0x06, 0x04, 0xcd, 0x31, 0xa0, 
-0xd8, 0x3a, 0x02, 0x87, 0xc6, 0xff, 0xd8, 0x3a, 
-0x01, 0x87, 0xb7, 0x28, 0x0b, 0x47, 0xc6, 0xbf, 
-0xd8, 0x11, 0x03, 0x87, 0xcd, 0x31, 0xa0, 0xd8, 
-0xe5, 0x11, 0xfd, 0x86, 0x06, 0x02, 0xcd, 0x31, 
-0xa0, 0xd1, 0xd8, 0x2a, 0xfd, 0x86, 0xed, 0x52, 
-0xc8, 0x37, 0xc9, 0xe5, 0x21, 0x00, 0x00, 0x22, 
-0xf5, 0x86, 0xe1, 0x22, 0xf3, 0x86, 0x21, 0x00, 
-0x00, 0x11, 0xf3, 0x86, 0x01, 0x04, 0x00, 0xcd, 
-0x1b, 0xa0, 0xd8, 0xed, 0x5b, 0xf7, 0x86, 0xed, 
-0x4b, 0xf5, 0x86, 0xcd, 0x1b, 0xa0, 0xd8, 0x22, 
-0xfd, 0x86, 0x11, 0xfd, 0x86, 0x01, 0x02, 0x00, 
-0x18, 0x00, 0x78, 0xb1, 0xc8, 0x0b, 0xc5, 0x1a, 
-0x13, 0x4f, 0x06, 0x00, 0x09, 0xd5, 0xe5, 0xcd, 
-0x7b, 0xa0, 0xe1, 0xd1, 0xc1, 0xd8, 0x18, 0xea, 
-0xc5, 0xe5, 0xd5, 0xcd, 0x6f, 0xa0, 0xd1, 0xe1, 
-0x38, 0x0b, 0x06, 0x00, 0x09, 0x79, 0x12, 0x13, 
-0xc1, 0x10, 0xed, 0xb7, 0xc5, 0xc1, 0xc9, 0x06, 
-0xff, 0xf5, 0xdb, 0x02, 0xe6, 0x80, 0xd3, 0x08, 
-0x3e, 0x00, 0xd3, 0x00, 0xfb, 0x76, 0x76, 0x10, 
-0xfb, 0xaf, 0xd3, 0x08, 0xf1, 0xc9, 0xdb, 0x00, 
-0x2f, 0xe6, 0x03, 0xc0, 0xdb, 0x02, 0xe6, 0x80, 
-0xc8, 0xdb, 0x09, 0xe6, 0x18, 0xc9, 0x21, 0x8a, 
-0xa0, 0xcd, 0x59, 0x00, 0xef, 0x03, 0x4f, 0x57, 
-0x18, 0x09, 0x21, 0x8a, 0xa0, 0xcd, 0x59, 0x00, 
-0xef, 0xe5, 0x4e, 0xcd, 0x5c, 0x00, 0x4a, 0xb7, 
-0xc9, 0x37, 0xc9, 0x44, 0x75, 0x6d, 0x70, 0x69, 
-0x6e, 0x67, 0x20, 0x52, 0x4f, 0x4d, 0x2e, 0x2e, 
-0x2e, 0x00, 0xc1, 0x4d, 0x4f, 0x44, 0x45, 0x5d, 
-0x20, 0x74, 0x6f, 0x20, 0x63, 0x61, 0x6e, 0x63, 
-0x65, 0x6c, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, 
-0x73, 0x3a, 0x00, 0x30, 0x4b, 0x20, 0x6f, 0x66, 
-0x20, 0x00, 0x00, 0x08, 0x00, 0x66, 0x5b, 
 };
-static unsigned int romDumpSize8Xp = 887;
+static unsigned int romDumpSize8Xp = 0;
diff --git a/src/rom84p.h b/src/rom84p.h
index 4becc1d..797c284 100644
--- a/src/rom84p.h
+++ b/src/rom84p.h
@@ -1,196 +1,3 @@
 static unsigned char romDump84p[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x33, 0x46, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x05, 0x0d, 
-0x00, 0xba, 0x05, 0x06, 0x52, 0x4f, 0x4d, 0x44, 
-0x55, 0x4d, 0x50, 0x00, 0x00, 0x00, 0xba, 0x05, 
-0xb8, 0x05, 0xbb, 0x6d, 0xef, 0x70, 0x45, 0xdb, 
-0x06, 0xf5, 0xcd, 0x90, 0xa2, 0xf1, 0xd3, 0x06, 
-0xed, 0x73, 0x72, 0x98, 0xcd, 0xc2, 0x9d, 0xcd, 
-0xe7, 0xa0, 0x30, 0x20, 0xcd, 0x57, 0xa0, 0x30, 
-0x1b, 0xed, 0x7b, 0x72, 0x98, 0xcd, 0xc2, 0x9d, 
-0x21, 0x2c, 0x9f, 0xef, 0x0a, 0x45, 0xef, 0x72, 
-0x49, 0xef, 0x40, 0x45, 0xef, 0x58, 0x45, 0xfd, 
-0xcb, 0x09, 0xa6, 0xc9, 0x21, 0xd5, 0x9e, 0xef, 
-0x0a, 0x45, 0xfd, 0xcb, 0x41, 0xae, 0x21, 0x00, 
-0x80, 0xcd, 0x0e, 0xa0, 0x38, 0xd3, 0x2a, 0x00, 
-0x80, 0x11, 0x02, 0x00, 0xef, 0x0c, 0x40, 0x28, 
-0x1a, 0x11, 0x03, 0x00, 0xef, 0x0c, 0x40, 0x28, 
-0x1d, 0x11, 0x05, 0x00, 0xef, 0x0c, 0x40, 0x28, 
-0x4c, 0x11, 0x55, 0xaa, 0xef, 0x0c, 0x40, 0x28, 
-0x36, 0x18, 0xd3, 0x11, 0x02, 0x00, 0x01, 0x00, 
-0x00, 0xcd, 0xa2, 0x9f, 0x18, 0xb3, 0x21, 0x74, 
-0x98, 0x36, 0x00, 0x23, 0x36, 0x00, 0x23, 0xdb, 
-0x21, 0xe6, 0x03, 0x3e, 0x10, 0x28, 0x01, 0x87, 
-0x77, 0x23, 0x36, 0x00, 0x3e, 0x81, 0x21, 0x74, 
-0x58, 0x11, 0x03, 0x00, 0x01, 0x04, 0x00, 0xcd, 
-0xa2, 0x9f, 0xda, 0xb2, 0x9d, 0x18, 0x9f, 0x11, 
-0x01, 0x00, 0x01, 0x00, 0x00, 0xcd, 0xa2, 0x9f, 
-0xda, 0xb2, 0x9d, 0x18, 0x91, 0xdd, 0x21, 0x04, 
-0x80, 0xdd, 0x6e, 0x00, 0xdd, 0x66, 0x01, 0xdd, 
-0x5e, 0x02, 0xdd, 0x56, 0x03, 0x01, 0x02, 0x04, 
-0xed, 0x43, 0x4b, 0x84, 0x7b, 0xcd, 0x30, 0xa0, 
-0x7c, 0xcd, 0x30, 0xa0, 0x7d, 0xcd, 0x30, 0xa0, 
-0x7b, 0x87, 0x87, 0x11, 0x00, 0x40, 0xb7, 0xed, 
-0x52, 0x38, 0x03, 0x3c, 0x18, 0xf5, 0x19, 0x11, 
-0x00, 0x40, 0x19, 0xe5, 0x32, 0xeb, 0x83, 0xdb, 
-0x06, 0xf5, 0x3a, 0xeb, 0x83, 0xd3, 0x06, 0x56, 
-0x01, 0x00, 0x04, 0x7e, 0xba, 0x20, 0x06, 0x23, 
-0x0b, 0x78, 0xb1, 0x20, 0xf6, 0xc1, 0x78, 0xd3, 
-0x06, 0xe1, 0x28, 0x12, 0x3a, 0xeb, 0x83, 0x11, 
-0x06, 0x00, 0x01, 0x00, 0x04, 0xcd, 0xa2, 0x9f, 
-0xda, 0xb2, 0x9d, 0xc3, 0xd7, 0x9d, 0xdd, 0x21, 
-0x78, 0x84, 0xdd, 0x36, 0x00, 0x00, 0xdd, 0x36, 
-0x01, 0x04, 0xdd, 0x72, 0x02, 0xdd, 0x72, 0x03, 
-0x3e, 0x81, 0x21, 0x78, 0x44, 0x11, 0x07, 0x00, 
-0x01, 0x04, 0x00, 0xcd, 0xa2, 0x9f, 0xda, 0xb2, 
-0x9d, 0xc3, 0xd7, 0x9d, 0x44, 0x75, 0x6d, 0x70, 
-0x69, 0x6e, 0x67, 0xce, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x50, 0x72, 0x65, 0x73, 
-0x73, 0x20, 0xc1, 0x4f, 0x4e, 0x5d, 0x20, 0x74, 
-0x6f, 0x20, 0x20, 0x20, 0x61, 0x62, 0x6f, 0x72, 
-0x74, 0x2e, 0x00, 0x45, 0x52, 0x52, 0x4f, 0x52, 
-0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65, 
-0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 
-0x20, 0x20, 0x20, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 
-0x77, 0x6e, 0x20, 0x55, 0x53, 0x42, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 
-0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 
-0x20, 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x65, 0x79, 
-0x20, 0x74, 0x6f, 0x71, 0x75, 0x69, 0x74, 0x2e, 
-0x00, 0xf3, 0xc5, 0x32, 0xeb, 0x83, 0xdb, 0x06, 
-0xf5, 0x3e, 0x83, 0xd3, 0x06, 0xe5, 0x21, 0x00, 
-0x40, 0x73, 0x23, 0x72, 0x23, 0x71, 0x23, 0x70, 
-0x23, 0xeb, 0xe1, 0x78, 0xb1, 0x28, 0x25, 0xc5, 
-0x3a, 0xeb, 0x83, 0xd3, 0x06, 0x7e, 0xf5, 0x3e, 
-0x83, 0xd3, 0x06, 0xf1, 0x12, 0x23, 0xcb, 0x7c, 
-0x28, 0x0b, 0xcb, 0xbc, 0xcb, 0xf4, 0x3a, 0xeb, 
-0x83, 0x3c, 0x32, 0xeb, 0x83, 0x13, 0x0b, 0x78, 
-0xb1, 0x20, 0xdd, 0xc1, 0x03, 0x03, 0x03, 0x03, 
-0x21, 0x00, 0x40, 0x11, 0x00, 0x00, 0x7e, 0x23, 
-0x83, 0x5f, 0x30, 0x01, 0x14, 0x0b, 0x78, 0xb1, 
-0x20, 0xf4, 0x73, 0x23, 0x72, 0xf1, 0xd3, 0x06, 
-0xd1, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x21, 
-0x00, 0x80, 0xc3, 0xfa, 0xa0, 0x01, 0x04, 0x00, 
-0xe5, 0xcd, 0x0a, 0xa1, 0xe1, 0xd8, 0x23, 0x23, 
-0x4e, 0x23, 0x46, 0x23, 0x78, 0xb1, 0x28, 0x09, 
-0xe5, 0xc5, 0xcd, 0x0a, 0xa1, 0xc1, 0xe1, 0xd8, 
-0x09, 0x01, 0x02, 0x00, 0xc3, 0x0a, 0xa1, 0xdd, 
-0xe5, 0xf5, 0xe5, 0xc5, 0xf5, 0x0f, 0x0f, 0x0f, 
-0x0f, 0xcd, 0x47, 0xa0, 0xf1, 0xcd, 0x47, 0xa0, 
-0xc1, 0xe1, 0xf1, 0xdd, 0xe1, 0xc9, 0xe6, 0x0f, 
-0xfe, 0x0a, 0x30, 0x04, 0xc6, 0x30, 0x18, 0x02, 
-0xc6, 0x37, 0xef, 0x04, 0x45, 0xc9, 0xef, 0x0e, 
-0x81, 0xd8, 0x3e, 0x80, 0xd3, 0x57, 0xaf, 0xd3, 
-0x4c, 0x3e, 0x01, 0xd3, 0x5b, 0xaf, 0xdb, 0x4c, 
-0x3e, 0x02, 0xd3, 0x54, 0x3e, 0x20, 0xd3, 0x4a, 
-0xaf, 0xd3, 0x4b, 0xdb, 0x3a, 0xcb, 0x5f, 0x28, 
-0x04, 0x3e, 0x20, 0xd3, 0x4b, 0xaf, 0xd3, 0x54, 
-0x3e, 0x42, 0xd3, 0x36, 0xaf, 0xd3, 0x37, 0x3e, 
-0x01, 0xd3, 0x38, 0xdb, 0x04, 0xcb, 0x7f, 0x28, 
-0xfa, 0xdb, 0x3a, 0xcb, 0x5f, 0x28, 0x04, 0x3e, 
-0x44, 0xd3, 0x54, 0x3e, 0xc4, 0xd3, 0x54, 0x3e, 
-0x08, 0xd3, 0x4c, 0x11, 0xff, 0xff, 0x1b, 0x7a, 
-0xb3, 0x37, 0xc8, 0xdb, 0x4c, 0xfe, 0x1a, 0x28, 
-0x04, 0xfe, 0x5a, 0x20, 0xf1, 0x3e, 0xff, 0xd3, 
-0x87, 0xaf, 0xd3, 0x92, 0xdb, 0x87, 0x3e, 0x0e, 
-0xd3, 0x89, 0x3e, 0x05, 0xd3, 0x8b, 0xdb, 0x81, 
-0xf6, 0x00, 0xd3, 0x81, 0xdb, 0x54, 0xf6, 0x01, 
-0xd3, 0x54, 0x06, 0x05, 0x11, 0xff, 0xff, 0x1b, 
-0x7a, 0xb3, 0x28, 0x06, 0xdb, 0x8c, 0xb7, 0x28, 
-0xf6, 0xc9, 0x10, 0xf0, 0x37, 0xc9, 0xdb, 0x02, 
-0xcb, 0x6f, 0x37, 0xc8, 0x3a, 0x4d, 0x00, 0xb7, 
-0xcb, 0x6f, 0xc8, 0xcb, 0x77, 0x37, 0xc0, 0x3f, 
-0xc9, 0xfd, 0xcb, 0x40, 0xd6, 0xfd, 0xcb, 0x43, 
-0x86, 0xef, 0xf2, 0x50, 0xfd, 0xcb, 0x41, 0x86, 
-0xc9, 0xfb, 0x76, 0xdb, 0x04, 0xcb, 0x5f, 0x37, 
-0xc8, 0xfd, 0xcb, 0x41, 0x6e, 0x28, 0xf2, 0xc5, 
-0xf5, 0xaf, 0x32, 0x34, 0x98, 0x18, 0x28, 0xdb, 
-0x04, 0xcb, 0x5f, 0x28, 0x47, 0xfd, 0xcb, 0x41, 
-0x6e, 0x20, 0x1c, 0xdb, 0x84, 0xcb, 0x57, 0x20, 
-0x04, 0xcb, 0x4f, 0x28, 0x0a, 0xfd, 0xcb, 0x41, 
-0xee, 0xaf, 0x32, 0x27, 0x9c, 0x18, 0x08, 0xdb, 
-0x86, 0xcb, 0x6f, 0x20, 0x27, 0x18, 0xd8, 0xc5, 
-0xe5, 0x21, 0x40, 0x00, 0xb7, 0xed, 0x42, 0xe1, 
-0x41, 0x30, 0x02, 0x06, 0x40, 0xcd, 0x71, 0xa1, 
-0xeb, 0xe1, 0x38, 0x10, 0xb7, 0x06, 0x00, 0xed, 
-0x42, 0x28, 0x05, 0x44, 0x4d, 0xeb, 0x18, 0xb7, 
-0xc1, 0x78, 0xc1, 0xc9, 0xf1, 0xc1, 0x37, 0xc9, 
-0x78, 0xb7, 0xc8, 0x3e, 0x40, 0xb8, 0xd8, 0x78, 
-0x32, 0x80, 0x9c, 0x3a, 0x27, 0x9c, 0xb7, 0x28, 
-0x07, 0xb8, 0x30, 0x04, 0x47, 0x32, 0x80, 0x9c, 
-0xdb, 0x8f, 0xcb, 0x57, 0xca, 0x27, 0xa2, 0xaf, 
-0xd3, 0x5b, 0x3a, 0x27, 0x9c, 0xb7, 0x20, 0x3d, 
-0x3e, 0x01, 0xd3, 0x8e, 0x3e, 0x21, 0xd3, 0x9a, 
-0xaf, 0xdb, 0x9a, 0x3e, 0x08, 0xd3, 0x93, 0xaf, 
-0xdb, 0x93, 0x3e, 0xff, 0xd3, 0x89, 0xaf, 0xd3, 
-0x95, 0xdb, 0x89, 0x3e, 0xa1, 0xd3, 0x8b, 0xdb, 
-0x94, 0xcb, 0x57, 0xc2, 0x6d, 0xa2, 0xcb, 0x77, 
-0xc2, 0x6d, 0xa2, 0x3e, 0x01, 0xd3, 0x5b, 0x3a, 
-0x27, 0x9c, 0xb7, 0x20, 0x08, 0x3e, 0x01, 0xd3, 
-0x8e, 0xdb, 0x94, 0xdb, 0x96, 0xf5, 0x3a, 0x80, 
-0x9c, 0x47, 0x0e, 0x00, 0xdb, 0xa1, 0x77, 0x23, 
-0x0c, 0x10, 0xf9, 0x3e, 0x01, 0xd3, 0x8e, 0xdb, 
-0x94, 0xcb, 0x57, 0x20, 0x7e, 0xcb, 0x77, 0x20, 
-0x7a, 0xf1, 0x91, 0x32, 0x27, 0x9c, 0xfd, 0xcb, 
-0x41, 0xee, 0xc0, 0x3e, 0x01, 0xd3, 0x8e, 0x3e, 
-0x21, 0xd3, 0x9a, 0x3e, 0x08, 0xd3, 0x93, 0xaf, 
-0xdb, 0x93, 0x3e, 0x0e, 0xd3, 0x89, 0xaf, 0xd3, 
-0x95, 0xfd, 0xcb, 0x41, 0xae, 0xaf, 0x32, 0x27, 
-0x9c, 0xfd, 0xcb, 0x41, 0x86, 0x3e, 0x20, 0xd3, 
-0x94, 0x3e, 0x01, 0xd3, 0x5b, 0xc9, 0x3e, 0x02, 
-0xd3, 0x8e, 0xdb, 0x94, 0xcb, 0x77, 0x28, 0x0a, 
-0xe6, 0xdf, 0xd3, 0x94, 0xf1, 0xef, 0x57, 0x52, 
-0x18, 0x32, 0x3a, 0x27, 0x9c, 0xb7, 0x20, 0x02, 
-0xdb, 0x96, 0xf5, 0x0e, 0x00, 0xdb, 0xa2, 0x77, 
-0x23, 0x0c, 0x10, 0xf9, 0x3e, 0x02, 0xd3, 0x8e, 
-0xf1, 0x91, 0x32, 0x27, 0x9c, 0xc0, 0xaf, 0x32, 
-0x27, 0x9c, 0xdb, 0x94, 0xe6, 0xfe, 0xd3, 0x94, 
-0xfd, 0xcb, 0x41, 0xae, 0x3e, 0xa1, 0x32, 0x8b, 
-0x00, 0x18, 0x06, 0xf1, 0xfd, 0xcb, 0x41, 0xae, 
-0x37, 0xfb, 0x3e, 0x01, 0xd3, 0x5b, 0xfd, 0xcb, 
-0x41, 0x86, 0xc9, 0x01, 0x13, 0x01, 0x01, 0x01, 
-0x13, 0x01, 0x00, 0x02, 0x37, 0x01, 0x03, 0x02, 
-0x37, 0x01, 0x03, 0x02, 0x38, 0x01, 0x03, 0xef, 
-0x6f, 0x4c, 0x4f, 0xef, 0xba, 0x80, 0x6f, 0xc6, 
-0xfc, 0xd8, 0x3c, 0x20, 0x05, 0xcb, 0x40, 0x20, 
-0x01, 0x2c, 0x26, 0x00, 0x29, 0x29, 0x11, 0x7c, 
-0xa2, 0x19, 0x79, 0xcd, 0x44, 0xa3, 0xd8, 0x23, 
-0xef, 0xb7, 0x80, 0xcd, 0x44, 0xa3, 0xd8, 0xf3, 
-0xfd, 0xe5, 0x11, 0x09, 0x7b, 0x7b, 0x32, 0xee, 
-0x83, 0xd3, 0x06, 0x1a, 0x47, 0xc5, 0xd5, 0xcd, 
-0x30, 0xa3, 0x7b, 0xef, 0xc6, 0x80, 0x21, 0x1f, 
-0xa3, 0x11, 0x38, 0x98, 0xef, 0xda, 0x47, 0xed, 
-0x73, 0x3c, 0x98, 0xcd, 0xe3, 0xa2, 0xf1, 0xc1, 
-0x18, 0x4a, 0x3a, 0x94, 0x50, 0x57, 0x21, 0x00, 
-0x81, 0x01, 0x30, 0x01, 0x3e, 0xed, 0xed, 0xb1, 
-0xc0, 0x7e, 0xd6, 0xa0, 0x20, 0xf6, 0x4e, 0x47, 
-0x23, 0x22, 0xdb, 0x84, 0x2a, 0x92, 0x50, 0x3c, 
-0x32, 0x34, 0x98, 0xb7, 0xc4, 0x30, 0xa3, 0x3e, 
-0x3a, 0xed, 0xb1, 0xc0, 0x11, 0x02, 0xa3, 0x1a, 
-0xbe, 0x20, 0xf4, 0x23, 0x13, 0xfe, 0xc4, 0x20, 
-0xf6, 0xef, 0x09, 0x40, 0xfd, 0x21, 0x31, 0x00, 
-0xe9, 0x31, 0x00, 0x00, 0xe1, 0xf1, 0x77, 0xbe, 
-0x20, 0xfd, 0x36, 0xf0, 0xfd, 0xe1, 0xc9, 0xdb, 
-0x02, 0x87, 0x3e, 0x1f, 0x30, 0x09, 0xdb, 0x21, 
-0xe6, 0x03, 0x3e, 0x7f, 0x20, 0x01, 0x1f, 0xa2, 
-0xd3, 0x06, 0xc9, 0xbe, 0x23, 0x3f, 0xc0, 0x7e, 
-0xb8, 0xc9, 0x6f, 0x6d, 
 };
-static unsigned int romDumpSize84p = 1540;
+static unsigned int romDumpSize84p = 0;
diff --git a/src/rom85.h b/src/rom85.h
index 4ff2ada..5a9fecc 100644
--- a/src/rom85.h
+++ b/src/rom85.h
@@ -1,156 +1,3 @@
 static unsigned char romDump85[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x35, 0x2a, 0x2a, 
-0x1a, 0x0c, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x04, 0x07, 
-0x00, 0x7e, 0x04, 0x0c, 0x03, 0x24, 0x52, 0x44, 
-0x7e, 0x04, 0x7c, 0x04, 0x11, 0x43, 0x01, 0x19, 
-0x11, 0xc1, 0x86, 0x01, 0x01, 0x02, 0xed, 0xb0, 
-0x22, 0x1a, 0x88, 0x11, 0xea, 0xfc, 0x19, 0xcd, 
-0xc1, 0x86, 0x2a, 0xe3, 0x8b, 0x22, 0xe5, 0x8b, 
-0x2a, 0xdf, 0x8b, 0x22, 0xe1, 0x8b, 0xe1, 0xe1, 
-0xe1, 0xf1, 0xd3, 0x05, 0x3e, 0x06, 0x32, 0x37, 
-0x83, 0xc9, 0xfd, 0xcb, 0x08, 0x9e, 0xdb, 0x05, 
-0x32, 0x41, 0x86, 0x21, 0x00, 0x00, 0x22, 0x44, 
-0x86, 0x22, 0x46, 0x86, 0xfd, 0xcb, 0x12, 0x86, 
-0xcd, 0x09, 0x88, 0x21, 0x00, 0x00, 0x22, 0x0c, 
-0x80, 0x21, 0x8c, 0x88, 0xcd, 0x00, 0x88, 0x11, 
-0x04, 0x00, 0xed, 0x53, 0x0c, 0x80, 0xcd, 0x00, 
-0x88, 0xfb, 0x76, 0xf3, 0x21, 0x00, 0x80, 0x7e, 
-0x36, 0x00, 0xfe, 0x37, 0x28, 0x2f, 0xcd, 0x6c, 
-0x87, 0x28, 0xee, 0xcd, 0xcc, 0x86, 0x38, 0x53, 
-0xed, 0x5b, 0x54, 0x86, 0x21, 0x55, 0xaa, 0xb7, 
-0xed, 0x52, 0x28, 0x09, 0x7a, 0xb7, 0x20, 0x43, 
-0x43, 0x10, 0x0a, 0x18, 0xd4, 0x21, 0x01, 0x00, 
-0xcd, 0x02, 0x87, 0x18, 0xcc, 0x10, 0x10, 0x21, 
-0x02, 0x00, 0xcd, 0x02, 0x87, 0xcd, 0x09, 0x88, 
-0x21, 0x00, 0x00, 0x22, 0x0c, 0x80, 0xc9, 0x10, 
-0x20, 0x21, 0xbe, 0x88, 0x22, 0x4c, 0x86, 0x21, 
-0x04, 0x00, 0x22, 0x4a, 0x86, 0x21, 0x03, 0x00, 
-0xcd, 0x0a, 0x87, 0x21, 0x02, 0x04, 0x22, 0x0c, 
-0x80, 0x21, 0xb4, 0x88, 0xcd, 0x00, 0x88, 0x18, 
-0x98, 0x10, 0x1b, 0x21, 0x07, 0x00, 0x22, 0x0c, 
-0x80, 0x21, 0xac, 0x88, 0xcd, 0x00, 0x88, 0x2a, 
-0x44, 0x86, 0x23, 0x22, 0x44, 0x86, 0xcd, 0xd4, 
-0x87, 0xcd, 0x5e, 0x87, 0x18, 0xe1, 0x10, 0xe3, 
-0x2a, 0x58, 0x86, 0x3a, 0x5a, 0x86, 0xcb, 0x24, 
-0x17, 0xcb, 0x24, 0x17, 0xd3, 0x05, 0x37, 0xcb, 
-0x1c, 0xcb, 0x3c, 0x22, 0x4c, 0x86, 0xcd, 0xc2, 
-0x86, 0x20, 0x19, 0x67, 0x6f, 0x22, 0x50, 0x86, 
-0x21, 0x00, 0x04, 0x22, 0x4e, 0x86, 0x21, 0x4e, 
-0x86, 0x22, 0x4c, 0x86, 0x21, 0x04, 0x00, 0x11, 
-0x07, 0x00, 0x18, 0x06, 0x21, 0x00, 0x04, 0x11, 
-0x06, 0x00, 0x22, 0x4a, 0x86, 0xeb, 0xcd, 0x0a, 
-0x87, 0x3a, 0x41, 0x86, 0xd3, 0x05, 0x38, 0x9b, 
-0x21, 0x02, 0x00, 0x22, 0x0c, 0x80, 0x2a, 0x46, 
-0x86, 0x23, 0x22, 0x46, 0x86, 0xcd, 0xd4, 0x87, 
-0x3e, 0x4b, 0xcd, 0x16, 0x88, 0x18, 0x9d, 0xe9, 
-0x7e, 0x01, 0x00, 0x04, 0xed, 0xa1, 0xe0, 0x28, 
-0xfb, 0xc9, 0x21, 0x00, 0x00, 0x11, 0x54, 0x86, 
-0x06, 0x04, 0xcd, 0x47, 0x87, 0xd8, 0x3a, 0x57, 
-0x86, 0xc6, 0xff, 0xd8, 0x3a, 0x56, 0x86, 0xb7, 
-0x28, 0x0b, 0x47, 0xc6, 0xbf, 0xd8, 0x11, 0x58, 
-0x86, 0xcd, 0x47, 0x87, 0xd8, 0xe5, 0x11, 0x52, 
-0x86, 0x06, 0x02, 0xcd, 0x47, 0x87, 0xd1, 0xd8, 
-0x2a, 0x52, 0x86, 0xed, 0x52, 0xc8, 0x37, 0xc9, 
-0xe5, 0x21, 0x00, 0x00, 0x22, 0x4a, 0x86, 0xe1, 
-0x22, 0x48, 0x86, 0x21, 0x00, 0x00, 0x11, 0x48, 
-0x86, 0x01, 0x04, 0x00, 0xcd, 0x31, 0x87, 0xd8, 
-0xed, 0x5b, 0x4c, 0x86, 0xed, 0x4b, 0x4a, 0x86, 
-0xcd, 0x31, 0x87, 0xd8, 0x22, 0x52, 0x86, 0x11, 
-0x52, 0x86, 0x01, 0x02, 0x00, 0x18, 0x00, 0x78, 
-0xb1, 0xc8, 0x0b, 0xc5, 0x1a, 0x13, 0x4f, 0x06, 
-0x00, 0x09, 0xd5, 0xe5, 0xcd, 0xa8, 0x87, 0xe1, 
-0xd1, 0xc1, 0xd8, 0x18, 0xea, 0xc5, 0xe5, 0xd5, 
-0xcd, 0x72, 0x87, 0xd1, 0xe1, 0x38, 0x0b, 0x06, 
-0x00, 0x09, 0x79, 0x12, 0x13, 0xc1, 0x10, 0xed, 
-0xb7, 0xc5, 0xc1, 0xc9, 0x06, 0xff, 0xf5, 0x3e, 
-0xc0, 0xd3, 0x07, 0xfb, 0x76, 0x76, 0x10, 0xfb, 
-0xf1, 0xc9, 0xdb, 0x07, 0x2f, 0xe6, 0x03, 0xc9, 
-0xf3, 0x3e, 0xc0, 0xd3, 0x07, 0x06, 0x08, 0x16, 
-0xff, 0xcd, 0x98, 0x87, 0xd8, 0xc6, 0xfe, 0x3e, 
-0xe8, 0x30, 0x03, 0xc0, 0x3e, 0xd4, 0xd3, 0x07, 
-0xcb, 0x19, 0x14, 0xcd, 0x98, 0x87, 0xd8, 0x3e, 
-0xc0, 0xd3, 0x07, 0x10, 0xe2, 0xc9, 0x21, 0xff, 
-0xff, 0x2b, 0xdb, 0x07, 0xaa, 0xe6, 0x03, 0xc0, 
-0x7c, 0xb5, 0x20, 0xf5, 0x37, 0xc9, 0xf3, 0x06, 
-0x08, 0xcd, 0xbe, 0x87, 0xd8, 0xcb, 0x19, 0x3e, 
-0xd4, 0x30, 0x02, 0x3e, 0xe8, 0x14, 0xcd, 0xc2, 
-0x87, 0xd8, 0x10, 0xed, 0x3e, 0xc0, 0x16, 0xff, 
-0xd3, 0x07, 0x21, 0xff, 0xff, 0x2b, 0xdb, 0x07, 
-0xaa, 0xe6, 0x03, 0xc8, 0x7c, 0xb5, 0x20, 0xf5, 
-0x37, 0xc9, 0x06, 0x05, 0xeb, 0x3e, 0x20, 0xcd, 
-0x16, 0x88, 0x10, 0xf9, 0x21, 0x0d, 0x80, 0x7e, 
-0xf5, 0x35, 0xeb, 0x01, 0x0a, 0x10, 0xaf, 0x29, 
-0x8f, 0xb9, 0x38, 0x02, 0x91, 0x2c, 0x10, 0xf7, 
-0xeb, 0xc6, 0x30, 0xcd, 0x16, 0x88, 0x35, 0x7a, 
-0xb3, 0x20, 0xe6, 0xf1, 0x77, 0xc9, 0x7e, 0x23, 
-0xb7, 0xc8, 0xcd, 0x16, 0x88, 0x18, 0xf7, 0x21, 
-0x00, 0xfc, 0x75, 0x11, 0x01, 0xfc, 0x01, 0xff, 
-0x03, 0xed, 0xb0, 0xc9, 0xe5, 0xd5, 0xc5, 0x21, 
-0x00, 0x00, 0x01, 0x08, 0x00, 0xbe, 0x28, 0x03, 
-0x09, 0x30, 0xfa, 0x23, 0x01, 0x0c, 0x80, 0x0a, 
-0x0f, 0x5f, 0xf6, 0xfc, 0x57, 0x03, 0x0a, 0x3c, 
-0x02, 0x3d, 0x47, 0x87, 0x80, 0x0f, 0x0f, 0xab, 
-0xe6, 0x1f, 0xab, 0x5f, 0x06, 0x07, 0x3a, 0x0d, 
-0x80, 0xe6, 0x03, 0x28, 0x19, 0x3d, 0x28, 0x1c, 
-0x3d, 0x7e, 0x0f, 0x0f, 0x28, 0x20, 0x4f, 0x1c, 
-0x1a, 0xa9, 0xe6, 0x3f, 0xa9, 0x12, 0x1d, 0x1a, 
-0xa9, 0xe6, 0xf0, 0xa9, 0x18, 0x20, 0x1a, 0xe6, 
-0xc0, 0xb6, 0x18, 0x1a, 0x7e, 0x07, 0x07, 0x4f, 
-0x1a, 0xe6, 0x03, 0xb1, 0x18, 0x10, 0x0f, 0x0f, 
-0x4f, 0x1c, 0x1a, 0xa9, 0xe6, 0x0f, 0xa9, 0x12, 
-0x1d, 0x1a, 0xa9, 0xe6, 0xfc, 0xa9, 0x12, 0x23, 
-0x7b, 0xc6, 0x10, 0x5f, 0x10, 0xb8, 0xc1, 0xd1, 
-0xe1, 0xc9, 0x44, 0x75, 0x6d, 0x70, 0x69, 0x6e, 
-0x67, 0x20, 0x52, 0x4f, 0x4d, 0x2e, 0x2e, 0x2e, 
-0x00, 0x5b, 0x45, 0x58, 0x49, 0x54, 0x5d, 0x20, 
-0x74, 0x6f, 0x20, 0x63, 0x61, 0x6e, 0x63, 0x65, 
-0x6c, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 
-0x3a, 0x00, 0x30, 0x4b, 0x20, 0x6f, 0x66, 0x20, 
-0x31, 0x32, 0x38, 0x4b, 0x00, 0x00, 0x02, 0x00, 
-0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 
-0x3a, 0x00, 0x0c, 0x0c, 0x00, 0x0c, 0x0c, 0x00, 
-0x5b, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 
-0x5d, 0x18, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18, 
-0x30, 0x1c, 0x22, 0x26, 0x2a, 0x32, 0x22, 0x1c, 
-0x31, 0x08, 0x18, 0x08, 0x08, 0x08, 0x08, 0x1c, 
-0x32, 0x1c, 0x22, 0x02, 0x04, 0x08, 0x10, 0x3e, 
-0x33, 0x3e, 0x04, 0x08, 0x04, 0x02, 0x22, 0x1c, 
-0x34, 0x04, 0x0c, 0x14, 0x24, 0x3e, 0x04, 0x04, 
-0x35, 0x3e, 0x20, 0x3c, 0x02, 0x02, 0x22, 0x1c, 
-0x36, 0x0c, 0x10, 0x20, 0x3c, 0x22, 0x22, 0x1c, 
-0x37, 0x3e, 0x02, 0x04, 0x08, 0x10, 0x10, 0x10, 
-0x38, 0x1c, 0x22, 0x22, 0x1c, 0x22, 0x22, 0x1c, 
-0x39, 0x1c, 0x22, 0x22, 0x1e, 0x02, 0x04, 0x18, 
-0x44, 0x3c, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3c, 
-0x45, 0x3e, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x3e, 
-0x49, 0x1c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c, 
-0x4b, 0x22, 0x24, 0x28, 0x30, 0x28, 0x24, 0x22, 
-0x4d, 0x22, 0x36, 0x2a, 0x2a, 0x22, 0x22, 0x22, 
-0x4f, 0x1c, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1c, 
-0x52, 0x3c, 0x22, 0x22, 0x3c, 0x28, 0x24, 0x22, 
-0x54, 0x3e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-0x58, 0x22, 0x22, 0x14, 0x08, 0x14, 0x22, 0x22, 
-0x61, 0x00, 0x00, 0x1c, 0x02, 0x1e, 0x22, 0x1e, 
-0x63, 0x00, 0x00, 0x1c, 0x20, 0x20, 0x22, 0x1c, 
-0x65, 0x00, 0x00, 0x1c, 0x22, 0x3e, 0x20, 0x1c, 
-0x66, 0x0c, 0x12, 0x10, 0x38, 0x10, 0x10, 0x10, 
-0x67, 0x00, 0x1e, 0x22, 0x22, 0x1e, 0x02, 0x1c, 
-0x69, 0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0x1c, 
-0x6c, 0x18, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1c, 
-0x6d, 0x00, 0x00, 0x34, 0x2a, 0x2a, 0x22, 0x22, 
-0x6e, 0x00, 0x00, 0x2c, 0x32, 0x22, 0x22, 0x22, 
-0x6f, 0x00, 0x00, 0x1c, 0x22, 0x22, 0x22, 0x1c, 
-0x70, 0x00, 0x00, 0x3c, 0x22, 0x3c, 0x20, 0x20, 
-0x72, 0x00, 0x00, 0x2c, 0x32, 0x20, 0x20, 0x20, 
-0x73, 0x00, 0x00, 0x1c, 0x20, 0x1c, 0x02, 0x3c, 
-0x74, 0x10, 0x10, 0x38, 0x10, 0x10, 0x12, 0x0c, 
-0x75, 0x00, 0x00, 0x22, 0x22, 0x22, 0x26, 0x1a, 
-0x99, 0x72, 
 };
-static unsigned int romDumpSize85 = 1218;
+static unsigned int romDumpSize85 = 0;
diff --git a/src/rom86.h b/src/rom86.h
index 1103730..fc35d5e 100644
--- a/src/rom86.h
+++ b/src/rom86.h
@@ -1,89 +1,3 @@
 static unsigned char romDump86[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x36, 0x2a, 0x2a, 
-0x1a, 0x0a, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 
-0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x69, 
-0x70, 0x61, 0x63, 0x6b, 0x20, 0x30, 0x2e, 0x31, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x02, 0x0c, 
-0x00, 0x63, 0x02, 0x12, 0x07, 0x52, 0x4f, 0x4d, 
-0x44, 0x75, 0x6d, 0x70, 0x20, 0x63, 0x02, 0x61, 
-0x02, 0x8e, 0x28, 0xfd, 0xcb, 0x15, 0xbe, 0xfd, 
-0xcb, 0x08, 0x9e, 0xdb, 0x05, 0x32, 0x00, 0x90, 
-0x21, 0x00, 0x00, 0x22, 0x03, 0x90, 0x22, 0x05, 
-0x90, 0xcd, 0xb1, 0x4a, 0xcd, 0x82, 0x4a, 0x21, 
-0x00, 0x00, 0x22, 0x0f, 0xc0, 0x21, 0x71, 0xd9, 
-0xcd, 0x37, 0x4a, 0x11, 0x04, 0x00, 0xed, 0x53, 
-0x0f, 0xc0, 0xcd, 0x37, 0x4a, 0xfb, 0x76, 0xcd, 
-0x68, 0x40, 0xfe, 0x37, 0x28, 0x2f, 0xcd, 0x09, 
-0xd9, 0x28, 0xf2, 0xcd, 0x69, 0xd8, 0x38, 0x53, 
-0xed, 0x5b, 0x13, 0x90, 0x21, 0x55, 0xaa, 0xb7, 
-0xed, 0x52, 0x28, 0x09, 0x7a, 0xb7, 0x20, 0x43, 
-0x43, 0x10, 0x0a, 0x18, 0xd8, 0x21, 0x01, 0x00, 
-0xcd, 0x9f, 0xd8, 0x18, 0xd0, 0x10, 0x10, 0x21, 
-0x02, 0x00, 0xcd, 0x9f, 0xd8, 0xcd, 0x82, 0x4a, 
-0x21, 0x00, 0x00, 0x22, 0x0f, 0xc0, 0xc9, 0x10, 
-0x20, 0x21, 0xa3, 0xd9, 0x22, 0x0b, 0x90, 0x21, 
-0x04, 0x00, 0x22, 0x09, 0x90, 0x21, 0x03, 0x00, 
-0xcd, 0xa7, 0xd8, 0x21, 0x02, 0x04, 0x22, 0x0f, 
-0xc0, 0x21, 0x99, 0xd9, 0xcd, 0x37, 0x4a, 0x18, 
-0x9c, 0x10, 0x1c, 0x21, 0x07, 0x00, 0x22, 0x0f, 
-0xc0, 0x21, 0x91, 0xd9, 0xcd, 0x37, 0x4a, 0x2a, 
-0x03, 0x90, 0x23, 0x22, 0x03, 0x90, 0xaf, 0xcd, 
-0x33, 0x4a, 0xcd, 0xfb, 0xd8, 0x18, 0xe0, 0x10, 
-0xe2, 0x2a, 0x17, 0x90, 0x3a, 0x19, 0x90, 0xcb, 
-0x24, 0x17, 0xcb, 0x24, 0x17, 0xd3, 0x05, 0x37, 
-0xcb, 0x1c, 0xcb, 0x3c, 0x22, 0x0b, 0x90, 0xcd, 
-0x5f, 0xd8, 0x20, 0x19, 0x67, 0x6f, 0x22, 0x0f, 
-0x90, 0x21, 0x00, 0x04, 0x22, 0x0d, 0x90, 0x21, 
-0x0d, 0x90, 0x22, 0x0b, 0x90, 0x21, 0x04, 0x00, 
-0x11, 0x07, 0x00, 0x18, 0x06, 0x21, 0x00, 0x04, 
-0x11, 0x06, 0x00, 0x22, 0x09, 0x90, 0xeb, 0xcd, 
-0xa7, 0xd8, 0x3a, 0x00, 0x90, 0xd3, 0x05, 0x38, 
-0x9a, 0x21, 0x02, 0x00, 0x22, 0x0f, 0xc0, 0x2a, 
-0x05, 0x90, 0x23, 0x22, 0x05, 0x90, 0xaf, 0xcd, 
-0x33, 0x4a, 0x3e, 0x4b, 0xcd, 0x2b, 0x4a, 0x18, 
-0x9c, 0xe9, 0x7e, 0x01, 0x00, 0x04, 0xed, 0xa1, 
-0xe0, 0x28, 0xfb, 0xc9, 0x21, 0x00, 0x00, 0x11, 
-0x13, 0x90, 0x06, 0x04, 0xcd, 0xe4, 0xd8, 0xd8, 
-0x3a, 0x16, 0x90, 0xc6, 0xff, 0xd8, 0x3a, 0x15, 
-0x90, 0xb7, 0x28, 0x0b, 0x47, 0xc6, 0xbf, 0xd8, 
-0x11, 0x17, 0x90, 0xcd, 0xe4, 0xd8, 0xd8, 0xe5, 
-0x11, 0x11, 0x90, 0x06, 0x02, 0xcd, 0xe4, 0xd8, 
-0xd1, 0xd8, 0x2a, 0x11, 0x90, 0xed, 0x52, 0xc8, 
-0x37, 0xc9, 0xe5, 0x21, 0x00, 0x00, 0x22, 0x09, 
-0x90, 0xe1, 0x22, 0x07, 0x90, 0x21, 0x00, 0x00, 
-0x11, 0x07, 0x90, 0x01, 0x04, 0x00, 0xcd, 0xce, 
-0xd8, 0xd8, 0xed, 0x5b, 0x0b, 0x90, 0xed, 0x4b, 
-0x09, 0x90, 0xcd, 0xce, 0xd8, 0xd8, 0x22, 0x11, 
-0x90, 0x11, 0x11, 0x90, 0x01, 0x02, 0x00, 0x18, 
-0x00, 0x78, 0xb1, 0xc8, 0x0b, 0xc5, 0x1a, 0x13, 
-0x4f, 0x06, 0x00, 0x09, 0xd5, 0xe5, 0xcd, 0x45, 
-0xd9, 0xe1, 0xd1, 0xc1, 0xd8, 0x18, 0xea, 0xc5, 
-0xe5, 0xd5, 0xcd, 0x0f, 0xd9, 0xd1, 0xe1, 0x38, 
-0x0b, 0x06, 0x00, 0x09, 0x79, 0x12, 0x13, 0xc1, 
-0x10, 0xed, 0xb7, 0xc5, 0xc1, 0xc9, 0x06, 0xff, 
-0xf5, 0x3e, 0xc0, 0xd3, 0x07, 0xfb, 0x76, 0x76, 
-0x10, 0xfb, 0xf1, 0xc9, 0xdb, 0x07, 0x2f, 0xe6, 
-0x03, 0xc9, 0xf3, 0x3e, 0xc0, 0xd3, 0x07, 0x06, 
-0x08, 0x16, 0xff, 0xcd, 0x35, 0xd9, 0xd8, 0xc6, 
-0xfe, 0x3e, 0xe8, 0x30, 0x03, 0xc0, 0x3e, 0xd4, 
-0xd3, 0x07, 0xcb, 0x19, 0x14, 0xcd, 0x35, 0xd9, 
-0xd8, 0x3e, 0xc0, 0xd3, 0x07, 0x10, 0xe2, 0xc9, 
-0x21, 0xff, 0xff, 0x2b, 0xdb, 0x07, 0xaa, 0xe6, 
-0x03, 0xc0, 0x7c, 0xb5, 0x20, 0xf5, 0x37, 0xc9, 
-0xf3, 0x06, 0x08, 0xcd, 0x5b, 0xd9, 0xd8, 0xcb, 
-0x19, 0x3e, 0xd4, 0x30, 0x02, 0x3e, 0xe8, 0x14, 
-0xcd, 0x5f, 0xd9, 0xd8, 0x10, 0xed, 0x3e, 0xc0, 
-0x16, 0xff, 0xd3, 0x07, 0x21, 0xff, 0xff, 0x2b, 
-0xdb, 0x07, 0xaa, 0xe6, 0x03, 0xc8, 0x7c, 0xb5, 
-0x20, 0xf5, 0x37, 0xc9, 0x44, 0x75, 0x6d, 0x70, 
-0x69, 0x6e, 0x67, 0x20, 0x52, 0x4f, 0x4d, 0x2e, 
-0x2e, 0x2e, 0x00, 0x5b, 0x45, 0x58, 0x49, 0x54, 
-0x5d, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x61, 0x6e, 
-0x63, 0x65, 0x6c, 0x00, 0x45, 0x72, 0x72, 0x6f, 
-0x72, 0x73, 0x3a, 0x00, 0x30, 0x4b, 0x20, 0x6f, 
-0x66, 0x20, 0x32, 0x35, 0x36, 0x4b, 0x00, 0x00, 
-0x04, 0x00, 0x5d, 0xf9, 
 };
-static unsigned int romDumpSize86 = 684;
+static unsigned int romDumpSize86 = 0;
diff --git a/src/rom89.h b/src/rom89.h
index 920bc8c..c096ba3 100644
--- a/src/rom89.h
+++ b/src/rom89.h
@@ -1,183 +1,3 @@
 static unsigned char romDump89[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x39, 0x2a, 0x2a, 
-0x01, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x00, 
-0x72, 0x6f, 0x6d, 0x64, 0x75, 0x6d, 0x70, 0x00, 
-0x21, 0x00, 0x00, 0x00, 0x9d, 0x05, 0x00, 0x00, 
-0xa5, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x05, 0x43, 
-0x20, 0x78, 0x00, 0xc8, 0x70, 0x01, 0x22, 0x08, 
-0x02, 0x81, 0x00, 0x40, 0x00, 0x00, 0x66, 0x10, 
-0x42, 0x40, 0x22, 0x68, 0x00, 0xbc, 0x0c, 0x29, 
-0x00, 0xc8, 0x00, 0x02, 0x65, 0x02, 0x70, 0x03, 
-0x43, 0xfa, 0x00, 0xac, 0x32, 0x80, 0x48, 0xe7, 
-0x1c, 0x04, 0x2a, 0x78, 0x00, 0xc8, 0x43, 0xfa, 
-0x00, 0x00, 0x28, 0x09, 0x02, 0x84, 0x00, 0x03, 
-0xff, 0xff, 0x76, 0x01, 0x61, 0x3e, 0x4a, 0x40, 
-0x66, 0x14, 0x28, 0x2f, 0x00, 0x10, 0x0c, 0x84, 
-0x00, 0x1f, 0xff, 0xff, 0x62, 0x08, 0x02, 0x84, 
-0x00, 0x03, 0xff, 0xff, 0x61, 0x26, 0x30, 0x3c, 
-0x03, 0xbf, 0x41, 0xf8, 0x4c, 0x00, 0x2f, 0x18, 
-0x51, 0xc8, 0xff, 0xfc, 0x61, 0x6a, 0x30, 0x3c, 
-0x03, 0xbf, 0x41, 0xf8, 0x5b, 0x00, 0x21, 0x1f, 
-0x51, 0xc8, 0xff, 0xfc, 0x61, 0x06, 0x4c, 0xdf, 
-0x20, 0x38, 0x4e, 0x75, 0x3f, 0x3c, 0x00, 0x06, 
-0x42, 0xa7, 0x20, 0x6d, 0x01, 0xb0, 0x4e, 0x90, 
-0x5c, 0x8f, 0x42, 0x40, 0x2a, 0x08, 0x67, 0x3c, 
-0x3f, 0x28, 0x00, 0x0c, 0x20, 0x6d, 0x02, 0x58, 
-0x4e, 0x90, 0x54, 0x8f, 0xb1, 0xc4, 0x62, 0x20, 
-0x70, 0x00, 0x30, 0x10, 0xd1, 0xc0, 0xb1, 0xc4, 
-0x63, 0x16, 0x70, 0x01, 0x20, 0x45, 0x41, 0xe8, 
-0x00, 0x0b, 0x4a, 0x43, 0x67, 0x12, 0x72, 0x10, 
-0x16, 0x10, 0xc6, 0x41, 0x83, 0x10, 0x4e, 0x75, 
-0x20, 0x6d, 0x01, 0xb4, 0x4e, 0x90, 0x60, 0xc2, 
-0x02, 0x10, 0x00, 0xef, 0x4e, 0x75, 0xff, 0xff, 
-0x4f, 0xef, 0xef, 0xb4, 0x48, 0xe7, 0x1e, 0x30, 
-0x20, 0x6d, 0x06, 0x78, 0x4e, 0x90, 0x3f, 0x3c, 
-0x00, 0x02, 0x20, 0x6d, 0x06, 0x3c, 0x4e, 0x90, 
-0x48, 0x7a, 0x03, 0xb8, 0x48, 0x7a, 0x03, 0xb9, 
-0x45, 0xef, 0x10, 0x48, 0x2f, 0x0a, 0x20, 0x6d, 
-0x01, 0x4c, 0x4e, 0x90, 0x3f, 0x3c, 0x00, 0x01, 
-0x2f, 0x0a, 0x42, 0xa7, 0x20, 0x6d, 0x06, 0xa4, 
-0x4e, 0x90, 0x61, 0x00, 0x03, 0xf8, 0x3f, 0x00, 
-0x48, 0x7a, 0x03, 0xa3, 0x2f, 0x0a, 0x20, 0x6d, 
-0x01, 0x4c, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x20, 
-0x3e, 0xbc, 0x00, 0x01, 0x2f, 0x0a, 0x48, 0x78, 
-0x00, 0x14, 0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 
-0x22, 0x0d, 0x02, 0x81, 0x00, 0xe0, 0x00, 0x00, 
-0x2f, 0x01, 0x48, 0x7a, 0x03, 0x84, 0x2f, 0x0a, 
-0x20, 0x6d, 0x01, 0x4c, 0x4e, 0x90, 0x3f, 0x3c, 
-0x00, 0x01, 0x2f, 0x0a, 0x48, 0x78, 0x00, 0x28, 
-0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 0x4f, 0xef, 
-0x00, 0x1c, 0x2e, 0xbc, 0x00, 0x00, 0x00, 0x00, 
-0x2f, 0x0a, 0x20, 0x6d, 0x01, 0x4c, 0x4e, 0x90, 
-0x3f, 0x3c, 0x00, 0x01, 0x2f, 0x0a, 0x48, 0x78, 
-0x00, 0x50, 0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 
-0x3c, 0x3a, 0xff, 0x54, 0x4f, 0xef, 0x00, 0x12, 
-0x48, 0x78, 0x00, 0x14, 0x48, 0x78, 0x00, 0x04, 
-0x45, 0xef, 0x00, 0x22, 0x2f, 0x0a, 0x20, 0x6d, 
-0x01, 0x6c, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 
-0x4a, 0x40, 0x67, 0x04, 0x78, 0xff, 0x60, 0x60, 
-0x18, 0x2f, 0x00, 0x1b, 0xe1, 0x4c, 0x42, 0x40, 
-0x10, 0x2f, 0x00, 0x1a, 0x88, 0x40, 0x16, 0x2f, 
-0x00, 0x1d, 0xe1, 0x4b, 0x42, 0x40, 0x10, 0x2f, 
-0x00, 0x1c, 0x86, 0x40, 0x47, 0xfa, 0x02, 0xc4, 
-0x70, 0x04, 0x20, 0x4a, 0x4e, 0x93, 0x48, 0x78, 
-0x00, 0x14, 0x7a, 0x00, 0x3a, 0x03, 0x2f, 0x05, 
-0x2f, 0x0a, 0x20, 0x6d, 0x01, 0x6c, 0x4e, 0x90, 
-0x4f, 0xef, 0x00, 0x0c, 0x4a, 0x40, 0x66, 0x20, 
-0x48, 0x78, 0x00, 0x14, 0x48, 0x78, 0x00, 0x02, 
-0x48, 0x72, 0x58, 0x00, 0x20, 0x6d, 0x01, 0x6c, 
-0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 0x4a, 0x40, 
-0x66, 0x06, 0x30, 0x03, 0x20, 0x4a, 0x4e, 0x93, 
-0x20, 0x6d, 0x01, 0x48, 0x4e, 0x90, 0x3a, 0x00, 
-0x0c, 0x44, 0x00, 0x02, 0x67, 0x20, 0x0c, 0x44, 
-0x00, 0x03, 0x67, 0x2c, 0x0c, 0x44, 0x00, 0x05, 
-0x67, 0x00, 0x00, 0xdc, 0x0c, 0x44, 0xaa, 0x55, 
-0x66, 0x00, 0x01, 0xe0, 0x93, 0xc9, 0x42, 0x41, 
-0x70, 0x01, 0x60, 0x00, 0x01, 0xd0, 0x93, 0xc9, 
-0x42, 0x41, 0x70, 0x02, 0x41, 0xef, 0x00, 0x1a, 
-0x61, 0x00, 0x01, 0xd8, 0x60, 0x00, 0x01, 0xca, 
-0x0c, 0x46, 0x00, 0x03, 0x66, 0x04, 0x70, 0x01, 
-0x60, 0x14, 0x20, 0x0d, 0x02, 0x80, 0x00, 0xe0, 
-0x00, 0x00, 0x0c, 0x80, 0x00, 0x80, 0x00, 0x00, 
-0x57, 0xc0, 0x48, 0x80, 0x44, 0x40, 0x48, 0xc0, 
-0x72, 0x20, 0x48, 0x41, 0xe1, 0xa9, 0x24, 0x01, 
-0x42, 0x42, 0x48, 0x42, 0xe0, 0x4a, 0x20, 0x01, 
-0x02, 0x80, 0x00, 0xff, 0x00, 0x00, 0xe0, 0x88, 
-0x84, 0x80, 0x20, 0x01, 0x02, 0x80, 0x00, 0x00, 
-0xff, 0x00, 0xe1, 0x88, 0xe1, 0x49, 0x48, 0x41, 
-0x42, 0x41, 0x82, 0x80, 0x43, 0xef, 0x10, 0x64, 
-0x84, 0x81, 0x23, 0x02, 0x72, 0x04, 0x70, 0x03, 
-0x41, 0xef, 0x00, 0x1a, 0x61, 0x00, 0x01, 0x74, 
-0x20, 0x0d, 0x20, 0x6d, 0x01, 0x4c, 0x0c, 0x46, 
-0x00, 0x03, 0x66, 0x04, 0x70, 0x01, 0x60, 0x12, 
-0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 0x0c, 0x80, 
-0x00, 0x80, 0x00, 0x00, 0x57, 0xc0, 0x48, 0x80, 
-0x44, 0x40, 0x32, 0x00, 0x48, 0xc1, 0x70, 0x20, 
-0x48, 0x40, 0xe3, 0xa8, 0x72, 0x0a, 0xe2, 0xa8, 
-0x2f, 0x00, 0x48, 0x7a, 0x02, 0x0d, 0x45, 0xef, 
-0x10, 0x28, 0x2f, 0x0a, 0x4e, 0x90, 0x3f, 0x3c, 
-0x00, 0x04, 0x2f, 0x0a, 0x48, 0x78, 0x00, 0x3c, 
-0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 0x4f, 0xef, 
-0x00, 0x16, 0x60, 0x00, 0x01, 0x0e, 0x76, 0x00, 
-0x16, 0x2f, 0x00, 0x1b, 0xe1, 0x8b, 0x86, 0x2f, 
-0x00, 0x1a, 0x12, 0x2f, 0x00, 0x1d, 0xe1, 0x49, 
-0x48, 0x41, 0x42, 0x41, 0x70, 0x00, 0x10, 0x2f, 
-0x00, 0x1c, 0x48, 0x40, 0x42, 0x40, 0x82, 0x80, 
-0x86, 0x81, 0x0c, 0x46, 0x00, 0x03, 0x66, 0x04, 
-0x70, 0x01, 0x60, 0x14, 0x20, 0x0d, 0x02, 0x80, 
-0x00, 0xe0, 0x00, 0x00, 0x0c, 0x80, 0x00, 0x80, 
-0x00, 0x00, 0x57, 0xc0, 0x48, 0x80, 0x44, 0x40, 
-0x32, 0x00, 0x48, 0xc1, 0x70, 0x20, 0x48, 0x40, 
-0xe3, 0xa8, 0xb0, 0x83, 0x64, 0x0e, 0x93, 0xc9, 
-0x42, 0x41, 0x70, 0x04, 0x41, 0xef, 0x00, 0x1a, 
-0x61, 0x00, 0x00, 0xc0, 0x20, 0x0d, 0x20, 0x6d, 
-0x01, 0x4c, 0x0c, 0x46, 0x00, 0x03, 0x66, 0x04, 
-0x70, 0x01, 0x60, 0x12, 0x02, 0x80, 0x00, 0xe0, 
-0x00, 0x00, 0x0c, 0x80, 0x00, 0x80, 0x00, 0x00, 
-0x57, 0xc0, 0x48, 0x80, 0x44, 0x40, 0x32, 0x00, 
-0x48, 0xc1, 0x70, 0x20, 0x48, 0x40, 0xe3, 0xa8, 
-0x72, 0x0a, 0xe2, 0xa8, 0x2f, 0x00, 0x20, 0x03, 
-0xe2, 0xa8, 0x2f, 0x00, 0x48, 0x7a, 0x01, 0x60, 
-0x45, 0xef, 0x10, 0x2c, 0x2f, 0x0a, 0x4e, 0x90, 
-0x3f, 0x3c, 0x00, 0x04, 0x2f, 0x0a, 0x48, 0x78, 
-0x00, 0x3c, 0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 
-0x20, 0x0d, 0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 
-0x22, 0x40, 0xd3, 0xc3, 0x10, 0x11, 0x72, 0x00, 
-0x4f, 0xef, 0x00, 0x1a, 0xb0, 0x31, 0x18, 0x00, 
-0x66, 0x34, 0x34, 0x01, 0x52, 0x42, 0x52, 0x81, 
-0x0c, 0x81, 0x00, 0x00, 0x10, 0x00, 0x66, 0xec, 
-0x0c, 0x42, 0x10, 0x00, 0x66, 0x20, 0x02, 0x40, 
-0x00, 0xff, 0x42, 0x2f, 0x10, 0x5c, 0x1f, 0x7c, 
-0x00, 0x10, 0x10, 0x5d, 0x1f, 0x40, 0x10, 0x5e, 
-0x42, 0x2f, 0x10, 0x5f, 0x43, 0xef, 0x10, 0x5c, 
-0x72, 0x04, 0x70, 0x07, 0x60, 0x06, 0x32, 0x3c, 
-0x10, 0x00, 0x70, 0x06, 0x41, 0xef, 0x00, 0x1a, 
-0x61, 0x10, 0x4a, 0x45, 0x67, 0x00, 0xfd, 0x7a, 
-0x4c, 0xdf, 0x0c, 0x78, 0x4f, 0xef, 0x10, 0x4c, 
-0x4e, 0x75, 0x48, 0xe7, 0x1c, 0x38, 0x26, 0x48, 
-0x38, 0x01, 0x2a, 0x09, 0x28, 0x48, 0x18, 0xc0, 
-0xe0, 0x48, 0x18, 0x80, 0x17, 0x41, 0x00, 0x02, 
-0x30, 0x01, 0xe0, 0x48, 0x11, 0x40, 0x00, 0x03, 
-0x48, 0x78, 0x00, 0x04, 0x2f, 0x08, 0x20, 0x6d, 
-0x01, 0x68, 0x4e, 0x90, 0x50, 0x8f, 0x4a, 0x40, 
-0x66, 0x3a, 0x3f, 0x04, 0x42, 0x67, 0x2f, 0x05, 
-0x20, 0x6d, 0x01, 0x68, 0x4e, 0x90, 0x50, 0x8f, 
-0x4a, 0x40, 0x66, 0x28, 0x45, 0xfa, 0x00, 0x2c, 
-0x70, 0x04, 0x20, 0x4b, 0x4e, 0x92, 0x36, 0x00, 
-0x30, 0x04, 0x20, 0x45, 0x4e, 0x92, 0xd6, 0x40, 
-0x16, 0x83, 0xe0, 0x4b, 0x18, 0x83, 0x48, 0x78, 
-0x00, 0x02, 0x2f, 0x0b, 0x20, 0x6d, 0x01, 0x68, 
-0x4e, 0x90, 0x50, 0x8f, 0x4c, 0xdf, 0x1c, 0x38, 
-0x4e, 0x75, 0x34, 0x00, 0x42, 0x41, 0x93, 0xc9, 
-0x60, 0x10, 0x70, 0x00, 0x30, 0x01, 0x10, 0x30, 
-0x08, 0x00, 0x02, 0x40, 0x00, 0xff, 0xd2, 0xc0, 
-0x52, 0x41, 0xb4, 0x41, 0x66, 0xec, 0x30, 0x09, 
-0x4e, 0x75, 0x31, 0x2e, 0x30, 0x32, 0x00, 0x52, 
-0x6f, 0x6d, 0x44, 0x75, 0x6d, 0x70, 0x65, 0x72, 
-0x20, 0x76, 0x25, 0x73, 0x00, 0x54, 0x79, 0x70, 
-0x65, 0x3a, 0x20, 0x48, 0x57, 0x25, 0x69, 0x00, 
-0x52, 0x4f, 0x4d, 0x20, 0x62, 0x61, 0x73, 0x65, 
-0x3a, 0x20, 0x30, 0x78, 0x25, 0x6c, 0x78, 0x00, 
-0x62, 0x79, 0x20, 0x54, 0x68, 0x65, 0x20, 0x54, 
-0x69, 0x4c, 0x50, 0x20, 0x54, 0x65, 0x61, 0x6d, 
-0x00, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x25, 
-0x6c, 0x75, 0x20, 0x4b, 0x42, 0x00, 0x44, 0x6f, 
-0x6e, 0x65, 0x3a, 0x20, 0x25, 0x6c, 0x75, 0x2f, 
-0x25, 0x6c, 0x75, 0x4b, 0x42, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x00, 0x00, 0x20, 0x38, 0x00, 0xc8, 
-0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 0x20, 0x40, 
-0x22, 0x68, 0x01, 0x04, 0xd1, 0xfc, 0x00, 0x01, 
-0x00, 0x00, 0xb3, 0xc8, 0x64, 0x14, 0x0c, 0x51, 
-0x00, 0x16, 0x63, 0x0e, 0x4e, 0x4c, 0x46, 0xfc, 
-0x30, 0x00, 0x40, 0xc1, 0x46, 0xc0, 0xe7, 0x49, 
-0x6a, 0x04, 0x70, 0x01, 0x4e, 0x75, 0x20, 0x29, 
-0x00, 0x16, 0x4e, 0x75, 0x00, 0x00, 0x04, 0xd0, 
-0x01, 0x5c, 0xf3, 0x59, 0x81, 
 };
-static unsigned int romDumpSize89 = 1437;
+static unsigned int romDumpSize89 = 0;
diff --git a/src/rom89t.h b/src/rom89t.h
index 5d13a75..6886f0d 100644
--- a/src/rom89t.h
+++ b/src/rom89t.h
@@ -1,220 +1,3 @@
 static unsigned char romDump89t[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x38, 0x39, 0x2a, 0x2a, 
-0x01, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x00, 
-0x72, 0x6f, 0x6d, 0x64, 0x75, 0x6d, 0x70, 0x00, 
-0x21, 0x00, 0x00, 0x00, 0xc5, 0x06, 0x00, 0x00, 
-0xa5, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x06, 0x6b, 
-0x20, 0x78, 0x00, 0xc8, 0x70, 0x01, 0x22, 0x08, 
-0x02, 0x81, 0x00, 0x40, 0x00, 0x00, 0x66, 0x10, 
-0x42, 0x40, 0x22, 0x68, 0x00, 0xbc, 0x0c, 0x29, 
-0x00, 0xc8, 0x00, 0x02, 0x65, 0x02, 0x70, 0x03, 
-0x4a, 0x40, 0x67, 0x0e, 0x48, 0x7a, 0x00, 0xb6, 
-0x20, 0x68, 0x03, 0x98, 0x4e, 0x90, 0x58, 0x8f, 
-0x4e, 0x75, 0x48, 0xe7, 0x1c, 0x04, 0x2a, 0x78, 
-0x00, 0xc8, 0x43, 0xfa, 0x00, 0x00, 0x28, 0x09, 
-0x02, 0x84, 0x00, 0x03, 0xff, 0xff, 0x76, 0x01, 
-0x61, 0x40, 0x4a, 0x40, 0x66, 0x14, 0x28, 0x2f, 
-0x00, 0x10, 0x0c, 0x84, 0x00, 0x1f, 0xff, 0xff, 
-0x62, 0x08, 0x02, 0x84, 0x00, 0x03, 0xff, 0xff, 
-0x61, 0x28, 0x30, 0x3c, 0x03, 0xbf, 0x41, 0xf8, 
-0x4c, 0x00, 0x2f, 0x18, 0x51, 0xc8, 0xff, 0xfc, 
-0x61, 0x00, 0x00, 0x82, 0x30, 0x3c, 0x03, 0xbf, 
-0x41, 0xf8, 0x5b, 0x00, 0x21, 0x1f, 0x51, 0xc8, 
-0xff, 0xfc, 0x61, 0x06, 0x4c, 0xdf, 0x20, 0x38, 
-0x4e, 0x75, 0x3f, 0x3c, 0x00, 0x06, 0x42, 0xa7, 
-0x20, 0x6d, 0x01, 0xb0, 0x4e, 0x90, 0x5c, 0x8f, 
-0x42, 0x40, 0x2a, 0x08, 0x67, 0x3c, 0x3f, 0x28, 
-0x00, 0x0c, 0x20, 0x6d, 0x02, 0x58, 0x4e, 0x90, 
-0x54, 0x8f, 0xb1, 0xc4, 0x62, 0x20, 0x70, 0x00, 
-0x30, 0x10, 0xd1, 0xc0, 0xb1, 0xc4, 0x63, 0x16, 
-0x70, 0x01, 0x20, 0x45, 0x41, 0xe8, 0x00, 0x0b, 
-0x4a, 0x43, 0x67, 0x12, 0x72, 0x10, 0x16, 0x10, 
-0xc6, 0x41, 0x83, 0x10, 0x4e, 0x75, 0x20, 0x6d, 
-0x01, 0xb4, 0x4e, 0x90, 0x60, 0xc2, 0x02, 0x10, 
-0x00, 0xef, 0x4e, 0x75, 0x57, 0x72, 0x6f, 0x6e, 
-0x67, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 
-0x61, 0x74, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x64, 
-0x65, 0x6c, 0x00, 0x00, 0x4e, 0x56, 0xef, 0xb4, 
-0x48, 0xe7, 0x1f, 0x20, 0x20, 0x6d, 0x06, 0x78, 
-0x4e, 0x90, 0x3f, 0x3c, 0x00, 0x02, 0x20, 0x6d, 
-0x06, 0x3c, 0x4e, 0x90, 0x48, 0x7a, 0x04, 0xb8, 
-0x48, 0x7a, 0x04, 0xbd, 0x45, 0xee, 0xff, 0xda, 
-0x2f, 0x0a, 0x20, 0x6d, 0x01, 0x4c, 0x4e, 0x90, 
-0x3f, 0x3c, 0x00, 0x01, 0x2f, 0x0a, 0x42, 0xa7, 
-0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 0x61, 0x00, 
-0x04, 0xfc, 0x3f, 0x00, 0x48, 0x7a, 0x04, 0xa7, 
-0x2f, 0x0a, 0x20, 0x6d, 0x01, 0x4c, 0x4e, 0x90, 
-0x4f, 0xef, 0x00, 0x20, 0x3e, 0xbc, 0x00, 0x01, 
-0x2f, 0x0a, 0x48, 0x78, 0x00, 0x14, 0x20, 0x6d, 
-0x06, 0xa4, 0x4e, 0x90, 0x22, 0x0d, 0x02, 0x81, 
-0x00, 0xe0, 0x00, 0x00, 0x2f, 0x01, 0x48, 0x7a, 
-0x04, 0x88, 0x2f, 0x0a, 0x20, 0x6d, 0x01, 0x4c, 
-0x4e, 0x90, 0x3f, 0x3c, 0x00, 0x01, 0x2f, 0x0a, 
-0x48, 0x78, 0x00, 0x28, 0x20, 0x6d, 0x06, 0xa4, 
-0x4e, 0x90, 0x4f, 0xef, 0x00, 0x1c, 0x2e, 0xbc, 
-0x00, 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x20, 0x6d, 
-0x01, 0x4c, 0x4e, 0x90, 0x3f, 0x3c, 0x00, 0x01, 
-0x2f, 0x0a, 0x48, 0x78, 0x00, 0x50, 0x20, 0x6d, 
-0x06, 0xa4, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x12, 
-0x20, 0x6d, 0x0f, 0x10, 0x20, 0x28, 0xfb, 0xa8, 
-0x22, 0x28, 0xfb, 0xac, 0x24, 0x3c, 0x76, 0x02, 
-0x10, 0x03, 0x26, 0x3c, 0x26, 0x1f, 0x4e, 0x75, 
-0x92, 0x83, 0x91, 0x82, 0x66, 0x06, 0x41, 0xe8, 
-0xfb, 0xc6, 0x60, 0x08, 0x30, 0x7c, 0xff, 0xaa, 
-0xd1, 0xed, 0x0a, 0x4c, 0x20, 0x50, 0x41, 0xe8, 
-0xff, 0x0a, 0x48, 0x78, 0x07, 0xd0, 0x48, 0x78, 
-0x00, 0x04, 0x2a, 0x0e, 0x06, 0x85, 0xff, 0xff, 
-0xef, 0xb6, 0x2f, 0x05, 0x4e, 0x90, 0x4f, 0xef, 
-0x00, 0x0c, 0x4a, 0x40, 0x67, 0x06, 0x78, 0xff, 
-0x60, 0x00, 0x00, 0xc4, 0x18, 0x2e, 0xef, 0xb7, 
-0xe1, 0x4c, 0x42, 0x40, 0x10, 0x2e, 0xef, 0xb6, 
-0x88, 0x40, 0x16, 0x2e, 0xef, 0xb9, 0xe1, 0x4b, 
-0x42, 0x40, 0x10, 0x2e, 0xef, 0xb8, 0x86, 0x40, 
-0x70, 0x04, 0x20, 0x45, 0x61, 0x00, 0x03, 0x90, 
-0x20, 0x6d, 0x0f, 0x10, 0x20, 0x28, 0xfb, 0xa8, 
-0x22, 0x28, 0xfb, 0xac, 0x2a, 0x3c, 0x76, 0x02, 
-0x10, 0x03, 0x2c, 0x3c, 0x26, 0x1f, 0x4e, 0x75, 
-0x92, 0x86, 0x91, 0x85, 0x66, 0x06, 0x41, 0xe8, 
-0xfb, 0xc6, 0x60, 0x08, 0x30, 0x7c, 0xff, 0xaa, 
-0xd1, 0xed, 0x0a, 0x4c, 0x7a, 0x00, 0x3a, 0x03, 
-0x20, 0x50, 0x41, 0xe8, 0xff, 0x0a, 0x48, 0x78, 
-0x07, 0xd0, 0x2f, 0x05, 0x48, 0x6e, 0xef, 0xb6, 
-0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 0x4a, 0x40, 
-0x66, 0x54, 0x20, 0x6d, 0x0f, 0x10, 0x20, 0x28, 
-0xfb, 0xa8, 0x22, 0x28, 0xfb, 0xac, 0x2c, 0x3c, 
-0x76, 0x02, 0x10, 0x03, 0x2e, 0x3c, 0x26, 0x1f, 
-0x4e, 0x75, 0x92, 0x87, 0x91, 0x86, 0x66, 0x06, 
-0x41, 0xe8, 0xfb, 0xc6, 0x60, 0x08, 0x30, 0x7c, 
-0xff, 0xaa, 0xd1, 0xed, 0x0a, 0x4c, 0x20, 0x50, 
-0x41, 0xe8, 0xff, 0x0a, 0x48, 0x78, 0x07, 0xd0, 
-0x48, 0x78, 0x00, 0x02, 0x45, 0xee, 0xef, 0xb6, 
-0x48, 0x72, 0x58, 0x00, 0x4e, 0x90, 0x4f, 0xef, 
-0x00, 0x0c, 0x4a, 0x40, 0x66, 0x08, 0x30, 0x03, 
-0x20, 0x4a, 0x61, 0x00, 0x02, 0xf2, 0x20, 0x6d, 
-0x01, 0x48, 0x4e, 0x90, 0x3a, 0x00, 0x0c, 0x44, 
-0x00, 0x02, 0x67, 0x20, 0x0c, 0x44, 0x00, 0x03, 
-0x67, 0x2c, 0x0c, 0x44, 0x00, 0x05, 0x67, 0x00, 
-0x00, 0x96, 0x0c, 0x44, 0xaa, 0x55, 0x66, 0x00, 
-0x01, 0x7c, 0x93, 0xc9, 0x42, 0x41, 0x70, 0x01, 
-0x60, 0x00, 0x01, 0x6c, 0x93, 0xc9, 0x42, 0x41, 
-0x70, 0x02, 0x41, 0xee, 0xef, 0xb6, 0x61, 0x00, 
-0x01, 0xa8, 0x60, 0x00, 0x01, 0x66, 0x20, 0x0d, 
-0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 0x72, 0x40, 
-0x48, 0x41, 0x0c, 0x80, 0x00, 0x80, 0x00, 0x00, 
-0x67, 0x04, 0x72, 0x20, 0x48, 0x41, 0xe0, 0x89, 
-0x22, 0x4e, 0x23, 0x01, 0x72, 0x04, 0x70, 0x03, 
-0x41, 0xee, 0xef, 0xb6, 0x61, 0x00, 0x01, 0x7a, 
-0x20, 0x0d, 0x20, 0x6d, 0x01, 0x4c, 0x02, 0x80, 
-0x00, 0xe0, 0x00, 0x00, 0x22, 0x3c, 0x00, 0x00, 
-0x10, 0x00, 0x0c, 0x80, 0x00, 0x80, 0x00, 0x00, 
-0x67, 0x06, 0x22, 0x3c, 0x00, 0x00, 0x08, 0x00, 
-0x2f, 0x01, 0x48, 0x7a, 0x02, 0xc5, 0x45, 0xee, 
-0xff, 0xbc, 0x2f, 0x0a, 0x4e, 0x90, 0x3f, 0x3c, 
-0x00, 0x04, 0x2f, 0x0a, 0x48, 0x78, 0x00, 0x3c, 
-0x20, 0x6d, 0x06, 0xa4, 0x4e, 0x90, 0x4f, 0xef, 
-0x00, 0x16, 0x60, 0x00, 0x00, 0xf0, 0x76, 0x00, 
-0x16, 0x2e, 0xef, 0xb7, 0xe1, 0x8b, 0x86, 0x2e, 
-0xef, 0xb6, 0x10, 0x2e, 0xef, 0xb9, 0xe1, 0x48, 
-0x48, 0x40, 0x42, 0x40, 0x72, 0x00, 0x12, 0x2e, 
-0xef, 0xb8, 0x48, 0x41, 0x42, 0x41, 0x80, 0x81, 
-0x86, 0x80, 0x20, 0x0d, 0x02, 0x80, 0x00, 0xe0, 
-0x00, 0x00, 0x72, 0x40, 0x48, 0x41, 0x0c, 0x80, 
-0x00, 0x80, 0x00, 0x00, 0x67, 0x04, 0x72, 0x20, 
-0x48, 0x41, 0xb2, 0x83, 0x64, 0x0e, 0x93, 0xc9, 
-0x42, 0x41, 0x70, 0x04, 0x41, 0xee, 0xef, 0xb6, 
-0x61, 0x00, 0x00, 0xe6, 0x20, 0x0d, 0x20, 0x6d, 
-0x01, 0x4c, 0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 
-0x22, 0x3c, 0x00, 0x00, 0x10, 0x00, 0x0c, 0x80, 
-0x00, 0x80, 0x00, 0x00, 0x67, 0x06, 0x22, 0x3c, 
-0x00, 0x00, 0x08, 0x00, 0x2f, 0x01, 0x20, 0x03, 
-0x7e, 0x0a, 0xee, 0xa8, 0x2f, 0x00, 0x48, 0x7a, 
-0x02, 0x36, 0x45, 0xee, 0xff, 0xbc, 0x2f, 0x0a, 
-0x4e, 0x90, 0x3f, 0x3c, 0x00, 0x04, 0x2f, 0x0a, 
-0x48, 0x78, 0x00, 0x3c, 0x20, 0x6d, 0x06, 0xa4, 
-0x4e, 0x90, 0x20, 0x0d, 0x02, 0x80, 0x00, 0xe0, 
-0x00, 0x00, 0x22, 0x40, 0xd3, 0xc3, 0x10, 0x11, 
-0x72, 0x00, 0x4f, 0xef, 0x00, 0x1a, 0xb0, 0x31, 
-0x18, 0x00, 0x66, 0x34, 0x34, 0x01, 0x52, 0x42, 
-0x52, 0x81, 0x0c, 0x81, 0x00, 0x00, 0x10, 0x00, 
-0x66, 0xec, 0x0c, 0x42, 0x10, 0x00, 0x66, 0x20, 
-0x02, 0x40, 0x00, 0xff, 0x42, 0x2e, 0xff, 0xf8, 
-0x1d, 0x7c, 0x00, 0x10, 0xff, 0xf9, 0x1d, 0x40, 
-0xff, 0xfa, 0x42, 0x2e, 0xff, 0xfb, 0x43, 0xee, 
-0xff, 0xf8, 0x72, 0x04, 0x70, 0x07, 0x60, 0x06, 
-0x32, 0x3c, 0x10, 0x00, 0x70, 0x06, 0x41, 0xee, 
-0xef, 0xb6, 0x61, 0x44, 0x4a, 0x45, 0x67, 0x00, 
-0xfd, 0x48, 0x20, 0x6d, 0x0f, 0x10, 0x20, 0x28, 
-0xfb, 0xa8, 0x22, 0x28, 0xfb, 0xac, 0x24, 0x3c, 
-0x76, 0x02, 0x10, 0x03, 0x26, 0x3c, 0x26, 0x1f, 
-0x4e, 0x75, 0x92, 0x83, 0x91, 0x82, 0x66, 0x06, 
-0x41, 0xe8, 0xfb, 0xc6, 0x60, 0x08, 0x30, 0x7c, 
-0xff, 0xaa, 0xd1, 0xed, 0x0a, 0x4c, 0x20, 0x50, 
-0x41, 0xe8, 0xfe, 0xf6, 0x4e, 0x90, 0x4c, 0xee, 
-0x04, 0xf8, 0xef, 0x9c, 0x4e, 0x5e, 0x4e, 0x75, 
-0x48, 0xe7, 0x1c, 0x38, 0x26, 0x48, 0x38, 0x01, 
-0x2a, 0x09, 0x28, 0x48, 0x18, 0xc0, 0xe0, 0x48, 
-0x18, 0x80, 0x17, 0x41, 0x00, 0x02, 0x30, 0x01, 
-0xe0, 0x48, 0x11, 0x40, 0x00, 0x03, 0x20, 0x6d, 
-0x0f, 0x10, 0x20, 0x28, 0xfb, 0xa8, 0x22, 0x28, 
-0xfb, 0xac, 0x24, 0x3c, 0x76, 0x02, 0x10, 0x03, 
-0x26, 0x3c, 0x26, 0x1f, 0x4e, 0x75, 0x92, 0x83, 
-0x91, 0x82, 0x66, 0x06, 0x41, 0xe8, 0xfb, 0xc6, 
-0x60, 0x08, 0x30, 0x7c, 0xff, 0xaa, 0xd1, 0xed, 
-0x0a, 0x4c, 0x20, 0x50, 0x41, 0xe8, 0xfe, 0x12, 
-0x48, 0x78, 0x07, 0xd0, 0x48, 0x78, 0x00, 0x04, 
-0x2f, 0x0b, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 
-0x4a, 0x40, 0x66, 0x00, 0x00, 0xa4, 0x20, 0x6d, 
-0x0f, 0x10, 0x20, 0x28, 0xfb, 0xa8, 0x22, 0x28, 
-0xfb, 0xac, 0x24, 0x3c, 0x76, 0x02, 0x10, 0x03, 
-0x26, 0x3c, 0x26, 0x1f, 0x4e, 0x75, 0x92, 0x83, 
-0x91, 0x82, 0x66, 0x06, 0x41, 0xe8, 0xfb, 0xc6, 
-0x60, 0x08, 0x30, 0x7c, 0xff, 0xaa, 0xd1, 0xed, 
-0x0a, 0x4c, 0x20, 0x50, 0x41, 0xe8, 0xfe, 0x12, 
-0x48, 0x78, 0x07, 0xd0, 0x3f, 0x04, 0x42, 0x67, 
-0x2f, 0x05, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 
-0x4a, 0x40, 0x66, 0x5c, 0x45, 0xfa, 0x00, 0x60, 
-0x70, 0x04, 0x20, 0x4b, 0x4e, 0x92, 0x36, 0x00, 
-0x30, 0x04, 0x20, 0x45, 0x4e, 0x92, 0xd6, 0x40, 
-0x16, 0x83, 0xe0, 0x4b, 0x18, 0x83, 0x20, 0x6d, 
-0x0f, 0x10, 0x20, 0x28, 0xfb, 0xa8, 0x22, 0x28, 
-0xfb, 0xac, 0x24, 0x3c, 0x76, 0x02, 0x10, 0x03, 
-0x26, 0x3c, 0x26, 0x1f, 0x4e, 0x75, 0x92, 0x83, 
-0x91, 0x82, 0x66, 0x06, 0x41, 0xe8, 0xfb, 0xc6, 
-0x60, 0x08, 0x30, 0x7c, 0xff, 0xaa, 0xd1, 0xed, 
-0x0a, 0x4c, 0x20, 0x50, 0x41, 0xe8, 0xfe, 0x12, 
-0x48, 0x78, 0x07, 0xd0, 0x48, 0x78, 0x00, 0x02, 
-0x2f, 0x0b, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 
-0x4c, 0xdf, 0x1c, 0x38, 0x4e, 0x75, 0x34, 0x00, 
-0x42, 0x41, 0x93, 0xc9, 0x60, 0x10, 0x70, 0x00, 
-0x30, 0x01, 0x10, 0x30, 0x08, 0x00, 0x02, 0x40, 
-0x00, 0xff, 0xd2, 0xc0, 0x52, 0x41, 0xb4, 0x41, 
-0x66, 0xec, 0x30, 0x09, 0x4e, 0x75, 0x31, 0x2e, 
-0x30, 0x32, 0x20, 0x55, 0x53, 0x42, 0x00, 0x52, 
-0x6f, 0x6d, 0x44, 0x75, 0x6d, 0x70, 0x65, 0x72, 
-0x20, 0x76, 0x25, 0x73, 0x00, 0x54, 0x79, 0x70, 
-0x65, 0x3a, 0x20, 0x48, 0x57, 0x25, 0x69, 0x00, 
-0x52, 0x4f, 0x4d, 0x20, 0x62, 0x61, 0x73, 0x65, 
-0x3a, 0x20, 0x30, 0x78, 0x25, 0x6c, 0x78, 0x00, 
-0x62, 0x79, 0x20, 0x54, 0x68, 0x65, 0x20, 0x54, 
-0x69, 0x4c, 0x50, 0x20, 0x54, 0x65, 0x61, 0x6d, 
-0x00, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x25, 
-0x6c, 0x75, 0x20, 0x4b, 0x42, 0x00, 0x44, 0x6f, 
-0x6e, 0x65, 0x3a, 0x20, 0x25, 0x6c, 0x75, 0x2f, 
-0x25, 0x6c, 0x75, 0x4b, 0x42, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x00, 0x00, 0x20, 0x38, 0x00, 0xc8, 
-0x02, 0x80, 0x00, 0xe0, 0x00, 0x00, 0x20, 0x40, 
-0x22, 0x68, 0x01, 0x04, 0xd1, 0xfc, 0x00, 0x01, 
-0x00, 0x00, 0xb3, 0xc8, 0x64, 0x14, 0x0c, 0x51, 
-0x00, 0x16, 0x63, 0x0e, 0x4e, 0x4c, 0x46, 0xfc, 
-0x30, 0x00, 0x40, 0xc1, 0x46, 0xc0, 0xe7, 0x49, 
-0x6a, 0x04, 0x70, 0x01, 0x4e, 0x75, 0x20, 0x29, 
-0x00, 0x16, 0x4e, 0x75, 0x00, 0x00, 0x05, 0xf8, 
-0x01, 0x80, 0xf3, 0x3a, 0x19, 
 };
-static unsigned int romDumpSize89t = 1733;
+static unsigned int romDumpSize89t = 0;
diff --git a/src/rom92f2.h b/src/rom92f2.h
index 1817c69..8a2f7a4 100644
--- a/src/rom92f2.h
+++ b/src/rom92f2.h
@@ -1,162 +1,3 @@
 static unsigned char romDump92[] = {
-0x2a, 0x2a, 0x54, 0x49, 0x39, 0x32, 0x2a, 0x2a, 
-0x01, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x01, 0x00, 0x52, 0x00, 0x00, 0x00, 
-0x72, 0x6f, 0x6d, 0x64, 0x75, 0x6d, 0x70, 0x00, 
-0x12, 0x00, 0x00, 0x00, 0xf2, 0x04, 0x00, 0x00, 
-0xa5, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x98, 
-0x00, 0x32, 0x45, 0x58, 0x45, 0x20, 0x41, 0x50, 
-0x50, 0x4c, 0x00, 0x00, 0x04, 0x4e, 0x04, 0x52, 
-0x04, 0x54, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x01, 
-0x00, 0x01, 0x00, 0x1e, 0x4f, 0xef, 0xef, 0xb4, 
-0x48, 0xe7, 0x1e, 0x38, 0x23, 0xfc, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x04, 0x46, 0x20, 0x3c, 
-0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x54, 0x80, 
-0x20, 0x40, 0x0c, 0x90, 0x00, 0x00, 0x00, 0x00, 
-0x66, 0xf4, 0x23, 0xc0, 0x00, 0x00, 0x04, 0x4a, 
-0x72, 0xe4, 0xd2, 0x80, 0x23, 0xc1, 0x00, 0x00, 
-0x04, 0x46, 0x60, 0x02, 0x54, 0x80, 0x20, 0x40, 
-0x0c, 0x90, 0x00, 0x00, 0x00, 0x00, 0x66, 0xf4, 
-0x06, 0x80, 0xff, 0xff, 0xff, 0x6a, 0x23, 0xc0, 
-0x00, 0x00, 0x04, 0x4a, 0x48, 0x78, 0x0f, 0x00, 
-0x42, 0x67, 0x48, 0x79, 0x00, 0x00, 0x00, 0x00, 
-0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3c, 
-0x00, 0x02, 0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 
-0x48, 0x7a, 0x03, 0x34, 0x48, 0x7a, 0x03, 0x35, 
-0x45, 0xef, 0x10, 0x56, 0x2f, 0x0a, 0x49, 0xf9, 
-0x00, 0x00, 0x00, 0x00, 0x4e, 0x94, 0x3f, 0x3c, 
-0x00, 0x01, 0x2f, 0x0a, 0x42, 0xa7, 0x47, 0xf9, 
-0x00, 0x00, 0x00, 0x00, 0x4e, 0x93, 0x4f, 0xef, 
-0x00, 0x22, 0x20, 0x39, 0x00, 0x00, 0x00, 0xc4, 
-0x06, 0x80, 0x00, 0x0f, 0xff, 0xff, 0x42, 0x40, 
-0x48, 0x40, 0xe8, 0x48, 0x3f, 0x00, 0x48, 0x7a, 
-0x03, 0x09, 0x2f, 0x0a, 0x4e, 0x94, 0x3f, 0x3c, 
-0x00, 0x01, 0x2f, 0x0a, 0x48, 0x78, 0x00, 0x14, 
-0x4e, 0x93, 0x48, 0x79, 0x00, 0x00, 0x00, 0x00, 
-0x48, 0x7a, 0x02, 0xfe, 0x2f, 0x0a, 0x4e, 0x94, 
-0x4f, 0xef, 0x00, 0x1e, 0x3e, 0xbc, 0x00, 0x01, 
-0x2f, 0x0a, 0x48, 0x78, 0x00, 0x28, 0x4e, 0x93, 
-0x48, 0x7a, 0x02, 0xf6, 0x2f, 0x0a, 0x4e, 0x94, 
-0x3f, 0x3c, 0x00, 0x01, 0x2f, 0x0a, 0x48, 0x78, 
-0x00, 0x50, 0x4e, 0x93, 0x4f, 0xef, 0x00, 0x1c, 
-0x48, 0x78, 0x00, 0x14, 0x48, 0x78, 0x00, 0x04, 
-0x45, 0xef, 0x00, 0x26, 0x2f, 0x0a, 0x20, 0x7a, 
-0x03, 0x28, 0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 
-0x4a, 0x40, 0x66, 0x00, 0x02, 0x08, 0x1a, 0x2f, 
-0x00, 0x1f, 0x1c, 0x2f, 0x00, 0x1e, 0x16, 0x2f, 
-0x00, 0x21, 0xe1, 0x4b, 0x42, 0x40, 0x10, 0x2f, 
-0x00, 0x20, 0x86, 0x40, 0x47, 0xfa, 0x02, 0xde, 
-0x70, 0x04, 0x20, 0x4a, 0x4e, 0x93, 0x78, 0x00, 
-0x38, 0x03, 0x48, 0x78, 0x00, 0x14, 0x2f, 0x04, 
-0x2f, 0x0a, 0x20, 0x7a, 0x02, 0xec, 0x4e, 0x90, 
-0x4f, 0xef, 0x00, 0x0c, 0x4a, 0x40, 0x66, 0x20, 
-0x48, 0x78, 0x00, 0x14, 0x48, 0x78, 0x00, 0x02, 
-0x48, 0x72, 0x48, 0x00, 0x20, 0x7a, 0x02, 0xd2, 
-0x4e, 0x90, 0x4f, 0xef, 0x00, 0x0c, 0x4a, 0x40, 
-0x66, 0x06, 0x30, 0x03, 0x20, 0x4a, 0x4e, 0x93, 
-0x30, 0x39, 0x00, 0x00, 0x00, 0x1c, 0x56, 0xc0, 
-0x18, 0x00, 0x48, 0x84, 0x44, 0x44, 0x32, 0x05, 
-0xe1, 0x49, 0x42, 0x40, 0x10, 0x06, 0x82, 0x40, 
-0x0c, 0x41, 0x00, 0x02, 0x67, 0x20, 0x0c, 0x41, 
-0x00, 0x03, 0x67, 0x2c, 0x0c, 0x41, 0x00, 0x05, 
-0x67, 0x00, 0x00, 0x96, 0x0c, 0x41, 0xaa, 0x55, 
-0x66, 0x00, 0x01, 0x72, 0x93, 0xc9, 0x42, 0x41, 
-0x70, 0x01, 0x60, 0x00, 0x01, 0x62, 0x93, 0xc9, 
-0x42, 0x41, 0x70, 0x02, 0x41, 0xef, 0x00, 0x1e, 
-0x61, 0x00, 0x01, 0x7c, 0x60, 0x00, 0x01, 0x6e, 
-0x20, 0x39, 0x00, 0x00, 0x00, 0xc4, 0x06, 0x80, 
-0x00, 0x0f, 0xff, 0xff, 0x22, 0x00, 0x02, 0x81, 
-0x00, 0xf0, 0x00, 0x00, 0xe0, 0x89, 0x43, 0xef, 
-0x10, 0x68, 0x42, 0x40, 0x48, 0x40, 0xe0, 0x48, 
-0x80, 0x81, 0x23, 0x00, 0x72, 0x04, 0x70, 0x03, 
-0x41, 0xef, 0x00, 0x1e, 0x61, 0x00, 0x01, 0x48, 
-0x20, 0x39, 0x00, 0x00, 0x00, 0xc4, 0x06, 0x80, 
-0x00, 0x0f, 0xff, 0xff, 0x72, 0x0a, 0xe2, 0xa8, 
-0x02, 0x80, 0x00, 0x3f, 0xfc, 0x00, 0x2f, 0x00, 
-0x48, 0x7a, 0x01, 0xdf, 0x45, 0xef, 0x10, 0x2c, 
-0x2f, 0x0a, 0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 
-0x3f, 0x3c, 0x00, 0x04, 0x2f, 0x0a, 0x48, 0x78, 
-0x00, 0x3c, 0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 
-0x4f, 0xef, 0x00, 0x16, 0x60, 0x00, 0x00, 0xe6, 
-0x76, 0x00, 0x16, 0x2f, 0x00, 0x1f, 0xe1, 0x8b, 
-0x86, 0x2f, 0x00, 0x1e, 0x10, 0x2f, 0x00, 0x21, 
-0xe1, 0x48, 0x48, 0x40, 0x42, 0x40, 0x72, 0x00, 
-0x12, 0x2f, 0x00, 0x20, 0x48, 0x41, 0x42, 0x41, 
-0x80, 0x81, 0x86, 0x80, 0x20, 0x39, 0x00, 0x00, 
-0x00, 0xc4, 0x06, 0x80, 0x00, 0x0f, 0xff, 0xff, 
-0x02, 0x80, 0xff, 0xf0, 0x00, 0x00, 0xb0, 0x83, 
-0x64, 0x0e, 0x93, 0xc9, 0x42, 0x41, 0x70, 0x04, 
-0x41, 0xef, 0x00, 0x1e, 0x61, 0x00, 0x00, 0xc0, 
-0x20, 0x39, 0x00, 0x00, 0x00, 0xc4, 0x06, 0x80, 
-0x00, 0x0f, 0xff, 0xff, 0x72, 0x0a, 0xe2, 0xa8, 
-0x02, 0x80, 0x00, 0x3f, 0xfc, 0x00, 0x2f, 0x00, 
-0x20, 0x03, 0xe2, 0xa8, 0x2f, 0x00, 0x48, 0x7a, 
-0x01, 0x5e, 0x45, 0xef, 0x10, 0x30, 0x2f, 0x0a, 
-0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3c, 
-0x00, 0x04, 0x2f, 0x0a, 0x48, 0x78, 0x00, 0x3c, 
-0x4e, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x22, 0x43, 
-0xd3, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 
-0x72, 0x00, 0x4f, 0xef, 0x00, 0x1a, 0x20, 0x43, 
-0xd1, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x30, 
-0x18, 0x00, 0x66, 0x34, 0x34, 0x01, 0x52, 0x42, 
-0x52, 0x81, 0x0c, 0x81, 0x00, 0x00, 0x10, 0x00, 
-0x66, 0xe4, 0x0c, 0x42, 0x10, 0x00, 0x66, 0x20, 
-0x02, 0x40, 0x00, 0xff, 0x42, 0x2f, 0x10, 0x60, 
-0x1f, 0x7c, 0x00, 0x10, 0x10, 0x61, 0x1f, 0x40, 
-0x10, 0x62, 0x42, 0x2f, 0x10, 0x63, 0x43, 0xef, 
-0x10, 0x60, 0x72, 0x04, 0x70, 0x07, 0x60, 0x06, 
-0x32, 0x3c, 0x10, 0x00, 0x70, 0x06, 0x41, 0xef, 
-0x00, 0x1e, 0x61, 0x22, 0x4a, 0x44, 0x66, 0x14, 
-0x60, 0x00, 0xfd, 0xde, 0x30, 0x39, 0x00, 0x00, 
-0x00, 0x1c, 0x56, 0xc0, 0x18, 0x00, 0x48, 0x84, 
-0x44, 0x44, 0x60, 0xe8, 0x4c, 0xdf, 0x1c, 0x78, 
-0x4f, 0xef, 0x10, 0x4c, 0x4e, 0x75, 0x48, 0xe7, 
-0x1c, 0x38, 0x26, 0x48, 0x38, 0x01, 0x2a, 0x09, 
-0x28, 0x48, 0x18, 0xc0, 0xe0, 0x48, 0x18, 0x80, 
-0x17, 0x41, 0x00, 0x02, 0x30, 0x01, 0xe0, 0x48, 
-0x11, 0x40, 0x00, 0x03, 0x48, 0x78, 0x00, 0x04, 
-0x2f, 0x08, 0x20, 0x7a, 0x00, 0xd0, 0x4e, 0x90, 
-0x50, 0x8f, 0x4a, 0x40, 0x66, 0x3a, 0x3f, 0x04, 
-0x42, 0x67, 0x2f, 0x05, 0x20, 0x7a, 0x00, 0xbe, 
-0x4e, 0x90, 0x50, 0x8f, 0x4a, 0x40, 0x66, 0x28, 
-0x45, 0xfa, 0x00, 0x92, 0x70, 0x04, 0x20, 0x4b, 
-0x4e, 0x92, 0x36, 0x00, 0x30, 0x04, 0x20, 0x45, 
-0x4e, 0x92, 0xd6, 0x40, 0x16, 0x83, 0xe0, 0x4b, 
-0x18, 0x83, 0x48, 0x78, 0x00, 0x02, 0x2f, 0x0b, 
-0x20, 0x7a, 0x00, 0x92, 0x4e, 0x90, 0x50, 0x8f, 
-0x4c, 0xdf, 0x1c, 0x38, 0x4e, 0x75, 0x31, 0x2e, 
-0x30, 0x32, 0x00, 0x52, 0x6f, 0x6d, 0x44, 0x75, 
-0x6d, 0x70, 0x65, 0x72, 0x20, 0x76, 0x25, 0x73, 
-0x00, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x54, 
-0x49, 0x2d, 0x39, 0x32, 0x20, 0x25, 0x69, 0x00, 
-0x52, 0x4f, 0x4d, 0x20, 0x62, 0x61, 0x73, 0x65, 
-0x3a, 0x20, 0x30, 0x78, 0x25, 0x6c, 0x78, 0x00, 
-0x62, 0x79, 0x20, 0x54, 0x68, 0x65, 0x20, 0x54, 
-0x69, 0x4c, 0x50, 0x20, 0x54, 0x65, 0x61, 0x6d, 
-0x00, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x25, 
-0x6c, 0x75, 0x20, 0x4b, 0x42, 0x00, 0x44, 0x6f, 
-0x6e, 0x65, 0x3a, 0x20, 0x25, 0x6c, 0x75, 0x2f, 
-0x25, 0x6c, 0x75, 0x4b, 0x42, 0x20, 0x20, 0x20, 
-0x20, 0x20, 0x00, 0x00, 0x34, 0x00, 0x42, 0x41, 
-0x93, 0xc9, 0x60, 0x10, 0x70, 0x00, 0x30, 0x01, 
-0x10, 0x30, 0x08, 0x00, 0x02, 0x40, 0x00, 0xff, 
-0xd2, 0xc0, 0x52, 0x41, 0xb4, 0x41, 0x66, 0xec, 
-0x30, 0x09, 0x4e, 0x75, 0x00, 0x00, 0x00, 0x00, 
-0x00, 0x00, 0x00, 0x00, 0x8a, 0xb3, 0x0c, 0x00, 
-0x00, 0x00, 0x00, 0x01, 0x04, 0x89, 0x09, 0x14, 
-0x00, 0x02, 0x23, 0x00, 0x05, 0x42, 0xc0, 0x49, 
-0x46, 0x00, 0x01, 0x4a, 0xc0, 0x49, 0x46, 0x00, 
-0x02, 0x38, 0x00, 0x09, 0xc0, 0x3b, 0xc0, 0x55, 
-0x00, 0x01, 0x30, 0x00, 0x09, 0x50, 0x13, 0x7e, 
-0x17, 0x31, 0x11, 0x1f, 0x07, 0x00, 0x0a, 0x09, 
-0x04, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x74, 
-0x69, 0x6f, 0x73, 0x00, 0xe9, 0x12, 0xe4, 0x00, 
-0xe8, 0x19, 0xe4, 0xe5, 0x00, 0x00, 0x40, 0xdc, 
-0x3b, 0x37, 
 };
-static unsigned int romDumpSize92 = 1266;
+static unsigned int romDumpSize92 = 0;
diff --git a/src/romdump_84p_usb/romdump.z80 b/src/romdump_84p_usb/romdump.z80
new file mode 100644
index 0000000..a22bcca
--- /dev/null
+++ b/src/romdump_84p_usb/romdump.z80
@@ -0,0 +1,918 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-84+ USB ROM Dumper
+;;;
+;;; Copyright (c) 2009, 2010 Brandon Wilson
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;; 
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;; 
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software Foundation,
+;;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ .nolist
+#define bcall(romcallname) rst 28h \ .dw romcallname
+
+_LdHLind        = 4009h
+_cphlde         = 400Ch
+_PutC           = 4504h
+_PutS           = 450Ah
+_clrLCDFull     = 4540h
+_homeUp         = 4558h
+_runIndicOff    = 4570h
+_Mov18B         = 47DAh
+_getKey         = 4972h
+_GetBaseVer      = 4C6Fh
+_GetVariableData = 5092h
+_GetBootVer      = 80B7h
+_GetHWVer        = 80BAh
+_WriteAByteSafe  = 80C6h
+
+appData         = 8000h
+ramCode         = 8100h
+arcInfo         = 83EEh
+curRow          = 844Bh
+OP1             = 8478h
+iMathPtr5       = 84DBh
+flags           = 89F0h
+pagedCount      = 9834h
+pagedBuf        = 983Ah
+appBackUpScreen = 9872h
+userMem         = 9D95h
+
+onInterrupt     = 4
+onFlags         = 9h
+LlBrack         = 0C1h
+
+PACKET_SIZE     = 1024
+CMD_READY       = 0AA55h
+CMD_OK          = 0001h
+CMD_EXIT        = 0002h
+CMD_SIZE        = 0003h
+CMD_GETDATA     = 0005h
+CMD_DATA        = 0006h
+CMD_REPEAT      = 0007h
+ .list
+inputBuffer     = 9C31h
+SPbackup        = appBackUpScreen
+outputBuffer    = appBackUpScreen+2
+
+.org userMem-2
+        .db 0BBh,6Dh
+        bcall(_runIndicOff)
+; Unlock Flash, if possible.
+; The purpose is to get an accurate dump of the certificate page (page 3Eh/7Eh).
+        in a,(6)
+        push af
+        call Unlock
+        pop af
+        out (6),a
+
+        ld (SPbackup),sp
+        call clearScreen
+        call IsUSBAvailable
+        jr nc,startDump
+        call InitializePeriphUSB
+        jr nc,startDump
+throwError:
+        ld sp,(SPbackup)
+        call clearScreen
+        ld hl,sError
+        bcall(_PutS)
+        bcall(_getKey)
+clearScreen:
+        bcall(_clrLCDFull)
+        bcall(_homeUp)
+        res onInterrupt,(iy+onFlags)
+        ret
+startDump:
+        ld hl,sMessage
+        bcall(_PutS)
+        res 5,(iy+41h)
+getCommandsLoop:
+        ld hl,appData
+        call GetPacket
+        jr c,throwError
+        ld hl,(appData)
+;Exit dumper?
+        ld de,CMD_EXIT
+        bcall(_cphlde)
+        jr z,exitDumper
+;Requesting ROM dump size?
+        ld de,CMD_SIZE
+        bcall(_cphlde)
+        jr z,sizeRequested
+;Requesting ROM data?
+        ld de,CMD_GETDATA
+        bcall(_cphlde)
+        jr z,dataRequested
+;Are we ready?
+        ld de,CMD_READY
+        bcall(_cphlde)
+        jr z,readyReceived
+        jr getCommandsLoop
+
+exitDumper:
+        ld de,CMD_EXIT
+        ld bc,0
+        call SendPacket
+        jr clearScreen
+
+sizeRequested:
+        ld hl,outputBuffer
+        ld (hl),0
+        inc hl
+        ld (hl),0
+        inc hl
+        in a,(21h)
+        and 3
+        ld a,10h
+        jr z,srIsNotSE
+        add a,a
+srIsNotSE:
+        ld (hl),a
+        inc hl
+        ld (hl),0
+        ld a,81h
+        ld hl,outputBuffer-4000h
+        ld de,CMD_SIZE
+        ld bc,4
+        call SendPacket
+        jp c,throwError
+        jr getCommandsLoop
+
+readyReceived:
+        ld de,CMD_OK
+        ld bc,0
+        call SendPacket
+        jp c,throwError
+        jr getCommandsLoop
+
+dataRequested:
+        ld ix,appData+4
+        ld l,(ix+0)
+        ld h,(ix+1)
+        ld e,(ix+2)
+        ld d,(ix+3)
+        ;DEHL contains the base address
+        ld bc,0402h
+        ld (curRow),bc
+        ld a,e
+        call DispHexA
+        ld a,h
+        call DispHexA
+        ld a,l
+        call DispHexA
+        ;Figure out what Flash page this is
+        ld a,e
+        add a,a
+        add a,a
+drGetFlashPage:
+        ld de,4000h
+        or a
+        sbc hl,de
+        jr c,drGFPDone
+        inc a
+        jr drGetFlashPage
+drGFPDone:
+        add hl,de
+        ld de,4000h
+        add hl,de
+        ;See if this block is "empty"/same
+        push hl
+        ld (83EBh),a
+        in a,(6)
+        push af
+        ld a,(83EBh)
+        out (6),a
+        ld d,(hl)
+        ld bc,PACKET_SIZE
+drGFDLoop:
+        ld a,(hl)
+        cp d
+        jr nz,drGFDDone
+        inc hl
+        dec bc
+        ld a,b
+        or c
+        jr nz,drGFDLoop
+drGFDDone:
+        pop bc
+        ld a,b
+        out (6),a
+        pop hl
+        jr z,requestingEmptyPacket
+        ld a,(83EBh)
+        ld de,CMD_DATA
+        ld bc,PACKET_SIZE
+        call SendPacket
+        jp c,throwError
+        jp getCommandsLoop
+requestingEmptyPacket:
+        ld ix,OP1
+        ld (ix+0),PACKET_SIZE & 0FFh
+        ld (ix+1),(PACKET_SIZE & 0FF00h) >> 8
+        ld (ix+2),d
+        ld (ix+3),d
+        ld a,81h
+        ld hl,OP1-4000h
+        ld de,CMD_REPEAT
+        ld bc,4
+        call SendPacket
+        jp c,throwError
+        jp getCommandsLoop
+
+sMessage:
+        .db "Dumping",0CEh,"        "
+        .db "                "
+        .db "                "
+        .db "                "
+        .db "Press ",LlBrack,"ON] to   "
+        .db "abort.",0
+sError: .db "ERROR!          "
+        .db "                "
+        .db "There was an    "
+        .db "unknown USB     "
+        .db "error.          "
+        .db "                "
+        .db "Press any key to"
+        .db "quit.",0
+
+SendPacket:
+;Sends a TiLP ROM dump packet.
+;Inputs:        DE: command ID
+;               HL => buffer of data to send (if any) (4000h range)
+;               A: page of data to send (if any) (81h\80h for RAM)
+;               BC: number of bytes to send
+;Outputs:       Returns carry flag set if problems
+;Notes:         This routine is absolutely horrible. Somebody optimize it.
+        di
+        push bc
+        ld (83EBh),a
+        in a,(6)
+        push af
+        ld a,83h
+        out (6),a
+        push hl
+        ld hl,4000h
+        ld (hl),e
+        inc hl
+        ld (hl),d
+        inc hl
+        ld (hl),c
+        inc hl
+        ld (hl),b
+        inc hl
+        ex de,hl
+        pop hl
+        ;Copy BC bytes from HL to DE
+        ld a,b
+        or c
+        jr z,spSkipData
+        push bc
+spCopyLoop:
+        ld a,(83EBh)
+        out (6),a
+        ld a,(hl)
+        push af
+        ld a,83h
+        out (6),a
+        pop af
+        ld (de),a
+        inc hl
+        bit 7,h
+        jr z,spNC
+        res 7,h
+        set 6,h
+        ld a,(83EBh)
+        inc a
+        ld (83EBh),a
+spNC:   inc de
+        dec bc
+        ld a,b
+        or c
+        jr nz,spCopyLoop
+        pop bc
+spSkipData:
+        ;Calculate the checksum
+        inc bc
+        inc bc
+        inc bc
+        inc bc
+        ;Total BC bytes from 8000h
+        ld hl,4000h
+        ld de,0
+spGetChecksum:
+        ld a,(hl)
+        inc hl
+        add a,e
+        ld e,a
+        jr nc,spGCC
+        inc d
+spGCC:  dec bc
+        ld a,b
+        or c
+        jr nz,spGetChecksum
+        ld (hl),e
+        inc hl
+        ld (hl),d
+        pop af
+        out (6),a
+        pop de
+        inc de
+        inc de
+        inc de
+        inc de
+        inc de
+        inc de
+        ld hl,8000h
+        jp SendUSBData
+
+GetPacket:
+;Gets a TiLP ROM dump packet.
+;Inputs:        HL points to packet buffer
+;Outputs:       Returns carry flag set if problems
+        ;Get command and data length words
+        ld bc,4
+        push hl
+        call ReceiveUSBDataWait
+        pop hl
+        ret c
+        inc hl
+        inc hl
+        ld c,(hl)
+        inc hl
+        ld b,(hl)
+        inc hl
+        ld a,b
+        or c
+        jr z,gpSkipData
+        push hl
+        push bc
+        ;Data bytes
+        call ReceiveUSBDataWait
+        pop bc
+        pop hl
+        ret c
+        add hl,bc
+gpSkipData:
+        ;Checksum word
+        ld bc,2
+        jp ReceiveUSBDataWait
+        ;TODO: validate the PC's checksum?
+
+DispHexA:
+        push ix
+        push af
+        push hl
+        push bc
+        push af
+        rrca
+        rrca
+        rrca
+        rrca
+        call vdispha
+        pop af
+        call vdispha
+        pop bc
+        pop hl
+        pop af
+        pop ix
+        ret
+vdispha:
+        and 15
+        cp 10
+        jr nc,vdhlet
+        add a,48
+        jr vdispd
+vdhlet: add a,55
+vdispd: bcall(_PutC)
+        ret
+
+;----------------------------------------------------------------------------
+;InitializePeriphUSB:
+;Initializes ourself as a USB peripheral connected to...something.
+;Inputs:        None
+;Outputs:       Carry flag set if any issues
+InitializePeriphUSB:
+        bcall(810Eh) ;_KillUSB
+        ret c
+        ld a,80h
+        out (57h),a
+        xor a
+        out (4Ch),a
+        ld a,1
+        out (5Bh),a
+        xor a
+        in a,(4Ch)
+        ld a,2
+        out (54h),a
+        ld a,20h
+        out (4Ah),a
+        xor a
+        out (4Bh),a
+        in a,(3Ah)
+        bit 3,a
+        jr z,port3AhReset1
+        ld a,20h
+        out (4Bh),a
+port3AhReset1:
+        xor a
+        out (54h),a
+        ld a,42h
+        out (36h),a
+        xor a
+        out (37h),a
+        ld a,1
+        out (38h),a
+timerWait:
+        in a,(4)
+        bit 7,a
+        jr z,timerWait
+        in a,(3Ah)
+        bit 3,a
+        jr z,port3AhReset2
+        ld a,44h
+        out (54h),a
+port3AhReset2:
+        ld a,0C4h
+        out (54h),a
+        ld a,8
+        out (4Ch),a
+        ld de,0FFFFh
+port5AhLoop:
+        dec de
+        ld a,d
+        or e
+        scf
+        ret z
+        in a,(4Ch)
+        cp 1Ah
+        jr z,port5AhDone
+        cp 5Ah
+        jr nz,port5AhLoop
+port5AhDone:
+        ld a,0FFh
+        out (87h),a
+        xor a
+        out (92h),a
+        in a,(87h)
+        ld a,0Eh
+        out (89h),a
+        ld a,5
+        out (8Bh),a
+        in a,(81h)
+        or 0
+        out (81h),a
+        in a,(54h)
+        or 1
+        out (54h),a
+        ld b,5
+frameCounterLoop:
+        ld de,0FFFFh
+frameCounterLoop2:
+        dec de
+        ld a,d
+        or e
+        jr z,counterExpired
+        in a,(8Ch)
+        or a
+        jr z,frameCounterLoop2
+        ret
+counterExpired:
+        djnz frameCounterLoop
+        scf
+        ret
+
+;----------------------------------------------------------------------------
+;IsUSBAvailable:
+;Returns whether USB communication MAY be available.
+;Inputs:        None
+;Outputs:       Carry flag set if USB is not available
+IsUSBAvailable:
+        in a,(2)
+        bit 5,a
+        scf
+        ret z
+        ld a,(4Dh)
+        or a
+        bit 5,a
+        ret z
+        bit 6,a
+        scf
+        ret nz
+        ccf
+        ret
+
+;----------------------------------------------------------------------------
+;SendUSBData:
+;Sends data over USB.
+;Inputs:        HL => data to send
+;               DE: number of bytes to send
+;Outputs:       DE bytes sent from HL
+;               Carry flag set if any issues
+SendUSBData:
+        set 2,(iy+40h)
+        res 0,(iy+43h)
+        bcall(50F2h)
+        res 0,(iy+41h)
+        ret
+
+;----------------------------------------------------------------------------
+;ReceiveUSBDataWait:
+;Receives data over USB (waits until data is received).
+;Inputs:        HL => buffer to store data to
+;               BC: number of bytes to receive
+;Outputs:       BC bytes received to HL
+;               Carry flag set if any issues
+;Make sure you know how much you need to be receiving before calling.
+;This is a blocking call and will not return until everything is received.
+ReceiveUSBDataWait:
+        ei
+        halt
+        in a,(4)
+        bit 3,a
+        scf
+        ret z
+        bit 5,(iy+41h)
+        jr z,ReceiveUSBDataWait
+
+;----------------------------------------------------------------------------
+;ReceiveUSBData:
+;Receives data over USB.
+;Inputs:        5,(iy+41h) set by OS.
+;               HL => buffer to store data to
+;               BC: number of bytes to receive
+;Outputs:       BC bytes received to HL
+;               Carry flag set if any issues
+;Make sure you know how much you need to be receiving before calling.
+ReceiveUSBData:
+	push bc
+	push af
+	xor a
+	ld (9834h),a
+	jr receive_data_ready
+receive_big_loop:
+	in a,(4)
+	bit 3,a
+	jr z,P2scfRet
+	bit 5,(iy+41h)
+	jr nz,receive_data_ready
+	in a,(84h)
+	bit 2,a
+	jr nz,receiving_data
+	bit 1,a
+	jr z,restart_receive_loop
+receiving_data:
+	set 5,(iy+41h)
+	xor a
+	ld (9C27h),a
+	jr receive_data_ready
+restart_receive_loop:
+        in a,(86h)
+	bit 5,a
+	jr nz,P2scfRet
+	jr receive_big_loop
+receive_data_ready:
+	push bc
+	push hl
+	ld hl,40h
+	or a
+	sbc hl,bc
+	pop hl
+	ld b,c
+        jr nc,receiveRest
+	ld b,40h
+receiveRest:
+	call ReceiveUSBData_small
+	ex de,hl
+	pop hl
+	jr c,P2scfRet
+	or a
+	ld b,0
+	sbc hl,bc
+	jr z,P2ret
+	ld b,h
+	ld c,l
+	ex de,hl
+	jr receive_big_loop
+P2ret:	pop bc
+	ld a,b
+	pop bc
+	ret
+P2scfRet:
+	pop af
+	pop bc
+	scf
+	ret
+ReceiveUSBData_small:
+        ld a,b
+        or a
+        ret z
+        ld a,40h
+        cp b
+        ret c
+        ld a,b
+        ld (9C80h),a
+        ld a,(9C27h)
+        or a
+        jr z,ReceiveUSBData_continue
+        cp b
+        jr nc,ReceiveUSBData_continue
+        ld b,a
+        ld (9C80h),a
+ReceiveUSBData_continue:
+        in a,(8Fh)
+        bit 2,a
+        jp z,calcIsPeripheral
+        xor a
+        out (5Bh),a
+        ld a,(9C27h)
+        or a
+        jr nz,startReceive
+        ld a,1
+        out (8Eh),a
+        ld a,21h
+        out (9Ah),a
+        xor a
+        in a,(9Ah)
+        ld a,8
+        out (93h),a
+        xor a
+        in a,(93h)
+        ld a,0FFh
+        out (89h),a
+        xor a
+        out (95h),a
+        in a,(89h)
+        ld a,0A1h
+        out (8Bh),a
+        in a,(94h)
+        bit 2,a
+        jp nz,receiveError
+        bit 6,a
+        jp nz,receiveError
+        ld a,1
+        out (5Bh),a
+        ld a,(9C27h)
+        or a
+        jr nz,startReceive
+        ld a,1
+        out (8Eh),a
+        in a,(94h)
+        in a,(96h)
+startReceive:
+        push af
+        ld a,(9C80h)
+        ld b,a
+        ld c,0
+receiveLoop:
+        in a,(0A1h)
+        ld (hl),a
+        inc hl
+        inc c
+        djnz receiveLoop
+        ld a,1
+        out (8Eh),a
+        in a,(94h)
+        bit 2,a
+        jr nz,p1ReceiveError
+        bit 6,a
+        jr nz,p1ReceiveError
+        pop af
+        sub c
+        ld (9C27h),a
+        set 5,(iy+41h)
+        ret nz
+        ld a,1
+        out (8Eh),a
+        ld a,21h
+        out (9Ah),a
+        ld a,8
+        out (93h),a
+        xor a
+        in a,(93h)
+        ld a,0Eh
+        out (89h),a
+        xor a
+        out (95h),a
+        res 5,(iy+41h)
+        xor a
+        ld (9C27h),a
+        res 0,(iy+41h)
+        ld a,20h
+        out (94h),a
+        ld a,1
+        out (5Bh),a
+        ret
+calcIsPeripheral:
+        ld a,2
+        out (8Eh),a
+        in a,(94h)
+        bit 6,a
+        jr z,startReceive2
+        and 0DFh
+        out (94h),a
+        pop af
+        bcall(5257h) ;_KillUSBDevice
+	jr receiveError
+startReceive2:
+        ld a,(9C27h)
+        or a
+        jr nz,startReceive3
+        in a,(96h)
+startReceive3:
+        push af
+        ld c,0
+receivePeriphLoop:
+        in a,(0A2h)
+        ld (hl),a
+        inc hl
+        inc c
+        djnz receivePeriphLoop
+        ld a,2
+        out (8Eh),a
+        pop af
+        sub c
+        ld (9C27h),a
+        ret nz
+        xor a
+        ld (9C27h),a
+        in a,(94h)
+        and 0FEh
+        out (94h),a
+        res 5,(iy+41h)
+        ld a,0A1h
+        ld (8Bh),a
+        jr endReceive
+p1ReceiveError:
+        pop af
+receiveError:
+        res 5,(iy+41h)
+        scf
+endReceive:
+        ei
+        ld a,1
+        out (5Bh),a
+        res 0,(iy+41h)
+        ret
+
+;----------------------------------------------------------------------------
+;;; Table of supported OS and boot code versions
+VersionTable:
+	.db 1,19, 1,01		; TI-83 Plus
+	.db 1,19, 1,00		; TI-83 Plus SE
+	.db 2,55, 1,03		; TI-84 Plus
+	.db 2,55, 1,03		; TI-84 Plus SE (odd versions)
+	.db 2,56, 1,03		; Nspire (even versions)
+
+;; Unlock:
+;;
+;; Write-enable Flash.
+;;
+;; Output:
+;; - Carry flag set if unlocking failed
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+;; - Port 6
+;; - Interrupts disabled
+;; - Interrupt mode set to 1
+
+Unlock:
+	;; Check if current OS/boot version is known to be supported
+	bcall(_GetBaseVer)
+	ld c, a
+	bcall(_GetHWVer)
+	ld l, a
+	add a, -4
+	ret c
+	inc a
+	jr nz, Unlock_NotNspire
+	bit 0, b
+	jr nz, Unlock_NotNspire
+	inc l
+Unlock_NotNspire:
+	ld h, 0
+	add hl, hl
+	add hl, hl
+	ld de, VersionTable
+	add hl, de
+	ld a, c
+	call CheckVersion
+	ret c
+	inc hl
+	bcall(_GetBootVer)
+	call CheckVersion
+	ret c
+
+	di
+	push iy
+	 ld de, 7B09h
+	 ld a, e
+	 ld (arcInfo), a
+	 out (6), a
+	 ld a, (de)
+	 ld b, a
+	 push bc
+	  push de
+	   call SetFlashPageD
+	   ld a, e
+	   bcall(_WriteAByteSafe)
+	   ld hl, Unlock_Recover - 2
+	   ld de, pagedBuf - 2
+	   bcall(_Mov18B)
+	   ld (pagedBuf + 2), sp
+	   call Unlock_Main
+	   pop af
+	  pop bc
+	 jr Unlock_Done
+
+Unlock_Main:
+	ld a, (_GetVariableData + 2)
+	ld d, a
+	ld hl, ramCode
+	ld bc, 304
+Unlock_Loop1:
+	ld a, 0EDh
+	cpir
+	ret nz
+	ld a, (hl)
+	sub 0A0h
+	jr nz, Unlock_Loop1
+	ld c, (hl)
+	ld b, a
+	inc hl
+	ld (iMathPtr5), hl
+	ld hl, (_GetVariableData)
+	inc a
+Unlock_Data:
+	ld (pagedCount), a
+	or a
+	call nz, SetFlashPageD
+Unlock_Loop2:
+	ld a, 3Ah
+	cpir
+	ret nz
+	ld de, Unlock_Data + 1
+Unlock_Loop3:
+	ld a,(de)
+	cp (hl)
+	jr nz, Unlock_Loop2
+	inc hl
+	inc de
+	cp 0C4h
+	jr nz, Unlock_Loop3
+	bcall(_LdHLind)
+	ld iy, 56h - 25h
+Unlock_Recover:
+	jp (hl)
+	   ld sp, 0
+	   pop hl
+	  pop af
+	 ld (hl), a
+Unlock_WriteByte:
+	 cp (hl)
+	 jr nz, Unlock_WriteByte
+	 ld (hl), 0F0h
+Unlock_Done:
+	 pop iy
+	ret
+
+SetFlashPageD:
+	in a, (2)
+	add a, a
+	ld a, 1Fh
+	jr nc, SetFlashPage_Mask
+	in a, (21h)
+	and 3
+	ld a, 7Fh
+	jr nz, SetFlashPage_Mask
+	rra
+SetFlashPage_Mask:
+	and d
+	out (6), a
+	ret
+
+CheckVersion:
+	cp (hl)
+	inc hl
+	ccf
+	ret nz
+	ld a, (hl)
+	cp b
+	ret
+
+.end
+end
diff --git a/src/romdump_8x/data.asm b/src/romdump_8x/data.asm
new file mode 100644
index 0000000..d49ec19
--- /dev/null
+++ b/src/romdump_8x/data.asm
@@ -0,0 +1,49 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+DumpingROMString:	db "Dumping ROM...", 0
+			EXIT_KEY_STR
+			db " to cancel", 0
+
+ErrorString:		db "Errors:", 0
+
+KString:		db "0K of "
+
+ #if CALC_ROM_SIZE == 512
+			db "512K"
+ROMSize:		dw 0000h, 0008h
+ #endif
+
+ #if CALC_ROM_SIZE == 128
+			db "128K"
+ROMSize:		dw 0000h, 0002h
+ #endif
+
+ #if CALC_ROM_SIZE == 256
+			db "256K"
+ROMSize:		dw 0000h, 0004h
+ #endif
+
+ #if CALC_ROM_SIZE == 0
+ROMSize:		dw 0000h, 0008h
+ #endif
diff --git a/src/romdump_8x/defs.inc b/src/romdump_8x/defs.inc
new file mode 100644
index 0000000..6990996
--- /dev/null
+++ b/src/romdump_8x/defs.inc
@@ -0,0 +1,40 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+defaultMemPage    equ safe_mem			; 1  Original ROM page
+defaultLinkState  equ defaultMemPage + 1	; 1  Original link port value (83)
+linkD0L	          equ defaultLinkState		; 1  Link port value for a 0 (82)
+linkD1L           equ linkD0L + 1		; 1  Link port value for a 1 (82)
+
+errorCount        equ linkD1L + 1		; 2  Count of errors
+blockCount        equ errorCount + 2		; 2  Count of blocks transferred
+
+sendPacketCmd     equ blockCount + 2		; 2  Command to send
+sendPacketLength  equ sendPacketCmd + 2		; 2  Length of packet to send
+sendPacketDataPtr equ sendPacketLength + 2	; 2  Pointer to data to send
+sendPacketData    equ sendPacketDataPtr + 2	; 4  Buffer for data to send
+
+packetChecksum    equ sendPacketData + 4	; 2  Checksum of packet
+recPacketCmd      equ packetChecksum + 2	; 2  Last command received
+recPacketLength   equ recPacketCmd + 2		; 2  Length of last packet received
+recPacketData	  equ recPacketLength + 2	; 64 Data received in last packet
diff --git a/src/romdump_8x/display.asm b/src/romdump_8x/display.asm
new file mode 100644
index 0000000..a56eb71
--- /dev/null
+++ b/src/romdump_8x/display.asm
@@ -0,0 +1,96 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; DispHL:
+;;
+;; Display a 16-bit unsigned integer in decimal, padded on the left
+;; with spaces.
+;;
+;; Input:
+;; - HL = number
+;; - (curRow) = cursor row
+;; - (curCol) = cursor column
+;;
+;; Output:
+;; - (curRow), (curCol) = updated
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+
+DispHL:
+	ld b, 5
+	ex de, hl
+DispHL_PadLoop:
+	ld a, ' '
+	call PutC
+	djnz DispHL_PadLoop
+	ld hl, curCol
+	ld a, (hl)
+	push af
+DispHL_Loop:
+	 dec (hl)
+	 ex de, hl
+	 ld bc, 100Ah
+	 xor a
+DispHL_DivLoop:
+	 add hl, hl
+	 adc a, a
+	 cp c
+	 jr c, DispHL_DivNC
+	 sub c
+	 inc l
+DispHL_DivNC:
+	 djnz DispHL_DivLoop
+	 ex de, hl
+	 add a, '0'
+	 call PutC
+	 dec (hl)
+	 ld a, d
+	 or e
+	 jr nz, DispHL_Loop
+	 pop af
+	ld (hl), a
+	ret
+
+;; PutS:
+;;
+;; Display a zero-terminated ASCII string.
+;;
+;; Input:
+;; - HL = address of string
+;; - (curRow) = cursor row
+;; - (curCol) = cursor column
+;;
+;; Output:
+;; - (curRow), (curCol) = updated
+;;
+;; Destroys:
+;; - AF, HL
+
+PutS:
+	ld a, (hl)
+	inc hl
+	or a
+	ret z
+	call PutC
+	jr PutS
diff --git a/src/romdump_8x/display82.asm b/src/romdump_8x/display82.asm
new file mode 100644
index 0000000..5a3dd45
--- /dev/null
+++ b/src/romdump_8x/display82.asm
@@ -0,0 +1,138 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; ClearLCD:
+;;
+;; Clear the LCD.
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+
+ClearLCD:
+	ld a, 20h
+ClearLCD_Loop:
+	ld c, a
+	call LCDCommand
+	ld b, 64
+ClearLCD_ColumnLoop:
+	call LCDBusy
+	xor a
+	out (11h), a
+	djnz ClearLCD_ColumnLoop
+	ld a, c
+	inc a
+	cp 2Ch
+	jr c, ClearLCD_Loop
+	ret
+
+;; PutC:
+;;
+;; Display an ASCII character.
+;;
+;; Input:
+;; - A = character
+;; - (curRow) = cursor row
+;; - (curCol) = cursor column
+;;
+;; Output:
+;; - (curRow), (curCol) = updated
+;;
+;; Destroys:
+;; - AF
+
+PutC:
+	push hl
+	 push de
+	  push bc
+fontTable equ $ + 1
+	   ld hl, 0
+	   ld bc, 8
+PutC_FindBitmapLoop:
+	   cp (hl)
+	   jr z, PutC_FoundBitmap
+	   add hl, bc
+	   jr nc, PutC_FindBitmapLoop
+PutC_FoundBitmap:
+	   inc hl
+
+	   xor a
+	   call LCDCommand
+
+	   ld de, curCol
+	   ld a, (de)
+	   inc a
+	   ld (de), a
+	   dec a
+	   or 20h
+	   call LCDCommand
+
+	   dec de
+	   ld a, (de)
+	   add a, a
+	   add a, a
+	   add a, a
+	   or 80h
+	   call LCDCommand
+
+	   ld b, 7
+PutC_Loop:
+	   call LCDBusy
+	   ld a, (hl)
+	   out (11h), a
+	   inc hl
+	   djnz PutC_Loop
+
+	   pop bc
+	  pop de
+	 pop hl
+	ld a, 1
+
+;; LCDCommand:
+;;
+;; Send a command to the LCD driver.
+;;
+;; Input:
+;; - A = command
+;;
+;; Destroys:
+;; - None
+
+LCDCommand:
+	push af
+	 call LCDBusy
+	 pop af
+	out (10h), a
+	ret
+
+;; LCDBusy:
+;;
+;; Wait for the LCD driver to be ready to accept a command.
+;;
+;; Destroys:
+;; - AF
+
+LCDBusy:
+	in a, (10h)
+	add a, a
+	jr c, LCDBusy
+	ret
diff --git a/src/romdump_8x/display85.asm b/src/romdump_8x/display85.asm
new file mode 100644
index 0000000..6d5da85
--- /dev/null
+++ b/src/romdump_8x/display85.asm
@@ -0,0 +1,159 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; ClearLCD:
+;;
+;; Clear the LCD.
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+
+ClearLCD:
+	ld hl, 0FC00h
+	ld (hl), l
+	ld de, 0FC01h
+	ld bc, 03FFh
+	ldir
+	ret
+
+;; PutC:
+;;
+;; Display an ASCII character.
+;;
+;; Input:
+;; - A = character
+;; - (curRow) = cursor row
+;; - (curCol) = cursor column
+;;
+;; Output:
+;; - (curRow), (curCol) = updated
+;;
+;; Destroys:
+;; - AF
+
+PutC:
+	push hl
+	 push de
+	  push bc
+fontTable equ $ + 1
+	   ld hl, 0
+	   ld bc, 8
+PutC_FindBitmapLoop:
+	   cp (hl)
+	   jr z, PutC_FoundBitmap
+	   add hl, bc
+	   jr nc, PutC_FindBitmapLoop
+PutC_FoundBitmap:
+	   inc hl
+
+	   ld bc, curRow
+	   ld a, (bc)
+	   rrca
+	   ld e, a
+	   or 0FCh
+	   ld d, a
+
+	   inc bc
+	   ld a, (bc)
+	   inc a
+	   ld (bc), a
+	   dec a
+	   ld b, a
+	   add a, a
+	   add a, b
+	   rrca
+	   rrca
+	   xor e
+	   and 1Fh
+	   xor e
+	   ld e, a
+
+	   ld b, 7
+PutC_Loop:
+	   ld a, (curCol)
+	   and 3
+	   jr z, PutC_0
+	   dec a
+	   jr z, PutC_1
+	   dec a
+	   ld a, (hl)
+	   rrca
+	   rrca
+	   jr z, PutC_2
+
+	   ld c, a
+	   inc e
+	   ld a, (de)
+	   xor c
+	   and 03Fh
+	   xor c
+	   ld (de), a
+	   dec e
+	   ld a, (de)
+	   xor c
+	   and 0F0h
+	   xor c
+	   jr PutC_Next
+
+PutC_0:
+	   ld a, (de)
+	   and 0C0h
+	   or (hl)
+	   jr PutC_Next
+
+PutC_1:
+	   ld a, (hl)
+	   rlca
+	   rlca
+	   ld c, a
+	   ld a, (de)
+	   and 3
+	   or c
+	   jr PutC_Next
+
+PutC_2:
+	   rrca
+	   rrca
+	   ld c, a
+	   inc e
+	   ld a, (de)
+	   xor c
+	   and 0Fh
+	   xor c
+	   ld (de), a
+	   dec e
+	   ld a, (de)
+	   xor c
+	   and 0FCh
+	   xor c
+PutC_Next:
+	   ld (de), a
+	   inc hl
+	   ld a, e
+	   add a, 16
+	   ld e, a
+	   djnz PutC_Loop
+	   pop bc
+	  pop de
+	 pop hl
+	ret
diff --git a/src/romdump_8x/font.asm b/src/romdump_8x/font.asm
new file mode 100644
index 0000000..ff083b8
--- /dev/null
+++ b/src/romdump_8x/font.asm
@@ -0,0 +1,412 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ db ' '
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+
+ db '.'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00000000b
+ db 00001100b
+ db 00001100b
+
+ db ':'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00001100b
+ db 00001100b
+ db 00000000b
+ db 00001100b
+ db 00001100b
+ db 00000000b
+
+ db '['
+;;;SPRITE 8x7x1
+ db 00001100b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001100b
+
+ db ']'
+;;;SPRITE 8x7x1
+ db 00011000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00011000b
+
+ db '0'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00100010b
+ db 00100110b
+ db 00101010b
+ db 00110010b
+ db 00100010b
+ db 00011100b
+
+ db '1'
+;;;SPRITE 8x7x1
+ db 00001000b
+ db 00011000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00011100b
+
+ db '2'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00100010b
+ db 00000010b
+ db 00000100b
+ db 00001000b
+ db 00010000b
+ db 00111110b
+
+ db '3'
+;;;SPRITE 8x7x1
+ db 00111110b
+ db 00000100b
+ db 00001000b
+ db 00000100b
+ db 00000010b
+ db 00100010b
+ db 00011100b
+
+ db '4'
+;;;SPRITE 8x7x1
+ db 00000100b
+ db 00001100b
+ db 00010100b
+ db 00100100b
+ db 00111110b
+ db 00000100b
+ db 00000100b
+
+ db '5'
+;;;SPRITE 8x7x1
+ db 00111110b
+ db 00100000b
+ db 00111100b
+ db 00000010b
+ db 00000010b
+ db 00100010b
+ db 00011100b
+
+ db '6'
+;;;SPRITE 8x7x1
+ db 00001100b
+ db 00010000b
+ db 00100000b
+ db 00111100b
+ db 00100010b
+ db 00100010b
+ db 00011100b
+
+ db '7'
+;;;SPRITE 8x7x1
+ db 00111110b
+ db 00000010b
+ db 00000100b
+ db 00001000b
+ db 00010000b
+ db 00010000b
+ db 00010000b
+
+ db '8'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00100010b
+ db 00100010b
+ db 00011100b
+ db 00100010b
+ db 00100010b
+ db 00011100b
+
+ db '9'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00100010b
+ db 00100010b
+ db 00011110b
+ db 00000010b
+ db 00000100b
+ db 00011000b
+
+ db 'D'
+;;;SPRITE 8x7x1
+ db 00111100b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00111100b
+
+ db 'E'
+;;;SPRITE 8x7x1
+ db 00111110b
+ db 00100000b
+ db 00100000b
+ db 00111100b
+ db 00100000b
+ db 00100000b
+ db 00111110b
+
+ db 'I'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00011100b
+
+ db 'K'
+;;;SPRITE 8x7x1
+ db 00100010b
+ db 00100100b
+ db 00101000b
+ db 00110000b
+ db 00101000b
+ db 00100100b
+ db 00100010b
+
+ db 'M'
+;;;SPRITE 8x7x1
+ db 00100010b
+ db 00110110b
+ db 00101010b
+ db 00101010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+
+ db 'O'
+;;;SPRITE 8x7x1
+ db 00011100b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00011100b
+
+ db 'R'
+;;;SPRITE 8x7x1
+ db 00111100b
+ db 00100010b
+ db 00100010b
+ db 00111100b
+ db 00101000b
+ db 00100100b
+ db 00100010b
+
+ db 'T'
+;;;SPRITE 8x7x1
+ db 00111110b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+
+ db 'X'
+;;;SPRITE 8x7x1
+ db 00100010b
+ db 00100010b
+ db 00010100b
+ db 00001000b
+ db 00010100b
+ db 00100010b
+ db 00100010b
+
+ db 'a'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00011100b
+ db 00000010b
+ db 00011110b
+ db 00100010b
+ db 00011110b
+
+ db 'c'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00011100b
+ db 00100000b
+ db 00100000b
+ db 00100010b
+ db 00011100b
+
+ db 'e'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00011100b
+ db 00100010b
+ db 00111110b
+ db 00100000b
+ db 00011100b
+
+ db 'f'
+;;;SPRITE 8x7x1
+ db 00001100b
+ db 00010010b
+ db 00010000b
+ db 00111000b
+ db 00010000b
+ db 00010000b
+ db 00010000b
+
+ db 'g'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00011110b
+ db 00100010b
+ db 00100010b
+ db 00011110b
+ db 00000010b
+ db 00011100b
+
+ db 'i'
+;;;SPRITE 8x7x1
+ db 00001000b
+ db 00000000b
+ db 00011000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00011100b
+
+ db 'l'
+;;;SPRITE 8x7x1
+ db 00011000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00001000b
+ db 00011100b
+
+ db 'm'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00110100b
+ db 00101010b
+ db 00101010b
+ db 00100010b
+ db 00100010b
+
+ db 'n'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00101100b
+ db 00110010b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+
+ db 'o'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00011100b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00011100b
+
+ db 'p'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00111100b
+ db 00100010b
+ db 00111100b
+ db 00100000b
+ db 00100000b
+
+ db 'r'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00101100b
+ db 00110010b
+ db 00100000b
+ db 00100000b
+ db 00100000b
+
+ db 's'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00011100b
+ db 00100000b
+ db 00011100b
+ db 00000010b
+ db 00111100b
+
+ db 't'
+;;;SPRITE 8x7x1
+ db 00010000b
+ db 00010000b
+ db 00111000b
+ db 00010000b
+ db 00010000b
+ db 00010010b
+ db 00001100b
+
+ db 'u'
+;;;SPRITE 8x7x1
+ db 00000000b
+ db 00000000b
+ db 00100010b
+ db 00100010b
+ db 00100010b
+ db 00100110b
+ db 00011010b
diff --git a/src/romdump_8x/link.asm b/src/romdump_8x/link.asm
new file mode 100644
index 0000000..ef0c846
--- /dev/null
+++ b/src/romdump_8x/link.asm
@@ -0,0 +1,153 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; LinkSendBC:
+;;
+;; Send a sequence of bytes to the link port.
+;;
+;; Input:
+;; - DE = address of bytes to send
+;; - BC = number of bytes to send
+;; - HL = checksum so far
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;; - HL = updated checksum
+;;
+;; Destroys:
+;; - AF, BC, DE
+
+LinkSendBC:
+	ld a, b
+	or c
+	ret z
+	dec bc
+	push bc
+ #ifdef TI83
+	 in a, (linkPort)
+	 and 10h
+	 or LINK_RESET
+	 push af
+ #endif
+	  ld a, (de)
+	  inc de
+	  ld c, a
+	  ld b, 0
+	  add hl, bc
+	  push de
+	   push hl
+	    call LinkPutByte
+	    pop hl
+	   pop de
+ #ifdef TI83
+	  pop bc
+	 ld c, linkPort
+	 out (c), b
+ #endif
+	 pop bc
+	ret c
+	jr LinkSendBC
+
+;; LinkReceiveB:
+;;
+;; Read a sequence of bytes from the link port.
+;;
+;; Input:
+;; - B = number of bytes to read
+;; - DE = address of buffer to store data
+;; - HL = checksum so far
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;; - HL = updated checksum
+;;
+;; Destroys:
+;; - AF, BC, DE
+
+LinkReceiveB:
+ #ifdef TI83
+	in a, (linkPort)
+	and 10h
+	or LINK_RESET
+	ld c, a
+ #endif
+LinkReceiveB_Loop:
+	push bc
+	 push hl
+	  push de
+	   call LinkGetByte
+	   pop de
+	  pop hl
+	 jr c, LinkReceiveB_Error
+	 ld b, 0
+	 add hl, bc
+	 ld a, c
+	 ld (de), a
+	 inc de
+	 pop bc
+	djnz LinkReceiveB_Loop
+	or a
+	push bc
+LinkReceiveB_Error:
+	 pop bc
+ #ifdef TI83
+	ld a, c
+	out (linkPort), a
+ #endif
+	ret
+
+;; LinkError:
+;;
+;; Reset the link port and wait for ~2 seconds to ensure that the
+;; PC sees an error condition.
+;;
+;; Destroys:
+;; - B
+
+LinkError:
+	ld b, 255
+	push af
+ #ifdef TI83P
+	 in a, (2)
+	 and 80h
+	 out (8), a
+ #endif
+ #ifdef TI83
+	 in a, (linkPort)
+	 and 10h
+	 or LINK_RESET
+ #else
+	 ld a, LINK_RESET
+ #endif
+	 out (linkPort), a
+LinkDelay_Loop:
+	 ei
+	 halt
+	 halt
+	 djnz LinkDelay_Loop
+ #ifdef TI83P
+	 xor a
+	 out (8), a
+ #endif
+	 pop af
+	ret
diff --git a/src/romdump_8x/link83p.asm b/src/romdump_8x/link83p.asm
new file mode 100644
index 0000000..8db415b
--- /dev/null
+++ b/src/romdump_8x/link83p.asm
@@ -0,0 +1,92 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; CheckLinkActivity:
+;;
+;; Check whether we are receiving data from the link port.
+;;
+;; Output:
+;; - Zero flag clear (NZ) if we are receiving data
+;;
+;; Destroys:
+;; - AF
+;; - DE, HL
+
+CheckLinkActivity:
+	in a, (linkPort)
+	cpl
+	and 3
+	ret nz
+	in a, (2)
+	and 80h
+	ret z
+	in a, (9)
+	and 18h
+	ret
+
+;; LinkGetByte:
+;;
+;; Read a byte from the link port.
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;; - C = byte value
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, B, DE, HL
+
+LinkGetByte:
+	ld hl, LinkIOError
+	call APP_PUSH_ERRORH
+	 B_CALL _RecAByteIO
+	 ld d, a
+	 jr LinkIODone
+
+;; LinkPutByte:
+;;
+;; Read a byte from the link port.
+;;
+;; Input:
+;; - A = C = byte value to write
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, B, DE, HL
+
+LinkPutByte:
+	ld hl, LinkIOError
+	call APP_PUSH_ERRORH
+	 B_CALL _SendAByte
+LinkIODone:
+	 call APP_POP_ERRORH
+	ld c, d
+	or a
+	ret
+
+LinkIOError:
+	scf
+	ret
diff --git a/src/romdump_8x/linksw.asm b/src/romdump_8x/linksw.asm
new file mode 100644
index 0000000..9d69512
--- /dev/null
+++ b/src/romdump_8x/linksw.asm
@@ -0,0 +1,227 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+BIT_TIMEOUT equ 65535
+
+#ifndef TI82
+
+#define LD_A_LINK_D0L         ld a, LINK_D0L
+#define LD_A_LINK_D1L         ld a, LINK_D1L
+#define AND_LINK_STATUS_MASK  and LINK_STATUS_MASK
+
+#else ; TI82
+
+#define LD_A_LINK_D0L         ld a, (linkD0L)
+#define LD_A_LINK_D1L         ld a, (linkD1L)
+#define AND_LINK_STATUS_MASK  call AndLinkStatusMask
+
+LINK_STATUS_MASK equ 0
+
+;; InitializeLink:
+;;
+;; Set the link port status mask and control values based on the
+;; hardware version.  Note that the LINK_RESET value is C0h for both
+;; hardware versions.
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, DE, HL
+
+InitializeLink:
+	di
+	ld a, LINK_RESET
+	out (linkPort), a
+
+	ld bc, 0FE03h
+	ld hl, 0E8D4h
+	in a, (linkPort)
+	and 0Ch
+	jr z, InitializeLink_Old
+	ld bc, 0F80Ch
+	ld hl, 0C2C1h
+InitializeLink_Old:
+	ld a, c
+	ld (AndLinkStatusMask + 1), a
+	ld a, b
+	ld (LinkGetByte_CheckStatus + 1), a
+	ld (linkD0L), hl
+	ret
+
+#endif ; TI82
+
+;; CheckLinkActivity:
+;;
+;; Check whether we are receiving data from the link port.
+;;
+;; Output:
+;; - Zero flag clear (NZ) if we are receiving data
+;;
+;; Destroys:
+;; - AF
+;; - DE, HL
+
+CheckLinkActivity:
+	in a, (linkPort)
+	cpl
+AndLinkStatusMask:
+	and LINK_STATUS_MASK
+	ret
+
+;; LinkGetByte:
+;;
+;; Read a byte from the link port.
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;; - C = byte value
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, B, DE, HL
+;; - ROM bank number [TI83]
+
+LinkGetByte:
+	di
+	ld a, LINK_RESET
+	out (linkPort), a
+
+	ld b, 8
+LinkGetByte_Loop:
+	ld d, 0FFh
+	call LinkWaitEither
+	ret c
+
+LinkGetByte_CheckStatus:
+	add a, -(LINK_STATUS_MASK & 0AAh)
+	;; NC, NZ if "D0" bit set
+	;; C, Z if "D1" bit set
+	;; C, NZ if both bits set
+
+	LD_A_LINK_D1L
+	jr nc, LinkGetByte_0	; ~status < D1 -> zero bit
+	ret nz			; ~status > D1 -> error
+	LD_A_LINK_D0L		; ~status = D1 -> one bit
+LinkGetByte_0:
+	out (linkPort), a
+	rr c
+	inc d			; -> D = 0
+	call LinkWaitEither
+	ret c
+
+	ld a, LINK_RESET
+	out (linkPort), a
+	djnz LinkGetByte_Loop
+	ret
+
+;; LinkWaitEither:
+;;
+;; Wait until link port state does not equal D.
+;;
+;; Input:
+;; - A = link port control value
+;; - D = existing status value
+;;
+;; Output:
+;; - Carry flag set if timeout reached
+;; - A = input bits xor D
+;;
+;; Destroys:
+;; - AF, HL
+
+LinkWaitEither:
+	ld hl, BIT_TIMEOUT
+LinkWaitEither_Loop:
+	dec hl
+	in a, (linkPort)
+	xor d
+	AND_LINK_STATUS_MASK
+	ret nz
+	ld a, h
+	or l
+	jr nz, LinkWaitEither_Loop
+	scf
+	ret
+
+;; LinkPutByte:
+;;
+;; Write a byte to the link port.
+;;
+;; Input:
+;; - A = C = byte value to write
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, B, DE, HL
+;; - ROM bank number [TI83]
+
+LinkPutByte:
+	di
+	ld b, 8
+LinkPutByte_Loop:
+	call LinkSetWaitBothHigh
+	ret c
+	rr c
+	LD_A_LINK_D0L
+	jr nc, LinkPutByte_0
+	LD_A_LINK_D1L
+LinkPutByte_0:
+	inc d			; -> D = 0
+	call LinkSetWaitBoth
+	ret c
+	djnz LinkPutByte_Loop
+LinkSetWaitBothHigh:
+	ld a, LINK_RESET
+	ld d, 0FFh
+	;; fall through
+
+;; LinkSetWaitBoth:
+;;
+;; Write a value to link port, then wait until line state equals D.
+;;
+;; Input:
+;; - A = link port control value
+;; - D = desired status value
+;;
+;; Output:
+;; - Carry flag set if timeout reached
+;;
+;; Destroys:
+;; - AF, HL
+
+LinkSetWaitBoth:
+	out (linkPort), a
+	ld hl, BIT_TIMEOUT
+LinkSetWaitBoth_Loop:
+	dec hl
+	in a, (linkPort)
+	xor d
+	AND_LINK_STATUS_MASK
+	ret z
+	ld a, h
+	or l
+	jr nz, LinkSetWaitBoth_Loop
+	scf
+	ret
diff --git a/src/romdump_8x/main.asm b/src/romdump_8x/main.asm
new file mode 100644
index 0000000..0f02491
--- /dev/null
+++ b/src/romdump_8x/main.asm
@@ -0,0 +1,238 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+Main:
+	res apdRunning, (iy + apdFlags)
+	in a, (memPort)
+	ld (defaultMemPage), a
+ #ifdef TI83
+	in a, (linkPort)
+	and 10h
+	or LINK_RESET
+	ld (defaultLinkState), a
+ #endif
+
+ #ifdef TI82
+	call InitializeLink
+ #endif
+
+ #ifdef CALC_USB
+	call InitializeUSB
+ #endif
+
+ #ifdef CALC_FLASH
+	call Unlock
+	ld a, (defaultMemPage)
+	out (memPort), a
+ #endif
+
+ #ifdef TI83P
+	in a, (2)
+	add a, a
+	jr nc, Main_83PlusBE
+	ld a, 1
+	out (20h), a
+	in a, (21h)
+	and 3
+	ld a, 10h
+	jr z, Main_84PlusBE
+	add a, a
+Main_84PlusBE:
+	ld (ROMSize + 2), a
+Main_83PlusBE:
+ #endif
+
+	ld hl, 0
+	ld (errorCount), hl
+	ld (blockCount), hl
+
+	RUN_INDIC_OFF
+	CLEAR_LCD
+
+	ld hl, 0
+	ld (curRow), hl
+
+	ld hl, DumpingROMString
+	PUT_STRING
+
+	ld de, 4
+	ld (curRow), de
+	PUT_STRING
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; Main Loop
+;;;
+
+MainLoop:
+	ei
+	halt
+	GET_CSC
+	cp 37h
+	jr z, Quit
+
+	call CheckLinkActivity
+	jr z, MainLoop
+
+	call ReceivePacket
+	jr c, Main_Error
+
+	;; What command did we receive?
+	ld de, (recPacketCmd)
+	ld hl, CMD_PING
+	or a
+	sbc hl, de
+	jr z, Received_Ping
+
+	ld a, d
+	or a
+	jr nz, Main_Error
+
+	ld b, e
+	djnz Received_2
+	;; 0001: OK, no response needed
+	jr MainLoop
+
+Received_Ping:
+	;; AA55: reply OK
+	ld hl, CMD_OK
+	call SendShortPacket
+	jr MainLoop
+
+Received_2:
+	djnz Received_3
+	;; 0002: End of Transmission
+	ld hl, CMD_EOT
+	call SendShortPacket
+Quit:
+	CLEAR_LCD
+	ld hl, 0
+	ld (curRow), hl
+	ret
+
+Received_3:
+	djnz Received_4
+	;; 0003: Request ROM size
+	ld hl, ROMSize
+	ld (sendPacketDataPtr), hl
+	ld hl, 4
+	ld (sendPacketLength), hl
+	ld hl, CMD_SIZE
+	call SendPacket
+
+	ld hl, 0402h
+	ld (curRow), hl
+	ld hl, KString
+	PUT_STRING
+ #ifdef TI83P
+	ld hl, (ROMSize + 1)
+	srl h
+	srl h
+	PUT_DECIMAL
+	ld a, 'K'
+	PUT_CHAR
+ #endif
+MainLoop_:
+	jr MainLoop
+
+Received_4:
+	djnz Received_5
+	;; 0004: deprecated
+Main_Error:
+	ld hl, 7
+	ld (curRow), hl
+	ld hl, ErrorString
+	PUT_STRING
+	ld hl, (errorCount)
+	inc hl
+	ld (errorCount), hl
+	PUT_DECIMAL
+ #ifndef USB
+	call LinkError
+ #endif
+MainLoop__:
+	jr MainLoop_
+
+Received_5:
+	djnz Main_Error
+	;; 0005: Request data block
+
+	ld hl, (recPacketData)
+	ld a, (recPacketData + 2)
+	;; A = addr >> 14
+	sla h
+	rla
+	sla h
+	rla
+	SET_ROM_PAGE
+	;; HL = (addr & 3FFFh) | 4000h
+	scf
+	rr h
+	srl h
+	ld (sendPacketDataPtr), hl
+
+	;; Check if the block is empty
+	call CheckBlockUniform
+	jr nz, BlockRequest_NotEmpty
+
+	;; Empty block, send a REPEAT packet
+	ld h, a
+	ld l, a
+	ld (sendPacketData + 2), hl
+	ld hl, BLOCK_SIZE
+	ld (sendPacketData), hl
+	ld hl, sendPacketData
+	ld (sendPacketDataPtr), hl
+	ld hl, 4
+	ld de, CMD_REPEAT
+	jr BlockRequest_SetPacket
+
+BlockRequest_NotEmpty:
+	ld hl, BLOCK_SIZE
+	ld de, CMD_DATA
+BlockRequest_SetPacket:
+	ld (sendPacketLength), hl
+	ex de, hl
+	call SendPacket
+
+	;; Restore original memory page
+ #ifdef TI83
+	ld a, (defaultLinkState)
+	out (linkPort), a
+ #endif
+	ld a, (defaultMemPage)
+	out (memPort), a
+
+	jr c, Main_Error
+
+	ld hl, 2
+	ld (curRow), hl
+	ld hl, (blockCount)
+	inc hl
+	ld (blockCount), hl
+	PUT_DECIMAL
+
+	ld a, 'K'
+	PUT_CHAR
+
+	jr MainLoop__
diff --git a/src/romdump_8x/packet.asm b/src/romdump_8x/packet.asm
new file mode 100644
index 0000000..360ce48
--- /dev/null
+++ b/src/romdump_8x/packet.asm
@@ -0,0 +1,117 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; CheckBlockUniform:
+;;
+;; Check whether a data block consists of a single repeated byte
+;; value.
+;;
+;; Input:
+;; - HL = address of block
+;;
+;; Output:
+;; - A = byte value at start of block
+;; - Zero flag set (Z) if block is uniform
+;;
+;; Destroys:
+;; - F, BC, HL
+
+CheckBlockUniform:
+	ld a, (hl)
+	ld bc, BLOCK_SIZE
+CheckBlockUniform_Loop:
+	cpi
+	ret po
+	jr z, CheckBlockUniform_Loop
+	ret
+
+;; ReceivePacket:
+;;
+;; Receive a packet using the TiLP ROM protocol.
+;;
+;; Output:
+;; - Carry flag set if there was an error
+;; - (recPacketCmd) = command
+;;
+;; Destroys:
+;; - Interrupts disabled
+;; - AF, BC, DE, HL
+
+ReceivePacket:
+	ld hl, 0
+	ld de, recPacketCmd
+	ld b, 4
+	call LinkReceiveB
+	ret c
+
+	ld a, (recPacketLength + 1)
+	add a, -1
+	ret c
+	ld a, (recPacketLength)
+	or a
+	jr z, ReceivePacket_0
+	ld b, a
+	add a, -65
+	ret c
+
+	ld de, recPacketData
+	call LinkReceiveB
+	ret c
+
+ReceivePacket_0:
+	push hl
+	 ld de, packetChecksum
+	 ld b, 2
+	 call LinkReceiveB
+	 pop de
+	ret c
+	ld hl, (packetChecksum)
+	sbc hl, de
+	ret z
+	scf
+	ret
+
+
+SendShortPacket:
+	push hl
+	 ld hl, 0
+	 ld (sendPacketLength), hl
+	 pop hl
+SendPacket:
+	ld (sendPacketCmd), hl
+	ld hl, 0
+	ld de, sendPacketCmd
+	ld bc, 4
+	call LinkSendBC
+	ret c
+
+	ld de, (sendPacketDataPtr)
+	ld bc, (sendPacketLength)
+	call LinkSendBC
+	ret c
+
+	ld (packetChecksum), hl
+	ld de, packetChecksum
+	ld bc, 2
+	jr LinkSendBC
+
diff --git a/src/romdump_8x/romdump.asm b/src/romdump_8x/romdump.asm
new file mode 100644
index 0000000..c9b660d
--- /dev/null
+++ b/src/romdump_8x/romdump.asm
@@ -0,0 +1,324 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+#define equ .equ
+#define org .org
+#define rorg .org
+#define db .db
+#define dw .dw
+
+#include "romdump.inc"
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73
+;;;
+
+#ifdef TI73
+
+;;; This program can be launched from the home screen.
+
+#include "ti73defs.inc"
+
+#define safe_mem          appBackUpScreen
+#define fixed_exec        saveSScreen
+#define fixed_size_limit  768
+
+	;; BASIC code to launch assembly stub
+	db "_00001005?"
+	ld hl, (curPC)
+	jp (hl)
+start:	ld bc, 3FD5h
+
+	ld de, fixed_code - start
+	add hl, de
+	ld de, fixed_exec
+	ld bc, fixed_code_size
+	ldir
+
+	res remoteKeyPress, (iy + remoteKeyFlag)
+
+#endif ; TI73
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-82
+;;;
+
+#ifdef TI82
+
+;;; This program is launched using a buffer overflow, which jumps
+;;; directly to 'start', with HL equal to the address of 'start' and
+;;; SP = (onSP).
+
+#include "ti82defs.inc"
+
+#define NEED_DISPLAY_ROUTINES
+
+#define safe_mem          saveSScreen
+#define fixed_exec        (saveSScreen + 128)
+#define fixed_size_limit  640
+
+start:
+	    ld de, fixed_code - start
+	    add hl, de
+	    ld de, fixed_exec
+	    ld bc, fixed_code_size
+	    ldir
+	    ld (fontTable), hl
+
+	    ld (errSP), sp
+
+	    ld de, Main - fixed_code - fixed_code_size
+	    add hl, de
+	    call CallHL
+
+	    ld hl, (OPBase)
+	    ld (OPS), hl
+	    ld hl, (fpBase)
+	    ld (FPS), hl
+
+	    ;; look at error handler; if possible, tweak it so that we
+	    ;; exit directly to the home screen
+	    ld hl, 8
+	    add hl, sp
+	    ld e, (hl)
+	    inc hl
+	    ld d, (hl)
+	    ld hl, 6
+	    add hl, de
+	    ld a, (hl)
+	    inc hl
+	    xor (hl)
+	    inc hl
+	    xor (hl)
+	    cp 3Eh ^ cxError ^ 0CDh
+	    jr nz, exit_error
+	    ld a, cxCmd
+	    jp (hl)
+
+exit_error:
+	    ;; if we can't figure out how to exit to home screen, then
+	    ;; simply throw an error
+	    pop hl
+	   pop hl
+	  pop hl
+	 pop af
+	out (2), a
+	ld a, 6
+	ld (errNo), a
+	ret
+
+#endif ; TI82
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-83 / TI-82 STATS / TI-76.fr
+;;;
+
+#ifdef TI83
+
+;;; This program can be launched using the command "Send(9prgmROMDUMP".
+
+#include "ti83defs.inc"
+
+#define safe_mem          saveSScreen
+#define fixed_exec        saveSScreen + 128
+#define fixed_size_limit  640
+
+	db "CD2644"	; call _FindProgSym
+	db "211900"	; ld hl, 25
+	db "19"		; add hl, de
+	db "E9"		; jp (hl)
+	db 0D4h
+	db "?0000?"
+
+start:
+	ld de, fixed_code - start
+	add hl, de
+	ld de, fixed_exec
+	ld bc, fixed_code_size
+	ldir
+
+#endif ; TI83
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-83 Plus / TI-84 Plus
+;;;
+
+#ifdef TI83P
+
+;;; This program can be launched using the command "Asm(prgmROMDUMP".
+
+#include "ti83pdefs.inc"
+
+#define safe_mem saveSScreen
+
+	;; Header for Asm(
+	org 9d93h
+	db 0BBh, 6Dh
+
+	in a, (2)
+	rlca
+	and 1
+	out (20h), a
+
+	res remoteKeyPress, (iy + remoteKeyFlag)
+
+#endif ; TI83P
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-85
+;;;
+
+#ifdef TI85
+
+;;; This program is launched using a buffer overflow, which jumps
+;;; directly to 'start', with HL equal to the address of 'start' and
+;;; SP = (onSP).
+
+#include "ti85defs.inc"
+
+#define NEED_DISPLAY_ROUTINES
+
+#define safe_mem          plotSScreen
+#define fixed_exec        plotSScreen + 128
+#define fixed_size_limit  896
+
+start:
+	    ld de, fixed_code - start
+	    add hl, de
+	    ld de, fixed_exec
+	    ld bc, fixed_code_size
+	    ldir
+	    ld (fontTable), hl
+
+	    ; ld (errSP), sp
+
+	    ld de, Main - fixed_code - fixed_code_size
+	    add hl, de
+	    call CallHL
+
+	    ld hl, (OPBase)
+	    ld (OPS), hl
+	    ld hl, (fpBase)
+	    ld (FPS), hl
+
+	    ;; I don't know if there's any ROM-independent way to exit
+	    ;; directly to home screen
+	    pop hl
+	   pop hl
+	  pop hl
+	 pop af
+	out (5), a
+	ld a, 6
+	ld (errNo), a
+	ret
+
+#endif ; TI85
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-86
+;;;
+
+#ifdef TI86
+
+#include "ti86defs.inc"
+
+;;; This program can be launched using the command "Asm(ROMDump".
+
+#define safe_mem 9000h
+
+ 	;; Header for Asm(
+	org 0D746h
+	db 8Eh, 28h
+
+	res remoteKeyPress, (iy + remoteKeyFlag)
+
+#endif ; TI86
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; Main program
+;;;
+
+#include "defs.inc"
+#include "main.asm"
+
+fixed_code:
+
+#ifdef fixed_exec
+ rorg fixed_exec
+#endif
+
+CallHL:	jp (hl)
+
+#ifdef TI73
+ #include "unlock73.asm"
+#endif
+
+#ifdef TI83P
+ #include "unlock83p.asm"
+#endif
+
+#include "packet.asm"
+
+#ifdef USB
+ #include "usb.asm"
+#else
+ #include "link.asm"
+ #ifdef TI83P
+  #include "link83p.asm"
+ #else
+  #include "linksw.asm"
+ #endif
+#endif
+
+#ifdef NEED_DISPLAY_ROUTINES
+ #include "display.asm"
+ #ifdef TI82
+  #include "display82.asm"
+ #else
+  #include "display85.asm"
+ #endif
+#endif
+
+#include "data.asm"
+
+#ifdef fixed_exec
+fixed_code_size equ $ - fixed_exec
+ #if (fixed_code_size > fixed_size_limit)
+  #error "Fixed code section too large"
+ #endif
+#endif
+
+#ifdef NEED_DISPLAY_ROUTINES
+ #include "font.asm"
+#endif
+
+#ifdef TI83
+	db 0D4h, "?0000?", 0D4h
+#endif
diff --git a/src/romdump_8x/romdump.inc b/src/romdump_8x/romdump.inc
new file mode 100644
index 0000000..01efc67
--- /dev/null
+++ b/src/romdump_8x/romdump.inc
@@ -0,0 +1,35 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+CMD_PING   .equ 0AA55h
+CMD_NOK    .equ 0
+CMD_OK     .equ 1
+CMD_EOT    .equ 2
+CMD_SIZE   .equ 3
+CMD_RETRY  .equ 4
+CMD_REQ    .equ 5
+CMD_DATA   .equ 6
+CMD_REPEAT .equ 7
+
+BLOCK_SIZE .equ 1024
+TIMEOUT    .equ 65535
diff --git a/src/romdump_8x/ti73defs.inc b/src/romdump_8x/ti73defs.inc
new file mode 100644
index 0000000..e9f41d9
--- /dev/null
+++ b/src/romdump_8x/ti73defs.inc
@@ -0,0 +1,81 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 6
+
+;;; Link port
+
+linkPort          equ 0
+LINK_STATUS_MASK  equ 3
+LINK_RESET        equ 0
+LINK_D0L          equ 1
+LINK_D1L          equ 2
+
+;;; RAM addresses
+
+curRow           equ 83E2h
+curCol           equ 83E3h
+appBackUpScreen  equ 8613h
+saveSScreen      equ 8A52h
+curPC            equ 9A5Dh
+
+;;; Flags
+
+apdFlags       equ 08h
+apdRunning     equ 3
+
+remoteKeyFlag  equ 1Fh
+remoteKeyPress equ 5
+
+;;; System calls
+
+_ClrScrnFull  equ 44ADh
+_DispHL       equ 446Eh
+_FlashToRAM2  equ 8054h
+_GetBaseVer   equ 4B8Eh
+_GetCSC       equ 400Fh
+_Mov18B       equ 46FCh
+_PutC         equ 446Bh
+_PutS         equ 4471h
+_RunIndicOff  equ 44D7h
+
+;;; Macros
+
+.addinstr B_CALL * EF 3 NOP 1
+
+#define CLEAR_LCD       B_CALL _ClrScrnFull
+#define GET_CSC         B_CALL _GetCSC
+#define PUT_CHAR        B_CALL _PutC
+#define PUT_DECIMAL     B_CALL _DispHL
+#define PUT_STRING      B_CALL _PutS
+#define RUN_INDIC_OFF   B_CALL _RunIndicOff
+#define SET_ROM_PAGE    out (memPort), a
+
+#define EXIT_KEY_STR    db 0C1h, "MODE]"
+
+;;; Miscellaneous
+
+#define CALC_FLASH
+#define CALC_ROM_SIZE 512
diff --git a/src/romdump_8x/ti82defs.inc b/src/romdump_8x/ti82defs.inc
new file mode 100644
index 0000000..d478e2b
--- /dev/null
+++ b/src/romdump_8x/ti82defs.inc
@@ -0,0 +1,74 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 2
+
+;;; Link port
+
+linkPort    equ 0
+LINK_RESET  equ 0C0h
+
+;;; RAM addresses
+
+kbdScanCode  equ 8000h
+curRow       equ 800Ch
+curCol       equ 800Dh
+errNo        equ 8219h
+errSP        equ 821Ah
+saveSScreen  equ 8228h
+fpBase       equ 8D0Ch
+FPS          equ 8D0Eh
+OPBase       equ 8D10h
+OPS          equ 8D12h
+
+;;; Flags
+
+apdFlags    equ 08h
+apdRunning  equ 3
+
+indicFlags  equ 12h
+indicRun    equ 0
+
+;;; Constants
+
+cxCmd equ 40h
+cxError equ 52h
+
+;;; Macros
+
+#define CLEAR_LCD    call ClearLCD
+#define PUT_CHAR     call PutC
+#define PUT_DECIMAL  call DispHL
+#define PUT_STRING   call PutS
+
+#define GET_CSC        di \ ld hl, kbdScanCode \ ld a, (hl) \ ld (hl), 0
+#define RUN_INDIC_OFF  res indicRun, (iy + indicFlags)
+#define SET_ROM_PAGE   and 7 \ or 88h \ out (memPort), a
+
+#define EXIT_KEY_STR  db "[MODE]"
+
+;;; Miscellaneous
+
+#define CALC_ROM_SIZE 128
diff --git a/src/romdump_8x/ti83defs.inc b/src/romdump_8x/ti83defs.inc
new file mode 100644
index 0000000..765430d
--- /dev/null
+++ b/src/romdump_8x/ti83defs.inc
@@ -0,0 +1,71 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 2
+
+;;; Link port
+
+linkPort          equ 0
+LINK_STATUS_MASK  equ 0Ch
+LINK_RESET        equ 0C0h
+LINK_D0L          equ 0C1h
+LINK_D1L          equ 0C2h
+
+;;; RAM addresses
+
+curRow       equ 800Ch
+curCol       equ 800Dh
+saveSScreen  equ 8265h
+
+;;; Flags
+
+apdFlags    equ 08h
+apdRunning  equ 3
+
+;;; System calls
+
+_ClrScrnFull  equ 475Dh
+_DispHL       equ 4709h
+_GetCSC       equ 4014h
+_PutC         equ 4705h
+_PutS         equ 470Dh
+_RunIndicOff  equ 4795h
+
+;;; Macros
+
+#define CLEAR_LCD      call _ClrScrnFull
+#define GET_CSC        call _GetCSC
+#define PUT_CHAR       call _PutC
+#define PUT_DECIMAL    call _DispHL
+#define PUT_STRING     call _PutS
+#define RUN_INDIC_OFF  call _RunIndicOff
+
+#define SET_ROM_PAGE  push af \ and 8 \ rlca \ or LINK_RESET \ out (linkPort), a \ pop af \ and 7 \ or 88h \ out (2), a
+
+#define EXIT_KEY_STR db 0C1h, "MODE]"
+
+;;; Miscellaneous
+
+#define CALC_ROM_SIZE 256
diff --git a/src/romdump_8x/ti83pdefs.inc b/src/romdump_8x/ti83pdefs.inc
new file mode 100644
index 0000000..3f938a6
--- /dev/null
+++ b/src/romdump_8x/ti83pdefs.inc
@@ -0,0 +1,93 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 6
+
+;;; Link port
+
+linkPort          equ 0
+LINK_STATUS_MASK  equ 3
+LINK_RESET        equ 0
+LINK_D0L          equ 1
+LINK_D1L          equ 2
+
+;;; RAM addresses
+
+ramCode      equ 8100h
+arcInfo      equ 83EEh
+pagedCount   equ 9834h
+pagedBuf     equ 983Ah
+curRow       equ 844Bh
+curCol       equ 844Ch
+iMathPtr5    equ 84DBh
+saveSScreen  equ 86ECh
+
+;;; Flags
+
+apdFlags       equ 08h
+apdRunning     equ 3
+
+remoteKeyFlag  equ 1Fh
+remoteKeyPress equ 5
+
+;;; System calls
+
+APP_PUSH_ERRORH equ 59h
+APP_POP_ERRORH  equ 5Ch
+
+_ClrScrnFull      equ 4546h
+_DispHL           equ 4507h
+_GetBaseVer       equ 4C6Fh
+_GetBootVer       equ 80B7h
+_GetHWVer         equ 80BAh
+_GetCSC           equ 4018h
+_GetVariableData  equ 5092h
+_LdHLind          equ 4009h
+_Mov18B		  equ 47DAh
+_PutC             equ 4504h
+_PutS             equ 450Ah
+_RecAByteIO       equ 4F03h
+_RunIndicOff      equ 4570h
+_SendAByte        equ 4EE5h
+_WriteAByteSafe   equ 80C6h
+
+;;; Macros
+
+.addinstr B_CALL * EF 3 NOP 1
+
+#define CLEAR_LCD       B_CALL _ClrScrnFull
+#define GET_CSC         B_CALL _GetCSC
+#define PUT_CHAR        B_CALL _PutC
+#define PUT_DECIMAL     B_CALL _DispHL
+#define PUT_STRING      B_CALL _PutS
+#define RUN_INDIC_OFF   B_CALL _RunIndicOff
+#define SET_ROM_PAGE    out (memPort), a
+
+#define EXIT_KEY_STR    db 0C1h, "MODE]"
+
+;;; Miscellaneous
+
+#define CALC_FLASH
+#define CALC_ROM_SIZE 0
diff --git a/src/romdump_8x/ti85defs.inc b/src/romdump_8x/ti85defs.inc
new file mode 100644
index 0000000..753eaf9
--- /dev/null
+++ b/src/romdump_8x/ti85defs.inc
@@ -0,0 +1,72 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 5
+
+;;; Link port
+
+linkPort equ 7
+LINK_STATUS_MASK equ 03h
+LINK_RESET equ 0C0h
+LINK_D0L equ 0D4h
+LINK_D1L equ 0E8h
+
+;;; RAM addresses
+
+kbdScanCode  equ 8000h
+curRow       equ 800Ch
+curCol       equ 800Dh
+errNo        equ 8337h
+errSP        equ 8338h
+plotSScreen  equ 8641h
+fpBase       equ 8BDFh
+FPS          equ 8BE1h
+OPBase       equ 8BE3h
+OPS          equ 8BE5h
+
+;;; Flags
+
+apdFlags    equ 08h
+apdRunning  equ 3
+
+indicFlags  equ 12h
+indicRun    equ 0
+
+;;; Macros
+
+#define CLEAR_LCD    call ClearLCD
+#define PUT_CHAR     call PutC
+#define PUT_DECIMAL  call DispHL
+#define PUT_STRING   call PutS
+
+#define GET_CSC        di \ ld hl, kbdScanCode \ ld a, (hl) \ ld (hl), 0
+#define RUN_INDIC_OFF  res indicRun, (iy + indicFlags)
+#define SET_ROM_PAGE   out (memPort), a
+
+#define EXIT_KEY_STR  db "[EXIT]"
+
+;;; Miscellaneous
+
+#define CALC_ROM_SIZE 128
diff --git a/src/romdump_8x/ti86defs.inc b/src/romdump_8x/ti86defs.inc
new file mode 100644
index 0000000..247a7f5
--- /dev/null
+++ b/src/romdump_8x/ti86defs.inc
@@ -0,0 +1,74 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Memory mapping
+
+memPort equ 5
+
+;;; Link port
+
+linkPort equ 7
+LINK_STATUS_MASK equ 03h
+LINK_RESET equ 0C0h
+LINK_D0L equ 0D4h
+LINK_D1L equ 0E8h
+
+;;; RAM addresses
+
+curRow equ 0C00Fh
+curCol equ 0C010h
+
+;;; Flags
+
+apdFlags       equ 08h
+apdRunning     equ 3
+
+remoteKeyFlag  equ 15h
+remoteKeyPress equ 7
+
+;;; System calls
+
+_clrScrn     equ 4A82h
+_dispAHL     equ 4A33h
+_get_key     equ 4068h
+_putc        equ 4A2Bh
+_puts        equ 4A37h
+_runindicoff equ 4AB1h
+
+;;; Macros
+
+#define CLEAR_LCD      call _clrScrn
+#define GET_CSC        call _get_key
+#define PUT_CHAR       call _putc
+#define PUT_DECIMAL    xor a \ call _dispAHL
+#define PUT_STRING     call _puts
+#define RUN_INDIC_OFF  call _runindicoff
+
+#define SET_ROM_PAGE  out (memPort), a
+
+#define EXIT_KEY_STR  db "[EXIT]"
+
+;;; Miscellaneous
+
+#define CALC_ROM_SIZE 256
+
diff --git a/src/romdump_8x/unlock73.asm b/src/romdump_8x/unlock73.asm
new file mode 100644
index 0000000..b7dd349
--- /dev/null
+++ b/src/romdump_8x/unlock73.asm
@@ -0,0 +1,114 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+MAX_OS_VERSION equ 0191h	; last supported version: 1.91 (BCD)
+
+;; Unlock:
+;;
+;; Write-enable Flash.
+;;
+;; Output:
+;; - Carry flag set if unlocking failed
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+;; - Port 6
+;; - appBackUpScreen
+;; - Interrupts disabled
+;; - Interrupt mode set to 1
+
+Unlock:
+	;; Check if current OS version is known to be supported
+	B_CALL _GetBaseVer
+	ld c, b
+	ld b, a
+	ld hl, MAX_OS_VERSION
+	or a
+	sbc hl, bc
+	ret c
+
+	di
+	ld a, 1Ch
+	out (6), a
+	ld hl, 4000h
+	ld b, h
+	ld c, l
+Unlock_FindTargetLoop:
+	ld a, 0F5h
+	cpir
+	scf
+	ret nz
+	push hl
+	 push bc
+	  ld de, Unlock_Data
+	  ld b, 12
+Unlock_CheckTargetLoop:
+	  ld a, (de)
+	  cp (hl)
+	  jr nz, Unlock_CheckTargetDone
+	  inc hl
+	  inc de
+	  djnz Unlock_CheckTargetLoop
+	  inc hl
+	  inc hl
+	  inc hl
+	  add a, a
+	  ld b, 4
+	  jr nz, Unlock_CheckTargetLoop
+Unlock_CheckTargetDone:
+	  pop bc
+	 pop hl
+	jr nz, Unlock_FindTargetLoop
+	ld (appBackUpScreen), sp
+	dec hl
+	push hl			;SETRETURN
+	ld hl, Unlock_Cleanup
+	ld (appBackUpScreen + 2), hl
+	ld hl, appBackUpScreen + 2
+	push hl
+	 ld de, appBackUpScreen + 4
+	 B_CALL _Mov18B
+	 ld hl, -16
+	 add hl, sp
+	 ex de, hl
+	 pop hl
+	ld bc, 20
+	ret
+Unlock_Cleanup:
+	ld sp, (appBackUpScreen)
+	xor a
+	ret
+
+Unlock_Data:
+    ld a, 1
+    nop
+    di
+    nop
+    nop
+    im 1
+    di
+    out (14h), a
+    di
+    ;; ...
+    pop af
+    B_CALL _FlashToRAM2
diff --git a/src/romdump_8x/unlock83p.asm b/src/romdump_8x/unlock83p.asm
new file mode 100644
index 0000000..cb6ee74
--- /dev/null
+++ b/src/romdump_8x/unlock83p.asm
@@ -0,0 +1,167 @@
+;;; -*- TI-Asm -*-
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; TI-73/82/83/83+/84+/85/86 ROM Dumper
+;;;
+;;; Copyright (c) 2012 Benjamin Moody
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 2 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Table of supported OS and boot code versions
+VersionTable:
+	db 1,19, 1,01		; TI-83 Plus
+	db 1,19, 1,00		; TI-83 Plus SE
+	db 2,55, 1,03		; TI-84 Plus
+	db 2,55, 1,03		; TI-84 Plus SE (odd versions)
+	db 2,56, 1,03		; Nspire (even versions)
+
+;; Unlock:
+;;
+;; Write-enable Flash.
+;;
+;; Output:
+;; - Carry flag set if unlocking failed
+;;
+;; Destroys:
+;; - AF, BC, DE, HL
+;; - Port 6
+;; - Interrupts disabled
+;; - Interrupt mode set to 1
+
+Unlock:
+	;; Check if current OS/boot version is known to be supported
+	B_CALL _GetBaseVer
+	ld c, a
+	B_CALL _GetHWVer
+	ld l, a
+	add a, -4
+	ret c
+	inc a
+	jr nz, Unlock_NotNspire
+	bit 0, b
+	jr nz, Unlock_NotNspire
+	inc l
+Unlock_NotNspire:
+	ld h, 0
+	add hl, hl
+	add hl, hl
+	ld de, VersionTable
+	add hl, de
+	ld a, c
+	call CheckVersion
+	ret c
+	inc hl
+	B_CALL _GetBootVer
+	call CheckVersion
+	ret c
+
+	di
+	push	iy
+	 ld	de, 7B09h
+	 ld	a, e
+	 ld	(arcInfo), a
+	 out	(6), a
+	 ld	a, (de)
+	 ld	b, a
+	 push	bc
+	  push	de
+	   call	SetFlashPageD
+	   ld	a, e
+	   B_CALL _WriteAByteSafe
+	   ld hl, Unlock_Recover - 2
+	   ld de, pagedBuf - 2
+	   B_CALL _Mov18B
+	   ld	(pagedBuf + 2), sp
+	   call	Unlock_Main
+	   pop	af
+	  pop	bc
+	 jr Unlock_Done
+
+Unlock_Main:
+	ld	a, (_GetVariableData + 2)
+	ld	d, a
+	ld	hl, ramCode
+	ld	bc, 304
+Unlock_Loop1:
+	ld	a, 0EDh
+	cpir
+	ret	nz
+	ld	a, (hl)
+	sub	0A0h
+	jr	nz, Unlock_Loop1
+	ld	c, (hl)
+	ld	b, a
+	inc	hl
+	ld	(iMathPtr5), hl
+	ld	hl, (_GetVariableData)
+	inc	a
+Unlock_Data:
+	ld	(pagedCount), a
+	or	a
+	call	nz, SetFlashPageD
+Unlock_Loop2:
+	ld	a, 3Ah
+	cpir
+	ret	nz
+	ld	de, Unlock_Data + 1
+Unlock_Loop3:
+	ld	a,(de)
+	cp	(hl)
+	jr	nz, Unlock_Loop2
+	inc	hl
+	inc	de
+	cp	0C4h
+	jr	nz, Unlock_Loop3
+	B_CALL	_LdHLind
+	ld	iy, 56h - 25h
+Unlock_Recover:
+	jp	(hl)
+	   ld	sp, 0
+	   pop	hl
+	  pop	af
+	 ld	(hl), a
+Unlock_WriteByte:
+	 cp	(hl)
+	 jr	nz, Unlock_WriteByte
+	 ld	(hl), 0F0h
+Unlock_Done:
+	 pop	iy
+	ret
+
+SetFlashPageD:
+	in a, (2)
+	add a, a
+	ld a, 1Fh
+	jr nc, SetFlashPage_Mask
+	in a, (21h)
+	and 3
+	ld a, 7Fh
+	jr nz, SetFlashPage_Mask
+	rra
+SetFlashPage_Mask:
+	and d
+	out (6), a
+	ret
+
+CheckVersion:
+	cp (hl)
+	inc hl
+	ccf
+	ret nz
+	ld a, (hl)
+	cp b
+	ret

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/libticalcs.git



More information about the debian-science-commits mailing list