开云体育

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


 

开云体育

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


 

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


 

开云体育

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


 

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
? ?
? ?
?


 

Hi Tom

Have a look round this?https://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


 

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


 

开云体育

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


 

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


 

开云体育

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


 

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


 

开云体育

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


 

? ? ? ?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


 

开云体育

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


 

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