Subversion Repositories Kolibri OS

Rev

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

  1. ;
  2. ;   à¨¬¥à ¯à®£à ¬¬ë ¤«ï MenuetOS
  3. ;   ®§¢ã稢 ¥â ª®¤ ­ ¦ â®© ª« ¢¨è¨ ;)
  4. ;
  5. ;   Š®¬¯¨«¨à®¢ âì FASM'®¬
  6. ;
  7. ;   ‘¬. â ª¦¥:
  8. ;     template.asm  -  ¯à¨¬¥à ¯à®á⥩襩 ¯à®£à ¬¬ë (­®¢ë©!)
  9. ;     rb.asm        -  ª®­â¥ªáâ­®¥ ¬¥­î à ¡®ç¥£® á⮫ 
  10. ;     example2.asm  -  ¯à¨¬¥à ¬¥­î ¨ ¤®¯®«­¨â¥«ì­ëå ®ª®­
  11. ;     example3.asm  -  ¯à¨¬¥à ¬¥­î, ॠ«¨§®¢ ­­®£® ¯®-¤à㣮¬ã
  12. ;---------------------------------------------------------------------
  13.  
  14.   use32              ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
  15.   org    0x0         ;  ¤à¥á æ¨ï á ­ã«ï
  16.  
  17.   db     'MENUET01'  ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
  18.   dd     0x01        ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
  19.   dd     START       ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
  20.   dd     I_END       ; à §¬¥à ¯à®£à ¬¬ë
  21.   dd     0x1000      ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
  22.   dd     0x1000      ;  ¤à¥á ¢¥à設ë áâíª 
  23.   dd     0x0         ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ (­¥ ¨á¯®«ì§ã¥âáï)
  24.   dd     0x0         ; § à¥§¥à¢¨à®¢ ­®
  25.  
  26. include 'lang.inc'
  27. include 'macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
  28.  
  29. ;---------------------------------------------------------------------
  30. ;---  €—€‹Ž Žƒ€ŒŒ›  ----------------------------------------------
  31. ;---------------------------------------------------------------------
  32.  
  33. START:
  34. ;       mcall 5,10
  35.        mcall 21,13,1,drvinfo
  36. ;       jmp run_launcher
  37.  
  38.        mcall 21,13,2
  39.        cmp eax,-1
  40.        je   run_launcher
  41. ;       cmp  ecx,280
  42. ;       je  change_vrr
  43. ;       cmp  ecx,277
  44. ;       je  change_vrr
  45. ;       cmp  ecx,6
  46. ;       je  change_vrr
  47. ;       cmp  ecx,7
  48. ;       je  change_vrr
  49. ;       jmp  run_launcher
  50. change_vrr:
  51. ;       mov ax,cx
  52. ;       dec cx
  53. ;       shl cx,1
  54. ;       xor edx,edx
  55. ;       mov dx,[vidmode+ecx]
  56. ;       mov ebx,ecx
  57. ;       shl ebx,2
  58. ;       add ebx,ecx   ; ebx=ebx*5
  59. ;       shr ax,8
  60. ;       dec ax
  61. ;       shl ax,1
  62. ;       add ebx,eax
  63. ;       ror edx,16
  64. ;       mov dx,[_m1+ebx]
  65. ;       rol edx,16
  66.         ;mov eax,ecx
  67.         xor eax,eax
  68.         sub ecx,3
  69.         mov dx,cx
  70.         cmp cx,274
  71.         je yes_274
  72.         cmp cx,277
  73.         je yes_277
  74.         jmp yes_280
  75.      yes_274:
  76.         add al,10
  77.      yes_277:
  78.         add al,10
  79.      yes_280:
  80.         add al,10
  81.         ror edx,16
  82.         mov dx,[_m1+eax]
  83.         rol edx,16
  84. ;       mov dx,bx
  85. ;       shl edx,16
  86. ;       mov  dx,cx
  87.        mcall 21,13,3
  88. ;       mcall 5,300
  89. run_launcher:
  90.        mcall 19,launcher,0
  91. ;       mcall 33,text,drvinfo,512,0
  92.        mcall -1
  93. launcher db  'LAUNCHER   '
  94. ;text      db  'TEXT       '
  95. drvinfo:   ; 512 bytes driver info area
  96. ; +0   - Full driver name
  97. ; +32  - Driver version
  98. ; +64  - Word List of support video modes (max 32 positions)
  99. ; +128 - 5 words list of support vertical rate to each present mode
  100.       org $+32
  101. drvver:
  102.       org $+32
  103. vidmode:
  104.       org $+64
  105. _m1:
  106.       org drvinfo+200h
  107.  
  108. I_END:                             ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
  109.