18 Commits

Author SHA1 Message Date
Timothe Litt
d7d2293838 Add XEN's libvhd
These comprise the vhd library from the XEN project.  They are a subset of the XEN tools.

From http://www.openfoundry.org/svn/xenids/xen-4.0.0/tools/blktap2/

This commit is the baseline as found in XEN.  Subsequent commits will fix compile issues
and allow compilation under Windows.

The API will remain compatible with the shared library, which can also be used. (With
these headers.)
2016-03-20 08:39:43 -04:00
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
9187ed8353 Ignore Baker directory (files being considered for merge) 2016-03-03 15:52:09 -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
b2c51a08ad Remove fixed buffers in set default, simplify command_line processing
Convert fixed buffers in set default to dynamic.

Remove unnecessary complexity in command_line assembly.
2016-03-02 23:56:47 -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
45e3b4e500 Add parameter to dismount, better drive letter assignment, small bugs
Dismount command lost drive parameter in previous commit.

Under windows, limit confusion by assigning pseudo-drive letters for images more
carefully.  Avoid letters used by Windows.

Dir /detail wasn't reporting rab$b_fsz correctly.

qualifier list keyword syntax error now reported correctly.

Include Windows release .exes in git.

Improve conditional compilation in compat.
2016-02-29 22:24:30 -05:00
Timothe Litt
a88888f24e Parse qualifer=value, bugfixes
Parse & provide help for /qualifier=value /qualifier=(keyword,keyword...)
      Use for for dir/date and dir/size

Allow multiple dates for dir.  e.g.
      dir/date=(created,expired,backup,modified)

Specify size options consistent with VMS:
      dir/size=(used,alloc)

Ignore \r in indirect command files under non-windows
2016-02-29 07:25:42 -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
3b052a6aa6 Apply patch from vms2linux.de, creating version 1.3hb
This patch:
Corrects some symbol conflicts
Raises the optimization level
uses '//' to stop parsing qualifiers to allow copying to unix directories
allows '$" to separate multiple commands on the command line

I scraped the patch off the website, de-htmlized it, and applied it.

Note: I'm not updating the .exes!
2016-02-21 19:18:29 -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
Timothe Litt
2d7f74e9ff Add Makefiles, fix some compile errors
There are more compile errors, especially in the cross-assemblers.
But I'm leaving those for someone else.
2015-05-26 17:42:36 -04:00
Timothe Litt
a18b1f8d62 Reorganize tools
1) The readme is out-of-date, and unreadable on github
2) Some tools have their own directories, some don't
3) Many tools have neither readme nor descriptions.
4) Some files are misplaced

This reorganizes so that each tool has its own directory, even if it only has a single file
(Hint: If you use a tool, please add/update READMEs)

The master README is complete, and readable on github

The tools are in alphabetical order within category.  There are some cases where this probably isn't the right thing to do, e.g. where there are separate tools that do "to" and "from" conversions.

Each tool has at least a 1-line description in the master readme

This commit does not change any tool.
2015-05-24 09:06:23 -04:00
Mark Pizzolato
9eb5d72553 Import most recent simtools.zip and add a few extra tape converters 2015-05-21 15:07:13 -07:00
Bob Supnik
abf806277d simh tools 2011-04-15 08:34:17 -07:00