• Cobol on RSTS/E V10

    From S Johnson@21:1/5 to All on Mon Nov 13 14:00:01 2023
    I'm not sure if this group is still alive, but I'm happy to have found it.

    I'm running RSTS V10.1L under SIMH and managed to install Cobol-81 V2.3 from the distribution tapes. The install was successful and passed the verification steps. When I try to compile a simple Hello world program, I get a command not installed error.
    C81 does seem to come up, but i have found literally no documentation or help files in regards to it's use.

    Is anyone able to get me on the right starting track?

    Thanks in advance!
    --Scott

    Total of 2104 blocks in 40 files in SY:[100,100]

    $ dir *.cob

    Name .Typ Size Prot Name .Typ Size Prot SY:[100,100]
    TEST .COB 1 < 60>

    Total of 1 block in 1 file in SY:[100,100]

    $ cobol test.cob
    cobol test.cob
    ^
    ?Command not installed
    $ c81 test.cob
    C81 -- V2.3
    $

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From S Johnson@21:1/5 to All on Mon Nov 13 17:13:34 2023
    I might be onto something here. It seems that the installation created a logical named C81$ which points to SY:[0,55]. When I looked at that, there were no files there at all. I copied all the C81*.* files from the [1,2] account that were left behind
    after the build, the COBOL command started functioning properly, as well as LINK BLAH/COBOL.

    As I'm a novice with RSTS/E (I haven't used it since I was a kid--I'm 58 now) and a total newb administering one; I'm not sure if I managed to get it working by accident, and haven't actually installed the product properly.

    --scott

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johnny Billquist@21:1/5 to S Johnson on Tue Nov 14 10:12:52 2023
    On 2023-11-13 23:00, S Johnson wrote:
    I'm not sure if this group is still alive, but I'm happy to have found it.

    I'm running RSTS V10.1L under SIMH and managed to install Cobol-81 V2.3 from the distribution tapes. The install was successful and passed the verification steps. When I try to compile a simple Hello world program, I get a command not installed
    error. C81 does seem to come up, but i have found literally no documentation or help files in regards to it's use.

    Is anyone able to get me on the right starting track?

    Thanks in advance!
    --Scott

    Total of 2104 blocks in 40 files in SY:[100,100]

    $ dir *.cob

    Name .Typ Size Prot Name .Typ Size Prot SY:[100,100] TEST .COB 1 < 60>

    Total of 1 block in 1 file in SY:[100,100]

    $ cobol test.cob
    cobol test.cob
    ^
    ?Command not installed
    $ c81 test.cob
    C81 -- V2.3
    $

    As it happens, I have the C81 RSTS/E manuals. See http://mim.stupi.net/manuals/LAYERED/

    Johnny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From S Johnson@21:1/5 to All on Tue Nov 14 11:17:59 2023
    That's awesome! Thank you! To be sure it wasn't just a fluke, I'm doing a fresh install of the system today. Those manuals will be a great help. Thank you again!



    As it happens, I have the C81 RSTS/E manuals. See http://mim.stupi.net/manuals/LAYERED/

    Johnny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bill@21:1/5 to S Johnson on Tue Nov 14 16:34:33 2023
    On 11/14/2023 2:17 PM, S Johnson wrote:
    That's awesome! Thank you! To be sure it wasn't just a fluke, I'm doing a fresh install of the system today. Those manuals will be a great help. Thank you again!


    I had to manually move C81ODL.TSK and C81RFM.TSK from [1,2] to
    [0,55]. Then it worked just fine. Except I am find some strange
    behavior in the compiler.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From S Johnson@21:1/5 to All on Tue Nov 14 17:16:26 2023
    I had to manually move C81ODL.TSK and C81RFM.TSK from [1,2] to
    [0,55]. Then it worked just fine. Except I am find some strange
    behavior in the compiler.

    bill

    What kind of strange behavior? I haven't really gotten into C81 hard yet, but compiled a simple Hello world program fine. I do notice that terminal cursor placement (DISPLAY-AT) isn't always the same on different devices. On the simh console set as
    VT100, it works properly, a terminal connected via putty to the DZ device prints the escape sequence. Still puzzling that one out. It may be a configuration issue with the DZ connections. I've got a few other irons in the fire developing a printer
    emulator etc so this really isn't a serious priority.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johnny Billquist@21:1/5 to S Johnson on Wed Nov 15 14:47:20 2023
    On 2023-11-15 02:16, S Johnson wrote:

    I had to manually move C81ODL.TSK and C81RFM.TSK from [1,2] to
    [0,55]. Then it worked just fine. Except I am find some strange
    behavior in the compiler.

    bill

    What kind of strange behavior? I haven't really gotten into C81 hard yet, but compiled a simple Hello world program fine. I do notice that terminal cursor placement (DISPLAY-AT) isn't always the same on different devices. On the simh console set as
    VT100, it works properly, a terminal connected via putty to the DZ device prints the escape sequence. Still puzzling that one out. It may be a configuration issue with the DZ connections. I've got a few other irons in the fire developing a printer
    emulator etc so this really isn't a serious priority.

    With regards to escape sequences, one have to understand a couple of
    things about RSTS/E as well as escape sequences...

    First of all, moving the cursor is done by the escape sequence CSI y ; x H

    Now, CSI can be either ESC [ or the 8-bit sequence CSI.

    ESC is 033, and CSI is 0233. So basically, CSI is ESC with the high bit set.

    Some terminal emulators don't understand the 8-bit sequence, and only understands the 7-bit equivalent. ESC [ in this case.

    I hope that is simple enough and straight forward.


    Now comes RSTS/E. The terminal driver in RSTS/E tries to be helpful by
    usually printing most control characters out in a visual representation.
    This means that if you try and print an ESC, you will actually not get
    an ESC out, but instead a dollar sign, which is how RSTS/E visually
    represents the ESC. In order for the terminal driver to not do this
    visual representation, you need to set the high bit on the ESC. If that
    is done, then RSTS/E will not convert the character to its visual representation.
    Now, here is where it then gets tricky. As observed above, ESC with the
    high bit set can be interpreted as CSI. But if you send ESC [, with the
    high bit set on the ESC, the terminal can see CSI [, which is an
    "illegal" sequence, and the terminal aborts the escape sequence processing.

    So what you need to do is tell the terminal that it should only use
    7-bit controls, even if you are running in 8-bit. And possibly strip off
    the 8th bit. However, if you are using Latin-1, that would also mean any Latin-1 characters get corrupted. Or else if you can tell RSTS/E that
    you want 8-bit controls, and get it to output CSI without any left bracket.

    I'm afraid I'm not enough of an expert with RSTS/E, or with enough
    experience to give more details on how to solve this beyond the
    information here. I used to use RSTS/E 40 years ago. Since then I've
    mostly been on the RSX side, where this problem don't exist.

    And I don't really know Cobol. I located the RSTS/E manuals because I
    couldn't find the RSX ones, and the basics of the compiler is the same
    on both OSes.

    Johnny

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bill@21:1/5 to S Johnson on Wed Nov 15 11:03:30 2023
    On 11/14/2023 8:16 PM, S Johnson wrote:

    I had to manually move C81ODL.TSK and C81RFM.TSK from [1,2] to
    [0,55]. Then it worked just fine. Except I am find some strange
    behavior in the compiler.

    bill

    What kind of strange behavior? I haven't really gotten into C81 hard yet, but compiled a simple Hello world program fine. I do notice that terminal cursor placement (DISPLAY-AT) isn't always the same on different devices. On the simh console set as
    VT100, it works properly, a terminal connected via putty to the DZ device prints the escape sequence. Still puzzling that one out. It may be a configuration issue with the DZ connections. I've got a few other irons in the fire developing a printer
    emulator etc so this really isn't a serious priority.

    Well, maybe not strange, really, but interesting.
    The name of the program apparently gets put in the symbol table so
    if it shows up later as data item ( or in my case a paragraph name )
    it is already defined. And, another is the WITH CONVERSION option
    is needed where in more modern compilers like GnuCOBOL it is accepted
    but is only seen as a comment.

    I am sure there are others but nothing standard violating just
    different. I always have fun trying COBOL programs on different
    systems to see what is need to port them.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From S Johnson@21:1/5 to All on Wed Nov 15 09:55:37 2023
    I've run into some quirks between COBOL on VMS, and GnuCobol, such as using screens, and display statements in the same code. VMS Cobol takes this all in stride and has no issues. It apparently keeps track of the current cursor position (properly or
    improperly depending on your point of view). GnuCobol has some issues with using DISPLAY and SCREENS SECTION in the same application. If I remember correctly, once a DISPLAY is issued, Displaying a screen starts misbehaving. I'm not an COBOL expert,
    so I really can't point a finger at who's right or wrong. They're just different. Personally I prefer the way VMS is handling it. Using display and screens in the same application without problems is certainly a better way for me. I'm sure there's
    other quirks between the compilers, it's always an adventure porting code from one place to another :)



    Well, maybe not strange, really, but interesting.
    The name of the program apparently gets put in the symbol table so
    if it shows up later as data item ( or in my case a paragraph name )
    it is already defined. And, another is the WITH CONVERSION option
    is needed where in more modern compilers like GnuCOBOL it is accepted
    but is only seen as a comment.

    I am sure there are others but nothing standard violating just
    different. I always have fun trying COBOL programs on different
    systems to see what is need to port them.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nigel Williams@21:1/5 to All on Tue Sep 24 06:25:16 2024
    Here is the Users Guide for the first/second version of DEC PDP-11 COBOL:

    https://drive.google.com/file/d/1-Ws4igxAUQ0QaMQDBCwbeooC3T0UnVZ-/view?usp=drive_link

    I am keen to find these early versions of this COBOL (those that predate V4.1 found on the Internet) if anyone kept a copy.

    See my post in comp.lang.cobol for the timeline for releases of this language.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)