CodeWalrus

Development => Calculators => Calc Projects, Programming & Tutorials => Topic started by: Jean-Baptiste Boric on January 01, 2016, 10:30:14 pm

Title: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on January 01, 2016, 10:30:14 pm
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/ (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 (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.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: bb010g on January 01, 2016, 10:33:41 pm
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.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: 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.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Unicorn on January 02, 2016, 12:39:16 am
This is awesome! Makes me want to sell my Ce and buy a Prime... :P
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: 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 ;)
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on January 02, 2016, 04:05:28 am
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?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: alexgt on January 02, 2016, 06:06:23 am
Touch screen DOOM would be soo cool O.O. For the Nspire what was used for DOOM?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: 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.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Streetwalrus on January 02, 2016, 11:13:01 am
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
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on January 02, 2016, 02:43:30 pm
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.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on January 02, 2016, 04:59:24 pm
I'm fine with the memory requirements, since we got 256 MB of Flash in total :P
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: alexgt on January 02, 2016, 10:28:56 pm
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
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 04, 2016, 09:44:53 pm
New stuff added since last time :

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...
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 05, 2016, 06:37:22 pm
Nice to see this back in action :)
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: critor on March 06, 2016, 12:37:15 pm
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. :'(
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 06, 2016, 02:03:55 pm
Odd. I have a HW-C model though.

I hope it's just the keypad matrix being connected to different GPIO pins. A DVT model is too precious to sacrifice FOR SCIENCE! tinker recklessly with its UART.

Previously, I (ab)used the external interrupt pin hooked to the ON key, but I switched to the proper scanning method when I got it working.

I'll make a firmware to dump all GPIO registers on the screen. Since BXCBOOT0.BIN initializes the keypad GPIO to read the ON+Symb key combination, with a bit of luck the configuration registers will tell me where the keypad pins are located.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 06, 2016, 11:53:38 pm
Maybe you did something that causes the new version to only run on hardware C? I hope hardware differences won't make it too difficult to develop third-party firmwares or bootloaders for that calculator.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 07, 2016, 01:20:11 pm
Dumper's done. Hopefully without bugs.

It's in the gpio-dumper branch on the GitHub repository. I took a picture on my HW-C calc and attached the results.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: critor on March 07, 2016, 06:07:04 pm
Someone needs to test on HW-A.
Visually, the DVT PCB looks like the HW-A PCB.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 08, 2016, 12:19:29 am
Would this qualify as safe? I am curious because while under normal means I wouldn't mind sacrifying a calculator to test an OS for compatibility, I am currently short on money for new calculator purchases, so I am reluctant about taking the risk with my only HP Prime.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 08, 2016, 08:19:57 am
Quote from: DJ Omnimaga on March 08, 2016, 12:19:29 am
Would this qualify as safe? I am curious because while under normal means I wouldn't mind sacrifying a calculator to test an OS for compatibility, I am currently short on money for new calculator purchases, so I am reluctant about taking the risk with my only HP Prime.


Beyond the "decline any responsibility" disclaimer, Rip'Em doesn't touch the NAND at all except for turning on (irrevocably until reset) write-protection for the recovery as the very first thing done, so a brick is theoretically impossible. I'd qualify it as safe.

The reckless part is about opening a HP Prime to connect to the UART and probe the GPIO registers through the GDB stub until something interesting happens. My calc has suffered no side effects, but I wouldn't recommend nor ask anyone to do that.

The dumper firmware merely dumps the contents of the GPIO registers on the screen, no reckless probing here. With screenshots running on different hardware revisions, I can hopefully pinpoint some differences between the revisions and code accordingly.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 08, 2016, 08:43:46 am
My Prime is HW A, but I can't run VMs any longer on my main computer to reflash the Prime...
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 08, 2016, 01:23:49 pm
Yeah, Windows-only flashing sucks, but I don't think I'm up to the task of reverse-engineering the USB flashing protocol. I only have so much sanity to spare ;D

On the other hand, I've reverse-engineered a good chunk of the first 8 KiB (only 2 KiB worth of code, but still) of BXCBOOT0.BIN. There's enough stuff to piggy-back here to allow unlimited read access to the NAND.

It is acceptable to post such material here or should I put it somewhere else ?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: alexgt on March 08, 2016, 01:26:11 pm
This looks great! I can't wait for more features. I am sorry for not following this more closely ._.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 08, 2016, 01:31:47 pm
QuoteYeah, Windows-only flashing sucks, but I don't think I'm up to the task of reverse-engineering the USB flashing protocol. I only have so much sanity to spare ;D

I had scratched the surface of that reverse-engineering work, and AHelper0 worked on it later as well. But there's no complete reimplementation of that protocol.

QuoteOn the other hand, I've reverse-engineered a good chunk of the first 8 KiB (only 2 KiB worth of code, but still) of BXCBOOT0.BIN. There's enough stuff to piggy-back here to allow unlimited read access to the NAND.

Indeed, we already knew it.

QuoteIt is acceptable to post such material here or should I put it somewhere else ?

What about the TI-Planet hpwiki, which already contains such kind of material, as well as other content unmatched elsewhere (not even in the HP community), that I know of ? :)
See https://tiplanet.org/hpwiki/index.php?title=User:BXCBOOT0_BIN_pastebin_com_SKw5xtev , dropped by an anonymous user in August 2013.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 08, 2016, 02:16:57 pm
Quote from: Lionel Debroux on March 08, 2016, 01:31:47 pm
Indeed, we already knew it.


Better than knowing it, now we can use it. Besides other things I figured out the subroutine that reads a NAND block, so now I can either write a reimplementation or piggy-back the existing one for Rip'Em.

Quote from: Lionel Debroux on March 08, 2016, 01:31:47 pm
What about the TI-Planet hpwiki, which already contains such kind of material, as well as other content unmatched elsewhere (not even in the HP community), that I know of ? :)
See https://tiplanet.org/hpwiki/index.php?title=User:BXCBOOT0_BIN_pastebin_com_SKw5xtev , dropped by an anonymous user in August 2013.


I used that page as a starting point, but I've done my reverse-engineering with only arm-none-eabi-objdump since I don't have IDA. I've requested an account, now waiting for the email.

By the way, why is the HP wiki separate from the main TI-Planet wiki and why does it require a separate account from TI-Planet's ? It's not very practical and the HP pages are needlessly hidden away...
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 08, 2016, 02:48:00 pm
QuoteBy the way, why is the HP wiki separate from the main TI-Planet wiki

IIRC, that was an aim, for neutrality or something along those lines. Even if hosted on the server which hosts TI-Planet, Inspired-Lua, ToutMonExam and whatever else I forget right now, It could have been accessible from a different URL later, with a redirect.
Of course, we now know that very few people care about tinkering with the Prime...

Quoteand why does it require a separate account from TI-Planet's ?

Indeed, no integration between MediaWiki and PHPBB was performed, but beyond the aforementioned aim, I don't know whether it's because it's "impossible" (as in, annoying) to do, or because "we" - mostly Adriweb - didn't spend time trying, or because of security reasons (deeper integration = more damage upon intrusion or legal attacks).
Hackspire was separated from anything else, too.
Trying to concentrate much shared community knowledge - and therefore power - into a single integrated infrastructure has clear downsides, all the more said concentration is performed partially without permission, as occurred recently on another TI community site.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Vogtinator on March 08, 2016, 03:38:33 pm
Quote from: Jean-Baptiste Boric on March 08, 2016, 02:16:57 pm
I used that page as a starting point, but I've done my reverse-engineering with only arm-none-eabi-objdump since I don't have IDA. I've requested an account, now waiting for the email.


IDA 5.0 is free and a huge step up compared to objdump -D...
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 08, 2016, 03:59:44 pm
Quote from: Vogtinator on March 08, 2016, 03:38:33 pm
IDA 5.0 is free and a huge step up compared to objdump -D...


If I remember well, IDA 5.0 only supports x86 disassembly and it doesn't run under Linux.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Adriweb on March 08, 2016, 06:55:16 pm
About the wiki thing, I've now validated the account.

The HP Wiki we have is indeed separate from TI-Planet itself, but the TI-Planet wiki is however using the forum's phpBB account for single-sign-on user friendliness.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 08, 2016, 07:30:58 pm
I dumped the raw old-school disassembly notes of the first few KiB at https://tiplanet.org/hpwiki/index.php?title=BXCBOOT0.BIN_reverse_engineering (https://tiplanet.org/hpwiki/index.php?title=BXCBOOT0.BIN_reverse_engineering). I should be able to (ab)use the subroutines in there for reading the NAND.

I don't intend to reverse engineering all of BXCBOOT0.BIN (not especially all by myself), but if I could locate a subroutine that writes to the NAND it'd be nice to have.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 08, 2016, 07:54:01 pm
Yeah, I think putting this on the wiki would be better, since it has most HP Prime info. Of course, make sure to not post anything that contains copyrighted material (such as a TI-Nspire Boot1 or TI-84 Plus CE ROM, but otherwise it's fine and can be very handy for third-party development (and maybe future third-party emulation?). In any case, good luck for HW-A compatibility.

Quote from: Lionel Debroux on March 08, 2016, 02:48:00 pm
Hackspire was separated from anything else, too.
On an unrelated note, what ever happened to Hackspire @Lionel Debroux  and @Adriweb ? I haven't been able to access it for a long while. Did Unsadns server shut down or something (IIRC it also had stuff about RSA key factoring)?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: critor on March 08, 2016, 08:03:11 pm
Quote from: DJ Omnimaga on March 08, 2016, 07:54:01 pm
Quote from: Lionel Debroux on March 08, 2016, 02:48:00 pm
Hackspire was separated from anything else, too.
On an unrelated note, what ever happened to Hackspire @Lionel Debroux  and @Adriweb ? I haven't been able to access it for a long while. Did Unsadns server shut down or something (IIRC it also had stuff about RSA key factoring)?

Server failure, but the data is safe.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 08, 2016, 08:06:16 pm
There was a hardware issue on the server hosting Hackspire and other stuff managed by squalyl. There's a backup of Hackspire, it's just that it hasn't been re-hosted anywhere yet.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Ivoah on March 08, 2016, 08:11:22 pm
Quote from: Lionel Debroux on March 08, 2016, 08:06:16 pm
There was a hardware issue on the server hosting Hackspire and other stuff managed by squalyl. There's a backup of Hackspire, it's just that it hasn't been re-hosted anywhere yet.

Is it a problem of lack of hosting? I'd be willing to host it provided the network traffic isn't too great.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 08, 2016, 08:15:58 pm
Oh ok thanks for the info guys. I was worried that it was all gone. It's a shame when so much useful calculator info gets lost (like what happened to the Casio community several times, and I believe it was the case with several HP programs as well).
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 15, 2016, 11:08:16 pm
I 'm banging my head against the NAND. I guess being able to read the 2048 first bytes of the NAND counts as progress compared to no NAND support :banghead:

I'm starting to wonder if porting U-Boot+NetBSD would be a better idea than writing an entire SDK+Bootloader on bare metal...
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 15, 2016, 11:40:59 pm
What issues are you having right now?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 16, 2016, 12:14:12 am
Quote from: DJ Omnimaga on March 15, 2016, 11:40:59 pm
What issues are you having right now?


Accessing the NAND isn't something straightforward to do. The protocol to access it has to be essentially bit-banged raw through the NAND controller and any write would require dealing with ECC.

But I'm thinking about the big picture here. The HP Prime has enough punch to make bare metal development a questionable choice. Since NetBSD and U-Boot have ports running on hardware close enough to the HP Prime, I might as well port them instead of writing my own knock-off drivers, C standard library, interrupt handlers and so on.

So the question is : is anybody interested by bare metal development on the HP Prime ? If no then I should stop wasting time making a decent SDK ; I should instead use what I already have right now to chainload U-Boot and NetBSD.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 16, 2016, 02:07:26 am
If by bare-metal you mean modifying the hardware or connecting stuff to it in order to hack it, then I'm afraid that the audience might be smaller, even moreso with the fact that so few people have an HP Prime compared to TI models. Tools requiring no hardware modification nor extra cable purchases would be better I think, since that's how we do it on TI calcs. As for an SDK, the best would be a C SDK when C becomes feasible on that platform, like with the TI-84 Plus CE, but of course that would be when C actually becomes possible, not now.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 16, 2016, 06:45:12 am
Quoteis anybody interested by bare metal development on the HP Prime ?

By now, I'd basically answer no, unfortunately. Much to the dismay of Tim Wessman, Cyrille de Brébisson and other HP folks, despite its raw power and the fact that it's an open platform, the Prime hardly received such work in the past two years and a half since it became available... My work, then your more advanced work, are the only attempts to doing so (the only known ones, at least).
When people are interested in a platform, a port of Linux normally follows in a matter of weeks or few months after the initial availability of ACE/RCE. The Nspire failed to garner such attention as well, though that is probably partially due to being based on an undocumented SoC, unlike the Prime. Nowadays, mainline Linux has Nspire support, though hardly anybody cares.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 18, 2016, 05:47:21 pm
Quote from: DJ Omnimaga on March 16, 2016, 02:07:26 am
If by bare-metal you mean modifying the hardware or connecting stuff to it in order to hack it, then I'm afraid that the audience might be smaller.


I guess I'm the only guy in the whole world (outside of HP) that has soldered a few wires to his HP Prime's motherboard in order to access the UART.

By bare metal I mean programming directly against the hardware, without an operating system (Rip'Em doesn't use the original firmware at all).

Quote from: Lionel Debroux on March 16, 2016, 06:45:12 am
By now, I'd basically answer no, unfortunately. Much to the dismay of Tim Wessman, Cyrille de Brébisson and other HP folks, despite its raw power and the fact that it's an open platform, the Prime hardly received such work in the past two years and a half since it became available...


If the fate of third-party firmware and native development on the HP Prime rests on my shoulders, then we're all screwed  ;D
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 18, 2016, 10:57:36 pm
Blame TI's monopoly. >.< Even the TI community isn't that big, so imagine how much smaller the HP community is. That said, there is a large community of HP users out there, but either they prefer old 80's and 90's models or they don't care about calculator hacking. As for the Casio community it's almost entirely French. The best thing to do is not to worry about that, but that means not getting much help for development if you run into problems.


As for hacking the calculator directly by soldering wires and stuff, the issue is that most people on calculator websites are students who don't have enough money to purchase more than 1 calculator, so they won't risk bricking their device and being unable to afford a replacement. Also, some people are underage and might not live close to a shop that sells the extra hardware and cables required for such hacking, forcing them to buy it on the Internet, but some parents are afraid of purchasing stuff on the Internet.


EDIT: The other reason that makes people less interested in adding C support to the HP Prime is that the HP PPL language is so powerful that it can let you make any kind of game that would be feasible on the TI-Nspire with Ndless, except maybe emulators and a few other things.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Jean-Baptiste Boric on March 24, 2016, 06:52:50 pm
I got U-Boot booting. It is held together with a lot of duct tape, but it works.

I put it over at https://github.com/boricj/u-boot (https://github.com/boricj/u-boot).


initcall: 31fa9a70


U-Boot 2016.03-00320-ga119357-dirty (Mar 24 2016 - 19:29:07 +0100)

initcall: 31f9a8dc
U-Boot code: 31F93000 -> 31FB9AF0  BSS: -> 31FEF5FC
initcall: 31f93370
CPUID: 32450003
FCLK:    0.531 MHz
HCLK:    0.531 MHz
PCLK:    0.265 MHz
initcall: 31f9a90c
DRAM:  initcall: 31f93f4c
initcall: 31f9ab30
Monitor len: 0005C5FC
Ram size: 00000000
Ram top: 32000000
initcall: 31f9a6fc
[...]
initcall: 31f9ab08
initcall: 31f9aa60

RAM Configuration:
Bank #0: 30000000 32 MiB

DRAM:  32 MiB
initcall: 31f9a744
New Stack Pointer is: 31b92ee0
initcall: 31f9a9d4
initcall: 31f9a964
Relocation Offset is: 00000000
Relocating to 31f93000, new gd at 31b92f08, sp at 31b92ee0
initcall: 31f9abfc
initcall: 31f9ac04
initcall: 31f9ad50 (relocated to 31f9ad50)
WARNING: Caches not enabled
initcall: 31f9ac1c (relocated to 31f9ac1c)
[...]
initcall: 31f9ac84 (relocated to 31f9ac84)
initcall: 31f9ac68 (relocated to 31f9ac68)
Net:   No ethernet found.
initcall: 31f9ac5c (relocated to 31f9ac5c)
### main_loop entered: bootdelay=5

### main_loop: bootcmd="<UNDEFINED>"
hp_prime # help   
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
[...]
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
version - print monitor, compiler and linker version
hp_prime #  version

U-Boot 2016.03-00320-ga119357-dirty (Mar 24 2016 - 19:29:07 +0100)
arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)
GNU ld (2.25-5+5+b1) 2.25
hp_prime #
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 24, 2016, 07:12:58 pm
Great work, one more step towards full-fledged third-party OS on the Prime :)

Forwarded at https://ti-pla.net/p198824 .
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on March 24, 2016, 10:33:07 pm
Great news boricj :D
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Ivoah on March 24, 2016, 10:41:56 pm
Quote from: Jean-Baptiste Boric on March 24, 2016, 06:52:50 pm
I got U-Boot booting. It is held together with a lot of duct tape, but it works.

I put it over at https://github.com/boricj/u-boot (https://github.com/boricj/u-boot).


initcall: 31fa9a70


U-Boot 2016.03-00320-ga119357-dirty (Mar 24 2016 - 19:29:07 +0100)

initcall: 31f9a8dc
U-Boot code: 31F93000 -> 31FB9AF0  BSS: -> 31FEF5FC
initcall: 31f93370
CPUID: 32450003
FCLK:    0.531 MHz
HCLK:    0.531 MHz
PCLK:    0.265 MHz
initcall: 31f9a90c
DRAM:  initcall: 31f93f4c
initcall: 31f9ab30
Monitor len: 0005C5FC
Ram size: 00000000
Ram top: 32000000
initcall: 31f9a6fc
[...]
initcall: 31f9ab08
initcall: 31f9aa60

RAM Configuration:
Bank #0: 30000000 32 MiB

DRAM:  32 MiB
initcall: 31f9a744
New Stack Pointer is: 31b92ee0
initcall: 31f9a9d4
initcall: 31f9a964
Relocation Offset is: 00000000
Relocating to 31f93000, new gd at 31b92f08, sp at 31b92ee0
initcall: 31f9abfc
initcall: 31f9ac04
initcall: 31f9ad50 (relocated to 31f9ad50)
WARNING: Caches not enabled
initcall: 31f9ac1c (relocated to 31f9ac1c)
[...]
initcall: 31f9ac84 (relocated to 31f9ac84)
initcall: 31f9ac68 (relocated to 31f9ac68)
Net:   No ethernet found.
initcall: 31f9ac5c (relocated to 31f9ac5c)
### main_loop entered: bootdelay=5

### main_loop: bootcmd="<UNDEFINED>"
hp_prime # help   
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
[...]
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
version - print monitor, compiler and linker version
hp_prime #  version

U-Boot 2016.03-00320-ga119357-dirty (Mar 24 2016 - 19:29:07 +0100)
arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)
GNU ld (2.25-5+5+b1) 2.25
hp_prime #


Does this mean that a linux port would be possible?
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on March 25, 2016, 07:32:53 am
Both Linux and NetBSD (the OS Jean-Baptiste is most familiar with) have support for the S3C2416 SoC used by the Prime since day one. What they don't support (yet) is e.g. the GPIO assignment.
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: Lionel Debroux on August 20, 2017, 07:34:58 pm
There's been a bit of low-level Prime development lately :)
Namely:
* newcomer "gigi1237" and Jean-Baptiste Boric are working on a Prime emulator based on QEMU: https://github.com/Gigi1237/qemu (s3c2416 branch). It can largely run Rip'Em, though it can't run the standard Prime OS yet.
* Jean-Baptiste's internship (end of studies) is over, so he's got some more free time now, and the emulator is bound to ease the task of working on Rip'Em :)

Source: https://www.omnimaga.org/hp-prime/hp-prime-emulator/ (mostly dead board...)
Title: Re: Announcing Rip'Em, a third-party firmware for the HP Prime
Post by: DJ Omnimaga on August 20, 2017, 08:40:05 pm
Good to see more Prime development. I was wondering if Rip'em was still maintained or not. It took so long until the HP Prime firmware is no longer riddled with fatal bugs that many people gave up and it did not help that the Prime community outside of TI websites was not friendly to non-educational software development a while back. I wish good luck to the author