> On Jun 23, 2026, at 4:17 PM, paul.kimpel--- via cctalk
> <[email protected]> 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