fixing mouse memory corruption

This commit is contained in:
Frater 2026-02-12 22:01:50 +01:00
commit a29c6940d5
8 changed files with 355 additions and 136 deletions

View file

@ -78,16 +78,6 @@ endstruc
%define BDA_MOUSE 0x0000
%define BDA_GFX (BDA_MOUSE + mouse_size)
;
; memory map
;
; 0x00000-0x003FF : IVT (1kB)
; 0x00400-0x007FF : BDA (1kB) pour les options 'ROMS' carte graphique, etc...
; 0x00800-0x009FF : Varibles custom.
;
; 0x03C00-0x08000 : stack segment
; 0x
; -----------------------------------------------------------------------------------
; bda_setup
; Initialise la BDA à zéro

View file

@ -4,35 +4,35 @@
%define CURSOR_H 16
mouse_arrow:
dw 1001111111111111b ; 0x9FFF
dw 1000111111111111b ; 0x8FFF
dw 1000011111111111b ; 0x87FF
dw 1000001111111111b ; 0x83FF
dw 1000000111111111b ; 0x81FF
dw 1000000011111111b ; 0x80FF
dw 1000000001111111b ; 0x807F
dw 1000000000111111b ; 0x803F
dw 1000000000011111b ; 0x801F
dw 1000000000001111b ; 0x800F
dw 1000000011111111b ; 0x80FF
dw 1000100001111111b ; 0x887F
dw 1001100001111111b ; 0x987F
dw 1111110000111111b ; 0xFC3F
dw 1111110000111111b ; 0xFC3F
dw 1111111000111111b ; 0xFE3F
dw 0000000000000000b ; 0x0000
dw 0010000000000000b ; 0x2000
dw 0011000000000000b ; 0x3000
dw 0011100000000000b ; 0x3800
dw 0011110000000000b ; 0x3C00
dw 0011111000000000b ; 0x3E00
dw 0011111100000000b ; 0x3F00
dw 0011111110000000b ; 0x3F80
dw 0011111111000000b ; 0x3FC0
dw 0011111000000000b ; 0x3E00
dw 0011011000000000b ; 0x3600
dw 0010001100000000b ; 0x2300
dw 0000001100000000b ; 0x0300
dw 0000000110000000b ; 0x0180
dw 0000000110000000b ; 0x0180
dw 0000000000000000b ; 0x0000
dw 1001111111111111b ; 0x9FFF
dw 1000111111111111b ; 0x8FFF
dw 1000011111111111b ; 0x87FF
dw 1000001111111111b ; 0x83FF
dw 1000000111111111b ; 0x81FF
dw 1000000011111111b ; 0x80FF
dw 1000000001111111b ; 0x807F
dw 1000000000111111b ; 0x803F
dw 1000000000011111b ; 0x801F
dw 1000000000001111b ; 0x800F
dw 1000000011111111b ; 0x80FF
dw 1000100001111111b ; 0x887F
dw 1001100001111111b ; 0x987F
dw 1111110000111111b ; 0xFC3F
dw 1111110000111111b ; 0xFC3F
dw 1111111000111111b ; 0xFE3F
dw 0000000000000000b ; 0x0000
dw 0010000000000000b ; 0x2000
dw 0011000000000000b ; 0x3000
dw 0011100000000000b ; 0x3800
dw 0011110000000000b ; 0x3C00
dw 0011111000000000b ; 0x3E00
dw 0011111100000000b ; 0x3F00
dw 0011111110000000b ; 0x3F80
dw 0011111111000000b ; 0x3FC0
dw 0011111000000000b ; 0x3E00
dw 0011011000000000b ; 0x3600
dw 0010001100000000b ; 0x2300
dw 0000001100000000b ; 0x0300
dw 0000000110000000b ; 0x0180
dw 0000000110000000b ; 0x0180
dw 0000000000000000b ; 0x0000

View file

@ -20,6 +20,45 @@
;
; =============================================================================
%macro DEBUG 1
GFX GOTOXY, 0, 0
mov ax, %1
call print_word_hex
%endmacro
;
; Debugger for 86Box
;
%define ISA_DBG_PORT 0x007a
;
%define ISA_RED 0
%define ISA_GREEN 1
%define ISA_RIGHT 2
%define ISA_LEFT 3
%define ISA_RESET 0xff
%macro ISADBG 2
push dx
push ax
mov dx, ISA_DBG_PORT
mov al, byte %1
out dx, al
inc dx
mov al, byte %2
out dx, al
pop ax
pop dx
%endmacro
%macro ISADBG_RESET 0
push dx
push ax
mov dx, ISA_DBG_PORT
mov al, ISA_RESET
out dx, al
pop ax
pop dx
%endmacro
; -----------------------------------------------------------------------------------
; PC components I/O ports