Post Reply 
Printing from HP-86B ?
07-11-2017, 10:17 PM
Post: #41
RE: Printing from HP-86B ?
(07-11-2017 09:40 PM)rprosperi Wrote:  Thanks for the Exerciser program; now if only I could get it into the machine....

Use the emulator to import the file, save to LIF, use HPDrive to download to Series 80.
Find all posts by this user
Quote this message in a reply
07-11-2017, 10:17 PM
Post: #42
RE: Printing from HP-86B ?
I hacked JFG's sample into this simple test program:

Code:
10 ! Test program to copy a text file from HPIL DOSLINK device to a disk file
18 ON ERROR GOTO 100
20 DIM A$[120]
30 CREATE "OUTPUT:D700",80,120
40 ASSIGN# 1 TO  "OUTPUT:D700"
50 ENTER 904 ; A$
60 DISP A$[1,20]
70 IF A$[1,4]="*EOF" THEN GOTO 100
80 PRINT# 1 ; A$
90 GOTO 50
100 ASSIGN# 1 TO  *
101 IF ERRN #0 THEN DISP "Error";ERRN ;"at line";ERRL 
110 END

The program is intended to accept up to 80 lines of text (120 chars long) and write them to records in the OUTPUT data file on disk.

When run, the program creates the data file, and continues to run, but no data is displayed; the program seems to run 'forever' requiring RESET to regain control. Further testing showed it basically hangs forever on the initial ENTER command.

I suspect DOSLINK sent the first line of the test file, and the program is waiting for the rest of the 120 bytes in the first record. Fixed length records may be required here.

Since Series-80 has no native TEXT file support, it's not surprising that it doesn't simply treat the received data as "lines of text". The GETSAVE binPRGM may shed some light, more exploring to do here, just thought I'd share some info for others following the thread and trying stuff.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-11-2017, 10:32 PM
Post: #43
RE: Printing from HP-86B ?
(07-11-2017 10:17 PM)Dave Frederickson Wrote:  Use the emulator to import the file, save to LIF, use HPDrive to download to Series 80.

Roughly right, but S80 doesn't natively know how to import text files (like a TRANSFORM) it must be done via the GETSAVE binPRGM, which I'm hunting down later (on one of far too many vaguely labeled diskettes).

Did you find that program somewhere or just type it in?

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-11-2017, 10:38 PM (This post was last modified: 07-11-2017 10:40 PM by Dave Frederickson.)
Post: #44
RE: Printing from HP-86B ?
(07-11-2017 10:32 PM)rprosperi Wrote:  
(07-11-2017 10:17 PM)Dave Frederickson Wrote:  Use the emulator to import the file, save to LIF, use HPDrive to download to Series 80.

Roughly right, but S80 doesn't natively know how to import text files (like a TRANSFORM) it must be done via the GETSAVE binPRGM, which I'm hunting down later (on one of far too many vaguely labeled diskettes).

Did you find that program somewhere or just type it in?

Using the emulator, select TYPE ASCII FILE AS KEYS, which translates to "Import ASCII File".

I OCR'd the manual, so COPY/PASTE/EDIT.
Find all posts by this user
Quote this message in a reply
07-11-2017, 11:25 PM
Post: #45
RE: Printing from HP-86B ?
(07-11-2017 10:38 PM)Dave Frederickson Wrote:  Using the emulator, select TYPE ASCII FILE AS KEYS, which translates to "Import ASCII File".

Oh... that emulator - EMU85. I thought you were referring to EMU71...

Well, I would not have guessed that menu name performs that function, but now that I know that, I guess I can see how Everett chose the name.

I don't have HPDrive working, and PC with translation s/w (to create LIF media) is off the rack at the moment, but in any case, it's overcome by events as I now know the interface works, by seeing the printing results. Still, I'd like to run the test to learn more, so I will get the media PC working and let you know. Thanks again.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-12-2017, 12:29 AM (This post was last modified: 07-12-2017 12:57 AM by Paul Berger (Canada).)
Post: #46
RE: Printing from HP-86B ?
(07-11-2017 10:32 PM)rprosperi Wrote:  
(07-11-2017 10:17 PM)Dave Frederickson Wrote:  Use the emulator to import the file, save to LIF, use HPDrive to download to Series 80.

Roughly right, but S80 doesn't natively know how to import text files (like a TRANSFORM) it must be done via the GETSAVE binPRGM, which I'm hunting down later (on one of far too many vaguely labeled diskettes).

Did you find that program somewhere or just type it in?

Bob,

The GET and SAVE commands are part of the Electronic DISK ROM, which you may have installed.

The format is as follows each line starts with one byte 0xdf followed by the line length in hex, followed by a byte of zero and ending with a byte of 0x0d the length is from the first byte after the byte of 0 which should be the first character of the line number and includes the 0x0d at the end of the line.

Code:

df 1b 00 31 30 20 21 20 2a 2a 2a 20 53 54 41 52 20 54 52 45 4b 20 56 45 52 20 33 2e 35 0d 
          1  0     !     *  *  *     S  T  A  R     T  R  E  K     V  E  R     3  .  5

Paul.
Find all posts by this user
Quote this message in a reply
07-12-2017, 01:49 AM
Post: #47
RE: Printing from HP-86B ?
(07-12-2017 12:29 AM)Paul Berger (Canada) Wrote:  Bob,

The GET and SAVE commands are part of the Electronic DISK ROM, which you may have installed.

The format is as follows each line starts with one byte 0xdf followed by the line length in hex, followed by a byte of zero and ending with a byte of 0x0d the length is from the first byte after the byte of 0 which should be the first character of the line number and includes the 0x0d at the end of the line.

Code:

df 1b 00 31 30 20 21 20 2a 2a 2a 20 53 54 41 52 20 54 52 45 4b 20 56 45 52 20 33 2e 35 0d 
          1  0     !     *  *  *     S  T  A  R     T  R  E  K     V  E  R     3  .  5

Thanks Paul. Good sample program!

I have the EDISK ROM but it's in my other HP-87XM that's in a different room and I don't have 50-Ft HP-IL cables!

But I found the GETSAVE binPRGM and it works. Although the file the SAVE command creates is of type DATA, defined in S80 manuals as being fixed-length, the format you describe is clearly variable length.

Doing SAVE with the program I posted above results in a DATA file with 2 records of 256 bytes. The actual (DOS) size is 370 bytes (though likely counting CR/LF rather than just the CR <0d>) so this overall size makes sense.

Any idea if SAVE strings together these line sequences into 256-byte records?

I think Martin's utilities may have a disk file memory dumper, so I'll take a look tomorrow.

Where did you find the detailed file format info? The basic content is described in the EDISK ROM manual, but the specifics (e.g. line start byte) are not there.

Thanks again.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-12-2017, 02:31 AM (This post was last modified: 07-12-2017 02:33 AM by Paul Berger (Canada).)
Post: #48
RE: Printing from HP-86B ?
I would not be surprised if it did lump them together into 256 byte records since that is the the sector size the 80s use. I got the format by firing up Everett's emulator and adding the Edisk ROM then loading the Star Trek program from a games diskette (it was the first one on the diskette image and saving it using SAVE "ASCII:D701" to a blank image, eject the image to ensure the file was updated and them looked at it using a Hex editor. I had a hunch that it stored the line length in the file, and yes they are saved as DATA files because that seems to be as close to a text file as there is on the 80s. The resulting ASCII file I created shows up in the CAT listing as type DATA with 64 256 byte records, but the data inside is definitely variable length.
Find all posts by this user
Quote this message in a reply
07-12-2017, 03:19 AM
Post: #49
RE: Printing from HP-86B ?
Here's a nice discussion of Series 80, the 82938A HP-IL Interface, and the 9114 Disc Drive.

http://www.hpmuseum.org/cgi-sys/cgiwrap/...read=95690

Getting virtual mass storage devices to work using the PIL-Box is further complicated by the fact that the PIL-Box only supports the Filbert protocol.
Find all posts by this user
Quote this message in a reply
07-12-2017, 06:59 AM (This post was last modified: 07-12-2017 07:03 AM by J-F Garnier.)
Post: #50
RE: Printing from HP-86B ?
(07-11-2017 10:17 PM)rprosperi Wrote:  
Code:
10 ! Test program to copy a text file from HPIL DOSLINK device to a disk file
18 ON ERROR GOTO 100
20 DIM A$[120]
30 CREATE "OUTPUT:D700",80,120
40 ASSIGN# 1 TO  "OUTPUT:D700"
50 ENTER 904 ; A$
60 DISP A$[1,20]
70 IF A$[1,4]="*EOF" THEN GOTO 100
80 PRINT# 1 ; A$
90 GOTO 50
100 ASSIGN# 1 TO  *
101 IF ERRN #0 THEN DISP "Error";ERRN ;"at line";ERRL 
110 END

The program is intended to accept up to 80 lines of text (120 chars long) and write them to records in the OUTPUT data file on disk.

When run, the program creates the data file, and continues to run, but no data is displayed; the program seems to run 'forever' requiring RESET to regain control. Further testing showed it basically hangs forever on the initial ENTER command.

I suspect DOSLINK sent the first line of the test file, and the program is waiting for the rest of the 120 bytes in the first record. Fixed length records may be required here.

Well, it's surprising. ENTER is an I/O statement commonly used to get ASCII CR-LF terminated data from instruments, and I expect it to work with DOSLINK on series 80 as it does on series 70.
Are you sure the DOSLINK "in file" is correctly set to an non-empty text file in ILPer?

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
07-12-2017, 01:17 PM
Post: #51
RE: Printing from HP-86B ?
(07-12-2017 06:59 AM)J-F Garnier Wrote:  Well, it's surprising. ENTER is an I/O statement commonly used to get ASCII CR-LF terminated data from instruments, and I expect it to work with DOSLINK on series 80 as it does on series 70.
Are you sure the DOSLINK "in file" is correctly set to an non-empty text file in ILPer?

I took a text file, converted it to a LIF file via "alifhdr file.txt file /T", then added it to the IN FILE on IL-Per. I will verify again later today and post an update.

Does the alifhdr conversion of a text file produce ASCII CR-LF terminated data? I thought the 71B text file format was different?

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-12-2017, 02:15 PM (This post was last modified: 07-12-2017 02:20 PM by J-F Garnier.)
Post: #52
RE: Printing from HP-86B ?
(07-12-2017 01:17 PM)rprosperi Wrote:  
(07-12-2017 06:59 AM)J-F Garnier Wrote:  Are you sure the DOSLINK "in file" is correctly set to an non-empty text file in ILPer?

I took a text file, converted it to a LIF file via "alifhdr file.txt file /T", then added it to the IN FILE on IL-Per. I will verify again later today and post an update.

No ! Use PC pure (native) text files. No need to convert to LIF type. Just use Notepad or similar to create it.

This is the purpose of the DOSLINK method: import and export text files from/to the host PC by reading (ENTER) or writing (PRINT, OUTPUT) CR-LF terminated ASCII strings.

Actually, you may import a LIF text file (a pure text file converted by alifhdr) on the HP71 by directly doing "COPY :DOSLINK" (in the same way that I document how to import a LEX file created on PC and processed by alifhdr), but this is specific to the HP71 and will not work on the HP75 and series 80.

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
07-12-2017, 06:33 PM
Post: #53
RE: Printing from HP-86B ?
(07-12-2017 02:15 PM)J-F Garnier Wrote:  No ! Use PC pure (native) text files. No need to convert to LIF type. Just use Notepad or similar to create it.

This is the purpose of the DOSLINK method: import and export text files from/to the host PC by reading (ENTER) or writing (PRINT, OUTPUT) CR-LF terminated ASCII strings.

Thanks for the explanation. I believe I've a 71B-centric view of the HP universe...

After some small changes (e.g. to handle empty lines, etc.) this program works, to copy a text file from IL-Per's DOSLINK interface:

Code:
10 ! Test program to copy a text file from HPIL DOSLINK device to a disk file
18 ! ON ERROR GOTO 100
20 I=1 @ DIM A$[120]
30 CREATE "OUTPUT:D700",80,120
40 ASSIGN# 1 TO  "OUTPUT:D700"
50 ENTER 904 ; A$
55 DISP "Record";I @ I=I+1
60 IF LEN (A$)<4 THEN 80
70 IF A$[1,4]="*EOF" THEN GOTO 100
80 PRINT# 1 ; A$
90 GOTO 50
100 ASSIGN# 1 TO  *
101 ! IF ERRN #0 THEN DISP "Error";ERRN ;"at line";ERRL 
110 END

As listed, the program handles text files with these parameters:
  • 80 lines or less
  • Max length 118 chars (+CR/LF =120)
  • Last line must begin with *EOF

So this technique can be reliably used to copy a text file to S80 from a PIL-Box using IL-Per via HP-IL interface. However for this technique to be useful as a means to copy a BASIC program to S80, the data file would have to be written in the very specific format Paul documented above, in order to be translated by the GET command. Individual line conversion is straightforward, however the lines are packed into 256-byte records (for efficient file I/O) making the conversion a bit more tedious.

Thanks to all that have contributed to this little 'I wonder if...' exercise.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
07-23-2017, 04:37 PM
Post: #54
RE: Printing from HP-86B ?
To go back to the original query, I just bought a ICS 4892B to print from my HP-87. (50$ on Ebay)

https://www.icselect.com/gpib_printer_intfc.html#4892

It is for vintage centroinics parallel printers but I have kept one of those for my many vintage computers.

You just plug the HP-IB and the printer to the box and it works. It also works from my HP-9845B and my series 200 computers.

There is also one model for LAN printers on the same page (ICS 4872).

Fran├žois

(P.S. mine has a broken power regulator which I had to repair. I you buy used, make sure it works first)


(07-06-2017 04:24 PM)smp Wrote:  I thought that it might be a good idea to try and add a printer onto my HP-86B setup. I took a look at TAS, and yessiree, there are GPIB printers available, mostly HP ThinkJet 2225As, and, of course their prices start at $100 and go up from there. I'm not sure I want to spend that kind of money for something that I don't know if it even works, nor if I can get supplies for it.

I came across this interesting device:

http://prologix.biz/gpib-usb-controller.html

At $149, at least it is an available device e supported by the company that sells it. However, it seems to be designed to plug onto a piece of test equipment and then a modern computer will control the instrument from its USB port. I'm not so sure if it works the other way around, with the HP-86B being the controller.

Does anyone here have any experience with something like this? What are your thoughts or suggestions?

Thanks, in advance!

smp
Find all posts by this user
Quote this message in a reply
Post Reply 




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