9 Commits

Author SHA1 Message Date
Timothe Litt
5f00f5b509 Include large file support in SHOW VERSION, work on memory leaks, bufs
Show version includes the other configuration info, including READLINE and ASPI.

Fix a memory leak in Unix show devices.

Start using valgrind.  Add VLD support for Windows.

Fix memory leaks in main command processing.

add command line arguments to history if USEing_READLINE

Add atexit() and rundown support to dismount volumes at exit.

Update makefiles for READLINE - some versions require you to link with termcap or ncurses as well.

Fix memory leak in set default (including implicit set default on mount)

Free WCCFILE on search NAM$M_SYNCHK as VMS does.  Also release when returning RMS$_NMF.
Add nam$l_rlf field to NAM

Implement show devices for VMS.

When reusing a WCB for large file, ensure that the file header pointer is valid.

Add show cwd so it's easy to find out default for local files.

Add set cwd

Add spawn cmd so it's easy to inspect copied files.

Handle condition codes properly.

Finish sysmsg.

Add standard macros to stsdef.h

Deal with strerror on windows.
2016-03-09 13:58:38 -05:00
Timothe Litt
57049f51b3 Implement correct HOM block search
1) Check for the alternate HOM block LBN
2) Continue search on checksum or consistency failure
3) Validate all fields in the ODS-2 specification
4) Compute BOTH checksums.
5) Mask checksum result to 16 bits, always.

Also, call phyio_done on errors mounting physical devices.
2016-03-05 17:29:58 -05:00
Timothe Litt
0935e31ba3 Clean up unix show devices. Add show volumes.
Also, clean up virtual devices in mount error paths.

Update MOUNT help.
2016-03-05 15:10:17 -05:00
Timothe Litt
886c1fae06 Preliminary merge with Baker + other changes
Many style/formatting edits.

Bug fixes.

Reverted some previous changes temporarily while reviewing new code.

Merged Baker's "virtual device" in a simpler form.  ODS2 will assign a sensible
drive name when mounting /image (== /virtual).  If a specific drive name
is desired, mount /image drivename=filespec.

Files can be quoted, or use set qualifier_style unix if slashes are a problem.
Note that mount on the command line allows tab completion.

Moved "statistics" command into show.

Coded support for import/binary (fixed records, 512 bytes).

Converted fgets to fgetline

Added show devices for Unix (limited by standard APIs)

Got rid of separate ODS2-Image build.
2016-03-05 01:27:56 -05:00
Timothe Litt
101a03ee30 Fix compilation with DEBUG. Split out & improve list parser
Various errors in DEBUG code.

List parser for devices and labels used unchecked fixed-size arrays.

Make dynamic, and deal with ", "

Add some paranoia checks to diskio.  Fix memory leak under WIN32.

In phynt, write in the right direction (from Larry Baker notes)
2016-03-03 15:49:13 -05:00
Timothe Litt
2c8ee0b04c Make messages consistent. Stop using fixed input buffer. Volset mount checks
Use the VMS-style messages for all errors,warnings.

Allow selection of full message or just text in getmsg()

Use dynamic buffer for command input (except VMS).

Simplify command input and pre-processing.

Mount command improvements:
  If labels are specified, make sure they match the volumes
  Make sure number of devices specified matches hom block's volset count.
  Verify that all volumes claim to belong to the same volume set
  Verify that volumes are mounted in RVN order, and that labels match VOLSET.SYS
  When a volume set is mounted, announce its name.
  Improve cleanup on mount failure (more to do)

Remove obsolete/unused header.h
2016-03-02 17:35:50 -05:00
Timothe Litt
61c8001044 Bug fixes and compiler warnings. Unix readline support, pass 1
Fix various compiler warnings.

Fix bug causing double free when a file isn't found.

Fix bug using uninitialized variable parsing null filename.

Fix bug causing crash when format 3 retrieval pointer encountered.

Add support for readline (command line editing and history on Unix)

Untangle NT I/O so it builds without the direct access SCSI API & works.

Report errors as text messages everywhere.

Add MSVC project files.

Implement most of dir/full

Partially implement XABITM

Add help to command tables.

Allow choice of VMS qualifiers or Unix options.
  mount /write // /dev/cdrom
or
  mount -write /dev/cdrom

Parse quoted strings as command parameters.
   Mount /write "/dev/cdrom"
   search [*...]*.txt "My words for you"

Resolve command, parameter & qualifier ambiguity from tables.

Consolidate the various makefiles into a common file with very small
platform-specific wrappers.  This simplifies maintenance.

Add diskio module to allow easy access to .iso images and simulator files.
Removes requirement for loop device or equivalent.  Builds as a separate
executable.

Writes to the ODS2 volumes are broken.
2016-02-26 17:46:46 -05:00
Timothe Litt
b70fc2f639 Upgrade to version 1.3 = Hunter Goatley
This version was on the VMS FREEWARE disk at some point.

It shipped with the included .exes, though modern windows systems certainly don't support the
direct access to SCSI DLL that's used.
2016-02-21 19:07:54 -05:00
Mark Pizzolato
9eb5d72553 Import most recent simtools.zip and add a few extra tape converters 2015-05-21 15:07:13 -07:00