A graphic display for a HP-42 *hardware* emulator?



#2

Hi all,
I'm searching for a graphic display (with controller) to build an emulator with microcontrollers of the Saturn CPU, to emulate the HP-42S (resolution of at least 131x16).
Any of the "hardware" fellows knows any cheap one?
Or anyone interested in the project?

Best regards,

Nelson


#3

Hi Nelson,

that's an absolutely great idea to emulate a HP42s as a real hardware emulator with modern microcontrollers! It is an extremely valuable approach for the HP fan community.

I am more an enthusiast of the HP-41CX because it has the synthetic programming capabilities and the multiple I/O- and IL-capabilities. These allow ROM image exchanges between PC and RAMbox and M-Code programming including I/O. Would it also be possible for you to build a hardware emulator for the HP-41 with a nut processor emulation ?

I believe that many people would buy an HP-41CX-hardware emulator from you which they could place into an old original housing with the good keys. There is really a big fan community for the HP41!

The reason for this inquiry is the discrepancy of the slow performance speed with the enormous quality and brilliance of the HP-41 design (also the HP42 is of course of enormous desing quality).

There are different great emulators for PC or PDA, especially I would like to mention Jean-Francois Garnier's "EMU41", an indeed great emulator for PC/MS-DOS. His new version not only perfectly emulates the HP41 with all ROMs and also with RAMBOX for machine code programming, no, it also emulates the whole HP-IL-loop system in a bidirectional manner, i.e. the real HP-41 that is connected to a PC via HP-IL and IL/PC-interface card can “see” and control virtual mass storage devices, printers, video interfaces and more of the “inside-PC-world”.
On the other hand the PC-emulator can “see” and control the “outside world”, i.e. all the real equipment of the real IL-loop. So you can transfer ROM images, m-code programs and everything.

Already on a 600MHz-Windows notebook EMU41 is 400 times as fast as the real HP41 !

There are some great guys who support the broad HP41 community with very good new hardware, for example Christoph Klug with his great IL2000 system and interfacing solutions and Meindert Kuipers, developing a real Machine Language Design Lab Module (MLDL) for the HP41.

The only thing that is still really missing, that's a fast hardware emulator based on microcontrollers for HP41 which one could build into an original old housing.
It should be able to address a RAMbox / MLDL (internally implemented or in conjunction with Meindert's MLDL) and it should be able to address HP-IL.
High speed would mean high power consumption, but with modern Li-Ion batteries there should be a solution, what do you think ?

Nelson, would it be possible to develop such a wonderful device ?
For us HP41 fans that would be "Heaven on Earth"...

Best regards,
Werner

Edited: 4 Sept 2003, 5:51 a.m.


#4

Yes, it can be done. I was thinking on the 42S because I have one and I really like it... The "Coconut" CPU is even simpler than the "Saturn" CPU, and the original ROM of the 41CX is only 24Kword. I only need to know how to emulate the HP-IL periferal (I was thinking on a MMC/SD card as a mass storage, they are simple and cheap).
I still gathering information, any help from this community is welcome!

Best regards,

Nelson


#5

Nelson,

thank you for your response, that's indeed great news that it would be principally possible!
I think Jean-Francois Garnier is THE software expert on modeling of virtual IL. And Christoph Klug is a top IL hardware expert. Perhaps you could co-operate with those smart and kind people or other great experts like Meindert Kuipers, HrastProgrammer or Warren Furlow on such an ambitious mega project? I believe the huge HP41 enthusiasts community would really be thrilled and grateful, I don't think that I am exaggerating ...

If the emulator had RAM that emulated Quasi-ROM (like every RAMbox, MLDL or Hepax module does), one could load all ROM images and there would not be any need for further fast hardware emulation of the very many application ROMs.
So this would generalize and simplify the overall approach.

The HP41 platform is very flexible and comprehensive, one can later write M-code programs that enhance its capabilities by far.
For example one could later easily write M-code software that allows sophisitcated complex vector and matrix manipulation being similar to Matlab solutions and being better than the existing HP calculator solutions (this is one example only). The only critical issue really is the slow speed of the original HP41 hardware! So in my opinion a microcontroller based emulator would be THE breakthrough.

Best regards,
Werner (Germany)

#6

I hesitate posting this because the project is one of those
"as time permits" endeavors, but...

I have started a project to replace the main board of a
fullnut CX with an FPGA version of the CPU that I am in
the process of reverse-engineering, a large FLASH memory
to hold the ROM images (main, timer, ex fncs, plus a number
of modules) and a large RAM to hold memory, ex memory and
memory for the port images. I expect the FPGA version of
CPU to run up to 100X the speed of the original design,
under program control.

As the memories will be 16-bit I plan to use one of the extra bits to enable/disable the high speed operation.
Thus the I/O bus would not "see" the faster operations,
only the normal-speed transfers aimed specifically at
something connected to a port...

There are copyright issues involved, so the board would only be available as an exchange for an original 41CX board and the FLASH would be shipped without any module images installed. I might stick a serial port in the FPGA
though.


#7

My project is also "as time permits", but it will be based initially on Microchip's PIC microcontroller, and I think that the speed will not be that fast (max. 2~4x original). I'm building my project with a very (very!) modest budget, as I cannot afford using those FPGAs, and I'll use parts from "deceased" 486/PentiumI boards (SRAM, Flash). I built my own PIC burner...
I'm a hobbyst in electronics and a programmer as a real job (I have my own little software house), and one of the challenges that I'm going for is to "recycle" old non-working calculators (not only HP ones, but all will be using RPN logic!). I'm also learning the algorithms to use in other CPU platform I'm developing (simulated on PIC) with more resources, or a "upgrade" from a Saturn/Coconut CPU (more instructions, larger registers?). I could get faster microcontrollers (Scenix?) but I cannot get those here...

Your CPU simulation is on firmware or pure gate logic?
I'm searching another CPUs as well, and I found some very interesting ones from Holtec that have on-board LCD controller and about 4KB ram, but these are OTP, not well suited for this kind of (trial-and-error?) project.

Regards,

Nelson


#8

The CPU will be as exact a copy of the nut CPU as I can make from the available documentation, with the addition of parallel address and data busses for the FLASH and RAM.
I design using a hardware description language, which is then synthesized into the gates (or CLBs for an FPGA).

#9

This thread is developing into something REALLY interesting. I am working on implementing the logic of an MLDL (RAM/ROM box) in a CPLD. A larger FPGA will certainly fit the HP41 processor, but it will be very hungry for power. Thay is the main reason why I will stick with my 'slow' 41CX with my MLDL in a Card Reader housing. Communication with a PC will be based on USB.

If I can be of any assistance let me know, and please share as much infomation as possible!

Meindert


#10

I am very aware of the power issue. That's why I am still thinking about what family I'll use for the implementation. I would prefer an antifuse of flash-based device but the quiescent power may shoot down that idea unless I power it down. But then there's the issue of recognizing the "on" button...


#11

What are the fast today's PDA's, Palms and so on made of?
Is their hunger for power such a problem?
400 MHz ?
And HP-49G+: 75 MHz ? I think the HP-49G+ is not originally engineered but based on an emulator layer of the Saturn and nevertheless 5-10 times as fast as HP-49G ?
John

Edited: 5 Sept 2003, 4:54 a.m.

#12

About the power consuption issue, how about using a low-power, high-speed microcontroller emulating the CPU on firmware? There is some chips that consumes less than 1mA on full speed (about 20~40MHz), but I'm not shure as I don't have their datasheets here. My project uses PIC microcontrollers (2mA at 4MHz max) but is meant to be inexpensive, not fast. The RAM/ROM flash that I can get is a bit power hungry, but the total power is less than 100mA. If I can use some 1800mA/H NiMH cells it can last about 18 hours of full speed processing (not in sleep/standby mode).

Regards,

Nelson


#13

The issue isn't so much the operating power as it is the quiescent power. The FPGAs I'm looking at would require less than 10mA if running 2x and less than 20mA running 5x. However, they require 5mA (typical) when not running. This is what I would like to get rid of. The flash and RAM power can probably be ignored when running at these slow speeds because I'll only have the chip selects on when absolutely necessary. Power goes directly as frequency, so running very fast (more than 10x) needs to be limited to things like inner loops where it really pays.


#14

Is there any way to disable the clock for some "regions" in the FPGA creating some "deep sleep" mode? I'm not familiar with such devices. The microcontrollers that I use have very low quiescent current in sleep mode (5V, 2~9uA; 3V, 0.7uA) but their clock is about 4MHz (at 5V, 2mA).

Regards,

Nelson

#15

Hi Guys...

One CPU you might wish to examine is the TI MSP430 series.
Onboard RAM & flash, various I/O ports, etc. Numerous variants. Ultra-low power, 16-bit ALU, and there's a free C compiler available.

I think microcontroller emulation of Nut CPU will be quite good performance-wise even on a standard 8-bitter - 6805, PIC, etc. - running at even a moderate clock speed.

For a bit of extra speed, perhaps the native code that emulates each Nut instruction should use unlooped code. This will not change size of the emulation kernel appreciably.

I'd bet that with a tight interpreter loop, the bit of emulation overhead would be more than compensated for by higher clock speed, parallel fetches, and faster register moves.


Bill Wiese

San Jose CA


#16

I'm thinking on the Atmel's ATmega128, it has 128KB Flash ROM, 4KB SRAM, 4KB EEPROM, clock up to 16MHz and very low power CMOS. But I can't affor yet the programmer and some chips to begin the tests.
I'm thinking in various optimizations in the emulator code, but first I'll try to fit it in 2Kword of code in the PIC16F628 that I have here!
I'm planning on pre-fecth of the external EEPROM (where the HP-ROM is) in 5 bytes chunk (4x10 bit word) to speed up, but it is serial... Well, this is just a prototype to prove the concept.
The basic hardware (display, keyboard) is working very well on 7-segments display or 5x7 matrix LED display (beautiful!).
The project is going a little slow, as I have much work to do with my Delphi projects (those that pay the bills!!).

Regards,

Nelson

#17

I have myself spouted off several times about hardware and/or software ideas which I've taken absolutely nowhere, but here goes again . . .

The last notion I had was building an LED RPN model. I bought a few used TI-55's (10-digit LED stick, double-shot keys, acceptable key click, but a too-large plastic case), thinking I might insert a microcontroller between the original chip and the keyboard and display. The idea is: the RPN-aware microcontroller would monitor the keyboard, generate the display, and maintain, stack, register, and program memory. It would control program vs. execute modes, implement program editing, and sequence program execution.

Whenever calculation needed doing, it would electronically "press the keys" for the original TI-55 chip, and decode the answer from the chip's LED drivers (output lines). This would minimize program development -- all the math stuff would be available from the original electronics. But that would be had at a possibly unacceptable price: the original TI's keyboard de-bounce delay would be encountered with most steps during program execution . . . (The microcontroller might optimize its own programs by "keying in" small subroutines into the 55's 49-step memory and then executing them?)

One might even gang two LED sticks together and get a two-line LED display!

It all sounds fun, but I haven't done anything yet, so it's just a thought experiment at this point. I don't have any experience with microcontrollers, but that looks tractable. The 9V supply for the TI-55 might be a problem, if the microcontroller requires 5V (if only from a complexity standpoint). I did play with decoding 7-segment LED drivers way back in collge. (If I remember right, you only need 5 of the segments' states to determine the intended numeral.)

Anyway, if anyone has knowlege of the difficulties involved, you might want to set me straight!


#18

I already tested with 7-segment displays and the TI-55 keyboard, is really easy do manage it. I have also a HP-32E with non-soldered chips and display and I'll built a "replacement" to their mainboard with the low-cost chips that I use (Microchip PIC16F628). I also have some TI calculators (TI-30, 55, MBA, Programmer) that uses LED stick displays (the one of the TI-55 is the best, 11 digits plus sign) and some Commodore models (these are the best, display is 14 digits and the keyboard is far better than the TI's).
Writting the calculator software from scratch is a big challenge, but not impossible. To write an emulator for some HP-ROMs available is much simple (I'll try an HP-41 emulator with LED 5x7 matrix displays). I'll try both ways, as time permits...
Please write me an email if you have any questions about hardware and microcontrollers, I'll try to answer.

Best regards,

Nelson

#19

Www.mpja.com has a 240 X 64 LCD with backlight and controller for USD 24.95. There are a number of surplus electronics outfits on the web that might have something closer. If I were building it, I would use an active display technology like vacuum fluorescent or LED dot matrix.


#20

I already have LED dot-matrix display (5x7 char.), but it the characters are well-spaced and can't be used for "graphics" application. In the other hand, ther are well suited for a HP-41cx emulator... but the power consumption is really high! A 16 char. display consumes about 500mA at 5V, 2.5W!! But it is beautiful, indeed...

Regards,

Nelson


#21

Use the LCD and work on a 4 line display enhancement which shows all of the stack...

Good luck with the project.


#22

Dear Hp41 hardware enthusiasts,

creating a high speed HP41 by using modern technologies is really a great idea.

Please desing the new hardware compatible to the existing HP41 case. Also include a bus system which is compatible to the existing HP41 plug in ports. Than we are able to use the new "fast speed" solution with existing components like IL-Module or the new MLDL unit from Meindert Kuipers.

Remember : The HP41 is much more than a handheld calculator, this machine is also a system controller for HP-IL (Which includes printing, plotting, mass storage and advanced hardware interface applications :-). Last not least nice gateway solutions exist to PC world (EMU41 from Jean-Francois Garnier)

Best wishes from Germany - Christoph Klug

#23

Why not get a brand-new HP49G+ and do all the tricks in software .....

Meindert


#24

What is the fun then?? The best part is design my own hardware! And these new calcs are bigger than my shirt pocket... (both ways: size AND price ;)

Regards,

Nelson

#25

Hmm... the HP-42S screen looks great at 262 x 48 (i.e. each pixel being displayed by 2x3 pixels) but that would require a sligtly wider LCD...

Best regards,
Erik


Possibly Related Threads...
Thread Author Replies Views Last Post
  HP Prime Graphic Demos? toml_12953 10 2,037 10-20-2013, 11:09 PM
Last Post: Joe Horn
  Dedicated HP calculator programming-hardware-bug website? Geoff Quickfall 12 1,850 10-12-2013, 11:34 PM
Last Post: Les Koller
  Possible graphic/font bug? Han 2 838 10-02-2013, 03:46 PM
Last Post: Han
  HP Prime (DVT Prototype) Hardware Details Adrien Bertrand 7 1,885 08-10-2013, 12:04 PM
Last Post: Eric Smith
  wp34s Emulator (Display Residual) Barry Mead 3 1,048 07-23-2013, 04:22 AM
Last Post: Barry Mead
  [wp34s] Minor Issue with Stopwatch on real hardware RalfGeiger 3 1,217 04-16-2013, 04:12 PM
Last Post: Eric Smith
  HP 10s+ hardware Mic 1 723 04-07-2013, 07:52 PM
Last Post: Eddie W. Shore
  HP-32S/33S/35S emulator with Stack Overflow sensing/Stack display x34 3 1,101 10-26-2012, 04:56 PM
Last Post: x34
  Can the display for a HP32Sii be replaced with the display from another model? Bruce Larrabee 8 2,051 10-10-2012, 10:05 PM
Last Post: Luiz C. Vieira (Brazil)
  SY-41CL: Hardware Difference Between V2 and V3 Gerry Schultz 2 918 05-26-2012, 11:54 AM
Last Post: Monte Dalrymple

Forum Jump: