
                                                                         UPHOME



CP/M Utilities for the xtrs Emulator
-------------------------------------------------------------------------------


Contents



  EXPORT

  IMPORT

  XTRS

Bug_Reports
Download

Programs

These programs were written for CP/M and make use of the emulator traps in Tim
Mann's_xtrs_Emulator.
IMPORT and EXPORT also work (with the exception of the -H option) when running
CP/M on David_Keil's_Model_4/4P_Emulator.

EXPORT

Export CP/M file(s) to the host operating system.

Usage


  Usage:	EXPORT [-H][-L][-T][-V] cpmfileref [hostfilename]

  Where:	cpmfileref is the local file to export
  	   (use "?" and "*" to specify multiple files)
  	hostfilename is the name of the file to create on the host
  	   (converted to uppercase by default), use -L to convert
  	   to lowercase and [ to toggle case of next character.
  	-H switches emulator to high speed and restores speed when done.
  	-L converts hostfilename to lowercase.
  	-T export text file (CR LF becomes LF, stop at SUB character).
  	-V (verbose) display "r" for block read, "w" for block written.


Notes

CP/M does not keep an accurate file size. Binary files are always multiples of
128 byte blocks; text files end at the first sub character.
The CP/M CCP converts all command line parameters to uppercase, hence the need
of the -L option and the use of [ to toggle the case of the next character
within the hostfilename.

Examples



  EXPORT -LT HELPFILE.TXT README.TXT
      Export local file "HELPFILE.TXT" as a text file to "readme.txt" on the
      host.

  EXPORT RUNME.COM
      Export local file "RUNME.COM" as a binary file to "RUNME.COM" on the
      host.


IMPORT

Imports a file from the host operating system to CP/M.

Usage


  Usage:	IMPORT [-F][-H][-L][-T][-V] hostfilename [cpmfilename]

  Where:	hostfilename is the name of the file on the host
  	   (converted to uppercase by default), use -L to convert
  	   to lowercase and [ to toggle case of next character.
  	cpmfilename is the name of the CP/M file to create,
  	   existing files will not be overwritten unless -F is used.
  	-F overwrite existing files.
  	-H switches emulator to high speed and restores speed when done.
  	-L convert hostfilename to lowercase.
  	-T import text file (LF becomes CR LF, add SUB at end of file).
  	-V (verbose) display "r" for block read, "w" for block written.


Notes

CP/M does not keep an accurate file size, both binary and text files will be
padded to multiples of 128 byte blocks.
The CP/M CCP converts all command line parameters to uppercase, hence the need
of the -L option and the use of [ to toggle the case of the next character
within the hostfilename.

Examples



  IMPORT -LT README.TXT HELPFILE.TXT
      Import "readme.txt" from the host as a text file to "HELPFILE.TXT".

  IMPORT RUNME.COM
      Import "RUNME.COM" from the host as a binary file to "RUNME.COM".


XTRS

Controls miscellaneous functions of the xtrs emulator.

Usage


  Usage:	XTRS action [parameters]

  Where:	action is one of the following:
  	   BOOT - reboot emulator
  	   CHANGE - signal disk change
  	   DEBUG - enter debugger
  	   EXIT - end emulator
  	   HIGHSPEED - high speed (autodelay off)
  	   MOUNT [-L] hostfilename disknum - mount disk
  	   NORMALSPEED - normal speed (autodelay on)
  	   REPORT - report status
  	   SYSTEM command - execute command on host
  	   UMOUNT disknum - umount disk
  	hostfilename is the name of the virtual disk file on the host
  	   (converted to uppercase by default), use -L to convert to
  	   lowercase and [ to toggle case of next character.
  	command is the command (and parameters) to execute on the host
  	   (converted to lowercase by default), use [ to toggle case.
  	   Note output from command is NOT displayed in the XTRS window.
  	disknum is disk drive number (between 0 and 3 inclusive).
  	-L converts hostfilename to lowercase.


Warning

The XTRS program assumes that the emulator's virtual disk files - diskM-U
(where M is the TRS-80 model and U is the drive number) - are symbolic links.
For example:

  $ ls -l
  -rw-r--r--    1 user  group    213504 Mar 21 15:24 cpmutil.dsk
  lrwxrwxrwx    1 user  group        10 Mar  5 12:40 disk4p-0 -> system.dsk
  lrwxrwxrwx    1 user  group        11 Mar  7 13:49 disk4p-3 -> cpmutil.dsk
  -rw-r--r--    1 user  group    745984 Mar 24 17:38 system.dsk

The MOUNT action deletes the diskM-U file, replaces it with a symbolic link to
the given filename and signals a disk change (as if F7 had been pressed).
The UMOUNT action deletes the diskM-U file and signals a disk change.

Notes

When changing disks, remember that CP/M must also be told of the disk change.
This is usually done by pressing ctrl-C at the prompt.

Examples



  XTRS MOUNT -L DATA.DSK 1
      Mount the virtual disk file "data.dsk" on drive 1. The actual command
      that would be executed on the host is:
      rm -f disk4p-1;test -f data.dsk && ln -s data.disk disk4p-1

  XTRS UMOUNT 1
      Unmount the virtual disk file associated with drive 1. The actual command
      that would be executed on the host is:
      rm -f disk4p-1


Bug Reports

Send Bug Reports and comments to Roland_Gerlach.

Download



  cpmutil.tgz
      Source code and programs in a gzipped tar file.

  cpmutil.dsk.gz
      All of these programs (including source code) on a virtual disk formatted
      as a "Montezuma Micro Standard DATA disk (40T, SS, DD, 200K)" with 512-
      byte sectors. Be careful to configure CP/M with the proper disk format
      and drive parameters (40 tracks, not 80 tracks), or you will have
      problems reading this disk.

-------------------------------------------------------------------------------
      Comments and suggestions are welcome, send them to Roland_Gerlach.
