Subversion Repositories Kolibri OS

Rev

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

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