Re: Re: Run CMS non-virtualiized?

Harold Grovesteen <[email protected]>
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
Dave, here is my summary of the DIAGNOSES you have identified.  I would 
appreciate it if you could identify the values used in dmsncp and dmsdio.

X'8' - Virtual Console Function - implemented (BUT for Hercules)
X'C' - Pseudo Timer - implemented
X'20' - 370 Synchronous I/O for DIAGNOSE Support - NOT IMPLEMENTED
X'24' - Device Type and Features - implemented
X'58' - 3270 Virtual Console Interface (vm/370 vintage) - NOT IMPLEMENTED
X'5C' - Error Message Editing - Implemented as a NOOP

CCPDIAG in dmsncp - If "ncp" means Network Control Program, then this 
might be X'50' - Save the 370X Control Program Image.  Not one we need 
to worry about (if this is the correct code).

DIAGNUMin dmsdio - I am guessing this is X'18' from the VM/370 Systems 
Programmer's Guide, guessing the dio means "disk I/O".  This is close to 
X'A8' and would not be too difficult to implement.

Implemented DIAGNOSE X'A8' is the generic replacement for DIAGNOSE 
X'20'.  It could probably be adapted to support DIAGNOSE X'20' without 
too much difficulty.

DIAGNOSE X'58' might be another matter entirely, but I suspect if 
DIAGNOSE X'24' responds with the virtual device type of 3215 AND the 
real device type also 3215, it will not use DIAGNOSE X'24'.  Hercules 
always reports the real and virtual devices to be the same.

DIAGNOSE X'8' and X'5C' of course relate to actual commands CMS issues 
to CP.  What these might be and where they exist would be informative.

My suspicion is that parts of CMS might need to be adjusted for Hercules 
residence.

Harold

Dave Wade wrote:

>
>
> Its not quite as simple as you might imagine as DIAG is sometimes 
> coded DIAG and sometimes X'83' and I guess it could be coded as 
> x'83nn' I got
>  
> C:\Hercules\VM370\source>grep X'83' dms*.*
> dmscwr.assemble:         DC    X'83',X'34',X'005C'  EDIT ERROR MSG 
> ACCORDING   @VA01388 00115000
> dmsdio.assemble:         DC    
> X'83',X'48',AL2(DIAGNUM)                                 00501000
> dmsdmp.assemble:         DC    X'83',X'13',XL2'0008' DIAGNOSE FOR 
> DUMP         @V305066 00327000
> dmsdmp.assemble:         DC    X'83',X'14',XL2'0008' DIAGNOSE FOR 
> PDUMP        @V305066 00362000
> dmsdos.assemble:READY    EQU   X'83'          IND TASK READY TO RUN 
> (IN PIBTAB)@V305001 02026000
> dmsext.assemble:         DC    
> X'83',X'10',X'000C'                                V0040 01339000
> dmsfns.assemble:         DC    X'83',X'D0',X'000C' CALL CP FOR TIME 
> INFO          V0040 00515200
> dmsgio.assemble:DIAG     DC    X'83',X'54',X'0058'  SPECIAL DISPLAY 
> DIAGNOSE   @VM08823 00157000
> dmsldr.assemble:         CLI   8(R12),X'83'   WEAK EXTRN 
> REFERENCE                P3093 00924000
> dmsldr.assemble:CHKTYPE  CLI   8(R12),X'83'   IS THIS A WEAK 
> EXTRN                      01652000
> dmsold.assemble:         CLI   8(R12),X'83'   WEAK EXTRN 
> REFERENCE                P3093 00558000
> dmsold.assemble:CHKTYPE  CLI   8(R12),X'83'   IS THIS A WEAK 
> EXTRN                      01336000
> dmsprt.assemble:         DC    X'83',X'23',XL2'0024'    ISSUE DEVICE 
> TYPE DIAGNOSE      00188000
> dmspun.assemble:         DC    X'83',X'23',XL2'0024'  ISSUE DEVICE 
> TYPE DIAGNOSE        00140000
> dmsrdc.assemble:         DC    X'83',X'23',XL2'0024'  ISSUE DEVICE 
> TYPE DIAGNOSE  V0305 00163500
> dmszap.assemble:         DC    X'83',X'87',X'005C' EDIT ERROR MSG. 
> ACCORDING   @VM03027 02786000
>  
> C:\Hercules\VM370\source>grep " DIAG " dms*.assemble
> dmsabn.assemble:         DC    X'83120008'         DIAG MSG TO CP 
> AND...       @VA05162 00309450
> dmsams.assemble:         DC    X'831E0024'    ISSUE DIAG TO SEE IF 
> TAPE ATT'CHD@V305132 <mailto:ATT%27CHD@V305132> 00378000
> dmsedx.assemble:         DC    X'83890024'    DIAG FOR CONSOLE 
> CLASS           @V60A6B6 00326000
> dmserr.assemble:         DIAG  R1,R14,X'24'            FIND ADDRESS OF 
> CONSOLE    V0005 00893000
> dmserr.assemble:         DIAG  R1,R0,8                 DIAGNOSE TO 
> CP             V0005 00941000
> dmserr.assemble:         DC    X'83120008'         DIAG MSG TO CP 
> AND...       @VA05162 01003000
> dmsins.assemble:         DC    X'83D10024'    DIAG FOR CONSOLE 
> CLASS           @VM03203 00490000
> dmsncp.assemble:         DC    X'83B2',S(CCPDIAG)       INVOKE DMKSNC 
> VIA DIAG @V200820 00599000
> dmsset.assemble:         DC    X'83900020'    DIAG FOR DISK 
> I/O                @VA04692 00917000
> dmstio.assemble:DEC13    DC    H'13'                 RETCOD FROM DIAG 
> 20       @VA08542 00309210
> dmsxcp.assemble:         DC    AL1(83),AL3(SDEXIT)     - CNTRL DIAG 
> LOAD       @V305001 01543000
> dmsxcp.assemble:         DC    AL1(115),AL3(SDEXIT)    - CNTRL DIAG 
> WRITE      @V305001 01544000
> dmsxcp.assemble:         DC    AL1(68),AL3(SDEXIT)     - SENSE READ 
> DIAG ST    @V305001 01550000
>  
> You may also run into issues with HERCULES commands not matching CP 
> command abbreviations. So if a user types "I 190" that would work in 
> CP but not on Hercules...
>  
> Dave Wade G4UGM
> Illegitimi Non Carborundum
>  
>
>     -----Original Message-----
>     From: [email protected] [mailto:[email protected]] On
>     Behalf Of Harold Grovesteen
>     Sent: 30 August 2010 11:05
>     To: [email protected]
>     Subject: Re: [H390-VM] Re: Run CMS non-virtualiized?
>
>     Yes, I was referring to the VM/370 version.  This seems like an
>     interesting project some day.  With all of the enhancements going
>     on that are really CMS enhancements (as near as I can tell from
>     lurking here), running CMS without CP might be more attractive.
>
>     I was just wondering if anyone had done some sort of scan of the
>     source code to find the diags used.  Something that might be more
>     organized than trial and error.
>
>     Harold
>
>     Roger Bowler wrote:
>
>>On Sunday, August 29, 2010 Dave Wade wrote:
>>  
>>
>>>They are just the normal DIAGs so I don't believe there isn't a list
>>>any where. I think the main one is for disk i/o but you could do a
>>>PER TRACE of the IPL to see what actually happens. I guess CMS will
>>>IPL without some DIAGs but then other commands would fail.
>>>    
>>>
>> 
>>Which version of CMS are we talking about? The VM/370 version?
>>
>>Almost from the very start Hercules had support for some of the CP
>>DIAG codes, because one of the scenarios envisaged for Hercules in the
>>1999 timeframe was that CMS would run directly in a Hercules machine
>>without CP. The idea was to offer some kind of mainframe-like personal
>>computing environment (what I considered the PC "ought" to have been!)
>>Being very light on resource consumption, CMS was ideally suited to
>>the somewhat limited PC computing power of the time.
>>
>>At the time the idea did not gain much traction, as people seemed more
>>interested in running MVS, so the project was never completed, but the
>>DIAG support is still there (in vm.c).
>>
>>It would be relatively straightforward to add the missing DIAG codes.
>>AFAICR they are well-documented in the VM manuals.
>>
>>To find out which DIAG codes are missing, you just have to IPL CMS,
>>see where it fails, add the missing DIAG, and repeat until it no
>>longer fails :-)
>>
>>--
>>Regards,
>>Roger Bowler
>>http://perso.wanadoo.fr/rbowler
>>Hercules "I can't believe it's not a mainframe!"
>>
>>
>>
>>------------------------------------
>>
>>Yahoo! Groups Links
>>
>>
>>
>>
>>  
>>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.