Differences between HP50g and emulator - Hewlett Packard

This is a discussion on Differences between HP50g and emulator - Hewlett Packard ; Hello, I've been playing for some time with my new 50g, and I often use the emulator on the PC to test things and programs. I've noticed some differences, that surprise me because both use the same ROM version. For ...

+ Reply to Thread
Results 1 to 12 of 12

Thread: Differences between HP50g and emulator

  1. Differences between HP50g and emulator

    Hello,
    I've been playing for some time with my new 50g, and I often use the
    emulator on the PC to test things and programs.
    I've noticed some differences, that surprise me because both use the
    same ROM version.
    For example, the easter eggs: the "second" Tetris game (the one you
    activate from inside the Equation Writer) only works on the actual
    calculator, and nothing happens on the emulator; while the ON+D easter
    eggs (showing grayscale photos of the developers) only work on the
    emulator. When pressing On+D on the calc, I get a completely different
    menu.
    What's happening here? Why do I get different results?

    Thanks,
    Cristian


  2. Re: Differences between HP50g and emulator

    Another thing... I just noticed that the Minehunt built-in game is
    gone... I get a "blank" softkey where it used to be. Maybe it was
    removed from ROM 2.10.7? Can anyone confirm this?

    Cristian


  3. Re: Differences between HP50g and emulator

    On Fri, 13 Apr 2007 14:07:10 -0500, Cristian wrote:

    > I've been playing for some time with my new 50g,
    > and I often use the emulator on the PC to test things and programs.
    > I've noticed some differences, that surprise me
    > because both use the same ROM version.


    Except for two parts of the complete rom --
    the Emulator's "Boot block" (which is still from 49G)
    vs. the real calc's "Boot loader"
    (containing Saturn emulator, diagnostics, and all other ARM stuff).

    > For example, the easter eggs: the "second" Tetris game (the one you
    > activate from inside the Equation Writer) only works on the actual
    > calculator, and nothing happens on the emulator; while the ON+D easter
    > eggs (showing grayscale photos of the developers) only work on the
    > emulator. When pressing On+D on the calc,
    > I get a completely different menu.
    > What's happening here? Why do I get different results?


    The developer photos are IIRC in the 49G "boot block"
    (which wasn't filled, hence had room for added fun stuff);
    ON+D likewise uses diagnostics in "Boot block" vs. "Boot loader."

    I don't know where the EQW Tetris resides, but if emulator
    and real calc don't correspond, it could be either
    in the boot block area, or else so hardware-dependent
    that it's too low-level for the emulator to duplicate.

    [r->] [OFF]

  4. Re: Differences between HP50g and emulator

    usenet1.20.quaxo@spamgourmet.com wrote:
    > Hello,
    > I've been playing for some time with my new 50g, and I often use the
    > emulator on the PC to test things and programs.
    > I've noticed some differences, that surprise me because both use the
    > same ROM version.
    > For example, the easter eggs: the "second" Tetris game (the one you
    > activate from inside the Equation Writer) only works on the actual

    I think you just dreamed it, cause they are exactly the same ROM. Exact
    same thing on emulator and real machine.

    ON-D goes into the boot loader which doesn't exist on the emulator.

    JY

  5. Re: Differences between HP50g and emulator

    John,
    Thank you for the reply... I was thinking (wrongly, it seems) that the
    ROM bootloader "ended its task" after... well, bootloading. I thought
    that no part of it remained "active" until next cold-boot, which I
    thought made sense because otherwise if there's a bug in the
    bootblock, it can't be fixed (as it's in ROM) and can affect the
    calculator's functions...
    This means that the ROM bootblock area is mapped with the main memory,
    and is accessible during normal operations?

    On a side note, is there no way to give a 50g bootblock to the
    emulator, so that it behaves exacly like the actual calculator?

    Thanks
    Cristian


  6. Re: Differences between HP50g and emulator

    usenet1.20.quaxo@spamgourmet.com wrote:
    > Another thing... I just noticed that the Minehunt built-in game is
    > gone... I get a "blank" softkey where it used to be. Maybe it was
    > removed from ROM 2.10.7? Can anyone confirm this?

    MINEHUNT is included in the equation-library - not in ROM anymore:-(

  7. Re: Differences between HP50g and emulator

    On Sat, 14 Apr 2007 05:45:29 -0500, Cristian wrote:

    > I was thinking that the ROM bootloader "ended its task"
    > after... well, bootloading.


    The 49G "Boot block" contains diagnostics like ON+D,
    and the vital "ROM update" function, which loads
    the *other* ROM banks, not itself (the 49G's flash
    even generally has that area "locked" as "read only").

    The "Boot loader" of the ARM-based calcs has the same jobs,
    but since it's based on another processor and hardware
    architecture, it is entirely rewritten for those calcs.

    The ARM-based "Boot loader" can even replace itself,
    but using a different file than normal "ROM updates";
    however, there has long been no change (v 4.01.03.03
    is the last I've heard of), and even V3 is quite adequate
    (minor details about ROM update via SD card were since adjusted),
    and there's not likely going to be any need for update anyway,
    so why care about replacing it?

    > I thought that no part of it remained "active" until next cold-boot,
    > which I thought made sense because otherwise if there's a bug in the
    > bootblock, it can't be fixed (as it's in ROM)


    As above.

    > This means that the ROM bootblock area is mapped with the main memory,
    > and is accessible during normal operations?


    I think not; even the "user flash" (port 2) is not "mapped into memory"
    except temporarily, one segment at a time, for copying parts into RAM,
    just like ports 2 and up in the HP48GX.

    But what is "main memory," anyway?

    The part which you deal with is "Saturn memory,"
    in which only a part of "Saturn ROM" remains mapped all the time,
    while other parts get "swapped in" as needed, so at any moment,
    some of those 2^20 "Saturn" nibbles (512K bytes)
    represent ROM (only "Saturn" ROM), another part is RAM
    (both temporary and "user"), and another part is for
    dynamic re-mapping of ports; meanwhile, the ARM processor
    has its own memory -- some ROM, and some RAM (the latter is
    "stolen" from what used to be 256K of "Port 1 ERAM" in the 49G,
    which is found reduced to 128K in 50G/49G+/48Gii).

    Do we care? "What, me worry?" [Alfred E Neuman :]

    > On a side note, is there no way to give a 50g bootblock to the
    > emulator, so that it behaves exacly like the actual calculator?


    The original "Saturn" emulator EMU48 knows nothing about ARM processors,
    so it has to emulate a 49G (although the Debug4x version has been
    modified to handle a larger screen when needed, and to recognize
    some special expanded Saturn instructions, to return what
    an ARM-based Saturn emulator would return for each newer model,
    thus being able to fool the "Saturn ROM" code into believing
    that it is running on an ARM-based Saturn emulator, even though
    it's actually still running on a PC-based Saturn emulator

    When there's a PC-based ARM processor emulator instead
    (or is there already?), then even that "Boot loader"
    can be emulated (and more importantly, HPGCC,
    which uses the ARM processor natively) -- however,
    you will then lose those neat developer greyscale photos
    [and perhaps also not be able to emulate a plain old 49G,
    nor 48S/G models, which I use a lot]

    But what's so important about emulating the diagnostics
    hidden in a "Boot block/loader" anyway?

    Unanswered question:

    Won't a Saturn emulated by an ARM emulated by a PC
    likely be slower than a Saturn emulated directly by a PC?
    (it's mighty fortunate that PCs are now so fast anyway,
    but some programs [e.g. max. precision numeric integration]
    run so long that we might still care about speed

    [r->] [OFF]

  8. Re: Differences between HP50g and emulator

    On Sat, 14 Apr 2007 05:38:57 -0500:

    > ON-D goes into the boot loader which doesn't exist on the emulator.


    Emu48 acts just like the 49G, complete with the greyscale pix
    of you ACO guys -- just as you all used to look back then

    [r->] [OFF]

  9. Re: Differences between HP50g and emulator

    Hello JY,

    > I think you just dreamed it, cause they are exactly the same ROM. Exact
    > same thing on emulator and real machine.


    I dreamed what? The Tetris games? I can "load" them both without
    problems (in a reproducible way) on the calc. But only one of them in
    the emulator. I tried holding the calc in front of the computer, and
    making the very same keypresses on both (Go to EQW, alpha lock, type
    MINEISBETTER, alpha unlock, select the text with arrow up, press the
    "SIMP" softkey - there it is, the "better" tetris). After quitting the
    tetris, back on the EQW you get the number of lines you "cleared"
    during your game. In the emulator pressing SIMP gives nothing.

    >
    > ON-D goes into the boot loader which doesn't exist on the emulator.


    ON-D, on the emulator, gives me a menu named "Tests" with the
    following entries:
    1: Hard
    2: Cpu
    3: Kbd1
    4: Kbd2
    5: FastROM
    6: FastRAM
    7: FullROM
    8: FullRAM
    9: FROM Format
    E: RS232
    Q: Reboot

    And the "hidden" photos pressing various keys. The menu entries
    actually work.

    On the actual calc, ON-D gives a screen with the message "Version:
    04.01 Build number: 0093"
    and after a couple of seconds, a menu with the following entries:
    1. LCD
    2. KEY
    3. FLASH
    4. SRAM
    5. USB
    6. RS232
    7. BUZZER
    8. IRDA
    9. CARD
    A. AUTOTEST


    So, what part of all this did I "just dream"?

    Cristian


  10. Re: Differences between HP50g and emulator

    On Apr 14, 4:35 pm, "John H Meyers" wrote:

    > But what is "main memory," anyway?
    >
    > The part which you deal with is "Saturn memory,"
    > in which only a part of "Saturn ROM" remains mapped all the time,
    > while other parts get "swapped in" as needed, so at any moment,
    > some of those 2^20 "Saturn" nibbles (512K bytes)
    > represent ROM (only "Saturn" ROM), another part is RAM
    > (both temporary and "user"), and another part is for
    > dynamic re-mapping of ports; meanwhile, the ARM processor
    > has its own memory -- some ROM, and some RAM (the latter is
    > "stolen" from what used to be 256K of "Port 1 ERAM" in the 49G,
    > which is found reduced to 128K in 50G/49G+/48Gii).
    >
    > Do we care? "What, me worry?" [Alfred E Neuman :]
    >
    > The original "Saturn" emulator EMU48 knows nothing about ARM processors,
    > so it has to emulate a 49G (although the Debug4x version has been
    > modified to handle a larger screen when needed, and to recognize
    > some special expanded Saturn instructions, to return what
    > an ARM-based Saturn emulator would return for each newer model,
    > thus being able to fool the "Saturn ROM" code into believing
    > that it is running on an ARM-based Saturn emulator, even though
    > it's actually still running on a PC-based Saturn emulator


    John,
    Thanks a lot for a very informative answer. I wasn't thinking about
    the "ARM emulating Saturn" part.
    Why is it that reading your answer, I get the impression that I opened
    the famous "can of worms"?

    Thanks again
    Cristian


  11. Re: Differences between HP50g and emulator

    usenet1.20.quaxo@spamgourmet.com wrote:

    > I dreamed what? The Tetris games? I can "load" them both without
    > problems (in a reproducible way) on the calc. But only one of them in
    > the emulator. I tried holding the calc in front of the computer, and

    Both Tetris are available.
    Set your calculator to have the same flags, then do as usually
    (especially the flag controlling CAS step-by-step mode).

    The EQW tetris is located with the EQW source code, they are identical
    between emulator and real machine.

    The only thing different between the emulator and the real machine is
    the bootloader as John described.
    Except that the original HP49 bootloader is in fact present for all new
    HP49g+/50/48gii, but isn't used to boot. However it is used as it
    contains primary routine like xmodem, writing to flash etc.
    The 49g+ and 50g has additional code (about 180kB more) for all ARM
    related routine (including the emulator: codename Saturnator).

    JY

  12. Re: Differences between HP50g and emulator

    mats wrote:
    > usenet1.20.quaxo@spamgourmet.com wrote:
    >> Another thing... I just noticed that the Minehunt built-in game is
    >> gone... I get a "blank" softkey where it used to be. Maybe it was
    >> removed from ROM 2.10.7? Can anyone confirm this?

    > MINEHUNT is included in the equation-library - not in ROM anymore:-(

    it is.

    Try MINEHUNT2 instead

    I renamed the command to fix what was mentioned here.

    I guess it was a poorly fix, I can't remember why I did it the way I did
    (couldn't be bothered really)

    I reverted those changes, just in case....

    From: "John H Meyers"
    Newsgroups: comp.sys.hp48
    Subject: Re: HP 49G+ Display [TrigLib bug]
    Date: Wed, 11 Oct 2006 22:17:02 -0500
    Organization: (real domain is miu.edu)

    On Wed, 11 Oct 2006 12:32:50 -0500, David Boyd wrote:

    MINEHUNT is in the equation libraries, amusingly enough.
    Those must be loaded separately when updating the ROMs.

    You have just discovered a Library conflict!
    (or rather, a *duplicate* command name in the Equation library)

    By viewing 2275 MENU (the menu for Equation library 227),
    you can see that library 227 not only contains MINEHUNT,
    but also contains a command name
    (MSOLVR, ROMPTR E2 2) duplicating the name
    of an already-existing built-in user command
    (MSOLVR, ROMPTR AB 72), where "AB" (library 171)
    contains many built-in commands added for the 48G series
    and continued for the 49 series.

    Unfortunately, it turns out that
    when library 227 is installed and attached,
    any user program containing the command name MSOLVR
    now compiles a ROMPTR reference to library 227,
    rather than a reference to the already *built*in*
    Multiple Equation Solver [MES, menu 116] command from
    library 171, and this has probably been happening ever since
    ROM version 2.00 (if that was where the Equation Library
    was first added).

    This means that if anyone compiles a user program
    containing the built-in user command MSOLVR
    when the Equation Library happens to be installed,
    it will compile into a binary program which anyone
    who has not installed the Equation Library can not run,
    even though the already built-in MSOLVR command
    is already part of the main ROM, and should not depend
    in any way upon the installation of an *optional*
    Equation Library.

    It looks to me as if it would be prudent to get rid of that
    *duplicate* command *name* MSOLVR from HP library 227
    (without, of course, changing the *numbering*
    of the other user-accessible commands of library 227).

    By the way, menu 114 also seems to contain a reference
    to the SOLVEQN command of the *optional* equation library,
    whether or not that library is attached (and menu 113,
    also just like its HP48G counterpart, mentions EQLIB
    whether or not it's installed).

    Such typical problems are often encountered
    when trying to separate Siamese twins
    to give them independent lives

    It ought to be possible for HP to perform
    the very minor corrective cosmetic surgery
    to repair these little glitches of the quickly done
    original Equation library separation, and best wishes.

    [r->] [OFF]

+ Reply to Thread