Post Reply 
pyILPER 1.8.0 final release
02-14-2019, 07:48 PM (This post was last modified: 02-14-2019 09:30 PM by jsi.)
Post: #1
pyILPER 1.8.0 final release
I published the final version of pyILPER 1.8.0 on GitHub.

The most important new features are:
  • ThinkJet HP2225B virtual printer with high quality PDF output
  • Full terminal support (keyboard and display) for the HP75. If you do not have such a device, you can easily connect J-F. Garniers HP-75 emulator to pyILPER.

See the release announcement of pyILPER 1.8.0 on GitHub for further details.

pyILPER 1.8.0 is available on the ANACONDA channel by now. A
Code:

conda update --all
should update pyILPER to the latest version. See the installation instructions for further details.

Please mind that pyILPER now requires Python 3.7 on the Anaconda platform. Check the Python version of your installation with:
Code:

 conda list

You can upgrade the Python version to 3.7 with:
Code:

conda install python=3.7

Many thanks to Dave and Bob for supporting the beta tests.

Regards
Joachim
Find all posts by this user
Quote this message in a reply
02-15-2019, 01:30 AM
Post: #2
RE: pyILPER 1.8.0 final release
(02-14-2019 07:48 PM)jsi Wrote:  I published the final version of pyILPER 1.8.0 on GitHub.

The most important new features are:
  • ThinkJet HP2225B virtual printer with high quality PDF output
  • Full terminal support (keyboard and display) for the HP75. If you do not have such a device, you can easily connect J-F. Garniers HP-75 emulator to pyILPER.

See the release announcement of pyILPER 1.8.0 on GitHub for further details.

pyILPER 1.8.0 is available on the ANACONDA channel by now. A
Code:

conda update --all
should update pyILPER to the latest version. See the installation instructions for further details.

Please mind that pyILPER now requires Python 3.7 on the Anaconda platform. Check the Python version of your installation with:
Code:

 conda list

You can upgrade the Python version to 3.7 with:
Code:

conda install python=3.7

Many thanks to Dave and Bob for supporting the beta tests.

Regards
Joachim

Thanks for a great release Joachim, adding HP-75 support in the terminal is awesome.

I had to upgrade Python from 3.6.x to 3.7; it went smoothly following your instructions, but something in the environment has changed. For 1.7.2, I could launch pyILPer from a Windows cmd file, but this doesn't work with the new version. After some digging around, I found a way to do this, though I can't claim to understand all the subtleties of Ana/Minconda environments.

I have a shortcut on my desktop that points to a cmd file located in my pyILPer home folder. That script contains:

Code:
:: Startup script to launch pyILPer
:: Located in pyILPer's "home" folder
::
:: This line activates the miniconda environment, including adding python to the Windows path
:: In my case, I installed miniconda into C:\Miniconda3

call "C:\Miniconda3\Scripts\activate.bat"

pyilper.exe

Very cool, thanks very much once again!

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
02-15-2019, 05:33 AM
Post: #3
RE: pyILPER 1.8.0 final release
Quote:I published the final version of pyILPER 1.8.0 on GitHub.

The most important new features are:
  • ThinkJet HP2225B virtual printer with high quality PDF output
  • Full terminal support (keyboard and display) for the HP75. If you do not have such a device, you can easily connect J-F. Garniers HP-75 emulator to pyILPER.

See the release announcement of pyILPER 1.8.0 on GitHub for further details.
[...]
Many thanks to Dave and Bob for supporting the beta tests.

Regards
Joachim

Great Job !!! Thank you very much. Without pyILPer an PIL-Box I wouldn't use my HP71 so often for programming.
Can anybody help me with starting pyILPer from a MAC Desktop?

best regards from Austria
Erwin
Find all posts by this user
Quote this message in a reply
02-15-2019, 11:09 AM
Post: #4
RE: pyILPER 1.8.0 final release
(02-15-2019 05:33 AM)Erwin Wrote:  ...
Can anybody help me with starting pyILPer from a MAC Desktop?

...

I did it with a one line Apple Script app:
Code:

do shell script "Path to the pyilper program"
Unfortunately I did not succeed to create a macOS compatible icon of the HP-IL logo for that app
Find all posts by this user
Quote this message in a reply
02-16-2019, 07:02 AM (This post was last modified: 02-16-2019 07:17 AM by Erwin.)
Post: #5
RE: pyILPER 1.8.0 final release
(02-15-2019 11:09 AM)jsi Wrote:  
(02-15-2019 05:33 AM)Erwin Wrote:  ...
Can anybody help me with starting pyILPer from a MAC Desktop?

...

I did it with a one line Apple Script app:
Code:

do shell script "Path to the pyilper program"
Unfortunately I did not succeed to create a macOS compatible icon of the HP-IL logo for that app

Hi,

yes that's a fine solution. Only one problem besides an icon (can't find a pyILPer icon) is that after double clicking it opens the window and then I have to start the script.

Code:
tell application "Terminal"
    do script "pyILper"
end tell

but it runs :-)

EDIT: find the solution: save the applescript as application - then it runs imediatly

regards
Find all posts by this user
Quote this message in a reply
02-20-2019, 12:43 AM (This post was last modified: 02-20-2019 02:18 PM by Sylvain Cote.)
Post: #6
RE: pyILPER 1.8.0 final release
Hello Joachim,

Great version! Just updated everything on my side. Smile

The first thing I did was to test the HP-75 Terminal.
It is working, but the terminal polling by the HP-75 make this so inefficient, it's scary.

Thank you very much!

Sylvain

HP-75 / pyILPer Terminal / HP-IL trace with comments

HP-75 polling loop - no key pressed scenario (this set of messages is repeated over and over)
Code:
HP75      Terminal  Comment
--------  --------  ------------------------------------------
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response
Code:
TAD 02    tad 02    Set Terminal as talker : request/response
RFC       rfc       Ready for command : request/response
SDA       eto       Send Data / End of Transmission OK - no data
UNT       unt       Disable talker : request/response
RFC       rfc       Ready for command : request/response
Code:
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response

HP-75 polling loop - key pressed scenario (detect 'A' key has been pressed in the pyILPer terminal)
Code:
HP75      Terminal  Comment
--------  --------  ------------------------------------------
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response
Code:
TAD 02    tad 02    Set Terminal as talker : request/response
RFC       rfc       Ready for command : request/response
SDA       dab 41    Send Data / Data Byte [0x41:65:A] (key pressed)
NRD       nrd       Not Ready for Data : request/response
DAB 41    eto       Data Byte [0x41:65:A] sent back / End of Transmission OK - no more data
UNT       unt       Disable talker : request/response
RFC       rfc       Ready for command : request/response
Code:
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response

HP-75 display update - HP-75 update pyILPer terminal screen to reflect key pressed and check if another key has been pressed (in this case, no key has been pressed)
Code:
HP75      Terminal  Comment
--------  --------  ------------------------------------------
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response
Code:
LAD 02    lad 02    Set Terminal as listener : request/response
RFC       rfc       Ready for command : request/response
DAB 1B    dab 1b    Escape : request/response
DAB 3C    dab 3c    '<' : request/response (string "ESC<" translate into CURSOR OFF on the terminal)
DAB 41    dab 41    Data Byte [0x41:65:A] : request/response (letter 'A' is displayed on the terminal)
DAB 1B    dab 1b    Escape : request/response
DAB 3E    dab 3e    '>' : request/response (string "ESC>" translate into CURSOR ON on the terminal)
Code:
TAD 02    tad 02    Set Terminal as talker : request/response
RFC       rfc       Ready for command : request/response
SDA       eto       Send Data / End of Transmission OK - no data
UNT       unt       Disable talker : request/response
RFC       rfc       Ready for command : request/response
Code:
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response

edit: typo + formatting
Find all posts by this user
Quote this message in a reply
02-20-2019, 06:56 AM (This post was last modified: 02-20-2019 06:59 AM by jsi.)
Post: #7
RE: pyILPER 1.8.0 final release
Hello Sylvain,

(02-20-2019 12:43 AM)Sylvain Cote Wrote:  It is working, but the terminal polling by the HP-75 make this so inefficient, it's scary.

The KEYBOARD IS implementation of the HP-71 is obviously much more efficient than the HP-75 version. I don't own such a device and had no "user experience" so far with a HP-75 and the terminal emulation.

But iit is fun if you use pyILPER with the EMU75 emulator of J-F Garnier which can run at much higher speed than the original device. This works, because the HP-75 KEYBOARD is implementation does not use service requests.

Regards
Joachim
Find all posts by this user
Quote this message in a reply
02-21-2019, 03:58 AM (This post was last modified: 02-21-2019 03:59 AM by Sylvain Cote.)
Post: #8
RE: pyILPER 1.8.0 final release
I was curious to see the HP-71 controller implementation of the terminal mode, so I did the same investigation on the HP-71 that I previously did on the HP-75.
Again, the way the HP-IL system implements the HP-IB hardware control lines makes it extremely chatty on the wire.

HP-71 / pyILPer Terminal / HP-IL trace with comments

HP-71 polling loop - no key pressed scenario (this set of messages is repeated over and over)
Code:
HP71      Terminal  Comment
--------  --------  ------------------------------------------
...
IDY 00    idy 00    Parallel/Serial Polling : request/response
IDY 00    idy 00    Parallel/Serial Polling : request/response
IDY 00    idy 00    Parallel/Serial Polling : request/response
...

HP-71 polling loop - key pressed scenario (detect 'A' key has been pressed in the pyILPer terminal)
Code:
HP71      Terminal  Comment
--------  --------  ------------------------------------------
...
IDY 00    idy 00    Parallel/Serial Polling : request/response
Code:
IDY 00    isr 00    Parallel/Serial Polling / Interrupt Service Request (called SRQ or Service Request in the HP-IL spec.)
SDA       dab 41    Send Data / Data Byte [0x41:65:A] (key pressed)
NRD       nrd       Not Ready for Data : request/response
DAB 41    eto       Data Byte [0x41:65:A] sent back / End of Transmission OK - no more data
Code:
IDY 00    idy 00    Parallel/Serial Polling : request/response
...

HP-71 display update - HP-71 update pyILPer terminal screen to reflect key pressed and check if another key has been pressed (in this case, no key has been pressed)
Code:
HP71      Terminal  Comment
--------  --------  ------------------------------------------
...
IDY 00    idy 00    Parallel/Serial Polling : request/response
Code:
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response
LAD 02    lad 02    Set Terminal as listener : request/response
RFC       rfc       Ready for command : request/response
UNT       unt       Disable talker : request/response
RFC       rfc       Ready for command : request/response
DAB 41    dab 41    Data Byte [0x41:65:A] : request/response (letter 'A' is displayed on the terminal, no cursor handling is done by the HP-71)
Code:
IDY 00    idy 00    Parallel/Serial polling : request/response
...
IDY 00    idy 00    Parallel/Serial polling : request/response
Code:
UNL       unl       Disable listeners : request/response
RFC       rfc       Ready for command : request/response
TAD 02    tad 02    Set Terminal as talker : request/response
RFC       rfc       Ready for command : request/response
IDY 00    idy 00    Parallel/Serial Polling : request/response
SDA       eto       Send Data / End of Transmission OK - no data
Code:
IDY 00    idy 00    Parallel/Serial Polling : request/response
...
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)