IRC on IBM Mainframes: the MUSIC/SP-IRC client


McGill University has, for as long as anyone there can recall, offered free email accounts to everyone in the McGill community. Since the early days of CA*Net and the Quebec network, RISQ, VM1 has faithfully provided services, including IRC to the McGill community.

The Client

The MUSIC/SP-IRC client doesn't work over telnet; it requires IBM's TN3270-type terminals. Where telnet is line-based, the TN3270 is field-based -- the application tells the terminal what field is where, which are writeable, which are static, and so forth. This doesn't lend itself to something that has a scrolling text window like an IRC client. Thanks to Xtian from, McGill -- who have had an IRC server for quite some time -- got a client that their community could use!

The client looks like this. Ignore the grey part at top; it's just part of the 3270 client I was using.

Screenshot of MUSIC/SP-IRC client

This screenshot is also slightly larger (35 lines) than the 3270 terminals (25 lines) littering the McGill campus.


The client is quite useable given its environmental limitations. The text between the dotted lines scrolls in half-screens, and PF keys allow half-screen scrolling up or down. As well, the standard pager can be called to view the IRC logfile as if with more(1).

The first channel in the Chnl: field is shown as bare nicknames. Any others are shown with the channelname following the nick. All discussion happens in the main window.

To talk in the first channel in the list, one just types in the Cmd: field. Further channels (or /query, which appear in the Chnl: field as well) can be sent to by prepending the text with /n, where n is the number in the list. For example, to send a message to #mcgill above, one would type /2 Hi, #mcgill. Switching the order of the channels in the Chnl: field is accomplished by TAB-ing to the channel name and pressing Enter. (Enter and Return are different on 3720's, incidentally; the Enter key is where the right-hand Ctrl key is on a 101-key PC keyboard.)

The client has a surprisingly robust scripting language, although it has no control functions and is thus not a programming language. It is executed on startup just like an .ircrc. Here's an excerpt from an old #IRC.ALIAS of mine:

/nick mendelson
/alias mcg1 /who vm1*
/alias mcg2 /who *das.mcgill*
/alias oni /who #irchelp
/alias onh /who #help

/alias c /ctcp
/alias w /whois
/alias m /msg
/alias f /finger
/alias n /notify
/alias q /query
/alias wn /whois $j
/alias wm /whois $m
/alias mm /msg $m
/alias qm /query $m
/alias pc /ping $c
/notify jube jujube bry dri drina drina- juniper kylania apatrix 
/notify mairi peggy amers raverboy andrina

/join #help
/join #irchelp
/msg soma opme
/who *das.mcgill*
/who vm1*

The $c, $j, and $m mean "current channel", "last person to join", and "last person to /msg", respectively.

The client supports DCC SEND and GET, but not CHAT. Files stored in one's home directory on VM1 were seldom readable after transferring to anything else unless they were 7-bit ASCII.

VM1.McGill.CA and MUSIC

VM1 is an IBM System/390 Parallel Enterprise Server, model IBM 9672-R41, with four processors, 1GB of memory, and 39 I/O channels, in the basement of Burnside Hall at McGill University.

IBM System/390 PES          System/390

As an aside, this machine recently replaced two older IBM mainframes, an ES/3090-200E and an ES/3090-170J. It provides twice the processing capacity of these two machines combined, while occupying only 10 sq ft, 1/16th of the space needed by the previous machines. Its power requirement is 2 kW, compared to the previous 80 kW.

The hardware is logically partitioned to run VM/ESA alongside both production and test versions of MVS/ESA. The firmware logical partitions are analogous to the virtual machines created when VM subdivides a single physical computer in software. The McGill Systems Inc. product, MUSIC (for McGill University System for Interactive Computing, later Multiuser Interactive System after it was sold to other universities) runs on the VM/ESA virtual machine.

Compiled by Rich Lafferty, sunkisd!mcgill-vision!vm1!musicb!BLLJ
Last updated: 3 Jun 1998.
Sections above are paraphrased from McGill Computing Centre's system information.