[HN Gopher] HP Saturn
___________________________________________________________________
HP Saturn
Author : PaulHoule
Score : 137 points
Date : 2022-09-21 01:21 UTC (1 days ago)
(HTM) web link (en.wikipedia.org)
(TXT) w3m dump (en.wikipedia.org)
| nyanpasu64 wrote:
| I have an HP 50g I bought but could never learn to use. Should I
| try giving/selling it to someone who could make good use out of
| it?
| sbaiddn wrote:
| Id buy it, but youll get better price and a more worthy owner
| on ebay.
|
| Also I just bought a 28S and my wife will kill me if I buy
| another HP calc
| major505 wrote:
| I still have a 48 series graphic calculator with this processor.
| I won it as a prize in a programing marathon when I was in
| college. Too bad I alread had passed all my calculus and phisics
| classes.
| PaulHoule wrote:
| I got a 28 in college which was the predecessor to the 48 and
| also had the Saturn. The 48 was out when I got the 28, but I
| liked it how the 28 had a clamshell case, but the 28 would
| inevitably self-destruct by pushing the batteries out the
| battery door.
|
| I replaced it with a 48g and later got a 50g (which my son
| uses) and more recently got an HP Prime which is unrelated to
| the 48 line, but is an absolutely excellent calculator
|
| https://www.bestbuy.com/site/reviews/hp-prime-portable-graph...
| ece wrote:
| A physics teacher in high school recommended RPN to me, and the
| 48G. I went through college using the builtin equation library
| quite a bit.
| mmastrac wrote:
| One of my big contributions to the HP48 community was aggregating
| a bunch of information into a single guide in the late 90s, as
| well as documenting a ton of hardware quirks:
|
| https://grack.com/writing/saturn/saturn.txt
|
| This processor was a lot of fun to work on.
| andy_ppp wrote:
| This is great! I have no idea why but I'd always imagined that
| moons were a maximum of about 1 planet width away, maybe two. I
| guess the reason this isn't that case is that any planets would
| have had to have been that close would fall into the surface of
| their parent planet.
| csdvrx wrote:
| > This is great! I have no idea why but I'd always imagined
| that moons were a maximum of about 1 planet width away, maybe
| two. I guess the reason this isn't that case is that any
| planets would have had to have been that close would fall into
| the surface of their parent planet.
|
| What a weird comment to make about HP saturn line of CPUs.
|
| Are you a bot?
| mastercheif wrote:
| Probably got their tabs confused with this:
| https://news.ycombinator.com/item?id=32936581
| delish wrote:
| The commenter probably meant this coincident submission:
|
| https://news.ycombinator.com/item?id=32936581
|
| That they both involve Saturns delights and confounds!
| andy_ppp wrote:
| Yes I definitely feel like a bot, I've been burning the
| candle at both ends trying to be a solo founder. It's quite
| hard.
| runnerup wrote:
| A link with more details: https://www.hpmuseum.org/tech10.htm
| trasz wrote:
| HP48 was awesome, but now, quarter century later, I like HP42
| (also Saturn-based) better. It's more convenient for simple
| tasks, and I no longer need to do complicated ones on a
| calculator. It's also way faster, and smaller - it's exactly the
| size of my iPhone; HP48 is about 50% longer and much thicker.
|
| Also, iOS version of Free42 is epic.
| sbaiddn wrote:
| Free42 now has an infinite stack, which makes the 42 much
| better (I hate 4 level stacks)
|
| The DM-42 is an HP-42 clone running free-42. Unfortunately the
| keyboard is... lets just say that keyboards are hard.
|
| So 4 level stack or crap keyboard? What to do? I just bought an
| hp-28S :D
| hajile wrote:
| I loved my HP calculators (48g and 50g) in college. HP Forth/RPN
| is so much more intuitive at every step.
|
| When you're entering the problem, you solve it the same way you
| would on a sheet of paper. I always felt this made me understand
| and appreciate the formulas more. It is also MUCH faster to
| calculate. Anecdotally, the couple RPN users could generally have
| the answer while the TI users were still checking their parens.
| I'd also note that doing the problems step-by-step gives a better
| intuition for when something seems off as you see the running
| answer at each stage rather than just the output. I'd also note
| here that advanced HP calcs included a formula writer that looked
| WAY better than any TI calculator pre-Nspire if you really do
| want to use do that (along with a CAS system to operate on those
| formulas).
|
| HP Forth is where the game really stepped up though. TI-BASIC not
| only takes quite a few lines to do _anything_. Worse, you only
| interact through prompts instead of function call-style syntax.
| Meanwhile, an RPN program you write looks and behaves exactly
| like a built-in function and is written the same way you 'd do it
| yourself.
|
| An easy example I used rather frequently when in school is the
| inverse of inverses in circuits class. If you want to find the
| equivalent resistance of 4 resistors on a TI calculator, you'll
| type in `1/(1/2+1/3+1/4+1/5)`. On raw RPN, you'd type `2 inv 3
| inv 4 inv 5 inv + + + inv`. There's a moderate savings of 4
| keystrokes here (I didn't add all the `enter` needed for each
| number which is 4 in total) and a further savings that is harder
| to quantify because you are just mashing the `+` button a bunch
| of times.
|
| The real savings is in a forth "macro". Create a program called
| `rinv` and have it rely on two numbers being on the stack.
| Programming is as simple as `inv swap inv + inv` which is the
| exact same way you'd do it by hand (for 2 entries already on the
| stack). This will be available in the custom function bar at the
| top, so it's ergonomic to reach too. Suddenly, this tiny program
| has turned our previous problem into `2 3 4 5 rinv rinv rinv` and
| we have blown away the TI method in speed. Not only that, but
| because we see all our raw resistor values in a column, it is
| much easier to double-check them. It works for any number of
| resistors as well and because we're just mashing the same button
| a bunch of times, entry is also sped up (I remember writing a
| custom version that did 4 numbers at once, but the speedup was
| miniscule and not worth having to select between the two).
|
| I can already hear someone talking about how TI-BASIC exists.
| There are a few major disadvantages though. Let's say you want to
| solve for just 2 entries (the easiest version for the TI). You
| create your `rinv` program and then write some lines to prompt
| for the resistor values, then some more lines to do your math on
| them, then another line to spit the result to the screen. This is
| its own separate mini-game that has nothing to do with how you'd
| normally use the calculator.
|
| Using this is also a bad experience. You must find the function
| menu, scroll to your function, and run it. Then, you must
| interactively enter your inputs one at a time (made a mistake?
| too bad). Now it spits out an answer, but that answer is not
| going to your problem, but to a previous line. This is fine if
| you just want the resistor value, but not so fine if you want to
| immediately use that value in your current problem. I'd note that
| you can use inline function calls on the TI-89 which helps a lot.
|
| It's about this time that you discover you sometimes need 2
| inputs, but sometimes you need more than 2. The HP relies on the
| idea that you can recalculate using the previous resistor value,
| but reusing values here is not really a thing (who wants to
| copy/paste 10+ decimal places into the prompt?), so now you have
| to revisit your mini-game and add a loop and way to check for a
| non-numeric value. You will also find out that the TI-89
| arguments are not optional and must be a fixed number, so solving
| this puts you right back in unergonomic land again.
|
| In the end, the TI has written lines and lines of code instead of
| just 4 characters and despite this, it is still slower to use and
| more subject to entry errors that aren't as obvious.
|
| Once again, you see the iterative learning of the HP vs the "jump
| to the answer" of the TI. Once I'd understand how a problem was
| working, I'd write "macros" to solve the repetitive bits allowing
| me to shift focus from the "how" to the "why". I'll readily admit
| that I don't use my calculators a whole lot these days, but my
| college self owes it quite a debt of gratitude.
| noobermin wrote:
| When it comes to calculating, RPN seems like it be more direct
| and correct because it is actually what an expression actually
| means, a series of steps. Algebra tends to abstract that.
|
| _That said,_ as a once upon a time (and sometimes still)
| theorist, familiarity makes working with algebra just easier.
| You also tend to logically group _terms_ together merely
| because that 's how things are written, with multiplication
| implicit by writing factors together but having to write out
| the infix + (or -) out and it makes it easier, in some ways to
| reason about expression in physical[0] way. For example, you
| see people doing various expansions, like perturbation theory,
| and then assigning physical meaning to terms (like linear term
| is simple harmonic oscillator, quardratic is this non-
| linearity, and so on in the taylor series). This grouping of
| terms is totally due to the abstraction infix notation gives
| you.
|
| That said, people get lost in the abstraction and forget it's
| just steps in a calculation. Forgetting the actual meaning of
| the notation is where mistakes and confusion about things like
| convergence and such really stem from (I can flesh out this
| argument but I'm already rambling here). It also is part of the
| reason I think that some scientists find programming hard to
| understand because they are so tied to the mental abstraction
| of infix notation, whereas infix is literally what happens on a
| computer anyway, and is thus naturally suited to a programmer's
| mindset.
|
| So there's value to both, I think. It is a shame though that
| RPN isn't as widely taught or used as it once was.
|
| [0] physical in the sense of physics interpretation.
| noobermin wrote:
| whereas RPN* is literally what happens on a computer anyway,
| dm319 wrote:
| I was watching one of Ben Eater's videos recently, and realised
| that the machine code he was demonstrating seemed very similar to
| the way an HP42s was programmed. Was programming the HP42s
| basically machine code?
| skellyclock wrote:
| Is there some sort of saturnic cult running the world?
|
| Why are so many products named after saturn?
| extrememacaroni wrote:
| Why are so many libraries and projects given japanese names?
| lionkor wrote:
| weebs
| PaulHoule wrote:
| The Japanese are a similar kind of pagan as the ancient
| Romans, all the way down to believing the Emperor was
| descended from the gods.
| afavour wrote:
| Because Saturn has rings and looks cool.
| MonkeyClub wrote:
| Although Saturnian cults are a thing even to this day, I don't
| think it would be one of those running the world.
|
| I'd rather expect it to be some Mercurial (and mercantile) cult
| instead, given how markets come to shape policies.
| iforgotpassword wrote:
| This is awesome:
|
| > The HP 49 series initially used the Saturn CPU as well, until
| the NEC fab could no longer manufacture the processor for
| technical reasons in 2003. Therefore, starting with the HP 49g+
| model in 2003, the calculators switched to a Samsung S3C2410
| processor with an ARM920T core (part of the ARMv4T architecture)
| which ran an emulator of the Saturn hardware in software.
|
| Surprising, but also pragmatic, but then again is that really
| cheaper than porting a calculator os to a modern CPU?
|
| > The HP 50g, the last calculator utilizing this emulator, was
| discontinued in 2015 when Samsung stopped producing the ARM
| processor on which it was based.
|
| I have an idea how to solve this... :-)
| stephc_int13 wrote:
| This family of calculators was built around RPN, a Forth
| inspired language.
|
| The thing is that language tokens were not exactly interpreted
| in the classical way, they were converted to address of
| routines in the 512K ROM (or RAM for more dynamic objects)
|
| Programming language, OS and hardware were very closely
| coupled.
| joezydeco wrote:
| RPN was invented in 1924, Forth in 1970.
| jefftk wrote:
| https://en.wikipedia.org/wiki/RPL_(programming_language)
| stephc_int13 wrote:
| The RPN notation, yes.
|
| But the language used the Saturn based family of calculator
| is using this notation but also many concepts inspired by
| Forth.
| downsplat wrote:
| > is that really cheaper than porting a calculator os to a
| modern CPU?
|
| There was a whole OS and programming environment in there, very
| closely tied to the CPU architecture. All the calculator's
| advanced functionality, including graphing, equation editor UI,
| equation solver, compiler and decompiler, etc., was written in
| the OS's own stack-based system language. Porting all of that
| to another CPU family would definitely have been much more work
| than writing an emulator for the old Saturn CPU. Performance
| must not have been a problem, thanks to ARM and Moore's law.
| noobermin wrote:
| Quite different, by try "porting" NES games to a modern CPU,
| for example using zero page instead of just doing operations
| between registers that more modern CPUs allow unlike the 6502.
| Different programs from different times were made with
| different assumptions. It's much easier to emulate (and they
| games will actually run correctly).
| klelatti wrote:
| I like how they went from the name of a small edible object (the
| 'nut') for the previous architecture to a large inedible planet
| for this generation.
| nullc wrote:
| Maybe Saturn is edible. I think the only significant component
| of the the mantle that isn't a gas at STP is water ice, though
| maybe it would have enough ammonia dissolved in it to be
| unappealing.
| Lammy wrote:
| Maybe it was named for
| https://en.wikipedia.org/wiki/Nut_(goddess)
| klelatti wrote:
| Good one! Goddess of the sky would fit in very well with
| Saturn.
| sbaiddn wrote:
| RPL lives on as RPL/2 a desktop language meant doe scientific
| computing.
| stephc_int13 wrote:
| 64 bits registers on such a small and slow (1Mhz, 4bits) CPU was
| unexpected.
|
| I really loved learning how to push this little gem to its
| limits, so many tricks were possible with the weird addressing
| schemes.
|
| (I wrote a hobby OS for the HP48 series when I was a student)
|
| https://www.hpcalc.org/hp48/apps/shell/
| marklgr wrote:
| Did you hang out at Maubert Electronics? I also recall a few
| RTC servers, blast from the past!
| stephc_int13 wrote:
| I was not living in Paris at the time, I've been there a few
| times, but yeah, the French HP48 scene was super active and
| exciting.
| curdstown wrote:
| The French HP48 phenomenon was always interesting to me.
| How did that happen? I'm in the US and we had a French high
| school student visit over the summer. Always talking about
| the HP48SX, though he didn't bring it with him. But when I
| needed to get a graphing calculator I ended up buying an
| HP48GX instead of the recommended TI-83 (I ended up getting
| one of those as well). I used the 48GX throughout middle
| school and high school w/Meta kernel, Erable - the
| developers of which all French, ended up working for HP
| ACO. Used a 50G later on. It was always interesting to me
| how the development powerhouse for the HP48 series was all
| French, but never really understood how that happened. Was
| there some schooling mandate similar to TI in the US?
| stephc_int13 wrote:
| It was a hacking scene with a few talented guys with
| strong enough personalities to organize meetups and write
| fanzines articles.
|
| Also, the model was popular in preparatory schools
| because of the expansion slots, it was possible to extend
| the memory by a huge margin.
|
| This memory was useful to store, well everything you
| could, and at the time those calcs were not forbidden
| during exams.
|
| Some people (including me) even wrote text editors and
| viewers with support to display a mix of text and picture
| for schematics, physics or chemical diagrams...
|
| The US scene was also extremely helpful, with people such
| as JK Horn or Eric Rechlin.
| nicolas_t wrote:
| Most schools recommended TI instead of HP (at least in
| the late 90s). The few people I knew who also had an HP48
| or HP49 tended to be enthusiasts and all ended up
| studying CS at an Engineering school.
| netmonk wrote:
| I have the strong feeling that hp28/hp48 have a deep
| impact in IT industry given the number of smart and
| passionated peoples who self taught themselves low level
| programming before 18yo with them.
|
| Im 43 it guy and started playing with hp at 12, my own
| first << computer >> with countless hours: playing,
| coding, debugging, reading txt files. Naturally when I
| bought my first intel computer at 19yo I installed
| freebsd, to later go to openbsd and Linux.
|
| And the first thing I do on my android phone is to
| install hp48 emulator.
| stephc_int13 wrote:
| Most of the people who were active in the HP48 scene
| turned out to be good to great coders with a good knack
| for low-level optimization.
|
| You may have heard of LZ4 or ZStd, the author is a French
| guy (currently employed by Facebook) who started hacking
| compressors on his HP48, this is how I met him a long
| time ago.
| liotier wrote:
| 3614 RTEL2 - with a custom serial cable to connect the HP48
| to the Minitel !
| franzb wrote:
| Blast from the past! Amazing discussion.
| downsplat wrote:
| Blast from the past for sure, OP was not but I was in Paris
| in the early 90s, and HP48 hacking was huge. I remember
| attending class, ignoring the teacher, and just patiently
| leafing through long print outs of HP48 disassembly, or
| typing in assembler programs on the calculator itself.
|
| The software on this thing was pretty amazing, but
| surprisingly hacky in some ways. The RPL language had a
| system of embeddable objects in memory, but when the
| interpreter had to skip over an object (i.e all the time),
| there was no field marking its length, so it had to actually
| recurse through all the sub-objects to find the end.
|
| IIRC there was the a hack where some memory locations could
| contain a direct pointer or a pointer to a pointer, and it
| would work either way because the same bits could be
| interpreted as a pointer or directly executed... or something
| of that sort.
| stephc_int13 wrote:
| RPL tokens were addresses of machine code routines (stored
| in 20 bits)
| marklgr wrote:
| I still remember 3223 :)
| netmonk wrote:
| Great your older brother from me. He was our tutor during his
| military service at st Cyr.
|
| I myself had an hp48 during my high school and now I own 6 of
| them I bought on Leboncoin or eBay for cheap. Also found an
| hp32sII for 5 euros but after three years I own it it decided
| to die in my hand.
| stephc_int13 wrote:
| Are they working correctly?
|
| Most of the models seems to age well except for the rubber-
| like connector between the key plane and the motherboard, and
| the keys are either not registering presses or you have to
| press hard on the body.
| netmonk wrote:
| Beside the hp32sII which refuse to switch on since this
| last august, my 6 hp48gx are running very well.
|
| I have a serial cable and was able to upload program on it
| ( the famous dune game) I also grabbed some French books
| (classic one for hp48)
| stephc_int13 wrote:
| The best game was Phoenix, made a guy from Croatia,
| smooth gameplay, tight controls, sound effects, difficult
| and a bit short but enjoyable.
|
| Diamonds was also very good.
| netmonk wrote:
| https://imgur.com/a/JRorpqY
|
| My little collection
| stephc_int13 wrote:
| Impressive :)
|
| I had most of those books and a few others at some point.
|
| My almost 30 years old GX was unfortunately stolen last
| year. :(
| 0xabe wrote:
| I was always amazed that a game like Phoenix was possible
| on it. Really enjoyed that game.
|
| Didn't know about Diamonds. Something to look up. Thanks!
| GekkePrutser wrote:
| Mine still works ok. Though I never got my head around RPN
| though.. I just don't use maths enough to get accustomed to
| it.
|
| If it would have supported normal notation as well it would
| still have been a useful tool to me.
| stephc_int13 wrote:
| What is the exact model? Would you sell it?
| netmonk wrote:
| I'm looking for memory card either diy or genuine. Do you
| know if it exists anymore ? I often find custom Ron card
| with specific application (EE or advanced physics) but I
| cannot find 1mb black card for sell.
| GekkePrutser wrote:
| I don't remember exactly, have to look it up. I think it
| was a 48GX. But the problem is sending electronic items
| to the US is a real PITA. I'm in Europe myself. We
| shipped a MacBook with work one day from the US to EU and
| it would have cost us more than the thing was worth in
| import and brokerage charges, it was ridiculous :( In the
| end we had to decline and the thing went back but it
| still incurred a lot of charges there.
| stephc_int13 wrote:
| I also live in Europe, I am French but I live in the UK
| at the moment.
| GekkePrutser wrote:
| Ah the UK is also a problem now unfortunately :( Thanks
| to Brexit. But sending to France might be doable if that
| could work (I'm Dutch, in Spain). I'll have a look for it
| and ping you.
| raverbashing wrote:
| It's funny how the HP48 series had a very poor hardware but it
| had an amazing software for its capabilities
| PaulHoule wrote:
| Poor compared to a modern calculator like the HP Prime.
|
| https://www.amazon.com/2AP18AA-ABA-Prime-Graphing-
| Calculator...
|
| but pretty good for the time.
| curdstown wrote:
| It had pretty good hardware I would say for the tradeoffs
| involved. One thing you should remember is that 30 years ago,
| the current semiconductor processes meant that if you put a
| faster/more capable CPU or color display tech in it, it would
| not last very long on batteries. The HP48 had phenomenal
| battery life on 4 AAA. A hand held gaming system like a game
| gear or Atari Lynx would last only a few hours on 6 AAs.
| stephc_int13 wrote:
| 3 AAA to be exact, it was a bit less than TI models and
| lasted longer.
| daitangio wrote:
| I think it was an Amazing Architecture. As far as I know Complex
| Instruction Set CPUs (CISC) was slow and then outperformed by
| RISC one but Saturn was very smart:
|
| - The basic Calculator arithmetic is handled by the CPU, the CPU
| precision is the SAME of the calculator, and the digits can be
| printed on screen with little effort.
|
| - The tiny hardware stack make the CPU quick: you needn't to make
| a major memory access to POP or PUSH return address the stack.
|
| - The original tiny data bus (4 or 8 bit) reduced the production
| costs for low-end calculator.
|
| - I/O and power saving was tight integrated: for instance there
| was a "deep sleep" mode to save battery.
|
| Also the HP15C has a very efficient poweer saving design:
| https://www.hpmuseum.org/forum/archive/index.php?thread-1776...
| (search for "SOS (Silicon on Sapphire)")
|
| Italian article with English links:
| https://gioorgi.com/2020/arte-dimenticata-rpn/
| gdelfino01 wrote:
| Thanks for the deep sleep tip (ON and SPC). I just put my 48GX
| to deep sleep.
| sbaiddn wrote:
| Careful, you stop the clock if you put it to sleep. The clock
| is not great (large deviations in clock quality), but I like
| to have all my clocks more or less within 5 min.
| daitangio wrote:
| Deep sleep rulez :)
___________________________________________________________________
(page generated 2022-09-22 23:01 UTC)