Jump to content
IGNORED

HP calculator for the Atari 8-bit?


fibrewire

Recommended Posts

I have never found a sophisticated calculator program for the 800/XL/XE. Someone was talking about writing a calculator app for FJC's GUI, so I did some digging. What I found was a nice HP scientific calculator that uses a SunPlus 8502 chip (6502 + keyboard & LCD controller tacked on.) Unfortunately the ROM can't be hacked out of the thing very easily, but HP has seemingly solved that problem by offering up this calculator in an emulator which includes the .SML rom file. Anyone want to take a stab at seeing how this looks in a disassembler?

 

http://www.hp.com/sbso/product/calculators-emulators/HP_35s_Virtual_Calculator_2012_12_10.zip

 

Some additional info on the HP 35s:

 

Wikipedia - HP 35s

HP 35s Scientific Calculator - Official Store

embedded.com - Tear Down of the HP 35s

HP Calculator Emulator Program - Downloads

Link to comment
Share on other sites

Perhaps I can take a look at some point. Do keep in mind though, HP calculators are RPN, so you'll all have to learn :P

But it's worth it. After a couple of hours on an RPN calc you will not want to return to a "normal" calculator ever again.

(As I prefer using a physical calculator over an app - even if it's for the Atari - I hope I have amassed enough RPN calcs to last for the rest of my life, although I admit some envy for that HP-16....)

 

(If you don't insist on the original, have a look at http://www.swissmicros.com)

Link to comment
Share on other sites

Took a bit of digging, but at least the MCU (SPLB31A) seems to have a full 6502 core. Some of Sunplus's other chips have a reduced 6502 instruction set (no Y register??).

 

Main problem is that it looks like this sucker has a large amount of bank-switched ROM, 256K of it in 32K banks. I'd recommend something a wee bit smaller, like a complete BASIC interpreter....

Link to comment
Share on other sites

Well,

 

besides the (Atari) Calculator by Carol Shaw there are several A8 calculators available as PD - even a HP calculator (by Raindorf Soft, maybe written in Quick language), named HP35.COM...

 

There is also a calculator with Reversed Polish Notation, but since it uses german language its name is UPN-Calculator (UPN = umgekehrte polnische Notation, the same as reversed polish notation). This calculator offers drivers for Mouse (MAUS.*), touch tablet (Tablet.*) and joystick (JSTICK.*), just rename the driver you want to use into *.EXE. It is currently configured for mouse (most-likely ST-mouse)...

 

If I remember correctly the german GUI and type-in listing SAM (screen-aided-management) also includes a calculator as an accessory...

calculators.zip

Edited by CharlieChaplin
  • Like 2
Link to comment
Share on other sites

Then there'd be the working out of the display matrix and keypad input.

Would be an interesting project though.

 

Bankswitched 32K makes it a whole bunch harder - although VBXE allows a 32K banked window. But even then, likely this thing maps the ROM to the high address range and the Atari I/O registers live there.

Link to comment
Share on other sites

I once wrote an expression evaluator in Turbo Basic XL which just converted standard parenthesised notation into RPN using a stack prior to evaluation. Not 6502, but if you want to see a calculator using a similar API to the A8 GUI, the source to the SymbOS calculator app is here:

 

http://www.symbos.de/download/symbos-apps.zip

  • Like 1
Link to comment
Share on other sites

Well I was the one who volunteered to write the calculator, wasn't I? I'll be doing RPN anyway, easier to program that way :) so you'll all have to learn no matter what. BTW, calculator that could use the light pen would be cool (for those that have one), but I don't think it'll happen in the GUI.

Link to comment
Share on other sites

I must be too dumb to use RPN. I'll not start a flamewar here, but I will just say that my TI-92 plus > the HP48 :) Now I'll run.

 

Heresy! Get the pitchforks and flaming torches! Generations of engineers of a certain age are gathering to hunt you down. :)

Link to comment
Share on other sites

Main problem is that it looks like this sucker has a large amount of bank-switched ROM, 256K of it in 32K banks. I'd recommend something a wee bit smaller, like a complete BASIC interpreter....

I saw somewhere that it's two 16k banks with the CPU and the rom in the mask, and the 256k was connected by i2c and is for program storage only. On the other hand, I think I'll take your word for it ;)

Link to comment
Share on other sites

It must be like Forth. Seems like no one ever comes back from using it.

 

Fortunately I never ventured Forth ... (see what I did there? :) )

 

But RPN won me over during my junior year of my engineering degree program. I loved that HP-48 so much that when I moved three years after college and mine was crushed in a box, I immediately went out and bought a new model (this one didn't use those damned size N batteries!). I still have it today, along with an HP-48 emulator for my iOS devices and one for my Mac.

Link to comment
Share on other sites

 

Speaking of iOS devices...

 

http://hp15c.com

 

Nifty! I'm gonna snag that one now.

 

This is my current app, m48+.

 

https://itunes.apple.com/us/app/m48+/id341541461?mt=8

 

It can emulate the HP-39 family, HP-48 family and the HP-49. Since I used a -48SX in college, that's pretty much my go-to.

 

post-30400-0-08084700-1408568177_thumb.png

  • Like 1
Link to comment
Share on other sites

 

Speaking of iOS devices...

 

http://hp15c.com

This is so cool! I had an HP-15C in college and knew how to use most of its features because I was young, motivated, had time, and was fascinated by such a powerful calculator for its time. I was taking a semiconductor fabrication lab class and left my book bag in the class to go into the lab like everyone else. Unfortunately, my book bag was stolen with all the new books that I just purchased for the courses that I was taking that quarter. Being the poor college student, I was not able to replace it. I still miss it after over 25 years! But, now I can reminisce with this cool simulator program.

 

I also think an emulator for the HP-15C exists but requires the ROM from the calculator that I no longer have :(

 

Thanks for sharing.

Link to comment
Share on other sites

Here is a little expression evaluation program, compiled with cc65: calculator.zip

 

Supports:

+, -, *, / ,

^ (powers),

& (bitwise and), | (bitwise or), $ (bitwise xor), ! (bitwise complement),

abs, sgn, rand, functions

ans (last answer),

simple one letter variables.

 

Example:

 a = 12 + abs -34
 a + 4
 ans * 2 ^ 3
 rand 100

Because cc65 does not support floating point, all calculations are in 32bit integers,

but it is a start.

 

Daniel.

 

  • Like 1
Link to comment
Share on other sites

This is so cool!

 

No more cool than the TI programmable calcs that have been modeled in emulation for years -- a great addition to Windows standard calcs. I'm running a 83+ (I'd run a 92+, but the skins are outdated for modern screen resolutions) and an NSpire sometimes as well.

 

post-6369-0-31564200-1408596250_thumb.jpg post-6369-0-23321200-1408596282_thumb.jpg

 

I wrote a graphical, programmer's calculator for the Atari, in the 80's, that looked like it belonged in a GUI. Who knows, I maybe I'll write one again. A simple graphing/sci calc would be extremely cool too though.

Edited by MrFish
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...