Rev 223 | Rev 3604 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 223 | Rev 313 | ||
---|---|---|---|
1 | ; |
1 | ; |
- | 2 | ; Ghost Monitor - óòèëèòà (ñòðåññ) òåñòèðîâàíèÿ è ìîíèòîðèíãà ñèñòåìû |
|
- | 3 | ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) |
|
- | 4 | ; All Right Reserved |
|
- | 5 | ||
- | 6 | ; |
|
2 | ; |
7 | ; |
3 | ; |
8 | ; |
4 | ; Âêëàäêà òåñòîâ |
9 | ; Âêëàäêà òåñòîâ |
5 | ; |
10 | ; |
6 | ; |
11 | ; |
7 | ; |
12 | ; |
8 | ; |
13 | ; |
9 | ; "GenuineIntel" - International Electronics |
14 | ; "GenuineIntel" - International Electronics |
10 | ; "GenuineTMx86" - Transmeta Processor |
15 | ; "GenuineTMx86" - Transmeta Processor |
11 | ; "AuthenticAMD" - Advanced Micro Devices |
16 | ; "AuthenticAMD" - Advanced Micro Devices |
12 | ; "AMD ISBETTER" - Advanced Micro Devices |
17 | ; "AMD ISBETTER" - Advanced Micro Devices |
13 | ; "UMC UMC UMC " - United Microelectronics Corporation |
18 | ; "UMC UMC UMC " - United Microelectronics Corporation |
14 | ; "CyrixInstead" - Cyrix Processor |
19 | ; "CyrixInstead" - Cyrix Processor |
15 | ; "Geode by NSC" - National Semiconductor Processor |
20 | ; "Geode by NSC" - National Semiconductor Processor |
16 | ; "SiS SiS SiS " - SiS Processor |
21 | ; "SiS SiS SiS " - SiS Processor |
17 | ; "RiseRiseRise" - Rise Processor |
22 | ; "RiseRiseRise" - Rise Processor |
18 | ; "NexGenDriven" - NexGen Processor (acquired by AMD) |
23 | ; "NexGenDriven" - NexGen Processor (acquired by AMD) |
19 | ; "CentaurHauls" - IDT/Centaur, now VIA Processor |
24 | ; "CentaurHauls" - IDT/Centaur, now VIA Processor |
20 | 25 | ||
21 | ; Pentium (P5) button |
26 | ; Pentium (P5) button |
22 | mov eax, 8 |
27 | mov eax, 8 |
23 | mov ebx, 17 * 65536 + 145 |
28 | mov ebx, 17 * 65536 + 145 |
24 | mov ecx, 297 * 65536 + 25 |
29 | mov ecx, 297 * 65536 + 25 |
25 | mov edx, 6 |
30 | mov edx, 6 |
26 | mov esi, tcol |
31 | mov esi, tcol |
27 | cmp byte[Vendor + 11], 'l' |
32 | cmp byte[Vendor + 11], 'l' |
28 | jne p5n |
33 | jne p5n |
29 | cmp byte[CPU_fam], 5 |
34 | cmp byte[CPU_fam], 5 |
30 | jne p5n |
35 | jne p5n |
31 | mov esi, atcol |
36 | mov esi, atcol |
32 | p5n: int 0x40 |
37 | p5n: int 0x40 |
33 | ; Pentium Pro / II / III (P6) button |
38 | ; Pentium Pro / II / III (P6) button |
34 | add ecx, 27 * 65536 |
39 | add ecx, 27 * 65536 |
35 | inc edx |
40 | inc edx |
36 | mov esi, tcol |
41 | mov esi, tcol |
37 | cmp byte[Vendor + 11], 'l' |
42 | cmp byte[Vendor + 11], 'l' |
38 | jne p6n |
43 | jne p6n |
39 | cmp byte[CPU_fam], 6 |
44 | cmp byte[CPU_fam], 6 |
40 | jne p6n |
45 | jne p6n |
41 | mov esi, atcol |
46 | mov esi, atcol |
42 | p6n: int 0x40 |
47 | p6n: int 0x40 |
43 | ; AMD K6 button |
48 | ; AMD K6 button |
44 | add ecx, 27 * 65536 |
49 | add ecx, 27 * 65536 |
45 | inc edx |
50 | inc edx |
46 | mov esi, tcol |
51 | mov esi, tcol |
47 | cmp byte[Vendor], 'A' |
52 | cmp byte[Vendor], 'A' |
48 | jne k6n |
53 | jne k6n |
49 | cmp byte[CPU_fam], 5 |
54 | cmp byte[CPU_fam], 5 |
50 | jne k6n |
55 | jne k6n |
51 | mov esi, atcol |
56 | mov esi, atcol |
52 | k6n: int 0x40 |
57 | k6n: int 0x40 |
53 | ; AMD K7 (Athlon / Duron) |
58 | ; AMD K7 (Athlon / Duron) |
54 | add ecx, 27 * 65536 |
59 | add ecx, 27 * 65536 |
55 | inc edx |
60 | inc edx |
56 | mov esi, tcol |
61 | mov esi, tcol |
57 | cmp byte[Vendor], 'A' |
62 | cmp byte[Vendor], 'A' |
58 | jne k7n |
63 | jne k7n |
59 | cmp byte[CPU_fam], 6 |
64 | cmp byte[CPU_fam], 6 |
60 | jne k7n |
65 | jne k7n |
61 | mov esi, atcol |
66 | mov esi, atcol |
62 | k7n: int 0x40 |
67 | k7n: int 0x40 |
63 | ; MMX òåñò |
68 | ; MMX òåñò |
64 | ; add ecx, 27 * 65536 |
69 | ; add ecx, 27 * 65536 |
65 | ; inc edx |
70 | ; inc edx |
66 | ; mov esi, tcol |
71 | ; mov esi, tcol |
67 | ; cmp byte[CPU_mmx], 1 |
72 | ; cmp byte[CPU_mmx], 1 |
68 | ; jne mmxn |
73 | ; jne mmxn |
69 | ; mov esi, atcol |
74 | ; mov esi, atcol |
70 | ; mmxn: int 0x40 |
75 | ; mmxn: int 0x40 |
71 | ; Ïèøåì íàçâàíèÿ êíîïîê |
76 | ; Ïèøåì íàçâàíèÿ êíîïîê |
72 | mov eax, 4 |
77 | mov eax, 4 |
73 | mov ebx, 30 * 65536 + 307 |
78 | mov ebx, 30 * 65536 + 307 |
74 | mov esi, 7 |
79 | mov esi, 7 |
75 | mov edx, tmsg_p ; P5 |
80 | mov edx, tmsg_p ; P5 |
76 | mov ecx, 0x10000000 |
81 | mov ecx, 0x10000000 |
77 | cmp byte[test_id], 6 |
82 | cmp byte[test_id], 6 |
78 | jne nr1 |
83 | jne nr1 |
79 | mov ecx, 0x10FF0000 |
84 | mov ecx, 0x10FF0000 |
80 | nr1: int 0x40 |
85 | nr1: int 0x40 |
81 | mov ebx, 30 * 65536 + 307 + 27 |
86 | mov ebx, 30 * 65536 + 307 + 27 |
82 | mov esi, 20 ; P6 |
87 | mov esi, 20 ; P6 |
83 | mov ecx, 0x10000000 |
88 | mov ecx, 0x10000000 |
84 | cmp byte[test_id], 7 |
89 | cmp byte[test_id], 7 |
85 | jne nr2 |
90 | jne nr2 |
86 | mov ecx, 0x10FF0000 |
91 | mov ecx, 0x10FF0000 |
87 | nr2: int 0x40 |
92 | nr2: int 0x40 |
88 | mov ebx, 30 * 65536 + 307 + 27 + 27 |
93 | mov ebx, 30 * 65536 + 307 + 27 + 27 |
89 | mov edx, tmsg_k6 ; K6 |
94 | mov edx, tmsg_k6 ; K6 |
90 | mov esi, 13 |
95 | mov esi, 13 |
91 | mov ecx, 0x10000000 |
96 | mov ecx, 0x10000000 |
92 | cmp byte[test_id], 8 |
97 | cmp byte[test_id], 8 |
93 | jne nr3 |
98 | jne nr3 |
94 | mov ecx, 0x10FF0000 |
99 | mov ecx, 0x10FF0000 |
95 | nr3: int 0x40 |
100 | nr3: int 0x40 |
96 | mov ebx, 30 * 65536 + 307 + 27 + 27 + 27 |
101 | mov ebx, 30 * 65536 + 307 + 27 + 27 + 27 |
97 | mov edx, tmsg_k7 ; K7 |
102 | mov edx, tmsg_k7 ; K7 |
98 | mov esi, 15 |
103 | mov esi, 15 |
99 | mov ecx, 0x10000000 |
104 | mov ecx, 0x10000000 |
100 | cmp byte[test_id], 9 |
105 | cmp byte[test_id], 9 |
101 | jne nr4 |
106 | jne nr4 |
102 | mov ecx, 0x10FF0000 |
107 | mov ecx, 0x10FF0000 |
103 | nr4: int 0x40 |
108 | nr4: int 0x40 |
104 | ; mov ebx, 30 * 65536 + 307 + 27 + 27 + 27 + 27 |
109 | ; mov ebx, 30 * 65536 + 307 + 27 + 27 + 27 + 27 |
105 | ; mov edx, tmsg_mmx ; MMX |
110 | ; mov edx, tmsg_mmx ; MMX |
106 | ; mov esi, 12 |
111 | ; mov esi, 12 |
107 | ; mov ecx, 0x10000000 |
112 | ; mov ecx, 0x10000000 |
108 | ; cmp byte[test_id], 10 |
113 | ; cmp byte[test_id], 10 |
109 | ; jne nr5 |
114 | ; jne nr5 |
110 | ; mov ecx, 0x10FF0000 |
115 | ; mov ecx, 0x10FF0000 |
111 | ; nr5: int 0x40 |
116 | ; nr5: int 0x40 |
112 | ; recommendate |
117 | ; recommendate |
113 | mov ecx, 0x10000000 |
118 | mov ecx, 0x10000000 |
114 | mov ebx, 190 * 65536 + 420 |
119 | mov ebx, 190 * 65536 + 420 |
115 | mov edx, tmsg_rec |
120 | mov edx, tmsg_rec |
116 | mov esi, 14 |
121 | mov esi, 14 |
117 | int 0x40 |
122 | int 0x40 |
118 | ; read about |
123 | ; read about |
119 | mov ebx, 30 * 65536 + 282 |
124 | mov ebx, 30 * 65536 + 282 |
120 | mov edx, tmsg_war |
125 | mov edx, tmsg_war |
121 | mov esi, 34 |
126 | mov esi, 34 |
122 | mov ecx, 0x10FF0000 |
127 | mov ecx, 0x10FF0000 |
123 | int 0x40 |
128 | int 0x40 |
124 | ; recommendate color |
129 | ; recommendate color |
125 | mov eax, 13 |
130 | mov eax, 13 |
126 | mov ebx, 170 * 65536 + 10 |
131 | mov ebx, 170 * 65536 + 10 |
127 | mov ecx, 418 * 65536 + 10 |
132 | mov ecx, 418 * 65536 + 10 |
128 | mov edx, atcol |
133 | mov edx, atcol |
129 | int 0x40 |
134 | int 0x40 |
130 | 135 | ||
131 | 136 | ||
132 | jmp end_drow_tab |
137 | jmp end_drow_tab |
133 | 138 | ||
134 | tmsg_p db 'Pentium (Pro/II/III)' ; 7/20 |
139 | tmsg_p db 'Pentium (Pro/II/III)' ; 7/20 |
135 | tmsg_k6 db 'K6 (I/II/III)' ; 13 |
140 | tmsg_k6 db 'K6 (I/II/III)' ; 13 |
136 | tmsg_k7 db 'K7/Athlon/Duron' ; 15 |
141 | tmsg_k7 db 'K7/Athlon/Duron' ; 15 |
137 | ;tmsg_mmx db 'MMX (memory)' ; 12 |
142 | ;tmsg_mmx db 'MMX (memory)' ; 12 |
138 | tmsg_rec db '- recommendate' ; 14 |
143 | tmsg_rec db '- recommendate' ; 14 |
139 | tmsg_war db 'May permanent damage to electronic' ; 34 |
144 | tmsg_war db 'May permanent damage to electronic' ; 34 |