Sync with upstream
This commit is contained in:
parent
b5ba1ea9f3
commit
0073eb0cc9
@ -86,7 +86,7 @@ kolibri.raw () {
|
|||||||
mcopy -moi $img ../spray.cur ::SPRAY.CUR
|
mcopy -moi $img ../spray.cur ::SPRAY.CUR
|
||||||
mcopy -moi $img ../apps/board_cycle ::LOADER
|
mcopy -moi $img ../apps/board_cycle ::LOADER
|
||||||
mmd -i $img ::LIB
|
mmd -i $img ::LIB
|
||||||
mcopy -moi $img ../network.obj ::LIB/NETWORK.OBJ
|
# mcopy -moi $img ../network.obj ::LIB/NETWORK.OBJ
|
||||||
}
|
}
|
||||||
|
|
||||||
jfs.qcow2 () {
|
jfs.qcow2 () {
|
||||||
|
33
umka.asm
33
umka.asm
@ -503,7 +503,21 @@ include 'video/vesa20.inc'
|
|||||||
include 'video/blitter.inc'
|
include 'video/blitter.inc'
|
||||||
include 'video/vga.inc'
|
include 'video/vga.inc'
|
||||||
include 'video/cursors.inc'
|
include 'video/cursors.inc'
|
||||||
|
|
||||||
|
macro lea target, source {
|
||||||
|
if source eq [eax + PROC.pdt_0 + (LFB_BASE shr 20)]
|
||||||
|
push ecx
|
||||||
|
mov ecx, LFB_BASE
|
||||||
|
shr ecx, 20
|
||||||
|
add ecx, PROC.pdt_0
|
||||||
|
lea target, [eax + ecx]
|
||||||
|
pop ecx
|
||||||
|
else
|
||||||
|
lea target, source
|
||||||
|
end if
|
||||||
|
}
|
||||||
include 'video/framebuffer.inc'
|
include 'video/framebuffer.inc'
|
||||||
|
purge lea
|
||||||
|
|
||||||
include 'gui/window.inc'
|
include 'gui/window.inc'
|
||||||
include 'gui/event.inc'
|
include 'gui/event.inc'
|
||||||
@ -735,6 +749,7 @@ proc umka_boot uses ebx esi edi ebp
|
|||||||
list_init eax
|
list_init eax
|
||||||
|
|
||||||
mov [BOOT.lfb], LFB_BASE
|
mov [BOOT.lfb], LFB_BASE
|
||||||
|
mov [BOOT.vesa_mode], 0x4000
|
||||||
call init_video
|
call init_video
|
||||||
|
|
||||||
stdcall alloc_kernel_space, 0x50000 ; FIXME check size
|
stdcall alloc_kernel_space, 0x50000 ; FIXME check size
|
||||||
@ -1013,6 +1028,7 @@ init_sys_v86:
|
|||||||
usb_init:
|
usb_init:
|
||||||
fdc_init:
|
fdc_init:
|
||||||
mtrr_validate:
|
mtrr_validate:
|
||||||
|
init_pat_mtrr:
|
||||||
v86_exc_c:
|
v86_exc_c:
|
||||||
except_7:
|
except_7:
|
||||||
ReadCDWRetr:
|
ReadCDWRetr:
|
||||||
@ -1094,8 +1110,21 @@ macro jmp target {
|
|||||||
jmp target
|
jmp target
|
||||||
end if
|
end if
|
||||||
}
|
}
|
||||||
|
macro mov target, source {
|
||||||
|
if source eq (HEAP_BASE - OS_BASE - CLEAN_ZONE) / 4
|
||||||
|
push eax
|
||||||
|
mov eax, HEAP_BASE
|
||||||
|
sub eax, OS_BASE
|
||||||
|
sub eax, CLEAN_ZONE
|
||||||
|
shr eax, 2
|
||||||
|
mov target, eax
|
||||||
|
pop eax
|
||||||
|
else
|
||||||
|
mov target, source
|
||||||
|
end if
|
||||||
|
}
|
||||||
include 'kernel.asm'
|
include 'kernel.asm'
|
||||||
purge jmp
|
purge jmp,mov
|
||||||
restore bios32_entry, tmp_page_tabs
|
restore bios32_entry, tmp_page_tabs
|
||||||
purge org,delay_ms
|
purge org,delay_ms
|
||||||
restore org,delay_ms
|
restore org,delay_ms
|
||||||
@ -1209,7 +1238,7 @@ BUTTON_INFO equ
|
|||||||
endg
|
endg
|
||||||
|
|
||||||
macro org x {
|
macro org x {
|
||||||
if x eq (OS_BASE+0x0100000)
|
if x eq (OS_BASE + RAMDISK_BASE)
|
||||||
else
|
else
|
||||||
org x
|
org x
|
||||||
end if
|
end if
|
||||||
|
9
umka.h
9
umka.h
@ -789,6 +789,15 @@ typedef struct {
|
|||||||
void *check_m_pixel;
|
void *check_m_pixel;
|
||||||
|
|
||||||
size_t bytes_per_pixel;
|
size_t bytes_per_pixel;
|
||||||
|
|
||||||
|
void *put_pixel;
|
||||||
|
void *put_rect;
|
||||||
|
void *put_image;
|
||||||
|
void *put_line;
|
||||||
|
void *get_pixel;
|
||||||
|
void *get_rect;
|
||||||
|
void *get_image;
|
||||||
|
void *get_line;
|
||||||
} __attribute__((packed)) display_t;
|
} __attribute__((packed)) display_t;
|
||||||
|
|
||||||
extern display_t kos_display;
|
extern display_t kos_display;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user