x48ng emulator "engine" as a standalone library
.github/workflows | ||
dist | ||
doc_0.6.4 | ||
romdump | ||
src | ||
.clang-format | ||
.gitignore | ||
AUTHORS | ||
LICENSE | ||
Makefile | ||
README.md |
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:
- renamed it to x48ng to avoid confusion
- merged in a SDL1 version I found @ https://code.google.com/archive/p/x48-sdl/source/default/source
- removed the code supporting Solaris, HP-UX, etc.
- removed the autotools-based build system and wrote a simple Makefile instead
- added a x48ng.desktop file and an icon
- 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:
- clean-up further.
- drop use of the
verbose
variable - use seperate files for x11 and sdl1 specific code
- drop use of the
- split the core emulator in a lib and have the GUI use that to cleanly separate the two.
- have a more modern GUI in gtk4
- can something be merged from droid48? [ https://github.com/shagr4th/droid48 ]
- 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
- 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. - 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 - run
x48ng
and enjoy
Development
make FULL_WARNINGS=yes
to compile with all warningsmake clean
andmake clean-all
to clean between compilation runsmake pretty-code
to format the code usingclang-format
and the provided.clang-format