开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

DOS/VS Handshaking as VM/CE Guest


 

If anyone chooses to re-assemble the DOS/VS supervisor, I will first recommend creating a new one, defining a new name (ie. $$A$SUPx).? After doing so, the POWER statement to spool output to VM (PSTART LST,00E,A,,VM) will not work.? A PDZAP is required.? Following is a dialog between me and Professor Rene Ferland which corrects this situation.
--------------------------------------------------------------------
Greetings Professor Ferland,
?
I apologize for contacting you directly and, if you prefer, I'll open a thread on?/g/H390-DOSVS.
?
On 8/14/21, in response to Steve Orso, you wrote:
?
On Fri, Aug 13, 2021 at 03:20 PM, <stephen.orso@...> wrote:
[...] and in particular what you need to do to run it under VM/370.
Have you run your DOS/360 under VM/370? It should not be very hard. But the one problem I see is handshaking (automatic close of spool print/punch files), probably not implemented on DOS/360.?The OS has to be patched for that. George Shedlock did it for DOS/VS.

Cheers,

Rene FERLAND, Montreal

?
I'm particularly interested in the bold statements in your response.
?
I generated a supervisor to change the storage allocations for each partition.? After re-IPLing with the new supervisor, I've lost the ability to spool print to VM/CE using HercPRT.? Is there a subsequent task to be done?
--
Best Regards,
?
Jim Snellen

FIRST RESPONSE
Hello Jim,

Unfortunately, I am not sure I can help you. George Shedlock is the one who implemented handshaking. He knew the operating system, assembler and what to do. Me I can only guess from the jobs he provided.

If you logon?to the DOSVS virtual machine, minidisk 191 contains all the material of George Shedlock. There are two update jobs: SGSVC UPDATE A, and SGATAB UPDATE A. From what I understand, the first is to update (or add?) supervisor call SVC56 (presumably for handshaking). It will punch a job in the reader queue that has then to be run to perform the update. The same is true for SGATAB UPDATE A, which updates the tables and constants. If you just changed the supervisor, I would assume you don't have to run these jobs again. The updates they made are likely still there.

What you probably need to do is change/run the job $$A$SUP1 ZAPS A. This job modifies the $$A$SUP1 phase in the core library for handshaking. It makes a very small change to the supervisor binary at a specific address. Presumably, when you re-assembled the supervisor, your new binary does not have the modification and that's why handshaking does not work anymore. I don't know if you can run George Shedlock's job as such for your new supervisor, or if you need to change the address because of the changes you made. One possible way to find out is to re-assemble George Shedlock original supervisor ($$A$SUP1 DOSVS A) and examine the listing to determine where the ZAP is done and find the equivalent in your new supervisor.

That's the best I can do for you.

Good luck!

Rene FERLAND, Montreal

SECOND RESPONSE
Hello Jim,
?
I have assembled George Shedlock's original $$A$SUP1 supervisor and I can see what the ZAP has done to it.
?
It (apparently) changes the last bit of SYSFLAG4 (check the PNG attached): I think the ZAP says to check (VER) for 6001,6808 at address 738 and, if it is there, replace it with 6001,6809 (REP).
?
So, check your own supervisor for SYSFLAG4, find the address and value, and adjust the ZAP accordingly? :-)
?
Cheers,
?
Rene FERLAND, Montreal

REPLY
Hello Professor,
As always, you have come through again!? My changes to the new supervisor did not change the offset so I was able to run the PDZAP using the new name.? The VM handshake works wonderfully.
?
With your permission, I will post this dialog on?/g/H390-DOSVS?so that others may benefit from your wisdom.
?
Thank you.
?
?
?
Attachments area


 

Wouldn't it be better to just directly fix the supervisor generation macro instead? (to support a new e.g. VM=YES|NO option?)

Then no zap would be involved at all. You could generate a new supervisor at any time and would be guaranteed of always having VM handshaking support as long as VM=YES was specified. <shrug>

Or is doing that somehow undesirable?

<me: slightly confused>

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Jim
Snellen
Sent: Monday, October 24, 2022 7:01 PM
To: [email protected]
Subject: [H390-DOSVS] DOS/VS Handshaking as VM/CE Guest
Importance: High

If anyone chooses to re-assemble the DOS/VS supervisor, I will first
recommend creating a new one, defining a new name (ie. $$A$SUPx). After
doing so, the POWER statement to spool output to VM (PSTART LST,00E,A,,VM)
will not work. A PDZAP is required. Following is a dialog between me and
Professor Rene Ferland which corrects this situation.
--------------------------------------------------------------------

Greetings Professor Ferland,

I apologize for contacting you directly and, if you prefer, I'll open a
thread on /g/H390-DOSVS </g/H390-DOSVS>
.

On 8/14/21, in response to Steve Orso, you wrote:

On Fri, Aug 13, 2021 at 03:20 PM, <stephen.orso@...> wrote:


[...] and in particular what you need to do to run it under VM/370.

Have you run your DOS/360 under VM/370? It should not be very hard. But
the one problem I see is handshaking (automatic close of spool print/punch
files), probably not implemented on DOS/360. The OS has to be patched for
that. George Shedlock did it for DOS/VS.

Cheers,

Rene FERLAND, Montreal


I'm particularly interested in the bold statements in your response.

I generated a supervisor to change the storage allocations for each
partition. After re-IPLing with the new supervisor, I've lost the ability
to spool print to VM/CE using HercPRT. Is there a subsequent task to be
done?
--

Best Regards,

Jim Snellen

FIRST RESPONSE
Hello Jim,

Unfortunately, I am not sure I can help you. George Shedlock is the one
who implemented handshaking. He knew the operating system, assembler and
what to do. Me I can only guess from the jobs he provided.

If you logon to the DOSVS virtual machine, minidisk 191 contains all the
material of George Shedlock. There are two update jobs: SGSVC UPDATE A,
and SGATAB UPDATE A. From what I understand, the first is to update (or
add?) supervisor call SVC56 (presumably for handshaking). It will punch a
job in the reader queue that has then to be run to perform the update. The
same is true for SGATAB UPDATE A, which updates the tables and constants.
If you just changed the supervisor, I would assume you don't have to run
these jobs again. The updates they made are likely still there.

What you probably need to do is change/run the job $$A$SUP1 ZAPS A. This
job modifies the $$A$SUP1 phase in the core library for handshaking. It
makes a very small change to the supervisor binary at a specific address.
Presumably, when you re-assembled the supervisor, your new binary does not
have the modification and that's why handshaking does not work anymore. I
don't know if you can run George Shedlock's job as such for your new
supervisor, or if you need to change the address because of the changes
you made. One possible way to find out is to re-assemble George Shedlock
original supervisor ($$A$SUP1 DOSVS A) and examine the listing to
determine where the ZAP is done and find the equivalent in your new
supervisor.

That's the best I can do for you.

Good luck!

Rene FERLAND, Montreal

SECOND RESPONSE

Hello Jim,

I have assembled George Shedlock's original $$A$SUP1 supervisor and I can
see what the ZAP has done to it.

It (apparently) changes the last bit of SYSFLAG4 (check the PNG attached):
I think the ZAP says to check (VER) for 6001,6808 at address 738 and, if
it is there, replace it with 6001,6809 (REP).

So, check your own supervisor for SYSFLAG4, find the address and value,
and adjust the ZAP accordingly? :-)

Cheers,

Rene FERLAND, Montreal

REPLY
Hello Professor,

As always, you have come through again! My changes to the new supervisor
did not change the offset so I was able to run the PDZAP using the new
name. The VM handshake works wonderfully.

With your permission, I will post this dialog on /g/H390-
DOSVS </g/H390-DOSVS> so that others may benefit from
your wisdom.

Thank you.



Attachments area


 

Fish,
That certainly would be a great way of addressing this issue. Given this was your idea, I’ll let you choose the supervisor macro to modify and write the code to do it. I certainly don’t have expertise to do it.

Best regards,
Jim

On Oct 24, 2022, at 10:52 PM, Fish Fish <david.b.trout@...> wrote:

?Wouldn't it be better to just directly fix the supervisor generation macro instead? (to support a new e.g. VM=YES|NO option?)

Then no zap would be involved at all. You could generate a new supervisor at any time and would be guaranteed of always having VM handshaking support as long as VM=YES was specified. <shrug>

Or is doing that somehow undesirable?

<me: slightly confused>

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Jim
Snellen
Sent: Monday, October 24, 2022 7:01 PM
To: [email protected]
Subject: [H390-DOSVS] DOS/VS Handshaking as VM/CE Guest
Importance: High

If anyone chooses to re-assemble the DOS/VS supervisor, I will first
recommend creating a new one, defining a new name (ie. $$A$SUPx). After
doing so, the POWER statement to spool output to VM (PSTART LST,00E,A,,VM)
will not work. A PDZAP is required. Following is a dialog between me and
Professor Rene Ferland which corrects this situation.
--------------------------------------------------------------------

Greetings Professor Ferland,

I apologize for contacting you directly and, if you prefer, I'll open a
thread on /g/H390-DOSVS </g/H390-DOSVS>
.

On 8/14/21, in response to Steve Orso, you wrote:

On Fri, Aug 13, 2021 at 03:20 PM, <stephen.orso@...> wrote:


[...] and in particular what you need to do to run it under VM/370.

Have you run your DOS/360 under VM/370? It should not be very hard. But
the one problem I see is handshaking (automatic close of spool print/punch
files), probably not implemented on DOS/360. The OS has to be patched for
that. George Shedlock did it for DOS/VS.

Cheers,

Rene FERLAND, Montreal


I'm particularly interested in the bold statements in your response.

I generated a supervisor to change the storage allocations for each
partition. After re-IPLing with the new supervisor, I've lost the ability
to spool print to VM/CE using HercPRT. Is there a subsequent task to be
done?
--

Best Regards,

Jim Snellen

FIRST RESPONSE
Hello Jim,

Unfortunately, I am not sure I can help you. George Shedlock is the one
who implemented handshaking. He knew the operating system, assembler and
what to do. Me I can only guess from the jobs he provided.

If you logon to the DOSVS virtual machine, minidisk 191 contains all the
material of George Shedlock. There are two update jobs: SGSVC UPDATE A,
and SGATAB UPDATE A. From what I understand, the first is to update (or
add?) supervisor call SVC56 (presumably for handshaking). It will punch a
job in the reader queue that has then to be run to perform the update. The
same is true for SGATAB UPDATE A, which updates the tables and constants.
If you just changed the supervisor, I would assume you don't have to run
these jobs again. The updates they made are likely still there.

What you probably need to do is change/run the job $$A$SUP1 ZAPS A. This
job modifies the $$A$SUP1 phase in the core library for handshaking. It
makes a very small change to the supervisor binary at a specific address.
Presumably, when you re-assembled the supervisor, your new binary does not
have the modification and that's why handshaking does not work anymore. I
don't know if you can run George Shedlock's job as such for your new
supervisor, or if you need to change the address because of the changes
you made. One possible way to find out is to re-assemble George Shedlock
original supervisor ($$A$SUP1 DOSVS A) and examine the listing to
determine where the ZAP is done and find the equivalent in your new
supervisor.

That's the best I can do for you.

Good luck!

Rene FERLAND, Montreal

SECOND RESPONSE

Hello Jim,

I have assembled George Shedlock's original $$A$SUP1 supervisor and I can
see what the ZAP has done to it.

It (apparently) changes the last bit of SYSFLAG4 (check the PNG attached):
I think the ZAP says to check (VER) for 6001,6808 at address 738 and, if
it is there, replace it with 6001,6809 (REP).

So, check your own supervisor for SYSFLAG4, find the address and value,
and adjust the ZAP accordingly? :-)

Cheers,

Rene FERLAND, Montreal

REPLY
Hello Professor,

As always, you have come through again! My changes to the new supervisor
did not change the offset so I was able to run the PDZAP using the new
name. The VM handshake works wonderfully.

With your permission, I will post this dialog on /g/H390-
DOSVS </g/H390-DOSVS> so that others may benefit from
your wisdom.

Thank you.



Attachments area





 

Jim Snellen wrote:
Fish wrote:

Wouldn't it be better to just directly fix the supervisor
generation macro instead? (to support a new e.g. VM=YES|NO
option?)

Then no zap would be involved at all. You could generate a
new supervisor at any time and would be guaranteed of always
having VM handshaking support as long as VM=YES was specified.
<shrug>

Or is doing that somehow undesirable?

<me: slightly confused>
Fish,
That certainly would be a great way of addressing this issue.
Given this was your idea, I’ll let you choose the supervisor
macro to modify and write the code to do it. I certainly don’t
have expertise to do it.

Best regards,
Jim
Well, I'm kind of busy with something else right now, but what the hell. It should be fairly easy.

To help speed things up, would you (or someone) please either upload, post the contents of, or send directly to me (preferred) the contents of the two mentioned files please? ("SGSVC UPDATE A", and "SGATAB UPDATE A").

Thanks.

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


 

Fish,
I’ll be glad to send it to you. If you have VM/370 CE, log on to DOSVS. The DOSVS mini disk 191 A contains the two files you asked for as well as the original supervisor and zap jobs.

Best regards,
Jim

On Oct 25, 2022, at 11:33 AM, Fish Fish <david.b.trout@...> wrote:

?Jim Snellen wrote:
Fish wrote:

Wouldn't it be better to just directly fix the supervisor
generation macro instead? (to support a new e.g. VM=YES|NO
option?)

Then no zap would be involved at all. You could generate a
new supervisor at any time and would be guaranteed of always
having VM handshaking support as long as VM=YES was specified.
<shrug>

Or is doing that somehow undesirable?

<me: slightly confused>
Fish,
That certainly would be a great way of addressing this issue.
Given this was your idea, I’ll let you choose the supervisor
macro to modify and write the code to do it. I certainly don’t
have expertise to do it.

Best regards,
Jim
Well, I'm kind of busy with something else right now, but what the hell. It should be fairly easy.

To help speed things up, would you (or someone) please either upload, post the contents of, or send directly to me (preferred) the contents of the two mentioned files please? ("SGSVC UPDATE A", and "SGATAB UPDATE A").

Thanks.

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...









 

Jim Snellen wrote:

Fish,
I’ll be glad to send it to you. If you have VM/370 CE, log on
to DOSVS. The DOSVS mini disk 191 A contains the two files you
asked for as well as the original supervisor and zap jobs.
René already sent them to me.

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


 

Fish wrote:
Jim Snellen wrote:
Fish wrote:

Wouldn't it be better to just directly fix the supervisor
generation macro instead? (to support a new e.g. VM=YES|NO
option?)

Then no zap would be involved at all. You could generate a
new supervisor at any time and would be guaranteed of always
having VM handshaking support as long as VM=YES was specified.
<shrug>

Or is doing that somehow undesirable?

<me: slightly confused>
Fish,
That certainly would be a great way of addressing this issue.
Given this was your idea, I’ll let you choose the supervisor
macro to modify and write the code to do it. I certainly don’t
have expertise to do it.

Best regards,
Jim
Well, I'm kind of busy with something else right now, but what the
hell. It should be fairly easy.

Here's a copy of the email I just sent to René just now, with a copy of the attachment inlined further below:


While I have NOT tested it, I believe the attached should do the trick.

It's still unclear to me however, WHY that particular bit needs to be set in order for things to work right. I'm going to GUESS that maybe some JOBCTL phase (or perhaps a POWER/VS phase?) is checking that particular bit to determine whether VM handshaking support exists or not? (and if it does, it then issues SVC 56?)

But that's just a guess. :)

(It's been TOO many years since I've messed with DOS/VS(E) and VM!)


* $$ JOB JNM=FOPT,CLASS=0
* $$ PUN DISP=I,CLASS=0
* $$ LST CLASS=A,JSEP=0
// JOB FOPT ESERV UPDATE E.FOPT
// EXEC PGM=ASSEMBLY
PUNCH '// JOB ASMSVC FOPT'
PUNCH '// OPTION EDECK '
PUNCH '// EXEC ASSEMBLY '
END
/*
// EXEC ESERV
GENEND
DSPCH E.FOPT
) COL 73,8
) VER 22560034,46
SYSFLAG4 DC B'0&BGDAT2&BGVSAM.0&BLXECB.000'
) REP 22560034
SYSFLAG4 DC B'0&BGDAT2&BGVSAM.0&BLXECB.001'
) END
/*
// EXEC ASSEMBLY
PUNCH '/* '
PUNCH '/&& '
END
/*
/&
* $$ EOJ


--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


 

I got a real thrill out of looking at those code examples.

Took me right back to my 1970s systems programmer days.......

Steve

On Tue, 25 Oct 2022 at 20:30, Fish Fish <david.b.trout@...> wrote:
Fish wrote:
> Jim Snellen wrote:
> > Fish wrote:
> >
> > > Wouldn't it be better to just directly fix the supervisor
> > > generation macro instead? (to support a new e.g. VM=YES|NO
> > > option?)
> > >
> > > Then no zap would be involved at all. You could generate a
> > > new supervisor at any time and would be guaranteed of always
> > > having VM handshaking support as long as VM=YES was specified.
> > > <shrug>
> > >
> > > Or is doing that somehow undesirable?
> > >
> > > <me: slightly confused>
> >
> > Fish,
> > That certainly would be a great way of addressing this issue.
> > Given this was your idea, I’ll let you choose the supervisor
> > macro to modify and write the code to do it.? I certainly don’t
> > have expertise to do it.
> >
> > Best regards,
> > Jim
>
> Well, I'm kind of busy with something else right now, but what the
> hell. It should be fairly easy.


Here's a copy of the email I just sent to René just now, with a copy of the attachment inlined further below:


While I have NOT tested it, I believe the attached should do the trick.

It's still unclear to me however, WHY that particular bit needs to be set in order for things to work right. I'm going to GUESS that maybe some JOBCTL phase (or perhaps a POWER/VS phase?) is checking that particular bit to determine whether VM handshaking support exists or not? (and if it does, it then issues SVC 56?)

But that's just a guess. :)

(It's been TOO many years since I've messed with DOS/VS(E) and VM!)


? ? * $$ JOB JNM=FOPT,CLASS=0
? ? * $$ PUN DISP=I,CLASS=0
? ? * $$ LST CLASS=A,JSEP=0
? ? // JOB FOPT ESERV UPDATE E.FOPT
? ? // EXEC PGM=ASSEMBLY
? ? ? ? ? ? ?PUNCH '// JOB ASMSVC FOPT'
? ? ? ? ? ? ?PUNCH '// OPTION EDECK '
? ? ? ? ? ? ?PUNCH '// EXEC ASSEMBLY '
? ? ? ? ? ? ?END
? ? /*
? ? // EXEC ESERV
? ? ?GENEND
? ? ?DSPCH E.FOPT
? ? ) COL 73,8
? ? ) VER 22560034,46
? ? SYSFLAG4 DC? ? B'0&BGDAT2&BGVSAM.0&BLXECB.000'
? ? ) REP 22560034
? ? SYSFLAG4 DC? ? B'0&BGDAT2&BGVSAM.0&BLXECB.001'
? ? ) END
? ? /*
? ? // EXEC ASSEMBLY
? ? ? ? ? ? ?PUNCH '/* '
? ? ? ? ? ? ?PUNCH '/&& '
? ? ? ? ? ? ?END
? ? /*
? ? /&
? ? * $$ EOJ


--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...