fixed putch/writestring

This commit is contained in:
Frater 2026-01-25 21:15:19 +01:00
commit dcf67075e5
10 changed files with 1984 additions and 697 deletions

102
src/common/chartable-1.asm Normal file
View file

@ -0,0 +1,102 @@
; ============================================================================
; Font 8x8 (printable ASCII 0x20..0x7E) -> 95 glyphs * 8 = 760 bytes
; - bit7 = gauche, bit0 = droite
; - 1 byte = 1 scanline (haut -> bas)
; ============================================================================
font8x8:
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x20 ' '
db 0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x00 ; 0x21 '!'
db 0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00 ; 0x22 '"'
db 0x24,0x24,0x7E,0x24,0x7E,0x24,0x24,0x00 ; 0x23 '#'
db 0x18,0x3E,0x60,0x3C,0x06,0x7C,0x18,0x00 ; 0x24 '$'
db 0x62,0x66,0x0C,0x18,0x30,0x66,0x46,0x00 ; 0x25 '%'
db 0x38,0x6C,0x38,0x76,0xDC,0xCC,0x76,0x00 ; 0x26 '&'
db 0x18,0x18,0x30,0x00,0x00,0x00,0x00,0x00 ; 0x27 '''
db 0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x00 ; 0x28 '('
db 0x30,0x18,0x0C,0x0C,0x0C,0x18,0x30,0x00 ; 0x29 ')'
db 0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00 ; 0x2A '*'
db 0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00 ; 0x2B '+'
db 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30 ; 0x2C ','
db 0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00 ; 0x2D '-'
db 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00 ; 0x2E '.'
db 0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00 ; 0x2F '/'
db 0x3C,0x66,0x6E,0x76,0x66,0x66,0x3C,0x00 ; 0x30 '0'
db 0x18,0x38,0x18,0x18,0x18,0x18,0x3C,0x00 ; 0x31 '1'
db 0x3C,0x66,0x06,0x0C,0x18,0x30,0x7E,0x00 ; 0x32 '2'
db 0x3C,0x66,0x06,0x1C,0x06,0x66,0x3C,0x00 ; 0x33 '3'
db 0x0C,0x1C,0x3C,0x6C,0x7E,0x0C,0x0C,0x00 ; 0x34 '4'
db 0x7E,0x60,0x7C,0x06,0x06,0x66,0x3C,0x00 ; 0x35 '5'
db 0x1C,0x30,0x60,0x7C,0x66,0x66,0x3C,0x00 ; 0x36 '6'
db 0x7E,0x66,0x06,0x0C,0x18,0x18,0x18,0x00 ; 0x37 '7'
db 0x3C,0x66,0x66,0x3C,0x66,0x66,0x3C,0x00 ; 0x38 '8'
db 0x3C,0x66,0x66,0x3E,0x06,0x0C,0x38,0x00 ; 0x39 '9'
db 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00 ; 0x3A ':'
db 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30 ; 0x3B ';'
db 0x0E,0x1C,0x38,0x70,0x38,0x1C,0x0E,0x00 ; 0x3C '<'
db 0x00,0x00,0x7E,0x00,0x7E,0x00,0x00,0x00 ; 0x3D '='
db 0x70,0x38,0x1C,0x0E,0x1C,0x38,0x70,0x00 ; 0x3E '>'
db 0x3C,0x66,0x06,0x0C,0x18,0x00,0x18,0x00 ; 0x3F '?'
db 0x3C,0x66,0x6E,0x6A,0x6E,0x60,0x3C,0x00 ; 0x40 '@'
db 0x18,0x3C,0x66,0x66,0x7E,0x66,0x66,0x00 ; 0x41 'A'
db 0x7C,0x66,0x66,0x7C,0x66,0x66,0x7C,0x00 ; 0x42 'B'
db 0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x00 ; 0x43 'C'
db 0x78,0x6C,0x66,0x66,0x66,0x6C,0x78,0x00 ; 0x44 'D'
db 0x7E,0x60,0x60,0x7C,0x60,0x60,0x7E,0x00 ; 0x45 'E'
db 0x7E,0x60,0x60,0x7C,0x60,0x60,0x60,0x00 ; 0x46 'F'
db 0x3C,0x66,0x60,0x6E,0x66,0x66,0x3C,0x00 ; 0x47 'G'
db 0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00 ; 0x48 'H'
db 0x3C,0x18,0x18,0x18,0x18,0x18,0x3C,0x00 ; 0x49 'I'
db 0x1E,0x0C,0x0C,0x0C,0x0C,0x6C,0x38,0x00 ; 0x4A 'J'
db 0x66,0x6C,0x78,0x70,0x78,0x6C,0x66,0x00 ; 0x4B 'K'
db 0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x00 ; 0x4C 'L'
db 0x63,0x77,0x7F,0x6B,0x63,0x63,0x63,0x00 ; 0x4D 'M'
db 0x66,0x76,0x7E,0x7E,0x6E,0x66,0x66,0x00 ; 0x4E 'N'
db 0x3C,0x66,0x66,0x66,0x66,0x66,0x3C,0x00 ; 0x4F 'O'
db 0x7C,0x66,0x66,0x7C,0x60,0x60,0x60,0x00 ; 0x50 'P'
db 0x3C,0x66,0x66,0x66,0x6E,0x3C,0x0E,0x00 ; 0x51 'Q'
db 0x7C,0x66,0x66,0x7C,0x78,0x6C,0x66,0x00 ; 0x52 'R'
db 0x3C,0x66,0x60,0x3C,0x06,0x66,0x3C,0x00 ; 0x53 'S'
db 0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x00 ; 0x54 'T'
db 0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00 ; 0x55 'U'
db 0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00 ; 0x56 'V'
db 0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00 ; 0x57 'W'
db 0x66,0x66,0x3C,0x18,0x3C,0x66,0x66,0x00 ; 0x58 'X'
db 0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x00 ; 0x59 'Y'
db 0x7E,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00 ; 0x5A 'Z'
db 0x3C,0x30,0x30,0x30,0x30,0x30,0x3C,0x00 ; 0X5B '['
db 0xC0,0x60,0x30,0x18,0x0C,0x06,0x02,0x00 ; 0x5C '\'
db 0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00 ; 0x5D ']'
db 0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00 ; 0x5E '^'
db 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00 ; 0x5F '_'
db 0x30,0x18,0x0C,0x00,0x00,0x00,0x00,0x00 ; 0x60 '`'
db 0x00,0x00,0x3C,0x06,0x3E,0x66,0x3E,0x00 ; 0x61 'a'
db 0x60,0x60,0x7C,0x66,0x66,0x66,0x7C,0x00 ; 0x62 'b'
db 0x00,0x00,0x3C,0x66,0x60,0x66,0x3C,0x00 ; 0x63 'c'
db 0x06,0x06,0x3E,0x66,0x66,0x66,0x3E,0x00 ; 0x64 'd'
db 0x00,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00 ; 0x65 'e'
db 0x1C,0x30,0x30,0x7C,0x30,0x30,0x30,0x00 ; 0x66 'f'
db 0x00,0x00,0x3E,0x66,0x66,0x3E,0x06,0x3C ; 0x67 'g'
db 0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x00 ; 0x68 'h'
db 0x18,0x00,0x38,0x18,0x18,0x18,0x3C,0x00 ; 0x69 'i'
db 0x0C,0x00,0x0C,0x0C,0x0C,0x6C,0x6C,0x38 ; 0x6A 'j'
db 0x60,0x60,0x66,0x6C,0x78,0x6C,0x66,0x00 ; 0x6B 'k'
db 0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00 ; 0x6C 'l'
db 0x00,0x00,0x6C,0x7E,0x7E,0x6B,0x63,0x00 ; 0x6D 'm'
db 0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x00 ; 0x6E 'n'
db 0x00,0x00,0x3C,0x66,0x66,0x66,0x3C,0x00 ; 0x6F 'o'
db 0x00,0x00,0x7C,0x66,0x66,0x7C,0x60,0x60 ; 0x70 'p'
db 0x00,0x00,0x3E,0x66,0x66,0x3E,0x06,0x06 ; 0x71 'q'
db 0x00,0x00,0x6C,0x76,0x60,0x60,0x60,0x00 ; 0x72 'r'
db 0x00,0x00,0x3E,0x60,0x3C,0x06,0x7C,0x00 ; 0x73 's'
db 0x30,0x30,0x7C,0x30,0x30,0x30,0x1C,0x00 ; 0x74 't'
db 0x00,0x00,0x66,0x66,0x66,0x66,0x3E,0x00 ; 0x75 'u'
db 0x00,0x00,0x66,0x66,0x66,0x3C,0x18,0x00 ; 0x76 'v'
db 0x00,0x00,0x63,0x63,0x6B,0x7F,0x36,0x00 ; 0x77 'w'
db 0x00,0x00,0x66,0x3C,0x18,0x3C,0x66,0x00 ; 0x78 'x'
db 0x00,0x00,0x66,0x66,0x66,0x3E,0x06,0x3C ; 0x79 'y'
db 0x00,0x00,0x7E,0x0C,0x18,0x30,0x7E,0x00 ; 0x7A 'z'
db 0x0E,0x18,0x18,0x70,0x18,0x18,0x0E,0x00 ; 0x7B '{'
db 0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00 ; 0x7C '|'
db 0x70,0x18,0x18,0x0E,0x18,0x18,0x70,0x00 ; 0x7D '}'
db 0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00 ; 0x7E '~'

862
src/common/chartable.asm Normal file
View 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:
; 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

38
src/common/cursor.asm Normal file
View file

@ -0,0 +1,38 @@
%define CURSOR_W 16
%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