Subversion Repositories Kolibri OS

Rev

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