Commit graph

61 commits

Author SHA1 Message Date
claudiol
0df95a3dfd [3298 - patch 34] When loading a firmware during flash initialization, check for the KINPOUPDATEIMAGE signature, and fail if it's missing
[3298 - patch 35] When selecting a firmware interactively, show errors in a message window and retry
The user may not even have a terminal open to catch the error message, so the previous behavior was basically a silent failure to them.
[3298 - patch 36] Add newRPL keyboard layouts via new calculator types "hp49gp/newrpl" and "hp50g/newrpl"
Also fixes an old bug causing only a single keyboard layout to be used, regardless of selected calculator type.
It appears nobody noticed this bug because the only two layouts present before this commit were almost identical.
2018-10-10 09:11:30 -04:00
claudiol
48d0c97490 Fixed emulation of data order + command 9 2018-10-05 12:27:38 -04:00
claudiol
dcdcf7756e Implemented more SD Card commands. 2018-09-28 17:57:37 -04:00
claudiol
9118d40ca4 Added missing file to repository 2018-08-30 17:31:57 -04:00
claudiol
64e9371769 [3298] Fix a warning about strncpy that caused compilation failures via -Werror 2018-08-29 18:00:11 -04:00
claudiol
0a148f61e3 [3298] Add command-line options to rebuild the flash or reboot 2018-08-29 17:42:33 -04:00
claudiol
df33a5ac5b [3298] Improve initial flash creation 2018-08-29 17:38:02 -04:00
claudiol
69d4cff83e Removed FORTIFY_SOURCE macro 2018-08-28 18:07:09 -04:00
claudiol
019914c5f8 [3298] More building system fixes 2018-08-28 12:56:10 -04:00
claudiol
cb4ed1a375 [3298] Compile warnings fixed 2018-08-28 12:46:52 -04:00
claudiol
c3ed313cf7 [3298] Updated GDB server 2018-08-28 12:45:40 -04:00
claudiol
02ed9ab8a9 [3298] Updated QEMU patches 2018-08-28 12:42:54 -04:00
claudiol
1dd8295b04 [3298] International keyboard issues and build system patches. 2018-08-28 12:32:34 -04:00
claudiol
4adb8c7db7 [3298] Fixed color of the menu 2018-08-28 12:32:03 -04:00
claudiol
f5c6457a1e Disable one last warning -Wno-unused-result 2018-05-07 18:26:28 -04:00
claudiol
c61f11cff2 On behalf of: 3298 - Applied 23 patches by 3298:
Misc changes, mostly fixes:
- fix ./newconfig systems other than OSX (broke in c8b823f)
- fix palette usage in 2-bit color mode (was broken ever since grayscale was implemented in 18e1003 and its improperly attributed copy f7913eb)
- fix continuing from breakpoints in the debugger (never worked, was exposed when the debugger was enabled in 9c1f2ed)
- restore the printf statements commented out in 9c1f2ed and hide them with #ifdefs instead
- close the server socket after accepting a debugger connection to allow another simultaneous debug session to be started using the same TCP port
- use the symbolic constant DEFAULT_GDBSTUB_PORT (already defined in gdb_stub.h as 1234) when starting the gdb server in main.c in place of the raw number 1234
- change Makefile to read the name of the firmware file from the file update.scp instead of hardcoding it; this allows users to switch to another firmware
by simply pasting it along with its accompanying update.scp into the x49gp directory

- Enhance port G (keyboard) handling to remember the value of output bits across periods with these bits configured as input
This fixes interaction with HPGCC3 keyboard routines, and it also fixes keys with eint==7 (assuming the stock firmware is in use)
needing a double-tap to work unless pressed very shortly after another keypress (the latter broke in b5f93ed)
- Get rid of the deprecated function warning by switching from gdk_pixbuf_new_from_inline to gdk_pixbuf_new_from_data (based on code by chwdt)
- Delete remaining now-redundant CVS files
- Don't release all buttons anymore if there are still physical keys and/or the left mouse button are holding some down
On the other hand, forcibly release all buttons when losing focus to avoid getting stuck in a state with buttons down
when they are not held down by anything; this would happen due to missed events while not in focus
- Add a context menu to the screen, containing only "Reset" and "Quit" items for now
- Ensure that the files backing flash, sram, and s3c2410-sram exist and have the correct size when opening them
Note that if the flash file does not exist, this will not fill it with the code that's supposed to be in there, obviously causing the calculator to crash. That's an improvement for later.
- Allow the config system to fill not only numbers, but also strings (including filenames) with default values
basename is excluded, but it's planned to be dropped entirely.
- Add an "install" target to the Makefile
- Implement a more generic command-line parser for substantially improved flexibility
- Also adds a proper help option, though the manual referenced in the corresponding output (a manpage, hopefully) does not exist yet.
- Drop the "basename" config property in favor of interpreting relative paths in the config as relative to the config file's location
- Retire the "image" config property in favor of simply loading the image from next to the binary or from the install directory
- Split the UI name property into name (affecting only the window title) and type (affecting the UI image and in the future also the default bootcode) properties
- Change the default calculator type to the 50g everywhere, which probably matches today's user expectations better than the 49g+.
- Create a flash file from the calculator model's appropriate boot file if it does not exist, relying on the bootcode to detect the absence of a firmware
  The bootcode will complain about the missing firmware and enter update mode, so the user needs to supply their favorite firmware version and point the bootcode's updater to it.
  The easiest way is probably pointing the emulated SD card at a directory containing the firmware and its accompanying update.scp file, and then starting the SD-based update.
- Add SD mount / unmount options to the right-click / menu-key popup menu
- Remove most of the old script-based config-generating system since the binary now has these capabilities as well
- Add an applications menu item for installing
- Keep some debug output on stderr and a huge vvfat.log file from showing up when not debugging x49gp itself
- Allow (re-)connecting a debugger to a running session
  This is done through the right-click / menu-key popup menu.
  To avoid confusion due to the accidental clicks leading to an unresponsive interface (caused by waiting for the debugger to connect),
  this option is hidden unless option -d or its new companion -D (same as -d, but does not start the debug interface right away) is present.
- Improved support for hardware keyboards
- Update README.md, add manpage, rename other README files to TODO to reflect their contents
2018-05-07 17:32:14 -04:00
claudiol
91d85c5aec On behalf of: 3298
Merge remote-tracking branch 'claudiobsd/master'
2018-05-07 17:29:09 -04:00
claudiol
066af08ae5 On behalf of:3298
Merge remote-tracking branch 'datajerk/master'
2018-05-07 17:26:44 -04:00
Christian Wendt
a3f4b14d29 revert direction of key movement, this was correct before 2017-12-07 13:19:42 +01:00
Christian Wendt
d79846f835 cleanup binaries 2017-12-07 13:14:39 +01:00
Christian Wendt
ec9ea8e5ca add 2MB 2.15 update file 2017-12-07 13:14:22 +01:00
Christian Wendt
1bfe0818fe fix typo 2017-12-07 12:58:13 +01:00
Christian Wendt
17c2e1984f add clean update flash file 2017-12-07 12:57:36 +01:00
Christian Wendt
407b2c3e8c compile with newer gtk, fix parallel builds 2017-12-07 12:57:12 +01:00
Eddie C. Dost
2a23ee8088 fix parallel builds and subdir qemu 2017-11-28 11:34:55 +01:00
Eddie C. Dost
2671076693 Loop over separate reg arrays separately. 2017-10-26 15:52:19 +02:00
Eddie C. Dost
74e7ea152c Allow parallel builds. 2017-10-26 15:42:01 +02:00
Eddie C. Dost
3e6a714ae2 fix reset pin behaviour 2017-10-26 15:27:49 +02:00
Eddie C. Dost
1f19c8009c fix warnings on 64bit for all debug output 2017-10-26 14:30:39 +02:00
Eddie C. Dost
1e49bdb159 update EqnLib, EqnData, and prtbl 2017-10-26 14:14:35 +02:00
Eddie C. Dost
0f69d29cf6 add reset pin on keyboard key F12 2017-10-26 14:14:07 +02:00
Eddie C. Dost
cd78bd8127 fix offset calculations in qemu callbacks 2017-10-26 14:13:45 +02:00
Eddie C. Dost
eede585bc9 update ROM to version 2.15 2017-10-26 12:32:35 +02:00
Eddie C. Dost
4dbea0855a merge compile_fix.diff by datajerk 2017-10-26 12:13:26 +02:00
Eddie C. Dost
f7913eb03a merge grayscale.diff by datajerk 2017-10-26 12:12:16 +02:00
Eddie C. Dost
e865764785 Fix warnings, compile again with -Werror. 2017-10-26 11:41:01 +02:00
Eddie C. Dost
d5239f657d merge Bug fix by Bruno-w (https://github.com/Bruno-w): RTC alarm wake-up
Because of the S3C2410 bug (INT_SRCPND_RTC not set on alarm wake-up), the
firmware need to check on power-on if an alarm is triggered by comparing the
alarm date to the system date.  But, It failed because the firmware read a
system date that is 1 second behind the alarm date, while the cpu was waked-up
by an alarm.  This is because x49gp uses 2 different functions to read host
system time in 2 key routines, leading to a 1 second gap when used consecutively.
This fix solved this issue.
2017-10-26 10:45:20 +02:00
Eddie C. Dost
8cf3104ce8 add ignorance 2017-10-26 09:41:11 +02:00
Eddie C. Dost
440d6f75f8 fix direction of movement of pressed buttons 2017-10-26 09:34:32 +02:00
Eddie C. Dost
b87dfbd081 Fix missing button labels on 64bit by adding missing va_copy(). 2017-10-25 22:50:39 +02:00
Eddie C. Dost
169188137e compile on debian 2017-10-25 17:51:56 +02:00
Eddie C. Dost
a8998380a4 add backticks for code 2017-10-25 17:51:06 +02:00
claudiol
e011d6da30 Merge branch 'master' 2017-07-10 08:26:43 -04:00
claudiol
f5c0ad34cd Changed firmware to newrpl. 2017-07-10 08:26:02 -04:00
Egan Ford
cca2d2cc11 readme cleanup 2017-03-27 17:07:13 -06:00
Egan Ford
c45d794520 readme cleanup 2017-03-27 17:05:42 -06:00
Egan Ford
ecf4a1ef46 readme cleanup 2017-03-27 17:03:26 -06:00
Egan Ford
c8b823fb25 fixed MacOS build issues 2017-03-27 17:02:05 -06:00
datajerk
7d928fca72 Merge pull request #2 from Bruno-w/master
Bug fix: RTC alarm wake-up
2016-11-08 10:22:03 -07:00
Bruno-w
6167cbfe90 Bug fix: RTC alarm wake-up
Because of the S3C2410 bug (INT_SRCPND_RTC not set on alarm wake-up), the firmware need to check on power-on if an alarm is triggered by comparing the alarm date to the system date.
But, It failed because the firmware read a system date that is 1 second behind the alarm date, while the cpu was waked-up by an alarm.
This is because x49gp uses 2 different functions to read host system time in 2 key routines, leading to a 1 second gap when used consecutively.
This fix solved this issue.
2016-11-08 11:27:47 +01:00