Customize MVS logon screen

Getting a little bored with the standard MVS logon screen? Here you can find a recipe to change the screen to your own liking.


You have to dive into SYS2.CNTL and find member TK4-LOGO. That’s where the logo is stored. This is an assembly job that re-assembles the module for the logon screen.

Get rid of the old logo

Now first, find a line that says:


You are welcome trying to change the lines before this, and this one, I decided to leave stuff intact up to and including this line. Then, you can find other lines that reads:

         $SBA  (17,12)
DC 'TK3 created by .... etc

I left this intact as well (for now). I did comment out the old lines, by putting an asterisk in column 1 in every line in between the two I mentioned above.

Create your own logo

There is a little Linux script to convert ASCII text to the assembly statements you need. See below.

#Mihai Criveti: generate LOGIN splash for MVS
#Usage: ./ dino > out
for line in $(cat ${logo})
  echo "         \$SBA   (${linum},15)\n"
  echo "         DC     C'$line'\n"
  echo "         \$SF    (SKIP,HI)\n"

What I did in between is create my own logo and text, as you can see in the screenshot below:

Every line on the logon screen has three lines in this assembler program. The first one reads:

        $SF (SKIP)

The (SKIP) will result in normal text for the next line (blue on my screen), whereas (SKIP,HI) will yield highlighted text (white of my screen). There’s probably more of these attributes, feel free to let me know in the comments if you find them?

The second line of the group of three is a line that reads:

         $SBA   (row,column)

This takes care of positioning your text on the screen.

Then the third line of the three is your actual text, it reads:

         DC     C'Some text that you want on your logon screen'


When you think everything is okay, save your data and submit this job. Check it in the output queue; all steps must have ended in RC=0000.

Now activate it

To make the new logon screen active we have to shut down VTAM and bring it back up. Mind you, TSO will be shut down in this process, so save your work, and logoff from TSO. The commands below can be given from the http console.

The way I did it is described below, I use console commands, perhaps you need to precede them with a slash when you’re not on an actual console. Furthermore, there’s probably more ways to do it, but this worked for me:


Those last two programs are not stopped by the Z NET,QUICK command, so we have to terminate the ourselves. When all dust has settled down and SNASOL and JRP are stopped, we can bring all of them back up again:


Now we can connect a terminal. In my case it showed the old logo at first, without a logon prompt. That’s probably something that Hercules shows us. But when I pressed enter, there it was, my new logon screen:

My new logon screen

Logon screen considerations by René Ferland:

The logon screen is presented to us by VTAM. Professor René Ferland found out the following for me:

For VTAM connections, the logo is produced by the network sollicitor SYS1.VTAMLIB(ISTNSC00). From what I know, ISTNSC00 just expands the assembler macro SYS1.UMODMAC(NETSOL) which itself includes the copy book SYS1.UMODMAC(TK4MLOG) containing the TK4- logo. So, to change the logo, you need to change SYS1.UMODMAC(TK4MLOG), re-assemble, re- link ISTNSC00, store the module in SYS1.VTAMLIB, and restart VTAM. I don’t know which job assembles and links ISTNSC00 for TK4- using the macros in SYS1.UMODMAC (instead of the standard NETSOL macro in SYS1.MACLIB). Tommy Sprinkle web site has an job example for ISTNSC00. You can try that but backup your system before. :smiley:

After a while, he also wrote:

I found the job to change the logo: SYS2.CNTL(TK4-LOGO). Now, you may customize your cloud system. :smiley:

I found out one only needs the last job, SYS2.CNTL(TK4-LOGO).

24 Replies to “Customize MVS logon screen”

  1. dank voor het delen. Leuk website overigens.
    Ik ben wel benieuwd hoe de RPI’s zijn ingericht. Ik heb zelf 3 rpi’s met MVS3.8 en 1 met VM370.

  2. Ha Gerard,

    Niet helemaal. Ik heb eea draaien. Ik maak gebruik van ‘screen’ . Dat is handig omdat je hercules kan starten en vervolgens een ander screen start voor een 3270 emulator echter kan ik een 3270 emu op command niveau niet vinden voor linux. Jij toevallig een idee? Jaren geleden is het me gelukt maar ben de config kwijt. Gr. Henk

    Ps. In 1984 was ik console operator op vm/vse sp. MVS bij onderandere rabo in best. Mooie tijd

      1. Nee. Kan je die benaderen via nje38? Ik heb een verzoek uitstaan om een connectie te maken met HNET.

  3. Ik maak gebruik van tmux om het console ‘live’ te kunnen laten blijven wanneer ik ssh afsluit.
    Voor 3270 maak ik gebruik van ZOC7 op mijn Mac en van Vista tn3270 van Tom Brennan Software.
    Ik heb wel eens een commandline 3270 emulator geprobeerd (weet niet meer welke), maar vond die erg gebruiks-onvriendelijk.

      1. Gewoon, naar het ip address van de RPI, poort 3270, die wordt door Hercules std. gebruikt..
        Dus: aaa.bbb.ccc.ddd:3270

        1. Ik leg mijn uitdaging niet goed uit merk ik. Mag ik je mailen? Je hebt mijn mail adres.
          Dan kan ik het beter uitleggen. De oplossing is volgens mij simpel maar ik kom er even niet op.
          Gr. Henk

  4. Oke dankjewel. ik ga onderzoeken. ik heb de emulator in principe alleen nodig om een ipl uit te voeren en daarna het console te starten. de andere emulator, als ik iets wil gaan doen in cms bv, start ik vanaf mijn laptop. Het gaat dus hoofdzakelijk om hercules, ipl via dosvs en daarna starten van het console van dos/vs. daarna heb je die niet meer nodig en draait eea gewoon door op je rpi.

  5. Thank you for this writeup, it greatly helped me figuring things out and where things were.

    However, I wasn’t happy with the current solution for a few reasons, namely I wanted to add color using SFE (instead of SF) and I also wanted to create new files instead of overwriting the existing hlasm for the logos.

    I also wanted to be able to design a logo in an ANSI art editor using color and convert it using a script instead of by hand.

    I created the following script that allows me to take an ANSI file using letters/numbers/specials and colors and generate the required JCL/HLASM to create the file.

    You can check it out here:

    1. Thanks for your suggestion. I’m a bit short on time at the moment, so I’ll leave it up to other readers to check it out. Did you place it in the Discord channel allready? (see link above)

  6. Thanks very much! This worked out great for me. One question: Does anyone know how to modify the date format? I would love to change it to US style mm.dd.yy.

    Thanks again!

    1. Haven’t investigated that assembly program any further. Ask in the Discord channel, perhaps someone did…

      1. Thank you for the reply. I think I may have found the piece that creates the displayed date. Unless I am mistaken, I might just be able to reverse the two parts of the date. Here’s what I’m looking at, if it’s of any interest to anyone else. Been a long time since I’ve seen code like this. 😉 I’ll check out discord as well. Many thanks!

        MVC 0(2,R9),SARESULT+14 DD R9 holds address of logo date
        MVI 2(R9),C’.’
        MVC 3(2,R9),SARESULT+12 MM
        MVI 5(R9),C’.’
        MVC 6(2,R9),SARESULT+10 YY

        1. Looks Like when you exchange the +14 and the +12 that this will do the trick!
          Just try it and let us know…

  7. Good work.

    The “Startup Screen” is in herclogo.txt. Note there is no highlighting of the cat and the version number under the hyphen. Also the information in the header.

    Colours in TSO Logon screen : see ANSI_DICT at interesting script too.

    For yellow, replace
    $SF (SKIP)
    DC X’2902C0F842F6′
    around the fragment like bookends.

    $SBA (8,40)
    * $SF (SKIP)
    DC X’2902C0F842F6′
    DC C’## ## ## ######## ## ##’
    $SBA (8,79)
    * $SF (SKIP)
    DC X’2902C0F842F6′

    Be aware of the data fields, but if you do not change them the MAP does not need to change. Be aware of the map though, and how SEND works. I agree with using text to ASCII art generators.

  8. Does this work in zOS 2.5? I am getting
    ASMA141E Bad Character in operation code – (SKIP)
    ASMA435I Record 34 in sys1.sys.vtamlst(vausstst) on Volume: sys12h
    118 $SBA (1,1)

Leave a Reply

Your email address will not be published. Required fields are marked *