The Museum of HP Calculators

HP Forum Archive 15

[ Return to Index | Top of Index ]

Series 80 Emulator - File transfer
Message #1 Posted by Juergen (CH) on 8 Oct 2005, 4:39 p.m.

If I develop programs on the Series 80 emulator, how can I transfer these programs to my HP-85 via Floppy disks? In the S80EMU, I can write a LIF file. But I don't know how to transfer this file to the HP-85 (rawrite and fdimage do not work on my Windows PC). Any help appreciated...

Thank you, Juergen

      
Re: Series 80 Emulator - File transfer
Message #2 Posted by Howard Owen on 8 Oct 2005, 5:04 p.m.,
in response to message #1 by Juergen (CH)

This is a thorny question. I'm assuming you are using a 9121. The problem is twofold. First, modern PC BIOS have trouble with sector sizes other than 512 bytes. I believe your images need to have 256 bytes/sector to be readable on the HP-85. Second, even a fairly old BIOS has difficulty with single sided media. The 9121 uses single sided, double density disks. (SS/DD).

The second problem is easier to deal with. If your disk imaging software can be told to write to only side 0 of a double sided, double density (DS/DD) floppy then that will fool the 9121, as long as the second write enable notch is covered. (Note that these formats are both lower capacity than a standard "HD" floppy disk.) But you still need software that will do that. I don't know of anything running under Windows that will, as a matter of fact. There is a DOS program called TELEDISK.EXE that can do the trick, but it only reads its own peculiar disk image format. Fortunately, quite a lot of HP-85 software is available in that format at hpmuseum.net.

What I do is to beat a long way around the bush. I have an HP-IL card in an ISA slot of my old Pentium/75 system. I use this in conjunction with EMU41 by J.F. Garnier. That is DOS software that I run under Linux. It emulates an HP-41, but also a complete virtual HP-IL loop. If you buy the registered version from JF for 20 Euro, it will use an HP-IL card to talk to real HP-IL hardware. So out there on the real loop, I have a 9114 floppy drive. I use an HP-71B and a BASIC program to copy an HP-85 disk image file-by-file to a real floppy sitting in the 9114. This floppy I can then sneaker net over to the Hp-85 with 9121.

That's a lot of stuff to buy and tinker with just to get a program copied, though. Unless you are addicted to that sort of thing, a more practical approach might be to get an RS232-C interface for the real 85, and use the 87 emulator (if it will do that) or else hyperterm or crt to send the program over as text. It should be considerably easier to do that sort of thing, and cheaper too. Of course, it won't be nearly as much fun. 8)

Good luck!

            
Re: Series 80 Emulator - File transfer
Message #3 Posted by Juergen (CH) on 8 Oct 2005, 7:08 p.m.,
in response to message #2 by Howard Owen

Thank you, Owen, for this very interesting informations. I think there must be an other way:
1. From inside Series 80 Emulator, save your programs to a LIF file.
2. From this LIF file, extract the programs (with some tool not yet existing), preceded by a DSF header. I don't know what DSF really is, but it is used by LIFUTIL to preserve file type information. Anybody knows something about DSF?
3. Use LIFUTIL to save programs to a floppy disk preformatted on an HP-85.

Except for the tool mentioned in step 2, everything is working on my system. I'm currently analyzing the DSF header, but I do not understand all the bytes. If anyone could provide me some information about what exactly DSF is, I'm sure, I am able to write the missing tool.

Juergen

                  
Re: Series 80 Emulator - File transfer
Message #4 Posted by Howard Owen on 8 Oct 2005, 8:17 p.m.,
in response to message #3 by Juergen (CH)

For # 2, you can use Tony Duell's LIF utilities for Linux. There's also a nice tool for DOS and Windows available from this site, but it is tuned for HP-41 files. For #3, I don't know of anything that works on a modern PC under Windows. Someone else here may know different. I'd love to be proven wrong. 8)

Reading this again, I see that you suggest a floppy preformatted (on a 9121?) on the HP-85. If it is single sided media, you will have difficulties. The only way I have been able to write a single sided image to floppy is using real MS-DOS, double sided (DS/DD) media and a utility that knows to only write to side 0 to simulate single sided media. Maybe LIFUTIL will do this, but I thought I had tried that without success.

Edited: 8 Oct 2005, 8:21 p.m.

                        
Re: Series 80 Emulator - File transfer
Message #5 Posted by Howard Owen on 9 Oct 2005, 2:17 p.m.,
in response to message #4 by Howard Owen

See my detailed recantation of some of the above in this thread.

Edited: 9 Oct 2005, 2:17 p.m.

                        
Re: Series 80 Emulator - File transfer
Message #6 Posted by Juergen (CH) on 9 Oct 2005, 4:47 p.m.,
in response to message #4 by Howard Owen

Quote:
For # 2, you can use Tony Duell's LIF utilities for Linux.

I have no Linux (shame on me ;-), but perhaps I can compile the utilities under cygwin...

Quote:
There's also a nice tool for DOS and Windows available from this site, but it is tuned for HP-41 files.

That does not work because HP41UC only handles files with type E080 (41C?) but the HP-85 files have type E020.

Quote:
For #3, I don't know of anything that works on a modern PC under Windows. Someone else here may know different. I'd love to be proven wrong. 8)

On my PC (500 MHz P3) it works perfectly with LIFUTIL. But I had to install an older 3.5"/1.44MB floppy drive.

Quote:
Reading this again, I see that you suggest a floppy preformatted (on a 9121?) on the HP-85. If it is single sided media, you will have difficulties. The only way I have been able to write a single sided image to floppy is using real MS-DOS, double sided (DS/DD) media and a utility that knows to only write to side 0 to simulate single sided media. Maybe LIFUTIL will do this, but I thought I had tried that without success.

As said before, this works on my PC. The only problem is step #2. I will continue work on this and let you know.

Thank you much for your comments!

            
Re: Series 80 Emulator - File transfer
Message #7 Posted by Vassilis Prevelakis on 9 Oct 2005, 4:49 a.m.,
in response to message #2 by Howard Owen

Howard Owen wrote: 
> That's a lot of stuff to buy and tinker with just to get a program 
> copied, though. Unless you are addicted to that sort of thing, a
> more practical approach might be to get an RS232-C interface for
> the real 85, and use the 87 emulator (if it will do that) or
> else hyperterm or crt to send the program over as text. It should
> be considerably easier to do that sort of thing, and cheaper too.

This is what I do to get stuff from my HP-87 to my Windows or Unix PC. I am using a binary program on my HP-87 that allows diskette sectors to be read/written and then a short Basic program to send the data down the serial card to the PC. More details at http://www.series80.org/Articles/uploading-disk-images.html

If you want to use LIFEXE, read http://www.series80.org/Programs/index.html

      
Re: Series 80 Emulator - File transfer
Message #8 Posted by Vassilis Prevelakis on 9 Oct 2005, 5:07 a.m.,
in response to message #1 by Juergen (CH)

Have a look at the following articles [1] on the series 80 web site:

http://www.series80.org/Articles/xfer-to-dos.txt which is an article posted by Greg Goebel (gvg@lvld.hp.com) to comp.sys.hp.misc on xfering data between PCs and Series 80 computers.

Also look at this summary page: http://www.series80.org/Articles/downloading-disk-images.html which contains suggestions for downloading diskette images to Series-80 floppies.

**vp

[1] articles page at http://www.series80.org/Articles

            
Re: Series 80 Emulator - File transfer
Message #9 Posted by Juergen (CH) on 9 Oct 2005, 4:34 p.m.,
in response to message #8 by Vassilis Prevelakis

I already read the article, and I can transfer files from HP-85 to PC and vice versa. rawrite and fdimage did not work on my PC, but LIFUTIL works perfectly. BTW, thank you much for your excellent web site!

The only thing I cannot do is transferring files from the Series 80 Emulator to my HP-85. I can export S80EMU files to a .LIF file, but how do I get this to the HP-85?

My plan is to extract single programs from the .LIF file (easy), preceed them by a DSF header (need specification!), and transfer this files via LIFUTIL to floppy disk. DSF header is needed to preserve file type information. I have no serial interface, so floppy disks are the only way for me to transfer files.

Does anybody know what this DSF header used by LIFUTIL is?

                  
Re: Series 80 Emulator - File transfer
Message #10 Posted by Vassilis Prevelakis on 9 Oct 2005, 11:05 p.m.,
in response to message #9 by Juergen (CH)

Juergen (CH) wrote:
> Does anybody know what this DSF header used by LIFUTIL is?

Its essentially a single file LIF image (http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=24) with significantly reduced directory area. The first block (256 chars) is essentially the same as the first block of a LIF volume (differences: there is always only one file on the volume, and the volume label is always HFSLIF).

The second block contains two directory entries (same as a LIF volume) the first is the entry for your file. The really annoying thing is that the directory entry always has the name WS_FILE instead of the LIF filename (what a wasted opportunity). So you need to specify the filename your self.

The second directory entry is of type 0xffff, end of directory entry.

So you can essentially cut&paste from a LIF volume to create a LIFUTIL DSF file.

Following is some hex dumps with comments:

DSF image of file CH4.BIN (from the HP85 training pack):

 000000000000    80004846  534c4946    00000001  10000000    *..HFSLIF........*
 000000000010    00000001  00000000    00000001  00000001    *................*
 000000000020    00000005  11111111    11110000  00000000    *................*
 000000000030    00000000  00000000    00000000  00000000    *................*
          *** SAME ***
 0000000000f0    00000000  00000000    11111111  11110000    *................*
 000000000100    57535f46  494c4520    2020e022  00000002    *WS_FILE   ."....*
 000000000110    00000003  00000000    00008001  f0020001    *................*
 000000000120    00000000  00000000    0000ffff  00000000    *................*
 000000000130    00000000  00000000    00000000  00000000    *................*
          *** SAME ***
 000000000200    4d41494e  000040f0    02000000  00000000    *MAIN..@.........*
 000000000210    00000000  00000000    10000c85  7f013751    *..............7Q*
 000000000220    9b060343  48340e20    00064740  5a40000e    *...CH4. ..G@Z@..*
 000000000230    30002f46  40474056    051f494e  434f5252    *0./F@G@V..INCORR*
 000000000240    45435420  5052494e    54455220  53504543    *ECT PRINTER SPEC*
 000000000250    49464943  4154494f    4ef0ec40  56ec4056    *IFICATION..@V.@V*
 000000000260    ec0e4000  3656052d    506c6561  73652073    *..@.6V.-Please s*
 000000000270    70656369  66792074    68652070  72696e74    *pecify the print*
 000000000280    65722e2e  2e202020    2832206f  72204f54    *er...   (2 or OT*

... ... ...

This is the HP85 Training pac diskette image (extracts)

1st sector:

 000000000000    80004241  53494320    00000002  10000000    *..BASIC ........*
 000000000010    0000000e  00000000    00000000  00000000    *................*
 000000000020    00000000  00000000    00000000  00000000    *................*
          *** SAME ***

Directory entry for file CH4

 000000000240    43483420  20202020    2020e022  0000006d    *CH4       ."...m*
 000000000250    00000003  00000000    00008001  f0020001    *................*

Comparing the two we see that they have only minnor differences (just the filename and the start sector on disk, which is always 2 for the DSF as the file starts on the third sector of the image (which is block 2 if you start counting blocks from 0)

Summary: To create a DSF archive you:

(a) copy the first two blocks (block 0 and 1) from an existing DSF archive.

(b) copy the LIF directory entry of the file (32 bytes) into the beginning of the second block (block 1) of the new DSF archive (absolute DSF file address 0x0100).

(c) Edit the file directory entry in the new DSF archive to change the filename to WS_FILE and the starting block to 0x00000002 (absolute DSF file address 0x010C).

(d) Append file contents to DSF archive starting from the third block (block 2), absolute DSF file address 0x0200.

**vp

Edited: 10 Oct 2005, 7:33 p.m.

                        
SOLVED :-)
Message #11 Posted by Juergen (CH) on 12 Oct 2005, 7:54 a.m.,
in response to message #10 by Vassilis Prevelakis

Vassilis and Howard, thank you much for your valuable support. It helped me to find the following solution.

      
Re: Series 80 Emulator - File transfer
Message #12 Posted by Patrice on 14 Oct 2005, 7:57 a.m.,
in response to message #1 by Juergen (CH)

hello all,

There is one thing which have helped me in this case. It was to switch the floppy drive to 720Ko at BIOS setup.

Hope it helps. Patrice


[ Return to Index | Top of Index ]

Go back to the main exhibit hall