[Simh] Transferring the licence file to the VAX emulator

Johnny Billquist bqt at softjar.se
Mon Dec 17 15:16:19 EST 2018


On 2018-12-17 18:40, Paul Koning wrote:
> 
> 
>> On Dec 17, 2018, at 12:29 PM, Clem Cole <clemc at ccc.com> wrote:
>>
>> The problem is the license manager code you are running into is expecting an RMS file, not a Stream I/O.  In the old days, the idea of 'access methods' was the natural ways OS's did I/O and RMS was VMS's answer.   Since today's programmers tend to have grown up with C/C++/Java and stream I/O, you need to think in terms of a programming 'Framework' that is inflicting some level structure on the file.  FWIW: Stream style I/O and the STREAM-LF file format was added to VMS to support VAX11/C, and normal programmers (correctly) started to avoid RMS (it was funny how quickly the compiler runtime teams abandoned RMS, but I digress).  But if the code was written assuming RMS (which was all VMS had for many years), the files need RMS.
> 
> That's odd, I thought that (on VMS) you didn't have any choice about using RMS.  Well, not unless doing raw block I/O.

Correct. And I seriously doubt the license manager is trying to go out 
of its way to make it hard here.

> Stream is one of the formats supported by RMS, exactly as fixed and variable records (with prefix length) are.  Actually, stream comes in three flavors, depending on whether the record delimiter is LF, CR, or CR/LF.  RMS-11 also supports these, FWIW.

Well, RMS-11 actually only supports Stream, which is the same as 
Stream_CRLF under VMS. Stream_LF and Stream_CR more or less works fine 
reading with RMS-11, but the formats as such does not exist.

And to comment to Clem, the length field is 16 bits and have been so 
since RMS first saw the light. So the maximum length is 65535 bytes, not 
255. And counted strings in Pascal have nothing to do with it.

> So unless license manager goes out of its way to enforce a particular record format for its input files, I would think it "should just work", RMS should read the on-disk format and deliver the records (lines) according to the encoding described by the file attributes.

It should work, assuming that the file attributes are correct, which is 
where I strongly suspect the problem lies. A CD with ISO 9660 file 
system just don't have VMS file attributes on the files, so you need 
some way of telling the system that the files actually are in stream_lf 
format.

> Finally, one suggestion was to transfer the file by cut & paste into a VMS editor; in that case the record format is chosen by the editor when creating the file, and the fact you're pasting from a Unix system is not a factor.

That is also an option.

And then I have my possibly very sneaky alternative: TECO. TECO usually 
swallows and does the right thing for very many things, and if not, it's 
very easy to correct, and then let TECO write the file out, and you'll 
have a file with the right format and attributes.

   Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the Simh mailing list