2006-01-03 12:43:31 +03:00
|
|
|
|
;
|
2007-04-05 05:51:58 +04:00
|
|
|
|
; <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD><EFBFBD> (>60 Hz) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
; <20><>࠭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ᭨<><E1ADA8><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7>襭<EFBFBD><E8A5AD>
|
2007-05-17 03:02:17 +04:00
|
|
|
|
; (<28><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4>: 1024<32>768*60-->800<30>600*98
|
|
|
|
|
; 800<30>600*60-->640<34>480*94)
|
2006-01-03 12:43:31 +03:00
|
|
|
|
;
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> FASM'<27><>
|
|
|
|
|
;
|
2007-04-05 05:51:58 +04:00
|
|
|
|
; !!!!!_<>।<EFBFBD><E0A5A4>०<EFBFBD><E0A5A6><EFBFBD><EFBFBD><EFBFBD>_!!!!!:
|
|
|
|
|
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
;! <20><> ⥪<>騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (!) <20><>ࠪ<EFBFBD><E0A0AA><EFBFBD>, <20><><EFBFBD>⮬<EFBFBD> <20>ᥣ<EFBFBD><E1A5A3> !
|
|
|
|
|
;! <20><>⠥<EFBFBD><E2A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⭮<EFBFBD><E2ADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㤮<EFBFBD><E3A4AE><EFBFBD><EFBFBD><EFBFBD> (<28>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>). <20>ᮡ<EFBFBD><E1AEA1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᠥ<EFBFBD><E1A0A5><EFBFBD> <20><><EFBFBD><EFBFBD>!
|
|
|
|
|
;! <20><><EFBFBD>, 祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ॣ<EFBFBD>㧮<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. !
|
|
|
|
|
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
;
|
2006-01-03 12:43:31 +03:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
|
2007-05-10 17:48:35 +04:00
|
|
|
|
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>!
|
2006-01-03 12:43:31 +03:00
|
|
|
|
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------------
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
START:
|
|
|
|
|
; mcall 5,10
|
2006-08-31 16:56:29 +04:00
|
|
|
|
mov ecx, 1
|
|
|
|
|
mov edx, drvinfo
|
|
|
|
|
push @f
|
|
|
|
|
jmp call_driver
|
|
|
|
|
@@:
|
2006-01-03 12:43:31 +03:00
|
|
|
|
; jmp run_launcher
|
|
|
|
|
|
2006-08-31 16:56:29 +04:00
|
|
|
|
mov ecx, 2
|
|
|
|
|
push @f
|
|
|
|
|
call_driver:
|
|
|
|
|
mcall 21,13
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
; cmp eax,-1
|
|
|
|
|
inc eax
|
2006-01-03 12:43:31 +03:00
|
|
|
|
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
|
2006-08-31 16:56:29 +04:00
|
|
|
|
mov eax, 10
|
|
|
|
|
cmp cx,277+3
|
|
|
|
|
je yes_277
|
|
|
|
|
cmp cx,274+3
|
|
|
|
|
jne yes_280
|
2006-01-03 12:43:31 +03:00
|
|
|
|
yes_274:
|
|
|
|
|
add al,10
|
|
|
|
|
yes_277:
|
|
|
|
|
add al,10
|
|
|
|
|
yes_280:
|
2006-08-31 16:56:29 +04:00
|
|
|
|
mov edx, [_m1+eax-2]
|
|
|
|
|
lea dx, [ecx-3]
|
|
|
|
|
push run_launcher
|
|
|
|
|
mov ecx, 3
|
|
|
|
|
jmp call_driver
|
2006-01-03 12:43:31 +03:00
|
|
|
|
run_launcher:
|
2006-08-31 16:56:29 +04:00
|
|
|
|
mcall 70,launcher
|
2006-01-03 12:43:31 +03:00
|
|
|
|
mcall -1
|
2006-08-31 16:56:29 +04:00
|
|
|
|
launcher:
|
|
|
|
|
dd 7
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2007-05-30 18:45:45 +04:00
|
|
|
|
db '/sys/LAUNCHER'
|
2006-08-31 16:56:29 +04:00
|
|
|
|
I_END: ; <20><>⪠ <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
|
|
|
|
db ? ; system loader will zero all memory after program end
|
|
|
|
|
; this byte will be terminating zero for launcher string
|
2006-12-24 10:53:32 +03:00
|
|
|
|
; \begin{Serge}
|
|
|
|
|
; A you really believe it?
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!
|
|
|
|
|
; \end{Serge}
|
2006-01-03 12:43:31 +03:00
|
|
|
|
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
|