Importing and Exporting Files

How to transfer files between IRIS and your PC.


General Info

ASCII — PC’s use an extended ASCII character set of 256 different characters, using all 8 bits in each byte. However, IRIS only recognized 128 characters and set the high order 8th bit in every byte. In addition, IRIS ends each line with 215 (CR), while PC’s end each line with 15+12 (CR_LF).

Recommend reviewing articles on SIMH commands and devices.

See also, instructions on how to share your files with others on this site.

How to IMPORT textfiles

Our standard distribution (on both Diablo31 and Century114) contains a driver $PTR.SIM. It is a modified paper tape reader driver. Its purpose is to read a single textfile from the host computer, drop all 212 (LF) bytes, and set the 200 bit in every byte. This driver is used by the BASIC program IMPORT to read the text and build a textfile on an IRIS drive.

  1. 1. Attach the PC's textfile to the simulator via:
    sim> ATTACH PTR local-text-file
    
    2. Run the IMPORT program
    # IMPORT
    
    3. When prompted, enter a filename, adding "!" at the end 
    if you want to overwrite an existing file.
    
    4. When the import is done, disconnect the file.
    sim> DETACH PTR

How to EXPORT textfiles

Our standard distribution contains a driver $LPT.SIM. It is a modified printer driver. Its purpose is to output text from the host computer, dropping the 200 bit in every byte and adding a LF after every CR. This driver is used by the BASIC program EXPORT.

To use this program, first Attach a host file to simH for it to use as a printer. All IRIS printer output will be written to this host file. If the host file already exists, it will be overwritten. If it does not exist, the simulator will create an empty file and then write to it. Note that the simulator will buffer all output. So once the BASIC program has closed the printer driver, it is still necessary to DETACH the “device” in order to flush the LPT buffer to the host file.

sim> ATTACH LPT host-output-file

# EXPORT
( enter the name of the IRIS text to output )
( wait until it is done )

sim> DETACH LPT

 

DSK raw disk file

As of 5-20-2017, this is still under development.

Data General supported several models of “head-per-track” disks. These are supported by the Nova simH program as well. They are relatively small compared to DKP drives, but large enough to accommodate most any IRIS file.

The idea here is to write a driver $DSK which treats the DSK drive file like an external device, and write the driver such that a BASIC program can directly read or write entire blocks, using a “record number” to represent an RDA. The resulting host file will be simply a binary file where each 512 bytes represent a file block from IRIS. The file header will reside in RDA zero, and the data blocks for the IRIS file will reside in RDA one to whatever. Technically, the file could be a text file, random data file, or any IRIS processor like BYE or DSP.

As of 5-20-2017, binary transfers in and out of IRIS have succeeded. But before it is released, more work is needed to insure no damage to the file is possible.

XMODEM

Although no one has yet undertaken this task, it seems perfectly reasonable to write a new driver $XMODEM which is capable of communicating with a high-functioning TELNET session to move files between IRIS and the Host system. There are several technical challenges to be solved, though, such as what might be needed on the IRIS end to allow a user to toggle between their interactive TELNET session and an XMODEM file transfer.