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