From: Han on
On Jun 29, 4:25 am, Andreas Möller <andreas_moellerNOS...(a)gmx.de>
wrote:
> Hello John,
>
> as you might know, patching the ROM from the outside is quite
> difficult.
>
> The O.S. provides some "hooks" for this (e.g. the ROMPART) but not for
> all (e.g. PTRs, FLASHPTRs).
>
> One way to be able to patch the ROM from the outside is to install a
> new SOL (SystemOuterLoop) and an additional RAM area where the
> information for the patches is stored/handled. To my knowledge I am
> the only one who has done this with the MLPs (Watch the video:http://www.youtube.com/watch?v=Pj72miclisM).
>
> Another way would be to patch the binary of the ROM *before*
> downloading it into the calculator by exchanging the desired parts and
> recalculating the needed checksums (of course while keeping supported
> entries stable). IIRC this was an approach by the never released and
> now abandoned HPGCC 3.0.
>
> And a third way would be to program your own ROM :-)
>
>  > Say, why can't Emu48 correct ROM bugs, too?
>  > That way, everyone using it, instead of a real
>  > calculator, can have a perfect HP49/50 series
>  > calculator ;-)
> But then, why should one buy a 50G with *bugs* from HP when there
> would be a *bug-free* version available for free ?
> What would be the reaction of HP´s legal department and the bean
> counters ?
> And what would that mean for the calculator division ?
>
> Regards,
> Andreaswww.software49g.gmxhome.de

Would it also be possible to take over the ROM by mapping a flash bank
over the main bank? This is a technique that has always been available
since the HP48SX. The Metakernel used this technique on the HP48GX if
I'm not mistaken.
From: Andreas Möller on
Hello Han,

> Would it also be possible to take over the ROM by mapping
> a flash bank over the main bank? This is a technique that
> has always been available since the HP48SX. The Metakernel
> used this technique on the HP48GX if I'm not mistaken.

There must be some misunderstanding here. FlashBanks were introduced
with the49G, the 48GX has no FlashBanks but uses a technique called
"covered ROM" which is still present in the 49G. "Covered ROM"
contains built-in libraries which means that you can take over them by
exchanging the hash table (but be aware of the STO bug in the 49G
which zeroes this pointers everytime something is stored in a port).
"Covered ROM" can be accessed through Access Pointers which are stored
in RAM. An ACPTR is 15 Nibbles, 5 Nibbles Prolog, 5 Nibbles for the
access routine to configure the memory and 5 Nibbles as an address
pointer to the program code.

The Metakernel exchanges the SOL as far as I know but Cyrille could
give a definitive answer. Unfortunately it has been quite some time
since he made a post here.

Regards,
Andreas
www.software49g.gmxhome.de
From: John H Meyers on
On 6/28/2010 5:12 PM, Han wrote:

> Sorry if there was any confusion. It is a patch of SDB. SDB was
> designed to emulate CK&DISPATCH1 exactly as it is in ROM. I had
> planned for the updated SDB to continue this -- emulating even the
> bugs -- but then decided against this. I called it a patch because by
> excluding the 2 bugs, SDB was no longer emulating the entry as it is
> in ROM (i.e. bugs and all). It has nothing to do with patching the
> actual ROM.

I don't quite understand for which side of this issue you are voting :)

I think that emulators and debuggers should all simply "follow the ROM";
otherwise the results are not what will really happen in the calculator,
but instead will be results which can occur only in the emulator or debugger.

[r->] [OFF]
From: Andreas Möller on
Hello,

> I think that emulators and debuggers should all simply
> "follow the ROM"; otherwise the results are not what
> will really happen in the calculator, but instead will
> be results which can occur only in the emulator or debugger.

Wishful thinking.

As a matter of fact EMU49 and the 50g use different ROMs (you know
that :-) and also the emulation of the original Saturn is not the
same. The carry flag inside of the emulated Saturn behaves different,
but don't ask which is right or wrong.

Conclusion: If one wants to write new software for the ancient Saturn
one must know the differences depending on where you want to run your
code.

Regards,
Andreas
www.software49g.gmxhome.de
From: John H Meyers on
On 6/29/2010 4:25 AM:

["Tongue-in cheek" mode]
> > Say, why can't Emu48 correct ROM bugs, too?
> > That way, everyone using it, instead of a real
> > calculator, can have a perfect HP49/50 series
> > calculator ;-)

> But then, why should one buy a 50G with *bugs* from HP when there
> would be a *bug-free* version available for free ?
> What would be the reaction of HP´s legal department and the bean
> counters ?
> And what would that mean for the calculator division ?

Is that also "tongue-in cheek" mode?

Anyone can have an emulated 50G for free -- on mobile devices, for example,
as well as on any PC (and probably other platforms).

Anyone can also suggest ROM patches, or make them.

As a precedent, old 49G version 1.19-6 (the best version
before the later 49G+/50G series started production)
was never available from HP itself
(HP stopped at much inferior version 1.18, which is _still_
the last you can get directly from HP for the HP49G).

I'd guess that HP was pretty glad that 1.19-6 was available elsewhere,
because it probably increased sales in the long run,
at the same time as it allowed HP to disclaim responsibility --
don't we all love to get more without taking any responsibility? ;-)

Of course, all versions through 2.10 also run fine on HP49G,
although getting the 49G updated needs an emulator's help,
plus a ROM left in "pure Saturn" form for the emulator
(or a directly transferable ".flash" file,
which no doubt either exists or can be generated from other ROM files).

I don't recall any bug fix in 2.15 that's not in 2.10 (is there any?)
The normal 2.10 (not BP's) doesn't seem to be available,
but 2.09 is still very close, with very few small fixes.

BP's "2.10" comes with some unofficial extras,
plus an internal shift which doesn't support something from A.M.
(has anyone found any other software which won't run on it?)

I gotta go now and count some beans (or at least eat them).

--