forked from KolibriOS/kolibrios
109 lines
2.7 KiB
NASM
109 lines
2.7 KiB
NASM
|
;
|
|||
|
; <20>ਬ<EFBFBD><E0A8AC> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> MenuetOS
|
|||
|
; <20><><EFBFBD><EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;)
|
|||
|
;
|
|||
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> FASM'<27><>
|
|||
|
;
|
|||
|
; <20><>. ⠪<><E2A0AA>:
|
|||
|
; template.asm - <20>ਬ<EFBFBD><E0A8AC> <20><><EFBFBD><EFBFBD>⥩襩 <20>ணࠬ<E0AEA3><E0A0AC> (<28><><EFBFBD><EFBFBD><EFBFBD>!)
|
|||
|
; rb.asm - <20><><EFBFBD>⥪<EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD>
|
|||
|
; example2.asm - <20>ਬ<EFBFBD><E0A8AC> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
; example3.asm - <20>ਬ<EFBFBD><E0A8AC> <20><><EFBFBD><EFBFBD>, ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><>㣮<EFBFBD><E3A3AE>
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
use32 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ०<><E0A5A6> <20><>ᥬ<EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
org 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
db 'MENUET01' ; 8-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> MenuetOS
|
|||
|
dd 0x01 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>ᥣ<EFBFBD><E1A5A3> 1)
|
|||
|
dd START ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ࢮ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dd I_END ; ࠧ<><E0A0A7><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|||
|
dd 0x1000 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dd 0x1000 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>設<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dd 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ࠬ<EFBFBD><E0A0AC> (<28><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
dd 0x0 ; <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>
|
|||
|
|
|||
|
include 'lang.inc'
|
|||
|
include 'macros.inc' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ᥬ<EFBFBD><E1A5AC><EFBFBD><EFBFBD>騪<EFBFBD><E9A8AA>!
|
|||
|
|
|||
|
;---------------------------------------------------------------------
|
|||
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
|||
|
;---------------------------------------------------------------------
|
|||
|
|
|||
|
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: ; <20><>⪠ <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|