; ; ‘¨á⥬ ï ¯à®£à ¬¬ ¤«ï ãáâ ®¢ª¨ ¯®¢ëè¥ëå (>60 Hz) ç áâ®â ®¡®¢«¥¨ï ; íªà § áç¥â ᨦ¥¨ï à §à¥è¥¨ï ; (¤«ï ¯¥à¥å®¤®¢: 1024å768*60-->800å600*98 ; 800å600*60-->640å480*94) ; ; Š®¬¯¨«¨à®¢ âì FASM'®¬ ; ; !!!!!_।ã¯à¥¦¤¥¨¥_!!!!!: ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;! ⥪ã騩 ¬®¬¥â ¯à®£à ¬¬ ®á¨â Š‘…ˆŒ…’€‹œ›‰ (!) å à ªâ¥à, ¯®í⮬㠢ᥣ¤ ! ;! ®áâ ¥âáï ¢¥à®ïâ®áâì ¯®àç¨ ®¡®à㤮¢ ¨ï (â.¥. ¬®¨â®à ). Žá®¡¥® íâ® ª á ¥âáï ¢á¥å! ;! â¥å, 祩 ¬®¨â®à ¥ ¨¬¥¥â § é¨âë ®â ¯¥à¥£à㧮ª ¯® ç áâ®â¥. ! ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;--------------------------------------------------------------------- use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à org 0x0 ; ¤à¥á æ¨ï á ã«ï db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë dd I_END ; à §¬¥à ¯à®£à ¬¬ë dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) dd 0x0 ; § १¥à¢¨à®¢ ® include '..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! ;--------------------------------------------------------------------- ;--- €—€‹Ž Žƒ€ŒŒ› ---------------------------------------------- ;--------------------------------------------------------------------- START: ; mcall 5,10 mov ecx, 1 mov edx, drvinfo push @f jmp call_driver @@: ; jmp run_launcher mov ecx, 2 push @f call_driver: mcall 21,13 ret @@: ; cmp eax,-1 inc eax je run_launcher ; cmp ecx,280 ; je change_vrr ; cmp ecx,277 ; je change_vrr ; cmp ecx,6 ; je change_vrr ; cmp ecx,7 ; je change_vrr ; jmp run_launcher change_vrr: ; mov ax,cx ; dec cx ; shl cx,1 ; xor edx,edx ; mov dx,[vidmode+ecx] ; mov ebx,ecx ; shl ebx,2 ; add ebx,ecx ; ebx=ebx*5 ; shr ax,8 ; dec ax ; shl ax,1 ; add ebx,eax ; ror edx,16 ; mov dx,[_m1+ebx] ; rol edx,16 ;mov eax,ecx mov eax, 10 cmp cx,277+3 je yes_277 cmp cx,274+3 jne yes_280 yes_274: add al,10 yes_277: add al,10 yes_280: mov edx, [_m1+eax-2] lea dx, [ecx-3] push run_launcher mov ecx, 3 jmp call_driver run_launcher: mcall 70,launcher mcall -1 launcher: dd 7 dd 0 dd 0 dd 0 dd 0 db '/sys/LAUNCHER' I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë db ? ; system loader will zero all memory after program end ; this byte will be terminating zero for launcher string ; \begin{Serge} ; A you really believe it? ; Áëàæåí, êòî âåðóåò, òåïëî åìó íà ñâåòå! ; \end{Serge} drvinfo: ; 512 bytes driver info area ; +0 - Full driver name ; +32 - Driver version ; +64 - Word List of support video modes (max 32 positions) ; +128 - 5 words list of support vertical rate to each present mode org $+32 drvver: org $+32 vidmode: org $+64 _m1: org drvinfo+200h