Post Reply 
Update of ILPer to 2.25 and all other IL programs
11-21-2017, 07:23 PM
Post: #1
Update of ILPer to 2.25 and all other IL programs
ILPer 2.25 fix an issue in the disk drive implementation in connection with new LIF disk images.

An a real HP9114 device we can distinguish the operation with
  1. no disk inserted
  2. not formatted disk inserted
  3. disk inserted with unknown disk format
  4. disk inserted with LIF or DOS data

What we need in the disk drive simulation:
  1. no disk inserted
  2. create a new disk and format it
  3. disk inserted with LIF or DOS data

How these three states are now simulated in v2.25?

1) no disk inserted

The LIF image filename edit box is empty or the content of the edit box contains a non valid filename (i.e. only path). In Windows a filename only consist of an extension like ".lif" is a valid filename!

2) create a new disk and format it

The LIF image filename edit box contains a valid filename, but the file itself don't exist. Read and Write is not possible, but you can initialize such a drive and than it's fully operable.

3) disk inserted with LIF or DOS data

Full access with no restrictions in the limits of the given sectors numbers.

Other fixes in ILPer
  • use the PIL-Box receive format for sending data back to the PIL-Box
  • fix window position restore when starting minimized

All other programs got also the "fix window position restore when starting minimized" change.

I also introduced the new program ILPilsim. ILPilsim is a PIL-Box Simulation to connect J-F Garniers DOS based emulators Emu41, Emu71/DOS and Emu75 to Virtual HP-IL. These DOS based emulators still have a COM port interface to connect a PIL-Box @ 9600 baud. On DOS environments like DOSBox or on Virtual machines (VM) like VirtualBox or VMware these COM ports can be redirected to a TCP/IP server or on Windows to named pipes. And so its possible to capture the forwarded serial traffic, decode the PIL-Box byte stream to IL frames and send the frames over the Virtual HP-IL interface to other external devices. For further information read the ILPilsim manual please.

Some years ago I just tried this in connection with DOSBox without success. I want to TNX Joachim, who made new attempt using a Virtual Machine. So I wrote the program to connect a guest DOS in a VM and it was working. Another try with DOSBox about three weeks ago failed with buffer overruns. A recent 2nd try after looking into the DOSBox source code about one week ago I found the parameters getting DOSBox working!

The programs are available at http://hp.giesselink.com/hpil.htm.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-22-2017, 01:17 AM (This post was last modified: 11-22-2017 01:31 AM by Dave Frederickson.)
Post: #2
RE: Update of ILPer to 2.25 and all other IL programs
I see we have a new tool, ILPilsim, to link the Virtual HP-IL with J-F's DOS emulators.

Might we see an Emu75/Win emulator sometime in the future?
Find all posts by this user
Quote this message in a reply
11-22-2017, 04:03 AM
Post: #3
One word about ILPilsim
"... and virtual _is_ real."
-- George Clinton in a song written by Prince

Christoph's youngest addition to his suite of virtual HP-IL devices is for me a 'quantum transition' in virtualisation. With ILPilsim I have now for the first time the chance to use a virtual HP41 (Emu41) as a controller for virtual HP-IL. (Well, as controller only, SCOPE of HP00041-15043, pet name 'Devil', currently fails. But this remark is somewhat mean, there are enough options to inspect the scope.)
Now I may link
  • Emu41 under DOSBox to
  • ILPer under Windows (with its scope, DOS link, disks, and display called 'Printer') to my
  • simulated HP7470A written in ooREXX/Windows to my
  • "enhance-differences-in-scope-live-from-two-points-in-the-loop" with Piping under z/VM under Hercules under Windows
At least I have now an additional choice what I use as controller, for me an important one, as I never felt comfortable with the HP-71B, it is not my machine in contrast to the giant HP-41.

Ciao.....Mike
Find all posts by this user
Quote this message in a reply
11-22-2017, 08:55 AM
Post: #4
RE: Update of ILPer to 2.25 and all other IL programs
(11-22-2017 04:03 AM)Mike (Stgt) Wrote:  the HP-71B, it is not my machine in contrast to the giant HP-41.

Ciao.....Mike

make sure Valentin doesn't read this :-)

Cheers

PeterP

Cheers,

PeterP
Find all posts by this user
Quote this message in a reply
11-22-2017, 04:18 PM (This post was last modified: 11-22-2017 04:20 PM by Dave Frederickson.)
Post: #5
RE: Update of ILPer to 2.25 and all other IL programs
(11-22-2017 04:03 AM)Mike (Stgt) Wrote:  With ILPilsim I have now for the first time the chance to use a virtual HP41 (Emu41) as a controller for virtual HP-IL.

If used in conjunction with ILPilbox it should be possible to use Emu41 with real HP-IL peripherals, like a Data Acquisition unit or DMM.
Find all posts by this user
Quote this message in a reply
11-22-2017, 05:13 PM
Post: #6
RE: Update of ILPer to 2.25 and all other IL programs
(11-22-2017 01:17 AM)Dave Frederickson Wrote:  Might we see an Emu75/Win emulator sometime in the future?

Never say never, but it's extreme unlikely.

I don't have any knowledge about the used Capricorn CPU.
Visit this user's website Find all posts by this user
Quote this message in a reply
12-04-2017, 10:53 PM (This post was last modified: 12-05-2017 03:22 AM by rprosperi.)
Post: #7
RE: Update of ILPer to 2.25 and all other IL programs
Thanks Christoph for the new ILPer and the very interesting ILPilsim. At last, EMU71/DOS, EMU75/DOS and EMU41/DOS can use the ILPer client instead of just the built-in virtual devices. The built-in virtual drives clearly work fine, but they're a pain to manage - every time I want to change volumes, I need to quit, edit the .ini file, restart, etc.

I had immediate good results with both EMU71/DOS and EMU75/DOS, with no configuration issues. While I did take a couple of times reading through the ILPilsim documentation before starting, all the details are clearly explained and it worked first time.

Great job with some complex exploring, testing and documenting. This is a case of a few very small changes (by the user) has a very big effect. Great job!

A question (possibly for JFG, I'm not really sure who) and likely bug report:

1. As my internal devices include the :DOSLINK device, and another is provided by ILPer, is the 2nd one addressed as ":DOSLINK(2)" on the 71B and simply ":I2" on the '75?

2. On EMU75, I am inconsistently having one of the internal mass storage devices come up with an "ERROR: no medium" error when trying to read from that drive (I'm trying to copy files, one-by-one, from an EMU75 internal drive to a new image in ILPer). Note this error oddly only seems to happen when accessing internal EMU75 virtual drives and not the ILPer drives. To get it working again, sometimes I must restart the EMU75 session, sometimes it will work again after accessing another drive, sometimes it will work again after just waiting a while.

A screens shot is attached below.

I have used EMU75/DOS a lot, including lots of copying between drives and never saw this error, so I believe the issue is somehow related to the new interface; it seems that after access, something is possibly not continuing around the loop so the drive reports not ready.

Can you suggest some testing scenarios or sequence that will help to find a repeatable sequence that produces the error?

Update: The same problem also occurrs using EMU71/DOS, so it seems the problem is clearly related to the new ILPilsim interface.


Attached File(s) Thumbnail(s)
   

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
12-05-2017, 10:43 AM (This post was last modified: 12-05-2017 10:59 AM by J-F Garnier.)
Post: #8
RE: Update of ILPer to 2.25 and all other IL programs
(12-04-2017 10:53 PM)rprosperi Wrote:  A question (possibly for JFG, I'm not really sure who) and likely bug report:
Maybe me first ...

Quote:1. As my internal devices include the :DOSLINK device, and another is provided by ILPer, is the 2nd one addressed as ":DOSLINK(2)" on the 71B and simply ":I2" on the '75?
Yes. Or you can disable the Emu7x/DOS internal DOSLINK in the emu7x.ini file.

Quote:2. On EMU75, I am inconsistently having one of the internal mass storage devices come up with an "ERROR: no medium" error when trying to read from that drive (I'm trying to copy files, one-by-one, from an EMU75 internal drive to a new image in ILPer). Note this error oddly only seems to happen when accessing internal EMU75 virtual drives and not the ILPer drives. To get it working again, sometimes I must restart the EMU75 session, sometimes it will work again after accessing another drive, sometimes it will work again after just waiting a while.
I need to investigate. I see no obvious reason right now. It is strange that it happens for the internal devices.

Quote:Can you suggest some testing scenarios or sequence that will help to find a repeatable sequence that produces the error?
Well, I can suggest some tests:
Does it happen only with the latest ILPer 2.25, or also with the previous 2.2x?
If you don't access the ILPer devices at all in a session, can you still get the problem?
You could active the HPIL scope in ILper and capture the frames when the error happens.

A reproducible sequence will be very helpful for Christoph and/or me.

[Added:]
Additional question: your screenshot shows a "no medium" errror when trying to copy from internal drive to ILper drive. Why do you suspect that the error comes from the internal drive? Did you try CAT ':m1' and get the error again?

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
12-05-2017, 05:15 PM
Post: #9
RE: Update of ILPer to 2.25 and all other IL programs
(12-05-2017 10:43 AM)J-F Garnier Wrote:  A reproducible sequence will be very helpful for Christoph and/or me.

[Added:]
Additional question: your screenshot shows a "no medium" errror when trying to copy from internal drive to ILper drive. Why do you suspect that the error comes from the internal drive? Did you try CAT ':m1' and get the error again?

J-F

I will try to come up with a reproducible sequence this week, as time allows, and report it here.

Yes, sorry I should have been more clear, after getting the Error message, the internal virtual drive replies with the same error when attempting a CAT, and the ILPer drives are still accessible with no error. Verified again today with EMU75.

However... when trying to verify the same using EMU71/DOS, I was shocked that upon startup, RAM had been cleared; none of the files remain. The device and virtual IL configuration is all intact, but it appears that whatever is going on is possibly corrupting RAM as well.

I will report more as I have time to check in close detail, but feel to suggest other tests if you think of something.

I strongly suspect the issue must (somehow) be related to the new virtual interface as I don't believe I've ever had a MEM LOST on EMU71/DOS in the past, and yesterday's testing was simply copying a few files to/from drives.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
12-06-2017, 05:15 AM
Post: #10
RE: Update of ILPer to 2.25 and all other IL programs
(12-05-2017 10:43 AM)J-F Garnier Wrote:  ... errror when trying to copy from internal drive to ILper drive...
Wait! Internal drive... ILper drive... the internal within EmuXX under DOSBox with direct access to the host also running ILper ... it makes me shiver. I assume everyone is aware that i) more than one wife and more than one database under the same roof may jeopardizethe whole house, ii) more than one program and user touching (writing to) the same time the same file will end in a mess, iii) not everything that 'works!' is secure.

In real world you can not put the same floppy in two different drives. In the virtual parallel with floppies being files it may be or it may be not possible to open a file for writing twice the same time. I do not test it, with ILper in the loop I disabled all internal drives.

Ciao.....Mike
Find all posts by this user
Quote this message in a reply
12-06-2017, 07:52 AM
Post: #11
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 05:15 AM)Mike (Stgt) Wrote:  In real world you can not put the same floppy in two different drives. In the virtual parallel with floppies being files it may be or it may be not possible to open a file for writing twice the same time.

For sure if you use the same image file in several virtual drives and attempt to copy, you will get strange results...
But I can't imagine Bob did this mistake. Bob?

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
12-06-2017, 02:44 PM
Post: #12
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 07:52 AM)J-F Garnier Wrote:  For sure if you use the same image file in several virtual drives and attempt to copy, you will get strange results...
But I can't imagine Bob did this mistake. Bob?

No, you're right Jean-Francois, they were distinctly different files.

I have continued testing, but with no conclusions yet. I can get the error with little effort, but cannot reproduce it with exact sequence yet. Will report here when I can. Very frustrating.

Can anyone else copy many files between internal (EMU71 or EMU75) drives and ILPer connected drives with no errors?

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
12-06-2017, 06:26 PM
Post: #13
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 02:44 PM)rprosperi Wrote:  Can anyone else copy many files between internal (EMU71 or EMU75) drives and ILPer connected drives with no errors?

I tried with Emu41. To copy a single file from an internal drive just worked fine as expected, alas MCOPY from Extended IO failed.
BIOS INT14: Unhandled call AH= 3 DX= 180
BIOS INT14: Unhandled call AH= 2 DX= 180
showed many times in DOSBox status window and Emu41 was not operational any more.
Not reproductible. (I did a lot DIR and READP and printing before MCOPY)

Next try resulted in DEV 03 ERR and the hint in DOSBox status window 'Please Remove write-protection'. The file for internal device 3 I had set to read-only, intentionally, for testing.

Third try after removing internal device 3. MCOPY (from internal to external disk) shows after a while COPY in the display, scope shows a lot of DAB traffic and suddenly DOSBox status window shows
BIOS INT14: Unhandled call AH= 3 DX=ffff
BIOS INT14: Unhandled call AH= 2 DX=ffff
The disk files writen by ILper show the file list but no content.

My setup was: Emu41 (2009) under DOSBox 0.74 under Win7 <-> ILPilsim 1.00 <-> Ilper 2.25 (with DOSlink removed and device sequence changed by ini file).

Without doubtless evidence I asume DOSBox could be the problem. In addition it is slow. So if you do have to copy disks and you are comfortable with HP71 I suggest to use Emu71/Win with ILper to do so.

BTW, do not DIR a new file not yet initialised by NEWM.

Ciao.....Mike
Find all posts by this user
Quote this message in a reply
12-06-2017, 06:53 PM
Post: #14
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 06:26 PM)Mike (Stgt) Wrote:  I tried with Emu41....
[snip]
Without doubtless evidence I asume DOSBox could be the problem. In addition it is slow. So if you do have to copy disks and you are comfortable with HP71 I suggest to use Emu71/Win with ILper to do so.

Mike, thanks for the testing feedback. I do not use EMU41, so trying to learn that while testing will only lead to more confusion (mine!).

I too suspect DOSBox is part of the problem here, but only by testing and reporting can the issues be found and corrected. I think Christoph is correct that, as slow as it is, DOSBox is the easiest and best way for most users to get this working; the process to set up and configure a true VM is complex, time-consuming and varies greatly from host to host, so instructions and help are big problems.

And no, none of this is about files I must copy, just feedback about the new ILPer and ILPilsim.

@JFG - Is there a way to configure EMU7x to have the external HP-IL device chain be before the internal device chain? If so, then I can enable the Scope log in ILPer and capture the traffic going to the drive that is failing. But perhaps this is still useful even as-is? Please advise.

@CG - Can I use ILPer v2.24 or 2.23 with ILPilsim to see if the issue is connected with the changes in v2.25? As ILPilsim was released together with v2.25, I want to make sure older versions are also compatible.

Thanks guys!

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
12-06-2017, 08:38 PM
Post: #15
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 06:53 PM)rprosperi Wrote:  I do not use EMU41

I prefere Emu41 because I feel much more comfortable with the HP41 than the HP71. The code for IL and internal devices is probably very much the same in all of JF's emulators. So the chance is quite high that a glitch in one Emu is also in the others.

Several weeks ago I tried ILPilsim with VMware Player and Qemu and found no advantages over DOSBox. Even with its slow speed I enjoy to have Emu41 as controller of virtual IL.

(12-06-2017 06:53 PM)rprosperi Wrote:  Is there a way to configure EMU7x to have the external HP-IL device chain be before the internal device chain? If so, then I can enable the Scope log in ILPer and capture the traffic going to the drive that is failing.

What is failing? I assumed you copy from the Emu-internal drive to the (external) ILPer-drive. Now - is it the external drive, or the internal one, or is it the controller? Or is it just DOSBox that goes berserk under heavy load? As all frames travel all around the loop the scope is almost the same at any point. To see the differences I suggest my 'delta-sniffer' -- you just need to set up a mainframe for it.

Ciao.....Mike
.zip  Delta Sniffer.zip (Size: 108.14 KB / Downloads: 1)
Find all posts by this user
Quote this message in a reply
12-06-2017, 10:36 PM
Post: #16
RE: Update of ILPer to 2.25 and all other IL programs
Assuming the Emu-internal drive code would be the same than in ILPer I did an MCOPY from one ILPer drive to the other. Because all IL-frames travel along the whole loop it will fail pretty much the same way as if an Emu-internal drive holds the source disk. It took quite a while waiting for the error to show up and I waited and waited and - well, there was no error. MCOPY ended with no error, it copied the LIF-disk exactly (not file by file skipping gaps).

So I deduce DOSBox is probably not the problem.

Ciao.....Mike
Find all posts by this user
Quote this message in a reply
12-06-2017, 11:38 PM
Post: #17
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 06:53 PM)rprosperi Wrote:  @CG - Can I use ILPer v2.24 or 2.23 with ILPilsim to see if the issue is connected with the changes in v2.25? As ILPilsim was released together with v2.25, I want to make sure older versions are also compatible.

Currently not much time, of course you use the older versions of ILPer. Nothing changed in the Virtual HP-IL protocol.

I just made a quick check under DOSBox. Copied REVERSI from ILPer to the internal drive and got an error. The file of the internal drive was corrupted and at a restart the Emu71/DOS memory was cleared.

I made the same test with Emu71/DOS but this time with VirtualBox and FreeDOS and everthing worked fine. Same virtual image, but now under VMware 12, also fine.

Final test with DOSBox and a shortcut in ILPilsim: Out Port = In Port, so no external device. The transfer from REVERSI memory to REVERSI:2 disk failed also.

Somewhere the serial implementation of DOSBox has a serious problem.
Visit this user's website Find all posts by this user
Quote this message in a reply
12-07-2017, 03:33 AM
Post: #18
RE: Update of ILPer to 2.25 and all other IL programs
(12-06-2017 11:38 PM)Christoph Giesselink Wrote:  
(12-06-2017 06:53 PM)rprosperi Wrote:  @CG - Can I use ILPer v2.24 or 2.23 with ILPilsim to see if the issue is connected with the changes in v2.25? As ILPilsim was released together with v2.25, I want to make sure older versions are also compatible.

Currently not much time, of course you use the older versions of ILPer. Nothing changed in the Virtual HP-IL protocol.

I just made a quick check under DOSBox. Copied REVERSI from ILPer to the internal drive and got an error. The file of the internal drive was corrupted and at a restart the Emu71/DOS memory was cleared.

I made the same test with Emu71/DOS but this time with VirtualBox and FreeDOS and everthing worked fine. Same virtual image, but now under VMware 12, also fine.

Final test with DOSBox and a shortcut in ILPilsim: Out Port = In Port, so no external device. The transfer from REVERSI memory to REVERSI:2 disk failed also.

Somewhere the serial implementation of DOSBox has a serious problem.

Thanks for your checking and confirmation Christoph. Do you think there is any point to do more testing to try to find an exact failure mode or sequence, or is it pointless since even if found, it would not appear DOSBox would be fixed, as the latest version is from 2010?

I guess it's time to install VirtualBox again. Does VB use the same named pipe to access the virtual serial port? If you don't have links handy for the configuration I can look around for details, I've found it fairly well documented in the past.

Thanks again.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
12-07-2017, 07:34 AM
Post: #19
RE: Update of ILPer to 2.25 and all other IL programs
(12-07-2017 03:33 AM)rprosperi Wrote:  
(12-06-2017 11:38 PM)Christoph Giesselink Wrote:  Somewhere the serial implementation of DOSBox has a serious problem.

Thanks for your checking and confirmation Christoph. Do you think there is any point to do more testing to try to find an exact failure mode or sequence, or is it pointless since even if found, it would not appear DOSBox would be fixed, as the latest version is from 2010?

I saw no error in the DOSBox status window, so it would be hard to find. Even more, as you wrote correctly, I don't think that anybody would fix it in a near future.

(12-07-2017 03:33 AM)rprosperi Wrote:  I guess it's time to install VirtualBox again. Does VB use the same named pipe to access the virtual serial port? If you don't have links handy for the configuration I can look around for details, I've found it fairly well documented in the past.

You can decide, using TCP like with DOSBox or under Windows named pipes. I saw no speed differences during my tests.

Serial ports:

Port Mode: TCP

Check Connect to existing pipe/socket

Path/Address: localhost:599999

or

Port Mode: Host Pipe

Check Connect to existing pipe/socket

Path/Address: \\.\pipe\pilpipe
Visit this user's website Find all posts by this user
Quote this message in a reply
12-07-2017, 09:14 AM
Post: #20
RE: Update of ILPer to 2.25 and all other IL programs
I tried to reproduce the errors I encountered yesterday. No chance, MCOPY works, from internal to all others, from external to all others. All assumptions reset to 'no clue'.

What I found is a little difference with NEWM on 'used' disks. If this disk-file is accessed by ILPer its size is reduced to 32k, an Emu41-internal disk file stays in size.

I quit this testing until such errors are show-stoppers for me.

Ciao.....Mike
Find all posts by this user
Quote this message in a reply
Post Reply 




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