HP IL over wifi ... (ILPer & go71b)



I am finishing to code HPIL emulation in go71b, but I have some problems to solve.

To be able to debug efficiently, I used ILPer 1.4x (HP-IL scope is a very nice feature) from JF Garnier & C. Giesselink.

I have 3 configurations to make some tests.

1) real HP71B (rom 1BBBB, HPIL 1A) + pil box (thanks again JF) + ILPer on the same PC (localhost)

2) emu71 (rom 2CDCC, HPIL 1B) + ILPer on the same PC (localhost)

3) go71B (rom 2CDCC, HPIL 1B) on android tablet + ILPer on the PC (192.168....) so it use the wifi stack of both tablet and Pc

To sum up :

1) & 2) are fast and nice to use (network round trip on 'localhost' is 1 ms or so).

3) works at 5 characters per second !!! (wifi round trip is 200 ms) So it can't be faster :(

Did someone know if the asynchronous mode of HPIL is possible on 71B ?

Did ILPer & all support asynchronous mode too ? (I am not sure about this one when looking to the sources)

I can't really make tests with the pilbox connected to the android tablet, I don't have any HPIL device. I could use 2 pilboxes to connect back to ILPer, but I have only one :)
I will try with the 71B in device mode but it is somewhat limited

Did someone have any idea ?

Thanks in advance,


Edited: 18 Aug 2013, 12:14 p.m.


Hi Olivier,

The HP-IL protocol IS synchronous, that is only one frame travels on the loop at a time (except for a few special cases like loop initialization or reset), next frame is sent only when the previous one returns to the sender.

This was already a limitation of the PIL-Box on the USB: the speed depends on the latency timer of the USB driver that must be set to a minimum (usually 1ms) to get good performance.

If Wifi can't be faster that 200ms, this means Wifi is not a good choice to transport the HP-IL protocol.

There is a so-call 'asynchronous mode' in the HP-IL protocol, but it will not help. The 'asynchronous mode' (when enabled with the HP-IL EAR command - Enable Asynchronous Request) can be used by a device to request service when the loop is idle by sending a frame to the system controller (this avoids the controller to continuously poll a device), then the loop resumes in synchronous mode. There is nothing more than that (BTW the HP-71B supports this asynchronous mode, the PIL-Box should support it as well but I didn't check).



3) works at 5 characters per second !!! (wifi round trip is 200 ms) So it can't be faster :(

That seams very slow. I am getting sub 2 ms round trip from WiFi to base-station to switch to router and back. 64 byte payload. Note, not TCP. So, I do not think it is a limitation of WiFi. Dunno about the Android aspect of it.

I can't really make tests with the pilbox connected to the android tablet,

We need a PILBox that connects to the headphone jack. I've been able to get up to 9600 BPS out of my iPhone headphone jack to my Apple II. 8000 BPS is more stable. That just using zero crossings. A "fancy" decoder in the PILBox could do so much more.


The problem is that I do not have any HPIL device to make tests.

About Wifi latency, it is due to android (NEXUS 7) with 100 ms latency, (from PC to a MAC on the same wifi network I get 10 ms latency)

Anyway I will look at making some short circuits on hpil on tcpip, to allow at least 'dumb' device (only listener) to be fast.

I will look at adding a second hpil loop with the pilbox (a 71B can address more than one loop see hp82402a ) for 'talker/listener' intelligent devices (MASSMEM)

Talking to pilbox from android is not difficult. FTDI released a complete library to deal with
their devices on android.

And perhaps a third loop with local (android) devices ...

Edited: 18 Aug 2013, 4:56 p.m.


Another option would be a BT PILBox. The latencies for newer low power BT is around 3ms.


No IL device for tests? If you got a second HP71B you may use ist as a device, just make it _not_ acting as a controller (a feature I hardly miss on the HP41, even the Devil ROM makes it only an HPIL monitor).

No spare 71B? Then you may use the simulated IL devices. INHO, for testing traffic they are close enough to real devices.



I will use my only 71B in device mode with a pilbox connected to my nexus7 tablet (go71b)

I can not use simulated IL devices in this way ... they are used on the USB side of the pilbox and here as I connect the pilbox on the USB side on the tablet, I need the devices on the real IL connectors side ... so on this side you need REAL IL devices ;)



A second PIL Box will do...


I know, see first message, but actually I have to test with what I have on my desk :)


Ah... do you want to thest the PILbox or your go71b? ;)

Maybe I do not see your problem yet, but go71b is a simulation (or emulator), it connects via virtual IL to a PC running ILPer and some IL-sniffer I suppose. So everything is virtual and works, what do you like to test with real devices? If go71b gets connection to ILPer it probably will do so too with real devices via PILbox, I assume.


Well, maybe I am too strong on this "virtual _is_ real" thing.


All is explained in the first mail.

If I choose the virtual way (go71b connected to a pc running ILPer & all with wifi), all I have is a speed of 5 characters/second ... instead of around 2000 or more on a real HPIL loop

By connecting directly on PilBox I hope to have a better speed :)

Edited: 20 Aug 2013, 3:00 a.m.


Ok, I found some ideas.

Now the pilbox is working connected to the android tablet and controling the 71B in device mode with REMOTE and OUTPUT.

I found a nice usb to usb bridged cable based on FTDI chip (see LINK ). With this one I could certainly connect to ILPer & all on the PC.

Some informations for interested people:

- all serial emulation based on FTDI chips need at least android 3.2 so a new version of each goXX app should be needed ... (actually I try to stay with android 2.2 at least)

- I will certainly add serial emulation in go48gx (and perhaps in go49g ...) but same apply, android 3.2, new goXX app and YOU will need a USB to RS232 cable based on FTDI chip (same site as previous) ...

More infos when I get the cables


Edited: 20 Aug 2013, 7:05 a.m.

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to move lexfiles from PC to 71 w/o HP-IL? Joe Horn 9 3,259 10-18-2013, 03:50 PM
Last Post: Christoph Giesselink
  Hand Held Products RS232 to HP-IL aj04062 11 3,457 08-31-2013, 07:12 PM
Last Post: Paul Berger (Canada)
  go71b 'lexs' or 'raws' file format? Christoph Giesselink 2 1,395 08-21-2013, 02:53 AM
Last Post: Christoph Giesselink
  ILPer with "auto-extended addressing" Christoph Giesselink 0 978 07-23-2013, 03:28 PM
Last Post: Christoph Giesselink
  EMU71 to go71b--is there a way? Les Wright 12 3,691 06-25-2013, 07:08 AM
Last Post: Mike (Stgt)
  Make PIL-Box ILPer program run on OS X Juergen Keller 6 2,199 09-07-2012, 04:38 PM
Last Post: Hans Holzach
  New HP71B emulation (go71b) Olivier De Smet 9 3,412 06-26-2012, 10:25 AM
Last Post: Jerry Raia
  Using PIL-BOX & ILPer to Transfer Programmes from PC to HP41CX? Michael Lopez 5 2,259 06-25-2012, 09:31 AM
Last Post: Michael Lopez
  HP-IL beginners question John Abbott (S. Africa) 4 1,782 05-28-2012, 05:45 PM
Last Post: Geoff Quickfall
  HP-IL SCSI Interface Richard Wagoner 15 4,301 02-19-2012, 07:39 PM
Last Post: Richard Wagoner

Forum Jump: