Emu48 for WinCE V1.14

this program is protected as described in About Box

Author: Sebastien Carlier(sebc@epita.fr)

Version 1.14: by Christoph Gießelink (cgiess@swol.de)

Porting WinCE to version 1.10 by Juan Pablo Lopez Anandon (jplopez@marin.esc.edu.ar)

Updated WinCE to 1.14 version by Leopoldo Bueno Castillo (leobueno@jet.es)

This version supports HP49G ROM images.!!!

A brief descriptions of the menus

Documents


Menus

File

    New Create a new calculator.

    Open Open an image saved previously.

    Save Save the image of the current status of the calculator.

    Save As Save the image with other name

    Swap Load the previous image. It's used to set between two calculators. For example HP48GX image and a HP49G image.

    Settings Set several parameters of the program

    Change KML Script Set the KML (This file is a description of the positions of buttons,  indicator, ROM image file to use, bitmap ,etc)

Edit

    Load Object Load a file to the stack. You can load binary files directly

    Save Object Save an Object.

    Copy String <not tested>

    Copy Screen <not tested>

    Paste String <not tested>

    Reset Calculator press the reset button of the calculator

    Backup backup a image in memory of the calculator. You can backup the calculator and restore this status when you want.


DOCUMENTOS

YOU NEED A ROM IMAGE

HOW TO START

SHARED RAM CARD

SPECIAL FEATURES

TROUBLE SHOOTING

SUPPORT

LEGAL STUFF

THE AUTHOR

KNOWN BUGS AND RESTRICTIONS OF EMU48 V1.14

ABOUT THE WINCE PORTING


YOU NEED A ROM IMAGE

Emu48 needs an image of the ROM of YOUR calculator to be able to run. Since the ROM is copyrighted by HP, I won't give you mine, and you should not give yours or make it freely available. To use the ROM software of a calculator, you must be the owner of this calculator. - If you have already used another HP48 emulator, you can convert the ROM with you were using with the Conver utility. To do that, start a Command Promt while running Windows, and type : Convert <old-file> ROM.48G or Convert <old-file> ROM.48S   Where <old-file> is the path to your old ROM image. This will create a file named ROM.48G or ROM.48S, depending on the version you own. This tool should be able to read any style of ROM image, and will also check its validity. Note than if you run it with only one parameter, no file will be written, but it will still check the validity of the ROM. - If you have never used an HP48 emulator, and don't have a ROM dump, you can either use the old ROMDump utility and then Convert your dump, or you can use my ROMDump Wizard, which will almost automatically get the ROM from your HP48. However, this Wizard was written without a documentation on the transfer protocol used by the HP48 (Kermit), so I cannot guarantee that it will work. It worked on my computer, maybe it will work on yours. Try it !  WARNING: If you use ROMDump or the ROMDump Wizard, DO NOT INTERRUPT THE PROCESS ! Your HP48 would lock, and the only way to reset it is through the Reset hole. IMPORTANT: To save a lot of space, two DLLs needed by the Romdump Wizard have not been included in the Romdump Wizard's distribution. They are called MSVCRT40.DLL and MFC40.DLL, and are available on the Web at the Emu48 Official Homepage : http://www.geocities.com/CapeCanaveral/5948/index.html These two files are freely distributable, and would be included in this archive if they weren't so large (about 1.4Mb for both) Note that they are NOT needed by Emu48 : only the Romdump Wizard requires them. * Once you have your ROM dump(s), SAVE THEM TO A FLOPPY DISK ! It will save you a lot of troubles if you were to lose them.


About the WinCE porting

This porting was made by Leopoldo Bueno Castillo.

leobueno@jet.es

It is updated to 1.14 version of Emu48 this means that the HP49G images are   Supported. You must get a ROM Image. The image of the HP49G emulator works. You can   Get it from HP directly. You must read the license agreement to see if you can use   This file (ROM.E49). You can also get the manual in this address.

http://www.hp.com/calculators/graphing/49g_info.html

The people that don't have a pc link kit there are (or there was) a rom image of the HP48GX in the following address.

http://www.geocities.com/CapeCanaveral/1509/pc.html

You can use this image only if you are owner of

a real HP48GX.


HOW TO START

When Emu48 is installed and you have put the ROM image(s) in its directory, you can start Emu48. You'll see a "Choose Your KML Script" box. KML Scripts in fact define the visual aspect of Emu48, the behaviour of the buttons, of the keyboard... It is a GREAT way to customize your copy of Emu48.

Check that the path in the "Emu48 Directory" text area is correct. Modify it if the directory in which you installed Emu48 is not the directory displayed.

Click the refresh button ("V") after modifying it to update the list box.

Choose a KML script in the list box. If you have put a G/GX ROM dump in Emu48's

directory, choose a script for G/GX. If you have put a S/SX ROM dump in Emu48's

directory, choose a script for S/SX.

Several scripts are included in the common archive :

* Emu48's Default Faceplate for HP48G/GX

* Emu48's Default Faceplate for HP48S/SX

These two are simple scripts, and they use the bitmap from Win48 2.05.

* Casey's Gx with Toolbar and Touch Screen

* Casey's Sx with Toolbar and Touch Screen

These script uses many advanced features, and is a good demonstration of

the power of Emu48's scripting language, KML. Try it, it is really great !

* Floating buttons

This one looks really great.

* Small but realistic HP48 Gx

This one has been designed for small resolutions such as 640x480.

Note: some things in this script have to be be fixed.

If you want other great scripts, visit Casey's Emu48 homepage :

http://www.gulftel.com/~pattersc/emu48/

And if you are interested in writting new scripts, you'll want the KML 2.0

documentation, available on Casey's page and on my page :

http://www.geocities.com/CapeCanaveral/5948/kmlind.htm

Once you have selected a script, press Ok to start the emulator. While it is

running, you can use the View/Change Kml Script to change the visual aspect

of Emu48.


SHARED RAM CARD

You can add a SHARED (I'll explain later) ram card of up to 4Mb. By default, no such card will be created when you start Emu48. The MkShared.exe utility, included in the registered version, will allow you to create it. The syntax is :

MkShared <filename> <size_in_kilobytes>

For example, you can create a 4Mb RAM card name SHARED.BIN (in Emu48's directory) with the following command :

MkShared SHARED.BIN 4096 Valid sizes are 128, 256, 512, 1024, 2048 and 4096 kb. When you have created this file, run Emu48, and use the Close menu item to close the calculator state. Now select View/Settings. In the "Port 2" text area, type the name of the file you created (if you don't include a path, it will be searched for in Emu48's directory).

You can also tick the check box "Port 2 Is Shared".

When the box is cleared, only the first instance of Emu48 will allow you to use the RAM card in Port 2.

When this box is ticked, the first instance of Emu48 will give you both read and write access to this RAM card. If then you start Emu48 again, the RAM card in Port 2 will be write-protected. You can thus transfer files very easily between two calculators. This RAM card is used by both S/SX and G/GX types. Note that you have to close Emu48 and restart it if you modify these settings.


SPECIAL FEATURES

Emu48 includes a backup feature (in the View menu). It save the complete state of the calculator in the computer's memory. You might want to use it before doing something risky, and if you don't want to save to the disk. It provides some kind of Undo feature. It is also used by Emu48 when you want to save or load a new document, to restore its old state if you cancel the operation or of something goes wrong. The swap feature permits swap between the two last images loaded. You can has a HP49G Image and a HP48 image and switch quickly


TROUBLE SHOOTING

Q: The emulator display the keyboard, but the screen stays blank or is filled with garbage.

A: Your ROM image is probably wrong. Check it with the Convert utility, and if it says that the CRC is wrong, you should try to download your ROM again.

Q: What does this message mean : "This file is missing or already loaded in another instance of Emu48."

A: Maybe you deleted or moved the files that the emulator tries to load when starting (the last files you saved). The other possibility is that you are running several instances of Emu48, but you are trying to load the same file in both instances, which causes a sharing violation.


SUPPORT

I cannot provide individual support for Emu48, but I will read all the mails that you send. All informations about Emu48 will be on the Emu48 Official Homepage on the Web :

http://www.geocities.com/CapeCanaveral/5948/index.html

Other graphics and scripts are available at Casey's Emu48 Graphics Page :

http://www.gulftel.com/~pattersc/emu48/


LEGAL STUFF

Emu48 - An HP48 Emulator

Copyright (C) 1997 Sebastien Carlier

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.


The Author

Paper Mail:

Sebastien Carlier

10 Allee des bergeronnettes

35340 LIFFRE

FRANCE

E-Mail:

sebc@epita.fr

sebc@anet.fr

Homepage:

http://www.geocities.com/CapeCanaveral/5948/index.html


Known bugs and restrictions of Emu48 V1.14

- the following I/O bits aren't emulated (incomplete)

DTEST (0x102) [VDIG LID TRIM]

DSPCTL (0x103) [LRT LRTD LRTC BIN]

LPE (0x109) [ELBI EVLBI GRST RST]

IOC (0x110) [ERBZ]

RCS (0x111) [RX RER RBZ]

TCS (0x112) [BRK LPB TBZ TBF]

SRQ1 (0x118) [ISQR TSRQ USRQ VSRQ]

SRQ2 (0x119) [NINT2 NINT LSRQ]

- the baudrates 1920, 3840, 7680 and 15360 aren't emulated on most

operating systems

Windows 95a 1920, 3840, 7680 work, 15360 fail

Windows 98 all baudrates fail

Windows NT4.0 SP3 all baudrates fail

- System-RPL commands VERYVERYSLOW, VERYSLOW and SLOW depends on PC

speed (are realized as simple down counter in ROM)

- display updating differs from the real machine

- screen VBL counter values may skip after large display operations

like turning on or updating the whole display

- read on an unconfigured address (open data bus) will not show the

same value like a real calculator

- the G(X) hardware signals BEN and DA19 aren't fully supported,

because the emulator don't use a multiplexed AR18 / NCE3 data line

-> all programs that run on a real calculator will run as well,

programs with incorrect DA19 / BEN handling may run on the

emulator but will crash on a real calculator

- no beeper support with OUT command -> all programs that aren't

use the "=makebeep" subroutine, like alarm wake up, have no sound

- beeper emulation, ATTN key doesn't work,

Windows 9x: plays only default sound event or standard system beep

- no infrared printer support

- Shell OS: clock isn't synchronized with real time

- HP49G: flash ROM is treated as ROM (no writing to flash memory)

-> writing to port 2:FLASH will crash the emulation!

10/20/99 (c) by Christoph Gießelink, cgiess@swol.de