x48ng emulator "engine" as a standalone library
Find a file
2023-09-07 16:39:55 +02:00
.github/workflows [major] entirely removed debugger and realine dependency 2023-09-07 12:40:04 +02:00
dist [major] entirely removed debugger and realine dependency 2023-09-07 12:40:04 +02:00
doc_0.6.4 clean doc_0.6.4 content; move installed files into dist/ in which binaries are compiled in too 2023-05-10 15:50:51 +02:00
romdump delete autotools files, use only simple Makefile 2023-04-26 16:51:11 +02:00
src without debugger no reason to manage SIGINT 2023-09-07 16:39:55 +02:00
.clang-format add and use .clang-format 2023-04-27 12:15:59 +02:00
.gitignore clean doc_0.6.4 content; move installed files into dist/ in which binaries are compiled in too 2023-05-10 15:50:51 +02:00
AUTHORS add myself to AUTHORS 2023-04-26 19:49:18 +02:00
LICENSE Initial commit 2015-07-26 11:13:05 +02:00
Makefile prettify all the code 2023-09-07 16:36:44 +02:00
README.md [major] entirely removed debugger and realine dependency 2023-09-07 12:40:04 +02:00

x48ng -- HP48 CPU emulator

(I'm not very good at writing, see ./README_0.6.4 for the original README)

This is my fork of x48-0.6.4 where I deviate from the original code and do my own thing.

What have I done:

  1. renamed it to x48ng to avoid confusion
  2. merged in a SDL1 version I found @ https://code.google.com/archive/p/x48-sdl/source/default/source
  3. removed the code supporting Solaris, HP-UX, etc.
  4. removed the autotools-based build system and wrote a simple Makefile instead
  5. added a x48ng.desktop file and an icon
  6. removed the debugger (use the original x48 if you need it)

Bugs to fix

See https://github.com/gwenhael-le-moine/x48ng/issues

What more I would like to do:

  1. clean-up further.
    • drop use of the verbose variable
    • use seperate files for x11 and sdl1 specific code
  2. split the core emulator in a lib and have the GUI use that to cleanly separate the two.
  3. have a more modern GUI in gtk4
  4. can something be merged from droid48? [ https://github.com/shagr4th/droid48 ]
  5. support the HP49g ROM?

Compilation

GUI

By default the X11 version is built. It is the most complete UI-wise.

To build the X11 version run make GUI=x11

To build the SDL1 version run make GUI=sdl1

Installation

  1. Run sudo make install PREFIX=/usr DOCDIR=/usr/doc/x48ng MANDIR=/usr/man DESTDIR=/tmp/package filling in your own values for PREFIX, DOCDIR, MANDIR and DESTDIR.
  2. once installed run /usr/share/x48ng/setup-x48ng-home.sh to setup your ~/.x48ng/. It sets up a HP 48GX with a 128KB card in port 1 and a 4MB card in port 2
  3. run x48ng and enjoy

Development

  • make FULL_WARNINGS=yes to compile with all warnings
  • make clean and make clean-all to clean between compilation runs
  • make pretty-code to format the code using clang-format and the provided .clang-format