Emulator of the HP 48GX, HP 49, and HP 40 (fork of https://www.hpcalc.org/details/4382) https://www.hpcalc.org/details/4382
Find a file
2024-10-07 08:11:55 +02:00
dist fix grep 2024-10-06 10:52:58 +02:00
docs [build] clean libChf build, remove win32 from it too; refactor Makefiles 2024-09-19 15:18:53 +02:00
docs-4.1.1.1 shuffle files around to organize things properly 2024-03-21 11:19:55 +01:00
src [49g] increase vertical spacing between keys 2024-10-06 22:52:01 +02:00
.clang-format copy .clang-format from x48ng and format all the code 2024-03-26 13:36:50 +01:00
.gitignore update gitignore; reorganize code in ui4x/ 2024-10-02 10:16:57 +02:00
COPYING new README.md and GPLv3-or-later 2024-03-21 12:46:02 +01:00
LICENSE new README.md and GPLv3-or-later 2024-03-21 12:46:02 +01:00
Makefile update 49g screenshot to show VERSION, 5.3.2 2024-10-07 08:11:55 +02:00
README.md wording 2024-10-06 19:16:41 +02:00
saturn48gx.png add screenshots to README 2024-10-06 19:14:44 +02:00
saturn48sx.png add screenshots to README 2024-10-06 19:14:44 +02:00
saturn49g.png update 49g screenshot to show VERSION, 5.3.2 2024-10-07 08:11:55 +02:00

Emulator of the HP 48GX, HP 49, and HP 40

This is a fork of saturn v4.1.1.1 originally by Ivan Cibrario Bertolotti.

Original source are available at https://www.hpcalc.org/details/4382

The GUI has been replaced by a new one (taken from x48ng) in SDL2 and/or ncurses.

The main binary is dist/saturn with helpers/wrappers scripts available per model as:

  • dist/saturn48gx
  • dist/saturn48sx
  • dist/saturn49g
  • dist/saturn40g (not really functional (yet))

Screenshots

screenshot of saturn49g screenshot of saturn48gx screenshot of saturn48sx

Building

Dependencies:

  • SDL2
  • ncursesw
make

Installing

make install DESTDIR=/

Using

Use the wrappers scripts.

The local data are stored under $XDG_CONFIG_HOME/saturn/

Known bugs

  • some bugs in emulation:
    • 48gx: ON-D A can hang because it tries to write data in ROM space
    • 48gx: VERSION spouts messages in the console (hidden unless --verbose)
    • 49g: spouts messages in the console every second (hidden unless --verbose)
  • ncurses UI: becomes unresponsive (but still quits gracefully on F7)

Todo

  • fix emulation bugs
  • 49g: find a way to enable the bigger screen (131×80)
  • 40g: make emulation work