* Modified sysfunction 65 (see documentation), use new KFAR

* Deleted useless sysfunction 59 (syscalls trace)
* Load vmode.mdr via new file subsystem
* KFar 0.2

git-svn-id: svn://kolibrios.org@314 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond)
2007-02-02 15:09:14 +00:00
parent e7d381a4b4
commit 822a9715c4
12 changed files with 658 additions and 273 deletions

View File

@@ -231,7 +231,7 @@ iglobal
char2 db 'FONTS/CHAR2.MT',0
bootpath db '/KOLIBRI '
bootpath2 db 0
vmode db 'VMODE MDR'
vmode db 'VMODE.MDR',0
vrr_m db '/rd/1/VRR_M',0
endg
@@ -3977,7 +3977,7 @@ sys_putimage:
add dx,word[edi+0x80000+APPDATA.wnd_clientbox.left]
rol edx,16
.forced:
push esi ebp
push ebp esi 0
mov ebp, putimage_get24bpp
mov esi, putimage_init24bpp
sys_putimage_bpp:
@@ -3996,7 +3996,7 @@ sys_putimage_bpp:
inc [mouse_pause]
call eax
dec [mouse_pause]
pop ebp esi
pop ebp esi ebp
jmp [draw_pointer]
syscall_putimage_palette:
@@ -4009,8 +4009,9 @@ sys_putimage_palette:
; ebx = pointer to image
; ecx = [xsize]*65536 + [ysize]
; edx = [xstart]*65536 + [ystart]
; esi = number of bits per pixel, must be 8
; esi = number of bits per pixel, must be 8, 24 or 32
; edi = pointer to palette
; ebp = row delta
mov eax, [0x3000]
shl eax, 8
add dx, word [eax+0x80000+APPDATA.wnd_clientbox.top]
@@ -4018,10 +4019,27 @@ sys_putimage_palette:
add dx, word [eax+0x80000+APPDATA.wnd_clientbox.left]
rol edx, 16
.forced:
push esi ebp
push ebp esi ebp
cmp esi, 8
jnz @f
mov ebp, putimage_get8bpp
mov esi, putimage_init8bpp
jmp sys_putimage_bpp
@@:
cmp esi, 24
jnz @f
mov ebp, putimage_get24bpp
mov esi, putimage_init24bpp
jmp sys_putimage_bpp
@@:
cmp esi, 32
jnz @f
mov ebp, putimage_get32bpp
mov esi, putimage_init32bpp
jmp sys_putimage_bpp
@@:
pop ebp esi
ret
putimage_init24bpp:
lea eax, [eax*3]
@@ -4041,6 +4059,13 @@ putimage_get8bpp:
inc esi
ret 4
putimage_init32bpp:
shl eax, 2
ret
putimage_get32bpp:
lodsd
ret 4
; eax x beginning
; ebx y beginning
; ecx x end
@@ -4417,28 +4442,6 @@ sys_msg_board:
sys_trace:
test eax, eax ; get event data
jnz no_get_sys_events
mov esi,save_syscall_data ; data
mov edi,[0x3010]
mov edi,[edi+TASKDATA.mem_start]
add edi,ebx
cld
rep movsb
mov [esp+24],dword 0
mov eax,[save_syscall_count] ; count
mov [esp+36],eax
ret
no_get_sys_events:
ret
sys_process_def:
mov edi, [0x3000]