Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

HP49B-2.05-4 Emulator ROM?

6 views
Skip to first unread message

Dar...@gmail.com

unread,
Jan 22, 2006, 2:16:57 PM1/22/06
to
Where can I find an updated emulator ROM file?

Or is there a rom converter similar to UPD49ROM for the G+?

I admit, I may be retarded here. I tried using UPD49ROM to update the
emulator rom file, but it kept telling me the flash file was not in the
right format. It worked well enough to update my calculator so I'm
thinking this utility only works for the 49G but I may be wrong.

Thanks for the help in advance :)

William Graves

unread,
Jan 23, 2006, 11:20:48 AM1/23/06
to
Calculators prior to the 49G+ use a Saturn processor which is emulated in
EMU48.
To emulate a 49G+ you must find a way to emulate the ARM processor of the
new calculator.
This is a problem because the ARM is fast.
EMU48 does not emulate the ARM and therefore you cannot use a 49G+
calculator ROM.

Debug4x (www.Debug4x.com) has a special 49G+ ROM supplied by HP which
interacts with some unique code in EMU48+
to simulate many (but not all) parts of the 49G+. This special ROM is
updated when they have spare time. You must have this specially coded ROM
to do the emulation, the ROM must run on the special version of EMU48
(called with version names like EMU48 v1.38+).

There are no other emulators for the 49G+ or uploads of the ROM.
-- - - - - - - - - - - - - - - - -
Bill Graves RKBA!
bgr...@ix.netcom.com

Dar...@gmail.com

unread,
Jan 23, 2006, 9:18:56 PM1/23/06
to
Thanks for the info!

Installed it, works great :)

John H Meyers

unread,
Jan 23, 2006, 9:28:52 PM1/23/06
to
On Mon, 23 Jan 2006 10:20:48 -0600, William Graves wrote:

> Calculators prior to the 49G+ use a Saturn processor
> which is emulated in EMU48.

> To emulate a 49G+ you must find a way
> to emulate the ARM processor of the new calculator.

Well, much of the 49G+ ROM still consists of
the same RPL and the same Saturn ML as in the 49G,
with the lower-level ARM code spending most of its time
emulating the Saturn processor, hopefully so well
that except for a special "door" allowing Saturn<->ARM
interaction, you mostly can't tell the difference.

Certainly you would never be able to execute
an HPGCC/ARMtoolkit program on an emulator
which acted only at the Saturn level,
but it appears that somehow the feat of
segregating the Saturn level from the ARM level
is already done by the combination of the modified
Emu49+ application and the special Emu ROM file it uses.

Is it out of the question to be able to update an existing
older-version special Emu49+ ROM file, using the
Saturn portion of a new "real" calculator ROM version,
or could it be done in principle,
if not yet implemented in practice?

[r->] [OFF]
RKPWBAI!

andreas_mo...@gmx.de

unread,
Jan 24, 2006, 3:42:37 AM1/24/06
to
> Is it out of the question to be able to update an existing
> older-version special Emu49+ ROM file, using the
> Saturn portion of a new "real" calculator ROM version,
> or could it be done in principle,
> if not yet implemented in practice?

Well, I updated my old HP 49G with the emulator ROM of debug4x and it
works just fine, so now I have a 49G running ROM 2.01-1.
At least we finaly got a ROM update for the 49G ;- )

Greetings
Andreas

Frère-Pierre

unread,
Jan 24, 2006, 4:11:50 AM1/24/06
to
<andreas_mo...@gmx.de> wrote in message
news:1138092157.1...@o13g2000cwo.googlegroups.com...

Which ROM?
How?
Did it really work?
Any caveats?


andreas_mo...@gmx.de

unread,
Jan 24, 2006, 7:53:02 AM1/24/06
to
Well, it is the emulator ROM which comes with debug4x.
All you have to do is to start the 49G-emulation with the emulator ROM
2.01-1. Plug in your serial cable and then just use ROMUPLOAD on the
49G-emulation, your real calc must be in X-Server mode. Of course the
settings in EMU48 have to be correct, too.
This is described in detail in various documents about upgrading from
one calc to another.

HTH
Andreas

William Graves

unread,
Jan 24, 2006, 10:54:45 AM1/24/06
to
<andreas_mo...@gmx.de> wrote in message
news:1138107182.7...@g44g2000cwa.googlegroups.com...
> Andreas

The keyboards are different. What happens with the CAT key for example?

andreas_mo...@gmx.de

unread,
Jan 24, 2006, 11:33:18 AM1/24/06
to
The code is the same on both machines and it is checked on which
machine the software is running.

Sticking to your question, this is the code for the CAT-Key (49G) or
the EVAL-Key (49G+):
::
TakeOver
IsApple_ (<- Checks the machine the software is running on )
NOTcase
FPTR 2 85 ( run 'Catalog' if 49G )
' ( run EVAL )
xEVAL ( if on )
DoKeyOb ( 49G+ )
;

Greetings
Andreas

P.S. And debug4x sure is a great piece of software, I wrote some nice
applications with it.
See http://www.software49g.gmxhome.de

John H Meyers

unread,
Jan 24, 2006, 1:17:46 PM1/24/06
to
On Tue, 24 Jan 2006 09:54:45 -0600, William Graves wrote:

> The keyboards are different. What happens with the CAT key for example?

I'm not trying this ROM transfer myself at the moment,
but to give a related note, I use one common archive backup
for my 49G and 49G+, and through model-dependent
user key definition swaps in my STARTUP,
I have made them correspond exactly in keyboard function
(actually I had long ago swapped keys to end up on my 49G
with a key function layout almost like the 49G+ anyway).

Besides potential default key definition differences,
I wonder what else might be affected -- what dimensions
would be reported for screen grob size, are any
built-in functions trying to display the extra lines, etc.

Finally, what sort of test would distinguish for sure
which *physical* model (not just which type ROM image)
is in use, which has similar implications about screen size
(currently I use the dimensions of my screen grob
to find out what I need to know, e.g. LCD\-> SIZE B\->R NIP
gives me the pixel height of my screen on either 49G or 49G+

Actually, the LCD\-> command performs system function DOLCD>
in ROM, which in turn begins with BINT64 BINT131 MAKEGROB
on my 49G (now compiled as 1.24), whereas on my 49G+
it begins with a program which calls the entry point
which tests hardware via BIGAPP? and finally returns
either BINT80 or BINT64, as appropriate.

Thus it would be good to know how BIGAPP? works,
and will BIGAPP? return the right answer
if this special ROM image made for EMU49+ is transferred
into a real 49G; further, is there any other hardware dependency
which might trip up a real calc (or even the original Emu48)
when a 49G+ ROM image intended for Emu49+
is transferred instead to a real or emulated 49G?

[r->] [OFF]

John H Meyers

unread,
Jan 24, 2006, 1:52:28 PM1/24/06
to
On Tue, 24 Jan 2006 10:33:18 -0600, Andreas wrote:

> The code is the same on both machines and it is checked
> on which machine the software is running.

> Sticking to your question, this is the code for the CAT-Key (49G)
> or the EVAL-Key (49G+):
> ::
> TakeOver
> IsApple_ (<- Checks the machine the software is running on )
> NOTcase
> FPTR 2 85 ( run 'Catalog' if 49G )
> ' ( run EVAL )
> xEVAL ( if on )
> DoKeyOb ( 49G+ )
> ;

Indeed, given your info above,
I can now see this in both my real 49G+ (2.05)
and my 49G compiled version 1.24,
via 161 17 XLIB~ DUP Nosy

Hmm.. does this mean that all 49G+ rom versions have all along
been intended to be capable of making 49G updates as well,
although thus far the only one published,
other than via this trick using special Emu49+ ROM 2.01,
has been 49G version 1.24 (which you have to make yourself,
from a CAS source release provided by BP)?

If so, is anyone planning to make conversion of new 49G+ updates
into 49G updates a more routine matter? (if so, it would always
remain unofficial, although certainly welcomed here, I would think).

About IsApple_ -- is that a non-fixed entry point?
(if so, then one must make model tests indirectly,
by using other stable functions which in turn
deliver model-dependent results).

[r->] [OFF]

Frère-Pierre

unread,
Jan 24, 2006, 2:30:38 PM1/24/06
to
"John H Meyers" <jhme...@miu.edu> wrote in message
news:op.s3waf...@news.cis.dfn.de...

> On Tue, 24 Jan 2006 09:54:45 -0600, William Graves wrote:
X

> to find out what I need to know, e.g. LCD\-> SIZE B\->R NIP
> gives me the pixel height of my screen on either 49G or 49G+
>
> Actually, the LCD\-> command performs system function DOLCD>
> in ROM, which in turn begins with BINT64 BINT131 MAKEGROB
> on my 49G (now compiled as 1.24), whereas on my 49G+
> it begins with a program which calls the entry point
> which tests hardware via BIGAPP? and finally returns
> either BINT80 or BINT64, as appropriate.
>
> Thus it would be good to know how BIGAPP? works,
> and will BIGAPP? return the right answer
> if this special ROM image made for EMU49+ is transferred
> into a real 49G; further, is there any other hardware dependency
> which might trip up a real calc (or even the original Emu48)
> when a 49G+ ROM image intended for Emu49+
> is transferred instead to a real or emulated 49G?

IIMO the OS think it's 48gII inestead of a real 49g+
thus adapting to the LCD size

What about the Flash and IRAM?
Will they work?


Jean-Yves Avenard

unread,
Jan 24, 2006, 11:38:30 PM1/24/06
to
John H Meyers wrote:
> Hmm.. does this mean that all 49G+ rom versions have all along
> been intended to be capable of making 49G updates as well,
yes


JY

John H Meyers

unread,
Jan 25, 2006, 12:12:33 AM1/25/06
to
The short answer was: "yes"

Oh, good -- now all that's left
is for someone to figure out how to transform them :)

Well then, "something's coming,
something good... maybe tonight?"

Original (filmscript) version of those lyrics:
http://www.filmsite.org/wests.html
http://www.geocities.com/classicmoviescripts/script/westside.txt

Geek version:
http://www.ala.org/ala/lita/litamembership/litaigs/fuzzymatch/websitestory.htm

You could die waiting, however:
http://movies2.nytimes.com/gst/movies/movie.html?v_id=13087
http://www.imdb.com/title/tt0101698
http://en.wikipedia.org/wiki/Defending_Your_Life

[r->] [OFF]

andreas_mo...@gmx.de

unread,
Jan 25, 2006, 4:18:42 AM1/25/06
to
Just use ROMUPLOAD, no need to transform them.

andreas_mo...@gmx.de

unread,
Jan 25, 2006, 4:18:50 AM1/25/06
to

andreas_mo...@gmx.de

unread,
Jan 25, 2006, 4:18:53 AM1/25/06
to

Jean-Yves Avenard

unread,
Jan 25, 2006, 12:46:13 PM1/25/06
to
andreas_mo...@gmx.de wrote:
> Just use ROMUPLOAD, no need to transform them.
>
Won't work ...
the ROM for the 49g+ has specific instructions that only works on the
emulated saturn...

While the source code is the same between 49g and 49g+, the binary isn't.

Now the patch applied on the 49g+ ROM isn't too complex and I believe it
is possible to reverse it to get a rom that would work on an original 49g

JY

John H Meyers

unread,
Jan 25, 2006, 6:44:04 PM1/25/06
to
On Wed, 25 Jan 2006 03:18:42 -0600:

> Just use ROMUPLOAD, no need to transform them.

ROMUPLOAD is currently "Not available"
when attempted on 49G+ (as of version 2.05)

The task at hand is converting a 49G+ ROM file
into an update useful for the 49G;
apparently the only time this has been done before
is when HP created one ROM version for the Emu49+ emulator,
but that version is now a bit obsolete, even for the 49G+

Someone may be working on this project meanwhile;
hope they enjoy success.

[r->] [OFF]

Steve Sousa

unread,
Jan 25, 2006, 10:29:57 PM1/25/06
to
"Jean-Yves Avenard" <m...@privacy.net> wrote in message
news:43prr5F...@individual.net...

> andreas_mo...@gmx.de wrote:
>> Just use ROMUPLOAD, no need to transform them.
>>
> Won't work ...
> the ROM for the 49g+ has specific instructions that only works on the
> emulated saturn...

Apparently he updated his 49g, but is his update to 2.01 valid, or will
it crash eventually?

Best Regards

Steve Sousa


andreas_mo...@gmx.de

unread,
Jan 26, 2006, 4:03:31 AM1/26/06
to
Hello Steve,

right, I updated my 49g with the emulator ROM 2.01-1 of the 49G+. This
is quite easy with EMU48, cause the emulator ROM of the 49G+ works
fine with the emulated 49G. Just replace the ROM-file in the EMU
directory.
Since EMU48 doesn´t contain any ARM-emulation I expect this ROM to run
fine on my 49G.
I haven´t noticed any problems so far but I also admit that I don´t
use the 49G that much anymore (only for SW-Testing of my own SW) since
I got my 49G+.

HTH
Andreas

P.S. if there is need for a detailed explanation how to do it, I write
one if I have the time

Frère-Pierre

unread,
Jan 26, 2006, 5:06:36 AM1/26/06
to
<andreas_mo...@gmx.de> wrote in message
news:1138266211.6...@g44g2000cwa.googlegroups.com...
Hello Steve,

HTH
Andreas

===============================
Do that please
but 1st of all *test* it to see if it crashes


andreas_mo...@gmx.de

unread,
Jan 26, 2006, 7:19:21 AM1/26/06
to
> but 1st of all *test* it to see if it crashes
I leave this up to you, ´cause if I remember right you´re quite
anxious for a ROM update for the 49G ;-)
Now you have the opportunity...

Greetings
Andreas

John H Meyers

unread,
Jan 26, 2006, 1:20:56 PM1/26/06
to
There are only two existing "opportunities" to date
for updating a 49G to a version later than 1.19-6:

o Build version 1.24 from BP's CAS source release:
ftp://ftp-fourier.ujf-grenoble.fr/xcas/hpcas/casrelease.zip
(this location will have the recent fix to the "CreateRom"
program, invoked in the very last step).

o Try ROMUPLOAD from the only 49G+ version (2.01?)
for which a special Emu ROM file was ever provided.

There is some question about the latter, e.g.:
http://groups.google.com/group/comp.sys.hp48/msg/22ed9ef8066542b0

No one has as yet provided any general method
for using new 49G+ updates with either Emu4x or HP49G,
although someone may be working on it.

[r->] [OFF]

Jean-Yves Avenard

unread,
Jan 26, 2006, 7:54:34 PM1/26/06
to
Steve Sousa wrote:
> Apparently he updated his 49g, but is his update to 2.01 valid, or will
> it crash eventually?
>
If you're not using the binary intended for the 49g+, then it will be fine.
The code checks continuously on which machine it is running and run the
appropriate code for this machine.

JY

John H Meyers

unread,
Jan 26, 2006, 8:42:17 PM1/26/06
to
By the way, even the "Version 1.24" built for 49G
from BP's CAS source release knows all about the 48Gii
(E.g. in the "I/O functions" application)
and contains embedded tests for model type;
it also has the Filer updates for shortcuts to the ports
(keys 0, 1, 2)

Is there a published list of versions for 49G+
with a summary of what was updated in each version?

Thanks.

[r->] [OFF]

John H Meyers

unread,
Jan 26, 2006, 8:51:32 PM1/26/06
to
On Thu, 26 Jan 2006 18:54:34 -0600, JYA wrote:

> If you're not using the binary intended for the 49g+,
> then it will be fine.

Just to clarify, this emulator ROM file (which comes with Debug4x):

4194304 06-07-05 09:09 ROMG+.49G

That's a 49G compatible file, and *not* what you mean above?

And when you said


"the ROM for the 49g+ has specific instructions
that only works on the emulated saturn"

you meant "emulated saturn on the ARM platform,"
rather than on the Emu48/49 Windows emulator?

Thanks again!

[r->] [OFF]

Howard Owen

unread,
Jan 28, 2006, 3:41:39 PM1/28/06
to
Jean-Yves Avenard wrote:
> If you're not using the binary intended for the 49g+, then it will be fine.
> The code checks continuously on which machine it is running and run the
> appropriate code for this machine.

Sounds like that might impose some overhead on general operation.

Jean-Yves Avenard

unread,
Jan 29, 2006, 4:05:21 AM1/29/06
to
Howard Owen wrote:
> Sounds like that might impose some overhead on general operation.
>
That's why you have two different binary release. The one for the 49g+
is different than the one on the 49g.
For things like UI, keyboard handling where it's not time critical code
on both machine is the same.

JY

Frère-Pierre

unread,
Jan 29, 2006, 4:22:19 AM1/29/06
to
"Jean-Yves Avenard" <m...@privacy.net> wrote in message
news:443eqi...@individual.net...
May I ask this:
The 48gII has 131*64 LCD like the 49G
but the binary for the 49g+ does still not work for the 49G
???
Can you tell what parts are direct ARM-code
and if you could also name the parts that are pure Saturn
UI, keyboard handling,...???

Thank you, JYA - screw the HPQ


0 new messages