Some optimizations.
This commit is contained in:
parent
69647a6f9e
commit
9398846c13
@ -1,105 +1,104 @@
|
||||
#define BOOTROM_ADDR 0xCE000
|
||||
unsigned char BOOTROM[] = {
|
||||
85, 170, 4, 6, 80, 82, 250, 184, 27, 229, 232, 137, 4, 232, 140, 3,
|
||||
85, 170, 4, 6, 80, 82, 250, 184, 21, 229, 232, 131, 4, 232, 139, 3,
|
||||
115, 3, 233, 188, 0, 84, 88, 57, 224, 116, 39, 62, 161, 255, 255, 62,
|
||||
199, 6, 255, 255, 170, 170, 62, 128, 62, 0, 0, 170, 62, 163, 255, 255,
|
||||
116, 2, 235, 14, 80, 48, 192, 176, 64, 246, 224, 88, 116, 4, 48, 210,
|
||||
235, 8, 178, 1, 184, 93, 229, 232, 76, 4, 184, 131, 2, 146, 238, 184,
|
||||
130, 229, 232, 65, 4, 49, 192, 142, 192, 38, 161, 78, 0, 186, 132, 2,
|
||||
239, 232, 80, 4, 184, 45, 230, 232, 44, 4, 38, 161, 76, 0, 186, 134,
|
||||
2, 239, 232, 63, 4, 184, 49, 230, 232, 27, 4, 184, 151, 229, 232, 21,
|
||||
4, 184, 0, 192, 38, 163, 78, 0, 232, 41, 4, 184, 45, 230, 232, 5,
|
||||
4, 184, 214, 224, 38, 163, 76, 0, 232, 25, 4, 184, 49, 230, 232, 245,
|
||||
3, 184, 172, 229, 232, 239, 3, 184, 0, 192, 38, 163, 6, 1, 232, 3,
|
||||
4, 184, 45, 230, 232, 223, 3, 184, 139, 225, 38, 163, 4, 1, 232, 243,
|
||||
3, 184, 49, 230, 232, 207, 3, 184, 64, 0, 142, 192, 38, 254, 6, 117,
|
||||
0, 251, 90, 88, 7, 203, 85, 86, 128, 250, 128, 116, 28, 137, 197, 137,
|
||||
214, 156, 14, 184, 247, 224, 80, 156, 186, 132, 2, 237, 80, 186, 134, 2,
|
||||
237, 80, 137, 232, 137, 242, 207, 235, 56, 128, 252, 21, 126, 5, 232, 112,
|
||||
0, 235, 34, 128, 252, 1, 116, 10, 128, 252, 21, 116, 5, 190, 37, 225,
|
||||
235, 3, 190, 49, 225, 86, 83, 136, 227, 48, 255, 208, 227, 137, 222, 91,
|
||||
46, 255, 164, 69, 225, 6, 190, 64, 0, 142, 198, 38, 136, 38, 116, 0,
|
||||
7, 137, 229, 139, 118, 8, 156, 131, 230, 254, 157, 131, 214, 0, 86, 157,
|
||||
94, 93, 202, 2, 0, 48, 227, 155, 225, 175, 225, 64, 226, 239, 226, 113,
|
||||
225, 113, 225, 113, 225, 10, 227, 48, 227, 113, 225, 113, 225, 34, 227, 48,
|
||||
227, 113, 225, 113, 225, 48, 227, 48, 227, 113, 225, 113, 225, 48, 227, 50,
|
||||
227, 80, 184, 16, 230, 232, 30, 3, 88, 80, 136, 224, 48, 228, 232, 51,
|
||||
3, 184, 49, 230, 232, 15, 3, 88, 233, 180, 1, 0, 4, 16, 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, 137, 1, 80, 48, 228, 137, 198, 83, 232, 140, 1, 137,
|
||||
197, 1, 240, 137, 222, 131, 211, 0, 232, 179, 1, 91, 88, 115, 3, 233,
|
||||
113, 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, 115, 2, 114, 64, 186,
|
||||
128, 2, 185, 232, 3, 235, 3, 232, 142, 2, 236, 60, 254, 224, 248, 117,
|
||||
46, 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,
|
||||
194, 186, 130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 233, 24, 1, 186,
|
||||
130, 2, 176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 233, 251, 0,
|
||||
132, 192, 117, 3, 233, 248, 0, 80, 48, 228, 137, 198, 83, 232, 251, 0,
|
||||
137, 197, 1, 240, 137, 222, 131, 211, 0, 232, 34, 1, 91, 88, 115, 3,
|
||||
233, 224, 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, 221, 1, 114, 89, 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, 185, 196, 9, 235, 3, 232, 219, 1, 236, 60, 255,
|
||||
225, 248, 36, 31, 60, 5, 117, 38, 185, 196, 9, 235, 3, 232, 200, 1,
|
||||
236, 132, 192, 225, 248, 116, 23, 131, 197, 1, 131, 214, 0, 89, 226, 169,
|
||||
186, 130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 31, 235, 105, 186, 130,
|
||||
2, 176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 31, 235, 76, 132,
|
||||
192, 116, 76, 80, 48, 228, 137, 197, 83, 232, 79, 0, 1, 232, 131, 211,
|
||||
0, 232, 122, 0, 91, 88, 114, 59, 235, 61, 182, 15, 6, 184, 64, 0,
|
||||
142, 192, 38, 138, 22, 117, 0, 7, 254, 194, 181, 254, 177, 255, 49, 192,
|
||||
248, 195, 80, 83, 232, 36, 0, 232, 84, 0, 91, 88, 114, 21, 235, 23,
|
||||
235, 21, 180, 3, 232, 94, 0, 135, 209, 248, 195, 180, 170, 249, 195, 180,
|
||||
1, 249, 195, 180, 4, 249, 195, 48, 228, 248, 195, 49, 192, 49, 219, 82,
|
||||
81, 82, 136, 200, 36, 192, 209, 224, 209, 224, 136, 232, 185, 16, 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, 15, 0, 185, 16, 188, 195, 80, 30, 83, 81,
|
||||
82, 86, 184, 0, 192, 142, 216, 186, 130, 2, 176, 1, 238, 49, 201, 186,
|
||||
232, 3, 180, 134, 205, 21, 186, 128, 2, 176, 255, 185, 80, 0, 238, 226,
|
||||
253, 186, 130, 2, 176, 0, 238, 190, 72, 228, 185, 1, 0, 180, 1, 232,
|
||||
79, 0, 114, 54, 190, 78, 228, 185, 5, 0, 180, 1, 232, 66, 0, 114,
|
||||
41, 187, 100, 0, 190, 84, 228, 185, 1, 0, 180, 1, 232, 50, 0, 190,
|
||||
90, 228, 185, 1, 0, 180, 0, 232, 39, 0, 115, 14, 156, 49, 201, 186,
|
||||
232, 3, 180, 134, 205, 21, 157, 75, 117, 218, 94, 90, 89, 91, 31, 114,
|
||||
8, 184, 206, 229, 232, 127, 0, 88, 195, 184, 241, 229, 232, 119, 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, 238, 136, 248, 238, 136, 216, 238,
|
||||
88, 134, 224, 238, 134, 224, 238, 176, 1, 238, 185, 8, 0, 236, 60, 255,
|
||||
225, 251, 132, 192, 116, 1, 249, 195, 81, 82, 49, 201, 186, 100, 0, 180,
|
||||
134, 205, 21, 90, 89, 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, 11,
|
||||
229, 180, 14, 205, 16, 137, 214, 177, 8, 211, 238, 131, 230, 15, 138, 132,
|
||||
11, 229, 180, 14, 205, 16, 137, 214, 177, 4, 211, 238, 131, 230, 15, 138,
|
||||
132, 11, 229, 180, 14, 205, 16, 137, 214, 131, 230, 15, 138, 132, 11, 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,
|
||||
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, 58, 0, 32,
|
||||
0, 13, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
235, 8, 178, 1, 184, 87, 229, 232, 70, 4, 184, 131, 2, 146, 238, 184,
|
||||
124, 229, 232, 59, 4, 49, 192, 142, 192, 38, 161, 78, 0, 186, 132, 2,
|
||||
239, 232, 74, 4, 184, 39, 230, 232, 38, 4, 38, 161, 76, 0, 186, 134,
|
||||
2, 239, 232, 57, 4, 184, 43, 230, 232, 21, 4, 184, 145, 229, 232, 15,
|
||||
4, 184, 0, 192, 38, 163, 78, 0, 232, 35, 4, 184, 39, 230, 232, 255,
|
||||
3, 184, 214, 224, 38, 163, 76, 0, 232, 19, 4, 184, 43, 230, 232, 239,
|
||||
3, 184, 166, 229, 232, 233, 3, 184, 0, 192, 38, 163, 6, 1, 232, 253,
|
||||
3, 184, 39, 230, 232, 217, 3, 184, 138, 225, 38, 163, 4, 1, 232, 237,
|
||||
3, 184, 43, 230, 232, 201, 3, 184, 64, 0, 142, 192, 38, 254, 6, 117,
|
||||
0, 251, 90, 88, 7, 203, 85, 86, 128, 250, 128, 116, 26, 137, 197, 137,
|
||||
214, 156, 14, 184, 49, 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, 35, 225, 235, 3,
|
||||
190, 49, 225, 86, 137, 222, 136, 227, 48, 255, 208, 227, 135, 222, 46, 255,
|
||||
164, 68, 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, 47, 227, 154, 225, 174, 225, 63, 226, 238, 226, 112, 225,
|
||||
112, 225, 112, 225, 9, 227, 47, 227, 112, 225, 112, 225, 33, 227, 47, 227,
|
||||
112, 225, 112, 225, 47, 227, 47, 227, 112, 225, 112, 225, 47, 227, 49, 227,
|
||||
80, 184, 10, 230, 232, 25, 3, 88, 80, 136, 224, 48, 228, 232, 46, 3,
|
||||
184, 43, 230, 232, 10, 3, 88, 233, 180, 1, 0, 4, 16, 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, 137, 1, 80, 48, 228, 137, 198, 83, 232, 140, 1, 137, 197,
|
||||
1, 240, 137, 222, 131, 211, 0, 232, 179, 1, 91, 88, 115, 3, 233, 113,
|
||||
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, 115, 2, 114, 64, 186, 128,
|
||||
2, 185, 232, 3, 235, 3, 232, 137, 2, 236, 60, 254, 224, 248, 117, 46,
|
||||
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, 194,
|
||||
186, 130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 233, 24, 1, 186, 130,
|
||||
2, 176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 233, 251, 0, 132,
|
||||
192, 117, 3, 233, 248, 0, 80, 48, 228, 137, 198, 83, 232, 251, 0, 137,
|
||||
197, 1, 240, 137, 222, 131, 211, 0, 232, 34, 1, 91, 88, 115, 3, 233,
|
||||
224, 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,
|
||||
221, 1, 114, 89, 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, 185, 196, 9, 235, 3, 232, 214, 1, 236, 60, 255, 225,
|
||||
248, 36, 31, 60, 5, 117, 38, 185, 196, 9, 235, 3, 232, 195, 1, 236,
|
||||
132, 192, 225, 248, 116, 23, 131, 197, 1, 131, 214, 0, 89, 226, 169, 186,
|
||||
130, 2, 176, 1, 238, 88, 95, 90, 89, 91, 31, 235, 105, 186, 130, 2,
|
||||
176, 1, 238, 89, 88, 40, 200, 95, 90, 89, 91, 31, 235, 76, 132, 192,
|
||||
116, 76, 80, 48, 228, 137, 197, 83, 232, 79, 0, 1, 232, 131, 211, 0,
|
||||
232, 122, 0, 91, 88, 114, 59, 235, 61, 182, 15, 6, 184, 64, 0, 142,
|
||||
192, 38, 138, 22, 117, 0, 7, 254, 194, 181, 254, 177, 255, 49, 192, 248,
|
||||
195, 80, 83, 232, 36, 0, 232, 84, 0, 91, 88, 114, 21, 235, 23, 235,
|
||||
21, 180, 3, 232, 94, 0, 135, 209, 248, 195, 180, 170, 249, 195, 180, 1,
|
||||
249, 195, 180, 4, 249, 195, 48, 228, 248, 195, 49, 192, 49, 219, 82, 81,
|
||||
82, 136, 200, 36, 192, 209, 224, 209, 224, 136, 232, 185, 16, 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, 15, 0, 185, 16, 188, 195, 80, 30, 83, 81, 82,
|
||||
86, 184, 0, 192, 142, 216, 186, 130, 2, 176, 1, 238, 49, 201, 186, 232,
|
||||
3, 180, 134, 205, 21, 186, 128, 2, 176, 255, 185, 80, 0, 238, 226, 253,
|
||||
186, 130, 2, 176, 0, 238, 190, 71, 228, 185, 1, 0, 180, 1, 232, 79,
|
||||
0, 114, 54, 190, 77, 228, 185, 5, 0, 180, 1, 232, 66, 0, 114, 41,
|
||||
187, 100, 0, 190, 83, 228, 185, 1, 0, 180, 1, 232, 50, 0, 190, 89,
|
||||
228, 185, 1, 0, 180, 0, 232, 39, 0, 115, 14, 156, 49, 201, 186, 232,
|
||||
3, 180, 134, 205, 21, 157, 75, 117, 218, 94, 90, 89, 91, 31, 114, 8,
|
||||
184, 200, 229, 232, 122, 0, 88, 195, 184, 235, 229, 232, 114, 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, 81, 82, 49, 201, 186, 100, 0, 180, 134, 205, 21, 90, 89, 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, 5, 229, 180, 14, 205, 16, 137,
|
||||
214, 177, 8, 211, 238, 131, 230, 15, 138, 132, 5, 229, 180, 14, 205, 16,
|
||||
137, 214, 177, 4, 211, 238, 131, 230, 15, 138, 132, 5, 229, 180, 14, 205,
|
||||
16, 137, 214, 131, 230, 15, 138, 132, 5, 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, 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, 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,
|
||||
@ -127,4 +126,5 @@ 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, 157};
|
||||
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, 143};
|
||||
@ -276,7 +276,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_from_int13h
|
||||
mov ax, .return_common
|
||||
push ax ; setup for iret from INT 13h handler
|
||||
.simulate_int13h:
|
||||
;
|
||||
@ -300,8 +300,7 @@ int13h_entry:
|
||||
mov ax, TEMP0 ; restore ax
|
||||
mov dx, TEMP1 ; restore dx
|
||||
iret ; call the INT 13h handler
|
||||
.return_from_int13h:
|
||||
jmp .return_common
|
||||
; will return at .return_common
|
||||
|
||||
;
|
||||
; This is an operation for the SD Card. Use our own INT 13h logic.
|
||||
@ -327,19 +326,18 @@ int13h_entry:
|
||||
mov TEMP1, .return
|
||||
.call:
|
||||
push TEMP1 ; setup for ret from the handler
|
||||
push bx
|
||||
mov TEMP1, bx ; save bx
|
||||
mov bl, ah
|
||||
xor bh, bh
|
||||
shl bl, 1
|
||||
mov TEMP1, bx
|
||||
pop bx
|
||||
xchg TEMP1, bx ; restore bx
|
||||
jmp [cs:TEMP1+func_table]
|
||||
.update_bda:
|
||||
push es
|
||||
mov TEMP0, es ; save es
|
||||
mov TEMP1, 0x40 ; BIOS data area
|
||||
mov es, TEMP1
|
||||
mov es:[0x74], ah ; store HDSTAT
|
||||
pop es
|
||||
mov es, TEMP0 ; restore es
|
||||
.return:
|
||||
%ifdef DEBUG
|
||||
push ax
|
||||
@ -365,12 +363,15 @@ int13h_entry:
|
||||
.return_common:
|
||||
mov TEMP0, sp
|
||||
mov TEMP1, [TEMP0+8] ; grab the flags for iret
|
||||
pushf
|
||||
and TEMP1, 0xfffe ; clear carry
|
||||
popf
|
||||
adc TEMP1, 0 ; propagate carry
|
||||
push TEMP1
|
||||
jnc .return_success
|
||||
popf
|
||||
stc
|
||||
jmp .return_with_flags
|
||||
.return_success:
|
||||
popf
|
||||
clc
|
||||
.return_with_flags:
|
||||
pop TEMP1
|
||||
pop TEMP0
|
||||
%ifdef EXTRA_DEBUG
|
||||
@ -1200,18 +1201,14 @@ send_sd_read_write_cmd:
|
||||
out dx, al
|
||||
.send_cmd:
|
||||
mov al, cl ; command byte
|
||||
out dx, al
|
||||
mov al, bh ; address byte 1
|
||||
out dx, al
|
||||
mov al, bl ; address byte 2
|
||||
out dx, al
|
||||
pop ax
|
||||
xchg al, ah ; address byte 3
|
||||
out dx, al
|
||||
xchg al, ah ; address byte 4
|
||||
out dx, al
|
||||
mov al, 0x1 ; crc (dummy)
|
||||
out dx, al
|
||||
mov ah, bh ; address byte 1
|
||||
out dx, ax
|
||||
pop ax ; address byte 3
|
||||
xchg al, bl ; address byte 2
|
||||
out dx, ax
|
||||
xchg al, bl ; address byte 4
|
||||
mov ah, 0x1 ; crc (dummy)
|
||||
out dx, ax
|
||||
mov cx, 8 ; retries
|
||||
.receive_r1:
|
||||
in al, dx
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user