HP Forums
HP-25C Eumulator - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: HP-25C Eumulator (/thread-2175.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


RE: HP-25C Eumulator - Chris Chung - 10-11-2014 01:12 AM

Update

Harald_____________ early unit going his way.
Massimo___________ 1 unit
Thomas and Neil, not sure if you are going for one, please let me know.
hp41cx____________ 2 units.
Sylvian____________ 1 unit.

I think Thomas indicated he wanted one.

(10-10-2014 09:25 PM)Mark Hardman Wrote:  Please add me for one assembled unit provided any remain after Massimo [sic], Thomas and Neil exercise their option to purchase a kit.

I have 7 PCBs left so if we need more kits than this, we will need to get them fabricated (they come in 10 piece a time) and I will use the chance to improve the silk screen.

The only worry is that the bubble led could be scarce, I check Sparkfun again and now they say there might be some coming in November. As for the UK supplier, I will order another few more sets of them led modules after I receive this batch, just need to make sure the supplier is OK.


RE: HP-25C Eumulator - Neil Hamilton - 10-11-2014 08:47 AM

(10-11-2014 01:12 AM)Chris Chung Wrote:  Harald_____________ early unit going his way.
Massimo___________ 1 unit
Thomas and Neil, not sure if you are going for one, please let me know.
hp41cx____________ 2 units.
Sylvian____________ 1 unit.

Sorry for going dark there. Got really busy at work for a bit -- Thanksgiving weekend taking a bight out of my schedule and all.

I will certainly take one of the raw kits. I may have missed this detail but how do we transfer funds to you?

I presume we will need to acquire a programmer, such as the Launchpad, to get things going? Or will flash an initial load for us?

Thanks!


RE: HP-25C Eumulator - Thomas Radtke - 10-11-2014 11:50 AM

I'd participate as well, but with no ISP at hand and no intimate knowledge of the 25, others will do better. Anyway, nice to see how things develop. Hope you can still get enough LED modules when the replacement boards are ready. Fingers crossed.


RE: HP-25C Eumulator - Chris Chung - 10-12-2014 03:22 PM

Update

Harald_____________ early unit going his way.
Massimo___________ 1 unit
Thomas____________ ?
Neil_______________ 1 kit
hp41cx____________ 2 units
Sylvian____________ 1 unit

(10-11-2014 11:50 AM)Thomas Radtke Wrote:  I'd participate as well, but with no ISP at hand and no intimate knowledge of the 25, others will do better. Anyway, nice to see how things develop. Hope you can still get enough LED modules when the replacement boards are ready. Fingers crossed.
Do you want to pass on the 1st batch and may be order when the 2nd batch is available? Please indicate, thanks.

(10-11-2014 08:47 AM)Neil Hamilton Wrote:  I presume we will need to acquire a programmer, such as the Launchpad, to get things going? Or will flash an initial load for us?
All kits will have pre-programed (and tested) msp430g2533 microcontroller. If you have your own tactile buttons (you need 32 of them) and other common parts. I can ship an "essentials only" kit of (pcb + mcu + 74hc164) for $12 (plus whatever shipping). $20 for a kit that does not include the bubble leds (like what Harald got). Also the price is in Canadian Dollars, although I don't mind US$ :-).

If you plan to do some development or wants the ability to do firmware upgrades, the easiest path would be to get a TI Launchpad G2 (MSP-EXP430G2). It's a real bargain. When they launch it costs $4.30 incl shipping. Now they are priced at $10.00, and you got two MCUs (a 8k and a 16k msp430g2 mcus). You can get them at the usual places like digikey, mouser, newark, jameco, etc.

The PCBs you will get always have a headers pad to for connecting to a Launchpad for Spy-Bi-Wire programming (it's like a two-pin Jtag). You can temporary "friction-fit" a 4 pin header for programming.
[Image: IMG_20141010_081458.jpg]

You can also use these "grabbers" to attach the MCU to a Launchpad for programming.

[Image: IMG_20141010_073012.jpg]

If you just need to flash firmware, you can download either one of these two tools.

http://processors.wiki.ti.com/index.php/MSP430_Flasher_-_Command_Line_Programmer?DCMP=MSP430&HQS=Other+OT+msp430flasher

http://mspdebug.sourceforge.net/

If you plan to do some programming or poking around, you will need the mspgcc toolchain. I develop on both windows + cygwin and linux environment, please dig around a bit how to setup. I can help on specifics when u are stucked. I did this project on mspgcc only, other compilers (CCS, IAR) usually takes more space and not likely to work.


RE: HP-25C Eumulator - Thomas Radtke - 10-12-2014 04:52 PM

(10-12-2014 03:22 PM)Chris Chung Wrote:  Do you want to pass on the 1st batch and may be order when the 2nd batch is available? Please indicate, thanks.
I'll wait (and hope) for a Woodstock PCB replacement kit.


RE: HP-25C Eumulator - Chris Chung - 10-17-2014 02:54 PM

A quick update
Harald_____________ early unit shipped
Massimo___________ 1 unit
Neil_______________ 1 kit
hp41cx____________ 2 units
Sylvian____________ 1 unit
Mark______________ 1 unit

I had received the led modules from pimoroni, tested a few, same as Sparkfun's but a different batch date. And order a few more to cover all the PCBs that I have.

I will be assembling the units over the weekend but will not finalized the firmware until Harald receives the early unit and play w/ it for a couple of days at least.

I also updated my github repository to reflect the almost "final" source code. If you are interested.

https://github.com/simpleavr/NP25


RE: HP-25C Eumulator - SlideRule - 10-19-2014 08:48 AM

(10-11-2014 01:12 AM)Chris Chung Wrote:  Update

I have 7 PCBs left ...

Instructor schedule opened up a bit for the 2nd qtr so I have time & interest if any PCB's remain.

SlideRule


RE: HP-25C Eumulator - Chris Chung - 10-20-2014 12:39 PM

(10-19-2014 08:48 AM)SlideRule Wrote:  Instructor schedule opened up a bit for the 2nd qtr so I have time & interest if any PCB's remain.

SlideRule

Yes, there is one remaining PCB and I've order more led modules. Please indicate if you want a kit or an assembled unit.


RE: HP-25C Eumulator - Harald - 10-22-2014 08:51 AM

Hi Chris,

yesterday I received the PCB. Thanks a lot!
I have installed the LEDs, a CR2032 and switched it on - with no success...
Seems like the switch has not survived in the mail. Maybe you can protect that with some extra padding for the next shipments.
Anyway, after replacing the switch everything works fine now Smile

Which brings me to my Questions:
The simulator always comes up as a HP21 when I turn it on. I worked out that by pressing <g>, <sigma+> or <Clx> on power up I can switch to different roms. But is there a way to make the selection permanent? And also is possible to save the program in flash memory?

Cheers,
Harald

PS: I am really impressed by what you have done with Erics nonparail here!!


RE: HP-25C Eumulator - Harald - 10-22-2014 09:52 AM

(10-22-2014 08:51 AM)Harald Wrote:  And also is possible to save the program in flash memory?
I think I found the answert to that myself. It already is saved in flash. I just thought the memory was lost when I change the battery, but it isn't.


RE: HP-25C Eumulator - Chris Chung - 10-22-2014 12:03 PM

(10-22-2014 08:51 AM)Harald Wrote:  I have installed the LEDs, a CR2032 and switched it on - with no success...
Seems like the switch has not survived in the mail. Maybe you can protect that with some extra padding for the next shipments.
Anyway, after replacing the switch everything works fine now Smile

Which brings me to my Questions:
The simulator always comes up as a HP21 when I turn it on. I worked out that by pressing <g>, <sigma+> or <Clx> on power up I can switch to different roms. But is there a way to make the selection permanent? And also is possible to save the program in flash memory?

Do you mean the power slide switch? Does it look physically damage (due to shipping) or just did not close properly when slide into position (part quality) ? I usually order parts that are easy to get and they may not be the highest quality.

I had similar issue w/ the DataMath calculator (which 20+ people built) where when it was turn on, nothing happened. It turned out to be caused by the key scanning, the initialization code thinks that a key had been pressed and waited for it to be release, thus cause a freeze in S/W. It can be caused by faulty tactile buttons (always on), bad soldering / traces (shorts) and (more common) fingers touching the back traces on the PCB (stray capacitance registered by key scan). I also forgot to put tape to insulate the pcb back better on your unit. You may experience jumping buttons but you can avoid it insulating the pcb back w/ any plastic / tape. See photos from my previous posts.

Yes, you can setup a "default" rom + speed via menu. I had updated the README at my github repository w/ these simple operation guide

press-n-hold 1st row, 5th column (from top) for hp33C
press-n-hold 2nd row, 5th column for hp25C
press-n-hold 3nd row, 5th column for hp21
press-n-hold 4th row, 4th column for version info
press-n-hold 1st row, 4th column to show greetings
press-n-hold 1st row, 3rd column to edit greetings, use 0-9 to enter numbers and letters, Run/Stop to advance digit, Cls to abandon entry
press-n-hold Pgm/Run toggle button to edit default startup settings, use 'F' key to select rom, 'G' key to select speed, Pgm/Run will save setting and exit setup

The setup mode, i.e. RPM/RUN + switch on, also tests the tactile buttons, it shows an internal scan code at the last 2 digits. Handy when you are building your own or checking the H/W.

The "edit greetings" mode, pressing numerics consecutively (like old phones) will give you alphabets.

I spent last evening on these. Once Harald indicates there are no major issues on the firmware, I had these 4 units ready. The firmware is frozen (function-wise) and I can only make small adjustments and bug fixes. I had tried to squeeze in all-things-possible and there is only some 50 bytes left out of a 16K bytes space.

I am still waiting for some tactile buttons and some sets of LEDs for the rest (another 3 units).

My kitchen table factory. Left, after 5 hours of work start to program the MCUs. Right test run, setup menu on all.
[Image: IMG_20141021_213445.jpg] [Image: IMG_20141021_231900.jpg]


RE: HP-25C Eumulator - Harald - 10-22-2014 12:39 PM

(10-22-2014 12:03 PM)Chris Chung Wrote:  Do you mean the power slide switch? Does it look physically damage (due to shipping) or just did not close properly when slide into position (part quality) ? I usually order parts that are easy to get and they may not be the highest quality.
Yes, the slide switch is physically broken. The plastic part has cracked, possibly because pressure was applied during shipping. - But not to worry, I have already replaced it with another switch. I just thought I'd mention it so you can place some extra padding over the switch when shipping. Others might not have a replacement switch at hand.
(10-22-2014 12:03 PM)Chris Chung Wrote:  Yes, you can setup a "default" rom + speed via menu. I had updated the README at my github repository w/ these simple operation guide

press-n-hold 1st row, 5th column (from top) for hp33C
press-n-hold 2nd row, 5th column for hp25C
press-n-hold 3nd row, 5th column for hp21
press-n-hold 4th row, 4th column for version info
press-n-hold 1st row, 4th column to show greetings
press-n-hold 1st row, 3rd column to edit greetings, use 0-9 to enter numbers and letters, Run/Stop to advance digit, Cls to abandon entry
press-n-hold Pgm/Run toggle button to edit default startup settings, use 'F' key to select rom, 'G' key to select speed, Pgm/Run will save setting and exit setup

The setup mode, i.e. RPM/RUN + switch on, also tests the tactile buttons, it shows an internal scan code at the last 2 digits. Handy when you are building your own or checking the H/W.

The "edit greetings" mode, pressing numerics consecutively (like old phones) will give you alphabets.
Thanks for the instructions, works as advertised! I'll try and work through my collection of programs as soon as possible. Already dug out my real 25c for comparison Smile

And thanks again for your effort!


RE: HP-25C Eumulator - Harald - 10-23-2014 12:35 PM

The only thing I found so far is that the register contents is lost when the calculator is turned off.
I wouldn't think it is a real problem, but it differs from the original.


RE: HP-25C Eumulator - Chris Chung - 10-23-2014 01:09 PM

(10-23-2014 12:35 PM)Harald Wrote:  The only thing I found so far is that the register contents is lost when the calculator is turned off.
I wouldn't think it is a real problem, but it differs from the original.
Smile It may matter to a purist. This is not a bug and it's really a compromise in this project.

For the 25, the continuous memory as I understand it is 16 register units, with the 1st 9 units being registers and the last 7 being program steps, each register unit requires 7 bytes (or 14 half-bytes to represent the bcd, original nonpareil code uses 14 bytes). That would make the whole continuous memory be 112 byte long.

In this project the memory retention is done by writing them to internal flash and reading it upon next power-on. The msp430g2533 mcu we have 4 banks of 64 byte flash blocks for the firmware and I can only use 3 of them (the other one is for factory clock calibration, etc).

So if I am running just the HP-25 ROM, I can put all the CM into 2 blocks (112 bytes), and if I want both HP-25 and HP-33 CM retention, I can only save part of it. Which is program steps only (49 bytes).

We are also using a 3rd block to save the default start-up settings + greeting messages. Also the flash blocks, being flash is not like RAM, and operations (read / write) must be done to the whole block. I.e. we can't share / split as we don't have enough buffer RAM to start w/.

Since I don't have the original hardware, I was guessing that the register contents are just a by-product of the CM and will be zeroised during power-on, thus to save flash space, I chose not to save them.

How do you / others think of this? Should I turn back and have all (registers and program steps) saved? This would mean the the HP-33 / HP-25 shares the same CM. I.e. they will step into each other. Please let me know your thoughts.

Also question for the HP-33 expert. I don't understand well enough the HP-33 (I don't even have the manual). From the description it is similar to the 25, w/ 8 registers, and 49 (7x7) steps. But from nonpareil source code it's RAM size is 32 (vs 16 on the HP-25). My implementation is to allocate 32 RAM units for it but when it comes to CM, I am only saving the 49 program steps. What I don't understand for the 33 is what does the last 16 unit of RAM are used for.

It would be nice if someone w/ HP-33C experience can advise, in particular the importance / impact on the CM retention.


RE: HP-25C Eumulator - Harald - 10-24-2014 08:48 AM

(10-23-2014 01:09 PM)Chris Chung Wrote:  Smile It may matter to a purist. This is not a bug and it's really a compromise in this project.
To me it is not a problem. It is just something to keep in mind. It might become a bit of a nuisance with programs that need constants stored in the registers, but I guess one would have to think of it as a 25c light Smile

(10-23-2014 01:09 PM)Chris Chung Wrote:  For the 25, the continuous memory as I understand it is 16 register units, with the 1st 9 units being registers and the last 7 being program steps, each register unit requires 7 bytes (or 14 half-bytes to represent the bcd, original nonpareil code uses 14 bytes). That would make the whole continuous memory be 112 byte long.
It is only 8 registers (0 through 7), but that is implemented correctly

(10-23-2014 01:09 PM)Chris Chung Wrote:  In this project the memory retention is done by writing them to internal flash and reading it upon next power-on.
When do you write to flash? Looking at the hardware design there is probably not enough time to do this at power down.

(10-23-2014 01:09 PM)Chris Chung Wrote:  How do you / others think of this? Should I turn back and have all (registers and program steps) saved? This would mean the the HP-33 / HP-25 shares the same CM. I.e. they will step into each other. Please let me know your thoughts.
I think sharing the program memory between 33c and 25c is not a good idea. I personally have no problem with loosing the registers. Alternatively you could limit the emulator to just one of the rom images.

(10-23-2014 01:09 PM)Chris Chung Wrote:  It would be nice if someone w/ HP-33C experience can advise, in particular the importance / impact on the CM retention.
I am no expert on the 33c. In fact I have never seen one at all.
But I found one bug in your software by just playing with it a little:
The key mapping is incorrect. Row three should be <Enter>, <Enter>, <CHS>, <EEX>, <CLX>, but it is <Enter>, <CHS>, <EEX>, <EEX>, <CLX>.

Cheers,
Harald


RE: HP-25C Eumulator - Chris Chung - 10-24-2014 11:34 AM

(10-24-2014 08:48 AM)Harald Wrote:  When do you write to flash? Looking at the hardware design there is probably not enough time to do this at power down.
You are right. Currently I save when PGM/RUN switch toggles back to RUN. Power-down save would require a design change by adding a capacitor to give residue power when going power-off.

(10-24-2014 08:48 AM)Harald Wrote:  I think sharing the program memory between 33c and 25c is not a good idea. I personally have no problem with loosing the registers. Alternatively you could limit the emulator to just one of the rom images.
I agree w/ you. Anyway the current design does not allow for this. (explain above).

(10-24-2014 08:48 AM)Harald Wrote:  I am no expert on the 33c. In fact I have never seen one at all.
But I found one bug in your software by just playing with it a little:
The key mapping is incorrect. Row three should be <Enter>, <Enter>, <CHS>, <EEX>, <CLX>, but it is <Enter>, <CHS>, <EEX>, <EEX>, <CLX>.
Thanks for catching this one. Must be a typo on the key mapping table. I really just test the basics on the 33C, like only the trig functions and such.

I will post notify here after doing the minor fixes and checking-in on github. I hope you are acquiring means to re-program yours.


RE: HP-25C Eumulator - Chris Chung - 10-24-2014 12:15 PM

Fixes checked-in and available in https://github.com/simpleavr/NP25
. corrects HP-33C key mapping.
. version string shows NP-25 instead of HP-25.


RE: HP-25C Eumulator - SlideRule - 10-24-2014 02:58 PM

(10-20-2014 12:39 PM)Chris Chung Wrote:  
(10-19-2014 08:48 AM)SlideRule Wrote:  Instructor schedule opened up a bit for the 2nd qtr so I have time & interest if any PCB's remain.

SlideRule

Yes, there is one remaining PCB and I've order more led modules. Please indicate if you want a kit or an assembled unit.

Assembled, please.


RE: HP-25C Eumulator - Harald - 10-27-2014 08:50 PM

So far I have not found any issues with the 25c.

As I said I am no expert on the 33c so I have done very little testing. But whenever I turn it on, the claculator comes up with Pr Error. Maybe this indicates loss of memory? Maybe the part of memory you were talking about (the one you are not saving) is good for something.


RE: HP-25C Eumulator - Chris Chung - 10-28-2014 12:18 AM

Harald_____________ early unit shipped
Massimo___________ 1 unit
Neil_______________ 1 kit
hp41cx____________ 2 units
Sylvian____________ 1 unit
Mark______________ 1 unit
SlideRule__________ 1 unit

(10-27-2014 08:50 PM)Harald Wrote:  So far I have not found any issues with the 25c.

As I said I am no expert on the 33c so I have done very little testing. But whenever I turn it on, the claculator comes up with Pr Error. Maybe this indicates loss of memory? Maybe the part of memory you were talking about (the one you are not saving) is good for something.

The Pr Error matches the nonpareil simulator. I got the same display when using nonpareil on Linux. So I guess it's part of the simulation.

I think we had done enough testing. Over the weekend I tried some 33C programs from the software library in this site. The biggest one (a hex-dec, dec-hex converter) occupies 49 steps and run correctly giving the expected results.

I had 4 assembled units that I can ship immediately. So I will follow the order and ask Massimo, hp41cx (2) and Sylvian to furnish payment and PM / email the shipping address to me.

My email address and paypal account will be PMed to you. I will reply upon receiving the funds. I will make a trip to the post office when all funds has been received. So may be I can ship them Wednesday. Shipping to Europe was like 7-10 days on my experience. I am not allowed to ship lithium battery internationally (Canada is OK) so please prepare your own CR2032.

Apology to Neil, he should get his kit as 2nd entry in the list, but I had used up all my tactile switches on the 4 builds. For Neil and others in the list, I expect to get the remaining tactile buttons in 7-10 days.

/EDIT change email contact.