Join us on Discord!
You can help CodeWalrus stay online by donating here.

Announcing Rip'Em, a third-party firmware for the HP Prime

Started by Jean-Baptiste Boric, January 01, 2016, 10:30:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jean-Baptiste Boric

Well, it's not really an announcement anymore since the news spread to every major calculator website community, but I thought I should create a topic here just for good measure.

From the original Omnimaga thread (https://www.omnimaga.org/hp-prime/announcing-rip%27em-a-third-party-firmware-for-the-hp-prime/) :
Quote
Ran out of presents to rip open? How about ripping open your HP Prime for science?

This is Rip'Em, a third-party firmware for the HP Prime calculator. It is a (rather primitive for now) unofficial bootloader that replaces PRIME_OS.ROM and is currently written by someone who doesn't know what he's doing.

For now, unless you can connect to the 3.3v TTL serial port inside the calculator nothing too exciting will happen.

What you can do with it for now :

  • Launch a homegrown GDB stub over serial (only suitable for poking memory and upload/run code) ;
  • Launch a single ELF file as a payload. Current payloads available are :

    • dummy.elf : A dummy payload that blinks the LEDs so you can hang your HP Prime to your Christmas tree ;
    • PRIME_OS.ROM : The official firmware can be launched using the osrom2elf tool supplied.
  • Write your own application on bare metal using the libraries supplied.

Current plans and what you can do to help :

  • Play around with Rip'Em ;
  • Use the GDB stub to figure out the hardware ;
  • Replace the homegrown GDB stub with the real stuff ;
  • Write a USB serial driver to enable the GDB stub to work over it ;
  • Add the ability to have multiple payloads, to read payloads from the FAT16 partition in PRIME_APP.DAT and to select a payload with a simple graphical user interface.

Non-goals (at least for me) :

  • Reverse-engineering, patching or otherwise tampering with the official firmware. The TODO list is already big enough to keep me busy for a long time ;
  • Bloat within RIp'Em itself. It's an ELF launcher, not a operating system. Even the GDB stub should be demoted as a payload eventually.

Source code available over at https://github.com/boricj/ripem. Kudos to Lionel Debroux for being the first one to run a third-party firmware on the HP Prime.

As always : please void your warranty in a responsible manner. I will decline any responsibility should you turn your HP Prime into the thinnest CAS calculator brick available currently on the market.

Since I wrote this post the dummy payload has been updated to display the current time on the LCD screen. So now even without connecting to the serial port inside the calculator slightly exciting stuff will happen.

Next goal is the keypad.

bb010g

w00t w00t
KnightOS on Prime when? :P

I'm actually excited to see where this leads. We now have a really open, widely available, modern calculator.
  • Calculators owned: HP 50g, Prime, 28S, 35S, Casio Prizm, dead Nspire CX CAS

Yuki

That's pretty awesome, hope someone writes a full OS for it, like KnightOS or even something Linux-based.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Unicorn

This is awesome! Makes me want to sell my Ce and buy a Prime... :P
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

alexgt

Awesome Sauce!!! I can't wait to see more, I just really hope HP doesn't start locking down the Prime like Ti did to the Nspire <_<. I wish you tons of luck ;)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dream of Omnimaga

Quote from: alexgt on January 02, 2016, 01:28:26 AM
Awesome Sauce!!! I can't wait to see more, I just really hope HP doesn't start locking down the Prime like Ti did to the Nspire <_<. I wish you tons of luck ;)
Ditto, hence the need to not tamper with exam mode. Great initiative to start this firmware. It will make it easier to run ASM, C or other language games such as DOOM. :)

Do you think dual-booting will be possible?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

alexgt

Touch screen DOOM would be soo cool O.O. For the Nspire what was used for DOOM?
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dream of Omnimaga

Touchpad and clickpad. Of course we're a long way from primeDOOM, though.

On a side note, @Streetwalrus wanted to make a third-party HP Prime firmware last year, but he did not want to spend any money on a new calculator and needed one to test his stuff.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

Awesome !
Indeed I've wanted to do this for a long time but not owning the hardware was the main barrier. The community really needs this, best of luck. :D

Jean-Baptiste Boric

Quote from: Juju on January 01, 2016, 11:51:45 PM
That's pretty awesome, hope someone writes a full OS for it, like KnightOS or even something Linux-based.

I personally plan to port NetBSD on it someday. The author of newRPL also showed interest in the HP Museum forum, however for now he's worried that developing for the Prime would set back newRPL by months or years due to lack of manpower.

Quote from: DJ Omnimaga on January 02, 2016, 04:05:28 AM
Do you think dual-booting will be possible?

I can chainload the original PRIME_OS.ROM with the osrom2elf tool. Booting another operating system such as Linux or NetBSD should be possible, though for now anything over 1 MiB (size of PRIME_OS.ROM) has to be uploaded through the serial port.

Dual-booting with the original firmware should be doable. However, unless you use USB Mass storage I guess the only safe place to store data would be inside the FAT16 partition in PRIME_APP.DAT. I don't know how much stuff can be removed and still have the original firmware working, but I wouldn't bet on having more than 22 MiB available.

Dream of Omnimaga

I'm fine with the memory requirements, since we got 256 MB of Flash in total :P
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

alexgt

Quote from: DJ Omnimaga on January 02, 2016, 06:27:44 AM
Touchpad and clickpad. Of course we're a long way from primeDOOM, though.

On a side note, @Streetwalrus wanted to make a third-party HP Prime firmware last year, but he did not want to spend any money on a new calculator and needed one to test his stuff.
Yeah, I still haven't got around to getting my mom to put it on ebay/ ship out of the US <_<

I willPM you @Streetwalrus when  I can, but it may take a while :P
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Jean-Baptiste Boric

New stuff added since last time :

  • Complete keypad support ;
  • gzip-compressed payloads ;
  • Graphical menu to select a payload to launch ;
  • Dumb integer RPN calculator demo, complete with 26 (a-z) variables.
The ability to boot the original firmware is crippled for now (only booting the diagnostic screen works).

I have now run out of simple things to implement. I can't push this thing any further without first porting a real-time operating system and making a USB GDB stub...

Dream of Omnimaga

  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

critor

Unlike previous versions, this one doesn't seem to work properly on my HP Prime DVT.

I get to the menu with the 1st choice selected, but that's all - I've tried all 51 keys and none of them is working. :'(

Powered by EzPortal