2007-02-02 11:23:31 +01:00
|
|
|
|
;
|
|
|
|
|
; Ghost Monitor - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
|
|
|
|
; All Right Reserved
|
2006-11-02 15:18:23 +01:00
|
|
|
|
;
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
;
|
|
|
|
|
; "GenuineIntel" - International Electronics
|
|
|
|
|
; "GenuineTMx86" - Transmeta Processor
|
|
|
|
|
; "AuthenticAMD" - Advanced Micro Devices
|
|
|
|
|
; "AMD ISBETTER" - Advanced Micro Devices
|
|
|
|
|
; "UMC UMC UMC " - United Microelectronics Corporation
|
|
|
|
|
; "CyrixInstead" - Cyrix Processor
|
|
|
|
|
; "Geode by NSC" - National Semiconductor Processor
|
|
|
|
|
; "SiS SiS SiS " - SiS Processor
|
|
|
|
|
; "RiseRiseRise" - Rise Processor
|
|
|
|
|
; "NexGenDriven" - NexGen Processor (acquired by AMD)
|
|
|
|
|
; "CentaurHauls" - IDT/Centaur, now VIA Processor
|
|
|
|
|
|
|
|
|
|
; Pentium (P5) button
|
|
|
|
|
mov eax, 8
|
|
|
|
|
mov ebx, 17 * 65536 + 145
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov ecx, 297 * 65536 + 25
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, 6
|
|
|
|
|
mov esi, tcol
|
|
|
|
|
cmp byte[Vendor + 11], 'l'
|
|
|
|
|
jne p5n
|
|
|
|
|
cmp byte[CPU_fam], 5
|
|
|
|
|
jne p5n
|
|
|
|
|
mov esi, atcol
|
|
|
|
|
p5n: int 0x40
|
|
|
|
|
; Pentium Pro / II / III (P6) button
|
|
|
|
|
add ecx, 27 * 65536
|
|
|
|
|
inc edx
|
|
|
|
|
mov esi, tcol
|
|
|
|
|
cmp byte[Vendor + 11], 'l'
|
|
|
|
|
jne p6n
|
|
|
|
|
cmp byte[CPU_fam], 6
|
|
|
|
|
jne p6n
|
|
|
|
|
mov esi, atcol
|
|
|
|
|
p6n: int 0x40
|
|
|
|
|
; AMD K6 button
|
|
|
|
|
add ecx, 27 * 65536
|
|
|
|
|
inc edx
|
|
|
|
|
mov esi, tcol
|
|
|
|
|
cmp byte[Vendor], 'A'
|
|
|
|
|
jne k6n
|
|
|
|
|
cmp byte[CPU_fam], 5
|
|
|
|
|
jne k6n
|
|
|
|
|
mov esi, atcol
|
|
|
|
|
k6n: int 0x40
|
|
|
|
|
; AMD K7 (Athlon / Duron)
|
|
|
|
|
add ecx, 27 * 65536
|
|
|
|
|
inc edx
|
|
|
|
|
mov esi, tcol
|
|
|
|
|
cmp byte[Vendor], 'A'
|
|
|
|
|
jne k7n
|
|
|
|
|
cmp byte[CPU_fam], 6
|
|
|
|
|
jne k7n
|
|
|
|
|
mov esi, atcol
|
|
|
|
|
k7n: int 0x40
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov eax, 4
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov ebx, 30 * 65536 + 307
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov esi, 7
|
|
|
|
|
mov edx, tmsg_p ; P5
|
2015-12-08 22:56:29 +01:00
|
|
|
|
xor ecx, ecx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
cmp byte[test_id], 6
|
|
|
|
|
jne nr1
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov ecx, 0xFF0000
|
2006-11-02 15:18:23 +01:00
|
|
|
|
nr1: int 0x40
|
2015-12-08 22:56:29 +01:00
|
|
|
|
add ebx, 27
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov esi, 20 ; P6
|
2015-12-08 22:56:29 +01:00
|
|
|
|
xor ecx, ecx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
cmp byte[test_id], 7
|
|
|
|
|
jne nr2
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov ecx, 0xFF0000
|
2006-11-02 15:18:23 +01:00
|
|
|
|
nr2: int 0x40
|
2015-12-08 22:56:29 +01:00
|
|
|
|
add ebx, 27
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, tmsg_k6 ; K6
|
|
|
|
|
mov esi, 13
|
2015-12-08 22:56:29 +01:00
|
|
|
|
xor ecx, ecx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
cmp byte[test_id], 8
|
|
|
|
|
jne nr3
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov ecx, 0xFF0000
|
2006-11-02 15:18:23 +01:00
|
|
|
|
nr3: int 0x40
|
2015-12-08 22:56:29 +01:00
|
|
|
|
add ebx, 27
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, tmsg_k7 ; K7
|
|
|
|
|
mov esi, 15
|
2015-12-08 22:56:29 +01:00
|
|
|
|
xor ecx, ecx
|
2006-11-02 15:18:23 +01:00
|
|
|
|
cmp byte[test_id], 9
|
|
|
|
|
jne nr4
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov ecx, 0xFF0000
|
2006-11-02 15:18:23 +01:00
|
|
|
|
nr4: int 0x40
|
2015-12-08 22:56:29 +01:00
|
|
|
|
xor ecx, ecx
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov ebx, 190 * 65536 + 420
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, tmsg_rec
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov esi, 13
|
2006-11-02 15:18:23 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
; read about
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov ebx, 30 * 65536 + 282
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, tmsg_war
|
2015-12-08 22:56:29 +01:00
|
|
|
|
mov esi, 35
|
|
|
|
|
mov ecx, 0xFF0000
|
2006-11-02 15:18:23 +01:00
|
|
|
|
int 0x40
|
|
|
|
|
; recommendate color
|
|
|
|
|
mov eax, 13
|
|
|
|
|
mov ebx, 170 * 65536 + 10
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov ecx, 418 * 65536 + 10
|
2006-11-02 15:18:23 +01:00
|
|
|
|
mov edx, atcol
|
|
|
|
|
int 0x40
|
2013-06-05 07:47:25 +02:00
|
|
|
|
|
2006-11-02 15:18:23 +01:00
|
|
|
|
jmp end_drow_tab
|
2013-06-05 07:47:25 +02:00
|
|
|
|
|
2006-11-02 15:18:23 +01:00
|
|
|
|
tmsg_p db 'Pentium (Pro/II/III)' ; 7/20
|
|
|
|
|
tmsg_k6 db 'K6 (I/II/III)' ; 13
|
|
|
|
|
tmsg_k7 db 'K7/Athlon/Duron' ; 15
|
2015-12-08 22:56:29 +01:00
|
|
|
|
tmsg_rec db '<27> recommended' ; 13
|
2013-06-05 07:47:25 +02:00
|
|
|
|
if lang eq it
|
2015-12-08 22:56:29 +01:00
|
|
|
|
tmsg_war db 'Potrebbe danneggiare lo hardware '
|
2013-06-05 07:47:25 +02:00
|
|
|
|
else
|
2015-12-08 22:56:29 +01:00
|
|
|
|
tmsg_war db 'May permanently damage the hardware'
|
2013-06-05 07:47:25 +02:00
|
|
|
|
end if
|