The Rogue HP-12c - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: General Forum (/forum-4.html) +--- Thread: The Rogue HP-12c (/thread-22313.html) |
RE: The Rogue HP-12c - AnnoyedOne - 10-06-2024 07:30 PM (10-06-2024 07:07 PM)dm319 Wrote: Ok summary of attempts to discriminate BCD versus binary. I'll stay out of this line of inquiry. Not something I know much about. I'm aware of IEEE floating point math but not BCD. Electronics I know about. Firmware too. Some other stuff as well. Like you said "more brains needed". A1 RE: The Rogue HP-12c - dm319 - 10-06-2024 08:54 PM Ok Albert has solved it. We think it is likely BCD. I had been working on the principal that some 16 digit decimals are not representable by 64 bit binary, but I was struggling to find them. Albert pointed out to me that numbers just under 1e16 often shared binary representations. Here are representations from 1e16 down to 9999999999999990: Code: [1] 00 80 e0 37 79 c3 41 43 I think the representation is big-endian in this case, but you can see several values have the same encoding. Albert tells me that numbers between 2^53 and 1e16 must be an even integer! So: 1e16 3 - should yield an odd number if BCD and even if binary. I was subtracting 1e16 afterwards to look at what number had been calculated, but sadly the 12c was returning 0. In fact it did it for 1e15 and 1e14 also, which suggests it has some funny rounding algorithm. To prevent the 'flush-to-zero', Albert suggested: 1e16 999999 - 999999e10 - which should have yielded: 9'999'000'001 but instead we got: 9'999'000'010 This is likely because Code: 10'000'000'000'000'000 is truncated to 16 digits: Code: 10'000'000'000'000'00_ Using an example where we weren't pushing into 17 digits: 999999e10 999999 - 999998e10 - Then we get: 9'999'000'001 rather than 9'999'000'000 as expected with binary. Very much channelling Albert here - but it doesn't look like binary due to the above solution, and it looks like BCD as the truncation happened when aligning decimal digits - yielding the unexpected 10. So there we have it. Looks like BCD, but doing some weird rounding stuff also. EDIT: Type 2^52 -> 2^53. And clarification of why it is BCD. RE: The Rogue HP-12c - dm319 - 10-06-2024 09:02 PM Another one: you can 'build' the number 9'999'999'999'999'997 (1e16-3) by doing: 999'999'997 999'999e9 + the number shouldn't be representable in binary, so then: 999'999e9 - gives me: 999'999'997 which suggests it is representable and therefore not a 64bit binary float. And you can do this from 7 down to 5 retaining this information. RE: The Rogue HP-12c - AnnoyedOne - 10-06-2024 09:10 PM (10-06-2024 08:54 PM)dm319 Wrote: ...doing some weird rounding stuff also. This "rogue" HP-12C is "weird" all round. Chip on PCB lowers production cost. Ok. The 32kHz crystal adds cost. Wired (vs SMD) so even more. And for what? If one wants accurate time (per a watch) ok. Has anyone found a clock function? A1 RE: The Rogue HP-12c - dm319 - 10-06-2024 09:24 PM (10-06-2024 09:10 PM)AnnoyedOne Wrote: Chip on PCB lowers production cost. Ok. The 32kHz crystal adds cost. Wired (vs SMD) so even more. And for what? If one wants accurate time (per a watch) ok. Has anyone found a clock function? Yes, was going to ask you about that. Presumably you would use a 32khz crystal for time functions? There isn't any space left on the keyboard for hidden functions that I can see. and orange/blue - +/-/x/divide don't do anything other than the top label of that key, which doesn't leave any hidden spaces left other than the sto/rcl and f-sigma+, f-CHS, f-EEX. RE: The Rogue HP-12c - Surfin - 10-06-2024 09:36 PM Ok, I was reading again the cable instructions pointed out by Divasson: Moravia's instructions of cable use And then: So... C1GP000 Serial?? RE: The Rogue HP-12c - dm319 - 10-06-2024 09:47 PM (10-06-2024 09:36 PM)Surfin Wrote: So... C1GP000 Serial?? Yes, I think we need the older POGO RS-232 cable. What's interesting is that Moravia seem to be confidently saying it will work with the older cable. If they are confident of this, that is interesting because it isn't Moravia who are responsible for the Brazil distribution, which is handled by Royal. Does anyone know if using an old cable on a newer USB device will damage the machine? Because of not I feel that trying with the old cable is our best bet. RE: The Rogue HP-12c - JanS - 10-07-2024 07:35 AM It might be interesting so see if the COM 22 / COM 23 Pads are connected to some of the Contact Pads on the POGO connector. If not, sniffing COM 22 / COM 23 with something like a buspirate might glean more Information with regard to CPU used etc. Just my 0.02$ RE: The Rogue HP-12c - Stephan61 - 10-07-2024 07:58 AM Isn't there a description of the ports according to your picture? COM22 connected to the upmost right POGO-Pad? RE: The Rogue HP-12c - AnnoyedOne - 10-07-2024 12:38 PM The HP-12C has some date related functions. Perhaps the crystal is for some "today" function. Then you'd need some way to set the clock. Maybe a planned future function. Or well hidden. Who knows? I once put a 32kHz crystal in an ARM based product I designed. The product itself didn't need any date/time functionality (just like the HP-12C) but I used it internally. Also in case any date/time functionality was required in the future (a possibility). The clock was "set" at the factory but a end-user could also change it. A1 RE: The Rogue HP-12c - AnnoyedOne - 10-07-2024 12:40 PM (10-06-2024 09:36 PM)Surfin Wrote: So... C1GP000 Serial?? Perhaps. The AT91SAML128 chip (serial bootloader) used in earlier HP-12C's is no longer available. Unless someone had old stock of them (and keys etc). BTW I don't recall the "...and a new version with batch code "C1GP000",..." in my copy of that PDF. So I checked mine (dated 24th July 2024) and it says Quote: The cable does NOT work on previous HP calculators (HP15c LE, HP12c prior to 2015, HP20b, HP30b), even if they have the same POGO connector. These other models follow a serial RS232 protocol, have different functions assigned to each pin and different voltage levels. It also cannot be converted to be used with these calculators because it is missing the IC that handles the voltage levels and the protocol. Operating this cable with HP15c LE, HP12c prior to 2015, HP20b or HP30b may destroy the calculator! So the "C1GP000" statement was added later. Saving stuff for future reference can sometimes be useful The "new" PDF is dated 30th July 2024. (10-06-2024 09:47 PM)dm319 Wrote: ...trying with the old cable is our best bet.
There's a RS-232 to TTL level-shifting chip inside (TTL levels at the POGO pins) the old HP cable so the above warning is inaccurate. That said I'd check with a multimeter first. BTW that chip has zero "protocol" functionality. However the AT91SAML128 and ATSAM4LC2CA bootloader protocols are different. A1 RE: The Rogue HP-12c - AnnoyedOne - 10-07-2024 12:57 PM (10-07-2024 07:35 AM)JanS Wrote: It might be interesting so see if the COM 22 / COM 23 Pads are connected to some of the Contact Pads on the POGO connector. Agreed. I could do that but don't have the units. Maybe the owners can. Or perhaps not. A1 RE: The Rogue HP-12c - AnnoyedOne - 10-07-2024 02:30 PM (10-07-2024 07:35 AM)JanS Wrote: ...sniffing COM 22 / COM 23 with something like a buspirate might glean more Information with regard to CPU used etc. I think you mean a "Bus Pirate" used to sniff USB. Sniffing is only useful if communications are in progress. In an idle state that'd be useless. I've done it--many times. With serial the TXD/RXD signals should idle at '1' (3.3V/5V). USB D+/D- signals idle at about 2.5V. In theory you could tell them apart. A1 RE: The Rogue HP-12c - Surfin - 10-07-2024 05:14 PM (10-07-2024 12:57 PM)AnnoyedOne Wrote:(10-07-2024 07:35 AM)JanS Wrote: It might be interesting so see if the COM 22 / COM 23 Pads are connected to some of the Contact Pads on the POGO connector. I will try to check on that later this week! Also, on another test made, the performance seems to be on par with the Platinum: Using the same input as stated on This Video, it took around 9 seconds do give the answer (that´s including a '~1sec delay' between pressing the IRR button and the screen switch to 'Running'). That´s between a 25th anniversary (~10 sec) and the Prestige (~8 sec) editions. Other 'modern' Gold units have given the same answer in around 1.5 seconds (2008 firmware) and less then a second ('Rev 2', 2015 firmware). I was expecting something under the 2 second mark. That takes us back to what AnnoyedOne said about using Platinum code, not only the 16-bit checksum but also the performance matches the Platinum (at least the 'old' ones). We know for sure it´s ATSAM based, since we have the data/flashing port, right? RE: The Rogue HP-12c - AnnoyedOne - 10-07-2024 05:18 PM (10-07-2024 05:14 PM)Surfin Wrote: We know for sure it´s ATSAM based, since we have the data/flashing port, right? No. But not the same chip as in the HP-12C Platinum/Prestige. Perhaps something else. Your timing tests also indicate something slower than an ARM. More evidence. A1 PS: My 2022 HP-12C+ and HP-15C CE performance is probably the same as your "Rev 2" HP-12C. https://www.hpmuseum.org/forum/thread-22157.html PPS: Could there be a Sunplus SoC, with flash, that is the equivalent of the one used in the HP-12C Platinum/Prestige? Sure! RE: The Rogue HP-12c - dm319 - 10-07-2024 09:23 PM (10-07-2024 05:14 PM)Surfin Wrote: Also, on another test made, the performance seems to be on par with the Platinum: At work I had been thinking about doing a speed test - good job! My only worry about calculating the IRR is that it could be at least partly firmware-dependent. So calling on a 2017 thread: (08-22-2017 01:19 PM)Gamo Wrote: One more test comparison this time using shorter loop program. And comparing Bob's measurements: (08-23-2017 08:18 PM)rprosperi Wrote: Here are some results, using the same 2-liner, from past testing: And my results: HP-12c Platinum with undo: 1432 HP-12c Rogue: 44'786. This is interesting - the 12c+ and more recent 12c using the two ARM processors seem to be doing at least 60% faster than the Rogue 12c. And those are running a NUT emulator, which makes me think the rogue 12c isn't running either of those ARM processors. D RE: The Rogue HP-12c - dm319 - 10-07-2024 09:54 PM (10-07-2024 12:40 PM)AnnoyedOne Wrote: BTW I don't recall the "...and a new version with batch code "C1GP000",..." in my copy of that PDF. So I checked mine (dated 24th July 2024) and it says That's very interesting! Just to put it into context, the first wind we got of the rogue HP-12c on this forum was the 2nd June 2024. It was September when I checked that PDF. RE: The Rogue HP-12c - AnnoyedOne - 10-08-2024 08:08 AM (10-07-2024 09:23 PM)dm319 Wrote: And those are running a NUT emulator, which makes me think the rogue 12c isn't running either of those ARM processors. Agreed. Something else. I've done some research based on the label names on the "Rogue" unit PCB that Surfin posted a photo of along with other clues. What I found was the GeneralPlus GPL833FXXA (the HP-12C Platinum/Prestige use an older GeneralPlus SoC with "masked" ROM). I downloaded the datesheet for that and it is dated 29th April 2015 (Version 1.1). https://www.generalplus.com/1LVlangLNxx5SVyy5SNreadmore_gpl833 The part comes in "chip" form (a match for the "Rogue"), uses a 32kHz crystal (also a match), has a built-in in ICE (In-Circuit Emulator) that has the pins "COM22" & "COM23" (matches), 96KB of flash, 3072 bytes of RAM, and a LCD controller. 8-bit CPU (6502?) just like the HP-12C Platinum/Prestige. No USB though. The "Rogue" POGO connector has "RSTB" and "ICCEN" labels. The device has "RESETB" and "ICE_EN" (close) pins. We may have a "winner" Of course I'm not 100% certain. The "ICE" looks like it uses I2C based on the signal names. So not serial or USB. Like Atmel, GeneralPlus may have programming/debugging software available. And a programmer. I also found this in the datasheet (dm319 take note) Quote:6.14. Auxiliary Calculation Hardware Can you say "BCD math"? Also this Quote:6.2.1.2. 32768Hz Xtal All this tends to lean in the direction of revised HP-12C Platinum/Prestige firmware being in these "rogue" HP-12C's. BTW the "Rogue" PCB has a "230508LLB8291" label. The 230508 could be 2023-05-08 (8th May 2023). A1 RE: The Rogue HP-12c - jklsadf - 10-08-2024 08:53 AM Hmm interesting looks like a cost-reduced version if it's a GeneralPlus microcontroller like the HP 12C platinum/prestige. Your guess on the microcontroller is likely correct since it matches the pinout and also requires an external crystal (most microcontrollers, even low-cost ones, usually have a built-in oscillator now to reduce the total system cost). It's nice that it's a flash microcontroller this time, so that Moravia/Royal/Kinpo/whoever is actually making this could theoretically update the firmware more easily if they wanted to. The ARM version of the 12C+ is nicer from a "hacking" point of view, since there's very little information on the the GeneralPlus ICE/programming protocol and it probably uses some custom dongle, but the ARM microcontroller is probably also at least double the cost (still a very small portion of the final purchase price though). I'm wondering how many of the new GeneralPlus version they were hoping to sell to make the development cost worth it? Hopefully they do keep the ARM 12C+ version around even though it's more expensive, since it has less known bugs (although not necessarily bug free either) since it's using the emulated NUT code. RE: The Rogue HP-12c - AnnoyedOne - 10-08-2024 12:30 PM (10-08-2024 08:53 AM)jklsadf Wrote: ...also requires an external crystal (most microcontrollers, even low-cost ones, usually have a built-in oscillator now to reduce the total system cost). Agreed. I've never seen this either. (10-08-2024 08:53 AM)jklsadf Wrote: I'm wondering how many of the new GeneralPlus version they were hoping to sell... To my knowledge they were only sold in Brazil. What the future of this version is I have no idea. I don't work for HP. I have never worked at HP. I have no contacts at HP or their distributors. You know as much as I do about this. I can only guess at who designed this thing. So far I see nothing except the "Made in China" label on the back and the "odd" serial number. A1 |