Thread Closed 
Are the members of the HP Prime team doing well?
01-24-2021, 12:42 PM
Post: #18
RE: Are the members of the HP Prime team doing well?
(01-24-2021 11:09 AM)Stevetuc Wrote:  Another way to handle this issue could be to provide an I/O port in the firmware to allow external code to run, like the 3rd party Omega firmware for Numworks does.
Cyrille mentioned this would have security implications because of exam mode, but I would argue that the I/O port could be firmly closed with exam mode activated, preventing any 3rd party code running on the calc.
Of course I'm hoping HP continue to support the Prime into the future and release Python and other goodies but having the I/O port would open the way to adding things like Fourier Transform and other code where the licensing prevents it being integrated into the firmware.

I'm not quite sure what you're referring at on the NumWorks. There's no particular I/O port for running external code, you just flash a firmware that runs your code. Omega has support for external apps, which are just files held in external flash that you jump into. There's no security whatsoever in that particular implementation, but the MCU does have MPU support, so it could be redesigned with a kernel/user mode split.

Regarding the HP Prime, the CPU is perfectly capable of supporting kernel/user mode split (and even hardware virtualization on the G2), so making a sandbox in a separate address space (or even a VM on the G2) is possible. What is hard is making that split air tight, especially if you provide a wide attack surface by providing lots of APIs, and I certainly understand Cyrille's reluctance to go down that road.

There is the option to provide a non-native environment like WebAssembly that has wide support in the industry. There are runtimes available under permissive free software licenses and it's potentially easier to secure, especially if it's a simple bytecode interpreter. There's still the problem of the attack surface if you want extensive access to the firmware's features.

But since the HP Prime is currently more-or-less on hold, the only two options I see for now would be to either write a transpiler to HP PPL or write a WebAssembly interpreter in HP PPL. It wouldn't require HP's cooperation and it would effectively make third-party code behave as "normal" programs on the calculator. Would either of these options be an acceptable workaround for HP Prime power users?
Find all posts by this user
Thread Closed 


Messages In This Thread
RE: Are the members of the HP Prime team doing well? - Jean-Baptiste Boric - 01-24-2021 12:42 PM



User(s) browsing this thread: 1 Guest(s)