Re: Two New Projects

 

Jim,

Which README file? The problem is that there are two run-time libraries. One that is supplied with GCCCMS and which uses the OS macros, and one that has been written by VMers that uses the native CMS macros.

This means there are two sets of �.h� files and the GCC exec on the “Y� disk chooses by linking and access the appropriate disk from GCCCMS.

When you try and do this from GCCCMS you get in a mess�.

� I would never recommend using distribution IDs for development..

Dave

From: [email protected] <[email protected]> On Behalf Of Jim Snellen
Sent: 25 January 2021 00:52
To: [email protected]
Subject: Re: [h390-vm] Two New Projects

Hi Peter,
Thanks for the feedback. The instructions in the README file says to use GCCCMS although it also says it was tested in 6PExt.
Does it not work in plain old 1.2 Sixpack? Perhaps that's where I went wrong. I'll try CMSUSER next then 6PExt/CMSUSER.

So far, I have Sixpack 1.2, Sixpack 6PExt, and Sixpack 1.3 Beta. I presume 1.3 Beta will become VM/370 CE 1.3.0 some day.
Do you know if CE 1.3.0 will be cumulative of the 3 flavors I have? I'm a little confused. . .

Jim


Re: Two New Projects

 

Hi Peter,
Thanks for the feedback. The instructions in the README file says to use GCCCMS although it also says it was tested in 6PExt.
Does it not work in plain old 1.2 Sixpack? Perhaps that's where I went wrong. I'll try CMSUSER next then 6PExt/CMSUSER.

So far, I have Sixpack 1.2, Sixpack 6PExt, and Sixpack 1.3 Beta. I presume 1.3 Beta will become VM/370 CE 1.3.0 some day.
Do you know if CE 1.3.0 will be cumulative of the 3 flavors I have? I'm a little confused. . .

Jim


Re: GCC under VM370 CMS

 

Diagnose 58 is in the base VM/370. The base version only supports the X'19' CCW
which is not a fullscreen interface. CLRSCRN, and my example program use
Diagnose 5 with a X'19' CCW. That works fine on a VM system without the fullscreen
CCW support in the Diagnose 58 Sixpack modifications.

Bob


On Sun, Jan 24, 2021 at 9:12 AM Dave Wade <dave.g4ugm@...> wrote:

If you look at the source for CLRSCRN it does not use DIAG 58 and works on systems without the DIAG 58 updates�.

Dave

From: [email protected] <[email protected]> On Behalf Of Bob Bolch
Sent: 24 January 2021 14:09
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Here is a sample sequence:

CLR CSECT

USING NUCON,0

STM R14,R12,12(R13)

LR R12,R15

USING CLR,R12

WAITT , WAIT FOR TERMINAL ACTIVITY TO STOP.
L R3,ADEVTAB GET ADDRESS OF DEVICE TBL IN NUCON
LH R2,0(R3) GET THE CONSOLE ADDRESS.
LA R1,CCWCLEAR GET ADDRESS OF THE CLEARING CCW.
DIAG R1,R2,X'58' ISSUE THE DIAGNOSE FOR CLEARING.
LM R14,R12,12(R13)

SR R15,R15
BR 14 RETURN TO THE CALLER.
CCWCLEAR DC 0D'0',X'19',AL3(0),XL2'20FF',AL2(1)

NUCON ,

REGEQU,

END

On Sun, Jan 24, 2021 at 9:02 AM Dave Wade <dave.g4ugm@...> wrote:

My bad. DIAG 58 does full screen IO but if all you want to do is clear the screen there are simple IO sequences that do that without flipping to 3270 mode.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 13:24
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Dave,

I thought we were talking about a diag 58 call? Doesnt diag 58 do 3270 full screen IO?

Joe

On Sun, Jan 24, 2021 at 6:37 AM Dave Wade <dave.g4ugm@...> wrote:

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Image removed by sender.

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

If you look at the source for CLRSCRN it does not use DIAG 58 and works on systems without the DIAG 58 updates�.

Dave

From: [email protected] <[email protected]> On Behalf Of Bob Bolch
Sent: 24 January 2021 14:09
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Here is a sample sequence:

CLR CSECT

USING NUCON,0

STM R14,R12,12(R13)

LR R12,R15

USING CLR,R12

WAITT , WAIT FOR TERMINAL ACTIVITY TO STOP.
L R3,ADEVTAB GET ADDRESS OF DEVICE TBL IN NUCON
LH R2,0(R3) GET THE CONSOLE ADDRESS.
LA R1,CCWCLEAR GET ADDRESS OF THE CLEARING CCW.
DIAG R1,R2,X'58' ISSUE THE DIAGNOSE FOR CLEARING.
LM R14,R12,12(R13)

SR R15,R15
BR 14 RETURN TO THE CALLER.
CCWCLEAR DC 0D'0',X'19',AL3(0),XL2'20FF',AL2(1)

NUCON ,

REGEQU,

END

On Sun, Jan 24, 2021 at 9:02 AM Dave Wade <dave.g4ugm@...> wrote:

My bad. DIAG 58 does full screen IO but if all you want to do is clear the screen there are simple IO sequences that do that without flipping to 3270 mode.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 13:24
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Dave,

I thought we were talking about a diag 58 call? Doesnt diag 58 do 3270 full screen IO?

Joe

On Sun, Jan 24, 2021 at 6:37 AM Dave Wade <dave.g4ugm@...> wrote:

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Image removed by sender.

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

Here is a sample sequence:
CLR CSECT
USING NUCON,0
STM R14,R12,12(R13)
LR R12,R15
USING CLR,R12
WAITT , WAIT FOR TERMINAL ACTIVITY TO STOP.
L R3,ADEVTAB GET ADDRESS OF DEVICE TBL IN NUCON
LH R2,0(R3) GET THE CONSOLE ADDRESS.
LA R1,CCWCLEAR GET ADDRESS OF THE CLEARING CCW.
DIAG R1,R2,X'58' ISSUE THE DIAGNOSE FOR CLEARING.
LM R14,R12,12(R13)
SR R15,R15
BR 14 RETURN TO THE CALLER.
CCWCLEAR DC 0D'0',X'19',AL3(0),XL2'20FF',AL2(1)
NUCON ,
REGEQU,
END

On Sun, Jan 24, 2021 at 9:02 AM Dave Wade <dave.g4ugm@...> wrote:

My bad. DIAG 58 does full screen IO but if all you want to do is clear the screen there are simple IO sequences that do that without flipping to 3270 mode.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 13:24
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Dave,

I thought we were talking about a diag 58 call? Doesnt diag 58 do 3270 full screen IO?

Joe

On Sun, Jan 24, 2021 at 6:37 AM Dave Wade <dave.g4ugm@...> wrote:

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

My bad. DIAG 58 does full screen IO but if all you want to do is clear the screen there are simple IO sequences that do that without flipping to 3270 mode.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 13:24
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

Dave,

I thought we were talking about a diag 58 call? Doesnt diag 58 do 3270 full screen IO?

Joe

On Sun, Jan 24, 2021 at 6:37 AM Dave Wade <dave.g4ugm@...> wrote:

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

Dave,

I thought we were talking about a diag 58 call? Doesnt diag 58 do 3270 full screen IO?

Joe

On Sun, Jan 24, 2021 at 6:37 AM Dave Wade <dave.g4ugm@...> wrote:

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: Two New Projects

 

Hi Jim,

I think your problems with NOT ATTACHED and NOT ACCESSED are arising because
you are logged on to GCCCMS. I'd suggest trying to build the code while
logged on to CMSUSER. GCCCMS is only for maintaining GCC and related stuff.

Regards,
Peter Coghlan.


HI Tom, I'm not a C guy but I have done some BASIC stuff in the old days. I
followed the directions but I'm getting a DMSACC113S 'T (19F) ' NOT ATTACHED
followed by a DISK 'T' NOT ACCESSED. I'm logged into the GCCCMS machine and
these messages occurs when I key *gcc cmsbasic c*. I then went ahead with
the directions and *cmsbasic bx10 bas* seems to go into a loop because it
processed well over 4-5 minutes before I re-IPLed CMS.
I then uploaded TBASIC.EXEC and ran it.
tbasic
FILE 'GCCLIB_S TXTLIB' NOT FOUND.
.. ERASE CMSBASIC MAP
.. Compling CMSBASIC
DMSACC113S 'T (19F) ' NOT ATTACHED
DISK 'T' NOT ACCESSED.
.. LOAD CMSBASIC
THE FOLLOWING NAMES ARE UNDEFINED:
STRLEN ISALPHA STRCPY STRCMP MALLOC REALLOC STRCHR ISDIGIT
FREE PRINTF @@EXIT FCLOSE ISUPPER FOPEN FEOF FGETC
ATOF ATOL ATOI FGETS FPRINTF SPRINTF ISALNUM STRCAT
MEMSET FSEEK FPUTS REMOVE GETS POW ABS ATAN
COS SIN TAN SQRT SINH TANH TOUPPER TOLOWER
TIME CTIME ISSPACE @@CRT0
.. GENMOD CMSBASIC
.. RENAME MAP
Ready; T=28.69/41.11 20:11:54
What am I doing wrong?
Also, I noticed each C file and BAS file contained a USERID GCCCMS
statement. Check out Moshix video M101 on Youtube to get data in/out of
VM/370 and the Mac/PC.


Re: GCC under VM370 CMS

 

Joe,

Thats fine but in VM the console is not a 3270�.

� if you use that code you will sometimes generate a wait.

Look at the source of the CLRSCRN module.

Dave

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 24 January 2021 12:27
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address

x'4040': Row 1, Column 1

x'3c': Repeat to Address

x'4040: Row 1, Column 1

x'00': Character to write

x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe

On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

The actual code you want is x'1140403C40400013'.

In 3270 data stream, that means:

x'11': Set Buffer Address
x'4040': Row 1, Column 1
x'3c': Repeat to Address
x'4040: Row 1, Column 1
x'00': Character to write
x'13': Insert Cursor

So, starting at Row 1, Column 1, write hex 00 and repeat until Row 1, Column 1, then Insert the Cursor.

IOW, write hex '00' to every buffer location and put the cursor at row 1, column 1. Note that because this starts and ends at R1C1 it is size independent, and so works on any size of screen.

Joe


On Sat, Jan 23, 2021 at 11:47 PM Mark Waterbury <mark.s.waterbury@...> wrote:
Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: GCC under VM370 CMS

 

There are lots of incarnations. It was late and I was rushing. What I should have said is that there is the source of a CLRSCRN module on the MAINT CMS mods disk but the module on the “Y� disk but it GENMODed to load into the user area.

So you can’t run it using “system()�. A “CLRTPA� module could be made by just loading it elsewhere. It could be made into a subroutine quite simply, you might need some calls to flush the IO before it.

You can see the source by logging onto MAINT and doing CMSACC to access the CMS mods disk and it will be on the “B� drive.

Dave

From: [email protected] <[email protected]> On Behalf Of Thomas Kern via groups.io
Sent: 24 January 2021 00:32
To: [email protected]
Subject: Re: [h390-vm] GCC under VM370 CMS

I remember a VMFCLEAR module and another VMFCLR module. I do not remember what level of VM or if they were transient modules. Neither one would have been too large to get the text and load/genmod as transient.

/Tom

On 2021-01-23 18:05, Tom Chandler wrote:

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c

On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

I see a CLRSCRN MODULE on the Sixpack 1.3 beta 3 Y-disk.
Bob Bolch


Re: GCC under VM370 CMS

 

Hi Tom

Have a look round thishttps://github.com/devhawala/mecaff

The home of the brilliant EE editor etc. Somewhere in there is the c source for low level diag58 stuff and 3270 datastream err... more stuff!

Adrian


Re: GCC under VM370 CMS

 

Hi, again, Tom,

The first thing to understand is that in VM, with CMS, the "console" when it is a 3270 operates in two "modes" -- a line-at-a-time mode where it is emulating a keyboard printer (3215) type of console, and you can also use the CP DIAG x'58' facility to perform full-screen 3270 I/O.

When you use DIAG x'58' you must supply the actual 3270 data stream. You can find relevant manuals on bitsavers. Let me know if you need more specific pointers on that.

Tommy Sprinkle has created a nice tutorial on 3270 data streams here:



It was written for MVS, but the data streams part is the same; you will just be using DIAG x'58' vs. TSO TPUT/TGET ...

The main feature you are looking for is called "Erase Write". That's how you clear the screen.

Note that, once you put the console into full-screen mode, CP expects all further interactions to remain "full-screen"... you may want to revert to line-at-a-time mode, depending on your needs.

Hope this helps (somewhat) ...

All the best,

Mark S. Waterbury


Re: Two New Projects

 

Hi, Tom,

I recall we had MTS LISP running under VM/CMS back in the late 1970s.

The way it was done, someone wrote a small "layer" or "jacket" or "wrapper" for all of the MTS system calls, and that layer issued equivalent CMS macros for CMS services.

So, the first step would be to study the code to try to identify and isolate where it interfaces to MTS.

Hope that helps,

Mark S. Waterbury


Re: Two New Projects

 

HI Tom, I'm not a C guy but I have done some BASIC stuff in the old days. I followed the directions but I'm getting a DMSACC113S 'T (19F) ' NOT ATTACHED followed by a DISK 'T' NOT ACCESSED. I'm logged into the GCCCMS machine and these messages occurs when I key gcc cmsbasic c. I then went ahead with the directions and cmsbasic bx10 basseems to go into a loop because it processed well over 4-5 minutes before I re-IPLed CMS.
I then uploaded TBASIC.EXEC and ran it.
tbasic
FILE 'GCCLIB_S TXTLIB' NOT FOUND.
.. ERASE CMSBASIC MAP
.. Compling CMSBASIC
DMSACC113S 'T (19F) ' NOT ATTACHED
DISK 'T' NOT ACCESSED.
.. LOAD CMSBASIC
THE FOLLOWING NAMES ARE UNDEFINED:
STRLEN ISALPHA STRCPY STRCMP MALLOC REALLOC STRCHR ISDIGIT
FREE PRINTF @@EXIT FCLOSE ISUPPER FOPEN FEOF FGETC
ATOF ATOL ATOI FGETS FPRINTF SPRINTF ISALNUM STRCAT
MEMSET FSEEK FPUTS REMOVE GETS POW ABS ATAN
COS SIN TAN SQRT SINH TANH TOUPPER TOLOWER
TIME CTIME ISSPACE @@CRT0
.. GENMOD CMSBASIC
.. RENAME MAP
Ready; T=28.69/41.11 20:11:54
What am I doing wrong?
Also, I noticed each C file and BAS file contained a USERID GCCCMS statement. Check out Moshix video M101 on Youtube to get data in/out of VM/370 and the Mac/PC.


Re: GCC under VM370 CMS

 

I remember a VMFCLEAR module and another VMFCLR module. I do not remember what level of VM or if they were transient modules. Neither one would have been too large to get the text and load/genmod as transient.

/Tom

On 2021-01-23 18:05, Tom Chandler wrote:

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c


On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

Thank you. I will investigate and see what I can do.

Again, Thank You

Tom c


On Sat, Jan 23, 2021 at 4:47 PM Dave Wade <dave.g4ugm@...> wrote:

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


Re: GCC under VM370 CMS

 

Tom,

You need to use a DIAG 58 call. There are no character sequences that clear the screen. I think the simplest solution is to create a “clrscrn� module that loads in the transient area and run that with the system command.

Dvae

From: [email protected] <[email protected]> On Behalf Of Tom Chandler
Sent: 23 January 2021 20:31
To: [email protected]
Subject: [h390-vm] GCC under VM370 CMS

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c


GCC under VM370 CMS

 

I am trying to figure out to perform a clear screen form a "GCC C" program. I am using
the wc3270 program on WIndows to talk to Hercules VM370. I have tried several
different hex codes with no luck. Has anyone using "GCC C VM370 CMS" sent a command to
clear the screen.

Hope this is clear.

Thank You
Tom c