Sync with upstream

This commit is contained in:
Ivan Baravy 2024-01-15 02:35:06 +00:00
parent b5ba1ea9f3
commit 0073eb0cc9
3 changed files with 41 additions and 3 deletions

View File

@ -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 () {

View File

@ -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
View File

@ -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;