RE: Re: Run CMS non-virtualiized?

"Dave Wade" <g4ugm-/rAkYNWUBEC+PENguQupYdBc4/[email protected]>
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <0B1DA00C2BBA4ABE935B179977D3AB22@G4UGMT41>
I think I missed some..... but not a lot.... .... I'll do some proper
checking when I get a moment....
 
C:\Hercules\VM370\source>grep X'83 dms*.*
dmsabn.assemble:         DC    X'83120008'         DIAG MSG TO CP AND...
@VA05162 00309450
dmsabn.assemble:         DC      X'834D0010'           GO RELEASE PAGES
@VA01106 00464100
dmsacm.assemble:         DC    X'83EF0024'    DIAGNOSE TO 'CP' FOR THE
DEVICE TYPEP3097 00224000
dmsams.assemble:         DC    X'831E0024'    ISSUE DIAG TO SEE IF TAPE
<mailto:ATT'CHD@V305132> ATT'CHD@V305132 00378000
dmsams.assemble:         DC    X'83120064'     FIND SAVED SYSTEM
@V305132 00553000
dmsams.assemble:         DC    X'83120064'     LOAD THE SHARED SYSTEM
@V305132 00563000
dmsams.assemble:         DC    X'83340064'     PURGE THE SHARED SYSTEM
@V305132 00607000
dmsare.assemble:         DC    X'83670008'    ISSUE DETACH REQUEST
@V305038 00295000
dmsasn.assemble:         DC    X'83090024'         DIAGNOSE TO GET MODEL
<mailto:NUMBER@V505098> NUMBER@V505098 00958200
dmsasn.assemble:         DC    X'83090024'    DIAGNOSE CODE 24
@V305066 00967000
dmsasn.assemble:DIAGNOSE DC    X'83010024'
@V305066 00992000
dmsbop.assemble:         DC    X'83230064'    FIND SAVED SYSTEM
@V305106 02498000
dmsbop.assemble:         DC    X'83230064'    LOAD THE SHARED VSAM SYSTEM
@V305106 02512000
Binary file dmsbtp.assemble matches
dmscpf.assemble:         DC    X'83230008'    PASS COMMAND LINE TO CP TO
EXECUTE        00150000
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
dmsdlk.assemble:         DC    X'83120018'        DIAGNOSE CODE
@V305065 01844000
dmsdlk.assemble:         DC    X'832F0024'        ISSUE DEVICE TYPE DIAGNOSE
@V305065 06405000
dmsdmp.assemble:         DC    X'83130008'    DIAGNOSE FOR DUMP
@V305066 00113000
dmsdmp.assemble:         DC    X'83140008'    DIAGNOSE FOR PDUMP
@V305066 00148000
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
dmsdos.assemble:         DC    X'83450064'    FIND SAVED SYSTEM
@V305132 02276000
dmsdos.assemble:         DC    X'83450064'    LOAD THE SHARED SYSTEM
@V305132 02286000
dmsdsv.assemble:         DC    X'836F0024'        ISSUE DEVICE TYPE DIAGNOSE
@V305065 00847000
dmsedi.assemble:         DC    X'83430024'    DIAGNOSE FOR CONSOLE CLASS
@VM03203 03110000
dmsedx.assemble:         DC    X'83340064'    LOADSYS
@V305614 00261000
dmsedx.assemble:         DC    X'83890024'    DIAG FOR CONSOLE CLASS
@V60A6B6 00326000
dmserr.assemble:         DC    X'83100008'             DIAGNOSE IT TO CP
00955000
dmserr.assemble:         DC    X'83120008'         DIAG MSG TO CP AND...
@VA05162 01003000
dmsexc.assemble:         DC    X'83890064'    LOADSYS
@V305614 00155000
dmsext.assemble:         DC    X'83',X'10',X'000C'
V0040 01339000
dmsfch.assemble:         DC    X'83900020'    DIAGNOSE I/O TO CP
@V305001 00716000
dmsfns.assemble:         DC    X'83',X'D0',X'000C' CALL CP FOR TIME INFO
V0040 00515200
dmsfor.assemble:         DC    X'83230024'    ASK CP ABOUT IT
00586000
dmsfor.assemble:         DC    X'835E0020'    LET 'CP' DO ALL THE HARD WORK.
@VA03452 00769000
dmsfor.assemble:         DC    X'835E0020'
01360000
dmsgio.assemble:DIAG     DC    X'83',X'54',X'0058'  SPECIAL DISPLAY DIAGNOSE
@VM08823 00157000
dmsifc.assemble:         DC    X'8310001C'  DIAGNOSE TO PERFORM ERASE.  IF
THE @V4085A8 02207000
dmsifc.assemble:         DC    X'8321002C'    DIAGNOSE '2C' -- WILL RETURN
<mailto:CCPD@V5088AA> CCPD@V5088AA 02897000
dmsifc.assemble:         DC    X'8313002C'    RETRIEVE HDRSTART AND HDRWFLG
@V5088AA 02903000
dmsini.assemble:DIAGRD   DC    X'83010020'    READ THE NUCLEUS INTO MAIN
STORAGE        00169000
dmsini.assemble:         DC    X'83DF0024'    FIND OUT THE CONSOLE ADDRESS
V0029 00189250
dmsini.assemble:         DC    X'8310000C'    ...
00260000
dmsini.assemble:CHECKCON DC    X'83DE0024'    IS IT ATTACHED ?
00269000
dmsini.assemble:CHECKIPL DC    X'83010024'    IS THE DEVICE ATTACHED AND
DASD ?         00309000
dmsini.assemble:         DC    X'83010020'    READ IN THE MFD FROM THE IPL
DEVICE       00316000
dmsini.assemble:         DC    X'83010020'    WRITE THE MFD BACK OUT AGAIN
00319000
dmsini.assemble:         DC    X'83010020'    WRITE OUT IPL TEXT AND DMSINIR
00456000
dmsini.assemble:         DC    X'83010020'    WRITE OUT IPL TEXT AND DMSINIR
00463000
dmsini.assemble:DIAGWR   DC    X'83010020'    WRITE THE NUCLEUS ONTO THE
DISK           00509000
dmsinm.assemble:         DC    X'8310000C'    'DIAGNOSE' TO READ CLOCK
P8024 00100000
dmsins.assemble:         DC    X'83100008'    ISSUE 'SAVESYS' WITH USER'S
INPUT   P3096 00198000
dmsins.assemble:         DC    X'83340064'        DIAGNOSE
@V305665 00243000
dmsins.assemble:         DC    X'83DF0024'    SPECIAL-FORM DEVTYPES
DIAGNOSE.     V0218 00252000
dmsins.assemble:         DC    X'83AE0020'    SEE WHAT'S OUT THERE
00273000
dmsins.assemble:         DC    X'83AD0024'    FIND OUT ITS CHARACTERISTICS
00337000
dmsins.assemble:CORINIT  DC    X'83DE0060'    DIAGNOSE MACHINE SIZE
@V305001 00362000
dmsins.assemble:         DC    X'83120064'    LOADSYS
@V305614 00402000
dmsins.assemble:         DC    X'83120064'    PURGESYS
@V305614 00410000
dmsins.assemble:         DC    X'8312000C'    TELL ME THE TIME
@V305032 00416000
dmsins.assemble:         DC    X'83D10024'    DIAG FOR CONSOLE CLASS
@VM03203 00490000
dmsint.assemble:         DC    X'834D0064'    PURGESYS CMSSEG
@V305614 00332750
dmsint.assemble:         DC    X'834D0010'        GO RELEASE PAGES.
00342000
dmsits.assemble:         DC    X'83120064'        ISSUE LOADSYS DIAGNOSE
@V305665 00816000
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
dmslds.assemble:         DC    X'83100020'    DIAGNOSE READ TO CP
@V201101 01177000
dmslsb.assemble:REL      DC    X'83BA0010'    RELEASE PAGES
@VA04106 00589800
dmsncp.assemble:         DC    X'83B2',S(CCPDIAG)       INVOKE DMKSNC VIA
DIAG @V200820 00599000
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
dmsprv.assemble:         DC    X'83100020'    DIAGNOSE I/O TO CP
@V305001 00295000
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
dmsrea.assemble:         DC    X'8323002C'      DIAGNOSE RETURNS THE DISK
@V5088AA 00287100
dmsrea.assemble:         DC    X'83120030'  DIAGNOSE READS PAGE OF ERROR
RECS. @V4085A8 00352000
dmsros.assemble:         DC    X'83100020'    CALL CP FOR DISK I/O
@V201105 00658000
dmsrrv.assemble:         DC    X'83100020'    DIAGNOSE I/O TO CP
@V305001 00482000
dmsset.assemble:         DC    X'83340064'
@V305014 00832000
dmsset.assemble:         DC    X'83340064'
@V305014 00838000
dmsset.assemble:         DC    X'83900020'    DIAG FOR DISK I/O
@VA04692 00917000
dmsset.assemble:         DC    X'83340064'    ISSUE FINDSYS DIAGNOSE
@V305001 00958000
dmsset.assemble:         DC    X'83340064'    ISSUE LOADSYS DIAGNOSE
@V305001 00967000
dmsset.assemble:         DC    X'83130064'    ISSUE PURGESYS DIAGNOSE
@V305001 01007000
dmsset.assemble:         DC    X'83130064'    ISSUE PURGESYS DIAGNOSE
@V305114 01013000
dmsset.assemble:         DC    X'83340064'    PURGE OLD SEGMENT
@V305614 01217000
dmsset.assemble:         DC    X'83340064'    FINDSYS NEW SEGMENT
@V305614 01223000
dmsset.assemble:         DC    X'83340064'    LOADSYS
@V305614 01234000
dmssrv.assemble:         DC    X'83100020'    DIAGNOSE I/O TO CP
@V305001 00329000
dmsssk.assemble:         DC    X'83450064'    FINDSYS
@V305614 00128000
dmssvt.assemble:         DC    X'8310000C'        DIAGNOSE FOR TIME
V0277 02393000
dmstio.assemble:DIAG20   DC    X'839A0020'    DIAGNOSE TAPE I/O
@VA03458 00276100
dmstpe.assemble:         DC    X'83560024'         DIAGNOSE TO CHECK
FEATURES     P0917 00568000
dmsvib.assemble:         DC    X'83230064'         FIND SAVED SYSTEM
@V305174 00130000
dmsvib.assemble:         DC    X'83230064'         LOAD THE SHARED SYSTEM
@V305174 00142000
dmsvsr.assemble:         DC    X'83120064'    PURGE THE SHARED SYSTEM
@V305106 00171000
dmsvsr.assemble:         DC    X'83340064'    PURGE SAVED AMS SYSTEM
@V305106 00186000
dmsxcp.assemble:         DC    X'83010020'    DIAGNOSE I/O TO CP
@V305001 00903000
dmsxcp.assemble:         DC    X'83010020'    DIAGNOSE I/O TO CP
@V305001 01007000
dmszap.assemble:         DC    X'83',X'87',X'005C' EDIT ERROR MSG. ACCORDING
@VM03027 02786000
 
 
 
 

Dave Wade G4UGM

Illegitimi Non Carborundum

 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of
Harold Grovesteen
Sent: 30 August 2010 23:35
To: [email protected]
Subject: Re: [H390-VM] Re: Run CMS non-virtualiized?




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
<mailto:ATT%27CHD@V305132> ATT'CHD@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



    http://groups.yahoo.com/group/H390-VM/



    Individual Email | Traditional



    http://groups.yahoo.com/group/H390-VM/join

    (Yahoo! ID required)



    [email protected] 

    [email protected]



    [email protected]



    http://docs.yahoo.com/info/terms/
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.