Files
KOS_qrcodes/programs/system/vrr_m/trunk/vrr_m.asm
T
SPraid (simba) 93e66701fb change path to "/sys" in some programs.
in build_all.bat: delete config.inc after compiling
delete /kernel/trunk/lib

git-svn-id: svn://kolibrios.org@529 a494cfbc-eb01-0410-851d-a64ba20cac60
2007-05-30 14:45:45 +00:00

124 lines
3.5 KiB
NASM

;
; ‘¨á⥬­ ï ¯à®£à ¬¬  ¤«ï ãáâ ­®¢ª¨ ¯®¢ë襭­ëå (>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