Posts

Disassembling Stuff is Fun

I have always been fascinated with assemblers and disassemblers, maybe because my very first programming was in machine code on 8080 computer (thru the front panel switches!!). I have tons of videos about assmembler programming on the mainframe for both z/OS and for MVS (on Hercules) here.  In this video however, I show how to disassemble binaries to find out how they were programmed. Lots of fun with disassembling stuff recently, but then I wanted to try to disassemble binaries in MVS 3.8 TK4- on Hercules and I couldn't find a good disassembler. After a long search and some minor hacks I got it to work. check out this github repository I created. This amazing disassembler works. Here is the README of the repository below. I shall shortly release a video about the installation and operation of this disassembler. mvs38dasm This is a re-share of Gerhard Postpischil's simply amazing S/360 and S/370 disassembler for MVS3.8 What it is It has become somewhat diffi...

What is the proper way to copy z/OS load modules?

Windows, and to some extent, Linux have made IT professional forget a time when operating systems were recorded oriented, like MVS or z/OS, or VMS. In record oriented operating systems, the OS knows what the data structure is inside files managed by it. This knowledge makes record processing very powerful and efficient. In Linux and Windows, all files are just streams of bytes. Only the New Line and CRLF special characters tell editors that a text file has lines of variable lengths, but to the OS text files or binaries are all just streams of bytes. So when people need to copy z/OS load modules (ie binaries), they often forget that all datasets (including load modules) have a record structure and a blocking factor which needs to be kept when copying load modules. In this video I show how to properly copy load modules in z/OS. Hopefully this helps to clear the fog on this issue, especially for newcomers. For more how-tos relating to the mainframe world and to Hercules, visit m...
MVS Utilities this repository includes some very useful utilities for people working with MVS, z/OS on real mainframes or emulated ones. Most of the topics covered by these programs are covered in my youtube mainframe channel here:  https://www.youtube.com/channel/UCR1ajTWGiUtiAv8X-hpBY7w Here are some of the programs and tools included in this repo: recv390 is a receive command for Linux or Windows. It extracts XMIT files. recv390 is by James Morrison. I made some fixes and somall enhancement to the program. compile simply with gcc -o recv90 recv390.c. SYCPLK.ccdk is a 3390-3 volume (SYSCPK) which incluedes about 10 or 12 compilers for the mainframe, including: PLI F compiler Cobol compiler from the 60s RPG compiler PL/360 compiler Pascal compiler the amazing ASSIST assembler Simula compiler Basic and many other goodies. Simply mount the volume on your system, add it to the VTLST00 member as private, and then extend your JES2 to use the included SYS2.PROC...

Moseley's Compiler SYSCPK on 3390 disk image for Hercules

A lot of people wish they had Moseley's 3350 disk image with all the MVT compilers in 3390 form so they can use it on more modern operating systems... (aehmmm). It's not a trivial job because certain libraries expect to be stored in a certain format, but I got my 3390 image done with all the SYSCPK stuff and it's working fine. You can find the 3390-3 disk image here: https://github.com/moshix/mvs Obviously, you need to add the volume to your Hercules configuration file. Then IPL your MVS or any other MVS-like OS (same for 24, 31 or 64 bit). Then vary it online. Then update your VATLST00 member in SYS1.PARMLIB to add this new volume. Finally, update your JES2 procedure to add a new proclib, like SYS2.PROCLIB (which you find on the SYSCPLK volume. In that proclib you find procedures for all compilers on the volume. Restart JES2 and Bob's your uncle. 

Running ASP 3.2 on IBM MVT

Asymmetric Multiprocessing System (ASP) Version 3.2 is a loosely-coupled multiprocessing extension of OS/360 and OS/VS2 Release 1. ASP provides basic spooling capabilities, similar to  HASP . In addition, ASP includes extensive support for for workload management functions, such as processor and device scheduling and dependent job control. ASP was the predecessor of JES3. The product's original name was Attached Support Processor, hence the ASP acronym. The  base ASP Version 3.2 tape  in AWS image format is available from  cbttape.org . There is an MVT system with ASP installed. The turnkey system is available for  download  from ibiblio.org. Unzip the asp.zip file and follow instructions in the  README  file. HASP is also installed on the turnkey system. More documentation on ASP will be posted here as it becomes available.

IBM MVT 21.8F Distributions for Hercules

What's MVT? MVT is a beautiful operating system. Extremely reliable and a great way to learn and understand the modern day successor (or grand-grand-grandchild), z/OS.  When IBM announced the System/360 mainframe line in April 1964, the plan was to provide just one operating system for batch-oriented use, known simply as the System/360 Operating System (less formally as OS/360, or OS). OS was big, complex and ambitious for its day, and the resulting system was late, buggy and resource-intensive. Installations that couldn't wait, or couldn't afford the hardware required to run OS, opted for one of the smaller, simpler systems that IBM created as alternatives: BOS/360, TOS/360, DOS/360. Eventually, with most of the bugs shaken out OS/360 became IBM's flagship System/360 operating system. By the time of the final OS/360 release in 1974, system programmers building an OS system had the choice of two control programs: MFT, Multiprogramming with a Fixed number of ...

Stopping JES3 and Error Conditions

1.  To shut down JES3 on the local, you can issue the JES3 "*SEND" command to    route a JES3 "* RETURN " command to system B:      *t,tk4b,* return    JES3 will end on system B.  You will need to enter "QUIESCE" directly on the    system B MVS console.                   To shut down JES3 on the global processore, initiate first your standard MVS shutdown procedure. In TK4, that is                 from the JES3 console (you can enter MVS commands from the JES3 console, btw)                f bsppilot,shutdown                 Once everyhting is shutdown, you stop JES3 by issuing this command on the JES3 console:                *return               The J...