HP Forums

Full Version: Update of Emu71 to v1.07
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Emu71 v1.07 is available at http://hp.giesselink.com.

Emu71 v1.07 integrate the same new graphical feature like in Emu28, Emu42 and Emu48, disabling the title and menu bar over the settings dialog. With disabled title and menu bar and a modified KML script defining one color as transparency color for the background bitmap (the GIF89a image decoder also supports the transparency color now) you also have the possibility to get a borderless shape of the calculator body now.

I don't provide any KML scripts with the transparent feature because my current designs use a rectangle as borger shape.

Improvement of the HP-IL Mailbox Messages:
  • RFC behind a CMD frame
  • fixed an endless loop in the "auto extended addressing"
  • enter feature "is termed infinity" in listener
  • many bugfixes in the mailbox interface (now behave closer to the original HP-IL module)
  • ...

To do this I wrote a LEX file to communicate over the Mailbox API with the IO-Processor of the HP-IL module and compared the results of a real HP-IL module with the simulated one. I made many but only small changes so far, so it's still the uncomplete simuation as it was. Big improvements like send/receive buffer support in the IO-processor or working as listener (CONTROL OFF) are still missing.

For a detailed list of the HP-IL changes (mainly in file HPILCMD.C) you may have a look here.

Restoring the HP-IL loop:

One of the worst things was restoring the HP-IL after starting Emu71/Win to continue a session. Even if you startet the HP-IL peripheral first, you had to type in a manual "RESTORE IO" to reestablish the connecion in many cases. Further, always sending the "AAU AAD 01" sequence at program start to address the loop was a crap in more then one reason. Also DISPLAY IS DISPLAY defined devices hasn't set as listener automatically.

A new HP-IL setup sends the device addressing sequence (now depended on the flag -22 setting) at the time of first IL usage after Emu71/Win startup. Further it try to restore the DISPLAY IS DISPLAY setting by setting the display device into listener mode.

Especially restoring the DISPLAY IS DISPLAY setting will make trouble in connection with an installation of the regular Virtual-HPIL device packages like ILPer. On modern PC's normally the IPv6 protocol is installed. This is the default IP protocol of Emu71/Win. When now Emu71/Win tries to connect the first virtual device in the loop, the DNS server translates the "localhost" into the IPv6 address "::1". But the regular Virtual-HPIL device packages contain only MFC42 compatible binaries which only support the IPv4 protocol. After a small timeout, Emu71/Win recognized that the connection to the first virtual device failed, Emu71 fall back to the IPv4 protocol translating "localhost" into the IPv4 address "127.0.0.1". When you do a manual "RESTORE IO" you don't recognize the small timeout. But in the case of typing a key (which character should be displayed immedialely on the DISPLAY IS DISPLAY device) the internal process of the HP-IL addressing and setting the display into listerner mode at first time after the Emu71 start should be done between this and the next keystroke from the user. In the case of IPv4 only device simulations the timeout trying to connect over IPv6 will cause loosing two or more keystrokes.

Solutions:
  • disable the IPv6 protocol in your OS (not preferred)
  • using "127.0.0.1" as destination address instead of "localhost" to force using the IPv4 protocol (not preferred)
  • use a IPv4/IPv6 dual stack compatible binary of your virtual devices (some are available here)

A complete list of bugfixes and changes is available here.

Christoph
Reference URL's