Hello all! I have gotten my grubby paws on a copy of a leaked HP Prime firmware (you know what I'm talking about Smile). After reading http://tiplanet.org/hpwiki/HP_Prime/Firmware_files, it got me curious. So, I opened up the binaries in a text editor to look for strings (disassembled the bootloader as well Very Happy). After snooping for hours, I am convinced that the HP Prime is running some form of Windows. I did some "research" on MSDN and figured out it was some form of Windows CE with a version greater than or equal to 4.2. I found strings of text within the binaries that are quite interesting.

SDKLIB.DLL:
Quote:
e:\svn\rtos\sdk\sdklib\Pocket PC 2003 (ARMV4)\Release\sdklib.pdb


COREDLL.DLL (also had some C and C++ ):
Quote:
VeriSign Commercial Software Publishers
Microsoft Windows CE Cryptographic Service Provider Signature
https://www.microsoft.com/pki/ssl/cps/WinCeCSPSigning.htm
http://crl.microsoft.com/pki/crl/products/MicrosoftCSPPCA.crl
D:\WINCE500\PBWorkspaces\KA015\WINCE500\ka015_ARMV4I\cesysgen\oak\target\ARMV4I\retail\coredll.pdb


FIRSTRUN.INI:
Quote:

[RUNING SETTING]
FirstRunApp = \\.\ARMFIR.ROM


If this is true, than ARMFIR.ROM (and possibly armfir.elf) is the actual calculator engine and interface, which calls to Windows functions. I can only think of one advantage, which would be that making the simulator would be much easier. Wink I'm not running Windows on my computer, however, so somebody else will have to examine the simulator to test my hypothesis.
That's Windows CE, which is nothing like the other versions of Windows you've worked with. Windows CE is a proper Real-Time Operating System (RTOS), and is suitable for use in embedded computers. Windows CE shares little to no architecture with desktop Windows versions, from 1.0 to Windows 10 (and Windows RT), and you can't trivially recompile desktop Windows applications for Windows CE. Unlike desktop Windows, Windows CE is provided to manufactures mostly as source code, so it can be customized for firmware use. Architecturally, Windows CE supports running exclusively from ROM. It can also provide guarantees about system responsiveness than no desktop OS including Windows desktop, OSX, Linux, and iOS can provide.
We came to the same conclusion over a year and a half before you did, 0x4682 Wink

But HP employees working on the Prime's software have stated, on other message boards with higher Prime activity, that armfir.elf is not making Windows CE syscalls. In their daily work on the code which is compiled to armfir.elf, they don't interact with Windows CE.
Yeah. I know all of that stuff. Razz But if armfir.elf isn't invoking Windows CE code, then how is it doing anything? Is it directly manipulating the hardware? If so, then why is Windows CE there in the first place? It doesn't make sense to my feeble mortal mind. The only other thing I could think of is Qt, which does run on Windows CE (http://doc.qt.io/qt-5/wince-with-qt-introduction.html), but then there would be a "Qt.dll" in the filesystem.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement