10 years ago: Unofficial Emu48 Update



#2

It's now 10 years ago, on April 21th, 1998 I published my first update for Sebastien Carlier's Emu48 emulator. The publishing address http://privat.swol.de/ChristophGiesselink/ still exists but it's now only a forwarder to my actual homepage at http://hp.giesselink.com. At that time I called the updates "Unofficial" because they weren't "authorized" by Sebastien Carlier. The latest "official" version of Emu48 by him was v1.10, which was in fact my "Unofficial Emu48 Update SP10". I can't remember any more when I removed the word "unofficial" from my new version announcements. When you want to know more about the Emu48 history, visit http://hp.giesselink.com/10ann48.htm please. I just added a small part for the time from 2000 until now.

To celebrate this day I published Emu48 v1.47 for Windows PC's. Version v1.47 also mean that I published 47 versions in the last 10 year, 4.7 updates per year. But when you have watched the Emu48 development in the last years, you may recognized that the updates came out less frequently. This is of course a result that the emulation of these now old calculators is very stable. So Emu48 v1.47 contain only some minor bug fixes over version v1.46.

But since 2004 I distribute an Emu48 version for ARM based Windows Mobile devices. Here I made the biggest changes. First of all, Emu48 for Pocket PC v1.16 now also supports packet ROM images for the HP49G emulation. In combination with all other packed ROM images and RLE coded KML script bitmaps this safes a lot of memory on the PDA. One side effect of the new HP49G ROM image loader is, that the loader is over one second faster than the old one. Also the Pocket PC version got a small manual, which isn't complete, but it's a beginning. But the biggest change I done, Emu48 for Pocket PC is now also available in an installer version! The times of installing Emu48CE first, manual installing of Emu48 for Pocket PC and patching the KML scripts has gone. The new installer contain most of the KML scripts of the Emu48CE version, I only removed a few one, and added some newer which had been available separately.

I hope you enjoy the new Emu48 emulator versions, and perhaps we can celebrate some other Emu48 anniversaries in future.

Best Regards,

Christoph Giesselink

maintainer of the Emu48 for Windows project


#3

Congratuation and thank you for all your good work. Your emulator has become so good that I use the emulator much more often than the real thing.

#4

Congrats for the Anniversary,
and many thanks for the extraordinary work!

You made this beast usable at all,

and one of the most valuable tools

for me and many other HP-48 enthusiasts!

Many thanks again, and keep up the extremely good work:-)

Best Regards

Raymond


And no, we don't forget that S. Carlier

initially invented Emu48 (or Win48?),

but you re-invented it, and actually

made it usable at all. Before you took over,

it was simply a non-usable design study.

#5

Brilliant! I can't thank you enough for the 10 years of hard work you've put into Emu48.

I have a stupid question, as I'm very ignorant about the structure of the rom files. I attempted to use what I thought was a packed rom file on the pocketpc version without success. I renamed the .flash file from a rom update I got from hpcalc.org. The emulator appears to load without error, showing the skin correctly, but with a blank screen. Is the flash file not the same as a packed rom image?


#6

Quote:
I have a stupid question, as I'm very ignorant about the structure of the rom files. I attempted to use what I thought was a packed rom file on the pocketpc version without success. I renamed the .flash file from a rom update I got from hpcalc.org. The emulator appears to load without error, showing the skin correctly, but with a blank screen. Is the flash file not the same as a packed rom image?

No it isn't, packed files are completely different from .flash files. A .flash file is a file in a special format with block and size information and containing data which must be replaced in the flash chip. Normally a .flash file don't contain the boot loader block and the user data. Emu48 needs an image of the complete 2MB flash chip inside the HP49G. Because all calculators emulated by Emu48 have a 4 bit data bus, so a byte in the ROM image contain only 4 bit, the upper 4 bits are zero. In Emu48 notation we call this an unpacked ROM image. In the case of the HP49G 2MB flash chip the emulator ROM image file size is 4MB (2*2MB). A packed ROM image save all 8 bit in a byte, so the packed HP49G ROM image has also 2MB.

But Emu48 for Pocket PC can't really handle packed ROM images, they were unpacked at runtime. But especially on WM5.0 and later devices, working with packed ROM image is faster. The reason for this is very simple. On WM5.0 and later devices programs reside in the flash memory. At runtime they are copied from the flash memory to the user RAM. Because flash memory access is slower than RAM access, it's sometimes faster to copy less data from the flash memory to the RAM and creating the resulting data in RAM with CPU power.

On a Windows PC the things looking completely different. Because of overlapped file I/O (which isn't available on older WM devices) the ROM image loading time goes to zero. We see more or less only the time for the ROM image checksum calculation, whereas on WM devices we have the ROM image loading time plus the time for the checksum calculation. Because on Windows PC's hard disc memory isn't such a topic, but speed still is, I decided to use the faster variant on Windows PC's and don't add the packed ROM image stuff.

Cheers

Christoph


#7

Thanks for the explaination. I just tried to make a packed rom from an unpacked rom, but it still isn't working. If the first few bytes of the unpacked rom are, for example, $06 $02 $09 $08 etc., my packing routine gives me $62 $98 etc. Is that the correct approach?


#8

Quote:
Thanks for the explaination. I just tried to make a packed rom from an unpacked rom, but it still isn't working. If the first few bytes of the unpacked rom are, for example, $06 $02 $09 $08 etc., my packing routine gives me $62 $98 etc. Is that the correct approach?

Wrong nibble order. Extract from the EMU48PPC.HTM manual Section "3. ROM Images"

Quote:
ROM images are valid in a packed (even address lower nibble, odd address higher nibble) or unpacked (one nibble per byte with even address first) form.

You haven't to write your own packer/unpacker if you're using Windows on your PC. To pack ROM images you can use the Emu2rom.exe console program from my filetool collection.

The Emu2rom.exe program is also part of my CARDUPL.ZIP package.

Cheers

Christoph


#9

Sorry, the answer was right in front of me all along. Thanks for clarifying and for the file tools. I haven't tried Emu2rom yet, but swapping the nibbles in my routine worked fine. I just did a few lines of vba code in excel to pack the rom, so it wasn't much effort. And, like you said, the packed rom loads very fast on the PPC. Thanks again.

Edited: 24 Apr 2008, 2:12 a.m.

#10

My emulator/simulator cup runneth over!



Below is a thank you card from me to you.



Mark Hardman (LED)

Houston, TX




#11

Couldn't do this 10 years ago. Now I've got a 49G in a 4"x 2.3"x 0.5" package. Thanks, Christoph!



Edited: 22 Apr 2008, 1:07 a.m.

#12

This picture looks like one I made years ago. The same picture from below but with a better resolution.

Cheers

Christoph


#13

Hold on! Do you really have ROMs for the 10B, 14B, 19B, 20S, 21S and 32SII ?!?!?



I just spent last weekend dumping the ROMs from my 27S, 42S, 17B, 17BII, 28C, 28S (a real bitch!), 48SX, 48GX, 38G, 39G and 40G. So, its like an addiction to me now. I need more ROMs!!!



Only the HP-19B has an IR transmitter for dumping the ROM. Even with that, I cannot possibly see a way to compile the .asm code need to dump the ROM.



Curious minds want to know. How did you do it? Could I bribe you with a lovely HP-15C? <grin>



Mark Hardman (LED)

Houston, TX


Edited: 22 Apr 2008, 2:39 p.m.


#14

Quote:
[quote]
Do you really have ROMs for the 10B, 14B, 19B, 20S, 21S and 32SII ?!?!?

Seem so. ;-)

There's no working way at the moment to extract the above ROM images from a calculator. There are some ideas about the Saturn hardware debug mode with an analyser listening on the Saturn bus at self check. But therefore we need the pin layout for the used chips and many other stuff.

Because it's normal impossible to get the ROM images, the necessary emulators Emu10, Emu32 and Emu32PPC aren't published yet.

Cheers

Christoph


Possibly Related Threads...
Thread Author Replies Views Last Post
  emu48 - copy stack doesn't work (as expected) Thomas Radtke 2 253 11-11-2013, 02:19 PM
Last Post: Thomas Radtke
  Shutdown with the Apps key and more than 10 variables in a program. Davi Ribeiro de Oliveira 10 529 11-05-2013, 01:26 PM
Last Post: Han
  Updated PPC DVD Version 2.10: HP-41 Searchable Program Files and Scannable Barcode Jake Schwartz 3 230 09-27-2013, 09:51 PM
Last Post: Olivier (Wa)
  Rounding of 10^x Olivier De Smet 8 295 08-28-2013, 06:33 AM
Last Post: Dieter
  HP 11C Batteries have lasted 22 years nink 3 225 06-23-2013, 06:51 PM
Last Post: Les Koller
  Update of Emu48 to v1.55 Christoph Giesselink 4 239 05-26-2013, 05:28 PM
Last Post: Andrew Nikitin
  Update of Emu48 to v1.54 Christoph Giesselink 1 128 01-23-2013, 05:28 AM
Last Post: Mike (Stgt)
  HP 48G series -> 20 years NACHO 0 125 12-13-2012, 09:40 AM
Last Post: Nacho
  An old friend powered up after 30 years !! Peter Charter (Durban) 19 750 10-22-2012, 01:36 PM
Last Post: Dave Shaffer (Arizona)
  HHC 2012 RPN Programming Contest - 10-Step Way-After-Nashville Solution Jeff O. 32 1,173 10-12-2012, 01:41 AM
Last Post: Paul Dale

Forum Jump: