The Museum of HP Calculators

HP Forum Archive 19

[ Return to Index | Top of Index ]

HP-IL 2009
Message #1 Posted by Egan Ford on 8 Oct 2009, 3:43 p.m.

I uploaded a PDF of my HHC 2009 PPT here: http://sense.net/~egan/HHC%202009%20HPIL.pdf.

Since it was a live demo much of this PDF may make little sense.

The big picture:

The PIL-Box with a laptop can be used to access physical HP-IL peripherals (HP 32 column video tested) from emulators (EMU41 and Nonpareil tested).

And

The PIL-Box with a laptop can be used by physical calculators (41CX, 71B, and EMU41 on PC with ISA card tested) to access emulated peripherals (ILPer simulating storage and printer tested and test_hpil simulating 32 column video and printer tested).

And

The two above mixed together. I.e. you can create a virtual HP-IL loop of physical and virtual devices.

An easier way to think of all of this is that an old PC with HP-IL ISA is equivalent to a modern PC with a PIL-Box.

Lastly, Windows, OS/X and Linux tested. My demo was done with Windows in VMware and OS/X.

The other big announcement was that for the first time ever there is an open source HP-IL implementation. ILPer (Windows VB), Nonpareil with HP-IL patches (C code), and test_hpil (C code) include the source.

In time Khanh-Dang may have a virtual PIL-Box completed. I.e. HP-IL to TCP (its mostly available today in the Nonpareil HP-IL patch). With this I should be able to create an HP-IL loop that spans the globe. NOTE: This is HP-IL encapsulated in IP, not IP encapsulated in HP-IL. The later is already done (NutIP).

How would you use HP-IL over TCP? Well let me give you an example. Say that I wrote a program for the 71B that you really wanted. I could email it to you or post it, then you'd have to find a way to get it into a LIF image so that you could use your PIL-Box to get to it via test_hpil or ILPer, or I could send you a LIF. Or... I could put it in a virtual storage device on a virtual loop and just send you the IP address. Then you connect to the PIL-Box, launch test_hpil with some option to extend your virtual loop to mine via TCP, then from the 71B you just read it from my virtual storage. (Howard Owen is drooling, I can see it from New York :-).

And, that is just the begining of many possible cool things to come.

      
Re: HP-IL 2009
Message #2 Posted by Geoff Quickfall on 8 Oct 2009, 4:01 p.m.,
in response to message #1 by Egan Ford

Thanks Egan,

Your explanation and talk at the HCC this year has convinced me of the need to update my 41C and 71B with a PIL-box.

The talk was wonderful as well as the demo. Most of the new peripherals for the HP-41 et.al. seem to be complex in usage but your demo disproved that!

Cheers, Geoff

And good to meet you also!

            
Re: HP-IL 2009
Message #3 Posted by Egan Ford on 8 Oct 2009, 10:27 p.m.,
in response to message #2 by Geoff Quickfall

Thanks. Likewise.

      
And we are talking 30YO technology...
Message #4 Posted by Vieira, Luiz C. (Brazil) on 8 Oct 2009, 5:15 p.m.,
in response to message #1 by Egan Ford

Hi, Egan;

thanks for your very interesting information.

I contacted J. F. Garnier about three weeks ago in order to know how to buy a PIL-Box, but I had no answer from the second e-mail. I'll wait for a bit more and ask him again. It seems to me the PIL-Box is the best solution for connecting the HP41 to the new computers through USB ports.

In time: any chance that we have HPIL-cable clones? I guess that with available technology they are not that hard to be 'reversed-engineered'.

Cheers.

Luiz (Brazil)

            
Re: And we are talking 30YO technology...
Message #5 Posted by Egan Ford on 8 Oct 2009, 10:26 p.m.,
in response to message #4 by Vieira, Luiz C. (Brazil)

Quote:
I contacted J. F. Garnier about three weeks ago in order to know how to buy a PIL-Box, but I had no answer from the second e-mail. I'll wait for a bit more and ask him again. It seems to me the PIL-Box is the best solution for connecting the HP41 to the new computers through USB ports.
Just ping him again.
Quote:
In time: any chance that we have HPIL-cable clones? I guess that with available technology they are not that hard to be 'reversed-engineered'.
I was thinking that myself. Would any know how hard it would be to create new cables and peripheral connectors?
                  
Re: And we are talking 30YO technology...
Message #6 Posted by Eric Smith on 8 Oct 2009, 11:54 p.m.,
in response to message #5 by Egan Ford

It is unfortunate that the HP-IL specifications actually do NOT include proper mechanical drawings of the connectors. They have drawings, but the drawings are missing many important dimensions.

It would also be nice if we had specifications of the actual cable HP used. I haven't found any other cable quite like it.

      
Re: HP-IL 2009
Message #7 Posted by Martin Pinckney on 9 Oct 2009, 7:47 a.m.,
in response to message #1 by Egan Ford

Egan,

Even though:

1. I was not there

2. I don't have a 41

3. I have only the foggiest notion of what HP-IL is

4. I have no idea what Nonpareil, TCP, or most of the other jargon means

Still, I found your presentation enjoyable.

            
Re: HP-IL 2009
Message #8 Posted by Egan Ford on 9 Oct 2009, 3:46 p.m.,
in response to message #7 by Martin Pinckney

Quote:
1. I was not there
Bummer, perhaps next year. :-)
Quote:
2. I don't have a 41
I didn't have one until 2007. It's never too late. :-)
Quote:
3. I have only the foggiest notion of what HP-IL is
http://en.wikipedia.org/wiki/HP-IL is a good place to start. Think something like USB for calculators in the early 80s. IOW, its a network--a way to move data.
Quote:
4. I have no idea what Nonpareil, TCP, or most of the other jargon means
Nonpareil is an open source Swiss Army HP calculator emulator. One of the models emulated is the 41.

TCP is short for TCP/IP.

Quote:
Still, I found your presentation enjoyable.
Excellent. Thanks.
      
Re: HP-IL 2009
Message #9 Posted by ZOleg on 9 Oct 2009, 8:19 p.m.,
in response to message #1 by Egan Ford

I recently received my PILBox and began to experiment.

In Windows XP x86:
1) HP-71B, HP-82161A and ILPer 1.3.1 works fine on normal and high speed.
2) HP-71B and Emu41 2.47 only work on normal speed, on high-speed Emu41 simply do not see any external device and HP-71B do not see Emu41 internal devices.
3) HP-82161A and Emu41 2.47 do not work together at all, when i try read directory or file from tape, recorder rewinds the tape, then just nothing happens - on recorder Busy lamp is flashing and Emu41 does not respond to any command until pressed F12. (Emu41 works in slow mode as specified in manual)

In Windows 7 Ultimate x64:
1) When i copy my files from HP-71B to HDRIVE1 on ILPer 1.3.1 at the end of the process of copying a message on 71B - HPIL ERR:Frames Altered. If repeat copy same file 2-3 times, then everything goes well (without any error). I tried with high-speed and norlmal-speed - same result, i tried small and big files - same result, i tried basic and lex files - same result.
2) If i use ILPer as DISPLAY or PRINTER device - all is in most cases normal, but sometimes by transmission characters disappear or garbage is transferred.

I dont have Linux to try modified Nonpareil, may be someone will tell me how to compile Nonpareil in Windows?

Edited: 9 Oct 2009, 8:35 p.m.

            
Re: HP-IL 2009
Message #10 Posted by Eric Smith on 10 Oct 2009, 1:05 a.m.,
in response to message #9 by ZOleg

There is currently no working way to compile Nonpareil for Windows. I hope to address that in early 2010. The plan is to switch from GTK+ to Qt, as Qt has much better cross-platform support.

            
Re: HP-IL 2009
Message #11 Posted by Egan Ford on 10 Oct 2009, 2:01 p.m.,
in response to message #9 by ZOleg

Quote:
2) HP-71B and Emu41 2.47 only work on normal speed, on high-speed Emu41 simply do not see any external device and HP-71B do not see Emu41 internal devices.
JFG stated to me that EMU42 2.47 will only function at 9600 baud (slow speed).
Quote:
3) HP-82161A and Emu41 2.47 do not work together at all, when i try read directory or file from tape, recorder rewinds the tape, then just nothing happens - on recorder Busy lamp is flashing and Emu41 does not respond to any command until pressed F12. (Emu41 works in slow mode as specified in manual)
I have been able to reproduce this problem as well with EMU41. JFG did state that the EMU41 2.47 support of the was experimental. However, from Nonpareil with the PIL-Box patch it works as expected. NEWM, READP, WRTP, and DIR all behaved as expected.
Quote:
1) When i copy my files from HP-71B to HDRIVE1 on ILPer 1.3.1 at the end of the process of copying a message on 71B - HPIL ERR:Frames Altered. If repeat copy same file 2-3 times, then everything goes well (without any error). I tried with high-speed and norlmal-speed - same result, i tried small and big files - same result, i tried basic and lex files - same result.
2) If i use ILPer as DISPLAY or PRINTER device - all is in most cases normal, but sometimes by transmission characters disappear or garbage is transferred.
I suspect a bug in ILPer. I have issue #2 as well (did not test #1). JFG said that it may be a timing issue with the 1A version of the 71B HP-IL module. I have 1A and PIL-Box 1.2 and also have the dropped data. However with test_hpil on OS/X simulating a 32 col video and printer I was able to print out long 71B programs without missing characters. I'll try to add mass storage to test_hpil today and test for you.

I speculate that most of your issues are with software and not the PIL-Box.

Quote:
I dont have Linux to try modified Nonpareil, may be someone will tell me how to compile Nonpareil in Windows?
That may be a bit tricky. There are 3 versions of Nonpareil with HP-IL support. The first dated 7/14/09 has working simulated HP-IL support in Nonpareil with PIL-Box support that did not work. I was able to build that version for Windows under Cygwin. I'll try again and document it this time. It is not ideal, but it worked.

The 2nd is the work that Khanh-Dang did to fix the PIL-Box support. That has not been released, however I can zip/tar it up for you if you want to give Cygwin/X a crack with it.

The 3rd is test_hpil (still part of Nonpareil, but to be standalone in the future). test_hpil is hardcoded with a printer and a video display. It was done at the last minute for HHC 2009. I should be able to add mass storage.

The 2nd/3rd may be problematic for Windows since the way Linux/UNIX access serial devices is different that Windows, however if Cygwin/X exposes that as Linux-ish, then it should work. I'll try to give it a shot this weekend. I have a new XP SP3 machine I can try on.

Bottom line, my PIL-Box experiences with Nonpareil/test_hpil have been stellar and without issue. I believe the PIL-Box to be feature complete, but think the Windows software may need a bit of help. BTW, source is included with ILPer, so you can fix yourself. :-)

                  
Re: HP-IL 2009
Message #12 Posted by Egan Ford on 10 Oct 2009, 2:36 p.m.,
in response to message #11 by Egan Ford

Quote:
I have 1A and PIL-Box 1.2 and also have the dropped data. However with test_hpil on OS/X simulating a 32 col video and printer I was able to print out long 71B programs without missing characters.
Hmmm... I have been trying to reproduce all my testing and document. I was able to do a long listing with my 71B last week before the conference, however I just tried again and I am getting the same dropped char result I got with ILPer. JFG is sending me PIL-Box 1.3 firmware for me to test with 1A on the 71B. Hopefully that will fix my problem. Still stumped however, it was working.
                        
Re: HP-IL 2009
Message #13 Posted by Egan Ford on 10 Oct 2009, 2:43 p.m.,
in response to message #12 by Egan Ford

Update. It's more stable at 9600. I am unsure where the problem is. Could be the PIL-Box 1.2 or test_hpil. I am not going to bother with a mass storage simulation test with test_hpil until the printing from the 71B is resolved.

I have been unable to produce any problems with a physical 41CX. It may be that the 41CX is too slow. I'll test with EMU41 on a PC as a 41CX running at full speed.

                              
Re: HP-IL 2009
Message #14 Posted by J-F Garnier on 11 Oct 2009, 3:36 a.m.,
in response to message #13 by Egan Ford

The timing problem Egan is mentionning is specific to the HP71B HPIL module version 1A. It will not happen with the HP41. Actually the timing difference that causes problem to the PILBox is due to the firmware of the embedded uC inside the HPIL module. I have no way to findout the firmware revision, but it seems it has changed at some point, more or less when the 1B revision was released.

I advise HP71's users to find a 1B module. Not only the PILBox will work better, but you will get rid of revision 1A bugs that can cause Memory Lost, see my web page.

J-F

Added note: this timing problem is solved, in principle, with PILBox firmware 1.3.

Edited: 11 Oct 2009, 3:47 a.m.

                                    
Re: HP-IL 2009
Message #15 Posted by ZOleg on 11 Oct 2009, 7:36 a.m.,
in response to message #14 by J-F Garnier

How to update PILBox firmware to 1.3 version?

                                          
Re: HP-IL 2009
Message #16 Posted by J-F Garnier on 11 Oct 2009, 11:28 a.m.,
in response to message #15 by ZOleg

You already have the latest firmware 1.3, Egan has not (not yet).

I can send replacement uC in case of firmware upgrade.

J-F

                                                
Re: HP-IL 2009
Message #17 Posted by ZOleg on 11 Oct 2009, 7:33 p.m.,
in response to message #16 by J-F Garnier

If my PILBox have 1.3 firmware and HP-71B have HP-IL module 1B version then the problem is something else. Perhaps ILPer does not work well in Windows 7 x64?

                        
Re: HP-IL 2009
Message #18 Posted by Egan Ford on 10 Oct 2009, 4:32 p.m.,
in response to message #12 by Egan Ford

Another update. I used EMU71 w/ ISA card for HP-IL, then I connected that to my PIL-Box 1.2 and tested with hpil_test and ILPer. No dropped packets and I was able to fill up hdrive1.dat.

So, I suspect that JFG is right, there is a problem with 1A and hopefully PIL-Box 1.3 will fix it.

                        
Re: HP-IL 2009
Message #19 Posted by ZOleg on 10 Oct 2009, 8:58 p.m.,
in response to message #12 by Egan Ford

HPIL in my 71b is 1B version:
PRINT VER$
HP71:2CCCC FTH41:1A EDT:A SURV:A JPC:F01 HPIL:1B MATH:1A

            
Re: HP-IL 2009
Message #20 Posted by Egan Ford on 10 Oct 2009, 2:04 p.m.,
in response to message #9 by ZOleg

Quote:
I dont have Linux to try modified Nonpareil, may be someone will tell me how to compile Nonpareil in Windows?
I forgot to add, but you can install Virtual Box (free) and then install Ubuntu 9.10 (also free) and test Nonpareil that way.
            
Re: HP-IL 2009
Message #21 Posted by Egan Ford on 11 Oct 2009, 10:43 a.m.,
in response to message #9 by ZOleg

Quote:
I dont have Linux to try modified Nonpareil, may be someone will tell me how to compile Nonpareil in Windows?
I got the patched Nonpareil to build in Windows, however you'll need Cygwin/X. It does work with the PIL-Box, however there are a few bugs that may make it unstable. I know how to get around one of them, but the other concerns me. For some reason ESC sequences are not making it to virtual or physical devices when testing 32 column video.

Until I (or Khanh-Dang) have time to fix it, I'd recommend avoiding it. But if you really want it let me know and I'll post it somewhere.

                  
Re: HP-IL 2009
Message #22 Posted by ZOleg on 11 Oct 2009, 7:43 p.m.,
in response to message #21 by Egan Ford

Yes, i want to try, and i have already installed Cygwin.
If possible, also publish instructions how to compile Nonpareil in Cygwin.

Edited: 11 Oct 2009, 7:55 p.m.

                        
Re: HP-IL 2009
Message #23 Posted by Egan Ford on 12 Oct 2009, 10:21 a.m.,
in response to message #22 by ZOleg

Here you go. A few limitations:

  1. If you see HP-IL traffic spewing on stdout nonstop, then press ON/ON. It's a bug only with Windows. The best way to avoid is to not use MEMLOST in your .nal file and then never power off the 41CX.

  2. test_hpil is not built. My early attempts failed. I did not spend a lot of time on it. I'd prefer to wait for Khang-Dang's latest code.

  3. For now it works much better in Linux and OS/X. If you really want test_hpil, better speed, and no problems, then I'd install Ubuntu 9.10 (avoid 9.04, there is an FTDI bug, or install 9.04 and then update the kernel yourself) in a virtual machine.
Build notes:
  1. Install Cygwin/X
    All Devel
    All X11
    Plus vim, atk-devel
    
  2. Launch an Xterm (Important!).

  3. Install scons
    cd
    wget http://prdownloads.sourceforge.net/scons/scons-1.2.0.tar.gz
    tar zxvf scons-1.2.0.tar.gz
    cd scons-1.2.0
    python setup.py install
    
  4. Build Nonpareil
    cd
    wget http://sense.net/~egan/nonpareil-0.79.cygwin_hack.tgz
    tar zxvf nonpareil-0.79.cygwin_hack.tgz
    cd nonpareil-0.79
    scons -c
    scons prefix=$HOME install
    
  5. Sample $HOME/.nonpareil/41CX.nal:
    #Don't use MEMLOST with Cygwin/PIL-Box hack.
    #MEMLOST 100
    
    #load code
    #BIN IO.BIN
    
    #load modules, HPIL first
    MOD hpil.mod
    HPIL hpil.conf
    
    #Printer
    #MOD 82143a.mod
    
    #Modules
    #MOD EXT-IO.MOD
    #MOD CCD-OSX.MOD
    
  6. Sample $HOME/.nonpareil/hpil.conf:
    #HP82182A
    #set printer_switch 1
    #printer mode=manual
    
    #HP82163
    #video 32 zoomx=2 zoomy=2
    
    #HP92198
    #video 80 zoomx=1 zoomy=1
    
    #HP9114B
    #disc file=/home/egan/.nonpareil/disc.lif
    
    #HP82161A
    #tape file=/home/egan/.nonpareil/tape.lif
    
    #New HP-IL devices
    #serial tty=/dev/ttyp0
    #tcp listen port=1111
    #tcp host=127.0.0.1 port=1111
    
    #PIL-Box
    pilbox tty=/dev/ttyS2 init=con speed=115200
    
    Speed can be 9600 or 115200 depending on how you jumpered your PIL-Box, tty=/dev/ttyS(COM port number - 1), e.g. COM1: = /dev/ttyS0, COM2: = /dev/ttyS1, COM3: = /dev/ttyS2, etc...
Good luck.
                              
Re: HP-IL 2009
Message #24 Posted by ZOleg on 12 Oct 2009, 9:20 p.m.,
in response to message #23 by Egan Ford

Thanks!


[ Return to Index | Top of Index ]

Go back to the main exhibit hall