In October last year Sylvain reported a bug formatting a virtual disc with a real HP-71B rev. 1BBBB, HP-82401A rev. 1A (HP-IL module), PIL-Box v1.5 and ILPer v1.45. With the created disc image it was not possible to copy any data into it. When the disc image was created with a HP-75C, everything was ok, copying data with the 71B worked as usual. The first suspicion was a (hardware) compatibiliy problem between the HP-82401A rev. 1A module and the PIL-Box. Indeed, using a HP-82401A rev. 1B module instead of the rev. 1A solved the problem.

In early December Jean-Francois gave me a report (documented IL command protocol) about the communication between a HP-71B rev. 1BBBB, HP-82401A rev. 1A and a real HP-9114B disc drive. This command protocol showed a bug in the software communication between the HP-82401A rev. 1A and the HP-9114B disc drive. I was able to reproduce the problem with Emu71/Win using the HP-82401A rev. 1A firmware image. So we were sure, that this is a software and no hardware problem. The interesting thing of Jean-Francois report was, that the HP-9114B disc drive showed no problems in connection HP-82401A rev. 1A module, the data on the created discs have been ok. So we have still the suspicion, that the developers of the HP-9114 drive know about the 1A software bug and added a workaround into the 9114 firmware.

After several attempts, I created a workaround for ILPer v1.5 that detects the HP-82401A rev. 1A module on it's behavior and fix the problem during the INITIALIZE process. So ILPer v1.5 can now be used in connection with a 1A module. But it's still recommended to use only HP-82401A rev. 1B modules or rev. 1B images in the emulator for a proper communication.

Parallel to this bug report, Jean-Francois worked on large volume support up to 16MB for the virtual disc drive. He published a new version of Emu71/DOS with large volume support in December last year. So his changes went also into this new version of ILPer, in practise this mean that we the possibility of reading and creating such large volume discs also now.

Another big thank to Sylvain for his large test reports and comparisions how ILPer work together with a HP-41 with HP-82160A and EXT-IL module, a HP-71B with HP-82401A rev. 1A and rev. 1B, HP-75C and a HP-75D. And this of course also in connection with 640KB and 16MB images and also with different directory sizes. I can imagine that Sylvain sometimes thoughts: "Oh no, not another time repeating the same tests over and over!" after I introduced a new bug, or my bug fix had side effects I wasn't aware of it. Also a big thank to Jean-Francois, he made the Portable Plus tests over and over.

I personally learned a lot from my mistakes and so about the inner working of the disk initializing process at the different calculator models.

Another change affecting ILPer, ILPilbox, ILScope and ILCtrl is introducing the RFC frame on the virtual HP-IL side. The RFC frame is an essential for the communication with real devices and has also an influence on the timing of CMD frames. For some (timing) reasons the RFC frame is completely handled inside the PIL-Box and so not part of the communication on the Virtual HP-IL side. All current Virtual HP-IL device implementations don't need the RFC frame so far, they execute an IL command directly at occurrence.

At my work on the HP-IL simulation inside Emu71/Win v1.07 (not available so far) I added the RFC frames after every CMD frame, and so they are now present inside the Scope windows of ILPer and ILScope. To be consistent with the new Emu71/Win version, ILPer and ILPilbox restore the RFC frame on the Virtual HP-IL side. This works quite well, only on some conditions, a single RFC frame without a heading CMD frame, I'm not able to restore the RFC frame on the virtual side. On one side RFC frames are belong to the HP-IL protocol, but on the other side they made it more difficult to read and understand the communication. So now you have the new possibilty of filtering the RFC frames in the Scope windows. To make it clear, the RFC switch don't remove the frame from the loop, it only suppress the viewing of the RFC frame in the Scope window.

The ILScope main window got a new design, the window parts used by the TCP/IP configuration are now used to show more Scope rows. The TCP/IP configuration has now moved to a separate dialog like used in ILper, ILVideo, ...

Finally I added the separate archive ILProgsIPv6 containing all exe-files of this page in an IPv4/IPv6 dual stack version. The dual stack versions have advantages in connection speed on modern computers, especially in combination with Emu71/Win as controller.

I have downloaded all the programs and they are working fine, the RFC is a nice 'surprise' addition.
Thank you and thank Jean-François for your generous support and for the frequent updates of your respective virtualization softwares.

(02-05-2015 07:30 AM)Ángel Martin Wrote: Could you have a look at my old request to have the IL-Per window resizable?

1 +

And while noting requests, here is a minor one for the future (far away, 1.5 should be interesting for some time as-is):

Please have ILPer display only the name of the currently open LIF File. It currently displays the full path and filename, and of course the path is so long, the actual filename is not visible in that file window without clicking the "..." button to launch the File Open dialog.

When having multiple ILPer instances running simultaneously (bridged by ILPilbox) it's impossible to tell which instance has which file open by simply looking at the Mass Storage LIF FILE window.

(02-05-2015 02:58 PM)charger73 Wrote: How does the IL software detect an HP-82401A rev. 1A module? Do you have more technical info?

Hi Tobie,

for getting the 12 byte media physical attributes from the drive you have send a DDT 7 to the disc drive before fetching the data with SDA. In the 1A module firmware sending the DDT 7 frame is missing and so the drive answer on the SDA request with the SDA answer of the last DDT setting. The last DDT setting was DDT 6 for getting the 2 byte last sector number. So instead of getting the 12 byte media physical attributes I get 6 times the 2 byte last sector number which I already know. On this wrong answer (the missing DDT 7 frame is unique) I detecting the HP-82401A rev. 1A module.

Detecting this behavior of the 1A module was the work of Jean-Francios. My job was fixing a bug in ILPer 1.45 and earlier, so that ILPer behave in the same way like the real 9114 drive on the buggy initialization sequence.

(02-05-2015 07:13 PM)Christoph Giesselink Wrote: for getting the 12 byte media physical attributes from the drive you have send a DDT 7 to the disc drive before fetching the data with SDA. ... The last DDT setting was DDT 6 for getting the 2 byte last sector number.

Christoph mixed the DDT 6 and 7 numbers but the principle is there.

There is also a second bug in the INITIALIZE function of HP-IL module 1A: the directory size is incorrect. The detection method of Christoph covers both bugs, and fixes them of course.

Quote:Detecting this behavior of the 1A module was the work of Jean-Francios. My job was fixing a bug in ILPer 1.45 and earlier, so that ILPer behave in the same way like the real 9114 drive on the buggy initialization sequence.

This was really a team work: Sylvain reported the bug and provided HP-IL traces, I investivated the source cause, and Christoph devised the right fix (which was not obvious to cover all the use cases on the HP-41C, HP-71B, HP-75C/D and the Portable Plus!).

What was really surprising was to observe that the HP-71B with HP-IL 1A was writing incorrect disc parameters on disc sector 0 during INITIALIZE on the HP9114, then a read was showing that all information was correct!
The only possible explanation was that the HP9114 was correcting the disc parameters, so we just had to do the same in ILPer!

This is a very particular example of a major bug on one machine that has been fixed by a workaround on an other one. I don't know any other example in the field of HP calculators and computers.

This is also the reason why this bug was not known by the HP-71B user community (at least by me!), since it is completely hidden by the HP9114 firmware.

Image files of MS-DOS formatted discs, for use with the HP Portable Plus, are now available on my site, from 1MB to 16MB. I recommend the 4MB image file which is a good trade-off between access time and capacity. The access time is slower with the 16MB disc image due to the large FAT area (and the modest 1KB/s transfer speed with the PIL-Box).

Remember that the HDID$ parameter must be set to “HDID$=HDRIVE1” instead of “HDID$=HP9114B” for ILPer to work correctly with the Portable Plus.