2007-03-22 01:58:33 +03:00
|
|
|
$Revision$
|
2005-10-06 21:56:22 +04:00
|
|
|
;
|
|
|
|
; Load of videomode driver in memory
|
2007-03-06 00:37:28 +03:00
|
|
|
;
|
2005-10-06 21:56:22 +04:00
|
|
|
; (driver is located at 0x760000-0x768000 - 32kb) // if this area not occuped anything
|
|
|
|
;
|
|
|
|
; Author: Trans
|
|
|
|
; Date: 19.07.2003
|
|
|
|
;
|
|
|
|
; Include in MeOS kernel and compile with FASM
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
; LOAD VIDEOMODE DRIVER
|
|
|
|
; If vmode.mdr file not found
|
|
|
|
or eax,-1 ; Driver ID = -1 (not present in system)
|
2007-03-06 00:37:28 +03:00
|
|
|
mov [OS_BASE+0x760000],eax ;
|
|
|
|
mov [OS_BASE+0x760100],byte 0xC3 ; Instruction RETN - driver loop
|
2005-10-06 21:56:22 +04:00
|
|
|
|
2007-03-21 21:36:27 +03:00
|
|
|
pushad
|
|
|
|
push eax
|
|
|
|
mov eax, vmode - std_application_base_address
|
|
|
|
call file_system_lfn
|
|
|
|
pop eax
|
|
|
|
popad
|
|
|
|
|
|
|
|
; mov esi, vmode
|
|
|
|
; xor ebx, ebx
|
|
|
|
; mov ecx, 0x8000 ; size of memory area for driver
|
|
|
|
; mov edx, OS_BASE+0x760000 ; Memory position of driver
|
|
|
|
; call fs_RamdiskRead
|