mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-22 20:30:22 +00:00
Add new custom bitmap glyphs, and change load positions
This commit is contained in:
parent
dcd0207525
commit
592c80344f
@ -728,8 +728,8 @@ static void _load_interface_fonts(void) {
|
||||
video_loadfont_int(0x80,0x40,ucase_glyphs);
|
||||
video_loadfont_int(0xC0,0x20,ucase_glyphs);
|
||||
video_loadfont_int(0xE0,0x20,lcase_glyphs);
|
||||
video_loadfont_int(0x80,11,interface_glyphs);
|
||||
video_loadfont_int(MOUSETEXT_BEGIN,0x20,mousetext_glyphs);
|
||||
video_loadfont_int(ICONTEXT_BEGIN,0x20,interface_glyphs);
|
||||
}
|
||||
|
||||
void interface_plotChar(uint8_t *fb, int fb_pix_width, int col, int row, interface_colorscheme_t cs, uint8_t c) {
|
||||
|
25
src/font.c
25
src/font.c
@ -143,7 +143,7 @@ const unsigned char mousetext_glyphs[256] =
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
|
||||
};
|
||||
|
||||
const unsigned char interface_glyphs[88] =
|
||||
const unsigned char interface_glyphs[256] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x78, 0x08, 0x08, 0x08,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x08,
|
||||
@ -155,5 +155,26 @@ const unsigned char interface_glyphs[88] =
|
||||
0x08, 0x08, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x08,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7f, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x7f, 0x00, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08
|
||||
0x08, 0x08, 0x08, 0x08, 0x7f, 0x08, 0x08, 0x08,
|
||||
0x00, 0x7e, 0x02, 0x02, 0x02, 0x42, 0x22, 0x22,
|
||||
0x00, 0x7f, 0x40, 0x20, 0x40, 0x43, 0x44, 0x44,
|
||||
0x22, 0x42, 0x02, 0x02, 0x02, 0x02, 0x7e, 0x00,
|
||||
0x44, 0x43, 0x40, 0x41, 0x41, 0x41, 0x7e, 0x00,
|
||||
0x1c, 0x24, 0x04, 0x3e, 0x22, 0x22, 0x2a, 0x3e,
|
||||
0x01, 0x01, 0x01, 0x11, 0x31, 0x7f, 0x30, 0x10,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
220
src/font.txt
220
src/font.txt
@ -12,8 +12,7 @@
|
||||
;
|
||||
; "mousetext_glyphs" contains the Enhanced //e MouseText glyphs
|
||||
;
|
||||
; "interface_glyphs" contains extra chars used for the control menus,
|
||||
; presently just box-drawing.
|
||||
; "interface_glyphs" contains extra chars used for the interface menus and mesages
|
||||
;
|
||||
; Arranged by Michael Deutschmann
|
||||
; (the font itself presumably originated with Apple, but bitmap fonts are not
|
||||
@ -1174,8 +1173,8 @@
|
||||
#......
|
||||
#......
|
||||
#......
|
||||
=interface_glyphs,11
|
||||
: 0
|
||||
=interface_glyphs,32
|
||||
: 0x00
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
@ -1184,7 +1183,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 1
|
||||
: 0x01
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
@ -1193,7 +1192,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 2
|
||||
: 0x02
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1202,7 +1201,7 @@
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 3
|
||||
: 0x03
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1211,7 +1210,7 @@
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 4
|
||||
: 0x04
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1220,7 +1219,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 5
|
||||
: 0x05
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
@ -1229,7 +1228,7 @@
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 6
|
||||
: 0x06
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1238,7 +1237,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 7
|
||||
: 0x07
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1247,7 +1246,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 8
|
||||
: 0x08
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
@ -1256,7 +1255,7 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
: 9
|
||||
: 0x09
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1265,7 +1264,7 @@
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 10
|
||||
: 0x0A
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
@ -1274,3 +1273,196 @@
|
||||
...#...
|
||||
...#...
|
||||
...#...
|
||||
; ----------------------- disk icon quad
|
||||
: 0x0B
|
||||
.......
|
||||
.######
|
||||
.#.....
|
||||
.#.....
|
||||
.#.....
|
||||
.#....#
|
||||
.#...#.
|
||||
.#...#.
|
||||
: 0x0C
|
||||
.......
|
||||
#######
|
||||
......#
|
||||
.....#.
|
||||
......#
|
||||
##....#
|
||||
..#...#
|
||||
..#...#
|
||||
: 0x0D
|
||||
.#...#.
|
||||
.#....#
|
||||
.#.....
|
||||
.#.....
|
||||
.#.....
|
||||
.#.....
|
||||
.######
|
||||
.......
|
||||
: 0x0E
|
||||
..#...#
|
||||
##....#
|
||||
......#
|
||||
#.....#
|
||||
#.....#
|
||||
#.....#
|
||||
.######
|
||||
.......
|
||||
; ----------------------- unlock icon
|
||||
: 0x0F
|
||||
..###..
|
||||
..#..#.
|
||||
..#....
|
||||
.#####.
|
||||
.#...#.
|
||||
.#...#.
|
||||
.#.#.#.
|
||||
.#####.
|
||||
; ----------------------- reverse return arrow
|
||||
: 0x10
|
||||
#......
|
||||
#......
|
||||
#......
|
||||
#...#..
|
||||
#...##.
|
||||
#######
|
||||
....##.
|
||||
....#..
|
||||
; -----------------------
|
||||
: 0x11
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x12
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x13
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x14
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x15
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x16
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x17
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x18
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x19
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1A
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1B
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1C
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1D
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1E
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
: 0x1F
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
.......
|
||||
|
@ -24,7 +24,7 @@ bool (*interface_onTouchEvent)(interface_touch_event_t action, int pointer_count
|
||||
// 2015/04/12 : This was legacy code for rendering the menu interfaces on desktop Linux. Portions here are resurrected
|
||||
// to render HUD messages on desktop and mobile. Nothing special or pretty here, but has "just worked" for 20+ years ;-)
|
||||
|
||||
#define IsGraphic(c) ((c) == '|' || (((unsigned char)c) >= 0x80 && ((unsigned char)c) <= 0x8A))
|
||||
#define IsGraphic(c) ((c) == '|' || (((unsigned char)c) >= ICONTEXT_BEGIN && ((unsigned char)c) <= ICONTEXT_MENU_END))
|
||||
#define IsInside(x,y) ((x) >= 0 && (x) <= xlen-1 && (y) >= 0 && (y) <= ylen-1)
|
||||
|
||||
// Draws special interface menu "characters"
|
||||
@ -106,7 +106,7 @@ static void _convert_screen_graphics(char *screen, const int x, const int y, con
|
||||
}
|
||||
|
||||
if (found_glyph) {
|
||||
*(screen + y*(xlen+1) + x) = 0x80 + k;
|
||||
*(screen + y*(xlen+1) + x) = ICONTEXT_BEGIN + k;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -170,6 +170,17 @@ uint8_t floating_bus_hibit(const bool hibit);
|
||||
#define MOUSETEXT_OPENAPPLE (MOUSETEXT_BEGIN + 0x01)
|
||||
#define MOUSETEXT_CLOSEDAPPLE (MOUSETEXT_BEGIN + 0x00)
|
||||
|
||||
#define ICONTEXT_BEGIN 0xB0
|
||||
#define ICONTEXT_MENU_BEGIN ICONTEXT_BEGIN
|
||||
#define ICONTEXT_MENU_END (ICONTEXT_MENU_BEGIN+0x0A)
|
||||
|
||||
#define ICONTEXT_DISK_UL (ICONTEXT_BEGIN+0x0B)
|
||||
#define ICONTEXT_DISK_UR (ICONTEXT_BEGIN+0x0C)
|
||||
#define ICONTEXT_DISK_LL (ICONTEXT_BEGIN+0x0D)
|
||||
#define ICONTEXT_DISK_LR (ICONTEXT_BEGIN+0x0E)
|
||||
#define ICONTEXT_UNLOCK (ICONTEXT_BEGIN+0x0F)
|
||||
#define ICONTEXT_GOTO (ICONTEXT_BEGIN+0x10)
|
||||
|
||||
#define COLOR_BLACK 0
|
||||
|
||||
#define COLOR_DARK_RED 35
|
||||
|
Loading…
Reference in New Issue
Block a user