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

View file

@ -28,64 +28,64 @@ long port2_mask;
short port2_is_ram; short port2_is_ram;
hpkey_t keyboard[ 49 ] = { hpkey_t keyboard[ 49 ] = {
/* From top left to bottom right */ /* From top left to bottom right */
{0x14, 0}, {0x14, 0},
{ 0x84, 0}, {0x84, 0},
{ 0x83, 0}, {0x83, 0},
{ 0x82, 0}, {0x82, 0},
{ 0x81, 0}, {0x81, 0},
{ 0x80, 0}, {0x80, 0},
{ 0x24, 0}, {0x24, 0},
{ 0x74, 0}, {0x74, 0},
{ 0x73, 0}, {0x73, 0},
{ 0x72, 0}, {0x72, 0},
{ 0x71, 0}, {0x71, 0},
{ 0x70, 0}, {0x70, 0},
{ 0x04, 0}, {0x04, 0},
{ 0x64, 0}, {0x64, 0},
{ 0x63, 0}, {0x63, 0},
{ 0x62, 0}, {0x62, 0},
{ 0x61, 0}, {0x61, 0},
{ 0x60, 0}, {0x60, 0},
{ 0x34, 0}, {0x34, 0},
{ 0x54, 0}, {0x54, 0},
{ 0x53, 0}, {0x53, 0},
{ 0x52, 0}, {0x52, 0},
{ 0x51, 0}, {0x51, 0},
{ 0x50, 0}, {0x50, 0},
{ 0x44, 0}, {0x44, 0},
{ 0x43, 0}, {0x43, 0},
{ 0x42, 0}, {0x42, 0},
{ 0x41, 0}, {0x41, 0},
{ 0x40, 0}, {0x40, 0},
{ 0x35, 0}, {0x35, 0},
{ 0x33, 0}, {0x33, 0},
{ 0x32, 0}, {0x32, 0},
{ 0x31, 0}, {0x31, 0},
{ 0x30, 0}, {0x30, 0},
{ 0x25, 0}, {0x25, 0},
{ 0x23, 0}, {0x23, 0},
{ 0x22, 0}, {0x22, 0},
{ 0x21, 0}, {0x21, 0},
{ 0x20, 0}, {0x20, 0},
{ 0x15, 0}, {0x15, 0},
{ 0x13, 0}, {0x13, 0},
{ 0x12, 0}, {0x12, 0},
{ 0x11, 0}, {0x11, 0},
{ 0x10, 0}, {0x10, 0},
{ 0x8000, 0}, {0x8000, 0},
{ 0x03, 0}, {0x03, 0},
{ 0x02, 0}, {0x02, 0},
{ 0x01, 0}, {0x01, 0},
{ 0x00, 0}, {0x00, 0},
}; };
int annunciators_bits[ NB_ANNUNCIATORS ] = { ANN_LEFT, ANN_RIGHT, ANN_ALPHA, ANN_BATTERY, ANN_BUSY, ANN_IO }; 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 ]; unsigned char lcd_nibbles_buffer[ DISP_ROWS ][ NIBS_PER_BUFFER_ROW ];
letter_t small_font[ 128 ] = { letter_t small_font[ 128 ] = {
{0, 0, 0 }, {0, 0, 0 },
{ nl_gx_width, nl_gx_height, nl_gx_bitmap }, /* \001 == \n gx */ {nl_gx_width, nl_gx_height, nl_gx_bitmap }, /* \001 == \n gx */
{ comma_gx_width, comma_gx_height, comma_gx_bitmap }, /* \002 == comma gx */ {comma_gx_width, comma_gx_height, comma_gx_bitmap }, /* \002 == comma gx */
{ arrow_gx_width, arrow_gx_height, arrow_gx_bitmap }, /* \003 == \-> gx */ {arrow_gx_width, arrow_gx_height, arrow_gx_bitmap }, /* \003 == \-> gx */
{ equal_gx_width, equal_gx_height, equal_gx_bitmap }, /* \004 == equal 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 */ {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 }, {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 }, /* # 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 }, {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 */ {blank_width, blank_height, blank_bitmap }, /* # 32 */
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ hash_width, hash_height, hash_bitmap }, {hash_width, hash_height, hash_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ lbrace_width, lbrace_height, lbrace_bitmap }, {lbrace_width, lbrace_height, lbrace_bitmap },
{ rbrace_width, rbrace_height, rbrace_bitmap }, {rbrace_width, rbrace_height, rbrace_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ comma_width, comma_height, comma_bitmap }, {comma_width, comma_height, comma_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ slash_width, slash_height, slash_bitmap }, {slash_width, slash_height, slash_bitmap },
{ 0, 0, 0 }, /* # 48 */ {0, 0, 0 }, /* # 48 */
{ 0, 0, 0 }, {0, 0, 0 },
{ two_width, two_height, two_bitmap }, {two_width, two_height, two_bitmap },
{ three_width, three_height, three_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 },
{ 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}, {small_colon_width, small_colon_height, small_colon_bitmap},
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ equal_width, equal_height, equal_bitmap }, {equal_width, equal_height, equal_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 }, /* # 64 */ {0, 0, 0 }, /* # 64 */
{ A_width, A_height, A_bitmap }, {A_width, A_height, A_bitmap },
{ B_width, B_height, B_bitmap }, {B_width, B_height, B_bitmap },
{ C_width, C_height, C_bitmap }, {C_width, C_height, C_bitmap },
{ D_width, D_height, D_bitmap }, {D_width, D_height, D_bitmap },
{ E_width, E_height, E_bitmap }, {E_width, E_height, E_bitmap },
{ F_width, F_height, F_bitmap }, {F_width, F_height, F_bitmap },
{ G_width, G_height, G_bitmap }, {G_width, G_height, G_bitmap },
{ H_width, H_height, H_bitmap }, {H_width, H_height, H_bitmap },
{ I_width, I_height, I_bitmap }, {I_width, I_height, I_bitmap },
{ J_width, J_height, J_bitmap }, {J_width, J_height, J_bitmap },
{ K_width, K_height, K_bitmap }, {K_width, K_height, K_bitmap },
{ L_width, L_height, L_bitmap }, {L_width, L_height, L_bitmap },
{ M_width, M_height, M_bitmap }, {M_width, M_height, M_bitmap },
{ N_width, N_height, N_bitmap }, {N_width, N_height, N_bitmap },
{ O_width, O_height, O_bitmap }, {O_width, O_height, O_bitmap },
{ P_width, P_height, P_bitmap }, /* # 80 */ {P_width, P_height, P_bitmap }, /* # 80 */
{ Q_width, Q_height, Q_bitmap }, {Q_width, Q_height, Q_bitmap },
{ R_width, R_height, R_bitmap }, {R_width, R_height, R_bitmap },
{ S_width, S_height, S_bitmap }, {S_width, S_height, S_bitmap },
{ T_width, T_height, T_bitmap }, {T_width, T_height, T_bitmap },
{ U_width, U_height, U_bitmap }, {U_width, U_height, U_bitmap },
{ V_width, V_height, V_bitmap }, {V_width, V_height, V_bitmap },
{ W_width, W_height, W_bitmap }, {W_width, W_height, W_bitmap },
{ X_width, X_height, X_bitmap }, {X_width, X_height, X_bitmap },
{ Y_width, Y_height, Y_bitmap }, {Y_width, Y_height, Y_bitmap },
{ Z_width, Z_height, Z_bitmap }, {Z_width, Z_height, Z_bitmap },
{ lbracket_width, lbracket_height, lbracket_bitmap }, {lbracket_width, lbracket_height, lbracket_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ rbracket_width, rbracket_height, rbracket_bitmap }, {rbracket_width, rbracket_height, rbracket_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ under_width, under_height, under_bitmap }, {under_width, under_height, under_bitmap },
{ 0, 0, 0 }, /* # 96 */ {0, 0, 0 }, /* # 96 */
{ arrow_width, arrow_height, arrow_bitmap }, /* a == left arrow */ {arrow_width, arrow_height, arrow_bitmap }, /* a == left arrow */
{ diff_width, diff_height, diff_bitmap }, /* b == differential */ {diff_width, diff_height, diff_bitmap }, /* b == differential */
{ integral_width, integral_height, integral_bitmap }, /* c == integral */ {integral_width, integral_height, integral_bitmap }, /* c == integral */
{ sigma_width, sigma_height, sigma_bitmap }, /* d == sigma */ {sigma_width, sigma_height, sigma_bitmap }, /* d == sigma */
{ sqr_width, sqr_height, sqr_bitmap }, /* e == sqr */ {sqr_width, sqr_height, sqr_bitmap }, /* e == sqr */
{ root_width, root_height, root_bitmap }, /* f == root */ {root_width, root_height, root_bitmap }, /* f == root */
{ pow10_width, pow10_height, pow10_bitmap }, /* g == pow10 */ {pow10_width, pow10_height, pow10_bitmap }, /* g == pow10 */
{ exp_width, exp_height, exp_bitmap }, /* h == exp */ {exp_width, exp_height, exp_bitmap }, /* h == exp */
{ prog_width, prog_height, prog_bitmap }, /* i == << >> */ {prog_width, prog_height, prog_bitmap }, /* i == << >> */
{ string_width, string_height, string_bitmap }, /* j == " " */ {string_width, string_height, string_bitmap }, /* j == " " */
{ nl_width, nl_height, nl_bitmap }, /* k == New Line */ {nl_width, nl_height, nl_bitmap }, /* k == New Line */
{ pi_width, pi_height, pi_bitmap }, /* l == pi */ {pi_width, pi_height, pi_bitmap }, /* l == pi */
{ angle_width, angle_height, angle_bitmap }, /* m == angle */ {angle_width, angle_height, angle_bitmap }, /* m == angle */
{ sqr_gx_width, sqr_gx_height, sqr_gx_bitmap }, /* n == sqr gx */ {sqr_gx_width, sqr_gx_height, sqr_gx_bitmap }, /* n == sqr gx */
{ root_gx_width, root_gx_height, root_gx_bitmap }, /* o == root 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 */ {pow10_gx_width, pow10_gx_height, pow10_gx_bitmap }, /* p == pow10 gx */
{ exp_gx_width, exp_gx_height, exp_gx_bitmap }, /* q == exp gx */ {exp_gx_width, exp_gx_height, exp_gx_bitmap }, /* q == exp gx */
{ parens_gx_width, parens_gx_height, parens_gx_bitmap }, /* r == ( ) gx */ {parens_gx_width, parens_gx_height, parens_gx_bitmap }, /* r == ( ) gx */
{ hash_gx_width, hash_gx_height, hash_gx_bitmap }, /* s == # gx */ {hash_gx_width, hash_gx_height, hash_gx_bitmap }, /* s == # gx */
{ bracket_gx_width, bracket_gx_height, bracket_gx_bitmap }, /* t == [] gx */ {bracket_gx_width, bracket_gx_height, bracket_gx_bitmap }, /* t == [] gx */
{ under_gx_width, under_gx_height, under_gx_bitmap }, /* u == _ gx */ {under_gx_width, under_gx_height, under_gx_bitmap }, /* u == _ gx */
{ prog_gx_width, prog_gx_height, prog_gx_bitmap }, /* v == << >> gx */ {prog_gx_width, prog_gx_height, prog_gx_bitmap }, /* v == << >> gx */
{ quote_gx_width, quote_gx_height, quote_gx_bitmap }, /* w == " " gx */ {quote_gx_width, quote_gx_height, quote_gx_bitmap }, /* w == " " gx */
{ curly_gx_width, curly_gx_height, curly_gx_bitmap }, /* x == {} gx */ {curly_gx_width, curly_gx_height, curly_gx_bitmap }, /* x == {} gx */
{ colon_gx_width, colon_gx_height, colon_gx_bitmap }, /* y == :: gx */ {colon_gx_width, colon_gx_height, colon_gx_bitmap }, /* y == :: gx */
{ angle_gx_width, angle_gx_height, angle_gx_bitmap }, /* z == angle gx */ {angle_gx_width, angle_gx_height, angle_gx_bitmap }, /* z == angle gx */
{ lcurly_width, lcurly_height, lcurly_bitmap }, {lcurly_width, lcurly_height, lcurly_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ rcurly_width, rcurly_height, rcurly_bitmap }, {rcurly_width, rcurly_height, rcurly_bitmap },
{ 0, 0, 0 }, {0, 0, 0 },
{ 0, 0, 0 } {0, 0, 0 }
}; };
void ( *ui_disp_draw_nibble )( word_20 addr, word_4 val ); 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;
static sdl_color_t sdl_colors_sx[] = { static sdl_color_t sdl_colors_sx[] = {
{"white", 255, 255, 255}, {"white", 255, 255, 255},
{ "left", 255, 166, 0 }, {"left", 255, 166, 0 },
{ "right", 0, 210, 255}, {"right", 0, 210, 255},
{ "but_top", 109, 93, 93 }, {"but_top", 109, 93, 93 },
{ "button", 90, 77, 77 }, {"button", 90, 77, 77 },
{ "but_bot", 76, 65, 65 }, {"but_bot", 76, 65, 65 },
{ "lcd_col", 202, 221, 92 }, {"lcd_col", 202, 221, 92 },
{ "pix_col", 0, 0, 128}, {"pix_col", 0, 0, 128},
{ "pad_top", 109, 78, 78 }, {"pad_top", 109, 78, 78 },
{ "pad", 90, 64, 64 }, {"pad", 90, 64, 64 },
{ "pad_bot", 76, 54, 54 }, {"pad_bot", 76, 54, 54 },
{ "disp_pad_top", 155, 118, 84 }, {"disp_pad_top", 155, 118, 84 },
{ "disp_pad", 124, 94, 67 }, {"disp_pad", 124, 94, 67 },
{ "disp_pad_bot", 100, 75, 53 }, {"disp_pad_bot", 100, 75, 53 },
{ "logo", 204, 169, 107}, {"logo", 204, 169, 107},
{ "logo_back", 64, 64, 64 }, {"logo_back", 64, 64, 64 },
{ "label", 202, 184, 144}, {"label", 202, 184, 144},
{ "frame", 0, 0, 0 }, {"frame", 0, 0, 0 },
{ "underlay", 60, 42, 42 }, {"underlay", 60, 42, 42 },
{ "black", 0, 0, 0 }, {"black", 0, 0, 0 },
/* { 0 } */ /* { 0 } */
}; };
static sdl_color_t sdl_colors_gx[] = { static sdl_color_t sdl_colors_gx[] = {
{"white", 255, 255, 255}, {"white", 255, 255, 255},
{ "left", 255, 186, 255}, {"left", 255, 186, 255},
{ "right", 0, 255, 204}, {"right", 0, 255, 204},
{ "but_top", 104, 104, 104}, {"but_top", 104, 104, 104},
{ "button", 88, 88, 88 }, {"button", 88, 88, 88 },
{ "but_bot", 74, 74, 74 }, {"but_bot", 74, 74, 74 },
{ "lcd_col", 202, 221, 92 }, {"lcd_col", 202, 221, 92 },
{ "pix_col", 0, 0, 128}, {"pix_col", 0, 0, 128},
{ "pad_top", 88, 88, 88 }, {"pad_top", 88, 88, 88 },
{ "pad", 74, 74, 74 }, {"pad", 74, 74, 74 },
{ "pad_bot", 64, 64, 64 }, {"pad_bot", 64, 64, 64 },
{ "disp_pad_top", 128, 128, 138}, {"disp_pad_top", 128, 128, 138},
{ "disp_pad", 104, 104, 110}, {"disp_pad", 104, 104, 110},
{ "disp_pad_bot", 84, 84, 90 }, {"disp_pad_bot", 84, 84, 90 },
{ "logo", 176, 176, 184}, {"logo", 176, 176, 184},
{ "logo_back", 104, 104, 110}, {"logo_back", 104, 104, 110},
{ "label", 240, 240, 240}, {"label", 240, 240, 240},
{ "frame", 0, 0, 0 }, {"frame", 0, 0, 0 },
{ "underlay", 104, 104, 110}, {"underlay", 104, 104, 110},
{ "black", 0, 0, 0 }, {"black", 0, 0, 0 },
/* { 0 } */ /* { 0 } */
}; };
// This will take the value of the defines, but can be run-time modified // 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 = 0;
static sdl_button_t buttons_sx[] = { 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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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[] = { 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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"PLUS", 240, 400, 46, 26, WHITE, 0, 0, plus_width, plus_height, plus_bitmap, 0, "x ", 0, "y", 0, 0, 0},
/* { 0 } */ /* { 0 } */
}; };
static sdl_ann_struct_t ann_tbl[] = { static sdl_ann_struct_t ann_tbl[] = {
{16, 4, ann_left_width, ann_left_height, ann_left_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}, {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}, {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}, {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}, {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}, {241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0, 0},
}; };
// State to displayed zoomed last pressed key // 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" " ); mvaddwstr( 0, 4 + ( i * 4 ), ( ( annunciators_bits[ i ] & val ) == annunciators_bits[ i ] ) ? annunciators_icons[ i ] : L" " );
} }
void text_adjust_contrast( void ) void text_adjust_contrast( void ) { /* Dummy, NCurses version doesn't hand contrast (yet?) */ }
{ /* Dummy, NCurses version doesn't hand contrast (yet?) */
}
int text_get_event( void ) int text_get_event( void )
{ {

View file

@ -291,173 +291,173 @@ static char* res_name;
static char* res_class; static char* res_class;
static x11_color_t colors_sx[] = { static x11_color_t colors_sx[] = {
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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_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", 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 }}, {"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_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", 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 }}, {"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", 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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */ /* { 0 } */
}; };
static x11_color_t colors_gx[] = { static x11_color_t colors_gx[] = {
{"white", 255, 255, 255, 255, 255, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"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_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", 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 }}, {"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_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", 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 }}, {"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", 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 }}, {"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 }}, {"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 }}, {"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 }}, {"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 }}, {"black", 0, 0, 0, 0, 0, { 0, 0, 0, 0, DoRed | DoGreen | DoBlue, 0 }},
/* { 0 } */ /* { 0 } */
}; };
static x11_button_t* buttons = 0; static x11_button_t* buttons = 0;
static x11_button_t buttons_sx[] = { 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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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[] = { 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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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}, {"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 #define MAX_PASTE 128
@ -481,60 +481,60 @@ static icon_map_t* icon_maps;
static Pixmap nibble_maps[ 16 ]; static Pixmap nibble_maps[ 16 ];
static unsigned char nibbles[ 16 ][ 2 ] = { static unsigned char nibbles[ 16 ][ 2 ] = {
{0x00, 0x00}, /* ---- */ {0x00, 0x00}, /* ---- */
{ 0x03, 0x03}, /* *--- */ {0x03, 0x03}, /* *--- */
{ 0x0c, 0x0c}, /* -*-- */ {0x0c, 0x0c}, /* -*-- */
{ 0x0f, 0x0f}, /* **-- */ {0x0f, 0x0f}, /* **-- */
{ 0x30, 0x30}, /* --*- */ {0x30, 0x30}, /* --*- */
{ 0x33, 0x33}, /* *-*- */ {0x33, 0x33}, /* *-*- */
{ 0x3c, 0x3c}, /* -**- */ {0x3c, 0x3c}, /* -**- */
{ 0x3f, 0x3f}, /* ***- */ {0x3f, 0x3f}, /* ***- */
{ 0xc0, 0xc0}, /* ---* */ {0xc0, 0xc0}, /* ---* */
{ 0xc3, 0xc3}, /* *--* */ {0xc3, 0xc3}, /* *--* */
{ 0xcc, 0xcc}, /* -*-* */ {0xcc, 0xcc}, /* -*-* */
{ 0xcf, 0xcf}, /* **-* */ {0xcf, 0xcf}, /* **-* */
{ 0xf0, 0xf0}, /* --** */ {0xf0, 0xf0}, /* --** */
{ 0xf3, 0xf3}, /* *-** */ {0xf3, 0xf3}, /* *-** */
{ 0xfc, 0xfc}, /* -*** */ {0xfc, 0xfc}, /* -*** */
{ 0xff, 0xff} /* **** */ {0xff, 0xff} /* **** */
}; };
static unsigned char nibble_bitmap[ 16 ]; static unsigned char nibble_bitmap[ 16 ];
static x11_ann_struct_t ann_tbl[] = { static x11_ann_struct_t ann_tbl[] = {
{16, 4, ann_left_width, ann_left_height, ann_left_bitmap, 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}, {61, 4, ann_right_width, ann_right_height, ann_right_bitmap, 0},
{ 106, 4, ann_alpha_width, ann_alpha_height, ann_alpha_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}, {151, 4, ann_battery_width, ann_battery_height, ann_battery_bitmap, 0},
{ 196, 4, ann_busy_width, ann_busy_height, ann_busy_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}, {241, 4, ann_io_width, ann_io_height, ann_io_bitmap, 0},
/* { 0 } */ /* { 0 } */
}; };
static icon_map_t icon_maps_sx[] = { static icon_map_t icon_maps_sx[] = {
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap }, {hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{ hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap }, {hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{ hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap }, {hp48_disp_width, hp48_disp_height, LCD, hp48_disp_bitmap },
{ hp48_top_width, hp48_top_height, DISP_PAD, hp48_top_bitmap }, {hp48_top_width, hp48_top_height, DISP_PAD, hp48_top_bitmap },
{ hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap}, {hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_bitmap},
{ hp48_logo_width, hp48_logo_height, LOGO, hp48_logo_bitmap }, {hp48_logo_width, hp48_logo_height, LOGO, hp48_logo_bitmap },
{ hp48_text_width, hp48_text_height, LABEL, hp48_text_bitmap }, {hp48_text_width, hp48_text_height, LABEL, hp48_text_bitmap },
{ hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap }, {hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{ hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap}, {hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_bitmap},
{ hp48_blue_width, hp48_blue_height, RIGHT, hp48_blue_bitmap } {hp48_blue_width, hp48_blue_height, RIGHT, hp48_blue_bitmap }
}; };
static icon_map_t icon_maps_gx[] = { static icon_map_t icon_maps_gx[] = {
{hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap }, {hp48_icon_width, hp48_icon_height, BLACK, hp48_icon_bitmap },
{ hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap }, {hp48_on_width, hp48_on_height, PIXEL, hp48_on_bitmap },
{ hp48_disp_width, hp48_disp_height, LCD, hp48_disp_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_top_gx_width, hp48_top_gx_height, DISP_PAD, hp48_top_gx_bitmap },
{ hp48_bottom_width, hp48_bottom_height, PAD, hp48_bottom_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_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_text_gx_width, hp48_text_gx_height, LABEL, hp48_text_gx_bitmap },
{ hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap }, {hp48_keys_width, hp48_keys_height, BLACK, hp48_keys_bitmap },
{ hp48_orange_width, hp48_orange_height, LEFT, hp48_orange_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_green_gx_width, hp48_green_gx_height, RIGHT, hp48_green_gx_bitmap}
}; };
static int saved_argc; static int saved_argc;