|!Punctuation|!Location|!Function|\n|{{{@@...@@}}}|surrounding text|@@highlighted text@@|\n|{{{//...//}}}|surrounding text|//italicized text//|\n|{{{==...==}}}|surrounding text|==strikethrough text==|\n|{{{''...''}}}|surrounding text|''boldfaced text''|\n|{{{__...__}}}|surrounding text|__underlined text__|\n|{{{[[text|url]]}}}|around text/url pair|[[text|http://gri.gallaudet.edu/]] link to url|\n|{{{ {...} }}}|''__tripled__'' surrounding text|{{{in-line literal text}}}|\n|{{{ {...} }}}|''__tripled__'' surrounding ''__lines__''|literal block|\n|{{{<<<}}}|surrounding ''__lines__''|blockquotes|\n|{{{!}}}|at start of line|subheading|\n|{{{|...|...|}}}|line sectioned by vertical bars|table row|\n|{{{!}}}|in a table|!table heading|\n|{{{----}}}|alone on line|horizontal rule|\n|{{{*}}}|at start of line|bulleted list item|\n|{{{#}}}|at start of line|numbered list item|\nsource: Kevin Cole, January 2007
TTiddlyWiki uses Wiki style markup, a way of lightly "tagging" plain text so it can be transformed into HTML. Edit this Tiddler to see samples.\n\n! Header Samples\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n! Unordered Lists:\n* Lists are where it's at\n* Just use an asterisk and you're set\n** To nest lists just add more asterisks...\n***...like this\n* The circle makes a great bullet because once you've printed a list you can mark off completed items\n* You can also nest mixed list types\n## Like this\n\n! Ordered Lists\n# Ordered lists are pretty neat too\n# If you're handy with HTML and CSS you could customize the [[numbering scheme|http://www.w3schools.com/css/pr_list-style-type.asp]]\n## To nest, just add more octothorpes (pound signs)...\n### Like this\n* You can also\n** Mix list types\n*** like this\n# Pretty neat don't you think?\n\n! Tiddler links\nTo create a Tiddler link, just use mixed-case WikiWord, or use [[brackets]] for NonWikiWordLinks. This is how the GTD style [[@Action]] lists are created. \n\nNote that existing Tiddlers are in bold and empty Tiddlers are in italics. See CreatingTiddlers for details.\n\n! External Links\nYou can link to [[external sites|http://google.com]] with brackets. You can also LinkToFolders on your machine or network shares.\n\n! Images\nEdit this tiddler to see how it's done.\n[img[http://img110.echo.cx/img110/139/gorilla8nw.jpg]]\n\n!Tables\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|colored| center |\n|caption|c\n\nFor a complex table example, see PeriodicTable.\n\n! Horizontal Rules\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves.\n\n! Blockquotes\n<<<\nThis is how you do an extended, wrapped blockquote so you don't have to put angle quotes on every line.\n<<<\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\n! Other Formatting\n''Bold''\n==Strike==\n__Underline__\n//Italic//\nSuperscript: 2^^3^^=8\nSubscript: a~~ij~~ = -a~~ji~~\n@@highlight@@\n@@color(green):green colored@@\n@@bgcolor(#ff0000):color(#ffffff):red colored@@\n
hercules
a way to run IBM mainframe software on a personal computer
Type the text for 'New Tiddler'
\n[[General cheat guide|http://www.snee.com/bob/opsys/part5vmcms.pdf]]\n\nTo get into cms\n{{{\ncp i cms\n}}}\n\n[[editing in cms|http://www.mildredbrennan.com/blog/?p=156]]\n\n{{{\nlistfile\n}}}
|!Reference HTML|! Description|\n|[[Yarger's Site |http://www.cpyarger.com/2016/02/running-vm370-on-hercules-307-on-linux.html]]| the way|\n|[[PI Sysprog |http://www.pi-sysprog.de/ine51.html]]| useless|\n|[[PICCAPCPU |http://www.pi-sysprog.de/prod/picc/picccpce.html]]| about VSE|\n|[[VM Studio|http://wesmorgan.blogspot.com/2011/08/fun-with-emulation-running-vm370-under_3384.html]]| VM Studio|\n|[[Out from this period|file:///home/flint/bin/out.html]]| odd|\n|[[VM370 Downloads |http://www.smrcc.org.uk/members/g4ugm/VM370.htm]]| trying 2016-06-24|\n\n
Type the text for '31 March 2016'\n\nhttps://www.ibm.com/developerworks/community/forums/html/topic?id=5cf34211-c8e6-4747-a8c2-f8ff7379150b
'24 June 2016'\n\n{{{\napt-cache search hercules\napt-get install hercules\napt-cache search 3270\napt-get install x3270\n}}}
[[overview]]
25 June 2016\n\nI thought that it would be a good idea to develop a Docker image that loaded and launched a vm370 emulation on a local linux computer. You can find this in [[Docker hub|https://hub.docker.com/]] or by logging in at the bash command line, and executing the following command:\n\n{{{\ndocker run -it flintiii/vm370:latest /bin/bash\n}}}\n\nWe are using hercules to run [[VM|https://en.wikipedia.org/wiki/VM_(operating_system)]]\n\nThis is guidance for VM/370 Release 6 which is Open Source\n* [[Installation|DockerInstall]]\n* [[Operation |OperateStepByStep]]\n* [[Terminal|py3270]]\n\nResources:\n* [[CMS Primer|http://publibz.boulder.ibm.com/epubs/pdf/hcsd6c00.pdf]]\n* [[z/VM CP Command Guide|http://www.vm.ibm.com/pubs/hcse4b01.pdf]]\n* [[REXX Primer|https://m.ibm.com/https/publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/DMSG8A01/1.1.4?SHELF=EZ2VM306&DT=19921218093737&CASE=&wirelessshow=2]]\n* [[Bill Bitner's Book|http://www.vm.ibm.com/devpages/bitner/presentations/finding.pdf]]
Type the text for\n '28 June 2016'\n\nMaybe use "screen" and "expect". Try autoexpect...
'28 June 2016'\n\nrvm370.sh\n\n{{{\n#!/bin/bash\n# rvm370.sh \nversion=0.001\n# 2016/06/28 14:48:21 pflint\n# starts vm and one terminal...\n# reference https://robots.thoughtbot.com/a-tmux-crash-course\n#\ntmux new-session -d -n hercules '/usr/bin/hercules -f herc.cnf'\n#\nsleep 1s\necho "hercules is awake"\ntmux send-keys -t hercules "ipl 131" Enter\n#\nsleep 1s\necho "telnet is awake"\ntmux new-session -d -n t3270 '/usr/bin/telnet localhost 3270'\n#\nsleep 1s\necho "send NO"\ntmux send-keys -t t3270 "NO" Enter\nsleep 1s\necho "send COLD"\ntmux send-keys -t t3270 "COLD" Enter\nsleep 1s\necho "send ENABLE ALL"\ntmux send-keys -t t3270 "ENABLE ALL" Enter\n#\nps aux | grep tmux\ntmux ls\n#\ntmux new-session -d -n x3270 'x3270 localhost 3270'\n#\n#\nclear\n#\necho "send first logon"\nsleep 3s\ntmux send-keys -t x3270 "logon" Enter\n#\necho "send second logon"\nsleep 1s\ntmux send-keys -t x3270 "logon" Enter\n#\necho "in telnet session,"\necho "logon using:"\necho "logon maint"\necho "when prompted for password, type:"\necho "cpcms" \n# Attach session\n# where 0: is session number\n# tmux a -t 0:\n#\n# Detach session\n# <ctl> b d\n#\n# SOURCE: https://gist.github.com/MohamedAlaa/2961058\n# kill all tmux sessions:\n# tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill\n# really kill...\n# ps aux | grep tmux |grep -v grep |tr -s [:space:] | cut -d " " -f 2 |while read line; do echo $line; done |xargs kill -9 \n}}}
'28 June 2016'\nkrvm370.sh\n\n{{{\n#!/bin/bash\n# 2016/06/28 15:27:15 pflint\n# krvm370.sh \nversion=0.001\n# kills all tmux sessions\n#\necho "Now you see 'em"\nps aux | grep tmux | grep -v "grep"\n# pause\nread -p "Hit enter to continue..." ans\nps aux | grep tmux |grep -v grep |tr -s [:space:] | cut -d " " -f 2 |while read line; do echo $line; done |xargs kill -9 \necho "Now you don't"\nps aux | grep tmux | grep -v "grep"\n\n}}}
First and foremost [[Soldier of Fortran|http://mainframed767.tumblr.com/post/47105571997/nmap-script-to-grab-mainframe-screens]]\n '28 June 2016'\n\nThere are the following ways to script 3270 connections\n\n*[[s3270]]\n*[[x3270if]]\n*[[x3270-script]]\n\nYet none of them work...\n\n''What Works''\n\n*[[py3270]]
\n|!Reference HTML|! Description|\n|[[Doug Bell |https://www.youtube.com/watch?v=o7Dg1kmjhfQ]]| Really good|\n|[[tmux crash course |https://robots.thoughtbot.com/a-tmux-crash-course]]||\n|[[tmux glossary |https://gist.github.com/MohamedAlaa/2961058]]||
Current Code::\n{{{\n#!/usr/bin/python3.5\n"""3270.py\n\nUsage: 3270.py (-r | --run )\n 3270.py (-o | --open )\n 3270.py (-c | --close )\n 3270.py (-l | --login ) \n 3270.py (-t | --logout ) \n 3270.py --version\n\nOptions:\n -h --help Show this screen.\n --version Show version.\n\n"""\n# Boilerplate imports for Python 2 / Python 3 mutual compatiibility\n#\n# from __future__ import print_function # Make print a function\n#W from six.moves import input # Use raw_input when I say input\nfrom os.path import expanduser # Cross-platform home directory finder\n#\n# This slug is based upon the work of Kevin Cole... \n__author__ = "Flint"\n__copyright__ = "Copyright 2016, Barre Open Systems Institute (06/29/2016)"\n__credits__ = ["Flint"] # Author and bug reporters\n__license__ = "GPL I"\n__version__ = "0.001"\n__maintainer__ = "Flint"\n__email__ = "flint@flint.com"\n__status__ = "Prototype" # "Prototype", "Development" or "Production"\n__appname__ = "3270 Communications Module"\n__file__ = "3270.py"\n\nfrom docopt import docopt\nfrom py3270 import Emulator\nimport time\n#\n# this is what it does...\nem = Emulator(visible=True)\nem.connect('localhost:3270')\n\n\n#################### Function Land ####################\ndef conn():\n # em = Emulator(visible=True)\n # em.connect('localhost:3270')\n time.sleep(1)\n\ndef coff():\n exit()\n\ndef li():\n # em.fill_field(23, 1, 'logon', 8)\n em.send_enter()\n time.sleep(1)\n em.fill_field(23, 1, 'logon maint', 16)\n em.send_enter()\n time.sleep(1)\n em.fill_field(23, 1, 'cpcms', 5)\n em.send_enter()\n time.sleep(1)\n\ndef lo():\n em.fill_field(23, 1, 'logoff', 8)\n em.send_enter()\n time.sleep(1)\n em.send_enter()\n\n######\n\n\nif __name__ == '__main__':\n args = docopt(__doc__, version=__file__ +" " + __version__ )\n #D print(args)\n\nconn()\n# li()\n\n#################### Menu Land ####################\n#\nif args['--run'] or args['-r']:\n print ("You are at the run routine")\n # conn()\n li()\n time.sleep(10)\n lo()\n # coff()\n\nif args['--open'] or args['-o']:\n print ("You are at the open routine")\n conn()\n li()\n\nif args['--close'] or args['-c']:\n print ("You are at the close routine")\n conn()\n\n\nif args['--login'] or args['-l']:\n print ("You are at the login routine")\n li()\n\nif args['--logout'] or args['-t']:\n print ("You are at the logout routine")\n lo()\n\n}}}\n\n\n\nOriginal model:\n[[py3270|https://pypi.python.org/pypi/py3270/0.2.0]]\n\n{{{\n#!/usr/bin/python3.5\nfrom py3270 import Emulator\n\n# use x3270 so you can see what is going on\nem = Emulator(visible=True)\n\n# or not (uses s3270)\nem = Emulator()\n\nem.connect('3270host.example.com')\nem.fill_field(17, 23, 'mylogin', 8)\nem.fill_field(18, 23, 'mypass', 8)\nem.send_enter()\n\n# if your host unlocks the keyboard before truly being ready you can use:\nem.wait_for_field()\n\n# maybe look for a status message\nif not em.string_found(1, 2, 'login succesful'):\n abort()\n\n# do something useful\n\n# disconnect from host and kill subprocess\nem.terminate()\n}}}
[[SOURCE:|http://web.mit.edu/source-8.1/third/x3270/html/FAQ.html]]\n\nWhy does my keyboard lock with that funny "X" symbol at the bottom?\nYou have discovered that 3270 displays are rather different from standard ASCII terminals. x3270 attempts to emulate a real 3270 display as closely as possible; this can be rather disconcerting to people who are used to simple ASCII terminals or terminal emulators.\n\nThe "X" symbol means that the keyboard is locked. This can be locked for any of the following reasons:\n\n The host has not finished processing your last command.\n You attempted to type into a protected area of the screen.\n You typed too many characters into a field in Insert mode. \n\nIf the keyboard is locked for the first reason, your only recourse is to wait. However, you may type ahead. If the keyboard is locked for one of the other two reasons, you can press the 3270 Reset key (usually mapped to Alt-r) to unlock it. \n\nFind out where you emulator has the IBM SNA <clear> key mapped. Note that x3270 uses <alt>c.\n\n\nREAD \n\nHOLD\n\n* [[Further Information|https://www.ibm.com/support/knowledgecenter/SSB27U_6.2.0/com.ibm.zvm.v620.hcpb2/hcse8c0011.htm]]\n* [[VM Command Manual|http://www.vm.ibm.com/pubs/hcse4b01.pdf]]\n* [[CMS commands|https://www.ibm.com/docs/en/zvm/7.4?topic=reference-cms-commands&mhsrc=ibmsearch_a&mhq=cms%20commands]]\n
This is the install script for the vm370suite:\n\nwe are using a debian image\n\nThe install script needs to check for the installation of:\n* [[py3270]] image uses python 2.7 (meh)\n* [[tmux]]\n* [[hercules]]\n* [[vm370pack.zip]]\n* [[python3-pip]]\n* [[python3]]\n* [[x3270]]\n* [[sudo]]\n* [[vim]]\n* [[telnet]]\n* [[net-tools]]\n* [[less]]\n* [[man]]\n* [[psmisc]]\n* [[openssh-client]]\n* [[openssh-server]]\n* {{{scp flint@docbox.flint.com:./.bash_aliases .}}}\n\n\n{{{\n\n}}}\n\n* [[Installation |http://www.cpyarger.com/2016/02/running-vm370-on-hercules-307-on-linux.html]]
Setting up install image\n '29 June 2016'\n\n[[Cloning Docker Container|http://stackoverflow.com/questions/28471224/duplicating-docker-container-for-debugging]]
To Operate Hercules Step By Step\n '25 June 2016'\n\n* switch to vm\n** cd vm/vm370pack/\n* open two more windows\n** <ctl> <shift> n\n** <ctl> <shift> n\n* in current window type\n** hercules -f herc.cnf\n* in next window type\n** telnet localhost 3270\n* in first window type\n** ipl 131\n* in second window see:\n> \n> VM/370 VERSION 06 LEVEL 00 PLC 0029; 09/07/85 09:42:40 \n> \n> NOW 09:42:53 PST SATURDAY 06/25/16\n> CHANGE TOD CLOCK (YES NO) :HHCTE006A Enter input for console device 001F\n** type "NO<cr>" then "COLD<cr>" then "ENABLE ALL<cr>"\n* in third window type:\n* X3270 localhost 3270\n* login with:\n** L maint\n** CPCMS\n* get into cms\n** cp i cms\n* run cms command\n** listfile\n* clear screen for more information\n** <alt> c
Note: This operation guide:\n\n* Only works under Linux\n* Uses a Docker Image\n* Requires specific software on your workstation\n* Have the following software installed on you workstation\n** [[docker|https://docs.docker.com/v1.8/linux/step_one/]]\n** {{{ apt-get install python3.5}}}\n** {{{ apt-get install python3-pip}}}\n** {{{pip install py3270}}}\n** {{{apt-get install x3270}}}\n* Download/Run Docker Image\n{{{\ndocker run -it flintiii/vm370:latest /bin/bash\n}}}\n* Note IP address of docker guest as it scrolls by...\n* Set up terminal - get 3270.py program from running image...\n{{{\nscp flint@<dockerIP>:/usr/sbin/vm/bin/3270.py .\n./3270.py -r <dockerIP>\n}}}\n* A demo runs, you can figure it out from there...\n
It seemed to me one of the things that I could do to help you get more familiar with IBM zVM was\nto develop and deploy a hercules based simulator, so I wrote one as a docker instance.\n\nI thought that it would be a good idea to develop a docker image that loaded and launched a vm370\nimage on a local computer. With docker installed on your workstation, I believe you can\nload/launch this with the following command:\n\n{{{\ndocker run -it flintiii/vm370:latest /bin/bash\n}}}\n\nOnce launches it will print the ip address of where to send an x3270 session on port 3270.\n\nI have also written a python program, 3270.py which if you download it from the docker image to\nyour host instance, does a good job of exercising the vm370 image.\n\nThe vm370 code included in this demo program is to the best of my knowledge the public domain vm\ncode, thus it doesn't do much. This was all done in Ubuntu 16.04. \n\nyou cand telnet to port 3270, e.g.\n\nX3270 <ipaddress>:3270\n\nThe python script 3270.py -r <ipaddress> this with these arguments.
Type the text for '1 August 2016'\n\n[[Main Hercules Site|http://www.hercules-390.eu/index.html]]\n[[Open Mainframes Not updated since 2011|http://opensourcemainframes.org/]]\n[[Yahoo Newsgroup|http://www.hercules-390.eu/hercsupp.html]]\n[[Private VM Site|http://vmcms.freshlinks.net/vm/default.asp]]\n[[Raspberry PI Hercules|http://www.rs-online.com/designspark/electronics/blog/my-raspberry-pi-thinks-it-s-a-mainframe]]\n[[Forum Discusses Options/Limitations|http://computer-programming-forum.com/38-rexx/6731e74aa1bf4b58.htm]]\n\n
Type the text for '23 August 2016'\n\nYou can find this in Docker hub (https://hub.docker.com/) or by logging in at the bash command line, and\nexecuting the following command:\n\n docker login\n docker search vm370\n\nThis should return to you the following response:\n\n NAME DESCRIPTION STARS OFFICIAL AUTOMATED\n flintiii/vm370 0\n\nI believe you then can load/launch this Docker image on a Debian/Ubuntu host with the following commands:\n\n docker login\n docker pull flintiii/vm370:latest\n docker run -it flintiii/vm370:latest /bin/bash\n\nOnce launched version 0.007 of this program will give you the ip address of where to send an x3270 session.\n\nI have also written a python program, 3270.py which if you download it from the docker image as shown in the prompts\ndoes a good job of exercising the vm370 image.\n\n
Type the text for '1 September 2016'\n\nSome of these packages are very old and may even work on VM/370\n<http://www.smrcc.org.uk/members/g4ugm/VM370.htm> systems running on the\nHercules <http://www.hercules-390.eu/> VM Emulator.\n\n \n\nThe Download Page has a new home at: http://sruvm.franhensler.host-ed.me/ \n\nalong with my personal web page at http://franhensler.host-ed.me/\n\n \nFran Hensler, Administrator Emeritus at Slippery Rock University of PA\n\n[[The wandering hensler|http://www.vmworkshop.org/HENSLER/]]
Type the text for '6 September 2016'\n\nhttp://www.dot.state.al.us/csweb/network_operations.html
Type the text for '3 April 2023'\n\n[[Hercules Emulator|http://www.hercules-390.eu/]]\n\n{{{\nsudo apt-get install hercules\n}}}
Type the text for 'tmux'\n\nhttp://docbox.flint.com:8081/hercules/#TmuxResources
Type the text for '6 May 2025'\n\n
Type the text for '28 August 2025'\n\nhttps://github.com/openmainframeproject/feilong