pyILPER

Change Log

pyILPER 1.2.2

First public release.

pyILPER 1.2.3

Enabled for Python 3.5.

pyILPER 1.3.0

  • IDY frame processing for terminal emulator to make keyboard operation more reliable.
  • Show IDY frames option added to the scope tab.
  • Less strict LIF media header checking when mounting image files.

pyILPER 1.3.1

Introduced IDY frame configuration option.

pyILPER 1.3.2

  • Added LIF image file management functions (export, import, rename, purge, pack, view, label) to the drive tab.
  • Added utility functions to initialize LIF image files and to fix invalid header information.
  • Added navigation controls to the help window. Make the help window resizeable
  • Renamed and added file types for the drive tab directory. All file types of the Online LIF Disk Project should be considered now.
  • The PILTERM basic program requires Rev C of the KEYBOARD lex file.
  • HDRIVE1 drive type now accepts arbitrary medium layouts.
  • pyILPER reinstates the previous display position at launch.

pyILPER 1.3.3

  • Added configurable charset for the text file viewer.
  • The virtual keyboard is stable now.
  • The PILTERM basic program does not require a certain revision of the KEYBOARD lex file anymore.
  • The PILTERM basic program now sets the delay for fast scrolling.
  • The virtual HP-IL device status was moved to the utilities menu.
  • Scrolling left and right now works for wrapped lines in the terminal.
  • Terminal now supports switching between insert and replace cursor. The indicator was removed.
  • Terminal size, terminal font size, and terminal color scheme can now be configured via the pyILPER configuration menu. These settings now also affect the printer and the scope.
  • Improved virtual device status window: shows internal HP-IL state as text.

pyILPER 1.3.4

  • Support for 230400 baud. Requires at least PIL-Box firmware version 2.0.
  • Changed the configuration file format from binary to JSON. It is not compatible with the previous format. Please configure pyILPER again.
  • The device configuration dialog now detects the available COM ports on Windows (contributed by Christoph Giesselink). The device detection on macOS X was improved.
  • Device clear now resets the printer display.
  • The open file dialog now lists files without extension (bugfix) and remembers the last directory.
  • On Windows the %APPDATA% path is used to store the pyILPER configuration.
  • The baud rate of the PIL-Box device can now be auto-detected (contributed by Christoph Giesselink).
  • The IDY frame processing option is now enabled by default.
  • The scope can now be configured to show inbound, outbound, or inbound/outbound traffic.
  • The scope log file is now written without buffering. This slows down file output, but you can now watch the file output with external commands.
  • The terminal, printer, and scope windows are now scrollable. The scroll buffer size is configurable.

pyILPER 1.4.0

  • The script startup.py now accepts a parameter -instance INSTANCE-NAME to start multiple independent instances of pyILPER. Each instance has its own configuration file. Only letters or digits are allowed in an INSTANCE-NAME.
  • New device configuration facility to add or remove virtual HP-IL devices or to change their tab position. If a new device is added, you must give it a unique name. Since the configuration file format was changed in this case, you have to re-establish a previous custom configuration.
  • In the initial configuration of pyILPER, the printer is the first virtual device now (as in the original ILPer) to avoid MANIO issues with the HP-41C.
  • New virtual HP-IL device: the HP7470A plotter! Note: at least version 1.7.6 of the LIFUTILS must be installed to make use of the plotter.
  • Configuration dialog for the plotter pens added.
  • Redraw the screen when the application window was resized (bug fix).
  • Use wcat41 instead of wall to display wall files (bug fix).
  • Allow mounting LIF image files with directories not starting at record 2.
  • An experimental new version of the PILTERM utility (PILPERM2) to set up the printer, the display, and the keyboard of the HP-71B.
  • New release notes and getting started documents.

pyILPER 1.5.0

  • Improved stability for virtual HP-IL over TCP/IP.
  • New PILTERM version 2 is default now. You find the old version as PILTERM1 on the PILIMAGE.DAT image.
  • Transition to Qt5.
  • The font size of the drive directory listing can now be configured. The row height of the directory entries is now properly adjusted to the font size.
  • Improved online manual. The position and size of the manual browser is recorded in the program configuration file.

pyILPER 1.6.0

  • The number of lines of the printer, scope, and drive directory output is adjusted to the size of the main window automatically.
  • The output window of the plotter is adjusted to the size of the main window, maintaining the aspect ratio of the paper size setting (see below).
  • The terminal, printer, and scope now support copying selected text to the system clipboard. The terminal supports pasting text from the system clipboard.
  • Most pyILPER configuration parameters that control the GUI layout now take effect at runtime. Only the scroll-up buffer size and the paper size require a restart of the application.
  • The pyILPER configuration dialog now informs if configuration changes issue a reset of the communication or require a restart of the application.
  • The previous size of the pyILPER main window is restored on the start of the program.
  • The HP82162A printer is now included as a virtual HP-IL device.
  • Barcodes can be created from the context menu in the drive tab for HP-41 program and SDATA files.
  • Directory listings can be created from the tool menu in the drive tab.
  • The paper size option was moved from the plotter configuration to the pyILPER configuration in the file menu. It controls the paper size of PDF output, the plotter paper size switch, and the aspect ratio of the plotter output window. A reconfiguration is required if the letter format is used.
  • The terminal size configuration parameter was replaced by the parameter terminal width. A reconfiguration is required.
  • The scope got an option to display the frames as hex codes.
  • Added mouse screen scrolling support for terminal, scope, and printer output window.
  • Various bug fixes of the terminal.
  • The ROMAN8 character set now includes control pictures for most of the C0 control codes (codes 0-31).
  • Improved diagnostics if the configuration file is corrupt.
  • The address of a reenabled virtual device is reset to zero if an HP-IL device addressing operation took place while the device was not enabled.
  • Version 1.7.7 of the LIFUTILS is needed.
  • The detection of LIFUTILS installations was improved. A path can be configured to use LIFUTILS, which were installed at non-standard locations.
  • The PILTERM utility was updated to version 2.1. This version deassigns any DISPLAY IS, PRINTER IS and KEYBOARD IS assignments before issuing a RESTORE IO to avoid possible data corruptions.
  • The default pyILPER configuration now puts the virtual drive tabs at the end of the tab menu and therefore at the end of the virtual device chain.
  • Added a PIL-Box emulation by means of a TCP/IP socket server.

pyILPER 1.7.0

  • Virtual device widgets can now be undocked from the tab into floating windows.
  • The configuration of a device tab/window is now implemented as cascading menus.
  • Pixel size of HP82162A display is now configurable.
  • Log buffering can now be configured individually for all virtual tabs/windows that support logging.
  • The number of terminal columns, the color scheme, and the number of lines in the display scroll buffer are now configured individually in the configuration menu of the device tab/window.
  • Terminal, printer, scope, and HP82162A now keep their scroll position on resize.
  • File management functions of the drive tab/window are now accessible by push buttons.
  • Display size indicator for terminal, printer, and scope tab.
  • A device as active talker now checks if the incoming data frame is equal to the last send data frame. Sends ETE if not. Fix a bug in handling the SRQ bit in DOE frames (Both changes are courtesy of Christoph Gießelink).
  • The selection feature of the terminal, printer, and scope now supports autoscrolling.
  • Removed the external plot view window.
  • All font size parameters can be configured either at the application or the tab/window level.
  • Fixed crash if the selection area exceeds the display buffer (Scope/Printer/Terminal).
  • An "IN" command now terminates digitizing mode (Plotter).
  • Writing a byte order mark (BOM) at the beginning of UTF-8 files was removed on Linux and macOS. It can be enabled on Windows to avoid problems with Windows programs that do not recognize the UTF-8 encoding correctly.
  • Allow smaller font sizes for the directory listing and the terminal widget.
  • Added the --clean startup option to clear an existing config file.
  • Added the "paper" colorscheme
  • Various other bug fixes; see the internal changelogs. This change makes the log files compatible with other programs like the LIFUTILS

pyILPER 1.7.1

  • Disabled the automatic shrinking of parent widgets. It caused unpredictable results on virtual device reconfiguration.

pyILPER 1.7.2

  • Extend the ASCII file import of the virtual drive. Distinguish between an import for the HP-71 and the import for the HP-41 wich needs special handling.
  • Check the minimum required Python version at the start of the application.
  • Force to use a monospaced font for PDF listings because system defaults are not reliable on certain platforms.
  • Added custom keyboard shortcuts for the terminal.
  • Added scope log tagging.

pyILPER 1.8.0

  • Added the HP-2225B ThinkJet printer.
  • Keyboard handler code of the terminal tab rewritten. Keystroke definitions are now table-driven (see pilkeysym.py).
  • Added complete virtual terminal support for the HP-75 with a dedicated character set and keyboard layout and an HP-75 version of the PILTERM program, which is provided on a new version of the PILIMAGE.DAT LIF image file.
  • Next port key supported for the HP-71.
  • Added local controls to the terminal tab to scroll up and down one page. This required minor changes to the HP-71 keyboard layout (see below).
  • Terminal emulation bug fixes.
  • Various documentation amendments
  • The most recent version of the PILTERM program is now 2.3.
  • The minimum required version for Python is now 3.5 instead of 3.4. Features of Python 3.5 and above make the code for calling external applications clearer and easier to maintain.

Incompatibilities with previous pyILPER versions:

    Due to the introduction of the HP-75 character set, the configuration of character sets in existing pyILPER installations must be adjusted if the Roman-8 character set was used.

    For the HP-71 terminal emulation, the keystrokes for far left, far right, far up and far down are now shift left, shift right, shift up and shift down.

pyILPER 1.8.1

  • Added HP-75 text file import and export to the file management functions of the drive tab
  • Show HP-75 text files optional with or without line numbers from the context menu of the drive tab directory list
  • Show keywords of HP-75 lex files from the context menu of the drive tab directory list
  • pyILPER now requires at least version 1.7.9 of the LIFUTILS.

pyILPER 1.8.2

  • Python 3.8 compatibility
  • Fixed wrong address view for addresses > 15 and changed device # address view to HP71 style in the virtual HP-IL device status window (courtesy of Christoph Gießelink)
  • Clear device buffers on LIF image file change and clear disk drive status after successful reading or writing (hint from Christoph Gießelink)

pyILPER 1.8.3

  • Disable right clicks into an empty directory listing in the drive tab.
  • Left-clicking on a selected row in the directory listing now deselects it.
  • Fix a bug that the file management controls in the drive tab were not disabled if no valid version of the LIFUTILS was installed.
  • Fix that some error messages of the LIFUTILS were not shown in the graphical user interfaces.

pyILPER 1.8.4

  • Plotter Tab: Activate the ENTER key after having digitized or entered a coordinate

pyILPER 1.8.5

  • New device tab for virtual RAW disk drive devices.
  • Fixed crash when pasting text in the terminal.
  • Configuration file version check on startup.
  • Tab title text color problem (macOS Big Sur) fixed.
  • pyILPER command line parameters documented in online manual
  • New function to exchange config files between devel/beta and production versions (start with command line parameter)

pyILPER 1.8.6

  • Qt5 (PyQt5 binding) and Qt6 (Pyside6) compatibility.
  • Python 3.10 compatibility.
  • Tty device selection combo box improved.

pyILPER 1.8.7

  • HP 82162A printer font improvements (contributed by Christoph Gießelink).
  • HP 82162A printer output width corrected for pixelsize=1
  • Harmonization of hex number output in the scope window (contributed by Christoph Gießelink).
  • Fixed a cursor width problem, which occurred on some platforms.

pyILPER 1.8.8

  • HTML reformatting of online documentation.
  • Fixed some PySide6 deprecation warnings.
  • Forced plotter background color to be always white.

pyILPER 1.8.9

  • Fix: Do not enable logging, if openening th logfile fails.
  • HP 82162A line spacing fix (contributed by Christoph Gießelink).
  • Added /dev/tty/ACMxx to PIL-Box device dropdown list for Linux.

pyILPER 1.8.10

  • Required LIFUTILS version is now 2.0.0
  • Add HP-41 FOCAL source code compile and import to disk (Drive Tab).
  • Add a selection of more XROM files for HP-41 FOCAL compile and decompile (Drive Tab).

pyILPER 1.9.0

    li>Required Python version is now 3.7.
  • Configurable auto(re)connect for serial interfaces.
  • Show additional information about serial devices in the tty selection window.
  • Thinkjet printer tab now shows page brakes.
  • Qt style configurable.
  • Added command line parameter to force scaling for high-DPI displays.
  • Command line parameters are now only accepted if pyILPER is called as a module (Incompatibility).
  • Location of configuration files changed from AppData to the user home directory (Incompatibility, Windows only).
  • Serial device name changed (Incompatibility, macOS only)