EMU71 (and EMU41) to go.



#7

The recent iPhone hype and Gene's quest for an RPN calculator got me thinking that I still do not have a usable calculator for my phone. Sure some exist, but so far they are pretty lame. I have looked in to porting Free42 and EMU48 to my Windows Mobile 5 Smartphone. But, it lacks a stylus, so some UI work has to be done and I just have not had the time.

I stumbled on PocketDOS and thought I'd give it a try. It works surprising well.

Screen shots:

My phone screen is just under 2" wide. 4.6cm to be exact. It can be hard to read even when the phone is not moving. Obviously this would be for emergency use.

There is a handy zoom function tied into the talk and volume control buttons, e.g.:

The zoom feature is nice for EMU41 since you really only need the left side of the screen, but you can shift to the right side if you need the reference page:


#8

Best regards from V.


#9

~1/2 of real 71B. I have not seen if there are any tuning options. It is battery friendly, that's a plus.

#10

Woohoo! It looks great on my XV6700 in landscape mode:




Great find, Egan!

Regards,
Howard

#11

To get an idea of the relative performance of PocketDOS, I ran the following program on my real 41CX, EMU41 under Windows Vista on a 2GHz processor, and in PocketDOS running under Windows Mobile 5 on a 417MHz PXA270 in my VZ6700 phone.

001 LBL 'BENCH
002 1.999
003 STO 00
004 TIME
005 LBL 00
006 1.5
007 SIN
008 RDN
009 ISG 00
010 GTO 00
011 TIME
012 X<>Y
013 HMS-


The times I got:

Calculator Platform Turbo? Time
EMU41 2Ghz PC Y 1 second
EMU41 2Ghz PC N 8 minutes, 17 seconds
EMU41 PocketDOS Y 4 minutes, 36 seconds
EMU41 PocketDOS N 14 minutes, 11 seconds
HP41CX Native - 12 minutes, 52 seconds

So EMU41 running in turbo mode on an Xscale processor emulating an 80286 (presumably) is more than three times faster running this user code than the native 41C. Pretty impressive!

Regards,
Howard


#12

Its emulating an 80186. Check for numerical accuracy. Eg.:

WINDOWS   EMU71 RADIANS @ SIN(5) = -.958924274663
POCKETDOS EMU71 RADIANS @ SIN(5) = -.960189148053
PocketDOS is based on DOSBOX. DOSBOX does not have this problem. Both DOSBOX and PocketDOS have problems with EMU71 clock skew.

So far EMU41 does not appear to have a problem with numerical accuracy or clock skew. EMU41/accelerated on my phone is 1:1 to a 41CX.


#13

Emu71 and Emu41 run the HP ROM code, and don't rely on the host CPU floating point capabilities. You should get no differences between Emu71 running on Windows or Pocket PC, except if there is a serious bug in 80x86 emulation in PocketDOS.

Emu71 uses my Saturn emulation engine based on hand-written, highly optimized assembly language. It uses for instance the decimal arithmetic support of the 80x86, specifically the DAA and DAS instructions, that may be not fully or correctly implemented in PocketDOS.

Emu41 uses more "usual" C routines to implement the HP decimal arithmetic, and is less sensitive to the quality of the underlying 80x86 emulation.

Thanks, Egan, for this interesting test report!

J-F


#14

If you load the PDOS_DOSBOX_CPU.dll plugin the problem goes away. However it cuts the speed by half. Screen writes are slow. Clock skew still exists. No clock skew with EMU41. Any ideas?

Thanks.


#15

I don't know much about PocketDOS. My guess is that the plugin improves the 80x86 emulation accuracy, at the expense of lower speed.

In case of clock skew, especially if the emulation speed is less than the original HP71, you can try the Emu71 option /s : "emu71 /s".

J-F


#16

No difference in speed or clock skew. Not a big issue.

#17

Dear Sir,

PocketDOS is not based on DOSBox at all. We have compiled the DOSBox CPU code into a plug-in DLL which can be loaded under PocketDOS. PocketDOS' own CPU emulator is less complex (and hence much faster) than DOSBox. We will investigate the DAA and DAS instruction implementation to see if there is a problem with them that would cause accuracy issues.

Thank you for your interest.

---

PocketDOS - Adds DOS compatibility to your Pocket Computer.

http://www.pocketdos.com


#18

Quote:
PocketDOS is not based on DOSBox at all. We have compiled the DOSBox CPU code into a plug-in DLL which can be loaded under PocketDOS.

Sorry, my misunderstanding.
Quote:
We will investigate the DAA and DAS instruction implementation to see if there is a problem with them that would cause accuracy issues.

Thanks!

Possibly Related Threads...
Thread Author Replies Views Last Post
  EMU41; Dosbox on Linux; Excruciatingly sloooow Geir Isene 9 1,527 12-01-2013, 05:10 PM
Last Post: Geir Isene
  Update of Emu71 to v1.05 Christoph Giesselink 0 473 09-24-2013, 04:22 PM
Last Post: Christoph Giesselink
  EMU71 on a web page! hugh steers 13 1,789 07-14-2013, 12:47 PM
Last Post: Namir
  EMU71 to go71b--is there a way? Les Wright 12 1,729 06-25-2013, 07:08 AM
Last Post: Mike (Stgt)
  Update of Emu71 to v1.04 Christoph Giesselink 8 1,282 04-18-2013, 04:11 AM
Last Post: Mike (Stgt)
  Update of Emu71 to v1.03 Christoph Giesselink 6 1,139 02-24-2013, 09:12 PM
Last Post: Gerson W. Barbosa
  Update of Emu71/Win to v1.02 Christoph Giesselink 5 867 09-20-2012, 04:27 AM
Last Post: Mike (Stgt)
  Emu41 Richard L. Taylor 6 991 06-30-2012, 01:04 PM
Last Post: Richard L. Taylor
  How to: EMU71 on an Android Tablet Guenter Schink 56 5,891 06-15-2012, 08:50 AM
Last Post: Valentin Albillo
  EMU41: A Little Late to The Party, but Loving It! Les Wright 3 671 05-09-2012, 03:28 PM
Last Post: Christoph Klug

Forum Jump: