Subversion Repositories Kolibri OS

Rev

Rev 502 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ;
  2. ;   ‘¨á⥬­ ï ¯à®£à ¬¬  ¤«ï ãáâ ­®¢ª¨ ¯®¢ë襭­ëå (>60 Hz) ç áâ®â ®¡­®¢«¥­¨ï
  3. ;   íªà ­  §  áç¥â á­¨¦¥­¨ï à §à¥è¥­¨ï
  4. ;   (¤«ï ¯¥à¥å®¤®¢:  1024å768*60-->800å600*98
  5. ;                     800å600*60-->640å480*94)
  6. ;
  7. ;   Š®¬¯¨«¨à®¢ âì FASM'®¬
  8. ;
  9. ;   !!!!!_à¥¤ã¯à¥¦¤¥­¨¥_!!!!!:
  10. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  11. ;!   ⥪ã騩 ¬®¬¥­â ¯à®£à ¬¬  ­®á¨â Š‘…ˆŒ…’€‹œ›‰ (!) å à ªâ¥à, ¯®í⮬㠢ᥣ¤    !
  12. ;! ®áâ ¥âáï ¢¥à®ïâ­®áâì ¯®àç¨ ®¡®à㤮¢ ­¨ï (â.¥. ¬®­¨â®à ). Žá®¡¥­­® íâ® ª á ¥âáï ¢á¥å!
  13. ;! â¥å, 祩 ¬®­¨â®à ­¥ ¨¬¥¥â § é¨âë ®â ¯¥à¥£à㧮ª ¯® ç áâ®â¥.                         !
  14. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. ;    
  16. ;---------------------------------------------------------------------
  17.  
  18.   use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
  19.   org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
  20.  
  21.   db     'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
  22.   dd     0x01        ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
  23.   dd     START       ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
  24.   dd     I_END       ; à §¬¥à ¯à®£à ¬¬ë
  25.   dd     0x1000      ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
  26.   dd     0x1000      ;  ¤à¥á ¢¥à設ë áâíª 
  27.   dd     0x0         ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
  28.   dd     0x0         ; § à¥§¥à¢¨à®¢ ­®
  29.  
  30. include '..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
  31.  
  32. ;---------------------------------------------------------------------
  33. ;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
  34. ;---------------------------------------------------------------------
  35.  
  36. START:
  37. ;       mcall 5,10
  38.         mov     ecx, 1
  39.         mov     edx, drvinfo
  40.         push    @f
  41.         jmp     call_driver
  42. @@:
  43. ;       jmp run_launcher
  44.  
  45.         mov     ecx, 2
  46.         push    @f
  47. call_driver:
  48.         mcall 21,13
  49.         ret
  50. @@:
  51. ;       cmp eax,-1
  52.         inc     eax
  53.        je   run_launcher
  54. ;       cmp  ecx,280
  55. ;       je  change_vrr
  56. ;       cmp  ecx,277
  57. ;       je  change_vrr
  58. ;       cmp  ecx,6
  59. ;       je  change_vrr
  60. ;       cmp  ecx,7
  61. ;       je  change_vrr
  62. ;       jmp  run_launcher
  63. change_vrr:
  64. ;       mov ax,cx
  65. ;       dec cx
  66. ;       shl cx,1
  67. ;       xor edx,edx
  68. ;       mov dx,[vidmode+ecx]
  69. ;       mov ebx,ecx
  70. ;       shl ebx,2
  71. ;       add ebx,ecx   ; ebx=ebx*5
  72. ;       shr ax,8
  73. ;       dec ax
  74. ;       shl ax,1
  75. ;       add ebx,eax
  76. ;       ror edx,16
  77. ;       mov dx,[_m1+ebx]
  78. ;       rol edx,16
  79.         ;mov eax,ecx
  80.         mov     eax, 10
  81.         cmp cx,277+3
  82.         je  yes_277
  83.         cmp cx,274+3
  84.         jne yes_280
  85.      yes_274:
  86.         add al,10
  87.      yes_277:
  88.         add al,10
  89.      yes_280:
  90.         mov     edx, [_m1+eax-2]
  91.         lea     dx, [ecx-3]
  92.         push    run_launcher
  93.         mov     ecx, 3
  94.         jmp     call_driver
  95. run_launcher:
  96.        mcall 70,launcher
  97.        mcall -1
  98. launcher:
  99.         dd      7
  100.         dd      0
  101.         dd      0
  102.         dd      0
  103.         dd      0
  104.         db      '/sys/LAUNCHER'
  105. I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
  106.         db      ?       ; system loader will zero all memory after program end
  107.                         ; this byte will be terminating zero for launcher string
  108. ; \begin{Serge}
  109.                         ; A you really believe it?
  110.                         ; Áëàæåí, êòî âåðóåò, òåïëî åìó íà ñâåòå!
  111. ; \end{Serge}
  112. drvinfo:   ; 512 bytes driver info area
  113. ; +0   - Full driver name
  114. ; +32  - Driver version
  115. ; +64  - Word List of support video modes (max 32 positions)
  116. ; +128 - 5 words list of support vertical rate to each present mode
  117.       org $+32
  118. drvver:
  119.       org $+32
  120. vidmode:
  121.       org $+64
  122. _m1:
  123.       org drvinfo+200h
  124.