import of sources from latest release found on Sourceforge
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
This commit is contained in:
parent
1d6eefbede
commit
e59ca61c98
200 changed files with 27588 additions and 0 deletions
4
AUTHORS
Normal file
4
AUTHORS
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
Eddie C. Dost -- Original Author
|
||||
|
||||
G. Allen Morris III -- Maintainer
|
40
ChangeLog
Normal file
40
ChangeLog
Normal file
|
@ -0,0 +1,40 @@
|
|||
2011-08-08 "G. Allen Morris III" <gam3@gam3.net> release 0.6.4
|
||||
* Default to throttling speed only when key-pressed
|
||||
* Add throttle switch for speed emulation
|
||||
* Fix buffer overflow bug
|
||||
* release keys on loss of focus
|
||||
* typo in access_time adjust
|
||||
|
||||
2010-02-01 "G. Allen Morris III" <gam3@gam3.net> release 0.6.3
|
||||
* made updates to x48.spec
|
||||
* put debian directory in dist file
|
||||
* install X48 app data in correct place
|
||||
using pkg-config appdefaultdir xt
|
||||
* removed more debugging messages
|
||||
* added 'netbook' look for small/short screens
|
||||
use +netbook on the command line
|
||||
|
||||
2010-01-30 "G. Allen Morris III" <gam3@gam3.net> release 0.6.2
|
||||
* remove setlocal code that was causing a bug.
|
||||
* removed some debugging code.
|
||||
|
||||
2009-06-31 "G. Allen Morris III" <gam3@gam3.net> release 0.6.1
|
||||
* Fix to XShm to solve the 'LCD' Scramble problem.
|
||||
|
||||
2006-04-20 "G. Allen Morris III" <gam3@gam3.net>
|
||||
* Added simple paste feature
|
||||
* Repaired debugger non-readline input
|
||||
* Changed from building with Imakefile to using GNU autoconfig
|
||||
|
||||
2005-03-20 "G. Allen Morris III" <gam3@gam3.net>
|
||||
* added equal key for + and Meta Keys for Alpha
|
||||
* applied a different fix for the arrow repeat key bug
|
||||
* fixed a bug in the timer one logic. The cursor now flashes on input.
|
||||
|
||||
2005-03-20 "G. Allen Morris III" <gam3@gam3.net>
|
||||
* added patch [000390] time.h compile bug
|
||||
* added patch [000391] Arrow key repeat patch
|
||||
* added ChangeLog file
|
||||
|
||||
2005-03-18 "G. Allen Morris III" <gam3@gam3.net>
|
||||
* starting from x48 0.4.0.
|
9
INSTALL
Normal file
9
INSTALL
Normal file
|
@ -0,0 +1,9 @@
|
|||
|
||||
You will only need readline support if you are planning to use the
|
||||
x48 debugger. So ignore
|
||||
|
||||
With ReadLine sup. in Debuger? no
|
||||
|
||||
unless you want readline support in the x48 debugger.
|
||||
|
||||
|
75
MANIFEST
Normal file
75
MANIFEST
Normal file
|
@ -0,0 +1,75 @@
|
|||
README
|
||||
Imakefile
|
||||
config.h
|
||||
MANIFEST
|
||||
ChangeLog
|
||||
utils/Imakefile
|
||||
utils/ad2c
|
||||
utils/makeversion
|
||||
src/Imakefile
|
||||
src/X48.ad
|
||||
src/actions.c
|
||||
src/debugger.c
|
||||
src/device.c
|
||||
src/disasm.c
|
||||
src/emulate.c
|
||||
src/init.c
|
||||
src/lcd.c
|
||||
src/main.c
|
||||
src/memory.c
|
||||
src/options.c
|
||||
src/register.c
|
||||
src/resources.c
|
||||
src/rpl.c
|
||||
src/serial.c
|
||||
src/timer.c
|
||||
src/x48_x11.c
|
||||
src/dump2rom.c
|
||||
src/checkrom.c
|
||||
src/annunc.h
|
||||
src/append.h
|
||||
src/buttons.h
|
||||
src/constants.h
|
||||
src/debugger.h
|
||||
src/defaults.h
|
||||
src/device.h
|
||||
src/disasm.h
|
||||
src/global.h
|
||||
src/hp.h
|
||||
src/hp48.h
|
||||
src/hp48_emu.h
|
||||
src/hp48char.h
|
||||
src/icon.h
|
||||
src/options.h
|
||||
src/resources.h
|
||||
src/rpl.h
|
||||
src/small.h
|
||||
src/timer.h
|
||||
src/version.h
|
||||
src/x48.man
|
||||
src/x48_x11.h
|
||||
romdump/Imakefile
|
||||
romdump/ROMDump
|
||||
romdump/README
|
||||
romdump/ReadRom.s
|
||||
romdump/Dump
|
||||
doc/Imakefile
|
||||
doc/ChangeLog
|
||||
doc/COPYING
|
||||
doc/INSTALLING
|
||||
doc/TODO
|
||||
doc/CARDS.doc
|
||||
doc/ROMDump.doc
|
||||
rpm/x48.spec.in
|
||||
rpm/x48.spec
|
||||
debian/README.Debian
|
||||
debian/changelog
|
||||
debian/compat
|
||||
debian/control
|
||||
debian/copyright
|
||||
debian/dirs
|
||||
debian/docs
|
||||
debian/menu
|
||||
debian/quit
|
||||
debian/rules
|
||||
debian/watch
|
17
Makefile.am
Normal file
17
Makefile.am
Normal file
|
@ -0,0 +1,17 @@
|
|||
|
||||
|
||||
AUTOMAKE_OPTIONS = dejagnu
|
||||
|
||||
SUBDIRS = src romdump
|
||||
|
||||
EXTRA_DIST=rpm/x48.spec \
|
||||
debian/changelog debian/compat debian/control debian/copyright \
|
||||
debian/dirs debian/docs debian/menu debian/README.Debian debian/rules
|
||||
|
||||
X48 : src/X48.ad
|
||||
cp $< $@
|
||||
|
||||
appdefault_DATA = X48
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-appdefaultdir='$${datadir}/X11/app-defaults'
|
||||
|
1
NEWS
Normal file
1
NEWS
Normal file
|
@ -0,0 +1 @@
|
|||
|
356
README
Normal file
356
README
Normal file
|
@ -0,0 +1,356 @@
|
|||
x48 -- HP48 CPU emulator
|
||||
========================
|
||||
|
||||
This is x48, an HP48 CPU emulator. This is Version 0.6.1
|
||||
|
||||
if the 'LCD' is scrambled, you might try running x48 in one of the 3 ways below
|
||||
to see if that will solve the problem.
|
||||
|
||||
1. run 'x48 +shm'
|
||||
2. put 'x48*useXShm: False' in you .Xdefaults file (man xrdb)
|
||||
3. run './configure --disable-shm' to build x48 without the Shared memory extention.
|
||||
|
||||
If it does please leave a bug report at https://developer.berlios.de/bugs/?group_id=3335
|
||||
|
||||
======
|
||||
|
||||
for version 0.4.0
|
||||
|
||||
What's new:
|
||||
|
||||
- Implemented CONFIG/UNCNFG more exactly.
|
||||
|
||||
- Added support for different RAM or ROM cards.
|
||||
|
||||
- Added G/GX support (lost of changes)
|
||||
new colors, new labels, ...
|
||||
|
||||
- Rewrote ROMDump for both S/SX and G/GX. Lots faster now.
|
||||
Thanks go to Robert Tiismus <robert@Sneezy.net.ut.ee>
|
||||
|
||||
- Corrected handling of Display and Menu images, fixed number
|
||||
of lines in init_display(), to avoid XShmError on virgin
|
||||
startup
|
||||
|
||||
- Catch SIGPIPE and save state, so everything is saved, when
|
||||
x48 gets terminated by xkill or the window manager
|
||||
|
||||
|
||||
NOTE (from EM48 README by Paul Fox)
|
||||
===================================
|
||||
|
||||
This emulator is capable of providing a faithful replication of the
|
||||
HP48. In order to do so, it requires a copy of the ROM software
|
||||
from YOUR calculator. In order to avoid breaking copyright laws,
|
||||
and upsetting HP, you MUST BE THE PROUD OWNER OF AN HP48 before
|
||||
running this program. Of course you can run this program without a
|
||||
copy of the ROM software in order to write trivial machine code
|
||||
programs but you will not be able to access any of the calculator
|
||||
functionality.
|
||||
|
||||
Instructions on how to download a copy of the ROM are provided
|
||||
later in this document.
|
||||
|
||||
|
||||
CREDITS
|
||||
=======
|
||||
|
||||
|
||||
I would like to thank Robert Tiismus <robert@Sneezy.net.ut.ee>
|
||||
for his help with ROMDump for the G/GX. The ROMDump utility gained
|
||||
a lot of speed and works for both S/SX and G/GX now.
|
||||
|
||||
|
||||
I used SADHP to disassemble parts of the 48's ROM and some other
|
||||
programs to test x48, also I very closely looked at SADHP while
|
||||
writing code for RPL debugging. So here go sincere thanks:
|
||||
|
||||
-- Jan Brittenson <bson@ai.mit.edu>
|
||||
-- Mika Heiskanen <mheiskan@vipunen.hut.fi>
|
||||
|
||||
Latest version of SADHP is available from
|
||||
wuarchive.wust.edu:/systems/hp/hp48Uploads/
|
||||
Get it to look deeper into your HP48.
|
||||
|
||||
|
||||
I would like to thank Lutz Vieweg <lkv@mania.robin.de> for his
|
||||
outstanding bug reports. Must be the crazyness of porting gcc to
|
||||
the 48, and of writing code in assembler, that digs out all the
|
||||
bugs in x48. Go on like this Lutz.
|
||||
|
||||
|
||||
I must thank Joe Ervin for his article on keyboard handling.
|
||||
|
||||
|
||||
I also must thank Paul Fox, Author of EM48, for his work on his
|
||||
emulator, the source code was a great help for solving some problems,
|
||||
specially the memory bank switching. Thanks Paul.
|
||||
|
||||
|
||||
I would also like to thank Alonzo Gariepy for his contribution to
|
||||
the world on how the HP28/HP48 works.
|
||||
|
||||
|
||||
I would sincerely like to ask HP about giving me a 48 GX, so the world
|
||||
could receive more complete x48, also I could use some ROM cards, like
|
||||
the EQ-LIB to implement an easy use of these. Well, I credited HP in
|
||||
the last releases, but now x48 really gets running and I still haven't
|
||||
heard a word from them...
|
||||
Just remember, x48 comes under the terms and conditions of the GPL.
|
||||
|
||||
|
||||
HACKERS PLEA
|
||||
============
|
||||
|
||||
I will continue to work on this product and support it where I have
|
||||
the time, and would therefore appreciate any patches or bug fixes,
|
||||
etc which any of you make so that I can keep control of the software.
|
||||
|
||||
Information in the form of loose english, context diffs, or
|
||||
suggestions are welcome so that we can all make this product a
|
||||
little better.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
|
||||
I improved handling of differences in Solaris, SunOS, HP/UX, and Linux.
|
||||
Things are not perfect, anyway.
|
||||
|
||||
To configure some things for the Makefiles, edit 'config.h' in the
|
||||
directory 'x48-0.4.0'. There you can set the compiler, flags to
|
||||
pass to the compiler, and some other stuff.
|
||||
|
||||
To build the emulator do the following in the directory 'x48-0.4.0':
|
||||
|
||||
1. xmkmf
|
||||
2. make
|
||||
|
||||
This should give you the programs 'x48', 'dump2rom', 'checkrom', and
|
||||
'mkcard' in the directory 'x48-0.4.0/bin'.
|
||||
|
||||
To get the serial line working, you should set up your .Xdefaults for
|
||||
x48. The resources concerning the serial line are:
|
||||
|
||||
x48*useSerial: True
|
||||
x48*serialLine: /dev/ttyS0 ; your serial device here, this
|
||||
; looks good for Linux.
|
||||
|
||||
Run 'x48 -help' for a list of command line options.
|
||||
|
||||
Look at 'x48-0.4.0/src/X48.ad' for the whole set of Xresources the
|
||||
program uses.
|
||||
|
||||
|
||||
HOW TO DOWNLOAD A COPY OF THE ROM
|
||||
=================================
|
||||
|
||||
The emulator works by executing an image of the HP48s ROM. In order
|
||||
to run the emulator you must have a version of your ROM on the system.
|
||||
|
||||
**********************************************************************
|
||||
* This includes the HIDDEN ROM. Please don't use DUMP programs, that *
|
||||
* don't dump the HIDDEN ROM. The emulator won't run. *
|
||||
**********************************************************************
|
||||
|
||||
|
||||
To get a memory dump you need to do the following:
|
||||
|
||||
|
||||
- Download the file 'romdump/ROMDump' to your HP.
|
||||
|
||||
- To capture a complete ROM, start kermit on your computer, set the
|
||||
line so it fits your HP, set the speed to 9600 baud and type
|
||||
'log session', then 'connect'.
|
||||
|
||||
- On a HP48 S/SX type '#0h #7FFFFh ROMDump',
|
||||
on a HP48 G/GX type '#0h #FFFFFh ROMDump'.
|
||||
This will take about 15 minutes on the S/SX, 30 minutes on the G/GX.
|
||||
|
||||
- When done, type the kermit-Escape (usually CTRL-\) followed
|
||||
by 'C' on your Computer. Say 'quit' to the kermit.
|
||||
|
||||
Your ROM should now be in the file 'session.log'.
|
||||
|
||||
|
||||
|
||||
Now you have a file containing lines like
|
||||
|
||||
#00000:2369B108DADF1008
|
||||
...
|
||||
|
||||
This has to be converted to a binary ROM for x48.
|
||||
|
||||
Run the command: `dump2rom session.log`
|
||||
This will convert your dump into a rom file readable by the emulator
|
||||
called 'rom.dump'.
|
||||
|
||||
CHECK the file with the program 'checkrom'.
|
||||
Type: `checkrom rom.dump`. It should say:
|
||||
|
||||
ROM Version is HP48-A
|
||||
ROM CRC reads 0xcb76 (for Rev. A, will be different for other ROMs)
|
||||
IROM OK: ROM CRC test passed.
|
||||
|
||||
or
|
||||
|
||||
ROM Version is HP48-R
|
||||
ROM CRC 1 reads 0xdfed (for Rev. R, will be different for other ROMs)
|
||||
ROM CRC 2 reads 0xf0b1 ( --- " --- )
|
||||
IROM OK: ROM CRC test passed.
|
||||
|
||||
If the test failed, something went wrong transfering the ROM. Don't
|
||||
start thinking about the size or the nibbles in 'rom.dump'. That's
|
||||
all correct. Do the Transfer again.
|
||||
|
||||
If you know how to do it, you could of course only transfer the
|
||||
'broken' part of the dump, using e.g. '#60000h #60080h ROMDump'
|
||||
and fix these lines in 'session.log'.
|
||||
|
||||
|
||||
USING THE EMULATOR
|
||||
==================
|
||||
|
||||
Go into the directory, where your ROM dump resides and type 'x48', or
|
||||
type 'x48 -rom <filename>', where <filename> is the file containing your
|
||||
ROM dump.
|
||||
|
||||
On the first start the emulator will read the ROM dump.
|
||||
It will start running at the addr 00000. This will result in the
|
||||
question 'Try to recover memory?' Answer 'NO'.
|
||||
|
||||
To use the emulator, click your mouse at the buttons
|
||||
on the emulator. You have to press the button down long enough, so
|
||||
the HP-48 will considder it a keypress. Well, this should work.
|
||||
|
||||
To do something like ON-E, or ON-A-F, one would use the middle mouse
|
||||
button to press ON, then the middle mouse button to press A. These
|
||||
keys should stay depressed. Now use the left mouse button to press F.
|
||||
This should release all three keys and yield the desired results.
|
||||
|
||||
You can check your ROM dump by pressing ON-E. This enters the selftest
|
||||
of the HP-48. If it says IROM OK after some time, your ROM CRC has
|
||||
been calculated correctly.
|
||||
|
||||
The SX emulator has 32K RAM and two 128K RAM cards, both read/write.
|
||||
To access all memory you have to do: 1 MERGE 2 MERGE
|
||||
The GX emulator has 128K RAM and no RAM cards, yet.
|
||||
To access all memory you have to do: 1 MERGE 2 MERGE
|
||||
|
||||
When you hit the 'quit' button of the window frame (under ol(v)wm),
|
||||
the emulator saves its state, RAM, ROM, and the ports to files in
|
||||
the directory '$HOME/.hp48/', so the next time it is started, all
|
||||
your stuff should be still there.
|
||||
|
||||
If the emulator gets messed up, or crashes, enter the debugger
|
||||
by typing CTRL-C in the shell you started x48. At the prompt type
|
||||
`reset`, confirm with `y`. Then type `cont`.
|
||||
|
||||
If this does not help, enter the debugger again, and type
|
||||
`exit`, confirm with `y`. This will NOT save the stuff, so the next
|
||||
time you use x48, it should be in the same state as on the last run.
|
||||
|
||||
Another way to achive this, is to send SIGTERM or SIGKILL to x48.
|
||||
|
||||
|
||||
USING RAM CARDS
|
||||
===============
|
||||
|
||||
To get a RAM card, use the program 'mkcard' to build the card, and
|
||||
copy the resulting file to $HOME/.hp48/port1 or $HOME/.hp48/port2.
|
||||
On the next start of the emulator, the card should be detected and
|
||||
usable. (Maybe you have to turn it off, and on again...)
|
||||
|
||||
|
||||
KEYBOARD SUPPORT
|
||||
================
|
||||
|
||||
I have added simple keyboard support:
|
||||
|
||||
The keys 'A' - 'Z', '0' - '9', '+', '-', '*', '/', 'RETURN', '.', 'SPACE',
|
||||
'DELETE', and 'BACKSPACE' are mapped to the according keys on the HP-48's
|
||||
keyboard. The SHIFT keys give you the Orange and Blue shifts. 'ALT' gives
|
||||
you the `alpha' key, and 'ESC' the `ON' key.
|
||||
The keys 'F1' - 'F2' also access the menu labels on the HP. The cursor keys
|
||||
give you the HP-48 keys 'K', 'P', 'Q', and 'R'.
|
||||
|
||||
Note that the key 'A' doesn't give you the letter "A" on the HP, but the
|
||||
button in Row 1, Column 1 on the HP keyboard. The function executed depends
|
||||
on the Shift State of the HP.
|
||||
|
||||
To do something like 'ON-A-F', press and hold `ESC', then press and hold
|
||||
`A', then press `F' and release all buttons.
|
||||
|
||||
|
||||
TALKING TO THE OUTSIDE WORLD
|
||||
============================
|
||||
|
||||
The emulator shows one line similar to:
|
||||
|
||||
wire:/dev/ttyp2 IR:/dev/ttyS0
|
||||
|
||||
right below it's display.
|
||||
|
||||
If you have a backup off your real HP-48 on your computer, you
|
||||
could restore it using kermit:
|
||||
|
||||
On the emulator enter the IO menu, hit SETUP, configure to
|
||||
wire, binary, 9600, none, 1, 3.
|
||||
|
||||
'wire' is the local computer connection, 'IR' talks to the serial
|
||||
line of your computer. This is strange, but the other way around
|
||||
it does not work, yet.
|
||||
|
||||
Go to the IO menu again. Hit SERVER. The emulator says:
|
||||
Awaiting Server Command
|
||||
|
||||
On your computer take an unused xterm, go to the directory where
|
||||
you keep your backups, and start kermit. Configure the line:
|
||||
|
||||
type 'set line /dev/ttyp2' <---- use the number from the line
|
||||
below the display !!!
|
||||
|
||||
This should be the pseudo terminal connected to your emulator.
|
||||
|
||||
At the kermit prompt type: 'send backup18.08.1994', or however your
|
||||
backup was called. There should be communication going.
|
||||
|
||||
After the transfer you should have a VAR 'backup18.08.1994'. Hit
|
||||
the menu key for it. It says BackupHOMEDIR. Type RESTORE. That's
|
||||
all.
|
||||
|
||||
|
||||
Talking to the serial line, to e.g. another real HP-48 works the
|
||||
same, just configure the IO to IR.
|
||||
|
||||
!!! Note that the communcication speed is 2400 Baud here,
|
||||
because the emulator, or better the HP48, thinks he is
|
||||
doing IR transfer.
|
||||
|
||||
|
||||
KNOWN BUGS
|
||||
==========
|
||||
|
||||
Very slow, especially the GX compared to a real GX.
|
||||
|
||||
Lots of guesses in the devices section of the emulator. I could realy
|
||||
use the 'SATURN HARDWARE SPECIFICATION' from HP. If anyone has access
|
||||
to it, send a copy, or tell me where to get it.
|
||||
|
||||
Documentation is missing. There should be a file 'x48.texinfo' to
|
||||
describe the various options and flags of x48.
|
||||
|
||||
|
||||
ACCESS TO THE AUTHOR
|
||||
====================
|
||||
|
||||
Please send any bug reports, context-diffs or suggestions to
|
||||
|
||||
ecd@dressler.de
|
||||
|
||||
Eddie C. Dost
|
||||
61, Rue de la Chapelle
|
||||
4850 Moresnet-Chapelle
|
||||
Belgium
|
||||
|
||||
Have Fun.
|
9
autogen.sh
Executable file
9
autogen.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#! /bin/sh
|
||||
|
||||
set -x
|
||||
aclocal
|
||||
#libtoolize --force --copy
|
||||
autoheader
|
||||
automake --add-missing --copy -Wno-portability
|
||||
autoconf
|
||||
|
139
configure.ac
Normal file
139
configure.ac
Normal file
|
@ -0,0 +1,139 @@
|
|||
|
||||
m4_include([version.m4])
|
||||
AC_INIT([x48],[VERSION_NUMBER],[x48-bugs@gam3.net])
|
||||
|
||||
AC_COPYRIGHT([Copyright (c) 2006-2010 G. Allen Morris III])
|
||||
AC_CANONICAL_TARGET
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
|
||||
AC_CONFIG_SRCDIR([config.h.in])
|
||||
AC_CONFIG_HEADER([config.h])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_CPP
|
||||
|
||||
AC_PATH_XTRA
|
||||
if test x"$no_x" = xyes ; then
|
||||
AC_MSG_ERROR([X development libraries not found])
|
||||
fi
|
||||
X_LIBS="$X_LIBS -lX11"
|
||||
AC_SUBST(X_LIBS)
|
||||
|
||||
PKG_PROG_PKG_CONFIG([0.20])
|
||||
|
||||
# ********* readline library
|
||||
AC_ARG_ENABLE(readline,
|
||||
[ --disable-readline disable readline support],
|
||||
[ if test x"$enableval" = xyes; then
|
||||
with_readline="yes, check"
|
||||
else
|
||||
with_readline="no"
|
||||
problem_readline=": Explicitly disabled"
|
||||
fi ],
|
||||
[ with_readline="not specified, check" ]
|
||||
)
|
||||
|
||||
AH_TEMPLATE([HAVE_READLINE],[Define if Readline is used.])
|
||||
if test x"$with_readline" != xno; then
|
||||
AC_CHECK_LIB(readline, readline,
|
||||
with_readline=yes;
|
||||
LIBS="$LIBS -lreadline";
|
||||
AC_DEFINE(HAVE_READLINE),
|
||||
with_readline=no;
|
||||
problem_readline=": Can't detect readline library.",
|
||||
[])
|
||||
AC_CHECK_LIB(history, add_history)
|
||||
AC_CHECK_HEADERS([readline/readline.h])
|
||||
AC_CHECK_HEADERS([readline/history.h])
|
||||
fi
|
||||
|
||||
# ********* MIT Shared Memory Extension
|
||||
AC_ARG_ENABLE(shm,
|
||||
[ --disable-shm disable MIT Shared Memory Extension],
|
||||
[ if test x"$enableval" = xyes; then
|
||||
with_shm="yes, check"
|
||||
else
|
||||
with_shm="no"
|
||||
problem_shm=": Explicitly disabled"
|
||||
fi ],
|
||||
[ with_shm="not specified, check" ]
|
||||
)
|
||||
|
||||
AH_TEMPLATE([HAVE_XSHM],[Define if MIT Shared Memory extension is used.])
|
||||
if test x"$with_shm" != xno; then
|
||||
AC_CHECK_HEADER(X11/extensions/XShm.h, [
|
||||
AC_CHECK_LIB(Xext, XShmQueryExtension,
|
||||
with_shm=yes; AC_DEFINE(HAVE_XSHM),
|
||||
with_shm=no;
|
||||
problem_shm=": Can't detect MIT Shared Memory ext.",
|
||||
[$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
|
||||
],problem_shm=": Can't detect MIT Shared Memory headers.",[#include <X11/Xlib.h>])
|
||||
fi
|
||||
if test x"$with_shm" = xyes ; then
|
||||
X_LIBS="$X_LIBS -lXext"
|
||||
fi
|
||||
|
||||
# Checks for libraries.
|
||||
AC_CHECK_LIB([GL], [XCloseDisplay])
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([fcntl.h memory.h stdlib.h string.h sys/ioctl.h sys/time.h termios.h unistd.h stdint.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_TYPE_SIZE_T
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
|
||||
AC_DEFINE([VERSION_MAJOR], _VERSION_MAJOR, [The major version number])
|
||||
AC_DEFINE([VERSION_MINOR], _VERSION_MINOR, [The minor version number])
|
||||
AC_DEFINE([PATCHLEVEL], _PATCHLEVEL, [The patch level])
|
||||
|
||||
|
||||
AC_DEFINE_UNQUOTED([COMPILE_TIME], "`date`", [Date program was compiled])
|
||||
AC_DEFINE([COMPILE_BY], ["G. Allen Morris III"], [Name of person that compiled this program])
|
||||
AC_DEFINE([COMPILE_VERSION], [0], [description])
|
||||
|
||||
# Checks for library functions.
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_MALLOC
|
||||
AC_FUNC_SELECT_ARGTYPES
|
||||
AC_FUNC_STAT
|
||||
AC_CHECK_FUNCS([bzero gethostname gettimeofday memset mkdir select strdup strrchr uname])
|
||||
|
||||
PKG_CHECK_MODULES(APPDEFS, xt)
|
||||
AC_ARG_WITH([appdefaultdir],
|
||||
[AC_HELP_STRING([--with-appdefaultdir=DIR],
|
||||
[Xt app-defaults directory (default: from pkg-config)])],
|
||||
[appdefaultdir="$withval"],
|
||||
[appdefaultdir=`$PKG_CONFIG --variable=appdefaultdir xt`])
|
||||
AC_SUBST(appdefaultdir)
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
romdump/Makefile
|
||||
src/x48.man
|
||||
rpm/x48.spec
|
||||
src/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
echo "
|
||||
X48 Configuration:
|
||||
|
||||
Version: $VERSION$VERSIONINFO
|
||||
|
||||
Executables: $bindir
|
||||
Man pages: $mandir
|
||||
|
||||
With ReadLine sup. in Debuger? $with_readline$problem_readline
|
||||
With Shared memory for XImage? $with_shm$problem_shm
|
||||
|
||||
# See INSTALL for the description of what this may mean."
|
||||
|
9
debian/README.Debian
vendored
Normal file
9
debian/README.Debian
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
x48 for Debian
|
||||
--------------
|
||||
|
||||
This program requires you to create a .hp48 directory in your home
|
||||
directory, and put a rom dump into that directory.
|
||||
|
||||
Rom dumps are available from http://developer.berlios.de/projects/x48/
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net>, Wed, 5 Jan 2005 14:54:21 -0500
|
66
debian/changelog
vendored
Normal file
66
debian/changelog
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
x48 (0.6.4) unstable; urgency=low
|
||||
|
||||
* Default to throttling speed only when key-pressed
|
||||
* Add throttle switch for speed emulation
|
||||
* Fix buffer overflow bug
|
||||
* release keys on loss of focus
|
||||
* typo in access_time adjust
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Tue, 09 Aug 2011 22:43:23 -0700
|
||||
|
||||
x48 (0.6.3) unstable; urgency=low
|
||||
|
||||
* update to x48.spec
|
||||
* put debian directory in dist file
|
||||
* install X48 app data in correct place
|
||||
using pkg-config appdefaultdir xt
|
||||
* removed more debugging messages
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Sat, 30 Jan 2010 18:16:00 -0500
|
||||
|
||||
x48 (0.6.2) unstable; urgency=low
|
||||
* Remove some Local code that was causing bug 016244, 016778
|
||||
* Removed some debugging code
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Sat, 30 Jan 2010 10:15:43 -0500
|
||||
|
||||
x48 (0.6.1) unstable; urgency=low
|
||||
|
||||
* Cleaned up the configure.ac file
|
||||
it now fails if X is missing and includes X11 and Xext in X_LIBS
|
||||
* Applied patch for bug ID 015996 (berlios) this should solve the
|
||||
scrambled 'LCD' problem.
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Fri, 31 Jul 2009 22:32:55 -0400
|
||||
|
||||
x48 (0.6.0) unstable; urgency=low
|
||||
|
||||
* Added simple paste feature
|
||||
* Repaired debugger non-readline input
|
||||
* Changed from building with Imakefile to using GNU autoconfig
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Thu, 20 Apr 2006 08:09:01 -0400
|
||||
|
||||
x48 (0.4.3) unstable; urgency=low
|
||||
|
||||
* Imporved mouse and refresh
|
||||
|
||||
* Unix98 PTY (Preferred)
|
||||
|
||||
* Fix to clock
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Fri, 22 Apr 2005 13:00:14 -0400
|
||||
|
||||
x48 (0.4.2) unstable; urgency=low
|
||||
|
||||
* Cursor Flashing
|
||||
* Auto repeat on movement and del keys.
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Fri, 22 Apr 2005 13:00:14 -0400
|
||||
|
||||
x48 (0.4.0) unstable; urgency=low
|
||||
|
||||
* Initial Release.
|
||||
|
||||
-- G. Allen Morris III <gam3@gam3.net> Wed, 5 Jan 2005 14:54:21 -0500
|
||||
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
5
|
13
debian/control
vendored
Normal file
13
debian/control
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Source: x48
|
||||
Section: x11
|
||||
Priority: optional
|
||||
Maintainer: G. Allen Morris III <gam3@gam3.net>
|
||||
Build-Depends: debhelper (>= 5.0.0), libx11-dev, libxext-dev, pkg-config, libxt-dev, autoconf
|
||||
Standards-Version: 3.8.2
|
||||
|
||||
Package: x48
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: a HP48 calculator emulator
|
||||
This is an emulator of the HP 48 SX and GX calculator.
|
||||
You will need a ROM dump to use it.
|
27
debian/copyright
vendored
Normal file
27
debian/copyright
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
This package was debianized by G. Allen Morris III <gam3@gam3.net> on
|
||||
Wed, 5 Jan 2005 14:54:21 -0500.
|
||||
|
||||
It was downloaded from http://developer.berlios.de/projects/x48/
|
||||
|
||||
Copyright: 1994 Eddie C. Dost <ecd@dressler.de>
|
||||
|
||||
Upstream Author: Eddie C. Dost <ecd@dressler.de>
|
||||
|
||||
License:
|
||||
|
||||
This software is Copyright (C) 1994 Eddie C. Dost <ecd@dressler.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License Version 2, found on Debian systems
|
||||
in the file /usr/share/common-licenses/GPL .
|
||||
|
1
debian/dirs
vendored
Normal file
1
debian/dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
usr/bin
|
1
debian/docs
vendored
Normal file
1
debian/docs
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
README
|
2
debian/menu
vendored
Normal file
2
debian/menu
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
?package(x48):needs="X11|text|vc|wm" section="Apps/Math"\
|
||||
title="x48" command="/usr/bin/x48"
|
89
debian/rules
vendored
Executable file
89
debian/rules
vendored
Executable file
|
@ -0,0 +1,89 @@
|
|||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
CFLAGS = -Wall -g
|
||||
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -O0
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
|
||||
autoreconf
|
||||
./configure --prefix=/usr
|
||||
|
||||
touch configure-stamp
|
||||
|
||||
|
||||
build: build-stamp
|
||||
|
||||
build-stamp: configure-stamp
|
||||
dh_testdir
|
||||
|
||||
$(MAKE)
|
||||
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp configure-stamp
|
||||
|
||||
# Add here commands to clean up after the build process.
|
||||
[ ! -f Makefile ] || $(MAKE) distclean
|
||||
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/x48.
|
||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/x48
|
||||
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs
|
||||
dh_installdocs
|
||||
dh_installexamples
|
||||
# dh_install
|
||||
# dh_installmenu
|
||||
# dh_installdebconf
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installinfo
|
||||
dh_installman
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
# dh_perl
|
||||
# dh_python
|
||||
# dh_makeshlibs
|
||||
dh_installdeb
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
6
debian/watch
vendored
Normal file
6
debian/watch
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Example watch control file for uscan
|
||||
# Rename this file to "watch" and then you can run the "uscan" command
|
||||
# to check for upstream updates and more.
|
||||
# Site Directory Pattern Version Script
|
||||
version=2
|
||||
http://www.hpcalc.org/hp48/pc/emulators/x48-(.*)\.tgz
|
16
doc/CARDS.doc
Normal file
16
doc/CARDS.doc
Normal file
|
@ -0,0 +1,16 @@
|
|||
Q: How do you dump the Equation Lib?
|
||||
|
||||
A: Well, I guess you would have to use some sort of Card copying
|
||||
program from the HP48. This should give you an Image of the card.
|
||||
|
||||
You should convert it into an x48 rom-file. Look at dump2rom.c.
|
||||
There should be changes for the size of the Card!!!
|
||||
|
||||
Then you should copy this to "$HOME/.hp48/port1" or "$HOME/.hp48/port2".
|
||||
|
||||
Change the file to read only, use 'chmod 444 $HOME/.hp48/port1'.
|
||||
The emulator will notice, this is a ROM.
|
||||
|
||||
You are mainly on your own here, I don't have such a card, so I can't
|
||||
try, but I hope it helps.
|
||||
|
339
doc/COPYING
Normal file
339
doc/COPYING
Normal file
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
190
doc/ChangeLog
Normal file
190
doc/ChangeLog
Normal file
|
@ -0,0 +1,190 @@
|
|||
1995/01/16 Version 0.4.0 On the net
|
||||
|
||||
- Implemented CONFIG/UNCNFG more exactly.
|
||||
|
||||
- Added support for different RAM or ROM cards.
|
||||
|
||||
- Added G/GX support (lost of changes)
|
||||
new colors, new labels, ...
|
||||
|
||||
- Rewrote ROMDump for both S/SX and G/GX. Lots faster now.
|
||||
Thanks go to Robert Tiismus <robert@Sneezy.net.ut.ee>
|
||||
|
||||
- Corrected handling of Display and Menu images, fixed number
|
||||
of lines in init_display(), to avoid XShmError on virgin
|
||||
startup
|
||||
|
||||
- Catch SIGPIPE and save state, so everything is saved, when
|
||||
x48 gets terminated by xkill or the window manager
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/12/07 Version 0.3.5 On the net
|
||||
|
||||
- Serial and terminal lines now have the baudrate set
|
||||
correctly.
|
||||
|
||||
. Watch out for the IR (serial) connection: speed is
|
||||
always set to 2400 Baud by the HP
|
||||
. On the wire (terminal) connection speed is set to the
|
||||
selected value
|
||||
|
||||
- Removed stupid rounding in adjtime routine
|
||||
|
||||
. This caused missing of some part of a second when
|
||||
adjusting the time on the HP
|
||||
|
||||
- Suppress adjusting timer2 if this would cause an
|
||||
increase of the timer, slow down the timer instead.
|
||||
|
||||
. Thanks go to Lutz Vieweg (he spotted this bug, while
|
||||
trying to use QED. (lkv@mania.robin.de)
|
||||
|
||||
- Support for contrast control (ON_+, ON_-) added
|
||||
|
||||
|
||||
- Started command line parsing... (see below)
|
||||
|
||||
Changes to the X11 Interface
|
||||
----------------------------
|
||||
|
||||
- Implemented color-icon. Show state of HP48 in icon:
|
||||
|
||||
. if 'x48' is displayed, calculator is on.
|
||||
. if 'x48' is blinking, calculator is transfering data.
|
||||
|
||||
- Implemented use of the WM_SAVE_YOURSELF protocol.
|
||||
|
||||
- x48 now uses Xrm...() functions to parse and use
|
||||
Xresources and the command line.
|
||||
|
||||
- Better handling of ButtonPresses and KeyPresses
|
||||
|
||||
- The program now sets the WM_COMMAND property
|
||||
|
||||
- Now colors look well on monochrome and gray
|
||||
|
||||
- A new Colormap is allocated if the standard Colormap is full
|
||||
|
||||
- All possible visuals are supported by the color allocation
|
||||
modell (at least on Linux, I don't really know how to handle
|
||||
DirectColor ...)
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/11/02 Version 0.3.4 On the net
|
||||
|
||||
- Real time support mostly works (uses system time)
|
||||
|
||||
- Stores ROM, RAM, and Ports in 'compressed' format
|
||||
|
||||
- tty lines work on HPUX
|
||||
Thanks go to Lutz Vieweg (lkv@mania.robin.de)
|
||||
|
||||
- debugger now works on operating systems, where timers interrupt
|
||||
the read system call.
|
||||
|
||||
- Debugger now uses Class instruction set
|
||||
|
||||
- Disassembler completed (at least hope so)
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/10/06 Version 0.3.3 On the net
|
||||
|
||||
|
||||
- checkrom, a program to test the ROM CRC included
|
||||
|
||||
- tty lines work on IRIX
|
||||
Thanks go to !!!LOOK AT THE MAIL!!!
|
||||
|
||||
- faster X11 interface
|
||||
Uses Pixmaps now to update changed nibbles.
|
||||
Whenever possible uses XSHM Extension to update
|
||||
the display.
|
||||
|
||||
- Start of debugger implementation
|
||||
|
||||
- Disassembler started (HP & Alonzo)
|
||||
|
||||
- SHUTDN bug fixed (didn't wake on received chars)
|
||||
Thanks go to Lutz Vieweg (lkv@mania.robin.de)
|
||||
|
||||
- Display bit offset implemented
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/10/02 Version 0.3.2 not published
|
||||
|
||||
- Major speed improvement due to scheduling of emulator
|
||||
specific events (timers, adjtime, receive, ...)
|
||||
This *really* speeds up the main emulator loop.
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/09/30 Version 0.3.1 not published
|
||||
|
||||
- Added MAGIC number to ~/.hp48/hp48 file
|
||||
|
||||
- Minor optimizations
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/09/18 Second Release (Version 0.2)
|
||||
|
||||
- Pure X11 interface
|
||||
|
||||
- Start of real time support
|
||||
|
||||
- SHUTDN implemented
|
||||
|
||||
- Keyboard support
|
||||
|
||||
- Compiles better (less warnings) on SunOS, Solaris
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/08/26 Initial Release (Version 0.1)
|
||||
|
||||
- Emulates the HP48sx fairly
|
||||
|
||||
- Compiles well only on Linux
|
||||
|
||||
- Uses XView Panel and Canvas
|
||||
|
||||
- Must be started in source directory
|
||||
|
||||
- No SHUTDN
|
||||
|
||||
- No real time
|
||||
|
||||
- Misses HP48 keyboard interrupts
|
||||
|
||||
- Slow
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/07 Look at em48 by Paul Fox
|
||||
|
||||
- Starts to run like a HP48
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/05 First Versions
|
||||
|
||||
- No Display at all, merely debugging output
|
||||
|
||||
|
||||
**********************************************************************
|
||||
|
||||
1994/04 Fed up with stupid Desktop Calculators
|
||||
|
34
doc/INSTALLING
Normal file
34
doc/INSTALLING
Normal file
|
@ -0,0 +1,34 @@
|
|||
INSTALLATION
|
||||
============
|
||||
|
||||
I improved handling of differences in Solaris, SunOS, HP/UX, and Linux.
|
||||
Things are not perfect, anyway.
|
||||
|
||||
To configure some things for the Makefiles, edit 'config.h' in the
|
||||
directory 'x48-0.4.0'. There you can set the compiler, flags to
|
||||
pass to the compiler, and some other stuff.
|
||||
|
||||
To build the emulator do the following in the directory 'x48-0.4.0':
|
||||
|
||||
1. xmkmf
|
||||
2. make
|
||||
|
||||
This should give you the programs 'x48', 'dump2rom', and 'checkrom'
|
||||
'mkcard' in the directory 'x48-0.4.0/bin'.
|
||||
|
||||
To get the serial line working, you should set up your .Xdefaults for
|
||||
x48. The resources concerning the serial line are:
|
||||
|
||||
x48*useSerial: True
|
||||
x48*serialLine: /dev/ttyS0 ; your serial device here, this
|
||||
; looks good for Linux.
|
||||
|
||||
Run 'x48 -help' for a list of command line options.
|
||||
|
||||
Look at 'x48-0.4.0/src/X48.ad' for the whole set of Xresources the
|
||||
program uses.
|
||||
|
||||
To use RAM cards (128K or 32K on the SX, up to 4M on the GX), use the
|
||||
program 'mkcard', and put the resulting file in the directory ~/.hp48/
|
||||
in a file called 'port1' or 'port2'.
|
||||
|
36
doc/ROMDump.doc
Normal file
36
doc/ROMDump.doc
Normal file
|
@ -0,0 +1,36 @@
|
|||
This is ROMDump, a utility to dump the ROM of ANY HP48
|
||||
======================================================
|
||||
|
||||
|
||||
Usage: (2:hxs, 1:hxs --> ) pop start address from level 2,
|
||||
pop end address from level 1, and dump
|
||||
ROM to the serial at 9600 baud using
|
||||
lines of form "aaaaa:hhhhhhhhhhhhhhhh\n\r"
|
||||
with 16 nibbles ROM data hhhhhhhhhhhhhhhh
|
||||
at address aaaaa.
|
||||
|
||||
|
||||
- Download the file ROMDump to your HP.
|
||||
|
||||
- To capture a complete ROM, start kermit on your computer,
|
||||
set the line so that it fits your HP (use speed == 9600)
|
||||
and type 'log session', then 'connect'.
|
||||
|
||||
- On your HP48 S/SX type '#0h #7FFF0h ROMDump' or on the G/GX
|
||||
'#0h #FFFF0h ROMDump'. This will give you a complete ROM dump.
|
||||
This will take about 15 minutes on the S/SX, 30 minutes on the G/GX.
|
||||
|
||||
- When done, type the kermit-Escape (usually CTRL-\) followed
|
||||
by 'C' on your Computer. Say 'quit' to the kermit.
|
||||
|
||||
- Your ROM should now be in the file 'session.log'.
|
||||
|
||||
|
||||
|
||||
- To dump a certain range of ROM, enter the start-address in hex
|
||||
and the end address in hex, and press 'ROMDump'.
|
||||
|
||||
(For example: '#7FFF0h #7FFFFh' ROMDump will output
|
||||
"7FFF0:84054383D21467BC\n\r" on a Version A S/SX.)
|
||||
|
||||
|
35
doc/TODO
Normal file
35
doc/TODO
Normal file
|
@ -0,0 +1,35 @@
|
|||
TODO -- HP48sx Emulator x48
|
||||
===========================
|
||||
|
||||
Write an MMU. Will increase speed significantly.
|
||||
|
||||
Contact Eric Bryntse:
|
||||
- ask for description of his Gateway-48 library
|
||||
to trace down the following bug:
|
||||
When an alarm wakes up x48, it is not starting
|
||||
the exec without being given a password.
|
||||
|
||||
Find a way to handle NumLock on those Solaris OpenWindows machines...
|
||||
(take a look at xterm source)
|
||||
|
||||
There should be a menu popping up when the HP Logo in the top left is
|
||||
hit. It should contain some useful things like
|
||||
|
||||
- RESET BUTTON
|
||||
- Configuration (Serial, start kermit automatically, ...)
|
||||
- Port configuration (pull card, insert ROM/RAM card, etc.)
|
||||
- Pop up a window with debug outputs (speed, cpu usage, PC, ...)
|
||||
- The 'About x48' field
|
||||
|
||||
!!! Implement an Instruction Cache ... !!! <- SPEED
|
||||
|
||||
Speed up register arithmetic. +- SPEED
|
||||
|
||||
Implement a function "load file (filename)":
|
||||
|
||||
- Read a file starting with "HPHP48-%c"
|
||||
- try putting it on the stack as HP Object
|
||||
- should not be hard to store it in a variable called 'filename' then
|
||||
|
||||
--> Here we got a fast bypass to the kermit protocol.
|
||||
|
4
romdump/Makefile.am
Normal file
4
romdump/Makefile.am
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
EXTRA_DIST = ROMDump.s ROMDump
|
||||
|
||||
|
63
romdump/README
Normal file
63
romdump/README
Normal file
|
@ -0,0 +1,63 @@
|
|||
This file is part of ROMDump, a ROM dump utilty for the HP48sx Calculator.
|
||||
Copyright (C) 1994 Eddie C. Dost (ecd@dressler.de)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
|
||||
|
||||
This is ROMDump, a utility to dump the ROM of ANY HP48
|
||||
======================================================
|
||||
|
||||
|
||||
|
||||
Usage: (2:hxs, 1:hxs --> ) pop start address from level 2,
|
||||
pop end address from level 1, and dump
|
||||
ROM to the serial at 9600 baud using
|
||||
lines of form "aaaaa:hhhhhhhhhhhhhhhh\n\r"
|
||||
with 16 nibbles ROM data hhhhhhhhhhhhhhhh
|
||||
at address aaaaa.
|
||||
|
||||
|
||||
|
||||
- Download the file ROMDump to your HP.
|
||||
|
||||
- To capture a complete ROM, start kermit on your computer,
|
||||
set the line so that it fits your HP (use speed == 9600)
|
||||
and type 'log session', then 'connect'.
|
||||
|
||||
- On your HP48 S/SX type '#0h #7FFF0h ROMDump' or on the G/GX
|
||||
'#0h #FFFF0h ROMDump'. This will give you a complete ROM dump.
|
||||
This will take about 15 minutes on the S/SX, 30 minutes on the G/GX.
|
||||
|
||||
- When done, type the kermit-Escape (usually CTRL-\) followed
|
||||
by 'C' on your Computer. Say 'quit' to the kermit.
|
||||
|
||||
- Your ROM should now be in the file 'session.log'.
|
||||
|
||||
|
||||
|
||||
- To dump a certain range of ROM, enter the start-address in hex
|
||||
and the end address in hex, and press 'ROMDump'.
|
||||
|
||||
(For example: '#7FFF0h #7FFFFh' ROMDump will output
|
||||
"7FFF0:84054383D21467BC\n\r" on a Version A S/SX.)
|
||||
|
||||
|
||||
I have included the assembler source (class version) for those
|
||||
interested in fiddling with the hidden ROM...
|
||||
|
||||
|
||||
|
||||
Eddie C. Dost (ecd@dressler.de)
|
BIN
romdump/ROMDump
Normal file
BIN
romdump/ROMDump
Normal file
Binary file not shown.
464
romdump/ROMDump.s
Normal file
464
romdump/ROMDump.s
Normal file
|
@ -0,0 +1,464 @@
|
|||
;
|
||||
; $Id: ROMDump.s,v 1.4 1995/01/11 18:21:36 ecd Exp ecd $
|
||||
;
|
||||
; This file is part of ROMDump, a ROM dump utility for the HP48 Calculator.
|
||||
; Copyright (C) 1994 Eddie C. Dost (ecd@dressler.de)
|
||||
;
|
||||
; This program is free software; you can redistribute it and/or modify
|
||||
; it under the terms of the GNU General Public License as published by
|
||||
; the Free Software Foundation; either version 2 of the License, or
|
||||
; (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program; if not, write to the Free Software
|
||||
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
;
|
||||
; Usage:
|
||||
;
|
||||
; (2: hxs, 1: hxs --> ) pop start address from level 2,
|
||||
; pop end address from level 1, and dump
|
||||
; ROM to the serial at 9600 baud using
|
||||
; lines of form "aaaaa:hhhhhhhhhhhhhhhh\n\r"
|
||||
; with 16 nibbles ROM data hhhhhhhhhhhhhhhh
|
||||
; at address aaaaa.
|
||||
;
|
||||
; machine independent addresses (supported by HP)
|
||||
;
|
||||
AllowIntr equ $010e5
|
||||
DisableIntr equ $01115
|
||||
DOBINT equ $02911
|
||||
DOCOL equ $02d9d
|
||||
DOCODE equ $02dcc
|
||||
SEMI equ $0312b
|
||||
GETPTRLOOP equ $05143
|
||||
SAVPTR equ $0679b
|
||||
GETPTR equ $067d2
|
||||
CK2NOLASTWD equ $18a8d
|
||||
CKandDISPATCH1 equ $18fb2
|
||||
VERSTRING equ $30794
|
||||
PopASavptr equ $3251c
|
||||
;
|
||||
; machine independent addresses (NOT supported by HP)
|
||||
;
|
||||
POPHXS equ $53f8d
|
||||
|
||||
;
|
||||
; machine dependent addresses
|
||||
;
|
||||
sx_GosubHidC equ $026bf
|
||||
sx_prog_low equ $700f1 ; IRAMBUFF
|
||||
sx_prog_high equ $f00f1 ; IRAMBUFF when RAM configured high
|
||||
|
||||
gx_GosubHidC equ $026ca
|
||||
gx_prog_low equ $800f5 ; IRAMBUFF
|
||||
gx_prog_high equ $c00f5 ; IRAMBUFF when RAM configured high
|
||||
gx_LINECOUNT equ $8069a
|
||||
|
||||
;
|
||||
; flags used
|
||||
;
|
||||
sGX equ 0
|
||||
sHIGH equ 1
|
||||
|
||||
;
|
||||
; begin off assembler code
|
||||
;
|
||||
textr "HPHP48-R"
|
||||
|
||||
dcr.5 DOCOL
|
||||
dcr.5 CK2NOLASTWD
|
||||
dcr.5 CKandDISPATCH1
|
||||
dcr.5 DOBINT
|
||||
dcr.5 $000bb
|
||||
|
||||
;
|
||||
; only executed when (2: hxs, 1: hxs)
|
||||
;
|
||||
dcr.5 DOCOL
|
||||
dcr.5 VERSTRING
|
||||
|
||||
dcr.5 DOCODE
|
||||
code_start
|
||||
dcr.5 code_end-code_start
|
||||
|
||||
jsr DisableIntr
|
||||
|
||||
;
|
||||
; figure out version
|
||||
;
|
||||
jsr PopASavptr
|
||||
move.1 #0, p
|
||||
move.5 #24, c.p
|
||||
add.a c, a
|
||||
move.a a, d1
|
||||
move.b (d1), a
|
||||
move.2 #$4a, c.p ; 'J' == last version for S/SX
|
||||
bclr #sGX, st
|
||||
ble.b a, c, got_version
|
||||
bset #sGX, st
|
||||
got_version
|
||||
bclr #sHIGH, st
|
||||
|
||||
;
|
||||
; get arguments
|
||||
;
|
||||
jsr GETPTR
|
||||
jsr POPHXS
|
||||
move.1 #0, p
|
||||
move.5 #$ffff0, c.p
|
||||
and.a c, a
|
||||
move.a a, r4
|
||||
|
||||
jsr GETPTR
|
||||
jsr POPHXS
|
||||
move.1 #0, p
|
||||
move.5 #$ffff0, c.p
|
||||
and.a c, a
|
||||
move.a a, r3
|
||||
|
||||
;
|
||||
; open IO
|
||||
;
|
||||
move.5 #$00110, d1
|
||||
move.1 #8, a.p
|
||||
move.1 a, (d1)
|
||||
|
||||
;
|
||||
; set speed to 9600 baud
|
||||
;
|
||||
move.2 #$0d, d1
|
||||
move.1 #6, a.p
|
||||
move.1 a, (d1)
|
||||
|
||||
;
|
||||
; dump ROM $00000 - $6ffff
|
||||
;
|
||||
dump_rom_0
|
||||
move.a r3, a
|
||||
move.5 #$6fff0, c.p
|
||||
bgt.a a, c, dump_rom_7
|
||||
move.a a, r1
|
||||
|
||||
move.a r4, c
|
||||
move.a c, b
|
||||
move.5 #$6fff0, c.p
|
||||
ble.a b, c, end_addr_0
|
||||
move.a c, b
|
||||
end_addr_0
|
||||
subr.a b, a
|
||||
bcc continue_0
|
||||
bra.3 dump_done
|
||||
continue_0
|
||||
move.a a, r2
|
||||
|
||||
bsr.3 prog_start
|
||||
|
||||
move.5 #$70000, a.p
|
||||
move.a a, r3
|
||||
|
||||
;
|
||||
; dump ROM $70000 - $7ffff
|
||||
;
|
||||
dump_rom_7
|
||||
move.a r3, a
|
||||
move.5 #$7fff0, c.p
|
||||
bgt.a a, c, dump_done_7
|
||||
bra.3 continue_7
|
||||
dump_done_7
|
||||
bbs #sGX, st, continue_8
|
||||
bra.3 dump_done
|
||||
continue_8
|
||||
bra.3 dump_rom_8
|
||||
continue_7
|
||||
move.a a, r1
|
||||
|
||||
move.a r4, c
|
||||
move.a c, b
|
||||
move.5 #$7fff0, c.p
|
||||
ble.a b, c, end_addr_7
|
||||
move.a c, b
|
||||
end_addr_7
|
||||
subr.a b, a
|
||||
bcc continue_7_2
|
||||
bra.3 dump_done
|
||||
continue_7_2
|
||||
move.a a, r2
|
||||
|
||||
bbs #sGX, st, gx_dump_rom_7
|
||||
bsr.3 copy_prog
|
||||
move.5 #sx_prog_high, c.p
|
||||
jsr sx_GosubHidC
|
||||
bsr.3 copy_prog
|
||||
bra.3 dump_done
|
||||
|
||||
gx_dump_rom_7
|
||||
;
|
||||
; unconfigure devices at 7e000 - 7ffff
|
||||
;
|
||||
move.5 #$7f000, c.p
|
||||
uncnfg
|
||||
move.5 #$7e000, c.p
|
||||
uncnfg
|
||||
|
||||
bsr.3 prog_start
|
||||
|
||||
;
|
||||
; reconfigure devices at 7e000 - 7ffff
|
||||
;
|
||||
move.5 #$ff000, c.p
|
||||
config
|
||||
move.5 #$7f000, c.p
|
||||
config
|
||||
move.5 #$ff000, c.p
|
||||
config
|
||||
move.5 #$7e000, c.p
|
||||
config
|
||||
|
||||
move.5 #$80000, a.p
|
||||
move.a a, r3
|
||||
|
||||
;
|
||||
; dump ROM $80000 - $bffff
|
||||
;
|
||||
dump_rom_8
|
||||
move.a r3, a
|
||||
move.5 #$bfff0, c.p
|
||||
bgt.a a, c, dump_rom_c
|
||||
move.a a, r1
|
||||
|
||||
move.a r4, c
|
||||
move.a c, b
|
||||
move.5 #$bfff0, c.p
|
||||
ble.a b, c, end_addr_8
|
||||
move.a c, b
|
||||
end_addr_8
|
||||
subr.a b, a
|
||||
bcc continue_8_2
|
||||
bra.3 dump_done
|
||||
continue_8_2
|
||||
move.a a, r2
|
||||
|
||||
bsr.3 copy_prog
|
||||
move.5 #gx_prog_high, c.p
|
||||
jsr gx_GosubHidC
|
||||
bsr.3 copy_prog
|
||||
|
||||
move.5 #$c0000, a.p
|
||||
move.a a, r3
|
||||
|
||||
;
|
||||
; dump ROM $c0000 - $fffff
|
||||
;
|
||||
dump_rom_c
|
||||
move.a r3, a
|
||||
move.a a, r1
|
||||
|
||||
move.a r4, c
|
||||
move.a c, b
|
||||
move.5 #$ffff0, c.p
|
||||
ble.a b, c, end_addr_c
|
||||
move.a c, b
|
||||
end_addr_c
|
||||
subr.a b, a
|
||||
bcs dump_done
|
||||
move.a a, r2
|
||||
|
||||
bsr.3 copy_prog
|
||||
bset #sHIGH, st
|
||||
jsr gx_prog_low
|
||||
bsr.3 copy_prog
|
||||
|
||||
dump_done
|
||||
;
|
||||
; close IO
|
||||
;
|
||||
bsr.3 send_crnl
|
||||
move.5 #$00110, d1
|
||||
move.1 #0, a.p
|
||||
move.1 a, (d1)
|
||||
|
||||
;
|
||||
; back to RPL
|
||||
;
|
||||
jsr AllowIntr
|
||||
jmp GETPTRLOOP
|
||||
|
||||
;
|
||||
; exchange program with memory at address prog_low
|
||||
;
|
||||
copy_prog
|
||||
move.a pc, c
|
||||
prog_offset
|
||||
move.5 #prog_start-prog_offset, a.p
|
||||
add.a a, c
|
||||
move.a c, d0
|
||||
bbs #sGX, st, gx_addr
|
||||
move.5 #sx_prog_low, d1
|
||||
bra.3 sx_addr
|
||||
gx_addr
|
||||
move.5 #gx_prog_low, d1
|
||||
sx_addr
|
||||
move.5 #prog_end-prog_start, a.p
|
||||
lsr.a #4, a
|
||||
move.a a, b
|
||||
|
||||
copy_word
|
||||
move.w (d0), a
|
||||
move.w (d1), c
|
||||
move.w c, (d0)
|
||||
move.w a, (d1)
|
||||
add.a #16, d0
|
||||
add.a #16, d1
|
||||
dec.a b
|
||||
bcc copy_word
|
||||
rtn
|
||||
|
||||
;
|
||||
; this is the start of the actual dump routine
|
||||
;
|
||||
prog_start
|
||||
bbc #sHIGH, st, skip_uncover_c
|
||||
;
|
||||
; uncover ROM at c0000 - fffff
|
||||
;
|
||||
move.5 #$7f000, d0
|
||||
move.b (d0), c
|
||||
move.5 #gx_LINECOUNT, d0
|
||||
move.b (d0), c
|
||||
bset #7, c
|
||||
move.b c, (d0)
|
||||
move.5 #$00128, d0
|
||||
move.b c, (d0)
|
||||
move.5 #$c0000, c.p
|
||||
uncnfg
|
||||
uncnfg
|
||||
|
||||
skip_uncover_c
|
||||
;
|
||||
; get start address and number of words
|
||||
;
|
||||
move.a r1, a
|
||||
move.a a, d0
|
||||
move.a r2, a
|
||||
|
||||
;
|
||||
; dump the ROM
|
||||
;
|
||||
loop
|
||||
move.a a, r0
|
||||
bsr.3 send_addr
|
||||
move.2 #$3a, c.p
|
||||
bsr.3 send_char
|
||||
move.w (d0), c
|
||||
bsr.3 send_data
|
||||
bsr.3 send_crnl
|
||||
|
||||
add.a #16, d0
|
||||
move.a r0, a
|
||||
sub.a #16, a
|
||||
bcc loop
|
||||
|
||||
bbc #sHIGH, st, skip_cover_c
|
||||
;
|
||||
; reconfigure memory ports at c0000
|
||||
;
|
||||
move.5 #$c0000, c.p
|
||||
config
|
||||
config
|
||||
config
|
||||
config
|
||||
move.5 #gx_LINECOUNT, d0
|
||||
move.b (d0), c
|
||||
bclr #7, c
|
||||
move.b c, (d0)
|
||||
move.5 #$00128, d0
|
||||
move.b c, (d0)
|
||||
move.5 #$7f040, d0
|
||||
move.b (d0), c
|
||||
|
||||
skip_cover_c
|
||||
rtn
|
||||
|
||||
;
|
||||
; send data in C.W as hex characters
|
||||
;
|
||||
send_data
|
||||
move.w c, b
|
||||
move.2 #$0f, c.p
|
||||
move.b c, d
|
||||
bra.3 send_all
|
||||
|
||||
;
|
||||
; send addr in D0 as hex characters
|
||||
;
|
||||
send_addr
|
||||
exg.a a, d0
|
||||
move.a a, c
|
||||
exg.a a, d0
|
||||
exg.1 p, c.4
|
||||
exg.1 p, c.0
|
||||
exg.1 p, c.4
|
||||
exg.1 p, c.3
|
||||
exg.1 p, c.1
|
||||
exg.1 p, c.3
|
||||
move.a c, b
|
||||
move.2 #$04, c.p
|
||||
move.b c, d
|
||||
|
||||
;
|
||||
; send D.B many nibbles from B.W
|
||||
;
|
||||
send_all
|
||||
clr.b c
|
||||
move.p b, c
|
||||
bsr.3 send_hex_nib
|
||||
lsr.w #4, b
|
||||
dec.b d
|
||||
bcc send_all
|
||||
rtn
|
||||
|
||||
;
|
||||
; send "\n\r"
|
||||
;
|
||||
send_crnl
|
||||
move.2 #$0d, c.p
|
||||
bsr.3 send_char
|
||||
move.2 #$0a, c.p
|
||||
bsr.3 send_char
|
||||
rtn
|
||||
|
||||
;
|
||||
; send nibble in C.B as hex character
|
||||
;
|
||||
send_hex_nib
|
||||
move.2 #$30, a.p
|
||||
add.b a, c
|
||||
move.2 #$39, a.p
|
||||
ble.b c, a, send_char
|
||||
move.2 #$07, a.p
|
||||
add.b a, c
|
||||
;
|
||||
; send character in C.B
|
||||
;
|
||||
send_char
|
||||
move.5 #$00112, d1
|
||||
xmtrdy
|
||||
move.1 (d1), a
|
||||
bbs #0, a, xmtrdy
|
||||
move.2 #$16, d1
|
||||
move.b c, (d1)
|
||||
rtn
|
||||
|
||||
prog_end
|
||||
dcr.8 $00000000
|
||||
dcr.8 $00000000
|
||||
|
||||
code_end
|
||||
|
||||
dcr.5 SEMI ; end of DISPATCH
|
||||
dcr.5 SEMI ; end of program object
|
45
rpm/x48.spec.in
Normal file
45
rpm/x48.spec.in
Normal file
|
@ -0,0 +1,45 @@
|
|||
Summary: x48 is an HP 48 GX emulator
|
||||
Name: x48
|
||||
Version: @VERSION@
|
||||
Release: 1
|
||||
License: GPL
|
||||
Group: Applications/Math
|
||||
URL: http://developer.berlios.de/projects/x48/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
Requires: libX11 libXext readline
|
||||
BuildRequires: autoconf libX11-devel libXext-devel readline-devel
|
||||
BuildRequires: libXt-devel
|
||||
|
||||
Source: http://download.berlios.de/x48/%{name}-%{version}.tar.gz
|
||||
|
||||
%description
|
||||
This is an emulator of the HP 48 SX and GX calculator.
|
||||
Romdumps are available from http://x48.berlios.de/
|
||||
|
||||
%define x11_app_defaults_dir %(pkg-config --variable appdefaultdir xt)
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--prefix=/usr
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README
|
||||
%{_bindir}/x48
|
||||
%{_bindir}/dump2rom
|
||||
%{_bindir}/checkrom
|
||||
%{_bindir}/mkcard
|
||||
%{_mandir}/man1/*
|
||||
%{x11_app_defaults_dir}/X48
|
||||
|
||||
|
68
src/Makefile.am
Normal file
68
src/Makefile.am
Normal file
|
@ -0,0 +1,68 @@
|
|||
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
bin_PROGRAMS = x48 dump2rom mkcard checkrom
|
||||
|
||||
BITMAPS = bitmaps/A.h bitmaps/B.h bitmaps/C.h bitmaps/D.h bitmaps/E.h bitmaps/F.h \
|
||||
bitmaps/G.h bitmaps/H.h bitmaps/I.h bitmaps/J.h bitmaps/K.h \
|
||||
bitmaps/L.h bitmaps/M.h bitmaps/N.h bitmaps/O.h bitmaps/P.h \
|
||||
bitmaps/Q.h bitmaps/R.h bitmaps/S.h bitmaps/T.h bitmaps/U.h \
|
||||
bitmaps/V.h bitmaps/W.h bitmaps/X.h bitmaps/Y.h bitmaps/Z.h \
|
||||
bitmaps/alpha.h bitmaps/angle.h bitmaps/angle_gx.h \
|
||||
bitmaps/ann_alpha.h bitmaps/ann_battery.h bitmaps/ann_busy.h \
|
||||
bitmaps/ann_io.h bitmaps/ann_left.h bitmaps/ann_right.h \
|
||||
bitmaps/arrow.h bitmaps/arrow_gx.h bitmaps/blank.h \
|
||||
bitmaps/bracket_gx.h bitmaps/bs.h bitmaps/colon.h \
|
||||
bitmaps/colon_gx.h bitmaps/comma.h bitmaps/comma_gx.h \
|
||||
bitmaps/curly_gx.h bitmaps/diff.h bitmaps/div.h bitmaps/down.h \
|
||||
bitmaps/equal.h bitmaps/equal_gx.h bitmaps/exp.h \
|
||||
bitmaps/exp_gx.h bitmaps/gx_128K_ram.h bitmaps/gx_green.h \
|
||||
bitmaps/gx_silver.h bitmaps/hash.h bitmaps/hash_gx.h \
|
||||
bitmaps/hp.h bitmaps/hp48_blue.h bitmaps/hp48_bottom.h \
|
||||
bitmaps/hp48_disp.h bitmaps/hp48_green_gx.h \
|
||||
bitmaps/hp48_icon.h bitmaps/hp48_keys.h bitmaps/hp48_logo.h \
|
||||
bitmaps/hp48_logo_gx.h bitmaps/hp48_on.h bitmaps/hp48_orange.h \
|
||||
bitmaps/hp48_text.h bitmaps/hp48_text_gx.h bitmaps/hp48_top.h \
|
||||
bitmaps/hp48_top_gx.h bitmaps/hp48gx.h bitmaps/hp48sx.h \
|
||||
bitmaps/integral.h bitmaps/inv.h bitmaps/last.h \
|
||||
bitmaps/lbrace.h bitmaps/lbracket.h bitmaps/lcurly.h \
|
||||
bitmaps/left.h bitmaps/menu_label.h bitmaps/minus.h \
|
||||
bitmaps/mul.h bitmaps/neg.h bitmaps/nl.h bitmaps/nl_gx.h \
|
||||
bitmaps/parens_gx.h bitmaps/pi.h bitmaps/pi_gx.h \
|
||||
bitmaps/plus.h bitmaps/pow10.h bitmaps/pow10_gx.h \
|
||||
bitmaps/power.h bitmaps/prog.h bitmaps/prog_gx.h \
|
||||
bitmaps/quote_gx.h bitmaps/rbrace.h bitmaps/rbracket.h \
|
||||
bitmaps/rcurly.h bitmaps/right.h bitmaps/root.h \
|
||||
bitmaps/root_gx.h bitmaps/science.h bitmaps/shl.h \
|
||||
bitmaps/shr.h bitmaps/sigma.h bitmaps/slash.h \
|
||||
bitmaps/small_colon.h bitmaps/sqr.h bitmaps/sqr_gx.h \
|
||||
bitmaps/sqrt.h bitmaps/string.h bitmaps/three.h bitmaps/two.h \
|
||||
bitmaps/under.h bitmaps/under_gx.h bitmaps/up.h
|
||||
|
||||
x48_SOURCES = actions.c debugger.c device.c \
|
||||
disasm.c emulate.c errors.c init.c \
|
||||
lcd.c main.c memory.c options.c register.c \
|
||||
resources.c romio.c rpl.c serial.c timer.c \
|
||||
x48_x11.c \
|
||||
annunc.h append.h buttons.h constants.h debugger.h \
|
||||
device.h disasm.h errors.h global.h hp48char.h hp48_emu.h \
|
||||
hp48.h hp.h icon.h mmu.h options.h resources.h romio.h rpl.h \
|
||||
small.h timer.h version.h X48.ad.h x48_x11.h \
|
||||
$(BITMAPS)
|
||||
|
||||
|
||||
dump2rom_SOURCES = dump2rom.c
|
||||
|
||||
mkcard_SOURCES = mkcard.c
|
||||
|
||||
checkrom_SOURCES = checkrom.c romio.c
|
||||
|
||||
man1_MANS = x48.man
|
||||
|
||||
EXTRA_DIST = $(man1_MANS) X48.ad
|
||||
|
||||
INCLUDES = $(X_CFLAGS)
|
||||
|
||||
x48_LDADD = $(X_LIBS)
|
||||
|
||||
|
68
src/X48.ad
Normal file
68
src/X48.ad
Normal file
|
@ -0,0 +1,68 @@
|
|||
!
|
||||
! This file is part of x48, an emulator of the HP-48sx Calculator.
|
||||
! Copyright (C) 1994 Eddie C. Dost <ecd@dressler.de>.
|
||||
!
|
||||
! This program is free software; you can redistribute it and/or modify
|
||||
! it under the terms of the GNU General Public License as published by
|
||||
! the Free Software Foundation; either version 2 of the License, or
|
||||
! (at your option) any later version.
|
||||
!
|
||||
! This program is distributed in the hope that it will be useful,
|
||||
! but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
! GNU General Public License for more details.
|
||||
!
|
||||
! You should have received a copy of the GNU General Public License
|
||||
! along with this program; if not, write to the Free Software
|
||||
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
!
|
||||
! $Id: X48.ad,v 1.2 1994/12/07 20:27:35 ecd Exp ecd $
|
||||
!
|
||||
|
||||
!
|
||||
! X11 related stuff
|
||||
!
|
||||
*iconic: False
|
||||
*visual: Default
|
||||
*mono: False
|
||||
*gray: False
|
||||
*monoIcon: False
|
||||
|
||||
*useXShm: True
|
||||
|
||||
*smallLabelFont: -*-fixed-bold-r-normal-*-14-*-*-*-*-*-iso8859-1
|
||||
*mediumLabelFont: -*-fixed-bold-r-normal-*-15-*-*-*-*-*-iso8859-1
|
||||
*largeLabelFont: -*-fixed-medium-r-normal-*-20-*-*-*-*-*-iso8859-1
|
||||
*connectionFont: -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso8859-1
|
||||
|
||||
!
|
||||
! informative stuff
|
||||
!
|
||||
*verbose: False
|
||||
*quiet: False
|
||||
|
||||
*printVersion: False
|
||||
*printCopyright: False
|
||||
*printWarranty: False
|
||||
|
||||
!
|
||||
! resources controlling the connections
|
||||
!
|
||||
*useTerminal: True
|
||||
*useSerial: False
|
||||
*serialLine: /dev/ttyS0
|
||||
|
||||
!
|
||||
! stuff controlling initialization
|
||||
!
|
||||
*completeInitialize: False
|
||||
*resetOnStartup: False
|
||||
*romFileName: rom.dump
|
||||
*homeDirectory: .hp48
|
||||
|
||||
!
|
||||
! resources controlling the debugger
|
||||
!
|
||||
*useDebugger: True
|
||||
*disassemblerMnemonics: class
|
||||
|
24
src/X48.ad.h
Normal file
24
src/X48.ad.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
"*iconic: False",
|
||||
"*visual: Default",
|
||||
"*mono: False",
|
||||
"*gray: False",
|
||||
"*monoIcon: False",
|
||||
"*useXShm: True",
|
||||
"*smallLabelFont: -*-fixed-bold-r-normal-*-14-*-*-*-*-*-iso8859-1",
|
||||
"*mediumLabelFont: -*-fixed-bold-r-normal-*-15-*-*-*-*-*-iso8859-1",
|
||||
"*largeLabelFont: -*-fixed-medium-r-normal-*-20-*-*-*-*-*-iso8859-1",
|
||||
"*connectionFont: -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-iso8859-1",
|
||||
"*verbose: False",
|
||||
"*quiet: False",
|
||||
"*printVersion: False",
|
||||
"*printCopyright: False",
|
||||
"*printWarranty: False",
|
||||
"*useTerminal: True",
|
||||
"*useSerial: False",
|
||||
"*serialLine: /dev/ttyS0",
|
||||
"*completeInitialize: False",
|
||||
"*resetOnStartup: False",
|
||||
"*romFileName: rom.dump",
|
||||
"*homeDirectory: .hp48",
|
||||
"*useDebugger: True",
|
||||
"*disassemblerMnemonics: class",
|
1087
src/actions.c
Normal file
1087
src/actions.c
Normal file
File diff suppressed because it is too large
Load diff
55
src/annunc.h
Normal file
55
src/annunc.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* This file is part of x48, an emulator of the HP-48sx Calculator.
|
||||
* Copyright (C) 1994 Eddie C. Dost (ecd@dressler.de)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/* $Log: annunc.h,v $
|
||||
* Revision 1.4 1995/01/11 18:20:01 ecd
|
||||
* major update to support HP48 G/GX
|
||||
*
|
||||
* Revision 1.3 1994/11/02 14:51:27 ecd
|
||||
* minor fix
|
||||
*
|
||||
* Revision 1.3 1994/11/02 14:51:27 ecd
|
||||
* minor fix
|
||||
*
|
||||
* Revision 1.2 1994/10/06 16:28:03 ecd
|
||||
* changed char to unsigned
|
||||
*
|
||||
* Revision 1.1 1994/09/07 12:53:20 ecd
|
||||
* Initial revision
|
||||
*
|
||||
*
|
||||
* $Id: annunc.h,v 1.4 1995/01/11 18:20:01 ecd Exp ecd $
|
||||
*/
|
||||
|
||||
#ifndef _ANNUNC_H
|
||||
#define _ANNUNC_H 1
|
||||
|
||||
#include "bitmaps/ann_alpha.h"
|
||||
|
||||
#include "bitmaps/ann_battery.h"
|
||||
|
||||
#include "bitmaps/ann_busy.h"
|
||||
|
||||
#include "bitmaps/ann_io.h"
|
||||
|
||||
#include "bitmaps/ann_left.h"
|
||||
|
||||
#include "bitmaps/ann_right.h"
|
||||
|
||||
#endif /* !_ANNUNC_H */
|
45
src/append.h
Normal file
45
src/append.h
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* This file is part of x48, an emulator of the HP-48sx Calculator.
|
||||
* Copyright (C) 1994 Eddie C. Dost (ecd@dressler.de)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/* $Log: append.h,v $
|
||||
* Revision 1.3 1995/01/11 18:20:01 ecd
|
||||
* major update to support HP48 G/GX
|
||||
*
|
||||
* Revision 1.2 1994/12/07 20:16:41 ecd
|
||||
* deleted empty line at top of file
|
||||
*
|
||||
* Revision 1.2 1994/12/07 20:16:41 ecd
|
||||
* deleted empty line at top of file
|
||||
*
|
||||
* Revision 1.1 1994/12/07 10:16:15 ecd
|
||||
* Initial revision
|
||||
*
|
||||
*
|
||||
* $Id: append.h,v 1.3 1995/01/11 18:20:01 ecd Exp ecd $
|
||||
*/
|
||||
#ifndef _APPEND_H
|
||||
#define _APPEND_H 1
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern char * append_str __ProtoType__((char *buf, char *string));
|
||||
extern char * append_tab __ProtoType__((char *buf));
|
||||
extern char * append_tab_16 __ProtoType__((char *buf));
|
||||
|
||||
#endif /* !_APPEND_H */
|
5
src/bitmaps/A.h
Normal file
5
src/bitmaps/A.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define A_width 5
|
||||
#define A_height 7
|
||||
static unsigned char A_bits[] = {
|
||||
0x0e, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11};
|
||||
|
5
src/bitmaps/B.h
Normal file
5
src/bitmaps/B.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define B_width 5
|
||||
#define B_height 7
|
||||
static unsigned char B_bits[] = {
|
||||
0x0f, 0x11, 0x11, 0x0f, 0x11, 0x11, 0x0f};
|
||||
|
5
src/bitmaps/C.h
Normal file
5
src/bitmaps/C.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define C_width 5
|
||||
#define C_height 7
|
||||
static unsigned char C_bits[] = {
|
||||
0x0e, 0x11, 0x01, 0x01, 0x01, 0x11, 0x0e};
|
||||
|
5
src/bitmaps/D.h
Normal file
5
src/bitmaps/D.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define D_width 5
|
||||
#define D_height 7
|
||||
static unsigned char D_bits[] = {
|
||||
0x0f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0f};
|
||||
|
5
src/bitmaps/E.h
Normal file
5
src/bitmaps/E.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define E_width 5
|
||||
#define E_height 7
|
||||
static unsigned char E_bits[] = {
|
||||
0x1f, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x1f};
|
||||
|
5
src/bitmaps/F.h
Normal file
5
src/bitmaps/F.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define F_width 5
|
||||
#define F_height 7
|
||||
static unsigned char F_bits[] = {
|
||||
0x1f, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x01};
|
||||
|
5
src/bitmaps/G.h
Normal file
5
src/bitmaps/G.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define G_width 5
|
||||
#define G_height 7
|
||||
static unsigned char G_bits[] = {
|
||||
0x0e, 0x11, 0x01, 0x01, 0x19, 0x11, 0x0e};
|
||||
|
5
src/bitmaps/H.h
Normal file
5
src/bitmaps/H.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define H_width 5
|
||||
#define H_height 7
|
||||
static unsigned char H_bits[] = {
|
||||
0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11};
|
||||
|
5
src/bitmaps/I.h
Normal file
5
src/bitmaps/I.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define I_width 1
|
||||
#define I_height 7
|
||||
static unsigned char I_bits[] = {
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
|
||||
|
5
src/bitmaps/J.h
Normal file
5
src/bitmaps/J.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define J_width 4
|
||||
#define J_height 7
|
||||
static unsigned char J_bits[] = {
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x06};
|
||||
|
5
src/bitmaps/K.h
Normal file
5
src/bitmaps/K.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define K_width 5
|
||||
#define K_height 7
|
||||
static unsigned char K_bits[] = {
|
||||
0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11};
|
||||
|
5
src/bitmaps/L.h
Normal file
5
src/bitmaps/L.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define L_width 4
|
||||
#define L_height 7
|
||||
static unsigned char L_bits[] = {
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f};
|
||||
|
5
src/bitmaps/M.h
Normal file
5
src/bitmaps/M.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define M_width 5
|
||||
#define M_height 7
|
||||
static unsigned char M_bits[] = {
|
||||
0x11, 0x1b, 0x15, 0x11, 0x11, 0x11, 0x11};
|
||||
|
5
src/bitmaps/N.h
Normal file
5
src/bitmaps/N.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define N_width 5
|
||||
#define N_height 7
|
||||
static unsigned char N_bits[] = {
|
||||
0x11, 0x11, 0x13, 0x15, 0x19, 0x11, 0x11};
|
||||
|
5
src/bitmaps/O.h
Normal file
5
src/bitmaps/O.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define O_width 5
|
||||
#define O_height 7
|
||||
static unsigned char O_bits[] = {
|
||||
0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
|
||||
|
5
src/bitmaps/P.h
Normal file
5
src/bitmaps/P.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define P_width 5
|
||||
#define P_height 7
|
||||
static unsigned char P_bits[] = {
|
||||
0x0f, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01};
|
||||
|
5
src/bitmaps/Q.h
Normal file
5
src/bitmaps/Q.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define Q_width 5
|
||||
#define Q_height 7
|
||||
static unsigned char Q_bits[] = {
|
||||
0x0e, 0x11, 0x11, 0x11, 0x15, 0x09, 0x16};
|
||||
|
5
src/bitmaps/R.h
Normal file
5
src/bitmaps/R.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define R_width 5
|
||||
#define R_height 7
|
||||
static unsigned char R_bits[] = {
|
||||
0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11};
|
||||
|
5
src/bitmaps/S.h
Normal file
5
src/bitmaps/S.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define S_width 5
|
||||
#define S_height 7
|
||||
static unsigned char S_bits[] = {
|
||||
0x0e, 0x11, 0x01, 0x0e, 0x10, 0x11, 0x0e};
|
||||
|
5
src/bitmaps/T.h
Normal file
5
src/bitmaps/T.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define T_width 5
|
||||
#define T_height 7
|
||||
static unsigned char T_bits[] = {
|
||||
0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04};
|
||||
|
5
src/bitmaps/U.h
Normal file
5
src/bitmaps/U.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define U_width 5
|
||||
#define U_height 7
|
||||
static unsigned char U_bits[] = {
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e};
|
||||
|
5
src/bitmaps/V.h
Normal file
5
src/bitmaps/V.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define V_width 5
|
||||
#define V_height 7
|
||||
static unsigned char V_bits[] = {
|
||||
0x11, 0x11, 0x11, 0x11, 0x0a, 0x0a, 0x04};
|
||||
|
5
src/bitmaps/W.h
Normal file
5
src/bitmaps/W.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define W_width 5
|
||||
#define W_height 7
|
||||
static unsigned char W_bits[] = {
|
||||
0x11, 0x11, 0x11, 0x11, 0x15, 0x1b, 0x11};
|
||||
|
5
src/bitmaps/X.h
Normal file
5
src/bitmaps/X.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define X_width 5
|
||||
#define X_height 7
|
||||
static unsigned char X_bits[] = {
|
||||
0x11, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x11};
|
||||
|
5
src/bitmaps/Y.h
Normal file
5
src/bitmaps/Y.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define Y_width 5
|
||||
#define Y_height 7
|
||||
static unsigned char Y_bits[] = {
|
||||
0x11, 0x11, 0x0a, 0x04, 0x04, 0x04, 0x04};
|
||||
|
5
src/bitmaps/Z.h
Normal file
5
src/bitmaps/Z.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define Z_width 5
|
||||
#define Z_height 7
|
||||
static unsigned char Z_bits[] = {
|
||||
0x1f, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1f};
|
||||
|
6
src/bitmaps/alpha.h
Normal file
6
src/bitmaps/alpha.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define alpha_width 12
|
||||
#define alpha_height 10
|
||||
static unsigned char alpha_bits[] = {
|
||||
0x78, 0x00, 0x84, 0x08, 0x82, 0x09, 0x83, 0x05, 0x83, 0x05, 0x83, 0x03,
|
||||
0x83, 0x01, 0x83, 0x01, 0x46, 0x09, 0x3c, 0x06};
|
||||
|
5
src/bitmaps/angle.h
Normal file
5
src/bitmaps/angle.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define angle_width 8
|
||||
#define angle_height 7
|
||||
static unsigned char angle_bits[] = {
|
||||
0x40, 0x20, 0x10, 0x28, 0x44, 0x42, 0xff};
|
||||
|
6
src/bitmaps/angle_gx.h
Normal file
6
src/bitmaps/angle_gx.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define angle_gx_width 12
|
||||
#define angle_gx_height 12
|
||||
static unsigned char angle_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0xc0, 0x00, 0xe0, 0x01,
|
||||
0xb0, 0x03, 0x18, 0x03, 0x0c, 0x03, 0x06, 0x03, 0xff, 0x0f, 0xff, 0x0f};
|
||||
|
6
src/bitmaps/ann_alpha.h
Normal file
6
src/bitmaps/ann_alpha.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_alpha_width 15
|
||||
#define ann_alpha_height 12
|
||||
static unsigned char ann_alpha_bits[] = {
|
||||
0xe0, 0x03, 0x18, 0x44, 0x0c, 0x4c, 0x06, 0x2c, 0x07, 0x2c, 0x07, 0x1c,
|
||||
0x07, 0x0c, 0x07, 0x0c, 0x07, 0x0e, 0x0e, 0x4d, 0xf8, 0x38, 0x00, 0x00};
|
||||
|
6
src/bitmaps/ann_battery.h
Normal file
6
src/bitmaps/ann_battery.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_battery_width 15
|
||||
#define ann_battery_height 12
|
||||
static unsigned char ann_battery_bits[] = {
|
||||
0x04, 0x10, 0x02, 0x20, 0x12, 0x24, 0x09, 0x48, 0xc9, 0x49, 0xc9, 0x49,
|
||||
0xc9, 0x49, 0x09, 0x48, 0x12, 0x24, 0x02, 0x20, 0x04, 0x10, 0x00, 0x00};
|
||||
|
6
src/bitmaps/ann_busy.h
Normal file
6
src/bitmaps/ann_busy.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_busy_width 15
|
||||
#define ann_busy_height 12
|
||||
static unsigned char ann_busy_bits[] = {
|
||||
0xfc, 0x1f, 0x08, 0x08, 0x08, 0x08, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01,
|
||||
0x40, 0x01, 0x20, 0x02, 0x10, 0x04, 0xc8, 0x09, 0xe8, 0x0b, 0xfc, 0x1f};
|
||||
|
6
src/bitmaps/ann_io.h
Normal file
6
src/bitmaps/ann_io.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_io_width 15
|
||||
#define ann_io_height 12
|
||||
static unsigned char ann_io_bits[] = {
|
||||
0x0c, 0x00, 0x1e, 0x00, 0x33, 0x0c, 0x61, 0x18, 0xcc, 0x30, 0xfe, 0x7f,
|
||||
0xfe, 0x7f, 0xcc, 0x30, 0x61, 0x18, 0x33, 0x0c, 0x1e, 0x00, 0x0c, 0x00};
|
||||
|
6
src/bitmaps/ann_left.h
Normal file
6
src/bitmaps/ann_left.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_left_width 15
|
||||
#define ann_left_height 12
|
||||
static unsigned char ann_left_bits[] = {
|
||||
0xfe, 0x3f, 0xff, 0x7f, 0x9f, 0x7f, 0xcf, 0x7f, 0xe7, 0x7f, 0x03, 0x78,
|
||||
0x03, 0x70, 0xe7, 0x73, 0xcf, 0x73, 0x9f, 0x73, 0xff, 0x73, 0xfe, 0x33};
|
||||
|
6
src/bitmaps/ann_right.h
Normal file
6
src/bitmaps/ann_right.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define ann_right_width 15
|
||||
#define ann_right_height 12
|
||||
static unsigned char ann_right_bits[] = {
|
||||
0xfe, 0x3f, 0xff, 0x7f, 0xff, 0x7c, 0xff, 0x79, 0xff, 0x73, 0x0f, 0x60,
|
||||
0x07, 0x60, 0xe7, 0x73, 0xe7, 0x79, 0xe7, 0x7c, 0xe7, 0x7f, 0xe6, 0x3f};
|
||||
|
5
src/bitmaps/arrow.h
Normal file
5
src/bitmaps/arrow.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define arrow_width 7
|
||||
#define arrow_height 7
|
||||
static unsigned char arrow_bits[] = {
|
||||
0x00, 0x08, 0x18, 0x3f, 0x18, 0x08, 0x00};
|
||||
|
7
src/bitmaps/arrow_gx.h
Normal file
7
src/bitmaps/arrow_gx.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#define arrow_gx_width 18
|
||||
#define arrow_gx_height 12
|
||||
static unsigned char arrow_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x3c, 0x00,
|
||||
0x00, 0xfc, 0x00, 0xff, 0xff, 0x03, 0xff, 0xff, 0x03, 0x00, 0xfc, 0x00,
|
||||
0x00, 0x3c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
5
src/bitmaps/blank.h
Normal file
5
src/bitmaps/blank.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define blank_width 4
|
||||
#define blank_height 7
|
||||
static unsigned char blank_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
6
src/bitmaps/bracket_gx.h
Normal file
6
src/bitmaps/bracket_gx.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define bracket_gx_width 12
|
||||
#define bracket_gx_height 12
|
||||
static unsigned char bracket_gx_bits[] = {
|
||||
0x0f, 0x0f, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c,
|
||||
0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, 0x0f, 0x0f};
|
||||
|
6
src/bitmaps/bs.h
Normal file
6
src/bitmaps/bs.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define bs_width 11
|
||||
#define bs_height 11
|
||||
static unsigned char bs_bits[] = {
|
||||
0x20, 0x00, 0x30, 0x00, 0x38, 0x00, 0xfc, 0x07, 0xfe, 0x07, 0xff, 0x07,
|
||||
0xfe, 0x07, 0xfc, 0x07, 0x38, 0x00, 0x30, 0x00, 0x20, 0x00};
|
||||
|
5
src/bitmaps/colon.h
Normal file
5
src/bitmaps/colon.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define colon_width 2
|
||||
#define colon_height 10
|
||||
static unsigned char colon_bits[] = {
|
||||
0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
5
src/bitmaps/colon_gx.h
Normal file
5
src/bitmaps/colon_gx.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define colon_gx_width 8
|
||||
#define colon_gx_height 12
|
||||
static unsigned char colon_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0x00, 0x00, 0xc3, 0xc3, 0x00};
|
||||
|
5
src/bitmaps/comma.h
Normal file
5
src/bitmaps/comma.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define comma_width 3
|
||||
#define comma_height 7
|
||||
static unsigned char comma_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x03};
|
||||
|
5
src/bitmaps/comma_gx.h
Normal file
5
src/bitmaps/comma_gx.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define comma_gx_width 3
|
||||
#define comma_gx_height 12
|
||||
static unsigned char comma_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x04, 0x04, 0x02};
|
||||
|
6
src/bitmaps/curly_gx.h
Normal file
6
src/bitmaps/curly_gx.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define curly_gx_width 14
|
||||
#define curly_gx_height 12
|
||||
static unsigned char curly_gx_bits[] = {
|
||||
0x0c, 0x0c, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x03, 0x30,
|
||||
0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x0c, 0x0c};
|
||||
|
5
src/bitmaps/diff.h
Normal file
5
src/bitmaps/diff.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define diff_width 5
|
||||
#define diff_height 7
|
||||
static unsigned char diff_bits[] = {
|
||||
0x0e, 0x10, 0x10, 0x1e, 0x11, 0x11, 0x0e};
|
||||
|
6
src/bitmaps/div.h
Normal file
6
src/bitmaps/div.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define div_width 10
|
||||
#define div_height 10
|
||||
static unsigned char div_bits[] = {
|
||||
0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00};
|
||||
|
6
src/bitmaps/down.h
Normal file
6
src/bitmaps/down.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define down_width 11
|
||||
#define down_height 11
|
||||
static unsigned char down_bits[] = {
|
||||
0xff, 0x07, 0xfe, 0x03, 0xfe, 0x03, 0xfc, 0x01, 0xfc, 0x01, 0xf8, 0x00,
|
||||
0xf8, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00, 0x20, 0x00};
|
||||
|
5
src/bitmaps/equal.h
Normal file
5
src/bitmaps/equal.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define equal_width 5
|
||||
#define equal_height 7
|
||||
static unsigned char equal_bits[] = {
|
||||
0x00, 0x1f, 0x00, 0x00, 0x1f, 0x00, 0x00};
|
||||
|
5
src/bitmaps/equal_gx.h
Normal file
5
src/bitmaps/equal_gx.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define equal_gx_width 8
|
||||
#define equal_gx_height 12
|
||||
static unsigned char equal_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00};
|
||||
|
6
src/bitmaps/exp.h
Normal file
6
src/bitmaps/exp.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#define exp_width 11
|
||||
#define exp_height 9
|
||||
static unsigned char exp_bits[] = {
|
||||
0x80, 0x04, 0x00, 0x03, 0x00, 0x01, 0x8c, 0x02, 0x52, 0x02, 0x09, 0x00,
|
||||
0x07, 0x00, 0x21, 0x00, 0x1e, 0x00};
|
||||
|
5
src/bitmaps/exp_gx.h
Normal file
5
src/bitmaps/exp_gx.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define exp_gx_width 13
|
||||
#define exp_gx_height 12
|
||||
static unsigned char exp_gx_bits[] = {
|
||||
0x00, 0xfb, 0x00, 0xf6, 0x00, 0xe6, 0x00, 0xf6, 0x80, 0xed, 0x18, 0xe0,
|
||||
0x36, 0xe0, 0x36, 0xe0, 0x1f, 0xe0, 0x03, 0xe0, 0x13, 0xe0, 0x0e, 0xe0};
|
20
src/bitmaps/gx_128K_ram.h
Normal file
20
src/bitmaps/gx_128K_ram.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
#define gx_128K_ram_width 43
|
||||
#define gx_128K_ram_height 31
|
||||
static unsigned char gx_128K_ram_bits[] = {
|
||||
0xfe, 0xdf, 0xff, 0xff, 0x03, 0x00, 0xfe, 0xdf, 0xff, 0xff, 0x03, 0x00,
|
||||
0xfe, 0xdf, 0xff, 0xff, 0x03, 0x00, 0xe2, 0xdf, 0xff, 0xff, 0x03, 0x00,
|
||||
0x9c, 0xdf, 0xff, 0xff, 0x03, 0x00, 0x7e, 0xdf, 0xff, 0xff, 0x01, 0x00,
|
||||
0x7e, 0xdf, 0xff, 0xff, 0x01, 0x00, 0xfe, 0xde, 0xff, 0xff, 0x02, 0x00,
|
||||
0xfe, 0xde, 0xff, 0xff, 0x02, 0x00, 0xfe, 0xdd, 0xff, 0x7f, 0x03, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xdd, 0xff, 0xbf, 0x03, 0x00,
|
||||
0xfe, 0xdb, 0xff, 0xdf, 0x03, 0x00, 0xfe, 0xdb, 0xff, 0xef, 0x03, 0x00,
|
||||
0xfe, 0xd7, 0xff, 0xf7, 0x03, 0x00, 0xfe, 0xcf, 0xff, 0xfb, 0x03, 0x00,
|
||||
0xfe, 0xcf, 0xff, 0xfc, 0x03, 0x00, 0xfe, 0x1f, 0x3f, 0xff, 0x03, 0x00,
|
||||
0xfe, 0xdf, 0xc0, 0xff, 0x03, 0x00, 0xfe, 0xdf, 0xff, 0xff, 0x03, 0x00,
|
||||
0xfe, 0xdf, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x30, 0x12, 0x1c, 0x44, 0x04,
|
||||
0x27, 0x49, 0x0a, 0x24, 0x46, 0x04, 0x84, 0x39, 0x06, 0x24, 0xc9, 0x06,
|
||||
0x62, 0x24, 0x07, 0x9e, 0xaf, 0x06, 0x12, 0x24, 0x09, 0x92, 0xa8, 0x05,
|
||||
0xf2, 0x18, 0x11, 0x52, 0x28, 0x05};
|
||||
|
14
src/bitmaps/gx_green.h
Normal file
14
src/bitmaps/gx_green.h
Normal file
|
@ -0,0 +1,14 @@
|
|||
#define gx_green_width 34
|
||||
#define gx_green_height 22
|
||||
static unsigned char gx_green_bits[] = {
|
||||
0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff,
|
||||
0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0x03, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00,
|
||||
0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x00,
|
||||
0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03,
|
||||
0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00,
|
||||
0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0,
|
||||
0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00,
|
||||
0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00,
|
||||
0xf0, 0x03};
|
||||
|
13
src/bitmaps/gx_silver.h
Normal file
13
src/bitmaps/gx_silver.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#define gx_silver_width 35
|
||||
#define gx_silver_height 21
|
||||
static unsigned char gx_silver_bits[] = {
|
||||
0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x00, 0x00, 0xc4, 0x40, 0x00, 0x00,
|
||||
0x00, 0x02, 0x41, 0x00, 0x00, 0x04, 0x02, 0x41, 0x00, 0x00, 0x04, 0x02,
|
||||
0x42, 0x00, 0x00, 0x02, 0x01, 0x42, 0x00, 0x00, 0x02, 0x01, 0x44, 0x00,
|
||||
0x00, 0x01, 0xfd, 0xff, 0xff, 0xff, 0x07, 0x01, 0x44, 0x00, 0x80, 0x00,
|
||||
0x01, 0x48, 0x00, 0x40, 0x00, 0x01, 0x48, 0x00, 0x20, 0x00, 0x00, 0x50,
|
||||
0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x08, 0x00, 0x00, 0x60, 0x00, 0x06,
|
||||
0x00, 0x00, 0xc0, 0x81, 0x01, 0x00, 0x00, 0x40, 0x7e, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00};
|
||||
|
5
src/bitmaps/hash.h
Normal file
5
src/bitmaps/hash.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define hash_width 5
|
||||
#define hash_height 7
|
||||
static unsigned char hash_bits[] = {
|
||||
0x00, 0x0a, 0x1f, 0x0a, 0x0a, 0x1f, 0x0a};
|
||||
|
5
src/bitmaps/hash_gx.h
Normal file
5
src/bitmaps/hash_gx.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define hash_gx_width 8
|
||||
#define hash_gx_height 12
|
||||
static unsigned char hash_gx_bits[] = {
|
||||
0x00, 0x00, 0x48, 0x48, 0xfe, 0x24, 0x24, 0x7f, 0x12, 0x12, 0x00, 0x00};
|
||||
|
28
src/bitmaps/hp.h
Normal file
28
src/bitmaps/hp.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
#define hp_width 96
|
||||
#define hp_height 24
|
||||
static unsigned char hp_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x9f, 0xfd, 0x3f, 0x60, 0xcc, 0x6f, 0x66, 0x83, 0xdf, 0xff, 0x3f,
|
||||
0xfc, 0x9f, 0xf1, 0x7f, 0x60, 0xcc, 0x60, 0x66, 0x83, 0x01, 0x06, 0x06,
|
||||
0xfc, 0xc7, 0xc0, 0x7f, 0x60, 0xcc, 0x60, 0x66, 0x83, 0x01, 0x06, 0x06,
|
||||
0xfc, 0xc3, 0x80, 0x7f, 0x60, 0xcc, 0x40, 0x26, 0x83, 0x01, 0x06, 0x06,
|
||||
0xfc, 0x61, 0x00, 0x7f, 0xe0, 0xcf, 0xcf, 0x36, 0x83, 0x1f, 0x06, 0x06,
|
||||
0xfc, 0x60, 0x00, 0x7e, 0x60, 0xcc, 0xc0, 0x36, 0x83, 0x01, 0x06, 0x06,
|
||||
0xfc, 0x30, 0x00, 0x7e, 0x60, 0xcc, 0x80, 0x19, 0x83, 0x01, 0x06, 0x06,
|
||||
0x7c, 0xb0, 0x68, 0x7c, 0x60, 0xcc, 0x80, 0x19, 0x83, 0x01, 0x06, 0x06,
|
||||
0x7c, 0xf8, 0xf9, 0x7c, 0x60, 0xcc, 0x8f, 0x19, 0xbf, 0x1f, 0x06, 0x06,
|
||||
0x7c, 0x98, 0xcd, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0xcc, 0xcc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7c, 0xcc, 0x66, 0x7c, 0xe0, 0x87, 0x81, 0x67, 0x0c, 0xc3, 0xcf, 0x0f,
|
||||
0x7c, 0x66, 0x66, 0x7c, 0x60, 0xcc, 0xc3, 0x6c, 0x86, 0xc7, 0xd8, 0x18,
|
||||
0x7c, 0x66, 0x3f, 0x7e, 0x60, 0x4c, 0x62, 0x60, 0x83, 0xc4, 0xd8, 0x30,
|
||||
0xfc, 0x00, 0x03, 0x7e, 0x60, 0x6c, 0x66, 0xe0, 0xc1, 0xcc, 0xd8, 0x30,
|
||||
0xfc, 0x80, 0x01, 0x7f, 0xe0, 0x67, 0x66, 0xe0, 0xc1, 0xcc, 0xcf, 0x30,
|
||||
0xfc, 0x81, 0x81, 0x7f, 0x60, 0xe0, 0x67, 0x60, 0xc3, 0xcf, 0xcc, 0x30,
|
||||
0xfc, 0xc3, 0xc0, 0x7f, 0x60, 0x30, 0x6c, 0x60, 0x66, 0xd8, 0xd8, 0x30,
|
||||
0xfc, 0xcf, 0xf0, 0x7f, 0x60, 0x30, 0xcc, 0x6c, 0x6c, 0xd8, 0xd8, 0x18,
|
||||
0xf8, 0x6f, 0xfe, 0x3f, 0x60, 0x30, 0x8c, 0x67, 0x78, 0xd8, 0xd8, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
9
src/bitmaps/hp48_blue.h
Normal file
9
src/bitmaps/hp48_blue.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#define hp48_blue_width 5
|
||||
#define hp48_blue_height 57
|
||||
static unsigned char hp48_blue_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c};
|
||||
|
26
src/bitmaps/hp48_bottom.h
Normal file
26
src/bitmaps/hp48_bottom.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
#define hp48_bottom_width 32
|
||||
#define hp48_bottom_height 64
|
||||
static unsigned char hp48_bottom_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x63, 0x8c, 0x31, 0xc6, 0x63, 0x8c, 0x31, 0xc6,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x8c, 0x31, 0xc6,
|
||||
0x63, 0x8c, 0x31, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x63, 0x8c, 0x31, 0xc6, 0x63, 0x8c, 0x31, 0xc6, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x03, 0x8c, 0x31, 0xc6, 0x03, 0x8c, 0x31, 0xc6,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff};
|
||||
|
11
src/bitmaps/hp48_disp.h
Normal file
11
src/bitmaps/hp48_disp.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#define hp48_disp_width 29
|
||||
#define hp48_disp_height 21
|
||||
static unsigned char hp48_disp_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f,
|
||||
0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f,
|
||||
0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f,
|
||||
0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f,
|
||||
0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f};
|
||||
|
23
src/bitmaps/hp48_green_gx.h
Normal file
23
src/bitmaps/hp48_green_gx.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#define hp48_green_gx_width 29
|
||||
#define hp48_green_gx_height 57
|
||||
static unsigned char hp48_green_gx_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00};
|
||||
|
26
src/bitmaps/hp48_icon.h
Normal file
26
src/bitmaps/hp48_icon.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
#define hp48_icon_width 32
|
||||
#define hp48_icon_height 64
|
||||
static unsigned char hp48_icon_bits[] = {
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xe0, 0xff, 0xff,
|
||||
0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x07, 0xff, 0x01, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0xe0,
|
||||
0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0,
|
||||
0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0,
|
||||
0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0,
|
||||
0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x63, 0x8c, 0x31, 0xc6, 0x63, 0x8c, 0x31, 0xc6, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x63, 0x8c, 0x31, 0xc6, 0x63, 0x8c, 0x31, 0xc6,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x8c, 0x31, 0xc6,
|
||||
0x63, 0x8c, 0x31, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x63, 0x8c, 0x31, 0xc6, 0x63, 0x8c, 0x31, 0xc6, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x03, 0x8c, 0x31, 0xc6, 0x03, 0x8c, 0x31, 0xc6,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x30, 0x0c, 0xc3,
|
||||
0xe3, 0x30, 0x0c, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff};
|
||||
|
25
src/bitmaps/hp48_keys.h
Normal file
25
src/bitmaps/hp48_keys.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
#define hp48_keys_width 30
|
||||
#define hp48_keys_height 61
|
||||
static unsigned char hp48_keys_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x9c, 0x73, 0xce, 0x39, 0x9c, 0x73, 0xce, 0x39, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x9c, 0x73, 0xce, 0x39, 0x9c, 0x73, 0xce, 0x39,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x73, 0xce, 0x39,
|
||||
0x9c, 0x73, 0xce, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x9c, 0x73, 0xce, 0x39, 0x9c, 0x73, 0xce, 0x39, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfc, 0x73, 0xce, 0x39, 0xfc, 0x73, 0xce, 0x39,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xcf, 0xf3, 0x3c,
|
||||
0x1c, 0xcf, 0xf3, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xcf, 0xf3, 0x3c, 0x00, 0xcf, 0xf3, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf3, 0x3c, 0x00, 0xcf, 0xf3, 0x3c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xcf, 0xf3, 0x3c,
|
||||
0x1c, 0xcf, 0xf3, 0x3c};
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue