add binary font + fixing error
This commit is contained in:
parent
36e72bb399
commit
413f4b6f79
9 changed files with 1078 additions and 914 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -9,3 +9,4 @@ gfx/
|
||||||
roms/
|
roms/
|
||||||
tools/
|
tools/
|
||||||
doc/generated
|
doc/generated
|
||||||
|
assets/
|
||||||
|
|
|
||||||
22
src/boot.asm
22
src/boot.asm
|
|
@ -65,11 +65,11 @@ section .text
|
||||||
%include "./gui/lib-api.asm"
|
%include "./gui/lib-api.asm"
|
||||||
|
|
||||||
; --- Données texte ---
|
; --- Données texte ---
|
||||||
str_quit db "Quitter", 0
|
str_quit db "Quit", 0
|
||||||
str_hello db "Hello", 0
|
str_hello db "Hello", 0
|
||||||
str_option1 db "option 1", 0
|
str_option1 db "option A", 0
|
||||||
str_option2 db "option 2", 0
|
str_option2 db "option BA", 0
|
||||||
str_option3 db "option 3", 0
|
str_option3 db "option BBA", 0
|
||||||
|
|
||||||
entrycode:
|
entrycode:
|
||||||
cli
|
cli
|
||||||
|
|
@ -81,8 +81,6 @@ entrycode:
|
||||||
call ivt_setup ; configuration d'une table d'interruption "dummy"
|
call ivt_setup ; configuration d'une table d'interruption "dummy"
|
||||||
call bda_setup ; initialisation du BDA
|
call bda_setup ; initialisation du BDA
|
||||||
|
|
||||||
ISADBG ISA_GREEN, 1
|
|
||||||
|
|
||||||
; Install IRQ 0 : timer_isr
|
; Install IRQ 0 : timer_isr
|
||||||
mov ax,cs
|
mov ax,cs
|
||||||
mov dx,ax
|
mov dx,ax
|
||||||
|
|
@ -106,8 +104,7 @@ entrycode:
|
||||||
; on active le mode graphique
|
; on active le mode graphique
|
||||||
GFX INIT
|
GFX INIT
|
||||||
call mouse_init
|
call mouse_init
|
||||||
GFX MOUSE_SHOW
|
GFX MOUSE_SHOW
|
||||||
|
|
||||||
|
|
||||||
call main_loop
|
call main_loop
|
||||||
.loops:
|
.loops:
|
||||||
|
|
@ -123,12 +120,8 @@ on_click_quit:
|
||||||
on_click_hello:
|
on_click_hello:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
main_test:
|
main_test:
|
||||||
; GFX RECTANGLE_FILL, 10,10,50,20, PATTERN_WHITE, 15, 0
|
; GFX RECTANGLE_FILL, 10,10,50,20, PATTERN_WHITE, 15, 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; GUI OBJ_CREATE, OBJ_TYPE_CHECKBOX, 200, 50, 100, 15
|
; GUI OBJ_CREATE, OBJ_TYPE_CHECKBOX, 200, 50, 100, 15
|
||||||
mov ax, 200
|
mov ax, 200
|
||||||
add ax, 4
|
add ax, 4
|
||||||
|
|
@ -197,8 +190,9 @@ main_loop:
|
||||||
|
|
||||||
; Créer Slider (Drag)
|
; Créer Slider (Drag)
|
||||||
GUI OBJ_CREATE, OBJ_TYPE_SLIDER, 10, 100, 150, 12
|
GUI OBJ_CREATE, OBJ_TYPE_SLIDER, 10, 100, 150, 12
|
||||||
GUI OBJ_SET_MODE, ax, SLIDER_HORIZONTAL
|
mov .my_slider, ax
|
||||||
GUI OBJ_SLIDER_SET_ATTR, ax, 10, 140, 10, 15
|
GUI OBJ_SET_MODE, .my_slider, SLIDER_HORIZONTAL
|
||||||
|
GUI OBJ_SLIDER_SET_ATTR, .my_slider, 10, 140, 10, 15
|
||||||
|
|
||||||
GUI OBJ_CREATE, OBJ_TYPE_SLIDER, 400, 10, 16, 150
|
GUI OBJ_CREATE, OBJ_TYPE_SLIDER, 400, 10, 16, 150
|
||||||
mov .my_slider, ax
|
mov .my_slider, ax
|
||||||
|
|
|
||||||
862
src/common/char_bold.asm
Normal file
862
src/common/char_bold.asm
Normal file
|
|
@ -0,0 +1,862 @@
|
||||||
|
; ============================================================================
|
||||||
|
; Font 8x8 (printable ASCII 0x20..0x7E) -> 95 glyphs * 8 = 760 bytes
|
||||||
|
; - bit7 = gauche, bit0 = droite
|
||||||
|
; - 1 byte = 1 scanline (haut -> bas)
|
||||||
|
; ============================================================================
|
||||||
|
font8x8_bold:
|
||||||
|
; 0x20 ' '
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x21 '!'
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x22 '"'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00100100b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x23 '#'
|
||||||
|
db 00100100b
|
||||||
|
db 00100100b
|
||||||
|
db 01111110b
|
||||||
|
db 00100100b
|
||||||
|
db 01111110b
|
||||||
|
db 00100100b
|
||||||
|
db 00100100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x24 '$'
|
||||||
|
db 00011000b
|
||||||
|
db 00111110b
|
||||||
|
db 01100000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000110b
|
||||||
|
db 01111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x25 '%'
|
||||||
|
db 01100010b
|
||||||
|
db 01100110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 01100110b
|
||||||
|
db 01000110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x26 '&'
|
||||||
|
db 00111000b
|
||||||
|
db 01101100b
|
||||||
|
db 00111000b
|
||||||
|
db 01110110b
|
||||||
|
db 11011100b
|
||||||
|
db 11001100b
|
||||||
|
db 01110110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x27 '''
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x28 '('
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x29 ')'
|
||||||
|
db 00110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x2A '*'
|
||||||
|
db 00000000b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 11111111b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x2B '+'
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 01111110b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x2C ','
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
; 0x2D '-'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x2E '.'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x2F '/'
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 01100000b
|
||||||
|
db 11000000b
|
||||||
|
db 10000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x30 '0'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01101110b
|
||||||
|
db 01110110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x31 '1'
|
||||||
|
db 00011000b
|
||||||
|
db 00111000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x32 '2'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x33 '3'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000110b
|
||||||
|
db 00011100b
|
||||||
|
db 00000110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x34 '4'
|
||||||
|
db 00001100b
|
||||||
|
db 00011100b
|
||||||
|
db 00111100b
|
||||||
|
db 01101100b
|
||||||
|
db 01111110b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x35 '5'
|
||||||
|
db 01111110b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 00000110b
|
||||||
|
db 00000110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x36 '6'
|
||||||
|
db 00011100b
|
||||||
|
db 00110000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x37 '7'
|
||||||
|
db 01111110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x38 '8'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x39 '9'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00111000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x3A ':'
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x3B ';'
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
; 0x3C '<'
|
||||||
|
db 00001110b
|
||||||
|
db 00011100b
|
||||||
|
db 00111000b
|
||||||
|
db 01110000b
|
||||||
|
db 00111000b
|
||||||
|
db 00011100b
|
||||||
|
db 00001110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x3D '='
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x3E '>'
|
||||||
|
db 01110000b
|
||||||
|
db 00111000b
|
||||||
|
db 00011100b
|
||||||
|
db 00001110b
|
||||||
|
db 00011100b
|
||||||
|
db 00111000b
|
||||||
|
db 01110000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x3F '?'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x40 '@'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01101110b
|
||||||
|
db 01101010b
|
||||||
|
db 01101110b
|
||||||
|
db 01100000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x41 'A'
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x42 'B'
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x43 'C'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x44 'D'
|
||||||
|
db 01111000b
|
||||||
|
db 01101100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01101100b
|
||||||
|
db 01111000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x45 'E'
|
||||||
|
db 01111110b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x46 'F'
|
||||||
|
db 01111110b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x47 'G'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100000b
|
||||||
|
db 01101110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x48 'H'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x49 'I'
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4A 'J'
|
||||||
|
db 00011110b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 01101100b
|
||||||
|
db 00111000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4B 'K'
|
||||||
|
db 01100110b
|
||||||
|
db 01101100b
|
||||||
|
db 01111000b
|
||||||
|
db 01110000b
|
||||||
|
db 01111000b
|
||||||
|
db 01101100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4C 'L'
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4D 'M'
|
||||||
|
db 01100011b
|
||||||
|
db 01110111b
|
||||||
|
db 01111111b
|
||||||
|
db 01101011b
|
||||||
|
db 01100011b
|
||||||
|
db 01100011b
|
||||||
|
db 01100011b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4E 'N'
|
||||||
|
db 01100110b
|
||||||
|
db 01110110b
|
||||||
|
db 01111110b
|
||||||
|
db 01111110b
|
||||||
|
db 01101110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x4F 'O'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x50 'P'
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x51 'Q'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01101110b
|
||||||
|
db 00111100b
|
||||||
|
db 00001110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x52 'R'
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 01111000b
|
||||||
|
db 01101100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x53 'S'
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x54 'T'
|
||||||
|
db 01111110b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x55 'U'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x56 'V'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x57 'W'
|
||||||
|
db 01100011b
|
||||||
|
db 01100011b
|
||||||
|
db 01100011b
|
||||||
|
db 01101011b
|
||||||
|
db 01111111b
|
||||||
|
db 01110111b
|
||||||
|
db 01100011b
|
||||||
|
db 00000000b
|
||||||
|
; 0x58 'X'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x59 'Y'
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5A 'Z'
|
||||||
|
db 01111110b
|
||||||
|
db 00000110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5B '['
|
||||||
|
db 00111100b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5C '\'
|
||||||
|
db 11000000b
|
||||||
|
db 01100000b
|
||||||
|
db 00110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001100b
|
||||||
|
db 00000110b
|
||||||
|
db 00000010b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5D ']'
|
||||||
|
db 00111100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5E '^'
|
||||||
|
db 00010000b
|
||||||
|
db 00111000b
|
||||||
|
db 01101100b
|
||||||
|
db 11000110b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x5F '_'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 11111111b
|
||||||
|
db 00000000b
|
||||||
|
; 0x60 '`'
|
||||||
|
db 00110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001100b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x61 'a'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000110b
|
||||||
|
db 00111110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x62 'b'
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x63 'c'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100000b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x64 'd'
|
||||||
|
db 00000110b
|
||||||
|
db 00000110b
|
||||||
|
db 00111110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x65 'e'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01111110b
|
||||||
|
db 01100000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x66 'f'
|
||||||
|
db 00011100b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 01111100b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x67 'g'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000110b
|
||||||
|
db 00111100b
|
||||||
|
; 0x68 'h'
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x69 'i'
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x6A 'j'
|
||||||
|
db 00001100b
|
||||||
|
db 00000000b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 00001100b
|
||||||
|
db 01101100b
|
||||||
|
db 01101100b
|
||||||
|
db 00111000b
|
||||||
|
; 0x6B 'k'
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100110b
|
||||||
|
db 01101100b
|
||||||
|
db 01111000b
|
||||||
|
db 01101100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x6C 'l'
|
||||||
|
db 00111000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x6D 'm'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01101100b
|
||||||
|
db 01111110b
|
||||||
|
db 01111110b
|
||||||
|
db 01101011b
|
||||||
|
db 01100011b
|
||||||
|
db 00000000b
|
||||||
|
; 0x6E 'n'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x6F 'o'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x70 'p'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01111100b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01111100b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
; 0x71 'q'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000110b
|
||||||
|
db 00000110b
|
||||||
|
; 0x72 'r'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01101100b
|
||||||
|
db 01110110b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 01100000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x73 's'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00111110b
|
||||||
|
db 01100000b
|
||||||
|
db 00111100b
|
||||||
|
db 00000110b
|
||||||
|
db 01111100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x74 't'
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 01111100b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00110000b
|
||||||
|
db 00011100b
|
||||||
|
db 00000000b
|
||||||
|
; 0x75 'u'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x76 'v'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x77 'w'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01100011b
|
||||||
|
db 01100011b
|
||||||
|
db 01101011b
|
||||||
|
db 01111111b
|
||||||
|
db 00110110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x78 'x'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01100110b
|
||||||
|
db 00111100b
|
||||||
|
db 00011000b
|
||||||
|
db 00111100b
|
||||||
|
db 01100110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x79 'y'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 01100110b
|
||||||
|
db 00111110b
|
||||||
|
db 00000110b
|
||||||
|
db 00111100b
|
||||||
|
; 0x7A 'z'
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 01111110b
|
||||||
|
db 00001100b
|
||||||
|
db 00011000b
|
||||||
|
db 00110000b
|
||||||
|
db 01111110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x7B '{'
|
||||||
|
db 00001110b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 01110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001110b
|
||||||
|
db 00000000b
|
||||||
|
; 0x7C '|'
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x7D '}'
|
||||||
|
db 01110000b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 00001110b
|
||||||
|
db 00011000b
|
||||||
|
db 00011000b
|
||||||
|
db 01110000b
|
||||||
|
db 00000000b
|
||||||
|
; 0x7E '~'
|
||||||
|
db 01110110b
|
||||||
|
db 11011100b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
db 00000000b
|
||||||
|
|
||||||
142
src/common/char_light.asm
Normal file
142
src/common/char_light.asm
Normal file
|
|
@ -0,0 +1,142 @@
|
||||||
|
; ============================================================================
|
||||||
|
; Font 8x8 (printable ASCII 0x20..0x7E) -> 95 glyphs * 8 = 760 bytes
|
||||||
|
; - bit7 = gauche, bit0 = droite
|
||||||
|
; - 1 byte = 1 scanline (haut -> bas)
|
||||||
|
; ============================================================================
|
||||||
|
|
||||||
|
;---------------------------------------------------------
|
||||||
|
; Font8x8 - Police de caractères fine pour NASM
|
||||||
|
; Format : 8x8 pixels, 1 byte par ligne
|
||||||
|
; Range : ASCII 0x20 (' ') to 0x7E ('~')
|
||||||
|
;---------------------------------------------------------
|
||||||
|
section .data
|
||||||
|
font8x8_light:
|
||||||
|
; 0x20 ( )
|
||||||
|
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x21 (!)
|
||||||
|
db 00011000b, 00011000b, 00011000b, 00011000b, 00000000b, 00000000b, 00011000b, 00000000b
|
||||||
|
; 0x22 (")
|
||||||
|
db 01101100b, 01101100b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x23 (#)
|
||||||
|
db 01101100b, 01101100b, 11111111b, 01101100b, 11111111b, 01101100b, 01101100b, 00000000b
|
||||||
|
; 0x24 ($)
|
||||||
|
db 00011000b, 00111110b, 01100000b, 00111100b, 00000110b, 01111100b, 00011000b, 00000000b
|
||||||
|
; 0x25 (%)
|
||||||
|
db 11000110b, 11000110b, 00001100b, 00011000b, 00110000b, 01100011b, 01100011b, 00000000b
|
||||||
|
; 0x26 (&)
|
||||||
|
db 00111000b, 01101100b, 00111000b, 00110110b, 01100011b, 01100110b, 00111011b, 00000000b
|
||||||
|
; 0x27 (')
|
||||||
|
db 00011000b, 00011000b, 00110000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x28 (()
|
||||||
|
db 00001100b, 00011000b, 00110000b, 00110000b, 00110000b, 00011000b, 00001100b, 00000000b
|
||||||
|
; 0x29 ())
|
||||||
|
db 00110000b, 00011000b, 00001100b, 00001100b, 00001100b, 00011000b, 00110000b, 00000000b
|
||||||
|
; 0x2A (*)
|
||||||
|
db 00000000b, 01100110b, 00111100b, 11111111b, 00111100b, 01100110b, 00000000b, 00000000b
|
||||||
|
; 0x2B (+)
|
||||||
|
db 00000000b, 00011000b, 00011000b, 01111110b, 00011000b, 00011000b, 00000000b, 00000000b
|
||||||
|
; 0x2C (,)
|
||||||
|
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00011000b, 00011000b, 00110000b
|
||||||
|
; 0x2D (-)
|
||||||
|
db 00000000b, 00000000b, 00000000b, 01111110b, 00000000b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x2E (.)
|
||||||
|
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00011000b, 00011000b, 00000000b
|
||||||
|
; 0x2F (/)
|
||||||
|
db 00000010b, 00000110b, 00001100b, 00011000b, 00110000b, 01100000b, 11000000b, 00000000b
|
||||||
|
|
||||||
|
; 0x30-0x39 (0-9)
|
||||||
|
db 00111100b, 01100110b, 01101110b, 01110110b, 01100110b, 00111100b, 00000000b, 00000000b
|
||||||
|
db 00011000b, 00111000b, 00011000b, 00011000b, 00011000b, 00111100b, 00000000b, 00000000b
|
||||||
|
db 00111100b, 01100110b, 00001100b, 00110000b, 01100000b, 11111111b, 00000000b, 00000000b
|
||||||
|
db 00111100b, 01100110b, 00001100b, 00111100b, 00001100b, 01100110b, 00111100b, 00000000b
|
||||||
|
db 00001100b, 00011100b, 00111100b, 01101100b, 11111111b, 00001100b, 00001100b, 00000000b
|
||||||
|
db 01111111b, 01100000b, 01111100b, 00000110b, 00000110b, 01111100b, 00000000b, 00000000b
|
||||||
|
db 00111100b, 01100000b, 01111100b, 01100110b, 01100110b, 00111100b, 00000000b, 00000000b
|
||||||
|
db 01111111b, 00000110b, 00001100b, 00011000b, 00110000b, 00110000b, 00000000b, 00000000b
|
||||||
|
db 00111100b, 01100110b, 00111100b, 01100110b, 01100110b, 00111100b, 00000000b, 00000000b
|
||||||
|
db 00111100b, 01100110b, 00111110b, 00000110b, 00000110b, 00111100b, 00000000b, 00000000b
|
||||||
|
|
||||||
|
; 0x3A (:)
|
||||||
|
db 00000000b, 00000000b, 00011000b, 00000000b, 00011000b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x3B (;)
|
||||||
|
db 00000000b, 00000000b, 00011000b, 00000000b, 00011000b, 00011000b, 00110000b, 00000000b
|
||||||
|
; 0x3C (<)
|
||||||
|
db 00001100b, 00011000b, 00110000b, 01100000b, 00110000b, 00011000b, 00001100b, 00000000b
|
||||||
|
; 0x3D (=)
|
||||||
|
db 00000000b, 00000000b, 01111110b, 00000000b, 01111110b, 00000000b, 00000000b, 00000000b
|
||||||
|
; 0x3E (>)
|
||||||
|
db 00110000b, 00011000b, 00001100b, 00000110b, 00001100b, 00011000b, 00110000b, 00000000b
|
||||||
|
; 0x3F (?)
|
||||||
|
db 00111100b, 01100110b, 00000110b, 00001100b, 00011000b, 00000000b, 00011000b, 00000000b
|
||||||
|
; 0x40 (@)
|
||||||
|
db 00111100b, 01100110b, 01101110b, 01101010b, 01101100b, 01100000b, 00111100b, 00000000b
|
||||||
|
|
||||||
|
; 0x41-0x5A (A-Z)
|
||||||
|
db 00011000b, 00111100b, 01100110b, 01100110b, 01111110b, 01100110b, 01100110b, 00000000b ; A
|
||||||
|
db 01111100b, 01100110b, 01100110b, 01111100b, 01100110b, 01100110b, 01111100b, 00000000b ; B
|
||||||
|
db 00111100b, 01100110b, 01100000b, 01100000b, 01100000b, 01100110b, 00111100b, 00000000b ; C
|
||||||
|
db 01111000b, 01101100b, 01100110b, 01100110b, 01100110b, 01101100b, 01111000b, 00000000b ; D
|
||||||
|
db 01111110b, 01100000b, 01100000b, 01111100b, 01100000b, 01100000b, 01111110b, 00000000b ; E
|
||||||
|
db 01111110b, 01100000b, 01100000b, 01111100b, 01100000b, 01100000b, 01100000b, 00000000b ; F
|
||||||
|
db 00111100b, 01100110b, 01100000b, 01100111b, 01100110b, 01100110b, 00111111b, 00000000b ; G
|
||||||
|
db 01100110b, 01100110b, 01100110b, 01111110b, 01100110b, 01100110b, 01100110b, 00000000b ; H
|
||||||
|
db 00111100b, 00011000b, 00011000b, 00011000b, 00011000b, 00011000b, 00111100b, 00000000b ; I
|
||||||
|
db 00011110b, 00001100b, 00001100b, 00001100b, 00001100b, 01101100b, 00111000b, 00000000b ; J
|
||||||
|
db 01100110b, 01101100b, 01111000b, 01110000b, 01111000b, 01101100b, 01100110b, 00000000b ; K
|
||||||
|
db 01100000b, 01100000b, 01100000b, 01100000b, 01100000b, 01100000b, 01111110b, 00000000b ; L
|
||||||
|
db 11000011b, 11100111b, 11111111b, 11011011b, 11000011b, 11000011b, 11000011b, 00000000b ; M
|
||||||
|
db 11000110b, 11100110b, 11110110b, 11011110b, 11001110b, 11000110b, 11000110b, 00000000b ; N
|
||||||
|
db 00111100b, 01100110b, 01100110b, 01100110b, 01100110b, 01100110b, 00111100b, 00000000b ; O
|
||||||
|
db 01111100b, 01100110b, 01100110b, 01111100b, 01100000b, 01100000b, 01100000b, 00000000b ; P
|
||||||
|
db 00111100b, 01100110b, 01100110b, 01100110b, 01101010b, 01100110b, 00111111b, 00000001b ; Q
|
||||||
|
db 01111100b, 01100110b, 01100110b, 01111100b, 01101100b, 01100110b, 01100110b, 00000000b ; R
|
||||||
|
db 00111110b, 01100000b, 01100000b, 00111100b, 00000110b, 00000110b, 01111100b, 00000000b ; S
|
||||||
|
db 11111111b, 00011000b, 00011000b, 00011000b, 00011000b, 00011000b, 00011000b, 00000000b ; T
|
||||||
|
db 01100110b, 01100110b, 01100110b, 01100110b, 01100110b, 01100110b, 00111100b, 00000000b ; U
|
||||||
|
db 01100110b, 01100110b, 01100110b, 01100110b, 01100110b, 00111100b, 00011000b, 00000000b ; V
|
||||||
|
db 11000011b, 11000011b, 11000011b, 11011011b, 11111111b, 11100111b, 11000011b, 00000000b ; W
|
||||||
|
db 01100110b, 01100110b, 00111100b, 00011000b, 00111100b, 01100110b, 01100110b, 00000000b ; X
|
||||||
|
db 01100110b, 01100110b, 01100110b, 00111100b, 00011000b, 00011000b, 00011000b, 00000000b ; Y
|
||||||
|
db 11111111b, 00000110b, 00001100b, 00011000b, 00110000b, 01100000b, 11111111b, 00000000b ; Z
|
||||||
|
|
||||||
|
; 0x5B-0x60
|
||||||
|
db 00111100b, 00110000b, 00110000b, 00110000b, 00110000b, 00110000b, 00111100b, 00000000b ; [
|
||||||
|
db 11000000b, 01100000b, 00110000b, 00011000b, 00001100b, 00000110b, 00000011b, 00000000b
|
||||||
|
db 00111100b, 00001100b, 00001100b, 00001100b, 00001100b, 00001100b, 00111100b, 00000000b ; ]
|
||||||
|
db 00011000b, 00111100b, 01100110b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b ; ^
|
||||||
|
db 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 11111111b ; _
|
||||||
|
db 00110000b, 00011000b, 00001100b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b ; `
|
||||||
|
|
||||||
|
; 0x61-0x7A (a-z)
|
||||||
|
db 00000000b, 00000000b, 00111100b, 00000110b, 00111110b, 01100110b, 00111110b, 00000000b ; a
|
||||||
|
db 01100000b, 01100000b, 01111100b, 01100110b, 01100110b, 01100110b, 01111100b, 00000000b ; b
|
||||||
|
db 00000000b, 00000000b, 00111100b, 01100000b, 01100000b, 01100000b, 00111100b, 00000000b ; c
|
||||||
|
db 00000110b, 00000110b, 00111110b, 01100110b, 01100110b, 01100110b, 00111110b, 00000000b ; d
|
||||||
|
db 00000000b, 00000000b, 00111100b, 01100110b, 01111110b, 01100000b, 00111100b, 00000000b ; e
|
||||||
|
db 00011100b, 00110000b, 01111100b, 00110000b, 00110000b, 00110000b, 00110000b, 00000000b ; f
|
||||||
|
db 00000000b, 00111110b, 01100110b, 01100110b, 00111110b, 00000110b, 00111100b, 00000000b ; g
|
||||||
|
db 01100000b, 01100000b, 01101100b, 01110110b, 01100110b, 01100110b, 01100110b, 00000000b ; h
|
||||||
|
db 00011000b, 00000000b, 00111000b, 00011000b, 00011000b, 00011000b, 00111100b, 00000000b ; i
|
||||||
|
db 00001100b, 00000000b, 00011100b, 00001100b, 00001100b, 00001100b, 01101100b, 00111000b ; j
|
||||||
|
db 01100000b, 01100000b, 01100110b, 01101100b, 01111000b, 01101100b, 01100110b, 00000000b ; k
|
||||||
|
db 00111000b, 00011000b, 00011000b, 00011000b, 00011000b, 00011000b, 00111100b, 00000000b ; l
|
||||||
|
db 00000000b, 00000000b, 11010110b, 11111111b, 11011011b, 11011011b, 11011011b, 00000000b ; m
|
||||||
|
db 00000000b, 00000000b, 01111100b, 01100110b, 01100110b, 01100110b, 01100110b, 00000000b ; n
|
||||||
|
db 00000000b, 00000000b, 00111100b, 01100110b, 01100110b, 01100110b, 00111100b, 00000000b ; o
|
||||||
|
db 00000000b, 00000000b, 01111100b, 01100110b, 01100110b, 01111100b, 01100000b, 01100000b ; p
|
||||||
|
db 00000000b, 00000000b, 00111110b, 01100110b, 01100110b, 00111110b, 00000110b, 00000110b ; q
|
||||||
|
db 00000000b, 00000000b, 01101100b, 01110110b, 01100000b, 01100000b, 01100000b, 00000000b ; r
|
||||||
|
db 00000000b, 00000000b, 00111110b, 01100000b, 00111100b, 00000110b, 01111100b, 00000000b ; s
|
||||||
|
db 00010000b, 00110000b, 01111100b, 00110000b, 00110000b, 00110000b, 00011100b, 00000000b ; t
|
||||||
|
db 00000000b, 00000000b, 01100110b, 01100110b, 01100110b, 01101100b, 00110110b, 00000000b ; u
|
||||||
|
db 00000000b, 00000000b, 01100110b, 01100110b, 01100110b, 00111100b, 00011000b, 00000000b ; v
|
||||||
|
db 00000000b, 00000000b, 11000011b, 11000011b, 11011011b, 11111111b, 01100110b, 00000000b ; w
|
||||||
|
db 00000000b, 00000000b, 01100110b, 00111100b, 00011000b, 00111100b, 01100110b, 00000000b ; x
|
||||||
|
db 00000000b, 00000000b, 01100110b, 01100110b, 00111110b, 00000110b, 00111100b, 00000000b ; y
|
||||||
|
db 00000000b, 00000000b, 01111110b, 00001100b, 00011000b, 00110000b, 01111110b, 00000000b ; z
|
||||||
|
|
||||||
|
; 0x7B-0x7E
|
||||||
|
db 00001100b, 00011000b, 00011000b, 00110000b, 00011000b, 00011000b, 00001100b, 00000000b ; {
|
||||||
|
db 00011000b, 00011000b, 00011000b, 00000000b, 00011000b, 00011000b, 00011000b, 00000000b ; |
|
||||||
|
db 00110000b, 00011000b, 00011000b, 00001100b, 00011000b, 00011000b, 00110000b, 00000000b ; }
|
||||||
|
db 01101110b, 11011011b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b, 00000000b ; ~
|
||||||
|
|
@ -1,862 +1,26 @@
|
||||||
; ============================================================================
|
; =============================================================================
|
||||||
; Font 8x8 (printable ASCII 0x20..0x7E) -> 95 glyphs * 8 = 760 bytes
|
; Project : Custom BIOS / ROM
|
||||||
; - bit7 = gauche, bit0 = droite
|
; File : chartable.asm
|
||||||
; - 1 byte = 1 scanline (haut -> bas)
|
; Author : frater
|
||||||
; ============================================================================
|
;
|
||||||
font8x8:
|
; License : GNU General Public License v3.0 or later (GPL-3.0+)
|
||||||
; 0x20 ' '
|
;
|
||||||
db 00000000b
|
; This program is free software: you can redistribute it and/or modify
|
||||||
db 00000000b
|
; it under the terms of the GNU General Public License as published by
|
||||||
db 00000000b
|
; the Free Software Foundation, either version 3 of the License, or
|
||||||
db 00000000b
|
; (at your option) any later version.
|
||||||
db 00000000b
|
;
|
||||||
db 00000000b
|
; This program is distributed in the hope that it will be useful,
|
||||||
db 00000000b
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
db 00000000b
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; 0x21 '!'
|
; GNU General Public License for more details.
|
||||||
db 00011000b
|
;
|
||||||
db 00011000b
|
; You should have received a copy of the GNU General Public License
|
||||||
db 00011000b
|
; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
db 00011000b
|
;
|
||||||
db 00011000b
|
; =============================================================================
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x22 '"'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00100100b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x23 '#'
|
|
||||||
db 00100100b
|
|
||||||
db 00100100b
|
|
||||||
db 01111110b
|
|
||||||
db 00100100b
|
|
||||||
db 01111110b
|
|
||||||
db 00100100b
|
|
||||||
db 00100100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x24 '$'
|
|
||||||
db 00011000b
|
|
||||||
db 00111110b
|
|
||||||
db 01100000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000110b
|
|
||||||
db 01111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x25 '%'
|
|
||||||
db 01100010b
|
|
||||||
db 01100110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 01100110b
|
|
||||||
db 01000110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x26 '&'
|
|
||||||
db 00111000b
|
|
||||||
db 01101100b
|
|
||||||
db 00111000b
|
|
||||||
db 01110110b
|
|
||||||
db 11011100b
|
|
||||||
db 11001100b
|
|
||||||
db 01110110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x27 '''
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x28 '('
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x29 ')'
|
|
||||||
db 00110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x2A '*'
|
|
||||||
db 00000000b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 11111111b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x2B '+'
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 01111110b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x2C ','
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
; 0x2D '-'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x2E '.'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x2F '/'
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 01100000b
|
|
||||||
db 11000000b
|
|
||||||
db 10000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x30 '0'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01101110b
|
|
||||||
db 01110110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x31 '1'
|
|
||||||
db 00011000b
|
|
||||||
db 00111000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x32 '2'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x33 '3'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000110b
|
|
||||||
db 00011100b
|
|
||||||
db 00000110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x34 '4'
|
|
||||||
db 00001100b
|
|
||||||
db 00011100b
|
|
||||||
db 00111100b
|
|
||||||
db 01101100b
|
|
||||||
db 01111110b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x35 '5'
|
|
||||||
db 01111110b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 00000110b
|
|
||||||
db 00000110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x36 '6'
|
|
||||||
db 00011100b
|
|
||||||
db 00110000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x37 '7'
|
|
||||||
db 01111110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x38 '8'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x39 '9'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00111000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x3A ':'
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x3B ';'
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
; 0x3C '<'
|
|
||||||
db 00001110b
|
|
||||||
db 00011100b
|
|
||||||
db 00111000b
|
|
||||||
db 01110000b
|
|
||||||
db 00111000b
|
|
||||||
db 00011100b
|
|
||||||
db 00001110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x3D '='
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x3E '>'
|
|
||||||
db 01110000b
|
|
||||||
db 00111000b
|
|
||||||
db 00011100b
|
|
||||||
db 00001110b
|
|
||||||
db 00011100b
|
|
||||||
db 00111000b
|
|
||||||
db 01110000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x3F '?'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x40 '@'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01101110b
|
|
||||||
db 01101010b
|
|
||||||
db 01101110b
|
|
||||||
db 01100000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x41 'A'
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x42 'B'
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x43 'C'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x44 'D'
|
|
||||||
db 01111000b
|
|
||||||
db 01101100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01101100b
|
|
||||||
db 01111000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x45 'E'
|
|
||||||
db 01111110b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x46 'F'
|
|
||||||
db 01111110b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x47 'G'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100000b
|
|
||||||
db 01101110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x48 'H'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x49 'I'
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4A 'J'
|
|
||||||
db 00011110b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 01101100b
|
|
||||||
db 00111000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4B 'K'
|
|
||||||
db 01100110b
|
|
||||||
db 01101100b
|
|
||||||
db 01111000b
|
|
||||||
db 01110000b
|
|
||||||
db 01111000b
|
|
||||||
db 01101100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4C 'L'
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4D 'M'
|
|
||||||
db 01100011b
|
|
||||||
db 01110111b
|
|
||||||
db 01111111b
|
|
||||||
db 01101011b
|
|
||||||
db 01100011b
|
|
||||||
db 01100011b
|
|
||||||
db 01100011b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4E 'N'
|
|
||||||
db 01100110b
|
|
||||||
db 01110110b
|
|
||||||
db 01111110b
|
|
||||||
db 01111110b
|
|
||||||
db 01101110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x4F 'O'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x50 'P'
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x51 'Q'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01101110b
|
|
||||||
db 00111100b
|
|
||||||
db 00001110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x52 'R'
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 01111000b
|
|
||||||
db 01101100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x53 'S'
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x54 'T'
|
|
||||||
db 01111110b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x55 'U'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x56 'V'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x57 'W'
|
|
||||||
db 01100011b
|
|
||||||
db 01100011b
|
|
||||||
db 01100011b
|
|
||||||
db 01101011b
|
|
||||||
db 01111111b
|
|
||||||
db 01110111b
|
|
||||||
db 01100011b
|
|
||||||
db 00000000b
|
|
||||||
; 0x58 'X'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x59 'Y'
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5A 'Z'
|
|
||||||
db 01111110b
|
|
||||||
db 00000110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5B '['
|
|
||||||
db 00111100b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5C '\'
|
|
||||||
db 11000000b
|
|
||||||
db 01100000b
|
|
||||||
db 00110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001100b
|
|
||||||
db 00000110b
|
|
||||||
db 00000010b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5D ']'
|
|
||||||
db 00111100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5E '^'
|
|
||||||
db 00010000b
|
|
||||||
db 00111000b
|
|
||||||
db 01101100b
|
|
||||||
db 11000110b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x5F '_'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 11111111b
|
|
||||||
db 00000000b
|
|
||||||
; 0x60 '`'
|
|
||||||
db 00110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001100b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x61 'a'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000110b
|
|
||||||
db 00111110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x62 'b'
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x63 'c'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100000b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x64 'd'
|
|
||||||
db 00000110b
|
|
||||||
db 00000110b
|
|
||||||
db 00111110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x65 'e'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01111110b
|
|
||||||
db 01100000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x66 'f'
|
|
||||||
db 00011100b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 01111100b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x67 'g'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000110b
|
|
||||||
db 00111100b
|
|
||||||
; 0x68 'h'
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x69 'i'
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x6A 'j'
|
|
||||||
db 00001100b
|
|
||||||
db 00000000b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 00001100b
|
|
||||||
db 01101100b
|
|
||||||
db 01101100b
|
|
||||||
db 00111000b
|
|
||||||
; 0x6B 'k'
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100110b
|
|
||||||
db 01101100b
|
|
||||||
db 01111000b
|
|
||||||
db 01101100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x6C 'l'
|
|
||||||
db 00111000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x6D 'm'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01101100b
|
|
||||||
db 01111110b
|
|
||||||
db 01111110b
|
|
||||||
db 01101011b
|
|
||||||
db 01100011b
|
|
||||||
db 00000000b
|
|
||||||
; 0x6E 'n'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x6F 'o'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x70 'p'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01111100b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01111100b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
; 0x71 'q'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000110b
|
|
||||||
db 00000110b
|
|
||||||
; 0x72 'r'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01101100b
|
|
||||||
db 01110110b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 01100000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x73 's'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00111110b
|
|
||||||
db 01100000b
|
|
||||||
db 00111100b
|
|
||||||
db 00000110b
|
|
||||||
db 01111100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x74 't'
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 01111100b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00110000b
|
|
||||||
db 00011100b
|
|
||||||
db 00000000b
|
|
||||||
; 0x75 'u'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x76 'v'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x77 'w'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01100011b
|
|
||||||
db 01100011b
|
|
||||||
db 01101011b
|
|
||||||
db 01111111b
|
|
||||||
db 00110110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x78 'x'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01100110b
|
|
||||||
db 00111100b
|
|
||||||
db 00011000b
|
|
||||||
db 00111100b
|
|
||||||
db 01100110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x79 'y'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 01100110b
|
|
||||||
db 00111110b
|
|
||||||
db 00000110b
|
|
||||||
db 00111100b
|
|
||||||
; 0x7A 'z'
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 01111110b
|
|
||||||
db 00001100b
|
|
||||||
db 00011000b
|
|
||||||
db 00110000b
|
|
||||||
db 01111110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x7B '{'
|
|
||||||
db 00001110b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 01110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001110b
|
|
||||||
db 00000000b
|
|
||||||
; 0x7C '|'
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x7D '}'
|
|
||||||
db 01110000b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 00001110b
|
|
||||||
db 00011000b
|
|
||||||
db 00011000b
|
|
||||||
db 01110000b
|
|
||||||
db 00000000b
|
|
||||||
; 0x7E '~'
|
|
||||||
db 01110110b
|
|
||||||
db 11011100b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
db 00000000b
|
|
||||||
|
|
||||||
|
font8x8:
|
||||||
|
; on importe uniquement les caractères entre ' ' (0x20) et '~' (0x7E)
|
||||||
|
incbin "./assets/FM-T-437.F08", 0x20*8, 0x7e*8
|
||||||
|
;incbin "./assets/CGA-TH.F08", 0x20*8, 0x7e*8
|
||||||
|
|
@ -37,10 +37,10 @@
|
||||||
; E : text transparent
|
; E : text transparent
|
||||||
; F : background transparent
|
; F : background transparent
|
||||||
;
|
;
|
||||||
%define GFX_TXT_WHITE_TRANSPARENT 0x0F
|
%define GFX_TXT_WHITE_TRANSPARENT 0x800F
|
||||||
%define GFX_TXT_BLACK_TRANSPARENT 0x00
|
%define GFX_TXT_BLACK_TRANSPARENT 0x80F0
|
||||||
%define GFX_TXT_WHITE 0xF0
|
%define GFX_TXT_WHITE 0x00F0
|
||||||
%define GFX_TXT_BLACK 0x0F
|
%define GFX_TXT_BLACK 0x000F
|
||||||
|
|
||||||
%define GFX_TXT_TRANSPARENT_BKG 0x8000
|
%define GFX_TXT_TRANSPARENT_BKG 0x8000
|
||||||
%define GFX_TXT_TRANSPARENT_TEXT 0x4000
|
%define GFX_TXT_TRANSPARENT_TEXT 0x4000
|
||||||
|
|
@ -160,14 +160,14 @@ vga_init:
|
||||||
get_glyph_offset:
|
get_glyph_offset:
|
||||||
cmp al, 0x20
|
cmp al, 0x20
|
||||||
jb .qmark ; al < 20h (' '
|
jb .qmark ; al < 20h (' '
|
||||||
cmp al, 0x7E
|
cmp al, 0x7e
|
||||||
ja .qmark ; al > 7Eh ('~')
|
ja .qmark ; al > 7Eh ('~')
|
||||||
sub al, 0x20
|
sub al, ' '
|
||||||
jmp .ok
|
jmp .ok
|
||||||
|
|
||||||
.qmark:
|
.qmark:
|
||||||
mov al, '?'
|
mov al, '?'
|
||||||
sub al, 0x20
|
sub al, ' '
|
||||||
|
|
||||||
.ok:
|
.ok:
|
||||||
xor ah, ah
|
xor ah, ah
|
||||||
|
|
@ -383,6 +383,7 @@ vga_putc:
|
||||||
mov bl, al ; BL = Couleur texte (low nibble)
|
mov bl, al ; BL = Couleur texte (low nibble)
|
||||||
and bl, 0x0F
|
and bl, 0x0F
|
||||||
mov bh, al ; BH = Couleur fond (high nibble)
|
mov bh, al ; BH = Couleur fond (high nibble)
|
||||||
|
and bh, 0xf0
|
||||||
shr bh, 4
|
shr bh, 4
|
||||||
|
|
||||||
mov .cpt, 8
|
mov .cpt, 8
|
||||||
|
|
@ -394,11 +395,9 @@ vga_putc:
|
||||||
mov .glyph_row, ax ; Image 16 bits du glyphe non décalé
|
mov .glyph_row, ax ; Image 16 bits du glyphe non décalé
|
||||||
|
|
||||||
; --- PASSE 1 : DESSIN DU FOND (SI OPAQUE) ---
|
; --- PASSE 1 : DESSIN DU FOND (SI OPAQUE) ---
|
||||||
mov ax, [fs:PTR_GFX + gfx.cur_mode]
|
test word [fs:PTR_GFX + gfx.cur_mode], GFX_TXT_TRANSPARENT_BKG
|
||||||
test ax, GFX_TXT_TRANSPARENT_BKG
|
jnz .skip_bkg
|
||||||
jz .skip_bkg
|
|
||||||
|
|
||||||
mov ax, .glyph_row
|
|
||||||
not al ; Inverser le glyphe pour le fond
|
not al ; Inverser le glyphe pour le fond
|
||||||
ror ax, cl ; Aligner le fond sur les octets VRAM
|
ror ax, cl ; Aligner le fond sur les octets VRAM
|
||||||
|
|
||||||
|
|
@ -422,8 +421,7 @@ vga_putc:
|
||||||
.skip_bkg:
|
.skip_bkg:
|
||||||
|
|
||||||
; --- PASSE 2 : DESSIN DU TEXTE ---
|
; --- PASSE 2 : DESSIN DU TEXTE ---
|
||||||
mov ax, [fs:PTR_GFX + gfx.cur_mode]
|
test word [fs:PTR_GFX + gfx.cur_mode], GFX_TXT_TRANSPARENT_TEXT
|
||||||
test ax, GFX_TXT_TRANSPARENT_TEXT
|
|
||||||
jnz .next_line
|
jnz .next_line
|
||||||
|
|
||||||
mov ax, .glyph_row
|
mov ax, .glyph_row
|
||||||
|
|
|
||||||
|
|
@ -85,33 +85,39 @@ gui_api_table:
|
||||||
dw gui_get_widget_ptr
|
dw gui_get_widget_ptr
|
||||||
dw gui_api_slider_attr
|
dw gui_api_slider_attr
|
||||||
|
|
||||||
|
|
||||||
; --- Structure d'un OBJET (Bouton, etc) ---
|
; --- Structure d'un OBJET (Bouton, etc) ---
|
||||||
struc widget
|
struc widget
|
||||||
|
.header resw 1 ; HEADER
|
||||||
.state resb 1 ; État (0=libre, >0=utilisé)
|
.state resb 1 ; État (0=libre, >0=utilisé)
|
||||||
.type resb 1 ; Type (0=Button, 1=Slider...)
|
.type resb 1 ; Type (0=Button, 1=Slider...)
|
||||||
.oldstate resb 1 ; widget a-t-il été modifié ?
|
.oldstate resb 1 ; widget a-t-il été modifié ?
|
||||||
.user_id resb 1 ; ID unique utilisateur
|
.user_id resb 1 ; ID unique utilisateur
|
||||||
.x resw 1 ; Position X
|
.x resw 1 ; Position Xevent_drag
|
||||||
.y resw 1 ; Position Y
|
.y resw 1 ; Position Y
|
||||||
.x2 resw 1 ; Position X2 calculée
|
|
||||||
.y2 resw 1 ; Position Y2 calculée
|
|
||||||
.w resw 1 ; Largeur
|
.w resw 1 ; Largeur
|
||||||
.h resw 1 ; Hauteur
|
.h resw 1 ; Hauteur
|
||||||
|
; texte du widget
|
||||||
.text_ofs resw 1 ; Offset du texte
|
.text_ofs resw 1 ; Offset du texte
|
||||||
.text_seg resw 1 ; Segment du texte
|
.text_seg resw 1 ; Segment du texte
|
||||||
.event_click resw 1 ; adresse de la fonction "on click"
|
|
||||||
.event_drag resw 1 ; adresse de la fonction "on drag"
|
|
||||||
|
|
||||||
|
; global attributes
|
||||||
.attr_mode resb 1 ; 0=None, 1=Horiz, 2=Vert
|
.attr_mode resb 1 ; 0=None, 1=Horiz, 2=Vert
|
||||||
|
.attr_free resb 1 ; free
|
||||||
.attr_min resw 1 ; Valeur/Position Min
|
.attr_min resw 1 ; Valeur/Position Min
|
||||||
.attr_max resw 1 ; Valeur/Position Max
|
.attr_max resw 1 ; Valeur/Position Max
|
||||||
.attr_val resw 1 ; Valeur/Position Actuelle
|
.attr_val resw 1 ; Valeur/Position Actuelle
|
||||||
|
|
||||||
|
; internal values
|
||||||
|
.x2 resw 1 ; Position X2 calculée
|
||||||
|
.y2 resw 1 ; Position Y2 calculée
|
||||||
|
|
||||||
|
; slider only
|
||||||
.thumb_pos resw 1 ; Valeur/Position Actuelle en pixel pour le dessin.
|
.thumb_pos resw 1 ; Valeur/Position Actuelle en pixel pour le dessin.
|
||||||
.thumb_pct resb 1 ; Taille du curseur en % (1-100)
|
.thumb_pct resb 1 ; Taille du curseur en % (1-100)
|
||||||
|
|
||||||
.attr_anchor resw 1 ; interne Offset pour le drag
|
.attr_anchor resw 1 ; interne Offset pour le drag
|
||||||
|
|
||||||
|
; event handler
|
||||||
|
.event_click resw 1 ; adresse de la fonction "on click"
|
||||||
alignb 2 ; Alignement mémoire pour performance
|
alignb 2 ; Alignement mémoire pour performance
|
||||||
endstruc
|
endstruc
|
||||||
; actuellement 34 octets
|
; actuellement 34 octets
|
||||||
|
|
@ -226,12 +232,12 @@ gui_api_set_text:
|
||||||
;
|
;
|
||||||
; parameters : type, x, y, w, h, text_ofs, text_seg
|
; parameters : type, x, y, w, h, text_ofs, text_seg
|
||||||
;
|
;
|
||||||
; -----------------------------------------------------------------------------
|
|
||||||
%define .type word [bp+4]
|
%define .type word [bp+4]
|
||||||
%define .x word [bp+6]
|
%define .x word [bp+6]
|
||||||
%define .y word [bp+8]
|
%define .y word [bp+8]
|
||||||
%define .w word [bp+10]
|
%define .w word [bp+10]
|
||||||
%define .h word [bp+12]
|
%define .h word [bp+12]
|
||||||
|
; -----------------------------------------------------------------------------
|
||||||
gui_api_create:
|
gui_api_create:
|
||||||
push bp
|
push bp
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
|
|
@ -239,8 +245,8 @@ gui_api_create:
|
||||||
|
|
||||||
mov ax, SEG_GUI
|
mov ax, SEG_GUI
|
||||||
mov gs, ax
|
mov gs, ax
|
||||||
call gui_alloc_widget ; Returns GS:SI
|
|
||||||
mov ax, -1
|
mov ax, -1
|
||||||
|
call gui_alloc_widget ; Returns GS:SI
|
||||||
jc .done
|
jc .done
|
||||||
|
|
||||||
; ID = SI / widget_size
|
; ID = SI / widget_size
|
||||||
|
|
@ -249,6 +255,9 @@ gui_api_create:
|
||||||
mov cx, widget_size
|
mov cx, widget_size
|
||||||
div cx
|
div cx
|
||||||
|
|
||||||
|
mov bx, 0xDEAD
|
||||||
|
mov word [gs:si + widget.header], bx
|
||||||
|
|
||||||
mov bx, .type
|
mov bx, .type
|
||||||
mov byte [gs:si + widget.type], bl
|
mov byte [gs:si + widget.type], bl
|
||||||
mov bx, .x
|
mov bx, .x
|
||||||
|
|
@ -262,15 +271,16 @@ gui_api_create:
|
||||||
|
|
||||||
mov byte [gs:si + widget.state], GUI_STATE_NORMAL
|
mov byte [gs:si + widget.state], GUI_STATE_NORMAL
|
||||||
mov byte [gs:si + widget.oldstate], 0
|
mov byte [gs:si + widget.oldstate], 0
|
||||||
.done:
|
.done:
|
||||||
pop gs
|
pop gs
|
||||||
leave
|
leave
|
||||||
|
%undef .type
|
||||||
|
%undef .x
|
||||||
|
%undef .y
|
||||||
|
%undef .w
|
||||||
|
%undef .h
|
||||||
ret
|
ret
|
||||||
%undef .type
|
|
||||||
%undef .x
|
|
||||||
%undef .y
|
|
||||||
%undef .w
|
|
||||||
%undef .h
|
|
||||||
|
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
; gui_api_get_state
|
; gui_api_get_state
|
||||||
|
|
@ -430,7 +440,7 @@ gui_get_widget_ptr:
|
||||||
; Out: GS:SI = Ptr, CF=1 if error
|
; Out: GS:SI = Ptr, CF=1 if error
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
gui_get_widget_ptr_internal:
|
gui_get_widget_ptr_internal:
|
||||||
push cx
|
push cx
|
||||||
push dx
|
push dx
|
||||||
|
|
||||||
cmp ax, GUI_MAX_WIDGETS
|
cmp ax, GUI_MAX_WIDGETS
|
||||||
|
|
@ -511,6 +521,7 @@ gui_alloc_widget:
|
||||||
|
|
||||||
; Pas trouvé (Plein)
|
; Pas trouvé (Plein)
|
||||||
stc ; set Carry Flag : erreur
|
stc ; set Carry Flag : erreur
|
||||||
|
mov ax, -1
|
||||||
jmp .done
|
jmp .done
|
||||||
|
|
||||||
.found:
|
.found:
|
||||||
|
|
@ -521,7 +532,6 @@ gui_alloc_widget:
|
||||||
|
|
||||||
; Reset des champs critiques pour éviter les déchets
|
; Reset des champs critiques pour éviter les déchets
|
||||||
mov word [gs:si + widget.event_click], 0
|
mov word [gs:si + widget.event_click], 0
|
||||||
mov word [gs:si + widget.event_drag], 0
|
|
||||||
mov byte [gs:si + widget.thumb_pct], 10 ; 10% par défaut
|
mov byte [gs:si + widget.thumb_pct], 10 ; 10% par défaut
|
||||||
mov word [gs:si + widget.thumb_pos], 0
|
mov word [gs:si + widget.thumb_pos], 0
|
||||||
mov word [gs:si + widget.attr_val], 0
|
mov word [gs:si + widget.attr_val], 0
|
||||||
|
|
|
||||||
|
|
@ -487,7 +487,7 @@ draw_checkbox:
|
||||||
inc bx
|
inc bx
|
||||||
|
|
||||||
GFX GOTOXY, cx, bx
|
GFX GOTOXY, cx, bx
|
||||||
GFX TXT_MODE, GFX_TXT_BLACK & GFX_TXT_TRANSPARENT_BKG
|
GFX TXT_MODE, GFX_TXT_BLACK_TRANSPARENT
|
||||||
mov dx, [gs:si + widget.text_seg]
|
mov dx, [gs:si + widget.text_seg]
|
||||||
mov ax, [gs:si + widget.text_ofs]
|
mov ax, [gs:si + widget.text_ofs]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -486,14 +486,7 @@ gui_logic_slider:
|
||||||
je .no_change
|
je .no_change
|
||||||
mov [gs:si + widget.thumb_pos], ax
|
mov [gs:si + widget.thumb_pos], ax
|
||||||
|
|
||||||
; Appel du callback on_drag
|
.force_redraw:
|
||||||
cmp word [gs:si + widget.event_drag], 0
|
|
||||||
je .force_redraw
|
|
||||||
pusha
|
|
||||||
call word [gs:si + widget.event_drag]
|
|
||||||
popa
|
|
||||||
|
|
||||||
.force_redraw:
|
|
||||||
mov byte [gs:si + widget.oldstate], 255 ; Force le redessin
|
mov byte [gs:si + widget.oldstate], 255 ; Force le redessin
|
||||||
|
|
||||||
.no_change:
|
.no_change:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue