On Jun 23, 2026, at 4:17 PM, paul.kimpel--- via cctalk
<cctalk(a)classiccmp.org> wrote:
Yes, DCALGOL is still around and actively used. It is a superset of the standard Extended
ALGOL, and originally exposed some special APIs and data types for talking to the Datacom
Processor front-end. Those APIs are still used, although the "front end" is now
TCP/IP.
The language has since been extended with numerous other APIs for use primarily by
system-programmer types. There is also a DMALGOL compiler primarily used internally with
the DBMS, DMSII. All three ALGOL variants have been compiled from the same source code
since sometime in the '70s.
DCALGOL would have been no different than ALGOL for dealing with tapes, and I'm
surprised you found it harder to do with the MCP than with OS/360 EXCP I/O. Depending on
the block and tape label formats, you may have had to do your own deblocking, and possibly
read the tape as unlabeled, but the MCP I/O Logical I/O subsystem was quite rich even in
1975. You had to understand how the file attribute settings worked when dealing with
non-native tape formats, however -- I've seen that trip a lot of people up. As an
alternative, a variant of Logical I/O called Direct I/O was available, which is user-mode
asynchronous I/O that reads and writes raw blocks. It's basically a thin wrapper
around the MCP's internal Physical I/O mechanism.
I know this is water long over the dam, but I'd be interested in hearing what kinds
of issues you encountered, and if possible, a reference to the DEC formats you were trying
to read
DOS labeled tape, so a file header of 14 bytes followed by data blocks followed by tape
mark, repeat for more files.
The trouble I ran into, at least from my reading of the documentation, is that in
unlabeled mode I could read the first file but MCP would treat the tape mark as the end
and not go past it. I wanted to do the normal DEC thing, giving the program a name to
match where it would read the label, see if it matches, if not skip to the tape mark and
repeat. I could find no way to do that.
Quite possibly it was a case of lack of knowledge. I did not know the OS in depth (having
only spent that summer vacation on it). And the staff wasn't too helpful to a
semi-random outsider (son of a prof but not a student there).
On OS/360 the same was true for most I/O modes, except EXCP where I could issue a skip to
tape mark command directly and keep going.
paul