Subversion Repositories Kolibri OS

Rev

Rev 3604 | Rev 5952 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;
  2. ; Ghost Monitor - єЄшышЄр (ёЄЁхёё) ЄхёЄшЁютрэш  ш ьюэшЄюЁшэур ёшёЄхь√
  3. ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
  4. ; All Right Reserved
  5. ;
  6. ; ┬ъырфър ЄхёЄют
  7. ;
  8. ; "GenuineIntel" - International Electronics
  9. ; "GenuineTMx86" - Transmeta Processor
  10. ; "AuthenticAMD" - Advanced Micro Devices
  11. ; "AMD ISBETTER" - Advanced Micro Devices
  12. ; "UMC UMC UMC " - United Microelectronics Corporation
  13. ; "CyrixInstead" - Cyrix Processor
  14. ; "Geode by NSC" - National Semiconductor Processor
  15. ; "SiS SiS SiS " - SiS Processor
  16. ; "RiseRiseRise" - Rise Processor
  17. ; "NexGenDriven" - NexGen Processor  (acquired by AMD)
  18. ; "CentaurHauls" - IDT/Centaur, now VIA Processor
  19.  
  20.         ; Pentium (P5) button
  21.         mov     eax, 8
  22.         mov     ebx, 17 * 65536 + 145
  23.         mov     ecx, 297 * 65536 + 25
  24.         mov     edx, 6
  25.         mov     esi, tcol
  26.         cmp     byte[Vendor + 11], 'l'
  27.         jne     p5n
  28.         cmp     byte[CPU_fam], 5
  29.         jne     p5n
  30.         mov     esi, atcol
  31. p5n:    int     0x40
  32.         ; Pentium Pro / II / III (P6) button
  33.         add     ecx, 27 * 65536
  34.         inc     edx
  35.         mov     esi, tcol
  36.         cmp     byte[Vendor + 11], 'l'
  37.         jne     p6n
  38.         cmp     byte[CPU_fam], 6
  39.         jne     p6n
  40.         mov     esi, atcol
  41. p6n:    int     0x40
  42.         ; AMD K6 button
  43.         add     ecx, 27 * 65536
  44.         inc     edx
  45.         mov     esi, tcol
  46.         cmp     byte[Vendor], 'A'
  47.         jne     k6n
  48.         cmp     byte[CPU_fam], 5
  49.         jne     k6n
  50.         mov     esi, atcol
  51. k6n:    int     0x40
  52.         ; AMD K7 (Athlon / Duron)
  53.         add     ecx, 27 * 65536
  54.         inc     edx
  55.         mov     esi, tcol
  56.         cmp     byte[Vendor], 'A'
  57.         jne     k7n
  58.         cmp     byte[CPU_fam], 6
  59.         jne     k7n
  60.         mov     esi, atcol
  61. k7n:    int     0x40
  62.         ; ╧ш°хь эрчтрэш  ъэюяюъ
  63.         mov     eax, 4
  64.         mov     ebx, 30 * 65536 + 307
  65.         mov     esi, 7
  66.         mov     edx, tmsg_p     ; P5
  67.         xor     ecx, ecx
  68.         cmp     byte[test_id], 6
  69.         jne     nr1
  70.         mov     ecx, 0xFF0000
  71. nr1:    int     0x40
  72.         add     ebx, 27
  73.         mov     esi, 20         ; P6
  74.         xor     ecx, ecx
  75.         cmp     byte[test_id], 7
  76.         jne     nr2
  77.         mov     ecx, 0xFF0000
  78. nr2:    int     0x40
  79.         add     ebx, 27
  80.         mov     edx, tmsg_k6    ; K6
  81.         mov     esi, 13
  82.         xor     ecx, ecx
  83.         cmp     byte[test_id], 8
  84.         jne     nr3
  85.         mov     ecx, 0xFF0000
  86. nr3:    int     0x40
  87.         add     ebx, 27
  88.         mov     edx, tmsg_k7    ; K7
  89.         mov     esi, 15
  90.         xor     ecx, ecx
  91.         cmp     byte[test_id], 9
  92.         jne     nr4
  93.         mov     ecx, 0xFF0000
  94. nr4:    int     0x40
  95.         xor     ecx, ecx
  96.         mov     ebx, 190 * 65536 + 420
  97.         mov     edx, tmsg_rec
  98.         mov     esi, 13
  99.         int     0x40
  100.         ; read about
  101.         mov     ebx, 30 * 65536 + 282
  102.         mov     edx, tmsg_war
  103.         mov     esi, 35
  104.         mov     ecx, 0xFF0000
  105.         int     0x40
  106.         ; recommendate color
  107.         mov     eax, 13
  108.         mov     ebx, 170 * 65536 + 10
  109.         mov     ecx, 418 * 65536 + 10
  110.         mov     edx, atcol
  111.         int     0x40
  112.  
  113.         jmp     end_drow_tab
  114.  
  115. tmsg_p  db      'Pentium (Pro/II/III)'  ; 7/20
  116. tmsg_k6 db      'K6 (I/II/III)'         ; 13
  117. tmsg_k7 db      'K7/Athlon/Duron'       ; 15
  118. tmsg_rec db     'Ч recommended'         ; 13
  119. if lang eq it
  120.         tmsg_war db     'Potrebbe danneggiare lo hardware   '
  121. else
  122.         tmsg_war db     'May permanently damage the hardware'
  123. end if
  124.