To install the Z80 simulator for MUSIC when running under Hercules ------------------------------------------------------------------ This prodedure requires the issueing of three different types of commands. For successful results, it is important to understand which type of command should be issued where. MUSIC commands such as EDIT, SUBMIT, OUTPUT etc should be issued while logged in to MUSIC interactively as $000 from a 3270 emulator. MUSIC console commands such as /VARY should be issued to the MUSIC console where the messages at IPL time normally appear. Hercules commands such as attach, devinit etc should be issued to the Hercules command prompt. Firstly, download z80sim.het to the system running Hercules ensuring that any file transfers necessary take place in binary mode. Next, a UCR (User Control Record) must be created to receive the files. While interactively logged in to MUSIC as $000 issue the commadn: UCR At the ? prompt, give the command: SET,CODE='$Z80',UCR=-1,-1 and then the command: END to return to the *Go prompt. Next, create a file called (for example) RESTOREZ80 contining the following three lines: /FILE 1 TAPE VOL(Z80SIM) BLK(4000) LRECL(80) SHR RECFM(U) /INCLUDE MFREST ALL=TRUE,RLSE=TRUE,SETUI=TRUE (This can be done by giving the MUSIC command EDIT RESTOREZ80 NEW) Next, issue the MUSIC command: SUBMIT RESTOREZ80 R(MUSIC) to run this job in MUSIC batch as MUSIC can only access tapes in batch. Using tapes from MUSIC is a bit fiddly. It is recommended that the following sequence is followed exactly. If actions are performed it a different sequence, it is possible to get MUSIC a bit confused about its tape drives. It is not impossible to recover from this but I've never figured out how to describe how to do it :-) After submitting the batch job, you should see messages on the MUSIC console similar to: M306 /ID MUSJOB $000000 010 500 000 R=SYSTEM C=1 F= M512 100 OFFLINE M314 Put unit online then type "/VARY xxx ON" or cancel job with "/CAN" It's at this point that I usually find I don't have a tape drive defined in Hercules for MUSIC. If this is the case, issue the following command to the Hercules command prompt: attach 100 3420 (If the M512 message mentioned some other unit address, then use that address instead of 100) Once you have a suitable tape drive configured in Hercules, issue the Hercules command: devinit 100 * Then on the MUSIC console, give the command: /VARY 100 ON Next, you should get a console message like: M309 M 100,Z80SIM Then issue the Hercules command: devinit 100 z80sim.het including any directory path to z80sim.het required to reference the file. If all goes well, there should be a brief flurry of activity and then messages like the following should appear on the MUSIC console: M309 D 100,Z80SIM M300 BATCH IDLE (Sometimes the M300 BATCH IDLE message fails to appear - I think this is a bug in MUSIC). Next, while logged in interactively as $000, issue the MUSIC command: OUTPUT Locate the output of the batch job that just ran and view it, looking for evidence of any problems. It should look something like: 1/ID MUSJOB $000000 010 500 000 R=MUSIC C=1 F= /FILE 1 TAPE VOL(Z80SIM) BLK(4000) LRECL(80) SHR RECFM(U) 0-- FILE RESTORE (MFREST) -- 0OPTIONS IN EFFECT: 0 INPUT = 1 TAPFIL = 1 FIXUP='$' CTLREC=T ALL=T RLSE=T REPL=F LIST=T SETUI=T SETBUP=F FIXUCR=F REPNWR=T 0*MF1 $Z80:Z80.WAT 80 FC 0000C0C0 28 54 22:57 25JUN1 RESTORED TO $Z80:Z80.WAT (NEW FILE) 0*MF1 $Z80:Z80.LKED 80 FC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:Z80.LKED (NEW FILE) 0*MF1 $Z80:Z80HELP2 80 FC 80004040 4 4 22:57 25JUN1 RESTORED TO $Z80:Z80HELP2 (NEW FILE) 0*MF1 $Z80:TEST.HEX 27 VC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:TEST.HEX (NEW FILE) 0*MF1 $Z80:Z80HELP3 80 FC 80004040 4 4 22:57 25JUN1 RESTORED TO $Z80:Z80HELP3 (NEW FILE) 0*MF1 $Z80:TRANSLATE.WAT 80 FC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:TRANSLATE.WAT (NEW FILE) 0*MF1 $Z80:Z80.LMOD 128 FC 00004040 204 405 22:57 25JUN1 RESTORED TO $Z80:Z80.LMOD (NEW FILE) 0*MF1 $Z80:Z80.EXE 80 FC 80004040 2 1 22:57 25JUN1 RESTORED TO $Z80:Z80.EXE (NEW FILE) 0*MF1 $Z80:README.TXT 80 FC 0000C0C0 6 11 22:57 25JUN1 RESTORED TO $Z80:README.TXT (NEW FILE) 0*MF1 $Z80:Z80MENU 80 FC 80004040 2 3 22:57 25JUN1 RESTORED TO $Z80:Z80MENU (NEW FILE) 0*MF1 $Z80:Z80.LIS 133 FC 0000C0C0 62 120 22:57 25JUN1 RESTORED TO $Z80:Z80.LIS (NEW FILE) 0*MF1 $Z80:Z80PAN 80 FC 80004040 4 4 22:57 25JUN1 RESTORED TO $Z80:Z80PAN (NEW FILE) 0*MF1 $Z80:Z80.FORTG 80 FC 0000C0C0 44 84 22:57 25JUN1 RESTORED TO $Z80:Z80.FORTG (NEW FILE) 0*MF1 $Z80:LICENSE.TXT 80 FC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:LICENSE.TXT (NEW FILE) 0*MF1 $Z80:Z80 80 FC 80004040 4 6 22:57 25JUN1 RESTORED TO $Z80:Z80 (NEW FILE) 0*MF1 $Z80:Z80.FOR 80 FC 0000C0C0 42 82 22:57 25JUN1 RESTORED TO $Z80:Z80.FOR (NEW FILE) 0*MF1 $Z80:TEST2.HEX 37 VC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:TEST2.HEX (NEW FILE) 0*MF1 $Z80:ROOT.HEX 33 VC 0000C0C0 2 1 22:57 25JUN1 RESTORED TO $Z80:ROOT.HEX (NEW FILE) 0*MF1 $Z80:Z80HELP1 80 FC 80004040 4 5 22:57 25JUN1 RESTORED TO $Z80:Z80HELP1 (NEW FILE) 0*MF1 $Z80:BUILDING.TXT 80 FC 0000C0C0 2 3 22:57 25JUN1 RESTORED TO $Z80:BUILDING.TXT (NEW FILE) 0*MF1 $Z80:Z80.OBJ 80 FC 0000C0C0 170 339 22:57 25JUN1 RESTORED TO $Z80:Z80.OBJ (NEW FILE) 0NUMBER OF FILES RESTORED: 21 0END OF JOB MUSJOB USERID=$000000 AT 00H34M SUN JUN 26, 2011 EXECUTE If there appear to have been problems, make corrections based on any error messages and submit the job again following the same procedure. If MUSIC has more than one tape drive defined, it will probably issue the mount request for a different unit number and that unit number should be used instead (and must be defined to Hercules as well). Once the batch job has been successfully run, 21 new files should have been created as follows: $Z80:BUILDING.TXT $Z80:LICENSE.TXT $Z80:README.TXT $Z80:ROOT.HEX $Z80:TEST.HEX $Z80:TEST2.HEX $Z80:TRANSLATE.WAT $Z80:Z80.EXE $Z80:Z80.FOR $Z80:Z80.FORTG $Z80:Z80.LIS $Z80:Z80.LKED $Z80:Z80.LMOD $Z80:Z80.OBJ $Z80:Z80.WAT $Z80:Z80 $Z80:Z80HELP1 $Z80:Z80HELP2 $Z80:Z80HELP3 $Z80:Z80MENU $Z80:Z80PAN It should now be possible to build the Z80 simulator for MUSIC. See BUILDING.TXT for further instructions. (It should not strictly be necessary to rebuild the simulator - the supplied load module should be usable.)