Implementing a different test for processor type.
This commit is contained in:
parent
561301f9ae
commit
bc538b2a5b
@ -1,119 +1,119 @@
|
||||
#define BOOTROM_ADDR 0xCE000
|
||||
unsigned char BOOTROM[] = {
|
||||
85, 170, 4, 6, 80, 82, 250, 184, 164, 229, 232, 18, 5, 232, 23, 4,
|
||||
115, 3, 233, 243, 0, 84, 88, 57, 224, 116, 33, 62, 161, 255, 255, 62,
|
||||
199, 6, 255, 255, 170, 170, 62, 128, 62, 0, 0, 170, 62, 163, 255, 255,
|
||||
117, 10, 80, 48, 192, 176, 64, 246, 224, 88, 117, 10, 178, 1, 184, 230,
|
||||
229, 232, 219, 4, 235, 2, 48, 210, 184, 131, 2, 146, 238, 184, 11, 230,
|
||||
232, 204, 4, 49, 192, 142, 192, 38, 161, 78, 0, 186, 132, 2, 239, 232,
|
||||
219, 4, 184, 15, 231, 232, 183, 4, 38, 161, 76, 0, 186, 134, 2, 239,
|
||||
232, 202, 4, 184, 19, 231, 232, 166, 4, 184, 32, 230, 232, 160, 4, 184,
|
||||
0, 192, 38, 163, 78, 0, 232, 180, 4, 184, 15, 231, 232, 144, 4, 184,
|
||||
13, 225, 38, 163, 76, 0, 232, 164, 4, 184, 19, 231, 232, 128, 4, 184,
|
||||
53, 230, 232, 122, 4, 184, 0, 192, 38, 163, 6, 1, 232, 142, 4, 184,
|
||||
15, 231, 232, 106, 4, 184, 193, 225, 38, 163, 4, 1, 232, 126, 4, 184,
|
||||
19, 231, 232, 90, 4, 184, 209, 230, 232, 84, 4, 184, 0, 192, 38, 163,
|
||||
98, 0, 232, 104, 4, 184, 15, 231, 232, 68, 4, 184, 153, 227, 38, 163,
|
||||
96, 0, 232, 88, 4, 184, 19, 231, 232, 52, 4, 184, 153, 230, 232, 46,
|
||||
4, 184, 64, 0, 142, 192, 38, 254, 6, 117, 0, 38, 160, 117, 0, 232,
|
||||
59, 4, 184, 19, 231, 232, 23, 4, 251, 90, 88, 7, 203, 85, 86, 128,
|
||||
250, 128, 116, 26, 137, 197, 137, 214, 156, 14, 184, 104, 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, 90, 225, 235, 3, 190, 104, 225, 86, 137, 222, 136, 227, 48,
|
||||
255, 208, 227, 135, 222, 46, 255, 164, 123, 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, 126, 227, 209, 225, 229,
|
||||
225, 124, 226, 63, 227, 167, 225, 167, 225, 167, 225, 90, 227, 126, 227, 167,
|
||||
225, 167, 225, 112, 227, 126, 227, 167, 225, 167, 225, 126, 227, 126, 227, 167,
|
||||
225, 167, 225, 126, 227, 128, 227, 80, 184, 180, 230, 232, 113, 3, 88, 80,
|
||||
136, 224, 48, 228, 232, 134, 3, 184, 19, 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, 230, 230,
|
||||
232, 92, 1, 49, 192, 142, 192, 234, 0, 124, 0, 0, 184, 0, 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, 228, 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, 234, 228, 185, 5, 0, 180, 1, 232, 64, 0, 114, 39, 186,
|
||||
143, 2, 176, 250, 238, 190, 240, 228, 185, 1, 0, 180, 1, 232, 45, 0,
|
||||
190, 246, 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, 87, 230,
|
||||
232, 108, 0, 88, 195, 184, 122, 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, 148, 229, 180, 14, 205, 16, 137, 214,
|
||||
177, 8, 211, 238, 131, 230, 15, 138, 132, 148, 229, 180, 14, 205, 16, 137,
|
||||
214, 177, 4, 211, 238, 131, 230, 15, 138, 132, 148, 229, 180, 14, 205, 16,
|
||||
137, 214, 131, 230, 15, 138, 132, 148, 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,
|
||||
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,
|
||||
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,
|
||||
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 +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, 118};
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109};
|
||||
@ -72,7 +72,9 @@ entry:
|
||||
%ifndef AS_COM_PROGRAM
|
||||
push es
|
||||
push ax
|
||||
push cx
|
||||
push dx
|
||||
push si
|
||||
cli
|
||||
%endif
|
||||
|
||||
@ -89,32 +91,50 @@ entry:
|
||||
|
||||
;
|
||||
; Detecting 80186-compatible so we can use REP INSW/OUTSW.
|
||||
; Based on https://www.rcollins.org/ftp/source/cpuid/cpuid.asm
|
||||
; Based on https://cosmodoc.org/topics/processor-detection/
|
||||
;
|
||||
.cpuid:
|
||||
push sp
|
||||
; Push a zero value to the stack, then immediately pop that zero
|
||||
; value into the FLAGS register. Depending on the CPU, some bits will
|
||||
; refuse this change and remain on.
|
||||
xor ax, ax
|
||||
push ax
|
||||
popf
|
||||
; Push the current state of FLAGS to the stack, then immediately pop
|
||||
; the flag state into AX for further analysis.
|
||||
pushf
|
||||
pop ax
|
||||
cmp ax, sp ; if below 80286, these values will differ
|
||||
jz .support_string_io ; nope, 80286 or higher
|
||||
mov ax, ds:[0xffff] ; get original data
|
||||
mov word ds:[0xffff], 0xaaaa ; write signature at test location
|
||||
cmp byte ds:[0], 0xaa ; 8086 will write the 2nd byte at offset 0
|
||||
mov ds:[0xffff], ax
|
||||
jne .support_string_io ; we have an 80186/80188
|
||||
.test_v20:
|
||||
push ax ; save results
|
||||
xor al, al ; force ZF
|
||||
mov al, 0x40 ; multiplicand
|
||||
mul al ; V20 doesn't affect ZF
|
||||
pop ax ; restore results
|
||||
jnz .not_support_string_io ; not a V20
|
||||
; Consider only flag bits 12..15, and see if they all remained on.
|
||||
and ax, 0xf000
|
||||
cmp ax, 0xf000
|
||||
jne .support_string_io ; at least 80286
|
||||
; Perform "FFh >> 33" then check for a zero or nonzero result.
|
||||
mov al, 0xff
|
||||
mov cl, 0x21
|
||||
shr al, cl
|
||||
jnz .support_string_io ; at least 80186/80188
|
||||
; Ensure interrupts are enabled, then save SI's value on the stack.
|
||||
sti
|
||||
; Here, ES is pointing to some unspecified place in memory. Below is
|
||||
; a busy loop that reads 64 KiB of memory from ES:SI, loading each
|
||||
; byte into AL and doing nothing further with it. After each
|
||||
; iteration, SI is incremented and CX is decremented. The loop ends
|
||||
; when CX reaches zero. Or does it?
|
||||
mov si, 0
|
||||
mov cx, 0xffff
|
||||
rep lodsb
|
||||
; See if the value in CX made it all the way to zero. If it did, the
|
||||
; CPU is a V30 or V20.
|
||||
or cx, cx
|
||||
cli
|
||||
jz .support_string_io ; at least V20
|
||||
.not_support_string_io:
|
||||
xor dl, dl
|
||||
jmp .store_string_io
|
||||
.support_string_io:
|
||||
mov dl, 1
|
||||
mov ax, string_io_msg
|
||||
call print_string
|
||||
jmp .store_string_io
|
||||
.not_support_string_io:
|
||||
xor dl, dl
|
||||
.store_string_io:
|
||||
mov ax, XTMAX_IO_BASE+3 ; scratch register 0
|
||||
xchg ax, dx
|
||||
@ -216,7 +236,9 @@ entry:
|
||||
|
||||
.skip:
|
||||
sti
|
||||
pop si
|
||||
pop dx
|
||||
pop cx
|
||||
pop ax
|
||||
pop es
|
||||
retf
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user