IMD files are created by the ImageDisk utility in a special format.
This tool allows to recreate a pure data file (.DSK) that can be
used under SimH. The tool is coded solely based on the open description
of the IMD format published by the ImageDisk author, Dave Dunfield.
options_t is assumed to be unsigned in several places, but
was defined as an int32_t. I don't remember why, but if
something breaks, it'll be fixed there.
In particular, several commands assumed an unsigned right
shift to extract fields from options...
Also, remove newlines from host text records copied to FILES-11
when RMS provides (or expects) suitable dellimiters: FIX, VAR, and VFC.
UDF, and STREAM* retain them.
.gitignore carefully excludes some intermediate message files for
Windows builds, but were missed in the backlog commit.
The build scripting for them is easier on Unix.
Create/directory fails because ODS-2 directories use
VAR records with a MRS of 512 and RAT of NOSPAN.
Ordinarily, MRS of 512 limits the data in a VAR record
to 510 bytes (2 bytes are used for the record length).
In the case of a directory, MRS includes the record length.
ODS2 enforces the MRS, but did not take this case into
account.
Fixes#8
Too much to list all, but includes (in no particular order):
- Cleanup for 64-bit builds, MSVC warnings.
- Structured help
- Help file compiler.
- Supports volsets, writes/create work.
- Support for I18n in messages, help.
- Makefiles.
- Initialize volume/volset
- Command line editing/history
Builds and works on Linux and Windows (VS).
Not recently built or tested on other platforms, but
not intentinonally broken.
Update to latest released version of macro-11.
Command run: git subtree pull --prefix=crossassemblers/macro11 ../macro11 macro11-v0.8
(should be equivalent to git subtree pull --prefix=crossassemblers/macro11 git://gitlab.com/Rhialto/macro11.git macro11-v0.8)
Two problems:
1. Spurious "junk at end of line" message because no parsing was done
in pass 2
2. Error messages not shown because error printing only happens in
pass 2
Solution for both is to process the directive in both passes.
Update to latest released version of macro-11.
Command run: git subtree pull --prefix=crossassemblers/macro11 ../macro11 macro11-v0.7.2
(should be equivalent to git subtree pull --prefix=crossassemblers/macro11 git://gitlab.com/Rhialto/macro11.git macro11-v0.7.2)