RE: Re: GCIC Full screen applications - Update

"Rocky" <[email protected]> Wed, 6 Oct 2010 16:44:09 +0200
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
Handling RECFM=U ?

Never gave it muich thought for the editor.

 

Short answer is Yes

 

But I don't want to take this farther because then you'll ask me to give you
something and I don’t have the time to look for it or modify it.

 

What I have does not work on a PDS, could probably be modified but I don't
have the time.

I used to have something that could Zap regular RECFM=u Files in place. 

Don’t ask me to look for it – Not part of the editor. ;-)

 

 

 

 

 

  _____  

From: [email protected] [mailto:[email protected]] On Behalf Of
kerravon86
Sent: Wednesday, October 06, 2010 15:51 
To: [email protected]
Subject: [H390-VM] Re: GCIC Full screen applications - Update

 

  

--- In [email protected] <mailto:H390-VM%40yahoogroups.com> , "Rocky"
<rocsystems@...> wrote:
>
> I don't really understand PDOS well enough to 
> tell you whats missing.

It's more you need to understand your editor,
which is why I am able to ask. :-)

> Except for the screen handling which is IO and 
> which for MVS I intended to
> do with the standard TSO terminal macros.
> 
> Tput Tget STFSMODE STTMPMD

Ok, thanks, that's what I wanted to know.

> The Disk IO part
> 
> Which is open close – and 
> PUT/ GET/READ/open/close/bldl/read/write/check and
> a few others that are needed for handling PDS files properly.

Ok, can you edit a RECFM=U sequential file?

One that has newline separators (x'15') in
it to delineate lines.

> It's not simpe file handling and there is a 
> lot of syste stuff involved.

It should be simple if it's a sequential file,
shouldn't it?

If not, can a simple option be created?

> So in 30 sentences explain what PDOS is or 
> send me to the site to read up on it

30 sentences?

PDOS is a work in progress to emulate MVS to
some extent. (Operationally it also emulates 
MSDOS to some extent - but not programattically).

Because it's a subset of MVS, only a subset of
MVS programs will run.

It is a growing subset, because it is under
active development.

The direction it is growing is not fixed in
stone. It is dependent on what applications
I am trying to support, or what features I
would like to see.

You have an interesting application, and I am
wondering what the barrier is between your
app, and PDOS. It's sort of mid-air refuelling
of an SR71. The SR71 needs to slow down to its
slowest possible speed. The refuelling tank
needs to travel at its maximum speed.

So PDOS has a minimal set of support services,
and so it depends on exactly what you are
doing as to whether you can slow down to the
point where I can grab you.

If you don't do BLDL (because you know it's a
sequential file), then I don't need to support
BLDL. etc etc

I don't think you need to see it personally, but
if you want to, the file is in the hercules-os380
area (there's a PDOS/370, 380 and 390 depending
on which architecture you wish to run under).

The source code is mostly here:

http://pdos.cvs.sourceforge.net/viewvc/pdos/pdos/s370/pdos.c?view=markup

The kludged-up "open" SVC is here:

else if (svc == 22) /* open */
{
gendcb->u1.dcboflgs |= DCBOFOPN;
pdos->context->regs[15] = 0; /* is this required? */
}

Actually most of the kludge is in RDJFCB, and
I'm not sure if I have split these things
appropriately, because it's all transitional
anyway:

else if (svc == 64) /* rdjfcb */
{
int oneexit;

gendcb = (DCB *)pdos->context->regs[10];
/* need to protect against this */
/* and it's totally wrong anyway */
fcnt++;
if (fcnt > 2)
{
gendcb->u1.dcbput = (int)dread;
gendcb->u2.dcbrecfm |= DCBRECU;
gendcb->dcblrecl = 0;
gendcb->dcbblksi = 18452;
}
else
{
gendcb->u1.dcbput = (int)dwrite;
gendcb->u2.dcbrecfm |= DCBRECV;
gendcb->dcblrecl = 254;
gendcb->dcbblksi = 258;
}
gendcb->dcbcheck = (int)dcheck;
oneexit = gendcb->u2.dcbexlsa & 0xffffff;
if (oneexit != 0)
{
oneexit = *(int *)oneexit & 0xffffff;
if (oneexit != 0)
{
dexit(oneexit, gendcb);
}
}
pdos->context->regs[15] = 0;
}

However, regardless of any complaints, at the
end of the day, I am getting the desired effect:

02:36:15 welcome to pcomm
02:36:15 pcomm is calling dir
02:36:15 SVC code is 120
02:36:15 SVC code is 42
02:36:15 got request to run DIR
02:36:15 parameter string is 0 bytes
02:36:15 PLOAD.SYS
02:36:15 PDOS.SYS
02:36:15 CONFIG.SYS
02:36:15 COMMAND.EXE
02:36:15 AUTOEXEC.BAT
02:36:15 WORLD.EXE
02:36:15 SVC code is 1
02:36:15 SVC code is 62

So I envision seeing verbiage like:

got request to start editor
switching to address space 1
locked in device 00c0 (first 3270)
hopefully this app knows how to communicate with 3270s,
because PDOS doesn't!!!
got open request for fred.txt
read 3 bytes
got tput request
about to do ccw
got tget request
about to do ccw
got write request
wrote 12 bytes to fred.txt
editor has terminated
address space 1 terminated
displaying file fred.txt
aaa
bbb
ccc

(and I would have typed in that aaa, bbb, ccc on
another screen via your editor).

Assuming you make reasonable requests from the
OS. :-)

BFN. Paul.