Post Reply 
Prime Reverse-Engineering
02-08-2015, 01:06 AM
Post: #1
Prime Reverse-Engineering
Cemetech user Val and I have been doing Prime reverse engineering. So far, we have identified the JTAG pins (we hope), and Val has a JTAG adapter soldered onto these pins on a boot-code-screwed calc. Unfortunately I lost my calculator (in space), so all of the reverse-engineering is being done on two of Val's broken Primes, one of which had its CPU removed so traces could be, well, traced. Val has soldered on a jtag adapter and we hope to find out more, and possibly use the JTAG for other things like debugging the Prime OS.

The JTAG was mentioned in this Omnimaga topic, which implies that there is a way to fix the calculator.

All of the info is contained within several posts at http://www.cemetech.net/forum/viewtopic.php?p=230621.
Find all posts by this user
Quote this message in a reply
02-08-2015, 06:22 PM
Post: #2
RE: Prime Reverse-Engineering
Hey, come on, traditional HP community... I tipped Hooloovoo and Val about posting here, in addition to Cemetech, because of the larger audience, so don't make me a liar Wink
Find all posts by this user
Quote this message in a reply
02-08-2015, 06:51 PM
Post: #3
RE: Prime Reverse-Engineering
(02-08-2015 06:22 PM)debrouxl Wrote:  Hey, come on, traditional HP community... I tipped Hooloovoo and Val about posting here, in addition to Cemetech, because of the larger audience, so don't make me a liar Wink

I'll bite. What is it you're trying to discover, and/or what are the larger goals of reverse engineering Prime. Is the plan to create alternate s/w to run within the current h/w case?

I think the h/w and core s/w components (low-level O/S, Prime applications, etc) have been documented, so are you proposing to replace the entire s/w stack?

Knowing this surely will add interest and discussion. And thanks for sharing here.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
02-08-2015, 07:19 PM
Post: #4
RE: Prime Reverse-Engineering
Val is looking to recover the broken bootloader of the Prime, and bricked that by tinkering with it to learn more about it. I would like to get a linux kernel running, which should not be overly difficult because the Prime is running the s3c2416, which is already supported by linux.
Find all posts by this user
Quote this message in a reply
02-08-2015, 07:27 PM (This post was last modified: 02-08-2015 07:33 PM by debrouxl.)
Post: #5
RE: Prime Reverse-Engineering
Quote:Is the plan to create alternate s/w to run within the current h/w case?
That's one of the potential applications of reverse-engineering the Prime, indeed.
On raw CPU power, Linux would run faster on the Prime than on the Nspire CX, given that the Prime's CPU is more than twice faster than the Nspire CX's. However, the Prime only has half of the CX's RAM, so some workloads would run worse on the Prime than they do on the Nspire CX.

Quote:I think the h/w and core s/w components (low-level O/S, Prime applications, etc) have been documented,
The S3C2416 SoC is indeed well documented (a year ago, I gathered links on the TI-Planet hpwiki) and supported by Linux.
However, the way devices (component motherboards, USB, etc.) are connected to the SoC is undocumented (that is a prerequisite for porting Linux), and the software is basically completely undocumented, save for a subset of the first 4 KB of BXCBOOT0.BIN (the early boot code), posted some day by an anonymous user, over a year ago.

Quote:so are you proposing to replace the entire s/w stack?
Potentially, yes, though pursuing the baby steps approach, which I prototyped with my crappy armfir.elf PoC which doesn't cooperate with the undocumented host OS, would be an interesting first milestone.
Find all posts by this user
Quote this message in a reply
02-08-2015, 07:50 PM
Post: #6
RE: Prime Reverse-Engineering
Thanks for the creative work on the JTAG interface and alternate Linux system. Here is the link to "Prime Hardware" thread I started. I did a HP Prime tear-down and posted hi-rez photos of all the interior parts.

http://www.hpmuseum.org/forum/search.php...9ccde59548

If anyone is interested, I can also post my tear-down of the classroom connectivity kit and the StreamSmart 410. My current project with the Prime is to investigate the possibility of better integration between programs and external sensor inputs.
Visit this user's website Find all posts by this user
Quote this message in a reply
02-08-2015, 08:34 PM
Post: #7
RE: Prime Reverse-Engineering
(02-08-2015 07:50 PM)dbbotkin Wrote:  Thanks for the creative work on the JTAG interface and alternate Linux system. Here is the link to "Prime Hardware" thread I started. I did a HP Prime tear-down and posted hi-rez photos of all the interior parts.

http://www.hpmuseum.org/forum/search.php...9ccde59548

If anyone is interested, I can also post my tear-down of the classroom connectivity kit and the StreamSmart 410. My current project with the Prime is to investigate the possibility of better integration between programs and external sensor inputs.

I'm not so much interested in the Linux project but I do find the hardware mapping very useful (though tedious). Back in during the HP48 days, there were a number of hardware mods that were possible due to hardware pioneers: home made RAM cards, sound cards, RAM expansion to the G versions, etc. etc.

Perhaps there will be similar projects for the HP Prime. However, in order for that to fully take place, I imagine that we would need HP to give us low-level access somehow (such as was done for the HP48 through HP50 series) in the form of SASM/MASD.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
02-08-2015, 08:57 PM (This post was last modified: 02-08-2015 08:59 PM by dbbotkin.)
Post: #8
RE: Prime Reverse-Engineering
HP has spent time and money getting the Prime certified to be used on standardized tests for mostly high-school students, so there is likely to be some justifiable resistance to creating a pathway that will lead to a user-modified Prime-Plus. The concern being that some clever kid will figure out a way to cheat on the test and that will call the expensive certification into question.

Putting aside the obvious response that clever kids will find a way with or without help from HP, two alternatives seem easily implementable if the "internals" are made available. First, there could be an advanced Prime with the schoolroom BS removed and designed for serious engineering and science work or there could be a hardware "fuse" that would signal the tester that the Prime had been modified.

The bigger problem is that HP is now in the "printer-ink" business and no longer has any real competence in science or engineering. Perhaps Keysight, the successor to HP meter and instrument business, will take over the neglected HP calculator business and reposition the Prime as a companion to their educational line of oscilloscopes, etc.?
Visit this user's website Find all posts by this user
Quote this message in a reply
02-09-2015, 04:21 PM
Post: #9
RE: Prime Reverse-Engineering
I myself am particularly interested in whether it would be feasible to hack the current keyboard to have backlighting. Each key would probably have to be remade (white text on black background; the "white" would likely be translucent plastic in order to allow light to pass through). Basically, something akin to the macbook keyboards would be nice.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
02-09-2015, 05:13 PM
Post: #10
RE: Prime Reverse-Engineering
(02-08-2015 08:34 PM)Han Wrote:  Perhaps there will be similar projects for the HP Prime. However, in order for that to fully take place, I imagine that we would need HP to give us low-level access somehow (such as was done for the HP48 through HP50 series) in the form of SASM/MASD.

HP won't provide any low-level access on a device certified for exams.

A complete firmware replacement (repurposing the device), however, is not so far fetched.

debrouxl custom firmware already proved a few things:
* Alternative ROM files work just fine.
* Either there's a 1:1 mapping of the hardware or the MMU is disabled.

What puzzles me is why after 6 months nobody took that firmware and tried to push the project forward (?).
Here's a short roadmap for the next "baby step" if anyone is interested (be happy to do it myself but I don't have a Prime):
* Add the ability to write text on the display, almost trivial.
* Dump hardware registers: GPIO first (blocks GPF and GPG most likely as other banks have other uses for the pins), look for a block of 5 to 8 pins set to inputs and that's likely the keyboard rows/columns. Only a few external interrupts can wake the CPU, so looking at which GPIOs have the interrupt enabled will hint at the ON key (GPF block), others will be close.
* Write a simple keyboard scanning routine.
* Write a simple console for interactive sessions with 2 commands: PEEK and POKE.

Interactive PEEK and POKE would pave the road for everything else.

Claudio
Find all posts by this user
Quote this message in a reply
02-09-2015, 05:16 PM (This post was last modified: 02-09-2015 05:19 PM by dbbotkin.)
Post: #11
RE: Prime Reverse-Engineering
Han has a great idea for backlight, but the keys would be the least of problem. See the photos of my Prime teardown:
http://www.hpmuseum.org/forum/search.php...9ccde59548

The PCB would need to have some sort of illumination and the black rubber cushion would be replaced by something more transmissive of light. Then there's the battery-life issue.

If the part of the case surrounding the keys were translucent, edge-lighting with a few LED's might improve the visibility by lighting the area around the keys.
Visit this user's website Find all posts by this user
Quote this message in a reply
02-09-2015, 06:34 PM
Post: #12
RE: Prime Reverse-Engineering
Quote:What puzzles me is why after 6 months nobody took that firmware and tried to push the project forward (?).
I'm puzzled as well. I don't have time to move the matter forward myself... too little time and too much work in the TI community. The libti* code base (the inspiration for libhpcalcs) needs cleanups and improvements, besides adding support for this year's new TI graphing calculator models: 82 Advanced, 83 Premium CE / 84 Plus CE / 84 Plus CE-T.
Find all posts by this user
Quote this message in a reply
Post Reply 




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