clang-format decided to align things better

This commit is contained in:
Gwenhael Le Moine 2024-04-02 16:14:02 +02:00
parent 13aa0c47a8
commit 8e1f843c28
No known key found for this signature in database
GPG key ID: FDFE3669426707A7
6 changed files with 826 additions and 828 deletions

View file

@ -361,262 +361,262 @@ typedef struct trans_tbl_t {
} trans_tbl_t;
static trans_tbl_t hp48_trans_tbl[ 256 ] = {
{0, ( char* )"\\0" },
{ 1, ( char* )"\\001"},
{ 2, ( char* )"\\002"},
{ 3, ( char* )"\\003"},
{ 4, ( char* )"\\004"},
{ 5, ( char* )"\\005"},
{ 6, ( char* )"\\006"},
{ 7, ( char* )"\\007"},
{ 8, ( char* )"\\b" },
{ 9, ( char* )"\\t" },
{ 10, ( char* )"\\n" },
{ 11, ( char* )"\\011"},
{ 12, ( char* )"\\f" },
{ 13, ( char* )"\\r" },
{ 14, ( char* )"\\014"},
{ 15, ( char* )"\\015"},
{ 16, ( char* )"\\016"},
{ 17, ( char* )"\\017"},
{ 18, ( char* )"\\018"},
{ 19, ( char* )"\\019"},
{ 20, ( char* )"\\020"},
{ 21, ( char* )"\\021"},
{ 22, ( char* )"\\022"},
{ 23, ( char* )"\\023"},
{ 24, ( char* )"\\024"},
{ 25, ( char* )"\\025"},
{ 26, ( char* )"\\026"},
{ 27, ( char* )"\\027"},
{ 28, ( char* )"\\028"},
{ 29, ( char* )"\\029"},
{ 30, ( char* )"\\030"},
{ 31, ( char* )"\\031"},
{ ' ', 0 },
{ '!', 0 },
{ '"', 0 },
{ '#', 0 },
{ '$', 0 },
{ '%', 0 },
{ '&', 0 },
{ '\'', 0 },
{ '(', 0 },
{ ')', 0 },
{ '*', 0 },
{ '+', 0 },
{ ',', 0 },
{ '-', 0 },
{ '.', 0 },
{ '/', 0 },
{ '0', 0 },
{ '1', 0 },
{ '2', 0 },
{ '3', 0 },
{ '4', 0 },
{ '5', 0 },
{ '6', 0 },
{ '7', 0 },
{ '8', 0 },
{ '9', 0 },
{ ':', 0 },
{ ';', 0 },
{ '<', 0 },
{ '=', 0 },
{ '>', 0 },
{ '?', 0 },
{ '@', 0 },
{ 'A', 0 },
{ 'B', 0 },
{ 'C', 0 },
{ 'D', 0 },
{ 'E', 0 },
{ 'F', 0 },
{ 'G', 0 },
{ 'H', 0 },
{ 'I', 0 },
{ 'J', 0 },
{ 'K', 0 },
{ 'L', 0 },
{ 'M', 0 },
{ 'N', 0 },
{ 'O', 0 },
{ 'P', 0 },
{ 'Q', 0 },
{ 'R', 0 },
{ 'S', 0 },
{ 'T', 0 },
{ 'U', 0 },
{ 'V', 0 },
{ 'W', 0 },
{ 'X', 0 },
{ 'Y', 0 },
{ 'Z', 0 },
{ '[', 0 },
{ '\\', 0 },
{ ']', 0 },
{ '^', 0 },
{ '_', 0 },
{ '`', 0 },
{ 'a', 0 },
{ 'b', 0 },
{ 'c', 0 },
{ 'd', 0 },
{ 'e', 0 },
{ 'f', 0 },
{ 'g', 0 },
{ 'h', 0 },
{ 'i', 0 },
{ 'j', 0 },
{ 'k', 0 },
{ 'l', 0 },
{ 'm', 0 },
{ 'n', 0 },
{ 'o', 0 },
{ 'p', 0 },
{ 'q', 0 },
{ 'r', 0 },
{ 's', 0 },
{ 't', 0 },
{ 'u', 0 },
{ 'v', 0 },
{ 'w', 0 },
{ 'x', 0 },
{ 'y', 0 },
{ 'z', 0 },
{ '{', 0 },
{ '|', 0 },
{ '}', 0 },
{ '~', 0 },
{ 127, ( char* )"\\127"},
{ 128, ( char* )"\\<)" },
{ 129, ( char* )"\\x-" },
{ 130, ( char* )"\\.V" },
{ 131, ( char* )"\\v/" },
{ 132, ( char* )"\\.S" },
{ 133, ( char* )"\\GS" },
{ 134, ( char* )"\\|>" },
{ 135, ( char* )"\\pi" },
{ 136, ( char* )"\\.d" },
{ 137, ( char* )"\\<=" },
{ 138, ( char* )"\\>=" },
{ 139, ( char* )"\\=/" },
{ 140, ( char* )"\\Ga" },
{ 141, ( char* )"\\->" },
{ 142, ( char* )"\\<-" },
{ 143, ( char* )"\\|v" },
{ 144, ( char* )"\\|^" },
{ 145, ( char* )"\\Gg" },
{ 146, ( char* )"\\Gd" },
{ 147, ( char* )"\\Ge" },
{ 148, ( char* )"\\Gn" },
{ 149, ( char* )"\\Gh" },
{ 150, ( char* )"\\Gl" },
{ 151, ( char* )"\\Gr" },
{ 152, ( char* )"\\Gs" },
{ 153, ( char* )"\\Gt" },
{ 154, ( char* )"\\Gw" },
{ 155, ( char* )"\\GD" },
{ 156, ( char* )"\\PI" },
{ 157, ( char* )"\\GW" },
{ 158, ( char* )"\\[]" },
{ 159, ( char* )"\\oo" },
{ 160, ( char* )"\\160"},
{ 161, ( char* )"\\161"},
{ 162, ( char* )"\\162"},
{ 163, ( char* )"\\163"},
{ 164, ( char* )"\\164"},
{ 165, ( char* )"\\165"},
{ 166, ( char* )"\\166"},
{ 167, ( char* )"\\167"},
{ 168, ( char* )"\\168"},
{ 169, ( char* )"\\169"},
{ 170, ( char* )"\\170"},
{ 171, ( char* )"\\<<" },
{ 172, ( char* )"\\172"},
{ 173, ( char* )"\\173"},
{ 174, ( char* )"\\174"},
{ 175, ( char* )"\\175"},
{ 176, ( char* )"\\^o" },
{ 177, ( char* )"\\177"},
{ 178, ( char* )"\\178"},
{ 179, ( char* )"\\179"},
{ 180, ( char* )"\\180"},
{ 181, ( char* )"\\Gm" },
{ 182, ( char* )"\\182"},
{ 183, ( char* )"\\183"},
{ 184, ( char* )"\\184"},
{ 185, ( char* )"\\185"},
{ 186, ( char* )"\\186"},
{ 187, ( char* )"\\>>" },
{ 188, ( char* )"\\188"},
{ 189, ( char* )"\\189"},
{ 190, ( char* )"\\190"},
{ 191, ( char* )"\\191"},
{ 192, ( char* )"\\192"},
{ 193, ( char* )"\\193"},
{ 194, ( char* )"\\194"},
{ 195, ( char* )"\\195"},
{ 196, ( char* )"\\196"},
{ 197, ( char* )"\\197"},
{ 198, ( char* )"\\198"},
{ 199, ( char* )"\\199"},
{ 200, ( char* )"\\200"},
{ 201, ( char* )"\\201"},
{ 202, ( char* )"\\202"},
{ 203, ( char* )"\\203"},
{ 204, ( char* )"\\204"},
{ 205, ( char* )"\\205"},
{ 206, ( char* )"\\206"},
{ 207, ( char* )"\\207"},
{ 208, ( char* )"\\208"},
{ 209, ( char* )"\\209"},
{ 210, ( char* )"\\210"},
{ 211, ( char* )"\\211"},
{ 212, ( char* )"\\212"},
{ 213, ( char* )"\\213"},
{ 214, ( char* )"\\214"},
{ 215, ( char* )"\\.x" },
{ 216, ( char* )"\\O/" },
{ 217, ( char* )"\\217"},
{ 218, ( char* )"\\218"},
{ 219, ( char* )"\\219"},
{ 220, ( char* )"\\220"},
{ 221, ( char* )"\\221"},
{ 222, ( char* )"\\222"},
{ 223, ( char* )"\\223"},
{ 224, ( char* )"\\224"},
{ 225, ( char* )"\\225"},
{ 226, ( char* )"\\226"},
{ 227, ( char* )"\\227"},
{ 228, ( char* )"\\228"},
{ 229, ( char* )"\\229"},
{ 230, ( char* )"\\230"},
{ 231, ( char* )"\\231"},
{ 232, ( char* )"\\232"},
{ 233, ( char* )"\\233"},
{ 234, ( char* )"\\234"},
{ 235, ( char* )"\\235"},
{ 236, ( char* )"\\236"},
{ 237, ( char* )"\\237"},
{ 238, ( char* )"\\238"},
{ 239, ( char* )"\\239"},
{ 240, ( char* )"\\240"},
{ 241, ( char* )"\\241"},
{ 242, ( char* )"\\242"},
{ 243, ( char* )"\\243"},
{ 244, ( char* )"\\244"},
{ 245, ( char* )"\\245"},
{ 246, ( char* )"\\246"},
{ 247, ( char* )"\\:-" },
{ 248, ( char* )"\\248"},
{ 249, ( char* )"\\249"},
{ 250, ( char* )"\\250"},
{ 251, ( char* )"\\251"},
{ 252, ( char* )"\\252"},
{ 253, ( char* )"\\253"},
{ 254, ( char* )"\\254"},
{ 255, ( char* )"\\255"}
{0, ( char* )"\\0" },
{1, ( char* )"\\001"},
{2, ( char* )"\\002"},
{3, ( char* )"\\003"},
{4, ( char* )"\\004"},
{5, ( char* )"\\005"},
{6, ( char* )"\\006"},
{7, ( char* )"\\007"},
{8, ( char* )"\\b" },
{9, ( char* )"\\t" },
{10, ( char* )"\\n" },
{11, ( char* )"\\011"},
{12, ( char* )"\\f" },
{13, ( char* )"\\r" },
{14, ( char* )"\\014"},
{15, ( char* )"\\015"},
{16, ( char* )"\\016"},
{17, ( char* )"\\017"},
{18, ( char* )"\\018"},
{19, ( char* )"\\019"},
{20, ( char* )"\\020"},
{21, ( char* )"\\021"},
{22, ( char* )"\\022"},
{23, ( char* )"\\023"},
{24, ( char* )"\\024"},
{25, ( char* )"\\025"},
{26, ( char* )"\\026"},
{27, ( char* )"\\027"},
{28, ( char* )"\\028"},
{29, ( char* )"\\029"},
{30, ( char* )"\\030"},
{31, ( char* )"\\031"},
{' ', 0 },
{'!', 0 },
{'"', 0 },
{'#', 0 },
{'$', 0 },
{'%', 0 },
{'&', 0 },
{'\'', 0 },
{'(', 0 },
{')', 0 },
{'*', 0 },
{'+', 0 },
{',', 0 },
{'-', 0 },
{'.', 0 },
{'/', 0 },
{'0', 0 },
{'1', 0 },
{'2', 0 },
{'3', 0 },
{'4', 0 },
{'5', 0 },
{'6', 0 },
{'7', 0 },
{'8', 0 },
{'9', 0 },
{':', 0 },
{';', 0 },
{'<', 0 },
{'=', 0 },
{'>', 0 },
{'?', 0 },
{'@', 0 },
{'A', 0 },
{'B', 0 },
{'C', 0 },
{'D', 0 },
{'E', 0 },
{'F', 0 },
{'G', 0 },
{'H', 0 },
{'I', 0 },
{'J', 0 },
{'K', 0 },
{'L', 0 },
{'M', 0 },
{'N', 0 },
{'O', 0 },
{'P', 0 },
{'Q', 0 },
{'R', 0 },
{'S', 0 },
{'T', 0 },
{'U', 0 },
{'V', 0 },
{'W', 0 },
{'X', 0 },
{'Y', 0 },
{'Z', 0 },
{'[', 0 },
{'\\', 0 },
{']', 0 },
{'^', 0 },
{'_', 0 },
{'`', 0 },
{'a', 0 },
{'b', 0 },
{'c', 0 },
{'d', 0 },
{'e', 0 },
{'f', 0 },
{'g', 0 },
{'h', 0 },
{'i', 0 },
{'j', 0 },
{'k', 0 },
{'l', 0 },
{'m', 0 },
{'n', 0 },
{'o', 0 },
{'p', 0 },
{'q', 0 },
{'r', 0 },
{'s', 0 },
{'t', 0 },
{'u', 0 },
{'v', 0 },
{'w', 0 },
{'x', 0 },
{'y', 0 },
{'z', 0 },
{'{', 0 },
{'|', 0 },
{'}', 0 },
{'~', 0 },
{127, ( char* )"\\127"},
{128, ( char* )"\\<)" },
{129, ( char* )"\\x-" },
{130, ( char* )"\\.V" },
{131, ( char* )"\\v/" },
{132, ( char* )"\\.S" },
{133, ( char* )"\\GS" },
{134, ( char* )"\\|>" },
{135, ( char* )"\\pi" },
{136, ( char* )"\\.d" },
{137, ( char* )"\\<=" },
{138, ( char* )"\\>=" },
{139, ( char* )"\\=/" },
{140, ( char* )"\\Ga" },
{141, ( char* )"\\->" },
{142, ( char* )"\\<-" },
{143, ( char* )"\\|v" },
{144, ( char* )"\\|^" },
{145, ( char* )"\\Gg" },
{146, ( char* )"\\Gd" },
{147, ( char* )"\\Ge" },
{148, ( char* )"\\Gn" },
{149, ( char* )"\\Gh" },
{150, ( char* )"\\Gl" },
{151, ( char* )"\\Gr" },
{152, ( char* )"\\Gs" },
{153, ( char* )"\\Gt" },
{154, ( char* )"\\Gw" },
{155, ( char* )"\\GD" },
{156, ( char* )"\\PI" },
{157, ( char* )"\\GW" },
{158, ( char* )"\\[]" },
{159, ( char* )"\\oo" },
{160, ( char* )"\\160"},
{161, ( char* )"\\161"},
{162, ( char* )"\\162"},
{163, ( char* )"\\163"},
{164, ( char* )"\\164"},
{165, ( char* )"\\165"},
{166, ( char* )"\\166"},
{167, ( char* )"\\167"},
{168, ( char* )"\\168"},
{169, ( char* )"\\169"},
{170, ( char* )"\\170"},
{171, ( char* )"\\<<" },
{172, ( char* )"\\172"},
{173, ( char* )"\\173"},
{174, ( char* )"\\174"},
{175, ( char* )"\\175"},
{176, ( char* )"\\^o" },
{177, ( char* )"\\177"},
{178, ( char* )"\\178"},
{179, ( char* )"\\179"},
{180, ( char* )"\\180"},
{181, ( char* )"\\Gm" },
{182, ( char* )"\\182"},
{183, ( char* )"\\183"},
{184, ( char* )"\\184"},
{185, ( char* )"\\185"},
{186, ( char* )"\\186"},
{187, ( char* )"\\>>" },
{188, ( char* )"\\188"},
{189, ( char* )"\\189"},
{190, ( char* )"\\190"},
{191, ( char* )"\\191"},
{192, ( char* )"\\192"},
{193, ( char* )"\\193"},
{194, ( char* )"\\194"},
{195, ( char* )"\\195"},
{196, ( char* )"\\196"},
{197, ( char* )"\\197"},
{198, ( char* )"\\198"},
{199, ( char* )"\\199"},
{200, ( char* )"\\200"},
{201, ( char* )"\\201"},
{202, ( char* )"\\202"},
{203, ( char* )"\\203"},
{204, ( char* )"\\204"},
{205, ( char* )"\\205"},
{206, ( char* )"\\206"},
{207, ( char* )"\\207"},
{208, ( char* )"\\208"},
{209, ( char* )"\\209"},
{210, ( char* )"\\210"},
{211, ( char* )"\\211"},
{212, ( char* )"\\212"},
{213, ( char* )"\\213"},
{214, ( char* )"\\214"},
{215, ( char* )"\\.x" },
{216, ( char* )"\\O/" },
{217, ( char* )"\\217"},
{218, ( char* )"\\218"},
{219, ( char* )"\\219"},
{220, ( char* )"\\220"},
{221, ( char* )"\\221"},
{222, ( char* )"\\222"},
{223, ( char* )"\\223"},
{224, ( char* )"\\224"},
{225, ( char* )"\\225"},
{226, ( char* )"\\226"},
{227, ( char* )"\\227"},
{228, ( char* )"\\228"},
{229, ( char* )"\\229"},
{230, ( char* )"\\230"},
{231, ( char* )"\\231"},
{232, ( char* )"\\232"},
{233, ( char* )"\\233"},
{234, ( char* )"\\234"},
{235, ( char* )"\\235"},
{236, ( char* )"\\236"},
{237, ( char* )"\\237"},
{238, ( char* )"\\238"},
{239, ( char* )"\\239"},
{240, ( char* )"\\240"},
{241, ( char* )"\\241"},
{242, ( char* )"\\242"},
{243, ( char* )"\\243"},
{244, ( char* )"\\244"},
{245, ( char* )"\\245"},
{246, ( char* )"\\246"},
{247, ( char* )"\\:-" },
{248, ( char* )"\\248"},
{249, ( char* )"\\249"},
{250, ( char* )"\\250"},
{251, ( char* )"\\251"},
{252, ( char* )"\\252"},
{253, ( char* )"\\253"},
{254, ( char* )"\\254"},
{255, ( char* )"\\255"}
};
static char* append_str( char* buf, const char* str )
@ -3033,39 +3033,39 @@ static char* dec_char( word_20* addr, char* string )
objfunc_t objects[] = {
{( char* )"System Binary", 0, DOBINT, dec_bin_int },
{ ( char* )"Real", 0, DOREAL, dec_real },
{ ( char* )"Long Real", 0, DOEREL, dec_long_real },
{ ( char* )"Complex", 0, DOCMP, dec_complex },
{ ( char* )"Long Complex", 0, DOECMP, dec_long_complex},
{ ( char* )"Character", 0, DOCHAR, dec_char },
{ ( char* )"Array", 0, DOARRY, dec_array },
{ ( char* )"Linked Array", 0, DOLNKARRY, dec_lnk_array },
{ ( char* )"String", 2, DOCSTR, dec_string },
{ ( char* )"Hex String", 1, DOHSTR, dec_hex_string },
{ ( char* )"List", 0, DOLIST, dec_list },
{ ( char* )"Directory", 0, DORRP, skip_ob },
{ ( char* )"Symbolic", 0, DOSYMB, dec_symb },
{ ( char* )"Unit", 0, DOEXT, dec_unit },
{ ( char* )"Tagged", 0, DOTAG, skip_ob },
{ ( char* )"Graphic", 0, DOGROB, skip_ob },
{ ( char* )"Library", 0, DOLIB, dec_library },
{ ( char* )"Backup", 0, DOBAK, skip_ob },
{ ( char* )"Library Data", 0, DOEXT0, dec_library_data},
{ ( char* )"ACPTR", 0, DOACPTR, dec_acptr },
{ ( char* )"External 2", 0, DOEXT2, skip_ob },
{ ( char* )"External 3", 0, DOEXT3, skip_ob },
{ ( char* )"External 4", 0, DOEXT4, skip_ob },
{ ( char* )"Program", 0, DOCOL, dec_prog },
{ ( char* )"Code", 1, DOCODE, dec_code },
{ ( char* )"Global Ident", 0, DOIDNT, dec_global_ident},
{ ( char* )"Local Ident", 0, DOLAM, dec_local_ident },
{ ( char* )"XLib Name", 0, DOROMP, dec_xlib_name },
{ ( char* )"*", 0, UM_MUL, dec_unit_op },
{ ( char* )"/", 0, UM_DIV, dec_unit_op },
{ ( char* )"^", 0, UM_POW, dec_unit_op },
{ ( char* )" (char*)", 0, UM_PRE, dec_unit_op },
{ ( char* )"_", 0, UM_END, dec_unit_op },
{ 0, 0, 0, 0 }
{( char* )"Real", 0, DOREAL, dec_real },
{( char* )"Long Real", 0, DOEREL, dec_long_real },
{( char* )"Complex", 0, DOCMP, dec_complex },
{( char* )"Long Complex", 0, DOECMP, dec_long_complex},
{( char* )"Character", 0, DOCHAR, dec_char },
{( char* )"Array", 0, DOARRY, dec_array },
{( char* )"Linked Array", 0, DOLNKARRY, dec_lnk_array },
{( char* )"String", 2, DOCSTR, dec_string },
{( char* )"Hex String", 1, DOHSTR, dec_hex_string },
{( char* )"List", 0, DOLIST, dec_list },
{( char* )"Directory", 0, DORRP, skip_ob },
{( char* )"Symbolic", 0, DOSYMB, dec_symb },
{( char* )"Unit", 0, DOEXT, dec_unit },
{( char* )"Tagged", 0, DOTAG, skip_ob },
{( char* )"Graphic", 0, DOGROB, skip_ob },
{( char* )"Library", 0, DOLIB, dec_library },
{( char* )"Backup", 0, DOBAK, skip_ob },
{( char* )"Library Data", 0, DOEXT0, dec_library_data},
{( char* )"ACPTR", 0, DOACPTR, dec_acptr },
{( char* )"External 2", 0, DOEXT2, skip_ob },
{( char* )"External 3", 0, DOEXT3, skip_ob },
{( char* )"External 4", 0, DOEXT4, skip_ob },
{( char* )"Program", 0, DOCOL, dec_prog },
{( char* )"Code", 1, DOCODE, dec_code },
{( char* )"Global Ident", 0, DOIDNT, dec_global_ident},
{( char* )"Local Ident", 0, DOLAM, dec_local_ident },
{( char* )"XLib Name", 0, DOROMP, dec_xlib_name },
{( char* )"*", 0, UM_MUL, dec_unit_op },
{( char* )"/", 0, UM_DIV, dec_unit_op },
{( char* )"^", 0, UM_POW, dec_unit_op },
{( char* )" (char*)", 0, UM_PRE, dec_unit_op },
{( char* )"_", 0, UM_END, dec_unit_op },
{0, 0, 0, 0 }
};
static char* decode_rpl_obj( word_20 addr, char* buf )
@ -3156,54 +3156,54 @@ struct cmd {
}
cmd_tbl[] = {
{"break", cmd_break,
{"break", cmd_break,
"break [address] Set breakpoint at `address\' or show "
"breakpoints" },
{ "b", cmd_break, 0 },
"breakpoints" },
{"b", cmd_break, 0 },
{ "cont", cmd_continue, "cont Continue execution" },
{ "c", cmd_continue, 0 },
{"cont", cmd_continue, "cont Continue execution" },
{"c", cmd_continue, 0 },
{ "delete", cmd_delete,
{"delete", cmd_delete,
"delete [all | n] Delete breakpoint or watchpoint number "
"`n\',\n all breakpoints, or current "
"breakpoint" },
{ "d", cmd_delete, 0 },
"breakpoint" },
{"d", cmd_delete, 0 },
{ "exit", cmd_exit, "exit Exit the emulator without saving" },
{"exit", cmd_exit, "exit Exit the emulator without saving" },
{ "go", cmd_go, "go address Set PC to `address\'" },
{"go", cmd_go, "go address Set PC to `address\'" },
{ "help", cmd_help, "help Display this information" },
{ "h", cmd_help, 0 },
{ "?", cmd_help, 0 },
{"help", cmd_help, "help Display this information" },
{"h", cmd_help, 0 },
{"?", cmd_help, 0 },
{ "load", cmd_load, "load Load emulator-state from files" },
{"load", cmd_load, "load Load emulator-state from files" },
{ "mode", cmd_mode, "mode [hp | class] Show or set disassembler mode" },
{"mode", cmd_mode, "mode [hp | class] Show or set disassembler mode" },
{ "quit", cmd_quit, "quit Exit the emulator after saving its state"},
{ "q", cmd_quit, 0 },
{"quit", cmd_quit, "quit Exit the emulator after saving its state"},
{"q", cmd_quit, 0 },
{ "ram", cmd_ram, "ram Show RAM layout" },
{"ram", cmd_ram, "ram Show RAM layout" },
{ "reg", cmd_regs, "reg [register [hexvalue]] Display or set register value" },
{ "r", cmd_regs, 0 },
{"reg", cmd_regs, "reg [register [hexvalue]] Display or set register value" },
{"r", cmd_regs, 0 },
{ "reset", cmd_reset, "reset Set the HP48\'s PC to ZERO" },
{"reset", cmd_reset, "reset Set the HP48\'s PC to ZERO" },
{ "save", cmd_save, "save Save emulator-state to files" },
{"save", cmd_save, "save Save emulator-state to files" },
{ "stack", cmd_stack, "stack Display RPL stack" },
{"stack", cmd_stack, "stack Display RPL stack" },
{ "stat", cmd_stat, "stat Display statistics for the emulator" },
{"stat", cmd_stat, "stat Display statistics for the emulator" },
{ "step", cmd_step, "step [n] Step one or n Instruction(s)" },
{ "s", cmd_step, 0 },
{"step", cmd_step, "step [n] Step one or n Instruction(s)" },
{"s", cmd_step, 0 },
{ "where", cmd_rstk, "where Show ML return stack" },
{"where", cmd_rstk, "where Show ML return stack" },
{ 0, 0, 0 }
{0, 0, 0 }
};
static int check_breakpoint( int type, word_20 addr )

View file

@ -28,64 +28,64 @@ long port2_mask;
short port2_is_ram;
hpkey_t keyboard[ 49 ] = {
/* From top left to bottom right */
{0x14, 0},
{ 0x84, 0},
{ 0x83, 0},
{ 0x82, 0},
{ 0x81, 0},
{ 0x80, 0},
/* From top left to bottom right */
{0x14, 0},
{0x84, 0},
{0x83, 0},
{0x82, 0},
{0x81, 0},
{0x80, 0},
{ 0x24, 0},
{ 0x74, 0},
{ 0x73, 0},
{ 0x72, 0},
{ 0x71, 0},
{ 0x70, 0},
{0x24, 0},
{0x74, 0},
{0x73, 0},
{0x72, 0},
{0x71, 0},
{0x70, 0},
{ 0x04, 0},
{ 0x64, 0},
{ 0x63, 0},
{ 0x62, 0},
{ 0x61, 0},
{ 0x60, 0},
{0x04, 0},
{0x64, 0},
{0x63, 0},
{0x62, 0},
{0x61, 0},
{0x60, 0},
{ 0x34, 0},
{ 0x54, 0},
{ 0x53, 0},
{ 0x52, 0},
{ 0x51, 0},
{ 0x50, 0},
{0x34, 0},
{0x54, 0},
{0x53, 0},
{0x52, 0},
{0x51, 0},
{0x50, 0},
{ 0x44, 0},
{ 0x43, 0},
{ 0x42, 0},
{ 0x41, 0},
{ 0x40, 0},
{0x44, 0},
{0x43, 0},
{0x42, 0},
{0x41, 0},
{0x40, 0},
{ 0x35, 0},
{ 0x33, 0},
{ 0x32, 0},
{ 0x31, 0},
{ 0x30, 0},
{0x35, 0},
{0x33, 0},
{0x32, 0},
{0x31, 0},
{0x30, 0},
{ 0x25, 0},
{ 0x23, 0},
{ 0x22, 0},
{ 0x21, 0},
{ 0x20, 0},
{0x25, 0},
{0x23, 0},
{0x22, 0},
{0x21, 0},
{0x20, 0},
{ 0x15, 0},
{ 0x13, 0},
{ 0x12, 0},
{ 0x11, 0},
{ 0x10, 0},
{0x15, 0},
{0x13, 0},
{0x12, 0},
{0x11, 0},
{0x10, 0},
{ 0x8000, 0},
{ 0x03, 0},
{ 0x02, 0},
{ 0x01, 0},
{ 0x00, 0},
{0x8000, 0},
{0x03, 0},
{0x02, 0},
{0x01, 0},
{0x00, 0},
};
int annunciators_bits[ NB_ANNUNCIATORS ] = { ANN_LEFT, ANN_RIGHT, ANN_ALPHA, ANN_BATTERY, ANN_BUSY, ANN_IO };

256
src/ui.c
View file

@ -11,134 +11,134 @@ int last_annunc_state = -1;
unsigned char lcd_nibbles_buffer[ DISP_ROWS ][ NIBS_PER_BUFFER_ROW ];
letter_t small_font[ 128 ] = {
{0, 0, 0 },
{ nl_gx_width, nl_gx_height, nl_gx_bitmap }, /* \001 == \n gx */
{ comma_gx_width, comma_gx_height, comma_gx_bitmap }, /* \002 == comma gx */
{ arrow_gx_width, arrow_gx_height, arrow_gx_bitmap }, /* \003 == \-> gx */
{ equal_gx_width, equal_gx_height, equal_gx_bitmap }, /* \004 == equal gx */
{ pi_gx_width, pi_gx_height, pi_gx_bitmap }, /* \005 == pi gx */
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 }, /* # 16 */
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ blank_width, blank_height, blank_bitmap }, /* # 32 */
{ 0, 0, 0 },
{ 0, 0, 0 },
{ hash_width, hash_height, hash_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ lbrace_width, lbrace_height, lbrace_bitmap },
{ rbrace_width, rbrace_height, rbrace_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ comma_width, comma_height, comma_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ slash_width, slash_height, slash_bitmap },
{ 0, 0, 0 }, /* # 48 */
{ 0, 0, 0 },
{ two_width, two_height, two_bitmap },
{ three_width, three_height, three_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ small_colon_width, small_colon_height, small_colon_bitmap},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ equal_width, equal_height, equal_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 }, /* # 64 */
{ A_width, A_height, A_bitmap },
{ B_width, B_height, B_bitmap },
{ C_width, C_height, C_bitmap },
{ D_width, D_height, D_bitmap },
{ E_width, E_height, E_bitmap },
{ F_width, F_height, F_bitmap },
{ G_width, G_height, G_bitmap },
{ H_width, H_height, H_bitmap },
{ I_width, I_height, I_bitmap },
{ J_width, J_height, J_bitmap },
{ K_width, K_height, K_bitmap },
{ L_width, L_height, L_bitmap },
{ M_width, M_height, M_bitmap },
{ N_width, N_height, N_bitmap },
{ O_width, O_height, O_bitmap },
{ P_width, P_height, P_bitmap }, /* # 80 */
{ Q_width, Q_height, Q_bitmap },
{ R_width, R_height, R_bitmap },
{ S_width, S_height, S_bitmap },
{ T_width, T_height, T_bitmap },
{ U_width, U_height, U_bitmap },
{ V_width, V_height, V_bitmap },
{ W_width, W_height, W_bitmap },
{ X_width, X_height, X_bitmap },
{ Y_width, Y_height, Y_bitmap },
{ Z_width, Z_height, Z_bitmap },
{ lbracket_width, lbracket_height, lbracket_bitmap },
{ 0, 0, 0 },
{ rbracket_width, rbracket_height, rbracket_bitmap },
{ 0, 0, 0 },
{ under_width, under_height, under_bitmap },
{ 0, 0, 0 }, /* # 96 */
{ arrow_width, arrow_height, arrow_bitmap }, /* a == left arrow */
{ diff_width, diff_height, diff_bitmap }, /* b == differential */
{ integral_width, integral_height, integral_bitmap }, /* c == integral */
{ sigma_width, sigma_height, sigma_bitmap }, /* d == sigma */
{ sqr_width, sqr_height, sqr_bitmap }, /* e == sqr */
{ root_width, root_height, root_bitmap }, /* f == root */
{ pow10_width, pow10_height, pow10_bitmap }, /* g == pow10 */
{ exp_width, exp_height, exp_bitmap }, /* h == exp */
{ prog_width, prog_height, prog_bitmap }, /* i == << >> */
{ string_width, string_height, string_bitmap }, /* j == " " */
{ nl_width, nl_height, nl_bitmap }, /* k == New Line */
{ pi_width, pi_height, pi_bitmap }, /* l == pi */
{ angle_width, angle_height, angle_bitmap }, /* m == angle */
{ sqr_gx_width, sqr_gx_height, sqr_gx_bitmap }, /* n == sqr gx */
{ root_gx_width, root_gx_height, root_gx_bitmap }, /* o == root gx */
{ pow10_gx_width, pow10_gx_height, pow10_gx_bitmap }, /* p == pow10 gx */
{ exp_gx_width, exp_gx_height, exp_gx_bitmap }, /* q == exp gx */
{ parens_gx_width, parens_gx_height, parens_gx_bitmap }, /* r == ( ) gx */
{ hash_gx_width, hash_gx_height, hash_gx_bitmap }, /* s == # gx */
{ bracket_gx_width, bracket_gx_height, bracket_gx_bitmap }, /* t == [] gx */
{ under_gx_width, under_gx_height, under_gx_bitmap }, /* u == _ gx */
{ prog_gx_width, prog_gx_height, prog_gx_bitmap }, /* v == << >> gx */
{ quote_gx_width, quote_gx_height, quote_gx_bitmap }, /* w == " " gx */
{ curly_gx_width, curly_gx_height, curly_gx_bitmap }, /* x == {} gx */
{ colon_gx_width, colon_gx_height, colon_gx_bitmap }, /* y == :: gx */
{ angle_gx_width, angle_gx_height, angle_gx_bitmap }, /* z == angle gx */
{ lcurly_width, lcurly_height, lcurly_bitmap },
{ 0, 0, 0 },
{ rcurly_width, rcurly_height, rcurly_bitmap },
{ 0, 0, 0 },
{ 0, 0, 0 }
{0, 0, 0 },
{nl_gx_width, nl_gx_height, nl_gx_bitmap }, /* \001 == \n gx */
{comma_gx_width, comma_gx_height, comma_gx_bitmap }, /* \002 == comma gx */
{arrow_gx_width, arrow_gx_height, arrow_gx_bitmap }, /* \003 == \-> gx */
{equal_gx_width, equal_gx_height, equal_gx_bitmap }, /* \004 == equal gx */
{pi_gx_width, pi_gx_height, pi_gx_bitmap }, /* \005 == pi gx */
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 }, /* # 16 */
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{blank_width, blank_height, blank_bitmap }, /* # 32 */
{0, 0, 0 },
{0, 0, 0 },
{hash_width, hash_height, hash_bitmap },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{lbrace_width, lbrace_height, lbrace_bitmap },
{rbrace_width, rbrace_height, rbrace_bitmap },
{0, 0, 0 },
{0, 0, 0 },
{comma_width, comma_height, comma_bitmap },
{0, 0, 0 },
{0, 0, 0 },
{slash_width, slash_height, slash_bitmap },
{0, 0, 0 }, /* # 48 */
{0, 0, 0 },
{two_width, two_height, two_bitmap },
{three_width, three_height, three_bitmap },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 },
{small_colon_width, small_colon_height, small_colon_bitmap},
{0, 0, 0 },
{0, 0, 0 },
{equal_width, equal_height, equal_bitmap },
{0, 0, 0 },
{0, 0, 0 },
{0, 0, 0 }, /* # 64 */
{A_width, A_height, A_bitmap },
{B_width, B_height, B_bitmap },
{C_width, C_height, C_bitmap },
{D_width, D_height, D_bitmap },
{E_width, E_height, E_bitmap },
{F_width, F_height, F_bitmap },
{G_width, G_height, G_bitmap },
{H_width, H_height, H_bitmap },
{I_width, I_height, I_bitmap },
{J_width, J_height, J_bitmap },
{K_width, K_height, K_bitmap },
{L_width, L_height, L_bitmap },
{M_width, M_height, M_bitmap },
{N_width, N_height, N_bitmap },
{O_width, O_height, O_bitmap },
{P_width, P_height, P_bitmap }, /* # 80 */
{Q_width, Q_height, Q_bitmap },
{R_width, R_height, R_bitmap },
{S_width, S_height, S_bitmap },
{T_width, T_height, T_bitmap },
{U_width, U_height, U_bitmap },
{V_width, V_height, V_bitmap },
{W_width, W_height, W_bitmap },
{X_width, X_height, X_bitmap },
{Y_width, Y_height, Y_bitmap },
{Z_width, Z_height, Z_bitmap },
{lbracket_width, lbracket_height, lbracket_bitmap },
{0, 0, 0 },
{rbracket_width, rbracket_height, rbracket_bitmap },
{0, 0, 0 },
{under_width, under_height, under_bitmap },
{0, 0, 0 }, /* # 96 */
{arrow_width, arrow_height, arrow_bitmap }, /* a == left arrow */
{diff_width, diff_height, diff_bitmap }, /* b == differential */
{integral_width, integral_height, integral_bitmap }, /* c == integral */
{sigma_width, sigma_height, sigma_bitmap }, /* d == sigma */
{sqr_width, sqr_height, sqr_bitmap }, /* e == sqr */
{root_width, root_height, root_bitmap }, /* f == root */
{pow10_width, pow10_height, pow10_bitmap }, /* g == pow10 */
{exp_width, exp_height, exp_bitmap }, /* h == exp */
{prog_width, prog_height, prog_bitmap }, /* i == << >> */
{string_width, string_height, string_bitmap }, /* j == " " */
{nl_width, nl_height, nl_bitmap }, /* k == New Line */
{pi_width, pi_height, pi_bitmap }, /* l == pi */
{angle_width, angle_height, angle_bitmap }, /* m == angle */
{sqr_gx_width, sqr_gx_height, sqr_gx_bitmap }, /* n == sqr gx */
{root_gx_width, root_gx_height, root_gx_bitmap }, /* o == root gx */
{pow10_gx_width, pow10_gx_height, pow10_gx_bitmap }, /* p == pow10 gx */
{exp_gx_width, exp_gx_height, exp_gx_bitmap }, /* q == exp gx */
{parens_gx_width, parens_gx_height, parens_gx_bitmap }, /* r == ( ) gx */
{hash_gx_width, hash_gx_height, hash_gx_bitmap }, /* s == # gx */
{bracket_gx_width, bracket_gx_height, bracket_gx_bitmap }, /* t == [] gx */
{under_gx_width, under_gx_height, under_gx_bitmap }, /* u == _ gx */
{prog_gx_width, prog_gx_height, prog_gx_bitmap }, /* v == << >> gx */
{quote_gx_width, quote_gx_height, quote_gx_bitmap }, /* w == " " gx */
{curly_gx_width, curly_gx_height, curly_gx_bitmap }, /* x == {} gx */
{colon_gx_width, colon_gx_height, colon_gx_bitmap }, /* y == :: gx */
{angle_gx_width, angle_gx_height, angle_gx_bitmap }, /* z == angle gx */
{lcurly_width, lcurly_height, lcurly_bitmap },
{0, 0, 0 },
{rcurly_width, rcurly_height, rcurly_bitmap },
{0, 0, 0 },
{0, 0, 0 }
};
void ( *ui_disp_draw_nibble )( word_20 addr, word_4 val );

View file

@ -100,51 +100,51 @@ static sdl_keypad_t keypad;
static sdl_color_t* sdl_colors;
static sdl_color_t sdl_colors_sx[] = {
{"white", 255, 255, 255},
{ "left", 255, 166, 0 },
{ "right", 0, 210, 255},
{ "but_top", 109, 93, 93 },
{ "button", 90, 77, 77 },
{ "but_bot", 76, 65, 65 },
{ "lcd_col", 202, 221, 92 },
{ "pix_col", 0, 0, 128},
{ "pad_top", 109, 78, 78 },
{ "pad", 90, 64, 64 },
{ "pad_bot", 76, 54, 54 },
{ "disp_pad_top", 155, 118, 84 },
{ "disp_pad", 124, 94, 67 },
{ "disp_pad_bot", 100, 75, 53 },
{ "logo", 204, 169, 107},
{ "logo_back", 64, 64, 64 },
{ "label", 202, 184, 144},
{ "frame", 0, 0, 0 },
{ "underlay", 60, 42, 42 },
{ "black", 0, 0, 0 },
/* { 0 } */
{"white", 255, 255, 255},
{"left", 255, 166, 0 },
{"right", 0, 210, 255},
{"but_top", 109, 93, 93 },
{"button", 90, 77, 77 },
{"but_bot", 76, 65, 65 },
{"lcd_col", 202, 221, 92 },
{"pix_col", 0, 0, 128},
{"pad_top", 109, 78, 78 },
{"pad", 90, 64, 64 },
{"pad_bot", 76, 54, 54 },
{"disp_pad_top", 155, 118, 84 },
{"disp_pad", 124, 94, 67 },
{"disp_pad_bot", 100, 75, 53 },
{"logo", 204, 169, 107},
{"logo_back", 64, 64, 64 },
{"label", 202, 184, 144},
{"frame", 0, 0, 0 },
{"underlay", 60, 42, 42 },
{"black", 0, 0, 0 },
/* { 0 } */
};
static sdl_color_t sdl_colors_gx[] = {
{"white", 255, 255, 255},
{ "left", 255, 186, 255},
{ "right", 0, 255, 204},
{ "but_top", 104, 104, 104},
{ "button", 88, 88, 88 },
{ "but_bot", 74, 74, 74 },
{ "lcd_col", 202, 221, 92 },
{ "pix_col", 0, 0, 128},
{ "pad_top", 88, 88, 88 },
{ "pad", 74, 74, 74 },
{ "pad_bot", 64, 64, 64 },
{ "disp_pad_top", 128, 128, 138},
{ "disp_pad", 104, 104, 110},
{ "disp_pad_bot", 84, 84, 90 },
{ "logo", 176, 176, 184},
{ "logo_back", 104, 104, 110},
{ "label", 240, 240, 240},
{ "frame", 0, 0, 0 },
{ "underlay", 104, 104, 110},
{ "black", 0, 0, 0 },
/* { 0 } */
{"white", 255, 255, 255},
{"left", 255, 186, 255},
{"right", 0, 255, 204},
{"but_top", 104, 104, 104},
{"button", 88, 88, 88 },
{"but_bot", 74, 74, 74 },
{"lcd_col", 202, 221, 92 },
{"pix_col", 0, 0, 128},
{"pad_top", 88, 88, 88 },
{"pad", 74, 74, 74 },
{"pad_bot", 64, 64, 64 },
{"disp_pad_top", 128, 128, 138},
{"disp_pad", 104, 104, 110},
{"disp_pad_bot", 84, 84, 90 },
{"logo", 176, 176, 184},
{"logo_back", 104, 104, 110},
{"label", 240, 240, 240},
{"frame", 0, 0, 0 },
{"underlay", 104, 104, 110},
{"black", 0, 0, 0 },
/* { 0 } */
};
// This will take the value of the defines, but can be run-time modified
@ -156,133 +156,133 @@ static unsigned int ARGBColors[ BLACK + 1 ];
static sdl_button_t* buttons = 0;
static sdl_button_t buttons_sx[] = {
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0},
{ "B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0},
{ "C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0},
{ "D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0},
{ "E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0},
{ "F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0},
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0},
{"B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0},
{"C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0},
{"D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0},
{"E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0},
{"F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0},
{ "MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "PRINT", 1, 0, 0, 0, 0},
{ "PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", "I/O", 1, 0, 0, 0, 0},
{ "CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", "MODES", 1, 0, 0, 0, 0},
{ "VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", "MEMORY", 1, 0, 0, 0, 0},
{ "UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", "LIBRARY", 1, 0, 0, 0, 0},
{ "NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, 0, 0, 0, 0},
{"MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "PRINT", 1, 0, 0, 0, 0},
{"PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", "I/O", 1, 0, 0, 0, 0},
{"CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", "MODES", 1, 0, 0, 0, 0},
{"VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", "MEMORY", 1, 0, 0, 0, 0},
{"UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", "LIBRARY", 1, 0, 0, 0, 0},
{"NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, 0, 0, 0, 0},
{ "COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0},
{ "STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0},
{ "EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aQ", 0, "aNUM", 0, 0, 0},
{ "LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "GRAPH", 0, 0, 0, 0, 0},
{ "DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "REVIEW", 0, 0, 0, 0, 0},
{ "RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0},
{"COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0},
{"STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0},
{"EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aQ", 0, "aNUM", 0, 0, 0},
{"LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "GRAPH", 0, 0, 0, 0, 0},
{"DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "REVIEW", 0, 0, 0, 0, 0},
{"RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0},
{ "SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0},
{ "COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0},
{ "TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0},
{ "SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "e", 0, "f", 0, 0, 0},
{ "POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "g", 0, "LOG", 0, 0, 0},
{ "INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "h", 0, "LN", 0, 0, 0},
{"SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0},
{"COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0},
{"TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0},
{"SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "e", 0, "f", 0, 0, 0},
{"POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "g", 0, "LOG", 0, 0, 0},
{"INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "h", 0, "LN", 0, 0, 0},
{ "ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0},
{ "NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "VISIT", 0, 0, 0},
{ "EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "2D", 0, "3D", 0, 0, 0},
{ "DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "PURGE", 0, 0, 0, 0, 0},
{ "BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, "CLR", 0, 0, 0},
{"ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0},
{"NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "VISIT", 0, 0, 0},
{"EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "2D", 0, "3D", 0, 0, 0},
{"DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "PURGE", 0, 0, 0, 0, 0},
{"BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, "CLR", 0, 0, 0},
{ "ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USR", 0, "ENTRY", 0, 0, 0},
{ "7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, "SOLVE", 1, 0, 0, 0, 0},
{ "8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, "PLOT", 1, 0, 0, 0, 0},
{ "9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, "ALGEBRA", 1, 0, 0, 0, 0},
{ "DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "( )", 0, "#", 0, 0, 0},
{"ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USR", 0, "ENTRY", 0, 0, 0},
{"7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, "SOLVE", 1, 0, 0, 0, 0},
{"8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, "PLOT", 1, 0, 0, 0, 0},
{"9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, "ALGEBRA", 1, 0, 0, 0, 0},
{"DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "( )", 0, "#", 0, 0, 0},
{ "SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0},
{ "4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, "TIME", 1, 0, 0, 0, 0},
{ "5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, "STAT", 1, 0, 0, 0, 0},
{ "6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, "UNITS", 1, 0, 0, 0, 0},
{ "MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "[ ]", 0, "_", 0, 0, 0},
{"SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0},
{"4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, "TIME", 1, 0, 0, 0, 0},
{"5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, "STAT", 1, 0, 0, 0, 0},
{"6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, "UNITS", 1, 0, 0, 0, 0},
{"MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "[ ]", 0, "_", 0, 0, 0},
{ "SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 0, 0, 0, 0, 0},
{ "1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, "RAD", 0, "POLAR", 0, 0, 0},
{ "2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, "STACK", 0, "ARG", 0, 0, 0},
{ "3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, "CMD", 0, "MENU", 0, 0, 0},
{ "MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "i", 0, "j", 0, 0, 0},
{"SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 0, 0, 0, 0, 0},
{"1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, "RAD", 0, "POLAR", 0, 0, 0},
{"2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, "STACK", 0, "ARG", 0, 0, 0},
{"3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, "CMD", 0, "MENU", 0, 0, 0},
{"MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "i", 0, "j", 0, 0, 0},
{ "ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "ATTN", 0, 0},
{ "0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "= ", 0, " a", 0, 0, 0},
{ "PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, ", ", 0, " k", 0, 0, 0},
{ "SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "l ", 0, " m", 0, 0, 0},
{ "PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "{ }", 0, ": :", 0, 0, 0},
{"ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "ATTN", 0, 0},
{"0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "= ", 0, " a", 0, 0, 0},
{"PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, ", ", 0, " k", 0, 0, 0},
{"SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "l ", 0, " m", 0, 0, 0},
{"PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "{ }", 0, ": :", 0, 0, 0},
};
static sdl_button_t buttons_gx[] = {
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0},
{ "B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0},
{ "C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0},
{ "D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0},
{ "E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0},
{ "F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0},
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0},
{"B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0},
{"C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0},
{"D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0},
{"E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0},
{"F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0},
{ "MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "RAD", 0, "POLAR", 0, 0, 0},
{ "PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", 0, 0, "CHARS", 0, 0, 0},
{ "CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", 0, 0, "MODES", 0, 0, 0},
{ "VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", 0, 0, "MEMORY", 0, 0, 0},
{ "UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", 0, 0, "STACK", 0, 0, 0},
{ "NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, "MENU", 0, 0, 0},
{"MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "RAD", 0, "POLAR", 0, 0, 0},
{"PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", 0, 0, "CHARS", 0, 0, 0},
{"CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", 0, 0, "MODES", 0, 0, 0},
{"VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", 0, 0, "MEMORY", 0, 0, 0},
{"UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", 0, 0, "STACK", 0, 0, 0},
{"NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, "MENU", 0, 0, 0},
{ "COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0},
{ "STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0},
{ "EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aNUM", 0, "UNDO", 0, 0, 0},
{ "LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "PICTURE", 0, 0, 0, 0, 0},
{ "DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "VIEW", 0, 0, 0, 0, 0},
{ "RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0},
{"COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0},
{"STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0},
{"EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aNUM", 0, "UNDO", 0, 0, 0},
{"LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "PICTURE", 0, 0, 0, 0, 0},
{"DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "VIEW", 0, 0, 0, 0, 0},
{"RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0},
{ "SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0},
{ "COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0},
{ "TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0},
{ "SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "n", 0, "o", 0, 0, 0},
{ "POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "p", 0, "LOG", 0, 0, 0},
{ "INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "q", 0, "LN", 0, 0, 0},
{"SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0},
{"COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0},
{"TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0},
{"SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "n", 0, "o", 0, 0, 0},
{"POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "p", 0, "LOG", 0, 0, 0},
{"INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "q", 0, "LN", 0, 0, 0},
{ "ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0},
{ "NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "CMD", 0, 0, 0},
{ "EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "PURG", 0, "ARG", 0, 0, 0},
{ "DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "CLEAR", 0, 0, 0, 0, 0},
{ "BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, 0, 0, 0, 0},
{"ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0},
{"NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "CMD", 0, 0, 0},
{"EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "PURG", 0, "ARG", 0, 0, 0},
{"DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "CLEAR", 0, 0, 0, 0, 0},
{"BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, 0, 0, 0, 0},
{ "ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USER", 0, "ENTRY", 0, 0, 0},
{ "7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, 0, 1, "SOLVE", 0, 0, 0},
{ "8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, 0, 1, "PLOT", 0, 0, 0},
{ "9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, 0, 1, "SYMBOLIC", 0, 0, 0},
{ "DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "r ", 0, "s", 0, 0, 0},
{"ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USER", 0, "ENTRY", 0, 0, 0},
{"7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, 0, 1, "SOLVE", 0, 0, 0},
{"8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, 0, 1, "PLOT", 0, 0, 0},
{"9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, 0, 1, "SYMBOLIC", 0, 0, 0},
{"DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "r ", 0, "s", 0, 0, 0},
{ "SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0},
{ "4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, 0, 1, "TIME", 0, 0, 0},
{ "5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, 0, 1, "STAT", 0, 0, 0},
{ "6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, 0, 1, "UNITS", 0, 0, 0},
{ "MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "t ", 0, "u", 0, 0, 0},
{"SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0},
{"4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, 0, 1, "TIME", 0, 0, 0},
{"5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, 0, 1, "STAT", 0, 0, 0},
{"6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, 0, 1, "UNITS", 0, 0, 0},
{"MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "t ", 0, "u", 0, 0, 0},
{ "SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 1, " ", 0, 0, 0},
{ "1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, 0, 1, "I/O", 0, 0, 0},
{ "2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, 0, 1, "LIBRARY", 0, 0, 0},
{ "3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, 0, 1, "EQ LIB", 0, 0, 0},
{ "MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "v ", 0, "w", 0, 0, 0},
{"SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 1, " ", 0, 0, 0},
{"1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, 0, 1, "I/O", 0, 0, 0},
{"2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, 0, 1, "LIBRARY", 0, 0, 0},
{"3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, 0, 1, "EQ LIB", 0, 0, 0},
{"MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "v ", 0, "w", 0, 0, 0},
{ "ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "CANCEL", 0, 0},
{ "0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "\004 ", 0, "\003", 0, 0, 0},
{ "PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, "\002 ", 0, "\001", 0, 0, 0},
{ "SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "\005 ", 0, "z", 0, 0, 0},
{ "PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "x ", 0, "y", 0, 0, 0},
/* { 0 } */
{"ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "CANCEL", 0, 0},
{"0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "\004 ", 0, "\003", 0, 0, 0},
{"PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, "\002 ", 0, "\001", 0, 0, 0},
{"SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "\005 ", 0, "z", 0, 0, 0},
{"PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "x ", 0, "y", 0, 0, 0},
/* { 0 } */
};
static sdl_ann_struct_t ann_tbl[] = {
{16, 4, ann_left_width, ann_left_height, ann_left_bitmap, 0, 0},
{ 61, 4, ann_right_width, ann_right_height, ann_right_bitmap, 0, 0},
{ 106, 4, ann_alpha_width, ann_alpha_height, ann_alpha_bitmap, 0, 0},
{ 151, 4, ann_battery_width, ann_battery_height, ann_battery_bitmap, 0, 0},
{ 196, 4, ann_busy_width, ann_busy_height, ann_busy_bitmap, 0, 0},
{ 241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0, 0},
{16, 4, ann_left_width, ann_left_height, ann_left_bitmap, 0, 0},
{61, 4, ann_right_width, ann_right_height, ann_right_bitmap, 0, 0},
{106, 4, ann_alpha_width, ann_alpha_height, ann_alpha_bitmap, 0, 0},
{151, 4, ann_battery_width, ann_battery_height, ann_battery_bitmap, 0, 0},
{196, 4, ann_busy_width, ann_busy_height, ann_busy_bitmap, 0, 0},
{241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0, 0},
};
// State to displayed zoomed last pressed key

View file

@ -368,9 +368,7 @@ void text_draw_annunc( void )
mvaddwstr( 0, 4 + ( i * 4 ), ( ( annunciators_bits[ i ] & val ) == annunciators_bits[ i ] ) ? annunciators_icons[ i ] : L" " );
}
void text_adjust_contrast( void )
{ /* Dummy, NCurses version doesn't hand contrast (yet?) */
}
void text_adjust_contrast( void ) { /* Dummy, NCurses version doesn't hand contrast (yet?) */ }
int text_get_event( void )
{

View file

@ -291,173 +291,173 @@ static char* res_name;
static char* res_class;
static x11_color_t colors_sx[] = {
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "left", 255, 166, 0, 255, 230, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "right", 0, 210, 255, 255, 169, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "but_top", 109, 93, 93, 0, 91, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "button", 90, 77, 77, 0, 81, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "but_bot", 76, 65, 65, 0, 69, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "lcd_col", 202, 221, 92, 255, 205, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pix_col", 0, 0, 128, 0, 20, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad_top", 109, 78, 78, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad", 90, 64, 64, 0, 73, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad_bot", 76, 54, 54, 0, 60, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad_top", 155, 118, 84, 0, 124, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad", 124, 94, 67, 0, 99, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad_bot", 100, 75, 53, 0, 79, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "logo", 204, 169, 107, 255, 172, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "logo_back", 64, 64, 64, 0, 65, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "label", 202, 184, 144, 255, 185, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "frame", 0, 0, 0, 255, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "underlay", 60, 42, 42, 0, 48, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"left", 255, 166, 0, 255, 230, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"right", 0, 210, 255, 255, 169, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"but_top", 109, 93, 93, 0, 91, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"button", 90, 77, 77, 0, 81, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"but_bot", 76, 65, 65, 0, 69, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"lcd_col", 202, 221, 92, 255, 205, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pix_col", 0, 0, 128, 0, 20, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad_top", 109, 78, 78, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad", 90, 64, 64, 0, 73, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad_bot", 76, 54, 54, 0, 60, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad_top", 155, 118, 84, 0, 124, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad", 124, 94, 67, 0, 99, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad_bot", 100, 75, 53, 0, 79, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"logo", 204, 169, 107, 255, 172, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"logo_back", 64, 64, 64, 0, 65, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"label", 202, 184, 144, 255, 185, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"frame", 0, 0, 0, 255, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"underlay", 60, 42, 42, 0, 48, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */
};
static x11_color_t colors_gx[] = {
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "left", 255, 186, 255, 255, 220, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "right", 0, 255, 204, 255, 169, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "but_top", 104, 104, 104, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "button", 88, 88, 88, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "but_bot", 74, 74, 74, 0, 74, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "lcd_col", 202, 221, 92, 255, 205, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pix_col", 0, 0, 128, 0, 20, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad_top", 88, 88, 88, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad", 74, 74, 74, 0, 74, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "pad_bot", 64, 64, 64, 0, 64, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad_top", 128, 128, 138, 0, 128, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "disp_pad_bot", 84, 84, 90, 0, 84, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "logo", 176, 176, 184, 255, 176, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "logo_back", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "label", 240, 240, 240, 255, 240, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "frame", 0, 0, 0, 255, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "underlay", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{ "black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"left", 255, 186, 255, 255, 220, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"right", 0, 255, 204, 255, 169, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"but_top", 104, 104, 104, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"button", 88, 88, 88, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"but_bot", 74, 74, 74, 0, 74, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"lcd_col", 202, 221, 92, 255, 205, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pix_col", 0, 0, 128, 0, 20, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad_top", 88, 88, 88, 0, 88, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad", 74, 74, 74, 0, 74, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"pad_bot", 64, 64, 64, 0, 64, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad_top", 128, 128, 138, 0, 128, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"disp_pad_bot", 84, 84, 90, 0, 84, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"logo", 176, 176, 184, 255, 176, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"logo_back", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"label", 240, 240, 240, 255, 240, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"frame", 0, 0, 0, 255, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"underlay", 104, 104, 110, 0, 104, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
{"black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */
};
static x11_button_t* buttons = 0;
static x11_button_t buttons_sx[] = {
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0, 0},
{ "B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0, 0},
{ "C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0, 0},
{ "D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0, 0},
{ "E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0, 0},
{ "F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0, 0},
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0, 0},
{"B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0, 0},
{"C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0, 0},
{"D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0, 0},
{"E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0, 0},
{"F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0, 0},
{ "MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "PRINT", 1, 0, 0, 0, 0, 0},
{ "PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", "I/O", 1, 0, 0, 0, 0, 0},
{ "CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", "MODES", 1, 0, 0, 0, 0, 0},
{ "VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", "MEMORY", 1, 0, 0, 0, 0, 0},
{ "UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", "LIBRARY", 1, 0, 0, 0, 0, 0},
{ "NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, 0, 0, 0, 0, 0},
{"MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "PRINT", 1, 0, 0, 0, 0, 0},
{"PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", "I/O", 1, 0, 0, 0, 0, 0},
{"CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", "MODES", 1, 0, 0, 0, 0, 0},
{"VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", "MEMORY", 1, 0, 0, 0, 0, 0},
{"UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", "LIBRARY", 1, 0, 0, 0, 0, 0},
{"NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, 0, 0, 0, 0, 0},
{ "COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0, 0},
{ "STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0, 0},
{ "EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aQ", 0, "aNUM", 0, 0, 0, 0},
{ "LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "GRAPH", 0, 0, 0, 0, 0, 0},
{ "DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "REVIEW", 0, 0, 0, 0, 0, 0},
{ "RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0, 0},
{"COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0, 0},
{"STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0, 0},
{"EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aQ", 0, "aNUM", 0, 0, 0, 0},
{"LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "GRAPH", 0, 0, 0, 0, 0, 0},
{"DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "REVIEW", 0, 0, 0, 0, 0, 0},
{"RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0, 0},
{ "SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0, 0},
{ "COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0, 0},
{ "TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0, 0},
{ "SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "e", 0, "f", 0, 0, 0, 0},
{ "POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "g", 0, "LOG", 0, 0, 0, 0},
{ "INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "h", 0, "LN", 0, 0, 0, 0},
{"SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0, 0},
{"COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0, 0},
{"TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0, 0},
{"SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "e", 0, "f", 0, 0, 0, 0},
{"POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "g", 0, "LOG", 0, 0, 0, 0},
{"INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "h", 0, "LN", 0, 0, 0, 0},
{ "ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0, 0},
{ "NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "VISIT", 0, 0, 0, 0},
{ "EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "2D", 0, "3D", 0, 0, 0, 0},
{ "DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "PURGE", 0, 0, 0, 0, 0, 0},
{ "BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, "CLR", 0, 0, 0, 0},
{"ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0, 0},
{"NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "VISIT", 0, 0, 0, 0},
{"EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "2D", 0, "3D", 0, 0, 0, 0},
{"DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "PURGE", 0, 0, 0, 0, 0, 0},
{"BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, "CLR", 0, 0, 0, 0},
{ "ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USR", 0, "ENTRY", 0, 0, 0, 0},
{ "7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, "SOLVE", 1, 0, 0, 0, 0, 0},
{ "8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, "PLOT", 1, 0, 0, 0, 0, 0},
{ "9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, "ALGEBRA", 1, 0, 0, 0, 0, 0},
{ "DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "( )", 0, "#", 0, 0, 0, 0},
{"ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USR", 0, "ENTRY", 0, 0, 0, 0},
{"7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, "SOLVE", 1, 0, 0, 0, 0, 0},
{"8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, "PLOT", 1, 0, 0, 0, 0, 0},
{"9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, "ALGEBRA", 1, 0, 0, 0, 0, 0},
{"DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "( )", 0, "#", 0, 0, 0, 0},
{ "SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{ "4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, "TIME", 1, 0, 0, 0, 0, 0},
{ "5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, "STAT", 1, 0, 0, 0, 0, 0},
{ "6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, "UNITS", 1, 0, 0, 0, 0, 0},
{ "MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "[ ]", 0, "_", 0, 0, 0, 0},
{"SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{"4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, "TIME", 1, 0, 0, 0, 0, 0},
{"5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, "STAT", 1, 0, 0, 0, 0, 0},
{"6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, "UNITS", 1, 0, 0, 0, 0, 0},
{"MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "[ ]", 0, "_", 0, 0, 0, 0},
{ "SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{ "1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, "RAD", 0, "POLAR", 0, 0, 0, 0},
{ "2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, "STACK", 0, "ARG", 0, 0, 0, 0},
{ "3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, "CMD", 0, "MENU", 0, 0, 0, 0},
{ "MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "i", 0, "j", 0, 0, 0, 0},
{"SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{"1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, "RAD", 0, "POLAR", 0, 0, 0, 0},
{"2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, "STACK", 0, "ARG", 0, 0, 0, 0},
{"3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, "CMD", 0, "MENU", 0, 0, 0, 0},
{"MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "i", 0, "j", 0, 0, 0, 0},
{ "ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "ATTN", 0, 0, 0},
{ "0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "= ", 0, " a", 0, 0, 0, 0},
{ "PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, ", ", 0, " k", 0, 0, 0, 0},
{ "SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "l ", 0, " m", 0, 0, 0, 0},
{ "PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "{ }", 0, ": :", 0, 0, 0, 0},
{"ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "ATTN", 0, 0, 0},
{"0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "= ", 0, " a", 0, 0, 0, 0},
{"PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, ", ", 0, " k", 0, 0, 0, 0},
{"SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "l ", 0, " m", 0, 0, 0, 0},
{"PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "{ }", 0, ": :", 0, 0, 0, 0},
};
static x11_button_t buttons_gx[] = {
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0, 0},
{ "B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0, 0},
{ "C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0, 0},
{ "D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0, 0},
{ "E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0, 0},
{ "F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0, 0},
{"A", 0, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "A", 0, 0, 0, 0, 0, 0, 0},
{"B", 50, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "B", 0, 0, 0, 0, 0, 0, 0},
{"C", 100, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "C", 0, 0, 0, 0, 0, 0, 0},
{"D", 150, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "D", 0, 0, 0, 0, 0, 0, 0},
{"E", 200, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "E", 0, 0, 0, 0, 0, 0, 0},
{"F", 250, 0, 36, 23, WHITE, 0, 0, menu_label_width, menu_label_height, menu_label_bitmap, "F", 0, 0, 0, 0, 0, 0, 0},
{ "MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "RAD", 0, "POLAR", 0, 0, 0, 0},
{ "PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", 0, 0, "CHARS", 0, 0, 0, 0},
{ "CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", 0, 0, "MODES", 0, 0, 0, 0},
{ "VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", 0, 0, "MEMORY", 0, 0, 0, 0},
{ "UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", 0, 0, "STACK", 0, 0, 0, 0},
{ "NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, "MENU", 0, 0, 0, 0},
{"MTH", 0, 50, 36, 26, WHITE, "MTH", 0, 0, 0, 0, "G", "RAD", 0, "POLAR", 0, 0, 0, 0},
{"PRG", 50, 50, 36, 26, WHITE, "PRG", 0, 0, 0, 0, "H", 0, 0, "CHARS", 0, 0, 0, 0},
{"CST", 100, 50, 36, 26, WHITE, "CST", 0, 0, 0, 0, "I", 0, 0, "MODES", 0, 0, 0, 0},
{"VAR", 150, 50, 36, 26, WHITE, "VAR", 0, 0, 0, 0, "J", 0, 0, "MEMORY", 0, 0, 0, 0},
{"UP", 200, 50, 36, 26, WHITE, 0, 0, up_width, up_height, up_bitmap, "K", 0, 0, "STACK", 0, 0, 0, 0},
{"NXT", 250, 50, 36, 26, WHITE, "NXT", 0, 0, 0, 0, "L", "PREV", 0, "MENU", 0, 0, 0, 0},
{ "COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0, 0},
{ "STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0, 0},
{ "EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aNUM", 0, "UNDO", 0, 0, 0, 0},
{ "LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "PICTURE", 0, 0, 0, 0, 0, 0},
{ "DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "VIEW", 0, 0, 0, 0, 0, 0},
{ "RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0, 0},
{"COLON", 0, 100, 36, 26, WHITE, 0, 0, colon_width, colon_height, colon_bitmap, "M", "UP", 0, "HOME", 0, 0, 0, 0},
{"STO", 50, 100, 36, 26, WHITE, "STO", 0, 0, 0, 0, "N", "DEF", 0, "RCL", 0, 0, 0, 0},
{"EVAL", 100, 100, 36, 26, WHITE, "EVAL", 0, 0, 0, 0, "O", "aNUM", 0, "UNDO", 0, 0, 0, 0},
{"LEFT", 150, 100, 36, 26, WHITE, 0, 0, left_width, left_height, left_bitmap, "P", "PICTURE", 0, 0, 0, 0, 0, 0},
{"DOWN", 200, 100, 36, 26, WHITE, 0, 0, down_width, down_height, down_bitmap, "Q", "VIEW", 0, 0, 0, 0, 0, 0},
{"RIGHT", 250, 100, 36, 26, WHITE, 0, 0, right_width, right_height, right_bitmap, "R", "SWAP", 0, 0, 0, 0, 0, 0},
{ "SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0, 0},
{ "COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0, 0},
{ "TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0, 0},
{ "SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "n", 0, "o", 0, 0, 0, 0},
{ "POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "p", 0, "LOG", 0, 0, 0, 0},
{ "INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "q", 0, "LN", 0, 0, 0, 0},
{"SIN", 0, 150, 36, 26, WHITE, "SIN", 0, 0, 0, 0, "S", "ASIN", 0, "b", 0, 0, 0, 0},
{"COS", 50, 150, 36, 26, WHITE, "COS", 0, 0, 0, 0, "T", "ACOS", 0, "c", 0, 0, 0, 0},
{"TAN", 100, 150, 36, 26, WHITE, "TAN", 0, 0, 0, 0, "U", "ATAN", 0, "d", 0, 0, 0, 0},
{"SQRT", 150, 150, 36, 26, WHITE, 0, 0, sqrt_width, sqrt_height, sqrt_bitmap, "V", "n", 0, "o", 0, 0, 0, 0},
{"POWER", 200, 150, 36, 26, WHITE, 0, 0, power_width, power_height, power_bitmap, "W", "p", 0, "LOG", 0, 0, 0, 0},
{"INV", 250, 150, 36, 26, WHITE, 0, 0, inv_width, inv_height, inv_bitmap, "X", "q", 0, "LN", 0, 0, 0, 0},
{ "ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0, 0},
{ "NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "CMD", 0, 0, 0, 0},
{ "EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "PURG", 0, "ARG", 0, 0, 0, 0},
{ "DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "CLEAR", 0, 0, 0, 0, 0, 0},
{ "BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, 0, 0, 0, 0, 0},
{"ENTER", 0, 200, 86, 26, WHITE, "ENTER", 2, 0, 0, 0, 0, "EQUATION", 0, "MATRIX", 0, 0, 0, 0},
{"NEG", 100, 200, 36, 26, WHITE, 0, 0, neg_width, neg_height, neg_bitmap, "Y", "EDIT", 0, "CMD", 0, 0, 0, 0},
{"EEX", 150, 200, 36, 26, WHITE, "EEX", 0, 0, 0, 0, "Z", "PURG", 0, "ARG", 0, 0, 0, 0},
{"DEL", 200, 200, 36, 26, WHITE, "DEL", 0, 0, 0, 0, 0, "CLEAR", 0, 0, 0, 0, 0, 0},
{"BS", 250, 200, 36, 26, WHITE, 0, 0, bs_width, bs_height, bs_bitmap, 0, "DROP", 0, 0, 0, 0, 0, 0},
{ "ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USER", 0, "ENTRY", 0, 0, 0, 0},
{ "7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, 0, 1, "SOLVE", 0, 0, 0, 0},
{ "8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, 0, 1, "PLOT", 0, 0, 0, 0},
{ "9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, 0, 1, "SYMBOLIC", 0, 0, 0, 0},
{ "DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "r ", 0, "s", 0, 0, 0, 0},
{"ALPHA", 0, 250, 36, 26, WHITE, 0, 0, alpha_width, alpha_height, alpha_bitmap, 0, "USER", 0, "ENTRY", 0, 0, 0, 0},
{"7", 60, 250, 46, 26, WHITE, "7", 1, 0, 0, 0, 0, 0, 1, "SOLVE", 0, 0, 0, 0},
{"8", 120, 250, 46, 26, WHITE, "8", 1, 0, 0, 0, 0, 0, 1, "PLOT", 0, 0, 0, 0},
{"9", 180, 250, 46, 26, WHITE, "9", 1, 0, 0, 0, 0, 0, 1, "SYMBOLIC", 0, 0, 0, 0},
{"DIV", 240, 250, 46, 26, WHITE, 0, 0, div_width, div_height, div_bitmap, 0, "r ", 0, "s", 0, 0, 0, 0},
{ "SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{ "4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, 0, 1, "TIME", 0, 0, 0, 0},
{ "5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, 0, 1, "STAT", 0, 0, 0, 0},
{ "6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, 0, 1, "UNITS", 0, 0, 0, 0},
{ "MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "t ", 0, "u", 0, 0, 0, 0},
{"SHL", 0, 300, 36, 26, LEFT, 0, 0, shl_width, shl_height, shl_bitmap, 0, 0, 0, 0, 0, 0, 0, 0},
{"4", 60, 300, 46, 26, WHITE, "4", 1, 0, 0, 0, 0, 0, 1, "TIME", 0, 0, 0, 0},
{"5", 120, 300, 46, 26, WHITE, "5", 1, 0, 0, 0, 0, 0, 1, "STAT", 0, 0, 0, 0},
{"6", 180, 300, 46, 26, WHITE, "6", 1, 0, 0, 0, 0, 0, 1, "UNITS", 0, 0, 0, 0},
{"MUL", 240, 300, 46, 26, WHITE, 0, 0, mul_width, mul_height, mul_bitmap, 0, "t ", 0, "u", 0, 0, 0, 0},
{ "SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 1, " ", 0, 0, 0, 0},
{ "1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, 0, 1, "I/O", 0, 0, 0, 0},
{ "2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, 0, 1, "LIBRARY", 0, 0, 0, 0},
{ "3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, 0, 1, "EQ LIB", 0, 0, 0, 0},
{ "MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "v ", 0, "w", 0, 0, 0, 0},
{"SHR", 0, 350, 36, 26, RIGHT, 0, 0, shr_width, shr_height, shr_bitmap, 0, 0, 1, " ", 0, 0, 0, 0},
{"1", 60, 350, 46, 26, WHITE, "1", 1, 0, 0, 0, 0, 0, 1, "I/O", 0, 0, 0, 0},
{"2", 120, 350, 46, 26, WHITE, "2", 1, 0, 0, 0, 0, 0, 1, "LIBRARY", 0, 0, 0, 0},
{"3", 180, 350, 46, 26, WHITE, "3", 1, 0, 0, 0, 0, 0, 1, "EQ LIB", 0, 0, 0, 0},
{"MINUS", 240, 350, 46, 26, WHITE, 0, 0, minus_width, minus_height, minus_bitmap, 0, "v ", 0, "w", 0, 0, 0, 0},
{ "ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "CANCEL", 0, 0, 0},
{ "0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "\004 ", 0, "\003", 0, 0, 0, 0},
{ "PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, "\002 ", 0, "\001", 0, 0, 0, 0},
{ "SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "\005 ", 0, "z", 0, 0, 0, 0},
{ "PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "x ", 0, "y", 0, 0, 0, 0},
{"ON", 0, 400, 36, 26, WHITE, "ON", 0, 0, 0, 0, 0, "CONT", 0, "OFF", "CANCEL", 0, 0, 0},
{"0", 60, 400, 46, 26, WHITE, "0", 1, 0, 0, 0, 0, "\004 ", 0, "\003", 0, 0, 0, 0},
{"PERIOD", 120, 400, 46, 26, WHITE, ".", 1, 0, 0, 0, 0, "\002 ", 0, "\001", 0, 0, 0, 0},
{"SPC", 180, 400, 46, 26, WHITE, "SPC", 0, 0, 0, 0, 0, "\005 ", 0, "z", 0, 0, 0, 0},
{"PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "x ", 0, "y", 0, 0, 0, 0},
};
#define MAX_PASTE 128
@ -481,60 +481,60 @@ static icon_map_t* icon_maps;
static Pixmap nibble_maps[ 16 ];
static unsigned char nibbles[ 16 ][ 2 ] = {
{0x00, 0x00}, /* ---- */
{ 0x03, 0x03}, /* *--- */
{ 0x0c, 0x0c}, /* -*-- */
{ 0x0f, 0x0f}, /* **-- */
{ 0x30, 0x30}, /* --*- */
{ 0x33, 0x33}, /* *-*- */
{ 0x3c, 0x3c}, /* -**- */
{ 0x3f, 0x3f}, /* ***- */
{ 0xc0, 0xc0}, /* ---* */
{ 0xc3, 0xc3}, /* *--* */
{ 0xcc, 0xcc}, /* -*-* */
{ 0xcf, 0xcf}, /* **-* */
{ 0xf0, 0xf0}, /* --** */
{ 0xf3, 0xf3}, /* *-** */
{ 0xfc, 0xfc}, /* -*** */
{ 0xff, 0xff} /* **** */
{0x00, 0x00}, /* ---- */
{0x03, 0x03}, /* *--- */
{0x0c, 0x0c}, /* -*-- */
{0x0f, 0x0f}, /* **-- */
{0x30, 0x30}, /* --*- */
{0x33, 0x33}, /* *-*- */
{0x3c, 0x3c}, /* -**- */
{0x3f, 0x3f}, /* ***- */
{0xc0, 0xc0}, /* ---* */
{0xc3, 0xc3}, /* *--* */
{0xcc, 0xcc}, /* -*-* */
{0xcf, 0xcf}, /* **-* */
{0xf0, 0xf0}, /* --** */
{0xf3, 0xf3}, /* *-** */
{0xfc, 0xfc}, /* -*** */
{0xff, 0xff} /* **** */
};
static unsigned char nibble_bitmap[ 16 ];
static x11_ann_struct_t ann_tbl[] = {
{16, 4, ann_left_width, ann_left_height, ann_left_bitmap, 0},
{ 61, 4, ann_right_width, ann_right_height, ann_right_bitmap, 0},
{ 106, 4, ann_alpha_width, ann_alpha_height, ann_alpha_bitmap, 0},
{ 151, 4, ann_battery_width, ann_battery_height, ann_battery_bitmap, 0},
{ 196, 4, ann_busy_width, ann_busy_height, ann_busy_bitmap, 0},
{ 241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0},
/* { 0 } */
{16, 4, ann_left_width, ann_left_height, ann_left_bitmap, 0},
{61, 4, ann_right_width, ann_right_height, ann_right_bitmap, 0},
{106, 4, ann_alpha_width, ann_alpha_height, ann_alpha_bitmap, 0},
{151, 4, ann_battery_width, ann_battery_height, ann_battery_bitmap, 0},
{196, 4, ann_busy_width, ann_busy_height, ann_busy_bitmap, 0},
{241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0},
/* { 0 } */
};
static icon_map_t icon_maps_sx[] = {
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{ hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{ hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap },
{ hp48_top_width, hp48_top_height, DISP_PAD, hp48_top_bitmap },
{ hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap},
{ hp48_logo_width, hp48_logo_height, LOGO, hp48_logo_bitmap },
{ hp48_text_width, hp48_text_height, LABEL, hp48_text_bitmap },
{ hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{ hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap},
{ hp48_blue_width, hp48_blue_height, RIGHT, hp48_blue_bitmap }
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap },
{hp48_top_width, hp48_top_height, DISP_PAD, hp48_top_bitmap },
{hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap},
{hp48_logo_width, hp48_logo_height, LOGO, hp48_logo_bitmap },
{hp48_text_width, hp48_text_height, LABEL, hp48_text_bitmap },
{hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap},
{hp48_blue_width, hp48_blue_height, RIGHT, hp48_blue_bitmap }
};
static icon_map_t icon_maps_gx[] = {
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{ hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{ hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap },
{ hp48_top_gx_width, hp48_top_gx_height, DISP_PAD, hp48_top_gx_bitmap },
{ hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap },
{ hp48_logo_gx_width, hp48_logo_gx_height, LOGO, hp48_logo_gx_bitmap },
{ hp48_text_gx_width, hp48_text_gx_height, LABEL, hp48_text_gx_bitmap },
{ hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{ hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap },
{ hp48_green_gx_width, hp48_green_gx_height, RIGHT, hp48_green_gx_bitmap}
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap },
{hp48_top_gx_width, hp48_top_gx_height, DISP_PAD, hp48_top_gx_bitmap },
{hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap },
{hp48_logo_gx_width, hp48_logo_gx_height, LOGO, hp48_logo_gx_bitmap },
{hp48_text_gx_width, hp48_text_gx_height, LABEL, hp48_text_gx_bitmap },
{hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap },
{hp48_green_gx_width, hp48_green_gx_height, RIGHT, hp48_green_gx_bitmap}
};
static int saved_argc;