From b2634ce58a3e344356b5a9647af446f25f0f61cc Mon Sep 17 00:00:00 2001 From: Frater <13979047+saintfrater@users.noreply.github.com> Date: Fri, 27 Feb 2026 22:41:31 +0100 Subject: [PATCH] try to fix "hello" & hslider in 86Box --- src/drivers/mouse_ps2.asm | 2 +- src/gui/lib-api.asm | 37 ++++++++++++++++++++----------------- src/gui/lib-draw.asm | 2 +- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/drivers/mouse_ps2.asm b/src/drivers/mouse_ps2.asm index af6bd98..ab40dd9 100644 --- a/src/drivers/mouse_ps2.asm +++ b/src/drivers/mouse_ps2.asm @@ -373,8 +373,8 @@ isr_mouse_handler: .done: ; update la position du curseur sur l'écran - ; en ce moment c'est commented out (debug) GFX MOUSE_MOVE + .done_eoi: mov al, 0x20 out i8259_SLAVE_CMD, al ; EOI PIC esclave diff --git a/src/gui/lib-api.asm b/src/gui/lib-api.asm index 08d95a8..dd33295 100644 --- a/src/gui/lib-api.asm +++ b/src/gui/lib-api.asm @@ -198,16 +198,16 @@ gui_api_set_mode: pop ax pop gs leave + %undef .id + %undef .mode ret -%undef .id -%undef .mode ; ----------------------------------------------------------------------------- ; gui_api_set_text -; ----------------------------------------------------------------------------- %define .id word [bp+4] %define .segmt word [bp+6] %define .oft word [bp+8] +; ----------------------------------------------------------------------------- gui_api_set_text: push bp mov bp, sp @@ -229,10 +229,11 @@ gui_api_set_text: pop ax pop gs leave + %undef .id + %undef .text_ofs + %undef .text_seg ret -%undef .id -%undef .text_ofs -%undef .text_seg + ; ----------------------------------------------------------------------------- ; gui_api_create @@ -292,8 +293,8 @@ gui_api_create: ; gui_api_get_state ; Arg1: ID ; Out: AX = State -; ----------------------------------------------------------------------------- %define .id word [bp+4] +; ----------------------------------------------------------------------------- gui_api_get_state: push bp mov bp, sp @@ -314,15 +315,15 @@ gui_api_get_state: pop si pop gs leave + %undef .id ret -%undef .id ; ----------------------------------------------------------------------------- ; gui_api_get_type ; Arg1: ID ; Out: AX = Type -; ----------------------------------------------------------------------------- %define .id word [bp+4] +; ----------------------------------------------------------------------------- gui_api_get_type: push bp mov bp, sp @@ -350,8 +351,8 @@ gui_api_get_type: ; gui_api_get_val ; Arg1: ID ; Out: AX = Attr Val -; ----------------------------------------------------------------------------- %define .id word [bp+4] +; ----------------------------------------------------------------------------- gui_api_get_val: push bp mov bp, sp @@ -373,16 +374,17 @@ gui_api_get_val: pop si pop gs leave + %undef .id ret -%undef .id + ; ----------------------------------------------------------------------------- ; gui_api_set_val ; Arg1: ID ; Arg2: Value -; ----------------------------------------------------------------------------- %define .id word [bp+4] %define .val word [bp+6] +; ----------------------------------------------------------------------------- gui_api_set_val: push bp mov bp, sp @@ -400,17 +402,17 @@ gui_api_set_val: pop si pop gs leave + %undef .id + %undef .val ret -%undef .id -%undef .val ; ----------------------------------------------------------------------------- ; gui_api_destroy ; Détruit un widget via son ID ; Arg1: ID ; Out: AX = 0 (OK), -1 (Error) -; ----------------------------------------------------------------------------- %define .id word [bp+4] +; ----------------------------------------------------------------------------- gui_api_destroy: push bp mov bp, sp @@ -431,8 +433,9 @@ gui_api_destroy: pop si pop gs leave + %undef .id ret -%undef .id + ; ----------------------------------------------------------------------------- ; gui_get_widget_ptr @@ -448,8 +451,8 @@ gui_get_widget_ptr: call gui_get_widget_ptr_internal pop ax leave + %undef .id ret -%undef .id ; ----------------------------------------------------------------------------- ; gui_get_widget_ptr_internal diff --git a/src/gui/lib-draw.asm b/src/gui/lib-draw.asm index d435cb5..9b9945b 100644 --- a/src/gui/lib-draw.asm +++ b/src/gui/lib-draw.asm @@ -522,7 +522,7 @@ draw_text: push ax ; Sauve X original mov ax, [gs:si + widget.w] sub ax, cx - shr ax, 1 + sar ax, 1 pop dx ; Récupère X original (poussé depuis AX) add ax, dx ; AX = X final centré