Posts

A BBS for 3270 terminals!

Image
Forum3270 may well be the only public BBS for 3270 terminals. It features discussion groups, a marketplace for retro hardware, a live chat module, direct messages between users, persnal notes, TSO command line games and much more. There is even an FTP server to upload/download content. It can be accessed by connecting your 3270 terminal to www.moshix.tech port 2300. It only takes seconds to create your user and connect with hundreds of other mainframe community members.

MVS Version Names - Make sense of the versioning confusion

MVS Version Names MVS 3.8 from the TK4 distribution is what we know best. But often there is a misguided understanding that later versions are improvements and therefore better versions of MVS. That is not always true, and often not how IBM released software. In the beginning After the OS/360 (MFT and MVT) start, IBM released OS/VS2 rel 1, as the next version. That name, OS/VS2 stuck to this very day. Every subsequent release was an OS/VS2 operating system. OS/VS r1 was also called SVM, for Single Virtual Memory. Quickly after IBM renamed that to SVS, Single Virtual Storage. Why the change from "memory" to "storage"? Because IBM had decided to switch with the last S/370 mainframes from core memory to solid state storage instead. SVS was mainly geared at solving real memory fragementation. MVS In the mid 1970s, (1973 to be exact) IBM annoucned MVS. This very important new operarting systems, now allowed each application to have its own full 16MB address sp...

Old, old software

Lately, a bunch of 3420 tape reels were found. After converting them into electronic format, we unearthed several software products that were thought to be lost forever: 1. EDGAR 2. 5740-CB1 RELEASE 2.4 IBM OS/VS COBOL JULY 1, 1982 for MVS This is the follow-on release to the MVT Cobol that we know from MVS 3.8 TK4-. Both are ANSI Cobol compilers, but this one has a several novelties compared to the Release 1.3 of TK4-: an optmizer, VSAM support, a LIST parameter to create an assembler listing, and better RENT checking. 3. CP/67 CMS Source code See more here:
BITNET - NJE - HNET Long before the Internet, there was the BITNET, a collection of mainframes and mini-computers (such as VAX machines) inter-connected to each other by means of IBM's NJE (ie Network Job Entry) protocol.  Most of the connections were over modem dial-up lines at speeds of 300 bauds or sometimes 1200 bauds. Some of the links were leased lines at 64kbit, even.  The BITNET was an academic network and only universities were allowed to connect to the network.  IBM's VNET network was built on the same protocol, same interconnects but was distinct from BITNET. However, there were some gateways between BITNET and VNET.  At one time over 5000 mainframes and time-sharing computers were connected to BITNET by means of NJE.  In 2019 the mainframe enthusiast community revived the BITNET network by using the same protocol and the Hercules mainframe emulator. Some VAX machines connected using an NJE protocol implementation for openVMS. As of the time of this b...
Web Server on z/VM So, let's grab Apache or NGINX and compile on z/VM, right? Well, not that easy. It's almost impossible to compile those open source web servers on z/VM. However, one can write a web server in REXX. This guy uses such a Rexx-based webserver and shows in a video where to obtain it, how to set it up and even how to write Rexx CGI scripts! Check it out
Image
The Real Thing How did it feel back in the days to work on a real mainframe? I am not talking about the modern z14 and z15 mainframes of today. I am talking about the 3090's and 4381s of the mid-80s, the golden era of the mainframe. Well, only one way to find out: log in to a real IBM 4361 mainframe and play it... and make a video out of it. This guy made just such a video Fun video, go check it out
Rexx on MVS 3.8 Now Available In this video I show how to obtain, install and use Rexx (the BREXX kind) on our beloved MVS 3.8 TK4. It's easy peasy, so go watch the video and get running with Rexx!

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

Get a JES3 Complex Up and Running

Image
UPDATE: January 19, 2019 The procedures here work for me and hundreds of others repeatedly and I have made a video about all this which you can find on Youtube here : Prerequisites 1. Hercules 3.12/Spinhawk/4.00(hyperion) with Peter Jansen's CTC extensions I use the Hercules as provied by the latest version of Juergen Winkelmann's amazing MVS 3.8J TK4- distribution (update 8) which you can get from here.  Notice that we don't actually use the MVS3.8J distrubution at all, we only use the Hercules binaries that come with TK4-. You find them under ../hercules/linux/64/bin 2. The MVS 3.8J with JES3 distribution from Kevin's website. Notice that I have a MVS3.8A and a MVS3.8B directory. A is for the global MVS image and B is for the local MVS image. You need both TK4A:   http://www.j76.org/misc/tk4-_ update_07.jes3_2016-09-15.zip TK4B:   http://www.j76.org/misc /tk4-_update_07.jes3b_2016-10- 04.zip Or you can also get them from here :  3. an...

JES3 Basics

JES2 processing is considered to be independently controlled. Each JES2 image processes its own job input, job scheduling and job output. JES2 uses a contention-based paradigm for managing a multi-image workload. Each image “wakes up” periodically and attempts to serialize the JES2 checkpoint using a hardware serialization technique. The image that succeeds carries out job and output scheduling activities. The others go back “to sleep” waiting for another chance. There is no cooperative decision-making process. The order in which activities occur and on which images is random.   By contrast, JES3 processing is considered to be centrally controlled. One image is designated as the focal point for the entry and distribution of jobs and for the control of resources needed by the jobs. That image, called the global processor, distributes work to itself and the other images in the configuration, known as local processors. It is from the global processor that JES3 manages jobs and ...

We have JES3 on Hercules working!!

Image
With Peter Jansen's amazing CTCE adaptor addition to Hercules , we now have for the first time ever the ability to create JES2 MAS (multi-access spool) clusters, and,  JES3 single system image (SSI) complexes. Yes, yes, I know. Some of the "wizards" out there will say they have been doing this for years with VM and the coupling facility code in there. But I am talking about using pure Hercules and since CTCE support is still quite new, it's really not that long that we can do JES3 clusters on Hercules Thanks to Kevin Leonard 's untiring work to resurrect JES3 version 3.00 (formerly known as ASP), we now have a running MVS 3.8j with JES3 complex up and running. Here is a screenshot of a full MVS 3.8 JES3 complex up and running: Notice, how TK4A and TK4B are both online and communciating to each other via the CTC devices. That's a Global Processor and a Local Processor in a JES3 complex.  Over the next few blogs I will outline how to obtain, st...