065b8d32b2
git-svn-id: svn://kolibrios.org@31 a494cfbc-eb01-0410-851d-a64ba20cac60
109 lines
2.7 KiB
NASM
109 lines
2.7 KiB
NASM
;
|
||
; <20>ਬ¥à ¯à®£à ¬¬ë ¤«ï MenuetOS
|
||
; ®§¢ã稢 ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ ;)
|
||
;
|
||
; Š®¬¯¨«¨à®¢ âì FASM'®¬
|
||
;
|
||
; ‘¬. â ª¦¥:
|
||
; template.asm - ¯à¨¬¥à ¯à®á⥩襩 ¯à®£à ¬¬ë (®¢ë©!)
|
||
; rb.asm - ª®â¥ªá⮥ ¬¥î à ¡®ç¥£® á⮫
|
||
; example2.asm - ¯à¨¬¥à ¬¥î ¨ ¤®¯®«¨â¥«ìëå ®ª®
|
||
; example3.asm - ¯à¨¬¥à ¬¥î, ॠ«¨§®¢ ®£® ¯®-¤à㣮¬ã
|
||
;---------------------------------------------------------------------
|
||
|
||
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 'lang.inc'
|
||
include 'macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢!
|
||
|
||
;---------------------------------------------------------------------
|
||
;--- <20>€—€‹Ž <20><>Žƒ<C5BD>€ŒŒ› ----------------------------------------------
|
||
;---------------------------------------------------------------------
|
||
|
||
START:
|
||
; mcall 5,10
|
||
mcall 21,13,1,drvinfo
|
||
; jmp run_launcher
|
||
|
||
mcall 21,13,2
|
||
cmp eax,-1
|
||
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
|
||
xor eax,eax
|
||
sub ecx,3
|
||
mov dx,cx
|
||
cmp cx,274
|
||
je yes_274
|
||
cmp cx,277
|
||
je yes_277
|
||
jmp yes_280
|
||
yes_274:
|
||
add al,10
|
||
yes_277:
|
||
add al,10
|
||
yes_280:
|
||
add al,10
|
||
ror edx,16
|
||
mov dx,[_m1+eax]
|
||
rol edx,16
|
||
; mov dx,bx
|
||
; shl edx,16
|
||
; mov dx,cx
|
||
mcall 21,13,3
|
||
; mcall 5,300
|
||
run_launcher:
|
||
mcall 19,launcher,0
|
||
; mcall 33,text,drvinfo,512,0
|
||
mcall -1
|
||
launcher db 'LAUNCHER '
|
||
;text db 'TEXT '
|
||
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
|
||
|
||
I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë
|