So Eric, what's with the new hardware?



#2

Looking over the HHC 2005 conference notes, I see where you demonstrated some hardware running your simulator code. (I will leave the debate over whether this then would constitute an "emulator" or not to others.) I recall threads here discussing using an HP-97 as the "user interface" for a souped-up modern calculator, including the ability to run nonpareil, but I thought it was just theoretical. Now I know you had this project up your sleeve the whole time. 8)

So, when are you going to cut the rest of us in on the details?


#3

The photos of a device with key actuators being fitted with an HP-41 faceplate look intriguing. Is that your hardware? Sort of KML in the flesh? Cool!

#4

I need to send an updated paper by Richard Ottosen on the hardware to Ron Johnson for the conference CD proceedings, if it's not too late. I'll make the paper available on my web site as well.

The current hardware uses a PIC18F6680 microcontroller. This has 64KB of flash memory and 3328 bytes of RAM. We added a 256KB serial flash chip for storage of application module code, and a 2KB serial FRAM for the user registers. There's also an SD card slot, a serial port, and an LED to drive an IR printer.

The case is made of many layers of thin plexiglass laser-cut and laminated together. There are 39 tact switches (buttons with integrated snap discs) arranged in an HP-41 layout. Rather than using keys to press the switches, there is an overlay which slides into the calculator.

The firmware wasn't working in time to be demonstrated at the conference, so only a simple hardware test program was shown. The real firmware will simulate Woodstock and Spice series calculators as well as the HP-41. The code is hand-written assembly, not Nonpareil.

The HP-41 firmware running on this hardware will be slightly faster than a real HP-41. We were more concerned with battery life than speed.


#5

And, I'm still on the list to buy one...good looking case or not.

I'd be hopeful that other calculators could be emulated...like an HP67? ? :-)


#6

Quote:
I'd be hopeful that other calculators could be emulated...like an HP67?

There are two issues with that:

  1. Currently I don't understand how a subtlety of pointer wraparound works on the Woodstock CPU, so the 19C, 29C, 67, and 97 get stuck in a loop whenever they search for a label. I need to build a ROM emulator to hook up in place of the HP ROMs to run my own test code.
  2. I haven't figured out how the card read instructions work.

Once these problems are solved, it should run fine on the new hardware.


#7

And, the card reader instructions (at least, read/write) would be nice to point to files on the SD card. :-)

If we have to sacrifice some of the other uses of card instructions (merge comes to mind), to be able to play with an HP67 in all other ways, I could easily live with that. :-)

#8

Why don't you ask me to give you the schematics of my ROM emulator ?

regards,
Bernhard

#9

Coool!

So the photos in Richard Nelson's conference report are of the new machine! So the 256K serial FRAM is for modules, there's 2K for registers (291, by my count) and 3328 bytes of RAM for user programs. So what is the SD slot for? I note there are two lines in the LCD. Alpha and X? X and Y? Selectable? What does the serial support look like on the calculator side? Is there a meta OS in the 64K?

This is pretty damned exciting stuff!


#10

The 256KB of serial flash is for storage of calculator microcode (though some will be in the PIC's internal flash) and application module (ROM) images.

My previous posting was incorrect; the FRAM is 8KB, which allows for the full addressable register address space of the 41 (1024 registers), though unless I modify the microcode it will have the same effective capacity as the 41CX with two extended memory modules.

Future units may use a 32KB FRAM; we weren't able to obtain any in that capacity when we ordered the components. Modified extended function module microcode might allow for the equivalent of an extra twelve extended memory modules, for a total of 3459 usable registers of extended memory.

The SD slot is for mass storage. The intention is to write a compatible replacement for the mass storage functions of the HP-IL module.

The second line of the 2*16 LCD is used for the annunciators.
Because the 41 can actually display up to 24 characters in alpha
mode (if every other character is a period, comma, or colon), the
alpha mode display can spill over into the second line. I may
hack the microcode for alpha display to remove the special-casing
of the punctuation, and always display only 12 characters in alpha mode. (Making it use 16 characters would be substantially more work.)

There are not yet any plans for the serial support; it may simply be left for future use.

Quote:
Is there a meta OS in the 64K?

I'm not sure exactly what you mean, so I guess the answer is no. What would a "meta OS" do for you?

Eric


#11

I guess I meant that in connection with the serial port. There being no direct serial support on a real 41C, you'd have to have some "glue," at least, to turn that port into something the calculator would see as HP-IL, for example. The mass storage emulation would also be a piece of OS-like glue.

I called it a "meta-OS" because it would be above the level of the calculator's own OS.

#12

though unless I modify the microcode it will have the same effective capacity as the 41CX with two extended memory modules.

From my experience: it is possible to address 3392 data/program registers by modifying the firmware (I have done this 4 years ago). But, you'll have to change a lot of things, not only in HP-41 ROM ...

Modified extended function module microcode might allow for the equivalent of an extra twelve extended memory modules, for a total of 3459 usable registers of extended memory.

I really doubt you can have extra 12 XM modules ... you'll have to completly rewrite XF/XM module and all parts of CCD, Advantage and perhaps some other modules dealing with extended memory. The best I came to (without sacrifying too much of a compatibility) was 686 XM registers. Again, this is from my experience and can, as well, be wrong ...

The SD slot is for mass storage. The intention is to write a compatible replacement for the mass storage functions of the HP-IL module.

Do you plan to rewrite the complete HP-IL ROM or provide the HP-IL hardware emulation and use the existing HP-IL ROM?

I may hack the microcode for alpha display to remove the special-casing of the punctuation, and always display only 12 characters in alpha mode. (Making it use 16 characters would be substantially more work.)

The emulation of display instructions and a lot of things have to be changed in HP-41 ROM (Printer ROM, ...) but it is possible to have 16-characters LCD ...

#13

I'm buying one (or two) also!!!


#14

Hmmm, could well be I buy one, too. But first, please show me your offer, the photos and the price. d;-)


#15

Sounds like it's not quite to that stage yet, but well along.

#16

Quote:
The firmware wasn't working in time to be demonstrated at the conference, so only a simple hardware test program was shown. The real firmware will simulate Woodstock and Spice series calculators as well as the HP-41. The code is hand-written assembly, not Nonpareil.

Hi Eric...

Hmmm. How come Nonpareil emulation wasn't just ported over (of course w/perhaps minor changes for I/O related stuff)? There are C compilers for PIC CPUs. That way you aren't dealing w/a whole new body of code, since Nonpareil is getting good exercise now...

Bill Wiese

San Jose


#17

Would have been lower performance. The PIC18 architecture is somewhat better suited to C code than the older PICs, but it's still not great. Also Nonpareil wasn't written with such a limited-memory device in mind.


#18

Score another one for hand-optimized assembly code!

In an era of bloatware, it's somehow reassuring that there is still room for that sort of thing. Of course, it's easy to take that line when I don't actually have to do any of it. 8)


Possibly Related Threads...
Thread Author Replies Views Last Post
  Dedicated HP calculator programming-hardware-bug website? Geoff Quickfall 12 447 10-12-2013, 11:34 PM
Last Post: Les Koller
  Message to Eric Rechlin Etienne Victoria 3 206 09-24-2013, 07:50 PM
Last Post: john mantooth
  HP Prime (DVT Prototype) Hardware Details Adrien Bertrand 7 405 08-10-2013, 12:04 PM
Last Post: Eric Smith
  [wp34s] Minor Issue with Stopwatch on real hardware RalfGeiger 3 246 04-16-2013, 04:12 PM
Last Post: Eric Smith
  WP34S ver 3,2 Arrived from Eric Namir 0 120 04-16-2013, 03:30 PM
Last Post: Namir
  HP 10s+ hardware Mic 1 124 04-07-2013, 07:52 PM
Last Post: Eddie W. Shore
  Eric Smith is a very good sport Namir 3 184 09-26-2012, 03:39 PM
Last Post: Eric Smith
  Question to Eric Rechlin & Gene Wright about HP30b/30b repurposing at HHC2012 Namir 2 147 08-04-2012, 05:30 PM
Last Post: Namir
  Thank you Eric Rechlin!!! Namir 22 713 06-06-2012, 05:41 PM
Last Post: Pete Wilson
  SY-41CL: Hardware Difference Between V2 and V3 Gerry Schultz 2 156 05-26-2012, 11:54 AM
Last Post: Monte Dalrymple

Forum Jump: