From: James M. Prange on
First off, this is a rehash of information available in previous
threads.

It's possible to use ROM revision 2.09, or perhaps I should say
the emulator ROM revision 2.09, on a 49G.

A question that might come up could be, why would anyone want to
use a ROM intended for the 49g+/50g on a calculator that it
apparently wasn't intended to be used on?

For me, the principal advantage is simply that several bugs have
been fixed from ROM revision 1.19-6 to revision 2.09. For
examples, see:
http://bugs.hpcalc.org/query.cgi
and the "readme" files included with some of the "unofficial"
revisions. My guess is that there have been various undocumented
bug fixes as well.

Another possible advantage is that some of the earlier ROM
revisions (I don't, offhand, recall exactly which revisions) have
the equation library built-in, with the library using
"unsupported" revision-dependent code. Starting with revision 2.08
(the 50g's initial revision), the equation library (and, more
recently, the periodic table) are optional external libraries
using only "supported" entry points and work with all ROM
revisions back to at least 1.18. If you want these libraries, you
can install them, but if you don't want them, you don't have to
install them, thus saving some room in your ports. These libraries
are available at:
http://www.hydrix.com/Download/Hp/4950Libraries/
file name: EquationLibrary.zip. To "install" them, simply unzip
the downloaded file and move a copy of EqnData.lib and EquLib.lib
(for the equation library), or PerTbl.lib (for the periodic table
library), to port 0, 1, or 2.

Note that the documentation for the equation library and periodic
table may be a bit sketchy in the current manuals. For better
documentation, you could use the "HP 82211A HP Solve Equation
Library Application Card Owner's Manual (for HP-48SX)" and "HP
82211B HP Solve Equation Library Application Card Manual Update
(for HP-48SX)", both available on the current Museum of HP
Calculators CD ROM set / DVD. See:
http://www.hpmuseum.org/cd/cddesc.htm

The only "glitch" that I've found with using revision 2.09 on a
49G is with the VERSION command. The 2.09 VERSION first uses
IsBigApple_ to check whether the hardware is a "BigApple" (49g+ or
50g), and if so, then uses IsAppleV2_ to check whether it's a 50g.
If it's not a "BigApple", then it "must" be running on a 48gII
(since revision 2.09 was never intended to be used on the 49G).
But the 49G isn't a "BigApple", so VERSION returns "Version HP48-C
Revision #2.09" where we might expect to see "Version HP49-C
Revision #2.09". I consider this to be a very minor and harmless
glitch.

Notably, the I/O input forms seem to "know" that IR isn't
available on the 49G, and the "Baud" choices are appropriate for
the 49G.

Another question might be how is it possible to use a ROM written
for the 49g+ or 50g on a 49G? Well, the "hardware Saturn"
processor of the 48 series and 49G has been replaced by a
"Saturn+" processor emulated in the underlying ARM operating
system of the ARM-based models. The Saturn+ processor can use all
of the opcodes of the hardware Saturn, and in addition has several
new opcodes that can be used to work around some of the
difficulties of working with the hardware Saturn. The ROMs for the
49g+/50g replace certain "legacy" hardware Saturn code with faster
Saturn+ code, but note that the PC-based emulator (Emu48) emulates
the hardware Saturn, not the ARM operating system or Saturn+, so
the 49G+/50g ROM for the emulator uses only pure hardware Saturn
instructions. By removing any patches (used for differences
between a PC's hardware and the calculator's hardware) from the
emulator's KML files, a 49g+ or 50g emulator ROM can be loaded as
the ROM for the 49G emulator, and from there, the ROMUPLOAD
command can transfer the ROM to a real 49G. I now have a 49G with
ROM revision 2.09, the latest revision for the 49g+/50g.

Of course a 49g+ or 50g ROM could be used with the 49G emulator on
a regular basis if one really wanted to, in which case any patches
should be left in.

No, I don't know which hardware Saturn code is replaced with
Saturn+ code, or how to go about replacing the code. I'm just glad
that someone does, and I prefer to leave such matters to those who
really know what they're doing.

The ROMG+.49G file for the emulator is time-stamped (last write)
2006-06-03 03:01:16, and the 4950_92.bin file for the 49g+/50g is
time-stamped 2006-06-03 05:24:00, so as far as I know, whether the
4950_92.bin file was developed first and "tweaked back" to using
pure hardware Saturn code for the ROMG+.49G file, or the ROMG+.49G
file was developed first and "tweaked ahead" to using some Saturn+
code for the 4950_92.bin file, is an open question. Of course the
developers would know, but I haven't seen this question addressed.

Of course we can't really expect anyone to support using revision
2.09 with a 49G, but it ought to work the same on a real 49G as it
does in the PC-based emulator, and hopefully, except for hardware
differences, the same as on a real 49g+ or 50g.

But given how easy it is to get the current 49g+/50g ROM to run on
the 49G, I'd think that it wouldn't be all that difficult for HP
to support an updated ROM for the 49G, if any corporate red tape
could be worked through. After all, I'd expect that there are
quite a few 49Gs out there that still work as good as when they
were new.

If anyone cares to upgrade their 49G to ROM revision 2.09, first
download, unzip, and install the latest version of Debug4x
(currently Version 2.2, Build 104) from:
http://www.debug4x.com/]http://www.debug4x.com/
(about a 7.5MB download).

Now pick a 49G .kml file to use; I used:
C:\Program Files\Hewlett-Packard\Debug4x\Emu\R49G1024.kml
but adjust the path and file name as appropriate. Make a copy of
the .kml file and rename the copy; for example, I renamed the copy
to R49G1024r209.kml. Open the renamed .kml file with a text
editor. Mine starts out with:

Global
Title "HP49G 1024*768 (256 colors) for Emu48"
Author "Hewlett Packard, Eric Rechlin and Christoph Giesselink"
Model "X"
Rom "ROM.49G"
Patch "BEEP.49G"
Bitmap "R49G1024.BMP"
Debug 0
End

with the leading spaces being actually a physical tab character
(ASCII 009) (leaving it out or changing it to any "whitespace"
should be okay).

Edit this to:

Global
# Title "HP49G 1024*768 (256 colors) for Emu48"
Title "HP49G special 2.09 ROM 1024*768 (256 colors) for Emu48"
Author "Hewlett Packard, Eric Rechlin and Christoph Giesselink"
Model "X"
# Rom "ROM.49G"
Rom "ROMG+.49G"
# Patch "BEEP.49G"
Bitmap "R49G1024.BMP"
Debug 0
End

That is, remark out (or remove) the old "Title", "Patch", and
"Rom" lines, and insert a new title and the 49g+/50g ROM file
name, and save the edited file.

Now open EMU-49; it should be in your Start menu as:
Start\programs\HP 49 & 48 Development Kit\EMU-49 If needed, in the
"View" menu, click on "Change KML script...", and choose your
modified .kml file. Enter the VERSION command and verify that it
really is "Version HP48-C Revision #2.09".

Now it's just a matter of transferring the ROM from the emulator
to the physical 49G, much like transferring a ROM from one 49G to
another, and not too different from using a ".flash" file to
upgrade the 49G ROM from a PC. Of course, it's best to start with
a fresh battery in the 49G.

To cancel out of any test mode, hold down ON, press and release C
(F3), and release ON to force a warmstart. In case a warmstart
can't be forced from the keyboard, insert a partially straightened
small paper-clip (or something similar) straight into the hardware
reset hole in the back of the 49G. I suppose that you could force
a warmstart while a ROM download is in progress, but in that case,
the calculator would be rather useless until you completed a ROM
download.

In case of any difficulties with upgrading the 49G ROM, see the
"If it fails:" instructions at:
http://etud.epita.fr/~avenar_j/hp/49.html
or:
http://www.hpcalc.org/hp49/pc/rom/
You can always go back to using an earlier ROM revision.

In the emulator's "File" menu, choose "Settings...", and then
under "Serial Ports", change the "Wire:" setting to whatever COM
port you normally use for connecting your 49G, and click OK.
Physically connect the 49G to the COM port, then enter ROMUPLOAD
on the emulator; you should have some instructions displayed on
the emulator. On the 49G, hold down ON, press and release D (F4),
and release ON; you should now have a "Tests" menu. On the 49G,
hold down ENTER and the + key, press and release ON, and release
ENTER and +; you should now have the "No System or +/ENTER
pressed" menu. Press 4 (Terminal Mode) on the 49G, and then press
any key on the emulator. The emulator should now be at "Xmodem
Server Waiting for command" and the 49G at the "Download" menu. On
the 49G, press 1 (Download System) to commence the download; the
emulator should display "Xmodem Server" with various messages
showing the progress, and the 49G should show various messages
showing the progress. The download should take about 20-25
minutes.... Eventually the emulator will display "Xmodem Server
Waiting for command" and the 49G will display "The system may not
be installed. Please go to 'Download Pack' Menu"; at this point
press any key on the 49G, which should get you to the "Download"
menu, and then press 2 (Download Packs). After a few seconds, the
49G should display "System present Press Q twice to reboot". The
first press of Q takes you back to the "Download" menu, and the
second press reboots the 49G with the new ROM. On the emulator,
press CANCEL to exit Xmodem Server mode, and close the emulator.

Run some tests on the 49G to verify correct operation. In
particular, with the HoldDown ON and D tests, run 5 (FastROM), 6
(FastRAM), 7 (FullROM), 8 (FullRAM), and 9 (FROM Format), and run
the HoldDown ON and E repeating test. All tests should pass.

--
Regards,
James

From: Heiko Arnemann on
Hello James,
thanks a lot for your detailed information and instructions, how to
update HP 49G to ROM 2.09
news:8495b$45833e29$4267ea90$4917(a)123.NET...

I made the ROM-update just after the post from Andreas Moeller
news:1156233631.510946.151880(a)74g2000cwt.googlegroups.com...
in August this year.

It is maybe requirred to call the PINIT command ones and loose some
files in the flash? I canot remember well, but it was nothing dramatic
and
for me it was required to re-load the new EQ-library (mentioned in your
post).

The ROM's have obviously been updated, taking care for the HP 49G,
and I can understand HP, giving not an official release of the ROM for
HP 49G because of missing documentation for some bugfixes and missing
effort
to test it.

Up to now, I did not found any negative impact to my HP 49G due to ROM
update
to 2.09. I would say, it is the best ROM, available for the HP 49G.

Best regards
Heiko


From: Veli-Pekka Nousiainen on

"Heiko Arnemann" <Heiko.Arnemann(a)gmx.de> wrote in message
news:458443dc$0$1120$ba620e4c(a)news.skynet.be...
> Hello James,
> thanks a lot for your detailed information and instructions, how to
> update HP 49G to ROM 2.09
> news:8495b$45833e29$4267ea90$4917(a)123.NET...
>
> I made the ROM-update just after the post from Andreas Moeller
> news:1156233631.510946.151880(a)74g2000cwt.googlegroups.com...
> in August this year.
>
> It is maybe requirred to call the PINIT command ones and loose some
> files in the flash? I canot remember well, but it was nothing dramatic and
> for me it was required to re-load the new EQ-library (mentioned in your
> post).
>
> The ROM's have obviously been updated, taking care for the HP 49G,
> and I can understand HP, giving not an official release of the ROM for
> HP 49G because of missing documentation for some bugfixes and missing
> effort
> to test it.
>
> Up to now, I did not found any negative impact to my HP 49G due to ROM
> update
> to 2.09. I would say, it is the best ROM, available for the HP 49G.

Is it?
You can use the same ROMUPLOAD from Emulator procedure
and Parisse's ROM where there is the Spreadsheet extension, too

It is!
Because
there exists a better library, which handles columns up to ZZ
and it also includes a nice stack handling super-command
:-D


From: John H Meyers on
On Fri, 15 Dec 2006 18:30:25 -0600, James M. Prange wrote:

> a calculator that it apparently wasn't intended to be used on

It looks to me as though compatibility was thought of throughout
the entire development (which included development on an emulator),
which may be why it is in fact compatible still,
both with emulator and the real thing that is emulated,
and continues to work with Prof. Parisse's
recently mentioned "capes" project,
containing even more recently modified components.

Your time-stamp sleuthing is very interesting;
I would take a guess that it correctly indicates
which is the "master," and which other is derived from it,
as in the following ending to the classic story
"Farewell to the Master," by Harry Bates,
which later inspired the film "The Day the Earth Stood Still"
["spoiler" below -- better to read the complete story,
http://thenostalgialeague.com/olmag/bates.html
if you have never heard it from the beginning]

"I want you to tell your master -- the master yet to come --
that what happened to the first Klaatu was an accident,
for which all Earth is immeasurably sorry. Will you do that?"

"I have known it," the robot answered gently.

"But will you promise to tell your master -- just those words --
as soon as he is arrived?"

"You misunderstand," said Gnut, still gently,
and quietly spoke four more words.
As Cliff heard them a mist passed over his eyes and his body went numb.

As he recovered and his eyes came back to focus
he saw the great ship disappear.
It just suddenly was not there anymore.
He fell back a step or two.
In his ears, like great bells, rang Gnut's last words.
Never, never was he to disclose them until the day he came to die.

"You misunderstand," the mighty robot had said,
"_I_ am the master."

http://en.wikipedia.org/wiki/The_Day_the_Earth_Stood_Still
From: Veli-Pekka Nousiainen on
"James M. Prange" <jmprange(a)i-is.com> wrote in message
news:8495b$45833e29$4267ea90$4917(a)123.NET...
X
> pressed" menu. Press 4 (Terminal Mode) on the 49G, and then press
> any key on the emulator. The emulator should now be at "Xmodem
> Server Waiting for command" and the 49G at the "Download" menu. On
> the 49G, press 1 (Download System) to commence the download; the
> emulator should display "Xmodem Server" with various messages
X
After 4 Terminal mode I only get a blank screen
whether the (right type of) cable is plugged or not
--
Veli-Pekka