diff --git a/XTMax/Code/XTMax/bootrom.h b/XTMax/Code/XTMax/bootrom.h index 1ee3aa9..9a88888 100644 --- a/XTMax/Code/XTMax/bootrom.h +++ b/XTMax/Code/XTMax/bootrom.h @@ -1,119 +1,121 @@ #define BOOTROM_ADDR 0xCE000 unsigned char BOOTROM[] = { - 85, 170, 4, 6, 80, 81, 82, 86, 250, 184, 165, 229, 232, 17, 5, 232, - 22, 4, 115, 3, 233, 240, 0, 49, 192, 80, 157, 156, 88, 37, 0, 240, + 85, 170, 4, 6, 80, 81, 82, 86, 250, 184, 196, 229, 232, 48, 5, 232, + 53, 4, 115, 3, 233, 240, 0, 49, 192, 80, 157, 156, 88, 37, 0, 240, 61, 0, 240, 117, 26, 176, 255, 177, 33, 210, 232, 117, 18, 251, 190, 0, 0, 185, 255, 255, 243, 172, 9, 201, 250, 116, 4, 48, 210, 235, 8, 178, - 1, 184, 231, 229, 232, 217, 4, 184, 131, 2, 146, 238, 184, 12, 230, 232, - 206, 4, 49, 192, 142, 192, 38, 161, 78, 0, 186, 132, 2, 239, 232, 221, - 4, 184, 16, 231, 232, 185, 4, 38, 161, 76, 0, 186, 134, 2, 239, 232, - 204, 4, 184, 20, 231, 232, 168, 4, 184, 33, 230, 232, 162, 4, 184, 0, - 192, 38, 163, 78, 0, 232, 182, 4, 184, 16, 231, 232, 146, 4, 184, 14, - 225, 38, 163, 76, 0, 232, 166, 4, 184, 20, 231, 232, 130, 4, 184, 54, - 230, 232, 124, 4, 184, 0, 192, 38, 163, 6, 1, 232, 144, 4, 184, 16, - 231, 232, 108, 4, 184, 194, 225, 38, 163, 4, 1, 232, 128, 4, 184, 20, - 231, 232, 92, 4, 184, 210, 230, 232, 86, 4, 184, 0, 192, 38, 163, 98, - 0, 232, 106, 4, 184, 16, 231, 232, 70, 4, 184, 154, 227, 38, 163, 96, - 0, 232, 90, 4, 184, 20, 231, 232, 54, 4, 184, 154, 230, 232, 48, 4, - 184, 64, 0, 142, 192, 38, 254, 6, 117, 0, 38, 160, 117, 0, 232, 61, - 4, 184, 20, 231, 232, 25, 4, 251, 94, 90, 89, 88, 7, 203, 85, 86, - 128, 250, 128, 116, 26, 137, 197, 137, 214, 156, 14, 184, 105, 225, 80, 156, - 186, 132, 2, 237, 80, 186, 134, 2, 237, 80, 137, 232, 137, 242, 207, 128, - 252, 21, 126, 5, 232, 113, 0, 235, 34, 128, 252, 1, 116, 10, 128, 252, - 21, 116, 5, 190, 91, 225, 235, 3, 190, 105, 225, 86, 137, 222, 136, 227, - 48, 255, 208, 227, 135, 222, 46, 255, 164, 124, 225, 140, 197, 190, 64, 0, - 142, 198, 38, 136, 38, 116, 0, 142, 197, 137, 229, 139, 118, 8, 86, 115, - 4, 157, 249, 235, 2, 157, 248, 94, 93, 202, 2, 0, 127, 227, 210, 225, - 230, 225, 125, 226, 64, 227, 168, 225, 168, 225, 168, 225, 91, 227, 127, 227, - 168, 225, 168, 225, 113, 227, 127, 227, 168, 225, 168, 225, 127, 227, 127, 227, - 168, 225, 168, 225, 127, 227, 129, 227, 80, 184, 181, 230, 232, 113, 3, 88, - 80, 136, 224, 48, 228, 232, 134, 3, 184, 20, 231, 232, 98, 3, 88, 233, - 204, 1, 0, 4, 255, 0, 0, 255, 255, 0, 200, 0, 0, 0, 0, 0, - 63, 0, 6, 189, 64, 0, 142, 197, 48, 228, 38, 134, 38, 116, 0, 132, - 228, 116, 1, 249, 7, 195, 132, 192, 117, 3, 233, 161, 1, 80, 48, 228, - 137, 198, 83, 232, 225, 1, 137, 197, 1, 240, 137, 222, 131, 211, 0, 232, - 8, 2, 91, 88, 115, 3, 233, 137, 1, 83, 81, 82, 87, 80, 137, 193, - 48, 237, 137, 223, 186, 130, 2, 176, 0, 238, 81, 137, 232, 137, 243, 177, - 81, 232, 217, 2, 114, 70, 186, 143, 2, 176, 10, 238, 186, 128, 2, 236, - 60, 254, 116, 10, 186, 143, 2, 236, 132, 192, 117, 48, 235, 238, 185, 0, - 1, 82, 186, 131, 2, 236, 90, 132, 192, 252, 116, 4, 243, 109, 235, 4, - 237, 171, 226, 252, 237, 131, 197, 1, 131, 214, 0, 89, 226, 188, 186, 130, - 2, 176, 1, 238, 88, 95, 90, 89, 91, 233, 42, 1, 186, 130, 2, 176, - 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 233, 13, 1, 132, 192, 117, - 3, 233, 10, 1, 80, 48, 228, 137, 198, 83, 232, 74, 1, 137, 197, 1, - 240, 137, 222, 131, 211, 0, 232, 113, 1, 91, 88, 115, 3, 233, 242, 0, - 30, 83, 81, 82, 87, 80, 137, 193, 48, 237, 137, 223, 140, 192, 142, 216, - 186, 130, 2, 176, 0, 238, 81, 137, 232, 137, 243, 177, 88, 232, 61, 2, - 114, 109, 186, 128, 2, 176, 254, 238, 185, 0, 1, 135, 247, 82, 186, 131, - 2, 236, 90, 132, 192, 252, 116, 4, 243, 111, 235, 4, 173, 239, 226, 252, - 135, 254, 186, 143, 2, 176, 25, 238, 186, 128, 2, 236, 60, 255, 117, 10, - 186, 143, 2, 236, 132, 192, 117, 55, 235, 238, 36, 31, 60, 5, 117, 47, - 186, 143, 2, 176, 25, 238, 186, 128, 2, 236, 132, 192, 117, 10, 186, 143, - 2, 236, 132, 192, 117, 25, 235, 238, 131, 197, 1, 131, 214, 0, 89, 226, - 149, 186, 130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 31, 235, 103, 186, - 130, 2, 176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 31, 235, 74, - 132, 192, 116, 74, 80, 48, 228, 137, 197, 83, 232, 138, 0, 1, 232, 131, - 211, 0, 232, 181, 0, 91, 88, 114, 57, 235, 59, 182, 254, 6, 184, 64, - 0, 142, 192, 38, 138, 22, 117, 0, 7, 181, 254, 177, 255, 49, 192, 248, - 195, 80, 83, 232, 97, 0, 232, 145, 0, 91, 88, 114, 21, 235, 23, 235, - 21, 180, 3, 232, 155, 0, 135, 209, 248, 195, 180, 170, 249, 195, 180, 1, - 249, 195, 180, 4, 249, 195, 48, 228, 248, 195, 49, 192, 142, 216, 142, 192, - 185, 0, 1, 191, 0, 124, 243, 171, 184, 1, 2, 186, 128, 0, 185, 1, - 0, 187, 0, 124, 205, 19, 129, 62, 254, 125, 85, 170, 117, 15, 184, 231, - 230, 232, 92, 1, 49, 192, 142, 192, 234, 0, 124, 0, 0, 184, 1, 231, - 232, 77, 1, 251, 244, 235, 253, 49, 192, 49, 219, 82, 81, 82, 136, 200, - 36, 192, 209, 224, 209, 224, 136, 232, 185, 255, 0, 247, 225, 90, 136, 241, - 48, 237, 1, 200, 177, 63, 247, 225, 89, 81, 48, 237, 128, 225, 63, 73, - 1, 200, 131, 210, 0, 137, 211, 89, 90, 195, 81, 82, 232, 18, 0, 57, - 211, 114, 10, 119, 4, 57, 200, 114, 4, 249, 90, 89, 195, 248, 90, 89, - 195, 186, 250, 0, 185, 63, 197, 195, 80, 30, 83, 81, 82, 86, 184, 0, - 192, 142, 216, 186, 130, 2, 176, 1, 238, 185, 1, 0, 186, 160, 134, 180, - 134, 205, 21, 186, 128, 2, 176, 255, 185, 10, 0, 238, 226, 253, 186, 130, - 2, 176, 0, 238, 187, 10, 0, 190, 229, 228, 185, 1, 0, 180, 1, 232, - 92, 0, 115, 15, 49, 201, 186, 32, 78, 180, 134, 205, 21, 75, 117, 231, - 249, 235, 52, 190, 235, 228, 185, 5, 0, 180, 1, 232, 64, 0, 114, 39, - 186, 143, 2, 176, 250, 238, 190, 241, 228, 185, 1, 0, 180, 1, 232, 45, - 0, 190, 247, 228, 185, 1, 0, 180, 0, 232, 34, 0, 115, 9, 186, 143, - 2, 236, 132, 192, 116, 224, 249, 94, 90, 89, 91, 31, 114, 8, 184, 88, - 230, 232, 108, 0, 88, 195, 184, 123, 230, 232, 100, 0, 88, 195, 186, 128, - 2, 176, 255, 238, 81, 185, 6, 0, 252, 172, 238, 226, 252, 185, 8, 0, - 236, 60, 255, 225, 251, 89, 56, 224, 118, 3, 249, 235, 4, 248, 236, 226, - 253, 176, 255, 238, 195, 64, 0, 0, 0, 0, 149, 72, 0, 0, 1, 170, - 135, 119, 0, 0, 0, 0, 1, 105, 64, 0, 0, 0, 1, 186, 128, 2, - 80, 176, 255, 238, 136, 200, 136, 252, 239, 88, 134, 216, 239, 134, 216, 180, - 1, 239, 185, 8, 0, 236, 60, 255, 225, 251, 132, 192, 116, 1, 249, 195, - 156, 30, 83, 86, 137, 198, 184, 0, 192, 142, 216, 180, 14, 49, 219, 252, - 172, 8, 192, 116, 4, 205, 16, 235, 247, 94, 91, 31, 157, 195, 156, 30, - 83, 81, 82, 86, 137, 194, 184, 0, 192, 142, 216, 49, 219, 252, 137, 214, - 177, 12, 211, 238, 131, 230, 15, 138, 132, 149, 229, 180, 14, 205, 16, 137, - 214, 177, 8, 211, 238, 131, 230, 15, 138, 132, 149, 229, 180, 14, 205, 16, - 137, 214, 177, 4, 211, 238, 131, 230, 15, 138, 132, 149, 229, 180, 14, 205, - 16, 137, 214, 131, 230, 15, 138, 132, 149, 229, 180, 14, 205, 16, 94, 90, - 89, 91, 31, 157, 195, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, - 66, 67, 68, 69, 70, 66, 111, 111, 116, 82, 79, 77, 32, 102, 111, 114, - 32, 88, 84, 77, 97, 120, 32, 118, 49, 46, 48, 13, 10, 67, 111, 112, - 121, 114, 105, 103, 104, 116, 32, 40, 99, 41, 32, 50, 48, 50, 53, 32, - 77, 97, 116, 116, 104, 105, 101, 117, 32, 66, 117, 99, 99, 104, 105, 97, - 110, 101, 114, 105, 13, 10, 0, 67, 80, 85, 32, 115, 117, 112, 112, 111, - 114, 116, 115, 32, 73, 78, 83, 47, 79, 85, 84, 83, 32, 105, 110, 115, - 116, 114, 117, 99, 116, 105, 111, 110, 115, 13, 10, 0, 79, 108, 100, 32, - 73, 78, 84, 49, 51, 104, 32, 86, 101, 99, 116, 111, 114, 32, 61, 32, - 0, 78, 101, 119, 32, 73, 78, 84, 49, 51, 104, 32, 86, 101, 99, 116, - 111, 114, 32, 61, 32, 0, 78, 101, 119, 32, 70, 105, 120, 101, 100, 32, - 68, 105, 115, 107, 32, 80, 97, 114, 97, 109, 101, 116, 101, 114, 32, 84, - 97, 98, 108, 101, 32, 61, 32, 0, 83, 68, 32, 67, 97, 114, 100, 32, - 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 32, 115, 117, 99, 99, - 101, 115, 115, 102, 117, 108, 108, 121, 13, 10, 0, 83, 68, 32, 67, 97, - 114, 100, 32, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 105, 110, 105, - 116, 105, 97, 108, 105, 122, 101, 13, 10, 0, 84, 111, 116, 97, 108, 32, - 70, 105, 120, 101, 100, 32, 68, 105, 115, 107, 32, 68, 114, 105, 118, 101, - 115, 32, 61, 32, 0, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, - 32, 73, 78, 84, 49, 51, 104, 32, 70, 117, 110, 99, 116, 105, 111, 110, - 32, 0, 78, 101, 119, 32, 73, 78, 84, 49, 56, 104, 32, 86, 101, 99, - 116, 111, 114, 32, 61, 32, 0, 66, 111, 111, 116, 105, 110, 103, 32, 102, - 114, 111, 109, 32, 83, 68, 32, 67, 97, 114, 100, 46, 46, 46, 13, 10, - 0, 78, 111, 116, 32, 98, 111, 111, 116, 97, 98, 108, 101, 13, 10, 0, - 58, 0, 32, 0, 13, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 184, 6, 230, 232, 248, 4, 184, 131, 2, 146, 238, 184, 43, 230, 232, + 237, 4, 49, 192, 142, 192, 38, 161, 78, 0, 186, 132, 2, 239, 232, 252, + 4, 184, 47, 231, 232, 216, 4, 38, 161, 76, 0, 186, 134, 2, 239, 232, + 235, 4, 184, 51, 231, 232, 199, 4, 184, 64, 230, 232, 193, 4, 184, 0, + 192, 38, 163, 78, 0, 232, 213, 4, 184, 47, 231, 232, 177, 4, 184, 14, + 225, 38, 163, 76, 0, 232, 197, 4, 184, 51, 231, 232, 161, 4, 184, 85, + 230, 232, 155, 4, 184, 0, 192, 38, 163, 6, 1, 232, 175, 4, 184, 47, + 231, 232, 139, 4, 184, 225, 225, 38, 163, 4, 1, 232, 159, 4, 184, 51, + 231, 232, 123, 4, 184, 241, 230, 232, 117, 4, 184, 0, 192, 38, 163, 98, + 0, 232, 137, 4, 184, 47, 231, 232, 101, 4, 184, 185, 227, 38, 163, 96, + 0, 232, 121, 4, 184, 51, 231, 232, 85, 4, 184, 185, 230, 232, 79, 4, + 184, 64, 0, 142, 192, 38, 254, 6, 117, 0, 38, 160, 117, 0, 232, 92, + 4, 184, 51, 231, 232, 56, 4, 251, 94, 90, 89, 88, 7, 203, 85, 86, + 128, 250, 128, 116, 57, 137, 197, 137, 214, 156, 14, 184, 47, 225, 80, 156, + 186, 132, 2, 237, 80, 186, 134, 2, 237, 80, 137, 232, 137, 242, 207, 156, + 80, 137, 232, 128, 252, 8, 117, 18, 137, 240, 60, 128, 114, 12, 6, 184, + 64, 0, 142, 192, 38, 138, 22, 117, 0, 7, 88, 157, 235, 58, 128, 252, + 21, 126, 5, 232, 113, 0, 235, 34, 128, 252, 1, 116, 10, 128, 252, 21, + 116, 5, 190, 122, 225, 235, 3, 190, 136, 225, 86, 137, 222, 136, 227, 48, + 255, 208, 227, 135, 222, 46, 255, 164, 155, 225, 140, 197, 190, 64, 0, 142, + 198, 38, 136, 38, 116, 0, 142, 197, 137, 229, 139, 118, 8, 86, 115, 4, + 157, 249, 235, 2, 157, 248, 94, 93, 202, 2, 0, 158, 227, 241, 225, 5, + 226, 156, 226, 95, 227, 199, 225, 199, 225, 199, 225, 122, 227, 158, 227, 199, + 225, 199, 225, 144, 227, 158, 227, 199, 225, 199, 225, 158, 227, 158, 227, 199, + 225, 199, 225, 158, 227, 160, 227, 80, 184, 212, 230, 232, 113, 3, 88, 80, + 136, 224, 48, 228, 232, 134, 3, 184, 51, 231, 232, 98, 3, 88, 233, 204, + 1, 0, 4, 255, 0, 0, 255, 255, 0, 200, 0, 0, 0, 0, 0, 63, + 0, 6, 189, 64, 0, 142, 197, 48, 228, 38, 134, 38, 116, 0, 132, 228, + 116, 1, 249, 7, 195, 132, 192, 117, 3, 233, 161, 1, 80, 48, 228, 137, + 198, 83, 232, 225, 1, 137, 197, 1, 240, 137, 222, 131, 211, 0, 232, 8, + 2, 91, 88, 115, 3, 233, 137, 1, 83, 81, 82, 87, 80, 137, 193, 48, + 237, 137, 223, 186, 130, 2, 176, 0, 238, 81, 137, 232, 137, 243, 177, 81, + 232, 217, 2, 114, 70, 186, 143, 2, 176, 10, 238, 186, 128, 2, 236, 60, + 254, 116, 10, 186, 143, 2, 236, 132, 192, 117, 48, 235, 238, 185, 0, 1, + 82, 186, 131, 2, 236, 90, 132, 192, 252, 116, 4, 243, 109, 235, 4, 237, + 171, 226, 252, 237, 131, 197, 1, 131, 214, 0, 89, 226, 188, 186, 130, 2, + 176, 1, 238, 88, 95, 90, 89, 91, 233, 42, 1, 186, 130, 2, 176, 1, + 238, 89, 88, 40, 200, 95, 90, 89, 91, 233, 13, 1, 132, 192, 117, 3, + 233, 10, 1, 80, 48, 228, 137, 198, 83, 232, 74, 1, 137, 197, 1, 240, + 137, 222, 131, 211, 0, 232, 113, 1, 91, 88, 115, 3, 233, 242, 0, 30, + 83, 81, 82, 87, 80, 137, 193, 48, 237, 137, 223, 140, 192, 142, 216, 186, + 130, 2, 176, 0, 238, 81, 137, 232, 137, 243, 177, 88, 232, 61, 2, 114, + 109, 186, 128, 2, 176, 254, 238, 185, 0, 1, 135, 247, 82, 186, 131, 2, + 236, 90, 132, 192, 252, 116, 4, 243, 111, 235, 4, 173, 239, 226, 252, 135, + 254, 186, 143, 2, 176, 25, 238, 186, 128, 2, 236, 60, 255, 117, 10, 186, + 143, 2, 236, 132, 192, 117, 55, 235, 238, 36, 31, 60, 5, 117, 47, 186, + 143, 2, 176, 25, 238, 186, 128, 2, 236, 132, 192, 117, 10, 186, 143, 2, + 236, 132, 192, 117, 25, 235, 238, 131, 197, 1, 131, 214, 0, 89, 226, 149, + 186, 130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 31, 235, 103, 186, 130, + 2, 176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 31, 235, 74, 132, + 192, 116, 74, 80, 48, 228, 137, 197, 83, 232, 138, 0, 1, 232, 131, 211, + 0, 232, 181, 0, 91, 88, 114, 57, 235, 59, 182, 254, 6, 184, 64, 0, + 142, 192, 38, 138, 22, 117, 0, 7, 181, 254, 177, 255, 49, 192, 248, 195, + 80, 83, 232, 97, 0, 232, 145, 0, 91, 88, 114, 21, 235, 23, 235, 21, + 180, 3, 232, 155, 0, 135, 209, 248, 195, 180, 170, 249, 195, 180, 1, 249, + 195, 180, 4, 249, 195, 48, 228, 248, 195, 49, 192, 142, 216, 142, 192, 185, + 0, 1, 191, 0, 124, 243, 171, 184, 1, 2, 186, 128, 0, 185, 1, 0, + 187, 0, 124, 205, 19, 129, 62, 254, 125, 85, 170, 117, 15, 184, 6, 231, + 232, 92, 1, 49, 192, 142, 192, 234, 0, 124, 0, 0, 184, 32, 231, 232, + 77, 1, 251, 244, 235, 253, 49, 192, 49, 219, 82, 81, 82, 136, 200, 36, + 192, 209, 224, 209, 224, 136, 232, 185, 255, 0, 247, 225, 90, 136, 241, 48, + 237, 1, 200, 177, 63, 247, 225, 89, 81, 48, 237, 128, 225, 63, 73, 1, + 200, 131, 210, 0, 137, 211, 89, 90, 195, 81, 82, 232, 18, 0, 57, 211, + 114, 10, 119, 4, 57, 200, 114, 4, 249, 90, 89, 195, 248, 90, 89, 195, + 186, 250, 0, 185, 63, 197, 195, 80, 30, 83, 81, 82, 86, 184, 0, 192, + 142, 216, 186, 130, 2, 176, 1, 238, 185, 1, 0, 186, 160, 134, 180, 134, + 205, 21, 186, 128, 2, 176, 255, 185, 10, 0, 238, 226, 253, 186, 130, 2, + 176, 0, 238, 187, 10, 0, 190, 4, 229, 185, 1, 0, 180, 1, 232, 92, + 0, 115, 15, 49, 201, 186, 32, 78, 180, 134, 205, 21, 75, 117, 231, 249, + 235, 52, 190, 10, 229, 185, 5, 0, 180, 1, 232, 64, 0, 114, 39, 186, + 143, 2, 176, 250, 238, 190, 16, 229, 185, 1, 0, 180, 1, 232, 45, 0, + 190, 22, 229, 185, 1, 0, 180, 0, 232, 34, 0, 115, 9, 186, 143, 2, + 236, 132, 192, 116, 224, 249, 94, 90, 89, 91, 31, 114, 8, 184, 119, 230, + 232, 108, 0, 88, 195, 184, 154, 230, 232, 100, 0, 88, 195, 186, 128, 2, + 176, 255, 238, 81, 185, 6, 0, 252, 172, 238, 226, 252, 185, 8, 0, 236, + 60, 255, 225, 251, 89, 56, 224, 118, 3, 249, 235, 4, 248, 236, 226, 253, + 176, 255, 238, 195, 64, 0, 0, 0, 0, 149, 72, 0, 0, 1, 170, 135, + 119, 0, 0, 0, 0, 1, 105, 64, 0, 0, 0, 1, 186, 128, 2, 80, + 176, 255, 238, 136, 200, 136, 252, 239, 88, 134, 216, 239, 134, 216, 180, 1, + 239, 185, 8, 0, 236, 60, 255, 225, 251, 132, 192, 116, 1, 249, 195, 156, + 30, 83, 86, 137, 198, 184, 0, 192, 142, 216, 180, 14, 49, 219, 252, 172, + 8, 192, 116, 4, 205, 16, 235, 247, 94, 91, 31, 157, 195, 156, 30, 83, + 81, 82, 86, 137, 194, 184, 0, 192, 142, 216, 49, 219, 252, 137, 214, 177, + 12, 211, 238, 131, 230, 15, 138, 132, 180, 229, 180, 14, 205, 16, 137, 214, + 177, 8, 211, 238, 131, 230, 15, 138, 132, 180, 229, 180, 14, 205, 16, 137, + 214, 177, 4, 211, 238, 131, 230, 15, 138, 132, 180, 229, 180, 14, 205, 16, + 137, 214, 131, 230, 15, 138, 132, 180, 229, 180, 14, 205, 16, 94, 90, 89, + 91, 31, 157, 195, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, + 67, 68, 69, 70, 66, 111, 111, 116, 82, 79, 77, 32, 102, 111, 114, 32, + 88, 84, 77, 97, 120, 32, 118, 49, 46, 48, 13, 10, 67, 111, 112, 121, + 114, 105, 103, 104, 116, 32, 40, 99, 41, 32, 50, 48, 50, 53, 32, 77, + 97, 116, 116, 104, 105, 101, 117, 32, 66, 117, 99, 99, 104, 105, 97, 110, + 101, 114, 105, 13, 10, 0, 67, 80, 85, 32, 115, 117, 112, 112, 111, 114, + 116, 115, 32, 73, 78, 83, 47, 79, 85, 84, 83, 32, 105, 110, 115, 116, + 114, 117, 99, 116, 105, 111, 110, 115, 13, 10, 0, 79, 108, 100, 32, 73, + 78, 84, 49, 51, 104, 32, 86, 101, 99, 116, 111, 114, 32, 61, 32, 0, + 78, 101, 119, 32, 73, 78, 84, 49, 51, 104, 32, 86, 101, 99, 116, 111, + 114, 32, 61, 32, 0, 78, 101, 119, 32, 70, 105, 120, 101, 100, 32, 68, + 105, 115, 107, 32, 80, 97, 114, 97, 109, 101, 116, 101, 114, 32, 84, 97, + 98, 108, 101, 32, 61, 32, 0, 83, 68, 32, 67, 97, 114, 100, 32, 105, + 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 32, 115, 117, 99, 99, 101, + 115, 115, 102, 117, 108, 108, 121, 13, 10, 0, 83, 68, 32, 67, 97, 114, + 100, 32, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 105, 110, 105, 116, + 105, 97, 108, 105, 122, 101, 13, 10, 0, 84, 111, 116, 97, 108, 32, 70, + 105, 120, 101, 100, 32, 68, 105, 115, 107, 32, 68, 114, 105, 118, 101, 115, + 32, 61, 32, 0, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, + 73, 78, 84, 49, 51, 104, 32, 70, 117, 110, 99, 116, 105, 111, 110, 32, + 0, 78, 101, 119, 32, 73, 78, 84, 49, 56, 104, 32, 86, 101, 99, 116, + 111, 114, 32, 61, 32, 0, 66, 111, 111, 116, 105, 110, 103, 32, 102, 114, + 111, 109, 32, 83, 68, 32, 67, 97, 114, 100, 46, 46, 46, 13, 10, 0, + 78, 111, 116, 32, 98, 111, 111, 116, 97, 98, 108, 101, 13, 10, 0, 58, + 0, 32, 0, 13, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -125,6 +127,4 @@ unsigned char BOOTROM[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109}; \ No newline at end of file + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177}; \ No newline at end of file diff --git a/XTMax/Drivers/BootROM/bootrom.asm b/XTMax/Drivers/BootROM/bootrom.asm index 1236dcb..0734730 100644 --- a/XTMax/Drivers/BootROM/bootrom.asm +++ b/XTMax/Drivers/BootROM/bootrom.asm @@ -287,7 +287,7 @@ int13h_entry: mov TEMP1, dx ; save dx pushf ; setup for iret from INT 13h handler push cs ; setup for iret from INT 13h handler - mov ax, .return_common + mov ax, .return_from_int13h push ax ; setup for iret from INT 13h handler .simulate_int13h: ; @@ -311,7 +311,24 @@ int13h_entry: mov ax, TEMP0 ; restore ax mov dx, TEMP1 ; restore dx iret ; call the INT 13h handler - ; will return at .return_common +.return_from_int13h: + pushf + push ax + mov ax, TEMP0 ; original ax + cmp ah, 0x08 ; is read parameters? + jne .skip_update_hdnum + mov ax, TEMP1 ; original dx + cmp al, 0x80 ; is fixed fixed? + jb .skip_update_hdnum + push es + mov ax, 0x40 ; BIOS data area + mov es, ax + mov dl, es:[0x75] ; HDNUM + pop es +.skip_update_hdnum: + pop ax + popf + jmp .return_common ; ; This is an operation for the SD Card. Use our own INT 13h logic.