From af163b603eb87125ea37fc83d91b9f1968254cea Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Wed, 20 Nov 2024 15:22:37 +0100 Subject: [PATCH 1/6] add screenshot --- README.md | 7 ++++++- screenshot.png | Bin 0 -> 65717 bytes 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 screenshot.png diff --git a/README.md b/README.md index 29dc705..c2050c4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ Quick Start Guide (2024-10-24) -Taken over by gwh, originally by Egan Ford +Taken over by gwh + +![screenshot of x50ng](./screenshot.png?raw=true "screenshot of x50ng") + + +== originally by Egan Ford ==================================== NOTE: READ ALL INSTRUCTIONS diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..009595b913311a3d952ad60be1edbe6f18e13c58 GIT binary patch literal 65717 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 literal 0 HcmV?d00001 From 5a77083146c9f45d3c3df9adaf0801a6fe139c92 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 21 Nov 2024 09:44:11 +0100 Subject: [PATCH 2/6] update name in man page too --- dist/x50ng.scd | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dist/x50ng.scd b/dist/x50ng.scd index b42d24e..ba60309 100644 --- a/dist/x50ng.scd +++ b/dist/x50ng.scd @@ -1,22 +1,22 @@ -X49GPNG(1) +X50NG(1) # NAME -x49gpng — Emulator for HP 49g+ / 50g calculators +x50ng — Emulator for HP 49g+ / 50g calculators # SYNOPSIS -*x49gpng* +*x50ng* # DESCRIPTION -*x49gpng* is an emulator capable of running any software written for the HP 49g+ and HP 50g calculators, including ARM programs or even custom firmware. It achieves this by using a modified version of QEMU to emulate the ARM hardware based around the Samsung S3C2410 chip. +*x50ng* is an emulator capable of running any software written for the HP 49g+ and HP 50g calculators, including ARM programs or even custom firmware. It achieves this by using a modified version of QEMU to emulate the ARM hardware based around the Samsung S3C2410 chip. ## Input For mouse input, the keys shown in the window can be interacted with; left-clicking on one holds it down for as long as the mouse button is down, right-clicking on one holds it down until any key is left-clicked. -Another method of interacting with the calculator is through a physical keyboard. _A-Z_, _0-9_, _F1-F6_, _cursor keys_, _'_, _Backspace_, _^_, _+_, _-_, _\*_, _/_, _._, _Space_, _Enter_ correspond to their sensible calculator counterparts. In addition, _Delete_ acts as extra Backspace key, _,_ acts as extra decimal separator key, _Shift_ presses the Leftshift key (green on the 49g+, white on the 50g), _Control_ presses the Rightshift key (red on the 49g+, orange on the 50g), _Tab+ presses the Alpha key (yellow on the 49g+ and 50g), and _Escape_ presses the On key. Note that in order to allow multiple-key combinations involving e.g. _Shift+ without surprises, such as pressing _Shift-8_ on a US QWERTY keyboard producing the key sequence “Leftshift-hold multiply”, *x49gpng* ignores all keyboard modifier states except NumLock. Because that may make certain virtual keys inaccessible to a laptop keyboard without a numpad, there are certain additional key definitions to support at least some common keyboard layouts: +Another method of interacting with the calculator is through a physical keyboard. _A-Z_, _0-9_, _F1-F6_, _cursor keys_, _'_, _Backspace_, _^_, _+_, _-_, _\*_, _/_, _._, _Space_, _Enter_ correspond to their sensible calculator counterparts. In addition, _Delete_ acts as extra Backspace key, _,_ acts as extra decimal separator key, _Shift_ presses the Leftshift key (green on the 49g+, white on the 50g), _Control_ presses the Rightshift key (red on the 49g+, orange on the 50g), _Tab+ presses the Alpha key (yellow on the 49g+ and 50g), and _Escape_ presses the On key. Note that in order to allow multiple-key combinations involving e.g. _Shift+ without surprises, such as pressing _Shift-8_ on a US QWERTY keyboard producing the key sequence “Leftshift-hold multiply”, *x50ng* ignores all keyboard modifier states except NumLock. Because that may make certain virtual keys inaccessible to a laptop keyboard without a numpad, there are certain additional key definitions to support at least some common keyboard layouts: US, UK, International QWERTY: _\\_ acts as \* key, _=_ acts as + key. @@ -24,26 +24,26 @@ German QWERTZ: _#_ acts as \* key, _ß_ acts as / key. (Further suggestions are welcome.) These additional key definitions do not need their respective layouts to work, so e.g. _\\_ will act as \* on any keyboard that has it as an unshifted key. -Pressing physical keys and clicking on virtual ones can be freely combined. Right-clicked keys are released when no keys are held down by the left mouse button or physical keys anymore. To avoid stuck keys, *x49gpng* forcibly releases all keys when losing focus. +Pressing physical keys and clicking on virtual ones can be freely combined. Right-clicked keys are released when no keys are held down by the left mouse button or physical keys anymore. To avoid stuck keys, *x50ng* forcibly releases all keys when losing focus. There are more remaining miscellaneous key definitions: -- _F7_ or _F10_ closes *x49gpng* and saves the configuration, CPU registers, hardware registers, and memory contents to their respective files; +- _F7_ or _F10_ closes *x50ng* and saves the configuration, CPU registers, hardware registers, and memory contents to their respective files; - _F12_ resets the calculator, like inserting a paperclip into the tiny hole at the back of the real device or removing all of its power sources (batteries, USB) would; - _Menu_ opens a popup menu granting access to several emulator control items. This popup menu can also be opened by right-clicking on the screen area. ## The popup menu -The first group of items in the popup menu deals with the calculator's SD card. The SD card can either be backed by a directory on the host system (item *Mount SD folder...*; *x49gpng* will simulate a FAT-formatted file system on the fly), or by an image file (item *Mount SD image...*). The former is more convenient for general use, but when debugging a hypothetical replacement firmware's SD driver, the latter variant's accuracy (it allows corrupting the filesystem, for instance) might be more desirable. The virtual SD card can be absent entirely, too (item *Unmount SD*). +The first group of items in the popup menu deals with the calculator's SD card. The SD card can either be backed by a directory on the host system (item *Mount SD folder...*; *x50ng* will simulate a FAT-formatted file system on the fly), or by an image file (item *Mount SD image...*). The former is more convenient for general use, but when debugging a hypothetical replacement firmware's SD driver, the latter variant's accuracy (it allows corrupting the filesystem, for instance) might be more desirable. The virtual SD card can be absent entirely, too (item *Unmount SD*). -The second group consists of only one item, and it is only visible when one of the debug options has been used while starting *x49gpng*. Named *Start debugger*, it (re-)starts the GDB remote debugging interface. This is hidden by default because accidental clicks will seemingly freeze the emulator while it waits for an incoming connection. +The second group consists of only one item, and it is only visible when one of the debug options has been used while starting *x50ng*. Named *Start debugger*, it (re-)starts the GDB remote debugging interface. This is hidden by default because accidental clicks will seemingly freeze the emulator while it waits for an incoming connection. -The third and final group contains two items: *Reset*, which resets the calculator just like the _F12_ key, and *Quit*, which closes *x49gpng* and saves the configuration, CPU registers, hardware registers, and memory contents to their respective files. This saving step is also performed when *x49gpng* is closed in another way, e.g. pressing _Control-C_ in the controlling terminal. +The third and final group contains two items: *Reset*, which resets the calculator just like the _F12_ key, and *Quit*, which closes *x50ng* and saves the configuration, CPU registers, hardware registers, and memory contents to their respective files. This saving step is also performed when *x50ng* is closed in another way, e.g. pressing _Control-C_ in the controlling terminal. ## First launch -During the first launch, *x49gpng* generates a new configuration with default values and empty memory. *x49gpng* does not ship with a default firmware, only with the bootloaders for the supported calculators. Hence, the user is required to select a firmware to load into the flash. *x49gpng* will show a file selection window for that task. For the stock firmware HP has always used the file extension “.bin”, any other files (including the update.scp files that typically come with them!) are generally not actual firmware files. +During the first launch, *x50ng* generates a new configuration with default values and empty memory. *x50ng* does not ship with a default firmware, only with the bootloaders for the supported calculators. Hence, the user is required to select a firmware to load into the flash. *x50ng* will show a file selection window for that task. For the stock firmware HP has always used the file extension “.bin”, any other files (including the update.scp files that typically come with them!) are generally not actual firmware files. -When the file selection dialog is cancelled or the file could not be read, *x49gpng* creates a flash without firmware; the bootloader will complain and offer ways to correct the situation just like it would on a real device, which include receiving a firmware via USB (currently not available in *x49gpng*, see _Caveats_ below) or loading one from the SD card. Apart from these options, it's also possible to recover from this by exiting *x49gpng* and either delet‐ ing the flash file or using one of the options *-f* and *-F*, causing *x49gpng* to rebuild the flash and ask for a firmware again. +When the file selection dialog is cancelled or the file could not be read, *x50ng* creates a flash without firmware; the bootloader will complain and offer ways to correct the situation just like it would on a real device, which include receiving a firmware via USB (currently not available in *x50ng*, see _Caveats_ below) or loading one from the SD card. Apart from these options, it's also possible to recover from this by exiting *x50ng* and either delet‐ ing the flash file or using one of the options *-f* and *-F*, causing *x50ng* to rebuild the flash and ask for a firmware again. Please consult HP's manual (for their official firmware) or the documentation of the custom firmware (if using one) for an explanation of using the calculator. @@ -51,7 +51,7 @@ Please consult HP's manual (for their official firmware) or the documentation of - *-h* *--help* print this message and exit - *--verbose* print out more information -- *--datadir*[=_absolute path_] alternate datadir (default: $XDG_CONFIG_HOME/x49gpng/) +- *--datadir*[=_absolute path_] alternate datadir (default: $XDG_CONFIG_HOME/x50ng/) - *--overwrite-config* force writing /config.lua even if it exists - *--50g* emulate an HP 50g (default) - *--49gp* emulate an HP 49g+ @@ -68,15 +68,15 @@ Please consult HP's manual (for their official firmware) or the documentation of # FILES -All files are located under ~/.config/x49gpng/ +All files are located under ~/.config/x50ng/ - *config.lua* -The general configuration file of *x49gpng*. Content reflecting default values (as printed by running *x49gpng --print-config*): +The general configuration file of *x50ng*. Content reflecting default values (as printed by running *x50ng --print-config*): ``` -------------------------------------------------------------------------------- --- Configuration file for x49gpng +-- Configuration file for x50ng -- This is a comment name = "HP 50g" -- this customize the title of the window model = "50g" -- possible values: "49gp", "50g". Changes the colors and the bootloader looked for when (re-)flashing From f16495d8f2e938553463853434d150b4dfe30f95 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 21 Nov 2024 09:47:44 +0100 Subject: [PATCH 3/6] more renaming leftovers --- README.md | 24 ++++++++++++------------ src/x50ng/ui.c | 10 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c2050c4..fec4c0f 100644 --- a/README.md +++ b/README.md @@ -46,10 +46,10 @@ Start up X11 and use xterm ------------------------------------------------------------------------ -Download x49gpng source: +Download x50ng source: ``` -git clone https://github.com/gwenhael-le-moine/x49gpng.git +git clone https://github.com/gwenhael-le-moine/x50ng.git ``` ------------------------------------------------------------------------ @@ -57,7 +57,7 @@ git clone https://github.com/gwenhael-le-moine/x49gpng.git Build: ``` -cd x49gpng +cd x50ng make ``` @@ -74,14 +74,14 @@ make install Run: ``` -./dist/x49gpng +./dist/x50ng ``` -When installed, there should be an applications menu entry to run x49gpng. +When installed, there should be an applications menu entry to run x50ng. Installing also enables running it from the terminal in any directory: ``` -x49gpng +x50ng ``` ------------------------------------------------------------------------ @@ -92,7 +92,7 @@ On the first launch, the calculator will be missing a firmware, forcing the bootloader to complain and demand a fresh one. HP's official firmwares can be found at e.g.: https://www.hpcalc.org/hp49/pc/rom/ -Some of the most popular of these are also included in x49gpng's source +Some of the most popular of these are also included in x50ng's source directory. Alternatively, the most up-to-date version of NewRPL can be found at: https://hpgcc3.org/downloads/newrplfw.bin @@ -161,22 +161,22 @@ Start Over: * clean slate? ``` -rm -r ~/.config/x49gpng/ +rm -r ~/.config/x50ng/ ``` * soft reset only? -With x49gpng running, press F12, or right click on the screen and select +With x50ng running, press F12, or right click on the screen and select "Reset" from the menu. ------------------------------------------------------------------------ -Debugging with x49gpng +Debugging with x50ng There is a GDB interface for debugging ARM programs, e.g. HPGCC2/3 -applications or replacement firmwares. To use it, start x49gpng from a +applications or replacement firmwares. To use it, start x50ng from a terminal with the -d option, and start arm-none-eabi-gdb with an -appropriate ELF file in another terminal. To connect to x49gpng, type in +appropriate ELF file in another terminal. To connect to x50ng, type in the GDB console: ``` diff --git a/src/x50ng/ui.c b/src/x50ng/ui.c index c2c3d07..b597ad4 100644 --- a/src/x50ng/ui.c +++ b/src/x50ng/ui.c @@ -700,8 +700,8 @@ static inline void x50ng_set_key_state( x49gp_t* x49gp, const x49gp_ui_key_t* ke else s3c2410_io_port_f_set_bit( x49gp, key->eint, state ); } -#define X49GPNG_PRESS_KEY( x49gp, key ) x50ng_set_key_state( x49gp, key, true ) -#define X49GPNG_RELEASE_KEY( x49gp, key ) x50ng_set_key_state( x49gp, key, false ) +#define X50NG_PRESS_KEY( x49gp, key ) x50ng_set_key_state( x49gp, key, true ) +#define X50NG_RELEASE_KEY( x49gp, key ) x50ng_set_key_state( x49gp, key, false ) static void ui_release_button( x49gp_ui_button_t* button ) { @@ -720,7 +720,7 @@ static void ui_release_button( x49gp_ui_button_t* button ) gtk_style_context_remove_class( gtk_widget_get_style_context( button->button ), "key-down" ); #endif - X49GPNG_RELEASE_KEY( x49gp, key ); + X50NG_RELEASE_KEY( x49gp, key ); } static bool ui_press_button( x49gp_ui_button_t* button, bool hold ) @@ -745,7 +745,7 @@ static bool ui_press_button( x49gp_ui_button_t* button, bool hold ) gtk_style_context_add_class( gtk_widget_get_style_context( button->button ), "key-down" ); #endif - X49GPNG_RELEASE_KEY( x49gp, key ); + X50NG_RELEASE_KEY( x49gp, key ); return GDK_EVENT_STOP; } @@ -762,7 +762,7 @@ static bool react_to_button_press( GtkWidget* widget, GdkEventButton* event, gpo if ( !ui_press_button( button, event->button == 3 ) ) return GDK_EVENT_PROPAGATE; - X49GPNG_PRESS_KEY( x49gp, key ); + X50NG_PRESS_KEY( x49gp, key ); return GDK_EVENT_STOP; } From 27414fa254bb328dec81cfd436e2dd477130cac1 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 21 Nov 2024 09:48:16 +0100 Subject: [PATCH 4/6] 1.5.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f565634..863aac3 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ TARGET_ALLCAPS = X50NG VERSION_MAJOR = 1 VERSION_MINOR = 5 -PATCHLEVEL = 0 +PATCHLEVEL = 1 INSTALL_PREFIX = /usr/local INSTALL_BINARY_DIR = "$(INSTALL_PREFIX)"/bin From 3c73decd2bbf2ea149275860f04fd214479e4eca Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 21 Nov 2024 13:58:18 +0100 Subject: [PATCH 5/6] add newRPL screenshot --- README.md | 2 +- screenshot-newRPL.png | Bin 0 -> 53324 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 screenshot-newRPL.png diff --git a/README.md b/README.md index fec4c0f..1c7808e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Quick Start Guide (2024-10-24) Taken over by gwh -![screenshot of x50ng](./screenshot.png?raw=true "screenshot of x50ng") +![screenshot of x50ng](./screenshot.png?raw=true "screenshot of x50ng") ![screenshot of x50ng running newRPL](./screenshot-newRPL.png?raw=true "screenshot of x50ng running newRPL") == originally by Egan Ford ==================================== diff --git a/screenshot-newRPL.png b/screenshot-newRPL.png new file mode 100644 index 0000000000000000000000000000000000000000..984474a87cbfc8d0241271c0006a346428a4d407 GIT binary patch literal 53324 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 O^pX^n6{!@`^ZOqI6!DJ$ literal 0 HcmV?d00001 From 59ed6d5cc3aff65da7ad828b8e2af2dc599bb371 Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Thu, 21 Nov 2024 14:48:44 +0100 Subject: [PATCH 6/6] test paste input --- src/x50ng/ui.c | 204 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) diff --git a/src/x50ng/ui.c b/src/x50ng/ui.c index b597ad4..af6cbba 100644 --- a/src/x50ng/ui.c +++ b/src/x50ng/ui.c @@ -1127,6 +1127,207 @@ static bool react_to_key_event( GtkWidget* widget, GdkEventKey* event, gpointer return GDK_EVENT_STOP; } +static void x50g_string_to_keys_sequence( const char* input ) +{ + for ( int i = 0; i < strlen( input ); i++ ) { + switch ( input[ i ] ) { + case '0': + fprintf( stderr, "%c", '0' ); + break; + case '1': + fprintf( stderr, "%c", '1' ); + break; + case '2': + fprintf( stderr, "%c", '2' ); + break; + case '3': + fprintf( stderr, "%c", '3' ); + break; + case '4': + fprintf( stderr, "%c", '4' ); + break; + case '5': + fprintf( stderr, "%c", '5' ); + break; + case '6': + fprintf( stderr, "%c", '6' ); + break; + case '7': + fprintf( stderr, "%c", '7' ); + break; + case '8': + fprintf( stderr, "%c", '8' ); + break; + case '9': + fprintf( stderr, "%c", '9' ); + break; + + case 'a': + fprintf( stderr, "%c", 'a' ); + break; + case 'b': + fprintf( stderr, "%c", 'b' ); + break; + case 'c': + fprintf( stderr, "%c", 'c' ); + break; + case 'd': + fprintf( stderr, "%c", 'd' ); + break; + case 'e': + fprintf( stderr, "%c", 'e' ); + break; + case 'f': + fprintf( stderr, "%c", 'f' ); + break; + case 'g': + fprintf( stderr, "%c", 'g' ); + break; + case 'h': + fprintf( stderr, "%c", 'h' ); + break; + case 'i': + fprintf( stderr, "%c", 'i' ); + break; + case 'j': + fprintf( stderr, "%c", 'j' ); + break; + case 'k': + fprintf( stderr, "%c", 'k' ); + break; + case 'l': + fprintf( stderr, "%c", 'l' ); + break; + case 'm': + fprintf( stderr, "%c", 'm' ); + break; + case 'n': + fprintf( stderr, "%c", 'n' ); + break; + case 'o': + fprintf( stderr, "%c", 'o' ); + break; + case 'p': + fprintf( stderr, "%c", 'p' ); + break; + case 'q': + fprintf( stderr, "%c", 'q' ); + break; + case 'r': + fprintf( stderr, "%c", 'r' ); + break; + case 's': + fprintf( stderr, "%c", 's' ); + break; + case 't': + fprintf( stderr, "%c", 't' ); + break; + case 'u': + fprintf( stderr, "%c", 'u' ); + break; + case 'v': + fprintf( stderr, "%c", 'v' ); + break; + case 'w': + fprintf( stderr, "%c", 'w' ); + break; + case 'x': + fprintf( stderr, "%c", 'x' ); + break; + case 'y': + fprintf( stderr, "%c", 'y' ); + break; + case 'z': + fprintf( stderr, "%c", 'z' ); + break; + + case 'A': + fprintf( stderr, "%c", 'A' ); + break; + case 'B': + fprintf( stderr, "%c", 'B' ); + break; + case 'C': + fprintf( stderr, "%c", 'C' ); + break; + case 'D': + fprintf( stderr, "%c", 'D' ); + break; + case 'E': + fprintf( stderr, "%c", 'E' ); + break; + case 'F': + fprintf( stderr, "%c", 'F' ); + break; + case 'G': + fprintf( stderr, "%c", 'G' ); + break; + case 'H': + fprintf( stderr, "%c", 'H' ); + break; + case 'I': + fprintf( stderr, "%c", 'I' ); + break; + case 'J': + fprintf( stderr, "%c", 'J' ); + break; + case 'K': + fprintf( stderr, "%c", 'K' ); + break; + case 'L': + fprintf( stderr, "%c", 'L' ); + break; + case 'M': + fprintf( stderr, "%c", 'M' ); + break; + case 'N': + fprintf( stderr, "%c", 'N' ); + break; + case 'O': + fprintf( stderr, "%c", 'O' ); + break; + case 'P': + fprintf( stderr, "%c", 'P' ); + break; + case 'Q': + fprintf( stderr, "%c", 'Q' ); + break; + case 'R': + fprintf( stderr, "%c", 'R' ); + break; + case 'S': + fprintf( stderr, "%c", 'S' ); + break; + case 'T': + fprintf( stderr, "%c", 'T' ); + break; + case 'U': + fprintf( stderr, "%c", 'U' ); + break; + case 'V': + fprintf( stderr, "%c", 'V' ); + break; + case 'W': + fprintf( stderr, "%c", 'W' ); + break; + case 'X': + fprintf( stderr, "%c", 'X' ); + break; + case 'Y': + fprintf( stderr, "%c", 'Y' ); + break; + case 'Z': + fprintf( stderr, "%c", 'Z' ); + break; + + default: + fprintf( stderr, "", input[ i ] ); + } + } + + fprintf( stderr, "\n" ); +} + #if GTK_MAJOR_VERSION == 3 static bool react_to_display_click( GtkWidget* widget, GdkEventButton* event, gpointer user_data ) { @@ -1153,6 +1354,9 @@ static bool react_to_display_click( GtkWidget* widget, GdkEventButton* event, gp GtkClipboard* clip = gtk_clipboard_get( GDK_SELECTION_CLIPBOARD ); gchar* text = gtk_clipboard_wait_for_text( clip ); fprintf( stderr, "clipboard: %s\n", text ); + + x50g_string_to_keys_sequence( text ); + return GDK_EVENT_STOP; case 3: // right click # if GTK_MAJOR_VERSION == 3