> 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

Reply via email to