HP Forums

Full Version: HP-71 Compu-LS module
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
Thanks for those instructions, Christoph.

There are pros and cons with each method so choose the one that works best for you.

In Christoph's DOSLink example, aLIFhdr, authored by JFG, is used to convert the DOS text file to LIF1 by the /T switch and then prepend a 32-byte LIF file header. HPDir accomplishes the same thing using the -c(onvert) option and by detecting the filetype from the file extension.

The LIF file header contains the file size in nibbles, in the case of binary files. liftool, by Christophe Gottheimer, doesn't support the copying of binary files to LIF disc images because binary files of an odd number of nibbles in size occupy an even number of nibbles in the DOS file system. LIFUTILS can only import binary files with a LIF file header. Does aLIFhdr handle binary file size correctly?

Dave
Thanks for all your assistance and patience guys, I tried Christoph's method first, all went OK until the last step of "COPY:DOS" I get an "HPIL error unexpected message " on the physical 71B
The connection with ILper seems OK. When I turn the 71B on or off codes appear in the scope screen. The 71B main memory has 80,000 bytes, more than enough for the text file. I tried putting the dat file into the 9114B window but got an error message on the 71B "Invalid medium"
After various other attempts I changed your "COPY:DOS" to "COPY FOO:DOS" and that seems to be working, its still loading at the moment

Then I tried Dave's method. After starting HPDIR in the command prompt I can see the various options so I tick "initialize" in and get to the next series of options. I then tick in "Lif" to get to the next series. No more options appear (see attachment) so the last step "9122 MYLIF.lif" is "not recognized as internal or external command" so i could not complete but would like to know what I did wrong.
It finished loading into thr 71B, Ithen tried "TRANSFORM "FOO" into BASIC" and after about 10 minutes got the error message "L295 Transform Failed" ?
(03-23-2017 11:54 AM)twa14 Wrote: [ -> ]It finished loading into thr 71B, Ithen tried "TRANSFORM "FOO" into BASIC" and after about 10 minutes got the error message "L295 Transform Failed" ?
Unless you changed something in your COMPU program, there was no line 295.

It may be more comfortable to TRANSFORM the program into Basic in Emu71, so you can check for any syntax error (and even check the effect of your changes).
TRANSFORM on large files is quite slow on the real HP71.

Or even simpler, edit the Basic program in Emu71 and transfer it (in Basic form) to the HP71, don't bother with text files.

Anyway, all this is a good exercise to come back to HP71 practice :-)

J-F
Hi J-F

I also noticed that the line 295 did not exist. After the transform error message it ran for a while on the 71B and ended with the error message "Invalid Expression" I had also tried to import it (FOO.DAT) into EMU71/Win but I get "invalid filespec" error. EMU71/Win expects a .DAT file always? I assume?

Tom
(03-23-2017 11:37 AM)twa14 Wrote: [ -> ]Then I tried Dave's method. After starting HPDIR in the command prompt I can see the various options so I tick "initialize" in and get to the next series of options. I then tick in "Lif" to get to the next series. No more options appear (see attachment) so the last step "9122 MYLIF.lif" is "not recognized as internal or external command" so i could not complete but would like to know what I did wrong.

That's the HELP screen, not a menu.

You need to enter the entire command all at once. Everything within the quotation marks.

Dave
I can't seem to get EMU71/Win to work on the loop The HPIL.BIN module is in the EMU folder, I have tried adding IL modules to port 0 but I only get "stmt not found" or "IL timeout" errors?
(03-23-2017 02:49 PM)twa14 Wrote: [ -> ]I can't seem to get EMU71/Win to work on the loop The HPIL.BIN module is in the EMU folder, I have tried adding IL modules to port 0 but I only get "stmt not found" or "IL timeout" errors?

The HP-IL ROM needs to be "installed" from the Port Configuration menu.
OK Dave, now you can see what you are dealing with, with me!
Dave I have 2 HPIL ROM Images (1) HP-82401A_HPIL1A_ROM and (2) HP-82401A_HPIL1B_ROM.
To get EMU71/Win to work I had to take the A module above and change its name to HPIL.BIN and place it in the EMU installation directory. After that EMU worked. I have tried putting all 3 in port zero, choosing the HPIL setting from the drop down menu. Everytime EMU71 freezes until I remove the module?
(03-23-2017 03:02 PM)twa14 Wrote: [ -> ]Dave I have 2 HPIL ROM Images (1) HP-82401A_HPIL1A_ROM and (2) HP-82401A_HPIL1B_ROM.
To get EMU71/Win to work I had to take the A module above and change its name to HPIL.BIN and place it in the EMU installation directory. After that EMU worked. I have tried putting all 3 in port zero, choosing the HPIL setting from the drop down menu. Everytime EMU71 freezes until I remove the module?

Hi Tom,

Sylvain did choose long filenames. Smile However, it's not necessary to rename the file. Also, it's not necessary to copy the ROM file to the installation directory.

Emu71 does allow you to install more than one HP-IL module, but usually there should be only one and the "B" version is preferred.

From the Emu71/Win manual:
Code:
9.1.2.11 HP 82401A HP-IL module in Port0 slot

1. Switch off calculator
2. Open the "Port Configuration" dialog
3. Select "Port0"
4. Delete Port0 content if necessary
5. Press "Add" Type: HPIL, No. of Chips: 1, Filename: HPILROM.BIN
6. Press "Configure" to open the "HP-IL Interface Setup" dialog and enter the virtual HP-IL parameters
7. Press "OK" to quit the "HP-IL Interface Setup" dialog
8. Press "Apply"
9. Press "OK" to quit the "Port Configuration" dialog
10. Switch on calculator

In Step 5 use whatever name you have for the HP-IL ROM.

After Step 10, execute VER$. This will show you the ROM's you've installed. If you see more than one HPIL entry or no HPIL entries then something went wrong.

Dave
I have done all that a few times with the same result, EMU71 cursor is frozen. I removed the HPIL.ROM file from the EMU71 installation directory and tried again. This time the cursor was normal but on RESTORE IO I get an "IL Timeout" error.

I have tried various configurations of the HPIL rom in port 0. The only one that does not end with a frozen cursor is when I use ROM in the drop down menu instead of HPIL. However there is still no Loop, I get timeout for restore io
I copied and pasted your DOS line for HPDir and that worked fine.
Hi Tom,

What you are describing can be caused by a broken loop. Verify the TCP/IP settings on both Emu71 and ILPer.

Emu71 should have the Out Port at 60001 and the In Port at 60000.
ILPer should have the Out Port set to 60000 and the In Port to 60001.

So, In to Out and In to Out.

Dave
Sorry Dave, I had Ilper set to COM and not TCP\IP. Its working now!
Imported .dat file into EMU71\Win. Transform gave same error L295 which does not exist!
(03-23-2017 08:23 PM)twa14 Wrote: [ -> ]Imported .dat file into EMU71\Win. Transform gave same error L295 which does not exist!

I don't have that issue. Have you examined the text file? There are a couple of other things.
1. The text file attached to Post# 67 is incomplete. It ends in the middle of line 9171 which makes me suspect that your text file is corrupt. The last line should be 9996.
2. In order to TRANSFORM the text file into BASIC, the LEX file KEYWAIT needs to be installed
3. This is a big file, over 47k in the text format. Be sure to install plenty of RAM in Emu71.

Dave
(03-23-2017 02:32 AM)Dave Frederickson Wrote: [ -> ]Does aLIFhdr handle binary file size correctly?

Yes, binary is supported, here is the help output for the latest version of aLIFhdr:

Code:
ALIFHDR: add a 32-byte LIF header for file transfer to HP-71B
Syntax : ALIFHDR input_file LIF_file /[L|B|R|T]
         ALIFHDR LIF_file /i
         ALIFHDR LIF_file output_file /x
Options :
  /L : use HP-71B LEX  file type (default)
  /B : use HP-71B BIN  file type
  /R : use HP-71B ROM  file type
  /T : use HP-71B TEXT file type with data conversion
  /i : display header information of LIF file
  /x : remove header from LIF file
  /h : help
V1.2 (c) J-F. Garnier & C. Giesselink, 2014.

aLIFhdr can be used both ways: to prepend headers (and convert text) to a file to allow import via :DOSLINK, as well as strip the header off files that were written to :DOSLINK.
(03-23-2017 09:13 PM)rprosperi Wrote: [ -> ]
(03-23-2017 02:32 AM)Dave Frederickson Wrote: [ -> ]Does aLIFhdr handle binary file size correctly?

Yes, binary is supported, here is the help output for the latest version of aLIFhdr:

Hi Bob,

That wasn't my question. I'd like to know if aLIFhdr rounds up the file size to an even number of nibbles or somehow determines the correct file size for those files whose size is an odd number of nibbles. Other programs can't do this.

Dave
(03-23-2017 09:22 PM)Dave Frederickson Wrote: [ -> ]
(03-23-2017 09:13 PM)rprosperi Wrote: [ -> ]Yes, binary is supported, here is the help output for the latest version of aLIFhdr:

Hi Bob,

That wasn't my question. I'd like to know if aLIFhdr rounds up the file size to an even number of nibbles or somehow determines the correct file size for those files whose size is an odd number of nibbles. Other programs can't do this.

Dave

A definitive, algorithm-level, answer must come from Jean-Francois and/or Christoph, however I will have to go with a simpler "yes it does", as it can import and export binary files with no loss of fidelity, though when exporting, I imagine odd nibble sized files must have something appended in a benign way as DOS files can obviously only exist in byte-level sizes.
So the answer is no. aLIFhdr does not handle binary file sizes correctly, half the time.

Here's the LIF file header from the LEX file ALPHANUM.
Code:
41 4c 50 48 41 4e 55 4d 20 20 e2 08 00 00 00 02
00 00 00 01 88 08 28 22 03 20 80 01 bf 00 00 00

The last four bytes are the Implementation Bytes and for a binary file these are the file size in nibbles. The bytes are in reverse order so the size is 0xBF, 191 nibbles, or 95.5 bytes. The 71 and DOS round this up to 96 bytes.

I exported the file, using pyILPER and LIFUTILS, then using aLIFhdr created the 32-byte LIF file header.
Code:
41 4c 50 48 41 20 20 20 20 20 e2 08 00 00 00 00 
00 00 00 01 00 00 00 00 00 00 80 01 c0 00 00 00

As you can see the file size has been rounded up to 0xC0, or 192 nibbles. Obviously this is incorrect, but what are the consequences?

Dave
Pages: 1 2 3 4 5 6 7
Reference URL's