05-29-2019, 06:08 PM
Like stated in some discussions, V41 R9A was not the end of my V41 efforts.
So what's new:
One of the main points is the session logic with the session file HP-41CX.lod as default. One of the changes in R9A was to remove the directory restrictions for .lod files. New is remembering the last session .lod file, so using HP-41CX.lod always as default has gone. With this in background I added also an MRU list for fast session changing. But next problem occured, V41 does not save sessions when loading a new one by default. So session loading got a request messagebox if the old session should be saved before.
A second interesting part is the <Backspace>-<ON> sequence for "Memory Lost". Because of design limitations inside V41 a 2-key rollover wasn't possible so far. By adding a 2-key rollover simulation in the keyboard handler the <Backspace>-<ON> sequence for reset memory can now be executed over the PC keyboard. Other <ON> sequences are used by the PANAME ROM. Because of usability problems a 2-key rollover simulation over the mouse isn't implemented.
From the technical aspect the implementation of the 1LB6 scope mode was an effort. In the original HP-IL implementations of Emu41, Emu71/DOS, Emu71/Win and Emu75/DOS the frame timeout is part of the interface simulation. In the changed HP-IL implementation of V41 R9B, the NUT CPU simulation is responsible for the frame timeout like in the real calculator. In Turbo mode a NUT CPU slowdown take account to this situation. The SCOPE command of the HP-IL Development Module is now working.
Some remarks to the SCOPE delay steps 0, 0.5, 1 and 1.5 sec. I recognized, when using one V41 instance as controller, ILPer 2.31 as device and one V41 instance as SCOPE device, that SCOPE delays with 1s and greater affects the <ON> initialization sequence of the HP-IL controller (V41 or real 41CX with PIL-Box) not recognizing any device. Doing the <ON> sequence with 0.5s or less delay the initialization is ok and then the SCOPE delay can set to maximum. I don't know if this behavior corresponds to a real HP41 with a HP-IL Development Module (00041-15043), I haven't this module.
With this V41 version I completed my entire task adding Virtual HP-IL to V41 I began in July 2018. Beyond this topic I made some adjustments and bug fixes. Further development is not planned at the moment.
The new version R9B is available on Warrens V41 product page.
--------------------------------------
RELEASE 9B (05/26/2019)
--------------------------------------
- Rewrote parts of Virtual HP-IL interface for the [SCOPE] mode of the
HP-IL Development Module
- The controller timeouts for the HP-IL frames are now given by the NUT CPU
instruction cycles and not by the Virtual HP-IL simulation any more
- Added error message when TCP/IP server port is already in use
- Added 2-key rollover possibility for keyboard usage
- Added last used .LOD file loading instead of default one and added MRU list
- Added request for saving old .LOD file when loading a new one
- Added "Reset Calculator" menu item setting the PC to 0
- Fixed showing the '@' character when using the TTF font on recent OS
- Fixed wrong timer register values in .LOD file when calculator startup failed
- Fixed windows position when taskbar is not at the bottom of the desktop
- Fixed directory location of trace.log file
- Fixed Breakpoints global breakpoint name search
- Speed improvement for global label name search
- Improved Edit Configuration dialog usability holding the cursor visible
after operations and implemented a basic file format check for "Add" module
- The Color sample of the LCD Font inside the Settings dialog is using the
selected LCD font with background now
- Main window context menu can be opened by keyboard now
- Updated 1LB6 simulation with changes from Emu75/DOS 1.32
- Updated icon file from Peter Janssen
--------------------------------------
RELEASE 9A (01/29/2019)
--------------------------------------
- Added AUTO IDY support to the HP-IL simulation (disabled by default)
- Fixed a HP-IL issue causing an endless loop sending IL frames
- No directory limitations for .LOD files any more
- Improved single instance option
- Fixed some timer related code
- Fixed too large display font issue on recent OS
- The small clicks at wave sound have gone
- Fixed issue with "Untitled" LOD file without file extension
- Speed slider in Mcode Console change speed at slider movement now
- Trace log file now show the actual content of the timer module registers
CLK_A, CLK_B and INTV_CNT
- Added x64 source code compatibility
--------------------------------------
RELEASE 9 (10/22/2018)
--------------------------------------
- Release 9 changes made by Christoph Giesselink
- Added Virtual HP-IL implementation
- Moved configuration settings from HKLM to HKCU
- Improved User Code by handling multi LBL programs in .RAW format files
- File overwrite question is now integrated in the SaveAs dialog
- Fixed problem at display read in connection with HP-IL
- Fixed client window size
- Fixed some Mcode Console related problems
- The small clicks at wave sound are more quiet now
- Includes several minor fixes
- Fix for compiling with VS2017
So what's new:
One of the main points is the session logic with the session file HP-41CX.lod as default. One of the changes in R9A was to remove the directory restrictions for .lod files. New is remembering the last session .lod file, so using HP-41CX.lod always as default has gone. With this in background I added also an MRU list for fast session changing. But next problem occured, V41 does not save sessions when loading a new one by default. So session loading got a request messagebox if the old session should be saved before.
A second interesting part is the <Backspace>-<ON> sequence for "Memory Lost". Because of design limitations inside V41 a 2-key rollover wasn't possible so far. By adding a 2-key rollover simulation in the keyboard handler the <Backspace>-<ON> sequence for reset memory can now be executed over the PC keyboard. Other <ON> sequences are used by the PANAME ROM. Because of usability problems a 2-key rollover simulation over the mouse isn't implemented.
From the technical aspect the implementation of the 1LB6 scope mode was an effort. In the original HP-IL implementations of Emu41, Emu71/DOS, Emu71/Win and Emu75/DOS the frame timeout is part of the interface simulation. In the changed HP-IL implementation of V41 R9B, the NUT CPU simulation is responsible for the frame timeout like in the real calculator. In Turbo mode a NUT CPU slowdown take account to this situation. The SCOPE command of the HP-IL Development Module is now working.
Some remarks to the SCOPE delay steps 0, 0.5, 1 and 1.5 sec. I recognized, when using one V41 instance as controller, ILPer 2.31 as device and one V41 instance as SCOPE device, that SCOPE delays with 1s and greater affects the <ON> initialization sequence of the HP-IL controller (V41 or real 41CX with PIL-Box) not recognizing any device. Doing the <ON> sequence with 0.5s or less delay the initialization is ok and then the SCOPE delay can set to maximum. I don't know if this behavior corresponds to a real HP41 with a HP-IL Development Module (00041-15043), I haven't this module.
With this V41 version I completed my entire task adding Virtual HP-IL to V41 I began in July 2018. Beyond this topic I made some adjustments and bug fixes. Further development is not planned at the moment.
The new version R9B is available on Warrens V41 product page.
--------------------------------------
RELEASE 9B (05/26/2019)
--------------------------------------
- Rewrote parts of Virtual HP-IL interface for the [SCOPE] mode of the
HP-IL Development Module
- The controller timeouts for the HP-IL frames are now given by the NUT CPU
instruction cycles and not by the Virtual HP-IL simulation any more
- Added error message when TCP/IP server port is already in use
- Added 2-key rollover possibility for keyboard usage
- Added last used .LOD file loading instead of default one and added MRU list
- Added request for saving old .LOD file when loading a new one
- Added "Reset Calculator" menu item setting the PC to 0
- Fixed showing the '@' character when using the TTF font on recent OS
- Fixed wrong timer register values in .LOD file when calculator startup failed
- Fixed windows position when taskbar is not at the bottom of the desktop
- Fixed directory location of trace.log file
- Fixed Breakpoints global breakpoint name search
- Speed improvement for global label name search
- Improved Edit Configuration dialog usability holding the cursor visible
after operations and implemented a basic file format check for "Add" module
- The Color sample of the LCD Font inside the Settings dialog is using the
selected LCD font with background now
- Main window context menu can be opened by keyboard now
- Updated 1LB6 simulation with changes from Emu75/DOS 1.32
- Updated icon file from Peter Janssen
--------------------------------------
RELEASE 9A (01/29/2019)
--------------------------------------
- Added AUTO IDY support to the HP-IL simulation (disabled by default)
- Fixed a HP-IL issue causing an endless loop sending IL frames
- No directory limitations for .LOD files any more
- Improved single instance option
- Fixed some timer related code
- Fixed too large display font issue on recent OS
- The small clicks at wave sound have gone
- Fixed issue with "Untitled" LOD file without file extension
- Speed slider in Mcode Console change speed at slider movement now
- Trace log file now show the actual content of the timer module registers
CLK_A, CLK_B and INTV_CNT
- Added x64 source code compatibility
--------------------------------------
RELEASE 9 (10/22/2018)
--------------------------------------
- Release 9 changes made by Christoph Giesselink
- Added Virtual HP-IL implementation
- Moved configuration settings from HKLM to HKCU
- Improved User Code by handling multi LBL programs in .RAW format files
- File overwrite question is now integrated in the SaveAs dialog
- Fixed problem at display read in connection with HP-IL
- Fixed client window size
- Fixed some Mcode Console related problems
- The small clicks at wave sound are more quiet now
- Includes several minor fixes
- Fix for compiling with VS2017