Subversion Repositories Kolibri OS

Rev

Rev 223 | Rev 3604 | 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. ;
  9. ; ┬ъырфър ЄхёЄют
  10. ;
  11. ;
  12. ;
  13. ;
  14. ; "GenuineIntel" - International Electronics
  15. ; "GenuineTMx86" - Transmeta Processor
  16. ; "AuthenticAMD" - Advanced Micro Devices
  17. ; "AMD ISBETTER" - Advanced Micro Devices
  18. ; "UMC UMC UMC " - United Microelectronics Corporation
  19. ; "CyrixInstead" - Cyrix Processor
  20. ; "Geode by NSC" - National Semiconductor Processor
  21. ; "SiS SiS SiS " - SiS Processor
  22. ; "RiseRiseRise" - Rise Processor
  23. ; "NexGenDriven" - NexGen Processor  (acquired by AMD)
  24. ; "CentaurHauls" - IDT/Centaur, now VIA Processor
  25.  
  26.         ; Pentium (P5) button
  27.         mov     eax, 8
  28.         mov     ebx, 17 * 65536 + 145
  29.         mov     ecx, 297 * 65536 + 25
  30.         mov     edx, 6
  31.         mov     esi, tcol
  32.         cmp     byte[Vendor + 11], 'l'
  33.         jne     p5n
  34.         cmp     byte[CPU_fam], 5
  35.         jne     p5n
  36.         mov     esi, atcol
  37. p5n:    int     0x40
  38.         ; Pentium Pro / II / III (P6) button
  39.         add     ecx, 27 * 65536
  40.         inc     edx
  41.         mov     esi, tcol
  42.         cmp     byte[Vendor + 11], 'l'
  43.         jne     p6n
  44.         cmp     byte[CPU_fam], 6
  45.         jne     p6n
  46.         mov     esi, atcol
  47. p6n:    int     0x40
  48.         ; AMD K6 button
  49.         add     ecx, 27 * 65536
  50.         inc     edx
  51.         mov     esi, tcol
  52.         cmp     byte[Vendor], 'A'
  53.         jne     k6n
  54.         cmp     byte[CPU_fam], 5
  55.         jne     k6n
  56.         mov     esi, atcol
  57. k6n:    int     0x40
  58.         ; AMD K7 (Athlon / Duron)
  59.         add     ecx, 27 * 65536
  60.         inc     edx
  61.         mov     esi, tcol
  62.         cmp     byte[Vendor], 'A'
  63.         jne     k7n
  64.         cmp     byte[CPU_fam], 6
  65.         jne     k7n
  66.         mov     esi, atcol
  67. k7n:    int     0x40
  68.         ; MMX ЄхёЄ
  69.         ; add   ecx, 27 * 65536
  70.         ; inc   edx
  71.         ; mov   esi, tcol
  72.         ; cmp   byte[CPU_mmx], 1
  73.         ; jne   mmxn
  74.         ; mov   esi, atcol
  75. ; mmxn: int     0x40
  76.         ; ╧ш°хь эрчтрэш  ъэюяюъ
  77.         mov     eax, 4
  78.         mov     ebx, 30 * 65536 + 307
  79.         mov     esi, 7
  80.         mov     edx, tmsg_p     ; P5
  81.         mov     ecx, 0x10000000
  82.         cmp     byte[test_id], 6
  83.         jne     nr1
  84.         mov     ecx, 0x10FF0000
  85. nr1:    int     0x40
  86.         mov     ebx, 30 * 65536 + 307 + 27
  87.         mov     esi, 20         ; P6
  88.         mov     ecx, 0x10000000
  89.         cmp     byte[test_id], 7
  90.         jne     nr2
  91.         mov     ecx, 0x10FF0000
  92. nr2:    int     0x40
  93.         mov     ebx, 30 * 65536 + 307 + 27 + 27
  94.         mov     edx, tmsg_k6    ; K6
  95.         mov     esi, 13
  96.         mov     ecx, 0x10000000
  97.         cmp     byte[test_id], 8
  98.         jne     nr3
  99.         mov     ecx, 0x10FF0000
  100. nr3:    int     0x40
  101.         mov     ebx, 30 * 65536 + 307 + 27 + 27 + 27
  102.         mov     edx, tmsg_k7    ; K7
  103.         mov     esi, 15
  104.         mov     ecx, 0x10000000
  105.         cmp     byte[test_id], 9
  106.         jne     nr4
  107.         mov     ecx, 0x10FF0000
  108. nr4:    int     0x40
  109.         ; mov   ebx, 30 * 65536 + 307 + 27 + 27 + 27 + 27
  110.         ; mov   edx, tmsg_mmx   ; MMX
  111.         ; mov   esi, 12
  112.         ; mov   ecx, 0x10000000
  113.         ; cmp   byte[test_id], 10
  114.         ; jne   nr5
  115.         ; mov   ecx, 0x10FF0000
  116. ; nr5:  int     0x40
  117.         ; recommendate
  118.         mov     ecx, 0x10000000
  119.         mov     ebx, 190 * 65536 + 420
  120.         mov     edx, tmsg_rec
  121.         mov     esi, 14
  122.         int     0x40
  123.         ; read about
  124.         mov     ebx, 30 * 65536 + 282
  125.         mov     edx, tmsg_war
  126.         mov     esi, 34
  127.         mov     ecx, 0x10FF0000
  128.         int     0x40
  129.         ; recommendate color
  130.         mov     eax, 13
  131.         mov     ebx, 170 * 65536 + 10
  132.         mov     ecx, 418 * 65536 + 10
  133.         mov     edx, atcol
  134.         int     0x40
  135.        
  136.        
  137.         jmp     end_drow_tab
  138.        
  139. tmsg_p  db      'Pentium (Pro/II/III)'  ; 7/20
  140. tmsg_k6 db      'K6 (I/II/III)'         ; 13
  141. tmsg_k7 db      'K7/Athlon/Duron'       ; 15
  142. ;tmsg_mmx db    'MMX (memory)'          ; 12
  143. tmsg_rec db     '- recommendate'        ; 14
  144. tmsg_war db     'May permanent damage to electronic' ; 34