├── ABOUT-NLS ├── CHANGES ├── COPYRIGHT ├── Hercules.dsp ├── Hercules.dsw ├── Hercules.sln ├── Hercules.vcproj ├── Hercules.vcxproj ├── Hercules.vcxproj.filters ├── Hercules.vcxproj.user ├── Hercules_VS2010.sln ├── INSTALL ├── Makefile.am ├── README.AIX ├── README.COMMADPT ├── README.DYNMOD ├── README.ECPSVM ├── README.HAO ├── README.HDL ├── README.HERCLOGO ├── README.HRAF ├── README.IOARCH ├── README.ISSUES ├── README.MINGW ├── README.MSVC ├── README.NETWORKING ├── README.OSX ├── README.REXX ├── README.S37X ├── README.SETUID ├── README.SUN ├── README.SVN ├── README.TAPE ├── README.WIN64 ├── RELEASE.NOTES ├── SoftFloat ├── Makefile.am ├── README.txt ├── SoftFloat-history.txt ├── SoftFloat-macros.h ├── SoftFloat-source.txt ├── SoftFloat-specialise.h ├── SoftFloat-types.h ├── SoftFloat.c ├── SoftFloat.h ├── SoftFloat.txt └── milieu.h ├── _TODO.txt ├── _build ├── _build.bat ├── _build.tail ├── all-all.jobs ├── archlvl.c ├── assist.c ├── autoconf ├── README ├── config.guess ├── config.rpath ├── config.sub ├── depcomp ├── hercules.m4 ├── install-sh ├── libtool.m4 ├── ltdl.m4 ├── ltmain.sh ├── missing └── mkinstalldirs ├── autogen.sh ├── awstape.c ├── bldcfg.c ├── bootstrap.c ├── build_pch.c ├── cache.c ├── cache.h ├── cardpch.c ├── cardrdr.c ├── ccfixme.h ├── cckdcdsk.c ├── cckdcomp.c ├── cckddasd.c ├── cckddiag.c ├── cckdfix.c ├── cckdswap.c ├── cckdutil.c ├── ccnowarn.h ├── cgibin.c ├── chain.h ├── channel.c ├── chsc.c ├── chsc.h ├── ckddasd.c ├── clock.c ├── clock.h ├── cmdtab.c ├── cmdtab.h ├── cmpsc.c ├── cnsllogo.h ├── codepage.c ├── codepage.h ├── comm3705.c ├── comm3705.h ├── commadpt.c ├── commadpt.h ├── con1052c.c ├── config.c ├── configure.ac ├── console.c ├── conspawn.c ├── control.c ├── cpu.c ├── cpuint.h ├── crypto.c ├── crypto ├── Makefile.am ├── aes.c ├── aes.h ├── des.c ├── des.h ├── dyncrypt.c ├── sha1.c ├── sha1.h ├── sha256.c └── sha256.h ├── ctc_ctci.c ├── ctc_lcs.c ├── ctc_ptp.c ├── ctc_ptp.h ├── ctcadpt.c ├── ctcadpt.h ├── dasdblks.h ├── dasdcat.c ├── dasdconv.c ├── dasdcopy.c ├── dasdinit.c ├── dasdisup.c ├── dasdload.c ├── dasdls.c ├── dasdpdsu.c ├── dasdseq.c ├── dasdtab.c ├── dasdtab.h ├── dasdutil.c ├── dat.c ├── dat.h ├── dbgtrace.h ├── debug-all.jobs ├── decNumber ├── ICU-license.html ├── Makefile.am ├── decContext.c ├── decContext.h ├── decDPD.h ├── decNumber.c ├── decNumber.def ├── decNumber.h ├── decNumber.rc ├── decNumberLocal.h ├── decPacked.c ├── decPacked.h ├── decimal128.c ├── decimal128.h ├── decimal32.c ├── decimal32.h ├── decimal64.c ├── decimal64.h ├── decnumber.pdf └── readme.txt ├── decimal.c ├── devtype.h ├── dfp.c ├── diagmssf.c ├── diagnose.c ├── dmap2hrc.c ├── dyn76.c ├── dyngui.c ├── dyninst.c ├── dynmake.bat ├── ecpsvm.c ├── ecpsvm.h ├── esa390.h ├── esame.c ├── external.c ├── extstring.h ├── faketape.c ├── fbadasd.c ├── feat370.h ├── feat390.h ├── feat900.h ├── featall.h ├── featchk.h ├── feature.h ├── fillfnam.c ├── fillfnam.h ├── fishhang.c ├── fishhang.h ├── float.c ├── fthreads.c ├── fthreads.h ├── ftlib.c ├── ftlib.h ├── general1.c ├── general2.c ├── general3.c ├── getopt.c ├── getopt.h ├── hao.c ├── hbyteswp.h ├── hchan.c ├── hchan.h ├── hconsole.c ├── hconsole.h ├── hconsts.h ├── hdiagf18.c ├── hdiagf18.h ├── hdl.c ├── hdl.h ├── hdlmain.c ├── hdteq.c ├── herc_getopt.h ├── hercifc.c ├── hercifc.h ├── herclin.c ├── herclogo.txt ├── hercules.cnf ├── hercules.h ├── hercules.ico ├── hercver.rc ├── hercwind.h ├── herror.h ├── hetget.c ├── hetinit.c ├── hetlib.c ├── hetlib.h ├── hetmap.c ├── hettape.c ├── hetupd.c ├── hextapi.h ├── hexterns.h ├── hinlines.h ├── history.c ├── history.h ├── hmacros.h ├── hostinfo.c ├── hostinfo.h ├── hostopts.h ├── hsccmd.c ├── hscemode.c ├── hscloc.c ├── hscmisc.c ├── hscpufun.c ├── hscutl.c ├── hscutl.h ├── hscutl2.c ├── hsocket.c ├── hsocket.h ├── hstdinc.h ├── hstdint.h ├── hstructs.h ├── hsys.c ├── hthreads.h ├── html ├── Makefile.am ├── cckddasd.html ├── fishgui.html ├── hercconf.html ├── hercfaq.html ├── hercinst.html ├── herclic.html ├── hercload.html ├── hercmsca.html ├── hercmscf.html ├── hercmscp.html ├── hercmsct.html ├── hercmscu.html ├── hercmsda.html ├── hercmsdc.html ├── hercmsdg.html ├── hercmsdi.html ├── hercmsdl.html ├── hercmsdn.html ├── hercmsds.html ├── hercmsdt.html ├── hercmsdu.html ├── hercmsg.html ├── hercmshd.html ├── hercmshe.html ├── hercmshg.html ├── hercmshm.html ├── hercmsht.html ├── hercmshu.html ├── hercmsif.html ├── hercmsin.html ├── hercmslc.html ├── hercmslg.html ├── hercmspn.html ├── hercmspr.html ├── hercmspu.html ├── hercmsrd.html ├── hercmssd.html ├── hercmsta.html ├── hercmstc.html ├── hercmste.html ├── hercmstm.html ├── hercmsts.html ├── hercmstt.html ├── hercmstu.html ├── hercmsvm.html ├── hercnew.html ├── hercrdr.html ├── hercrnot.html ├── hercsupp.html ├── herctcp.html ├── hercules.css ├── hercules.html ├── images │ ├── back.gif │ ├── bkued.gif │ ├── blueu.gif │ ├── dial1.gif │ ├── dial2.gif │ ├── dial3.gif │ ├── dial4.gif │ ├── favicon.ico │ ├── greend.gif │ ├── greenu.gif │ ├── hercpic-rblk-256.gif │ ├── hercpic-rblk-80.gif │ ├── interruptd.gif │ ├── interruptu.gif │ ├── loadd.gif │ ├── loadoffu.gif │ ├── loadonu.gif │ ├── loadu.gif │ ├── manoffu.gif │ ├── manonu.gif │ ├── note.gif │ ├── osi-certified-60x50.jpg │ ├── poweroffd.gif │ ├── poweroffu.gif │ ├── poweronoffd.gif │ ├── poweronoffu.gif │ ├── poweronond.gif │ ├── powerononu.gif │ ├── redd.gif │ ├── redu.gif │ ├── restartd.gif │ ├── restartu.gif │ ├── startd.gif │ ├── startu.gif │ ├── stopd.gif │ ├── stopu.gif │ ├── stored.gif │ ├── storeu.gif │ ├── sysoffu.gif │ ├── sysonu.gif │ ├── translucentoffd.gif │ ├── translucentoffu.gif │ ├── translucentond.gif │ ├── translucentonu.gif │ ├── waitoffu.gif │ └── waitonu.gif ├── include │ ├── footer.htmlpart │ └── header.htmlpart ├── index.html ├── shared.html └── tasks.html ├── httpmisc.h ├── httpserv.c ├── htypes.h ├── ieee.c ├── impl.c ├── inline.h ├── intl ├── ChangeLog ├── Makefile.in ├── VERSION ├── bindtextdom.c ├── config.charset ├── dcgettext.c ├── dcigettext.c ├── dcngettext.c ├── dgettext.c ├── dngettext.c ├── eval-plural.h ├── explodename.c ├── finddomain.c ├── gettext.c ├── gettextP.h ├── gmo.h ├── hash-string.h ├── intl-compat.c ├── l10nflist.c ├── libgnuintl.h ├── loadinfo.h ├── loadmsgcat.c ├── localcharset.c ├── locale.alias ├── localealias.c ├── localename.c ├── ngettext.c ├── os2compat.c ├── os2compat.h ├── osdep.c ├── plural-exp.c ├── plural-exp.h ├── plural.c ├── plural.y ├── ref-add.sin ├── ref-del.sin └── textdomain.c ├── io.c ├── ipl.c ├── license_dyn76.txt ├── linklist.h ├── loadmem.c ├── loadparm.c ├── logger.c ├── logger.h ├── logmsg.c ├── losc.c ├── ltdl.c ├── ltdl.h ├── m4 ├── ChangeLog ├── Makefile.am ├── codeset.m4 ├── gettext.m4 ├── glibc2.m4 ├── glibc21.m4 ├── iconv.m4 ├── intdiv0.m4 ├── intmax.m4 ├── inttypes-pri.m4 ├── inttypes.m4 ├── inttypes_h.m4 ├── isc-posix.m4 ├── lcmessage.m4 ├── lib-ld.m4 ├── lib-link.m4 ├── lib-prefix.m4 ├── longdouble.m4 ├── longlong.m4 ├── nls.m4 ├── po.m4 ├── printf-posix.m4 ├── progtest.m4 ├── signed.m4 ├── size_max.m4 ├── stdint_h.m4 ├── uintmax_t.m4 ├── ulonglong.m4 ├── wchar_t.m4 ├── wint_t.m4 └── xsize.m4 ├── machchk.c ├── machdep.h ├── makefile-dllmod.msvc ├── makefile.bat ├── makefile.generic ├── makefile.msvc ├── makefile.w32 ├── man ├── Makefile.am ├── cckd.4 ├── cckddiag.1 ├── dasdseq.1 └── vmfplc2.1 ├── memrchr.c ├── memrchr.h ├── msgenu.h ├── msvc.makefile.includes ├── BZIP2_DIR.msvc ├── BZIP2_FLAGS.msvc ├── BZIP2_RULES.msvc ├── CONFIG.msvc ├── DEBUG_RETAIL.msvc ├── HERC_FLAGS.msvc ├── MODULES.msvc ├── MOD_RULES1.msvc ├── MOD_RULES2.msvc ├── OBJ_CODE.msvc ├── OUTDIR_RULES.msvc ├── OUTPUT_DIRS.msvc ├── PCRE_DIR.msvc ├── PCRE_FLAGS.msvc ├── PCRE_RULES.msvc ├── PRIM_RULES.msvc ├── REXX_DIR.msvc ├── REXX_FLAGS.msvc ├── REXX_RULES.msvc ├── VERSION.msvc ├── ZLIB_DIR.msvc ├── ZLIB_FLAGS.msvc └── ZLIB_RULES.msvc ├── omatape.c ├── opcode.c ├── opcode.h ├── panel.c ├── parser.c ├── parser.h ├── pfpo.c ├── plo.c ├── po ├── ChangeLog ├── LINGUAS ├── Makefile.in.in ├── Makevars ├── Makevars.template ├── POTFILES.in ├── Rules-quot ├── boldquot.sed ├── buildpot.sh ├── de.po ├── en@boldquot.header ├── en@quot.header ├── hercules.pot ├── insert-header.sin ├── nl.po ├── quot.sed └── remove-potcdate.sin ├── printer.c ├── pttrace.c ├── pttrace.h ├── qdio.c ├── qeth.c ├── qeth.h ├── resolve.c ├── resolve.h ├── retail-all.jobs ├── rexx.c ├── s37x.c ├── s37xmod.c ├── scedasd.c ├── script.c ├── scsitape.c ├── scsitape.h ├── service.c ├── service.h ├── shared.c ├── shared.h ├── sie.c ├── sllib.c ├── sllib.h ├── sockdev.c ├── sockdev.h ├── sr.c ├── sr.h ├── stack.c ├── stamp-h.in ├── strsignal.c ├── tapeccws.c ├── tapecopy.c ├── tapedev.c ├── tapedev.h ├── tapemap.c ├── tapesplt.c ├── tests ├── Makefile.am ├── a.core ├── agf.txt ├── alsi.txt ├── axtr.txt ├── b.core ├── bctr.core ├── brc.txt ├── cdfr.txt ├── cdgr.txt ├── cgdr.txt ├── cgdtr.txt ├── cger.txt ├── cgfrl.txt ├── cgxr.txt ├── cgxtr.txt ├── cpsdr.txt ├── cpu0off.core ├── csst.txt ├── cxgbr.txt ├── cxgtr.txt ├── diag24.txt ├── diag8.txt ├── dxtr.txt ├── epsw.txt ├── exrl.txt ├── fiebr.txt ├── fixtr.txt ├── iedtr.txt ├── kimd0.txt ├── kimd1.txt ├── kimd2.txt ├── kimd3.txt ├── kimd65.txt ├── klmd0.txt ├── klmd1.txt ├── klmd2.txt ├── klmd3.txt ├── km0.txt ├── km1.txt ├── km10.txt ├── km11.txt ├── km18.txt ├── km19.txt ├── km2.txt ├── km20.txt ├── km26.txt ├── km27.txt ├── km28.txt ├── km3.txt ├── km50.txt ├── km52.txt ├── km58.txt ├── km60.txt ├── km9.txt ├── kmac0.txt ├── kmac1.txt ├── kmac10.txt ├── kmac11.txt ├── kmac18.txt ├── kmac19.txt ├── kmac2.txt ├── kmac20.txt ├── kmac26.txt ├── kmac27.txt ├── kmac28.txt ├── kmac3.txt ├── kmac9.txt ├── kmc0.txt ├── kmc1.txt ├── kmc10.txt ├── kmc11.txt ├── kmc18.txt ├── kmc19.txt ├── kmc2.txt ├── kmc20.txt ├── kmc26.txt ├── kmc27.txt ├── kmc28.txt ├── kmc3.txt ├── kmc67.txt ├── kmc9.txt ├── kmctr0.txt ├── kmctr1.txt ├── kmctr10.txt ├── kmctr11.txt ├── kmctr18.txt ├── kmctr19.txt ├── kmctr2.txt ├── kmctr20.txt ├── kmctr26.txt ├── kmctr27.txt ├── kmctr28.txt ├── kmctr3.txt ├── kmctr9.txt ├── kmf0.txt ├── kmf1.txt ├── kmf10.txt ├── kmf11.txt ├── kmf18.txt ├── kmf19.txt ├── kmf2.txt ├── kmf20.txt ├── kmf26.txt ├── kmf27.txt ├── kmf28.txt ├── kmf3.txt ├── kmf9.txt ├── kmo0.txt ├── kmo1.txt ├── kmo10.txt ├── kmo11.txt ├── kmo18.txt ├── kmo19.txt ├── kmo2.txt ├── kmo20.txt ├── kmo26.txt ├── kmo27.txt ├── kmo28.txt ├── kmo3.txt ├── kmo9.txt ├── l.core ├── la.core ├── la2.core ├── ldetr.txt ├── ldxtr.txt ├── ledtr.txt ├── lfpc.txt ├── llhrl.txt ├── loop.txt ├── lpp.txt ├── lxdtr.txt ├── maer.txt ├── mvc.core ├── mvcos.txt ├── mxtr.txt ├── popcnt.txt ├── prtest.txt ├── res40002.txt ├── rnsbg.txt ├── rrdtr.txt ├── rrxtr.txt ├── sieve.core ├── srdt.txt ├── st.core ├── stfle.txt ├── stidp.txt ├── stsi.txt ├── sus40002.txt ├── tapepos.txt ├── tbedr.txt ├── tdcdt.txt ├── tdgdt.txt ├── thder.txt └── trte.txt ├── timer.c ├── trace.c ├── tt32api.h ├── tuntap.c ├── tuntap.h ├── util ├── Makefile.am ├── TMOUNT.txt ├── awssl-v19g ├── awswrite.jcl ├── bldlvlck ├── cckddump.hla ├── cckdload.hla ├── configure.ac ├── dasdlist ├── dasdlist.bat ├── rawstape.jcl ├── tapeconv.jcl └── zzsacard.bin ├── vector.c ├── version.c ├── version.h ├── vm.c ├── vmd250.c ├── vmd250.h ├── vmfplc2.c ├── vstore.c ├── vstore.h ├── w32chan.c ├── w32chan.h ├── w32ctca.c ├── w32ctca.h ├── w32dl.h ├── w32mtio.h ├── w32stape.c ├── w32stape.h ├── w32util.c ├── w32util.h ├── wthreads.c ├── wthreads.h └── xstore.c /COPYRIGHT: -------------------------------------------------------------------------------- 1 | All materials in this distribution are 2 | copyrighted by Roger Bowler and others. 3 | 4 | Hercules may be distributed under the terms 5 | of the Q Public License Version 1.0 6 | 7 | Please refer to: 8 | http://www.hercules-390.org/herclic.html 9 | for details. 10 | 11 | In the context of this license, the initial developers of 12 | the software are Roger Bowler, Jan Jaeger, and Jay Maynard. 13 | -------------------------------------------------------------------------------- /Hercules.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Hercules"=".\Hercules.dsp" - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | -------------------------------------------------------------------------------- /Hercules.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /README.AIX: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------- 2 | 3 | 4 | *** PRELIMINARY *** 5 | 6 | 7 | Building Hercules-390 for AIX 5.3 8 | ------------------------------------ 9 | 10 | 11 | 1. Standard AIX systems do not have autoconf, automake, zlib 12 | or bzip2 libraries and headers; these can be downloaded 13 | from and 14 | installed using rpm (rpm is part of AIX 5.3). 15 | 16 | Autoconf/automake require some pre-requisites, such as gettext, 17 | info, m4, libsigsegv and expat; all these could be downloaded 18 | and installed from the same place. 19 | 20 | 21 | 2. Enter the configure and make commands to build/install Hercules: 22 | 23 | ./configure && make && make install 24 | 25 | (or you can run each command separately if you want). 26 | 27 | 28 | 3. That's it! Enjoy your private mainframe. :) 29 | 30 | 31 | ------------------------------------------------------------------------------- 32 | 33 | The above is based on efforts done by Alexey Bozrikov [bozy@fgm.com.cy], 34 | Harold Grovesteen [h.grovsteen@tx.rr.com] and Fish [fish@softdevlabs.com] 35 | on the Hercules-390 Yahoo group list during the month of October 2009. 36 | 37 | ------------------------------------------------------------------------------- 38 | 39 | 40 | Still remaining TODO: 41 | 42 | - Get SCSI tape working: resolve header & 'struct mtget' issue(s). 43 | 44 | #if defined( HAVE_STRUCT_MTGET_MT_GSTAT ) 45 | #else // !defined( HAVE_STRUCT_MTGET_MT_GSTAT ) 46 | #endif // defined( HAVE_STRUCT_MTGET_MT_GSTAT ) 47 | 48 | - Test networking (did you do this yet Alexey?) 49 | 50 | -------------------------------------------------------------------------------- /README.REXX: -------------------------------------------------------------------------------- 1 | Hercules REXX support 2 | 3 | Note: This documentation is incomplete, REXX support is still being further developed 4 | 5 | REXX support is currently based on the regina-rexx package 6 | 7 | To build Hercules with REXX support the regina3-dev package is needed 8 | 9 | The default command environment is HERCULES 10 | 11 | command errors may be handled with SIGNAL ON ERROR 12 | command faulures may be handles with SIGNAL ON FAILURE 13 | command returncodes < 0 are interpreted as ERROR returncodes > 0 are interpreted as FAILURE 14 | e.g. command not found is an error 15 | e.g. file not found on attach is a failure 16 | Hercules will abort startup of if the .cnf REXX exec returns with a non-zero value 17 | 18 | The EXEC command may be used to explicitly invoke a REXX script, optional arguments will be passed 19 | 20 | REXX will be invoked implicitly if existing script files start with /* 21 | 22 | Hercules symbols can be retrieved as normal environment variables with value() or getvar() 23 | 24 | Say 'LPARNAME=' value('LPARNAME',,'SYSTEM') 25 | or 26 | Say 'LPARNAME=' getenv('LPARNAME') 27 | 28 | Not yet implemented are: 29 | 30 | - capture output by means of ADDRESS 'HERCULES' command WITH OUTPUT STEM 31 | 32 | 33 | Jan Jaeger 34 | -------------------------------------------------------------------------------- /SoftFloat/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | # 3 | # Makefile for building the SoftFloat package 4 | # for use with Hercules S/370, ESA/390 and z/Architecture emulator 5 | # 6 | # This file was added by the Hercules project. 7 | # It is not part of the original SoftFloat distribution. 8 | # 9 | # $Id$ 10 | # 11 | 12 | lns=@LN_S@ 13 | 14 | LDADD = @LIBS@ 15 | 16 | AM_CPPFLAGS = -I$(top_srcdir) 17 | 18 | SoftFloat_SRC = SoftFloat.c 19 | 20 | if BUILD_SHARED 21 | XSTATIC = 22 | else 23 | XSTATIC = -static 24 | endif 25 | 26 | if OPTION_DYNAMIC_LOAD 27 | LTDL = ../ltdl.c 28 | LIB_LD_FLAGS = -export-dynamic \ 29 | $(XSTATIC) \ 30 | -no-undefined \ 31 | -avoid-version 32 | else 33 | LTDL = 34 | LIB_LD_FLAGS = $(XSTATIC) \ 35 | -no-undefined \ 36 | -avoid-version 37 | endif 38 | 39 | HERCLIBS = 40 | HERCLIBS2 = libSoftFloat.la 41 | noinst_LTLIBRARIES = $(HERCLIBS) 42 | lib_LTLIBRARIES = $(HERCLIBS2) 43 | 44 | libSoftFloat_la_SOURCES = $(SoftFloat_SRC) 45 | libSoftFloat_la_LDFLAGS = $(LIB_LD_FLAGS) 46 | libSoftFloat_la_LIBADD = $(LDADD) 47 | 48 | noinst_HEADERS = milieu.h \ 49 | SoftFloat.h \ 50 | SoftFloat-macros.h \ 51 | SoftFloat-specialise.h \ 52 | SoftFloat-types.h 53 | 54 | EXTRA_DIST = README.txt \ 55 | SoftFloat-history.txt \ 56 | SoftFloat-source.txt \ 57 | SoftFloat.txt 58 | 59 | %.s: %.c 60 | $(COMPILE) -S $< 61 | -------------------------------------------------------------------------------- /_build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM +-------------------------------------------------------------------------------+ 3 | REM ! ! 4 | REM ! Name: _build.bat ! 5 | REM ! ! 6 | REM ! Desc: build Hercules with various options. Windows bat front end ! 7 | REM ! ! 8 | REM +-------------------------------------------------------------------------------+ 9 | REM ! 10 | REM ! Change Log: '$Log$ 11 | REM ! Change Log: 'Revision 1.8.4.1 2005/03/01 11:22:05 fish 12 | REM ! Change Log: 'fixing the last(?) of my CRLF screwups 13 | REM ! Change Log: ' 14 | REM ! Change Log: 'Revision 1.8 2004/03/28 15:11:58 vbandke 15 | REM ! Change Log: 'no message 16 | REM ! Change Log: ' 17 | REM ! 18 | REM +------------------------------------------------------------------------------- 19 | echo off 20 | SET ANSI_FLAG=Y 21 | SET BASH_OPT=+e +x 22 | bash %BASH_OPT% _build.tail 23 | bash %BASH_OPT% _build -c p4 -p 1 -f 24 | pause 25 | -------------------------------------------------------------------------------- /_build.tail: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # $Id$ 4 | # 5 | # $Log$ 6 | # 7 | MYCMD=`basename ${0} .tail` 8 | LOGFILE=`pwd`/${MYCMD}.log 9 | rm -f ${LOGFILE} >/dev/null 2>&1 10 | touch ${LOGFILE} 11 | CMD \/c start "Snapshot Logfile ${LOGFILE}" /i tail -f ${LOGFILE} 12 | -------------------------------------------------------------------------------- /all-all.jobs: -------------------------------------------------------------------------------- 1 | 2 | * Parallel-build ALL Configurations (both Debug and Release) for ALL Platforms... 3 | 4 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|Win32" /time /nologo 5 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|Win32" /time /nologo 6 | 7 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|x64" /time /nologo 8 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|x64" /time /nologo 9 | 10 | # VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|Itanium" /time /nologo 11 | # VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|Itanium" /time /nologo 12 | -------------------------------------------------------------------------------- /autoconf/README: -------------------------------------------------------------------------------- 1 | This is where autoconf and automake will place their auxiliary files. 2 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # $Id$ 4 | # 5 | # $Log$ 6 | 7 | case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in 8 | *c*,-n*) ECHO_N= ECHO_C=' 9 | ' ECHO_T=' ' ;; 10 | *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; 11 | *) ECHO_N= ECHO_C='\c' ECHO_T= ;; 12 | esac 13 | 14 | cat <>./autogen.log 2>&1 && echo "OK. (25% done)" && 25 | echo $ECHO_N "autoheader... $ECHO_C" && autoheader >>./autogen.log 2>&1 && echo "OK. (50% done)" && 26 | echo $ECHO_N "automake... $ECHO_C" && automake >>./autogen.log 2>&1 && echo "OK. (75% done)" && 27 | echo $ECHO_N "autoconf... $ECHO_C" && autoconf >>./autogen.log 2>&1 && echo "OK. (100% done)" 28 | 29 | R=$? 30 | if [ "$R" = 0 ] 31 | then 32 | cat < 16 | * 100% Public Domain 17 | */ 18 | 19 | 20 | #ifndef _SHA1_H_ 21 | #define _SHA1_H_ 22 | 23 | #define SHA1_BLOCK_LENGTH 64 24 | #define SHA1_DIGEST_LENGTH 20 25 | 26 | typedef struct { 27 | u_int32_t state[5]; 28 | u_int64_t count; 29 | unsigned char buffer[SHA1_BLOCK_LENGTH]; 30 | } SHA1_CTX; 31 | 32 | void SHA1Init(SHA1_CTX * context); 33 | void SHA1Transform(u_int32_t state[5], unsigned char buffer[SHA1_BLOCK_LENGTH]); 34 | void SHA1Update(SHA1_CTX *context, unsigned char *data, unsigned int len); 35 | void SHA1Final(unsigned char digest[SHA1_DIGEST_LENGTH], SHA1_CTX *context); 36 | 37 | /* Context structure definition for dyncrypt */ 38 | typedef SHA1_CTX sha1_context; 39 | 40 | #endif /* _SHA1_H_ */ 41 | -------------------------------------------------------------------------------- /dat.c: -------------------------------------------------------------------------------- 1 | /* DAT.C (c) Copyright Roger Bowler, 1999-2011 */ 2 | /* Hercules Supported DAT Functions */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | /* z/Architecture support - (c) Copyright Jan Jaeger, 1999-2009 */ 9 | 10 | #include "hstdinc.h" 11 | #include "hercules.h" 12 | 13 | #if defined(OPTION_NO_INLINE_DAT) || defined(OPTION_NO_INLINE_LOGICAL) 14 | 15 | #define _DAT_C 16 | 17 | #include "opcode.h" 18 | 19 | #include "inline.h" 20 | 21 | #if !defined(_GEN_ARCH) 22 | 23 | #if defined(_ARCHMODE2) 24 | #define _GEN_ARCH _ARCHMODE2 25 | #include "dat.c" 26 | #endif 27 | 28 | #if defined(_ARCHMODE3) 29 | #undef _GEN_ARCH 30 | #define _GEN_ARCH _ARCHMODE3 31 | #include "dat.c" 32 | #endif 33 | 34 | #endif /*!defined(_GEN_ARCH)*/ 35 | 36 | #endif /*!defined(OPTION_NO_INLINE_DAT) || defined(OPTION_NO_INLINE_LOGICAL)*/ 37 | -------------------------------------------------------------------------------- /debug-all.jobs: -------------------------------------------------------------------------------- 1 | 2 | * Parallel-build all "Debug" Configurations for all Platforms... 3 | 4 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|Win32" /time /nologo 5 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|x64" /time /nologo 6 | # VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Debug|Itanium" /time /nologo 7 | -------------------------------------------------------------------------------- /decNumber/decnumber.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/decNumber/decnumber.pdf -------------------------------------------------------------------------------- /fillfnam.h: -------------------------------------------------------------------------------- 1 | /* FILLFNAM.C (c) Copyright Roger Bowler, 1999-2011 */ 2 | /* Hercules filename completion functions */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | 11 | #ifndef __FILLFNAM_H__ 12 | #define __FILLFNAM_H__ 13 | 14 | int tab_pressed(char *cmdlinefull, size_t cmdlinelen, int *cmdoffset); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /hchan.h: -------------------------------------------------------------------------------- 1 | /* HCHAN.H (c) Copyright Ivan Warren, 2004-2011 */ 2 | /* Based on work (c)Roger Bowler, Jan Jaeger & Others 1999-2010 */ 3 | /* Generic channel device handler */ 4 | /* */ 5 | /* Released under "The Q Public License Version 1" */ 6 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 7 | /* Hercules. */ 8 | 9 | // $Id$ 10 | 11 | #ifndef __HCHAN_H__ 12 | #define __HCHAN_H__ 13 | /* 14 | * Hercules Generic Channel internal definitions 15 | * (c) Ivan Scott Warren 2004-2006 16 | * based on work 17 | * (c) Roger Bowler, Jan Jaeger and Others 1999-2006 18 | * This code is covered by the QPL Licence 19 | */ 20 | 21 | static int hchan_init_exec(DEVBLK *,int,char **); 22 | static int hchan_init_connect(DEVBLK *,int,char **); 23 | static int hchan_init_int(DEVBLK *,int,char **); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /herc_getopt.h: -------------------------------------------------------------------------------- 1 | /* HERC_GETOPT.H (c) Copyright Roger Bowler, 2006-2011 */ 2 | /* Hercules getopt interface */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | #if !defined(__HERC_GETOPT_H__) 11 | # define __HERC_GETOPT_H__ 12 | 13 | #include "hercules.h" 14 | #include "getopt.h" 15 | 16 | #if defined(NEED_GETOPT_OPTRESET) 17 | #define OPTRESET() optreset=1 18 | #else 19 | #define OPTRESET() 20 | #endif 21 | 22 | #if defined(NEED_GETOPT_WRAPPER) 23 | 24 | // The following series of defines end up causing the source file 25 | // that happens to include "herc_getopt.h" to end up calling HERC's 26 | // version of getopt instead of the normal system getopt. 27 | 28 | #define getopt herc_getopt 29 | #define optarg herc_optarg 30 | #define optind herc_optind 31 | #define optopt herc_optopt 32 | #define optreset herc_optreset 33 | 34 | int herc_getopt(int,char * const *,const char *); 35 | 36 | #if defined(HAVE_GETOPT_LONG) 37 | #define getopt_long herc_getopt_long 38 | struct option; // (fwd ref) 39 | int herc_getopt_long(int,char * const *,const char *,const struct option *,int *); 40 | #endif 41 | 42 | extern char *herc_optarg; 43 | extern int herc_optind; 44 | extern int herc_opterr; 45 | extern int herc_optopt; 46 | extern int herc_optreset; 47 | 48 | #endif /* defined(NEED_GETOPT_WRAPPER) */ 49 | 50 | #endif /* __HERC_GETOPT_H__ */ 51 | -------------------------------------------------------------------------------- /herclogo.txt: -------------------------------------------------------------------------------- 1 | @ALIGN NONE 2 | @SBA 0,0 3 | @SF P 4 | Hercules Version : 5 | @SF HP 6 | $(VERSION) 7 | @NL 8 | @SF P 9 | Host name : 10 | @SF HP 11 | $(HOSTNAME) 12 | @NL 13 | @SF P 14 | Host OS : 15 | @SF HP 16 | $(HOSTOS)-$(HOSTOSREL) $(HOSTOSVER) 17 | @NL 18 | @SF P 19 | Host Architecture : 20 | @SF HP 21 | $(HOSTARCH) 22 | @NL 23 | @SF P 24 | Processors : 25 | @SF HP 26 | $(HOSTNUMCPUS) 27 | @NL 28 | @SF P 29 | LPAR Name : 30 | @SF HP 31 | $(LPARNAME) 32 | @NL 33 | @SF P 34 | Device number : 35 | @SF HP 36 | $(CSS):$(CCUU) 37 | @NL 38 | @SF P 39 | Subchannel : 40 | @SF HP 41 | $(SUBCHAN) 42 | @SF P 43 | @ALIGN LEFT 44 | 45 | 46 | HHH HHH The S/370, ESA/390 and z/Architecture 47 | HHH HHH Emulator 48 | HHH HHH 49 | HHH HHH EEEE RRR CCC U U L EEEE SSS 50 | HHHHHHHHHHHHHHHH E R R C U U L E S 51 | HHHHHHHHHHHHHHHH EEE RRR C U U L EEE SS 52 | HHHHHHHHHHHHHHHH E R R C U U L E S 53 | HHH HHH EEEE R R CCC UU LLLL EEEE SSS 54 | HHH HHH 55 | HHH HHH 56 | HHH HHH My PC thinks it's a MAINFRAME 57 | 58 | Copyright (c) 1999-2011 Roger Bowler, Jan Jaeger, and others 59 | -------------------------------------------------------------------------------- /hercules.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/hercules.ico -------------------------------------------------------------------------------- /herror.h: -------------------------------------------------------------------------------- 1 | /* HERROR.H (c) Copyright Jan Jaeger, 2010-2011 */ 2 | /* Hercules Specfic Error codes */ 3 | 4 | // $Id$ 5 | 6 | 7 | #ifndef _HERROR_H 8 | #define _HERROR_H 9 | 10 | /* Generic codes */ 11 | #define HNOERROR (0) /* OK / NO ERROR */ 12 | #define HERROR (-1) /* Generic Error */ 13 | #define HERRINVCMD (-32767) /* Invalid command KEEP UNIQUE */ 14 | #define HERRTHREADACT (-5) /* Thread is still active */ 15 | /* CPU related error codes */ 16 | #define HERRCPUOFF (-2) /* CPU Offline */ 17 | #define HERRCPUONL (-3) /* CPU Online */ 18 | 19 | /* Device related error codes */ 20 | #define HERRDEVIDA (-2) /* Invalid Device Address */ 21 | 22 | 23 | 24 | 25 | 26 | #endif /* _HERROR_H */ 27 | -------------------------------------------------------------------------------- /hetmap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/hetmap.c -------------------------------------------------------------------------------- /hextapi.h: -------------------------------------------------------------------------------- 1 | /* HEXTAPI.H (c) Copyright Roger Bowler & Others, 2005-2011 */ 2 | /* Definition of Hercules External (public) APIs */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | /* 11 | +-------------------------------------------------+ 12 | | This file originally written by Ivan Warren | 13 | | THE STATE OF THIS API IS NOT YET FINALIZED | 14 | | AND THEREFORE, THE INTERFACE MAY CHANGE | 15 | +-------------------------------------------------+ 16 | */ 17 | 18 | #ifndef _HEXTAPI_H_ 19 | #define _HEXTAPI_H_ 20 | 21 | // ZZ FIXME: do we even NEED this header any longer?! 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /history.h: -------------------------------------------------------------------------------- 1 | /* HISTORY.H (c) Copyright Roger Bowler, 1999-2011 */ 2 | /* Hercules Command History Processes */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | 11 | #ifndef HISTORY_H 12 | #define HISTORY_H 13 | 14 | extern int history_requested; 15 | extern char *historyCmdLine; 16 | 17 | int history_init(); 18 | int history_add(char *cmdline); 19 | int history_show(); 20 | int history_absolute_line(int x); 21 | int history_relative_line(int x); 22 | int history_next(void); 23 | int history_prev(void); 24 | int history_remove(void); 25 | #endif 26 | -------------------------------------------------------------------------------- /html/hercmsct.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: CT - Channel-to-Channel Adapter 5 | Emulation 6 | 7 | 8 | 10 |

Hercules Version 3: System Messages: CT - Channel-to-Channel Adapter 11 | Emulation

12 |

13 | This page describes the channel-to-channel adapter emulation messages for 14 | the Hercules S/370, ESA/390, and z/Architecture emulator. 15 |

Messages

16 |
17 |
18 | HHCCT001I 19 | 20 |
21 |
Meaning 22 |
23 |
Issued by 24 |
ctcadpt.c, function 25 |
26 |
27 |


28 |

29 | If you have a question about Hercules, see the 30 | Hercules Frequently-Asked Questions page. 31 | 32 |


33 | back 34 |
35 |

Last updated $Date$ $Revision$

36 | 37 | 38 | -------------------------------------------------------------------------------- /html/hercmsda.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: DA - DASD Emulation 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: DA - DASD Emulation

10 |

11 | This page describes the DASD emulation messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator. 13 |

Messages

14 |
15 |
16 | HHCDA001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
ckddasd.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmsdi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: DI - dasdinit 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: DI - dasdinit

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program dasdinit. 13 |

Messages

14 |
15 |
16 | HHCDI001I DASD initialization successfully completed. 17 | 18 |
19 |
Meaning 20 |
The requested DASD volume has been successfully initialized and is 21 | ready for use. 22 |
Issued by 23 |
dasdinit.c, function main 24 |
25 |
26 | HHCDI002I DASD initialization unsuccessful 27 | 28 |
29 |
Meaning 30 |
Initialization of the requested DASD volume was not successful. 31 |
Action 32 |
Refer to preceding error messages to determine the cause. 33 |
Issued by 34 |
dasdinit.c, function main 35 |
36 |
37 |


38 |

39 | If you have a question about Hercules, see the 40 | Hercules Frequently-Asked Questions page. 41 | 42 |


43 | back 44 |
45 |

Last updated $Date$ $Revision$

46 | 47 | 48 | -------------------------------------------------------------------------------- /html/hercmshe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: HE - hetinit 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: HE - hetinit

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program hetinit. 13 |

Messages

14 |
15 |
16 | HHCHE001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
hetinit.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmshg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: HG - hetget 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: HG - hetget

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program hetget. 13 |

Messages

14 |
15 |
16 | HHCHG001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
hetget.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmshm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: HM - hetmap 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: HM - hetmap

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program hetmap. 13 |

Messages

14 |
15 |
16 | HHCHM001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
hetmap.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmshu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: HU - hetutil 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: HU - hetinit

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program hetutil. 13 |

Messages

14 |
15 |
16 | HHCHU001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
hetutil.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmssd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: SD - Socket Devices 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: SD - Socket Devices

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator common routines to support socket 13 | devices. 14 |

Messages

15 |
16 |
17 | HHCSD001I 18 | 19 |
20 |
Meaning 21 |
22 |
Issued by 23 |
panel.c, function 24 |
25 |
26 |


27 |

28 | If you have a question about Hercules, see the 29 | Hercules Frequently-Asked Questions page. 30 | 31 |


32 | back 33 |
34 |

Last updated $Date$ $Revision$

35 | 36 | 37 | -------------------------------------------------------------------------------- /html/hercmsta.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: TA - Tape Device Emulation 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: TA - Tape Device Emulation

10 |

11 | This page describes the tape device emulation messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator. 13 |

Messages

14 |
15 |
16 | HHCTA001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
tapedev.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmstc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: TC - tapecopy 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: TC - tapecopy

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program tapecopy. 13 |

Messages

14 |
15 |
16 | HHCTC001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
tapecopy.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmstm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: TM - tapemap 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: TM - tapemap

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program tapemap. 13 |

Messages

14 |
15 |
16 | HHCTM001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
tapemap.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmsts.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: TS - tapesplt 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: TS - tapesplt

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator utility program tapesplt. 13 |

Messages

14 |
15 |
16 | HHCTS001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
tapesplt.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercmstu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules Version 3: System Messages: TU - TUN/TAP device support 5 | 6 | 7 | 9 |

Hercules Version 3: System Messages: TU - TUN/TAP device support

10 |

11 | This page describes the messages for the Hercules S/370, 12 | ESA/390, and z/Architecture emulator TUN/TAP support routines. 13 |

Messages

14 |
15 |
16 | HHCTU001I 17 | 18 |
19 |
Meaning 20 |
21 |
Issued by 22 |
tuntap.c, function 23 |
24 |
25 |


26 |

27 | If you have a question about Hercules, see the 28 | Hercules Frequently-Asked Questions page. 29 | 30 |


31 | back 32 |
33 |

Last updated $Date$ $Revision$

34 | 35 | 36 | -------------------------------------------------------------------------------- /html/hercules.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hercules 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <body> 15 | <p>Hercules uses frames. Your browser does not support frames.</p> 16 | </body> 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /html/images/back.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/back.gif -------------------------------------------------------------------------------- /html/images/bkued.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/bkued.gif -------------------------------------------------------------------------------- /html/images/blueu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/blueu.gif -------------------------------------------------------------------------------- /html/images/dial1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/dial1.gif -------------------------------------------------------------------------------- /html/images/dial2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/dial2.gif -------------------------------------------------------------------------------- /html/images/dial3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/dial3.gif -------------------------------------------------------------------------------- /html/images/dial4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/dial4.gif -------------------------------------------------------------------------------- /html/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/favicon.ico -------------------------------------------------------------------------------- /html/images/greend.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/greend.gif -------------------------------------------------------------------------------- /html/images/greenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/greenu.gif -------------------------------------------------------------------------------- /html/images/hercpic-rblk-256.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/hercpic-rblk-256.gif -------------------------------------------------------------------------------- /html/images/hercpic-rblk-80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/hercpic-rblk-80.gif -------------------------------------------------------------------------------- /html/images/interruptd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/interruptd.gif -------------------------------------------------------------------------------- /html/images/interruptu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/interruptu.gif -------------------------------------------------------------------------------- /html/images/loadd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/loadd.gif -------------------------------------------------------------------------------- /html/images/loadoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/loadoffu.gif -------------------------------------------------------------------------------- /html/images/loadonu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/loadonu.gif -------------------------------------------------------------------------------- /html/images/loadu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/loadu.gif -------------------------------------------------------------------------------- /html/images/manoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/manoffu.gif -------------------------------------------------------------------------------- /html/images/manonu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/manonu.gif -------------------------------------------------------------------------------- /html/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/note.gif -------------------------------------------------------------------------------- /html/images/osi-certified-60x50.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/osi-certified-60x50.jpg -------------------------------------------------------------------------------- /html/images/poweroffd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/poweroffd.gif -------------------------------------------------------------------------------- /html/images/poweroffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/poweroffu.gif -------------------------------------------------------------------------------- /html/images/poweronoffd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/poweronoffd.gif -------------------------------------------------------------------------------- /html/images/poweronoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/poweronoffu.gif -------------------------------------------------------------------------------- /html/images/poweronond.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/poweronond.gif -------------------------------------------------------------------------------- /html/images/powerononu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/powerononu.gif -------------------------------------------------------------------------------- /html/images/redd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/redd.gif -------------------------------------------------------------------------------- /html/images/redu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/redu.gif -------------------------------------------------------------------------------- /html/images/restartd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/restartd.gif -------------------------------------------------------------------------------- /html/images/restartu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/restartu.gif -------------------------------------------------------------------------------- /html/images/startd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/startd.gif -------------------------------------------------------------------------------- /html/images/startu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/startu.gif -------------------------------------------------------------------------------- /html/images/stopd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/stopd.gif -------------------------------------------------------------------------------- /html/images/stopu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/stopu.gif -------------------------------------------------------------------------------- /html/images/stored.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/stored.gif -------------------------------------------------------------------------------- /html/images/storeu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/storeu.gif -------------------------------------------------------------------------------- /html/images/sysoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/sysoffu.gif -------------------------------------------------------------------------------- /html/images/sysonu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/sysonu.gif -------------------------------------------------------------------------------- /html/images/translucentoffd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/translucentoffd.gif -------------------------------------------------------------------------------- /html/images/translucentoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/translucentoffu.gif -------------------------------------------------------------------------------- /html/images/translucentond.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/translucentond.gif -------------------------------------------------------------------------------- /html/images/translucentonu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/translucentonu.gif -------------------------------------------------------------------------------- /html/images/waitoffu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/waitoffu.gif -------------------------------------------------------------------------------- /html/images/waitonu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/html/images/waitonu.gif -------------------------------------------------------------------------------- /html/include/footer.htmlpart: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /html/include/header.htmlpart: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hercules 4 | 5 | 6 | -------------------------------------------------------------------------------- /html/tasks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tasks 4 | 5 | 6 |
The Hercules System/370, ESA/390, and z/Architecture Emulator, (c) Copyright by Roger Bowler, Jan Jaeger, and others
7 |
8 |

Tasks

9 | System Log
10 | IPL
11 |
12 |

Debugging

13 | Registers
14 | Storage
15 | Miscellaneous
16 | Devices
17 | Version Info 18 |
19 |

Configuration

20 | CPU
21 |
22 |

Registers

23 | GPRs
24 | CRs
25 | PSW 26 |
27 |

Information

28 | Documentation 29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /intl/ChangeLog: -------------------------------------------------------------------------------- 1 | 2002-08-06 GNU 2 | 3 | * Version 0.11.5 released. 4 | 5 | -------------------------------------------------------------------------------- /intl/VERSION: -------------------------------------------------------------------------------- 1 | GNU gettext library from gettext-0.11.5 2 | -------------------------------------------------------------------------------- /intl/locale.alias: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/intl/locale.alias -------------------------------------------------------------------------------- /intl/os2compat.h: -------------------------------------------------------------------------------- 1 | /* OS/2 compatibility defines. 2 | This file is intended to be included from config.h 3 | Copyright (C) 2001-2002 Free Software Foundation, Inc. 4 | 5 | This program is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU Library General Public License as published 7 | by the Free Software Foundation; either version 2, or (at your option) 8 | any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 18 | USA. */ 19 | 20 | /* When included from os2compat.h we need all the original definitions */ 21 | #ifndef OS2_AWARE 22 | 23 | #undef LIBDIR 24 | #define LIBDIR _nlos2_libdir 25 | extern char *_nlos2_libdir; 26 | 27 | #undef LOCALEDIR 28 | #define LOCALEDIR _nlos2_localedir 29 | extern char *_nlos2_localedir; 30 | 31 | #undef LOCALE_ALIAS_PATH 32 | #define LOCALE_ALIAS_PATH _nlos2_localealiaspath 33 | extern char *_nlos2_localealiaspath; 34 | 35 | #endif 36 | 37 | #undef HAVE_STRCASECMP 38 | #define HAVE_STRCASECMP 1 39 | #define strcasecmp stricmp 40 | #define strncasecmp strnicmp 41 | 42 | /* We have our own getenv() which works even if library is compiled as DLL */ 43 | #define getenv _nl_getenv 44 | 45 | /* Older versions of gettext used -1 as the value of LC_MESSAGES */ 46 | #define LC_MESSAGES_COMPAT (-1) 47 | -------------------------------------------------------------------------------- /intl/osdep.c: -------------------------------------------------------------------------------- 1 | /* OS dependent parts of libintl. 2 | Copyright (C) 2001-2002 Free Software Foundation, Inc. 3 | 4 | This program is free software; you can redistribute it and/or modify it 5 | under the terms of the GNU Library General Public License as published 6 | by the Free Software Foundation; either version 2, or (at your option) 7 | any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | Library General Public License for more details. 13 | 14 | You should have received a copy of the GNU Library General Public 15 | License along with this program; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 17 | USA. */ 18 | 19 | #if defined __EMX__ 20 | # include "os2compat.c" 21 | #else 22 | /* Avoid AIX compiler warning. */ 23 | typedef int dummy; 24 | #endif 25 | -------------------------------------------------------------------------------- /intl/ref-add.sin: -------------------------------------------------------------------------------- 1 | # Add this package to a list of references stored in a text file. 2 | # 3 | # Copyright (C) 2000 Free Software Foundation, Inc. 4 | # 5 | # This program is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU Library General Public License as published 7 | # by the Free Software Foundation; either version 2, or (at your option) 8 | # any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | # Library General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU Library General Public 16 | # License along with this program; if not, write to the Free Software 17 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 18 | # USA. 19 | # 20 | # Written by Bruno Haible . 21 | # 22 | /^# Packages using this file: / { 23 | s/# Packages using this file:// 24 | ta 25 | :a 26 | s/ @PACKAGE@ / @PACKAGE@ / 27 | tb 28 | s/ $/ @PACKAGE@ / 29 | :b 30 | s/^/# Packages using this file:/ 31 | } 32 | -------------------------------------------------------------------------------- /intl/ref-del.sin: -------------------------------------------------------------------------------- 1 | # Remove this package from a list of references stored in a text file. 2 | # 3 | # Copyright (C) 2000 Free Software Foundation, Inc. 4 | # 5 | # This program is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU Library General Public License as published 7 | # by the Free Software Foundation; either version 2, or (at your option) 8 | # any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | # Library General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU Library General Public 16 | # License along with this program; if not, write to the Free Software 17 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 18 | # USA. 19 | # 20 | # Written by Bruno Haible . 21 | # 22 | /^# Packages using this file: / { 23 | s/# Packages using this file:// 24 | s/ @PACKAGE@ / / 25 | s/^/# Packages using this file:/ 26 | } 27 | -------------------------------------------------------------------------------- /m4/ChangeLog: -------------------------------------------------------------------------------- 1 | 2005-05-12 gettextize 2 | 3 | * codeset.m4: Upgrade to gettext-0.14.4. 4 | * gettext.m4: Upgrade to gettext-0.14.4. 5 | * glibc2.m4: New file, from gettext-0.14.4. 6 | * glibc21.m4: Upgrade to gettext-0.14.4. 7 | * iconv.m4: Upgrade to gettext-0.14.4. 8 | * intdiv0.m4: Upgrade to gettext-0.14.4. 9 | * intmax.m4: New file, from gettext-0.14.4. 10 | * inttypes.m4: Upgrade to gettext-0.14.4. 11 | * inttypes_h.m4: Upgrade to gettext-0.14.4. 12 | * inttypes-pri.m4: Upgrade to gettext-0.14.4. 13 | * isc-posix.m4: Upgrade to gettext-0.14.4. 14 | * lcmessage.m4: Upgrade to gettext-0.14.4. 15 | * lib-ld.m4: Upgrade to gettext-0.14.4. 16 | * lib-link.m4: Upgrade to gettext-0.14.4. 17 | * lib-prefix.m4: Upgrade to gettext-0.14.4. 18 | * longdouble.m4: New file, from gettext-0.14.4. 19 | * longlong.m4: New file, from gettext-0.14.4. 20 | * nls.m4: New file, from gettext-0.14.4. 21 | * po.m4: New file, from gettext-0.14.4. 22 | * printf-posix.m4: New file, from gettext-0.14.4. 23 | * progtest.m4: Upgrade to gettext-0.14.4. 24 | * signed.m4: New file, from gettext-0.14.4. 25 | * size_max.m4: New file, from gettext-0.14.4. 26 | * stdint_h.m4: Upgrade to gettext-0.14.4. 27 | * uintmax_t.m4: Upgrade to gettext-0.14.4. 28 | * ulonglong.m4: Upgrade to gettext-0.14.4. 29 | * wchar_t.m4: New file, from gettext-0.14.4. 30 | * wint_t.m4: New file, from gettext-0.14.4. 31 | * xsize.m4: New file, from gettext-0.14.4. 32 | * Makefile.am (EXTRA_DIST): Add the new files. 33 | 34 | -------------------------------------------------------------------------------- /m4/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = glibc2.m4 intmax.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 2 | -------------------------------------------------------------------------------- /m4/codeset.m4: -------------------------------------------------------------------------------- 1 | # codeset.m4 serial AM1 (gettext-0.10.40) 2 | dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_DEFUN([AM_LANGINFO_CODESET], 10 | [ 11 | AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, 12 | [AC_TRY_LINK([#include ], 13 | [char* cs = nl_langinfo(CODESET);], 14 | am_cv_langinfo_codeset=yes, 15 | am_cv_langinfo_codeset=no) 16 | ]) 17 | if test $am_cv_langinfo_codeset = yes; then 18 | AC_DEFINE(HAVE_LANGINFO_CODESET, 1, 19 | [Define if you have and nl_langinfo(CODESET).]) 20 | fi 21 | ]) 22 | -------------------------------------------------------------------------------- /m4/glibc2.m4: -------------------------------------------------------------------------------- 1 | # glibc2.m4 serial 1 2 | dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | # Test for the GNU C Library, version 2.0 or newer. 8 | # From Bruno Haible. 9 | 10 | AC_DEFUN([gt_GLIBC2], 11 | [ 12 | AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, 13 | ac_cv_gnu_library_2, 14 | [AC_EGREP_CPP([Lucky GNU user], 15 | [ 16 | #include 17 | #ifdef __GNU_LIBRARY__ 18 | #if (__GLIBC__ >= 2) 19 | Lucky GNU user 20 | #endif 21 | #endif 22 | ], 23 | ac_cv_gnu_library_2=yes, 24 | ac_cv_gnu_library_2=no) 25 | ] 26 | ) 27 | AC_SUBST(GLIBC2) 28 | GLIBC2="$ac_cv_gnu_library_2" 29 | ] 30 | ) 31 | -------------------------------------------------------------------------------- /m4/glibc21.m4: -------------------------------------------------------------------------------- 1 | # glibc21.m4 serial 3 2 | dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | # Test for the GNU C Library, version 2.1 or newer. 8 | # From Bruno Haible. 9 | 10 | AC_DEFUN([gl_GLIBC21], 11 | [ 12 | AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, 13 | ac_cv_gnu_library_2_1, 14 | [AC_EGREP_CPP([Lucky GNU user], 15 | [ 16 | #include 17 | #ifdef __GNU_LIBRARY__ 18 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) 19 | Lucky GNU user 20 | #endif 21 | #endif 22 | ], 23 | ac_cv_gnu_library_2_1=yes, 24 | ac_cv_gnu_library_2_1=no) 25 | ] 26 | ) 27 | AC_SUBST(GLIBC21) 28 | GLIBC21="$ac_cv_gnu_library_2_1" 29 | ] 30 | ) 31 | -------------------------------------------------------------------------------- /m4/intmax.m4: -------------------------------------------------------------------------------- 1 | # intmax.m4 serial 2 (gettext-0.14.2) 2 | dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether the system has the 'intmax_t' type, but don't attempt to 9 | dnl find a replacement if it is lacking. 10 | 11 | AC_DEFUN([gt_TYPE_INTMAX_T], 12 | [ 13 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) 14 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) 15 | AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, 16 | [AC_TRY_COMPILE([ 17 | #include 18 | #include 19 | #if HAVE_STDINT_H_WITH_UINTMAX 20 | #include 21 | #endif 22 | #if HAVE_INTTYPES_H_WITH_UINTMAX 23 | #include 24 | #endif 25 | ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) 26 | if test $gt_cv_c_intmax_t = yes; then 27 | AC_DEFINE(HAVE_INTMAX_T, 1, 28 | [Define if you have the 'intmax_t' type in or .]) 29 | fi 30 | ]) 31 | -------------------------------------------------------------------------------- /m4/inttypes-pri.m4: -------------------------------------------------------------------------------- 1 | # inttypes-pri.m4 serial 1 (gettext-0.11.4) 2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | # Define PRI_MACROS_BROKEN if exists and defines the PRI* 10 | # macros to non-string values. This is the case on AIX 4.3.3. 11 | 12 | AC_DEFUN([gt_INTTYPES_PRI], 13 | [ 14 | AC_REQUIRE([gt_HEADER_INTTYPES_H]) 15 | if test $gt_cv_header_inttypes_h = yes; then 16 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], 17 | gt_cv_inttypes_pri_broken, 18 | [ 19 | AC_TRY_COMPILE([#include 20 | #ifdef PRId32 21 | char *p = PRId32; 22 | #endif 23 | ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) 24 | ]) 25 | fi 26 | if test "$gt_cv_inttypes_pri_broken" = yes; then 27 | AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, 28 | [Define if exists and defines unusable PRI* macros.]) 29 | fi 30 | ]) 31 | -------------------------------------------------------------------------------- /m4/inttypes.m4: -------------------------------------------------------------------------------- 1 | # inttypes.m4 serial 1 (gettext-0.11.4) 2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_INTTYPES_H if exists and doesn't clash with 10 | # . 11 | 12 | AC_DEFUN([gt_HEADER_INTTYPES_H], 13 | [ 14 | AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, 15 | [ 16 | AC_TRY_COMPILE( 17 | [#include 18 | #include ], 19 | [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) 20 | ]) 21 | if test $gt_cv_header_inttypes_h = yes; then 22 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, 23 | [Define if exists and doesn't clash with .]) 24 | fi 25 | ]) 26 | -------------------------------------------------------------------------------- /m4/inttypes_h.m4: -------------------------------------------------------------------------------- 1 | # inttypes_h.m4 serial 6 2 | dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, 10 | # doesn't clash with , and declares uintmax_t. 11 | 12 | AC_DEFUN([gl_AC_HEADER_INTTYPES_H], 13 | [ 14 | AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, 15 | [AC_TRY_COMPILE( 16 | [#include 17 | #include ], 18 | [uintmax_t i = (uintmax_t) -1;], 19 | gl_cv_header_inttypes_h=yes, 20 | gl_cv_header_inttypes_h=no)]) 21 | if test $gl_cv_header_inttypes_h = yes; then 22 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, 23 | [Define if exists, doesn't clash with , 24 | and declares uintmax_t. ]) 25 | fi 26 | ]) 27 | -------------------------------------------------------------------------------- /m4/isc-posix.m4: -------------------------------------------------------------------------------- 1 | # isc-posix.m4 serial 2 (gettext-0.11.2) 2 | dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. 8 | 9 | # This test replaces the one in autoconf. 10 | # Currently this macro should have the same name as the autoconf macro 11 | # because gettext's gettext.m4 (distributed in the automake package) 12 | # still uses it. Otherwise, the use in gettext.m4 makes autoheader 13 | # give these diagnostics: 14 | # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX 15 | # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX 16 | 17 | undefine([AC_ISC_POSIX]) 18 | 19 | AC_DEFUN([AC_ISC_POSIX], 20 | [ 21 | dnl This test replaces the obsolescent AC_ISC_POSIX kludge. 22 | AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) 23 | ] 24 | ) 25 | -------------------------------------------------------------------------------- /m4/lcmessage.m4: -------------------------------------------------------------------------------- 1 | # lcmessage.m4 serial 4 (gettext-0.14.2) 2 | dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | dnl 7 | dnl This file can can be used in projects which are not available under 8 | dnl the GNU General Public License or the GNU Library General Public 9 | dnl License but which still want to provide support for the GNU gettext 10 | dnl functionality. 11 | dnl Please note that the actual code of the GNU gettext library is covered 12 | dnl by the GNU Library General Public License, and the rest of the GNU 13 | dnl gettext package package is covered by the GNU General Public License. 14 | dnl They are *not* in the public domain. 15 | 16 | dnl Authors: 17 | dnl Ulrich Drepper , 1995. 18 | 19 | # Check whether LC_MESSAGES is available in . 20 | 21 | AC_DEFUN([gt_LC_MESSAGES], 22 | [ 23 | AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, 24 | [AC_TRY_LINK([#include ], [return LC_MESSAGES], 25 | gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) 26 | if test $gt_cv_val_LC_MESSAGES = yes; then 27 | AC_DEFINE(HAVE_LC_MESSAGES, 1, 28 | [Define if your file defines LC_MESSAGES.]) 29 | fi 30 | ]) 31 | -------------------------------------------------------------------------------- /m4/longdouble.m4: -------------------------------------------------------------------------------- 1 | # longdouble.m4 serial 1 (gettext-0.12) 2 | dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether the compiler supports the 'long double' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_LONGDOUBLE], 12 | [ 13 | AC_CACHE_CHECK([for long double], gt_cv_c_long_double, 14 | [if test "$GCC" = yes; then 15 | gt_cv_c_long_double=yes 16 | else 17 | AC_TRY_COMPILE([ 18 | /* The Stardent Vistra knows sizeof(long double), but does not support it. */ 19 | long double foo = 0.0; 20 | /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ 21 | int array [2*(sizeof(long double) >= sizeof(double)) - 1]; 22 | ], , 23 | gt_cv_c_long_double=yes, gt_cv_c_long_double=no) 24 | fi]) 25 | if test $gt_cv_c_long_double = yes; then 26 | AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) 27 | fi 28 | ]) 29 | -------------------------------------------------------------------------------- /m4/longlong.m4: -------------------------------------------------------------------------------- 1 | # longlong.m4 serial 5 2 | dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_LONG_LONG if 'long long' works. 10 | 11 | AC_DEFUN([gl_AC_TYPE_LONG_LONG], 12 | [ 13 | AC_CACHE_CHECK([for long long], ac_cv_type_long_long, 14 | [AC_TRY_LINK([long long ll = 1LL; int i = 63;], 15 | [long long llmax = (long long) -1; 16 | return ll << i | ll >> i | llmax / ll | llmax % ll;], 17 | ac_cv_type_long_long=yes, 18 | ac_cv_type_long_long=no)]) 19 | if test $ac_cv_type_long_long = yes; then 20 | AC_DEFINE(HAVE_LONG_LONG, 1, 21 | [Define if you have the 'long long' type.]) 22 | fi 23 | ]) 24 | -------------------------------------------------------------------------------- /m4/printf-posix.m4: -------------------------------------------------------------------------------- 1 | # printf-posix.m4 serial 2 (gettext-0.13.1) 2 | dnl Copyright (C) 2003 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether the printf() function supports POSIX/XSI format strings with 9 | dnl positions. 10 | 11 | AC_DEFUN([gt_PRINTF_POSIX], 12 | [ 13 | AC_REQUIRE([AC_PROG_CC]) 14 | AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], 15 | gt_cv_func_printf_posix, 16 | [ 17 | AC_TRY_RUN([ 18 | #include 19 | #include 20 | /* The string "%2$d %1$d", with dollar characters protected from the shell's 21 | dollar expansion (possibly an autoconf bug). */ 22 | static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; 23 | static char buf[100]; 24 | int main () 25 | { 26 | sprintf (buf, format, 33, 55); 27 | return (strcmp (buf, "55 33") != 0); 28 | }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, 29 | [ 30 | AC_EGREP_CPP(notposix, [ 31 | #if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ 32 | notposix 33 | #endif 34 | ], gt_cv_func_printf_posix="guessing no", 35 | gt_cv_func_printf_posix="guessing yes") 36 | ]) 37 | ]) 38 | case $gt_cv_func_printf_posix in 39 | *yes) 40 | AC_DEFINE(HAVE_POSIX_PRINTF, 1, 41 | [Define if your printf() function supports format strings with positions.]) 42 | ;; 43 | esac 44 | ]) 45 | -------------------------------------------------------------------------------- /m4/signed.m4: -------------------------------------------------------------------------------- 1 | # signed.m4 serial 1 (gettext-0.10.40) 2 | dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | 9 | AC_DEFUN([bh_C_SIGNED], 10 | [ 11 | AC_CACHE_CHECK([for signed], bh_cv_c_signed, 12 | [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) 13 | if test $bh_cv_c_signed = no; then 14 | AC_DEFINE(signed, , 15 | [Define to empty if the C compiler doesn't support this keyword.]) 16 | fi 17 | ]) 18 | -------------------------------------------------------------------------------- /m4/stdint_h.m4: -------------------------------------------------------------------------------- 1 | # stdint_h.m4 serial 5 2 | dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_STDINT_H_WITH_UINTMAX if exists, 10 | # doesn't clash with , and declares uintmax_t. 11 | 12 | AC_DEFUN([gl_AC_HEADER_STDINT_H], 13 | [ 14 | AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, 15 | [AC_TRY_COMPILE( 16 | [#include 17 | #include ], 18 | [uintmax_t i = (uintmax_t) -1;], 19 | gl_cv_header_stdint_h=yes, 20 | gl_cv_header_stdint_h=no)]) 21 | if test $gl_cv_header_stdint_h = yes; then 22 | AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, 23 | [Define if exists, doesn't clash with , 24 | and declares uintmax_t. ]) 25 | fi 26 | ]) 27 | -------------------------------------------------------------------------------- /m4/uintmax_t.m4: -------------------------------------------------------------------------------- 1 | # uintmax_t.m4 serial 9 2 | dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | AC_PREREQ(2.13) 10 | 11 | # Define uintmax_t to 'unsigned long' or 'unsigned long long' 12 | # if it is not already defined in or . 13 | 14 | AC_DEFUN([gl_AC_TYPE_UINTMAX_T], 15 | [ 16 | AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) 17 | AC_REQUIRE([gl_AC_HEADER_STDINT_H]) 18 | if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then 19 | AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) 20 | test $ac_cv_type_unsigned_long_long = yes \ 21 | && ac_type='unsigned long long' \ 22 | || ac_type='unsigned long' 23 | AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, 24 | [Define to unsigned long or unsigned long long 25 | if and don't define.]) 26 | else 27 | AC_DEFINE(HAVE_UINTMAX_T, 1, 28 | [Define if you have the 'uintmax_t' type in or .]) 29 | fi 30 | ]) 31 | -------------------------------------------------------------------------------- /m4/ulonglong.m4: -------------------------------------------------------------------------------- 1 | # ulonglong.m4 serial 4 2 | dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Paul Eggert. 8 | 9 | # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. 10 | 11 | AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], 12 | [ 13 | AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, 14 | [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], 15 | [unsigned long long ullmax = (unsigned long long) -1; 16 | return ull << i | ull >> i | ullmax / ull | ullmax % ull;], 17 | ac_cv_type_unsigned_long_long=yes, 18 | ac_cv_type_unsigned_long_long=no)]) 19 | if test $ac_cv_type_unsigned_long_long = yes; then 20 | AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, 21 | [Define if you have the 'unsigned long long' type.]) 22 | fi 23 | ]) 24 | -------------------------------------------------------------------------------- /m4/wchar_t.m4: -------------------------------------------------------------------------------- 1 | # wchar_t.m4 serial 1 (gettext-0.12) 2 | dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether has the 'wchar_t' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_WCHAR_T], 12 | [ 13 | AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, 14 | [AC_TRY_COMPILE([#include 15 | wchar_t foo = (wchar_t)'\0';], , 16 | gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) 17 | if test $gt_cv_c_wchar_t = yes; then 18 | AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) 19 | fi 20 | ]) 21 | -------------------------------------------------------------------------------- /m4/wint_t.m4: -------------------------------------------------------------------------------- 1 | # wint_t.m4 serial 1 (gettext-0.12) 2 | dnl Copyright (C) 2003 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | dnl From Bruno Haible. 8 | dnl Test whether has the 'wint_t' type. 9 | dnl Prerequisite: AC_PROG_CC 10 | 11 | AC_DEFUN([gt_TYPE_WINT_T], 12 | [ 13 | AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, 14 | [AC_TRY_COMPILE([#include 15 | wint_t foo = (wchar_t)'\0';], , 16 | gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) 17 | if test $gt_cv_c_wint_t = yes; then 18 | AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) 19 | fi 20 | ]) 21 | -------------------------------------------------------------------------------- /m4/xsize.m4: -------------------------------------------------------------------------------- 1 | # xsize.m4 serial 3 2 | dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. 3 | dnl This file is free software; the Free Software Foundation 4 | dnl gives unlimited permission to copy and/or distribute it, 5 | dnl with or without modifications, as long as this notice is preserved. 6 | 7 | AC_DEFUN([gl_XSIZE], 8 | [ 9 | dnl Prerequisites of lib/xsize.h. 10 | AC_REQUIRE([gl_SIZE_MAX]) 11 | AC_REQUIRE([AC_C_INLINE]) 12 | AC_CHECK_HEADERS(stdint.h) 13 | ]) 14 | -------------------------------------------------------------------------------- /makefile.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # MAKEFILE.MSVC (c) Copyright Roger Bowler, 2005 3 | # Build Hercules for Win32 using MSVC and nmake (static link version) 4 | # 5 | # $Id$ 6 | # 7 | # $Log$ 8 | # 9 | # *************************************************************************** 10 | !include makefile-dllmod.msvc 11 | -------------------------------------------------------------------------------- /man/Makefile.am: -------------------------------------------------------------------------------- 1 | man_MANS = cckddiag.1 cckd.4 dasdseq.1 2 | 3 | EXTRA_DIST = $(man_MANS) 4 | 5 | 6 | -------------------------------------------------------------------------------- /memrchr.c: -------------------------------------------------------------------------------- 1 | /* MEMRCHR.C (c) Copyright Roger Bowler, 2006-2011 */ 2 | /* Hercules Right to Left memory scan */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | #include "hstdinc.h" 11 | 12 | #define _MEMRCHR_C_ 13 | #define _HUTIL_DLL_ 14 | 15 | #include "hercules.h" 16 | 17 | #if !defined( HAVE_MEMRCHR ) 18 | 19 | #include "memrchr.h" 20 | 21 | DLL_EXPORT void *memrchr(const void *buf, int c, size_t num) 22 | { 23 | unsigned char *pMem; 24 | if (num == 0) 25 | { 26 | return NULL; 27 | } 28 | for (pMem = (unsigned char *) buf + num - 1; pMem >= (unsigned char *) buf; pMem--) 29 | { 30 | if (*pMem == (unsigned char) c) break; 31 | } 32 | if (pMem >= (unsigned char *) buf) 33 | { 34 | return ((void *) pMem); 35 | } 36 | return NULL; 37 | } 38 | 39 | #endif // !defined(HAVE_MEMRCHR) 40 | -------------------------------------------------------------------------------- /memrchr.h: -------------------------------------------------------------------------------- 1 | /* MEMRCHR.H (c) Copyright Roger Bowler, 2006-2011 */ 2 | /* Hercules Right to Left memory scan */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | /************************************************************************/ 11 | /* */ 12 | /* memrchr -- Right to Left memory scan */ 13 | /* */ 14 | /* Scans the memory block and reports the last occurrence of */ 15 | /* the specified byte in the buffer. Returns a pointer to */ 16 | /* the byte if found, or NULL if not found. */ 17 | /* */ 18 | /************************************************************************/ 19 | 20 | #ifndef MEMRCHR_H 21 | #define MEMRCHR_H 22 | 23 | #include "hercules.h" 24 | #ifndef _MEMRCHR_C_ 25 | #ifndef _HUTIL_DLL_ 26 | #define MEM_DLL_IMPORT DLL_IMPORT 27 | #else /* _HUTIL_DLL_ */ 28 | #define MEM_DLL_IMPORT extern 29 | #endif /* _HUTIL_DLL_ */ 30 | #else 31 | #define MEM_DLL_IMPORT DLL_EXPORT 32 | #endif 33 | 34 | #if !defined(HAVE_MEMRCHR) // (only if we need it) 35 | 36 | #ifdef __cplusplus 37 | extern "C" { 38 | #endif /*__cplusplus*/ 39 | MEM_DLL_IMPORT void *memrchr(const void *buf, int c, size_t num); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif /*__cplusplus*/ 44 | 45 | #endif // !defined(HAVE_MEMRCHR) 46 | 47 | #endif // MEMRCHR_H 48 | -------------------------------------------------------------------------------- /msvc.makefile.includes/BZIP2_FLAGS.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # BZIP2_FLAGS.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2007 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Sets BZIP2-compression-related compiler/linker flags & #defines... 9 | # 10 | # 11 | # CHANGE HISTORY 12 | # $Log$ 13 | # 14 | # DD/MM/YY Description 15 | # 16 | # 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc 17 | # 18 | # *************************************************************************** 19 | 20 | !IFDEF BZIP2_DIR 21 | BZIP2_DLL = $(BZIP2_DIR)\libbz2.dll 22 | BZIP2_LIB = $(BZIP2_DIR)/libbz2.lib 23 | BZIP2_INC = $(BZIP2_DIR) 24 | LIBS = $(LIBS) "$(BZIP2_LIB)" 25 | cflags = $(cflags) /D HAVE_BZLIB_H /I"$(BZIP2_INC)" 26 | !ENDIF 27 | -------------------------------------------------------------------------------- /msvc.makefile.includes/BZIP2_RULES.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # BZIP2_RULES.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2010 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # BZIP2 build rules 9 | # 10 | # *************************************************************************** 11 | 12 | !IFDEF BZIP2_DIR 13 | 14 | $(X)libbz2.dll: 15 | XCOPY "$(BZIP2_DLL)" $(X) /V /C /F /H /R /K /Y 16 | 17 | alllibbz2: allHercules \ 18 | $(X)libbz2.dll 19 | 20 | !ELSE 21 | 22 | alllibbz2: allHercules 23 | 24 | !ENDIF 25 | 26 | # NOTE: to be safe, since this member contains build rules, we need to 27 | # make sure there's always a blank line following the last build rule 28 | # in the member so that nmake doesn't complain or otherwise treat the 29 | # statements immediately following the original !INCLUDE statement as 30 | # part of the build rule actions. Thus the purpose of the comments you 31 | # are now reading as the very last few lines in every build rule member. 32 | -------------------------------------------------------------------------------- /msvc.makefile.includes/OUTDIR_RULES.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # OUTDIR_RULES.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2007 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Build rules for creating o/p directories... 9 | # 10 | # 11 | # CHANGE HISTORY 12 | # $Log$ 13 | # 14 | # DD/MM/YY Description 15 | # 16 | # 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc 17 | # 18 | # *************************************************************************** 19 | 20 | $(OBJDIR): 21 | if not exist "$(OBJDIR)\$(NULL)" mkdir $(OBJDIR) 22 | 23 | $(EXEDIR): 24 | if not exist "$(EXEDIR)\$(NULL)" mkdir $(EXEDIR) 25 | 26 | $(PDBDIR): 27 | if not exist "$(PDBDIR)\$(NULL)" mkdir $(PDBDIR) 28 | 29 | $(MAPDIR): 30 | if not exist "$(MAPDIR)\$(NULL)" mkdir $(MAPDIR) 31 | 32 | !IFDEF ASSEMBLY_LISTINGS 33 | $(ASMDIR): 34 | if not exist "$(ASMDIR)\$(NULL)" mkdir $(ASMDIR) 35 | 36 | !ENDIF 37 | 38 | # NOTE: to be safe, since this member contains build rules, we need to 39 | # make sure there's always a blank line following the last build rule 40 | # in the member so that nmake doesn't complain or otherwise treat the 41 | # statements immediately following the original !INCLUDE statement as 42 | # part of the build rule actions. Thus the purpose of the comments you 43 | # are now reading as the very last few lines in every build rule member. 44 | -------------------------------------------------------------------------------- /msvc.makefile.includes/PCRE_FLAGS.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # PCRE_FLAGS.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2007 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Sets PCRE-related compiler/linker flags & #defines... 9 | # 10 | # 11 | # CHANGE HISTORY 12 | # $Log$ 13 | # 14 | # DD/MM/YY Description 15 | # 16 | # 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc 17 | # 18 | # *************************************************************************** 19 | 20 | !IFDEF PCRE_DIR 21 | LIBS = $(LIBS) "$(PCRE_LIBPATH1)" 22 | LIBS = $(LIBS) "$(PCRE_LIBPATH2)" 23 | cflags = $(cflags) /D HAVE_PCRE /I"$(PCRE_INCDIR)" /D PCRE_INCNAME=\"$(PCRE_INCNAME)\" 24 | !ENDIF 25 | -------------------------------------------------------------------------------- /msvc.makefile.includes/PCRE_RULES.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # PCRE_RULES.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2010 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # PCRE build rules 9 | # 10 | # *************************************************************************** 11 | 12 | !IFDEF PCRE_DIR 13 | 14 | $(X)$(PCRE_DLLNAME1): 15 | XCOPY "$(PCRE_DLLPATH1)" $(X) /V /C /F /H /R /K /Y 16 | 17 | $(X)$(PCRE_DLLNAME2): 18 | XCOPY "$(PCRE_DLLPATH2)" $(X) /V /C /F /H /R /K /Y 19 | 20 | allpcre: allHercules \ 21 | $(X)$(PCRE_DLLNAME1) \ 22 | $(X)$(PCRE_DLLNAME2) 23 | 24 | !ELSE 25 | 26 | allpcre: allHercules 27 | 28 | !ENDIF 29 | 30 | # NOTE: to be safe, since this member contains build rules, we need to 31 | # make sure there's always a blank line following the last build rule 32 | # in the member so that nmake doesn't complain or otherwise treat the 33 | # statements immediately following the original !INCLUDE statement as 34 | # part of the build rule actions. Thus the purpose of the comments you 35 | # are now reading as the very last few lines in every build rule member. 36 | -------------------------------------------------------------------------------- /msvc.makefile.includes/REXX_FLAGS.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # REXX_FLAGS.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2010 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Sets compiler and linker flags for REXX support 9 | # 10 | # *************************************************************************** 11 | 12 | !IFDEF REXX_DIR 13 | LIBS = $(LIBS) "$(REXX_LIBPATH)" 14 | cflags = $(cflags) /D HAVE_REXX /I"$(REXX_INCDIR)" 15 | !ENDIF 16 | -------------------------------------------------------------------------------- /msvc.makefile.includes/REXX_RULES.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # REXX_RULES.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2010 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Build rules for REXX support 9 | # 10 | # *************************************************************************** 11 | 12 | !IFDEF REXX_DIR 13 | 14 | $(X)$(REXX_DLLNAME1): 15 | XCOPY "$(REXX_DLLPATH1)" $(X) /V /C /F /H /R /K /Y 16 | 17 | $(X)$(REXX_DLLNAME2): 18 | XCOPY "$(REXX_DLLPATH2)" $(X) /V /C /F /H /R /K /Y 19 | 20 | allrexx: allHercules \ 21 | $(X)$(REXX_DLLNAME1) \ 22 | $(X)$(REXX_DLLNAME2) 23 | 24 | !ELSE 25 | 26 | allrexx: allHercules 27 | 28 | !ENDIF 29 | 30 | # End of build rules for REXX support 31 | -------------------------------------------------------------------------------- /msvc.makefile.includes/ZLIB_FLAGS.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # ZLIB_FLAGS.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2007 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # Sets ZLIB-compression-related compiler/linker flags & #defines... 9 | # 10 | # 11 | # CHANGE HISTORY 12 | # $Log$ 13 | # 14 | # DD/MM/YY Description 15 | # 16 | # 26/12/06 Fish: created by extraction from existing makefile-dllmod.msvc 17 | # 18 | # *************************************************************************** 19 | 20 | !IFDEF ZLIB_DIR 21 | ZLIB_DLL = $(ZLIB_DIR)\zlib1.dll 22 | ZLIB_LIB = $(ZLIB_DIR)/lib/zdll.lib 23 | ZLIB_INC = $(ZLIB_DIR)/include 24 | LIBS = $(LIBS) "$(ZLIB_LIB)" 25 | cflags = $(cflags) /D HAVE_LIBZ /D HAVE_ZLIB_H /I"$(ZLIB_INC)" 26 | !ENDIF 27 | -------------------------------------------------------------------------------- /msvc.makefile.includes/ZLIB_RULES.msvc: -------------------------------------------------------------------------------- 1 | # *************************************************************************** 2 | # ZLIB_RULES.msvc (!INCLUDE ed by "makefile-dllmod.msvc") 3 | # -------------------------------------------------------------------------- 4 | # (c) Copyright Roger Bowler, 2005-2010 5 | # -------------------------------------------------------------------------- 6 | # $Id$ 7 | # 8 | # ZLIB build rules 9 | # 10 | # *************************************************************************** 11 | 12 | !IFDEF ZLIB_DIR 13 | 14 | $(X)zlib1.dll: 15 | XCOPY "$(ZLIB_DLL)" $(X) /V /C /F /H /R /K /Y 16 | 17 | allzlib: allHercules \ 18 | $(X)zlib1.dll 19 | 20 | !ELSE 21 | 22 | allzlib: allHercules 23 | 24 | !ENDIF 25 | 26 | # NOTE: to be safe, since this member contains build rules, we need to 27 | # make sure there's always a blank line following the last build rule 28 | # in the member so that nmake doesn't complain or otherwise treat the 29 | # statements immediately following the original !INCLUDE statement as 30 | # part of the build rule actions. Thus the purpose of the comments you 31 | # are now reading as the very last few lines in every build rule member. 32 | -------------------------------------------------------------------------------- /parser.h: -------------------------------------------------------------------------------- 1 | /* PARSER.H (c) Copyright Roger Bowler, 1999-2011 */ 2 | /* Hercules Simple parameter parser */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | 11 | #if !defined( _PARSER_H_ ) 12 | #define _PARSER_H_ 13 | 14 | #include "hercules.h" 15 | 16 | #ifndef _PARSER_C_ 17 | #ifndef _HUTIL_DLL_ 18 | #define PAR_DLL_IMPORT DLL_IMPORT 19 | #else /* _HUTIL_DLL_ */ 20 | #define PAR_DLL_IMPORT extern 21 | #endif /* _HUTIL_DLL_ */ 22 | #else 23 | #define PAR_DLL_IMPORT DLL_EXPORT 24 | #endif 25 | 26 | #define MAX_PARSER_STRLEN 79 27 | #define _PARSER_STR_TYPE( len ) "%" QSTR( len ) "s" 28 | #define PARSER_STR_TYPE _PARSER_STR_TYPE( MAX_PARSER_STRLEN ) 29 | 30 | typedef struct _parser 31 | { 32 | char *key; 33 | char *fmt; 34 | } PARSER; 35 | 36 | PAR_DLL_IMPORT int parser( PARSER *, char *, void * ); 37 | 38 | #endif /* !defined( _PARSER_H_ ) */ 39 | -------------------------------------------------------------------------------- /po/ChangeLog: -------------------------------------------------------------------------------- 1 | 2005-05-12 gettextize 2 | 3 | * Makefile.in.in: Upgrade to gettext-0.14.4. 4 | * Rules-quot: Upgrade to gettext-0.14.4. 5 | 6 | 2003-08-26 gettextize 7 | 8 | * boldquot.sed: New file, from gettext-0.11.5. 9 | * en@boldquot.header: New file, from gettext-0.11.5. 10 | * en@quot.header: New file, from gettext-0.11.5. 11 | * insert-header.sin: New file, from gettext-0.11.5. 12 | * quot.sed: New file, from gettext-0.11.5. 13 | * remove-potcdate.sin: New file, from gettext-0.11.5. 14 | * Rules-quot: New file, from gettext-0.11.5. 15 | 16 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # Set of available languages 2 | nl 3 | de 4 | -------------------------------------------------------------------------------- /po/Makevars: -------------------------------------------------------------------------------- 1 | # Makefile variables for PO directory in any package using GNU gettext. 2 | 3 | # Usually the message domain is the same as the package name. 4 | DOMAIN = $(PACKAGE) 5 | 6 | # These two variables depend on the location of this directory. 7 | subdir = po 8 | top_builddir = .. 9 | 10 | # These options get passed to xgettext. 11 | XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ 12 | 13 | # This is the copyright holder that gets inserted into the header of the 14 | # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding 15 | # package. (Note that the msgstr strings, extracted from the package's 16 | # sources, belong to the copyright holder of the package.) Translators are 17 | # expected to transfer the copyright for their translations to this person 18 | # or entity, or to disclaim their copyright. The empty string stands for 19 | # the public domain; in this case the translators are expected to disclaim 20 | # their copyright. 21 | COPYRIGHT_HOLDER = Roger Bowler, Jan Jaeger, Jay Maynard, and others. 22 | 23 | # This is the list of locale categories, beyond LC_MESSAGES, for which the 24 | # message catalogs shall be used. It is usually empty. 25 | EXTRA_LOCALE_CATEGORIES = 26 | -------------------------------------------------------------------------------- /po/POTFILES.in: -------------------------------------------------------------------------------- 1 | assist.c 2 | cache.c 3 | cardpch.c 4 | cardrdr.c 5 | cckdcdsk.c 6 | cckdcomp.c 7 | cckddasd.c 8 | cckddiag.c 9 | cckdfix.c 10 | cckdswap.c 11 | cckdutil.c 12 | cgibin.c 13 | channel.c 14 | ckddasd.c 15 | cmpsc.c 16 | codepage.c 17 | commadpt.c 18 | config.c 19 | console.c 20 | control.c 21 | cpu.c 22 | crypto.c 23 | ctc_ctci.c 24 | ctc_lcs.c 25 | ctcadpt.c 26 | dasdcat.c 27 | dasdcopy.c 28 | dasdinit.c 29 | dasdisup.c 30 | dasdload.c 31 | dasdls.c 32 | dasdpdsu.c 33 | dasdseq.c 34 | dasdtab.c 35 | dasdutil.c 36 | dat.c 37 | decimal.c 38 | diagmssf.c 39 | diagnose.c 40 | dmap2hrc.c 41 | dyngui.c 42 | dyninst.c 43 | ecpsvm.c 44 | esame.c 45 | external.c 46 | fbadasd.c 47 | fishhang.c 48 | float.c 49 | fthreads.c 50 | ftlib.c 51 | general1.c 52 | general2.c 53 | hdl.c 54 | hdlmain.c 55 | hercifc.c 56 | hetget.c 57 | hetinit.c 58 | hetlib.c 59 | hetmap.c 60 | hetupd.c 61 | hostinfo.c 62 | hsccmd.c 63 | hscmisc.c 64 | hscutl.c 65 | httpserv.c 66 | ieee.c 67 | impl.c 68 | io.c 69 | ipl.c 70 | logger.c 71 | logmsg.c 72 | machchk.c 73 | memrchr.c 74 | opcode.c 75 | panel.c 76 | parser.c 77 | plo.c 78 | printer.c 79 | qdio.c 80 | service.c 81 | shared.c 82 | sie.c 83 | sllib.c 84 | sockdev.c 85 | stack.c 86 | tapecopy.c 87 | tapedev.c 88 | tapemap.c 89 | tapesplt.c 90 | timer.c 91 | trace.c 92 | tuntap.c 93 | vector.c 94 | version.c 95 | vm.c 96 | vstore.c 97 | w32chan.c 98 | w32ctca.c 99 | xstore.c 100 | -------------------------------------------------------------------------------- /po/boldquot.sed: -------------------------------------------------------------------------------- 1 | s/"\([^"]*\)"/“\1”/g 2 | s/`\([^`']*\)'/‘\1’/g 3 | s/ '\([^`']*\)' / ‘\1’ /g 4 | s/ '\([^`']*\)'$/ ‘\1’/g 5 | s/^'\([^`']*\)' /‘\1’ /g 6 | s/“”/""/g 7 | s/“/“/g 8 | s/”/”/g 9 | s/‘/‘/g 10 | s/’/’/g 11 | -------------------------------------------------------------------------------- /po/buildpot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # This script invokes the preprocessor when calling xgettext, 4 | # such that all messages are interpreted correctly. 5 | for i in `cat POTFILES.in` 6 | do 7 | (cd ..; gcc -I. -E -DHAVE_CONFIG_H $i) 8 | done | xgettext -C -s -o hercules.pot - 9 | -------------------------------------------------------------------------------- /po/de.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/po/de.po -------------------------------------------------------------------------------- /po/en@boldquot.header: -------------------------------------------------------------------------------- 1 | # All this catalog "translates" are quotation characters. 2 | # The msgids must be ASCII and therefore cannot contain real quotation 3 | # characters, only substitutes like grave accent (0x60), apostrophe (0x27) 4 | # and double quote (0x22). These substitutes look strange; see 5 | # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 6 | # 7 | # This catalog translates grave accent (0x60) and apostrophe (0x27) to 8 | # left single quotation mark (U+2018) and right single quotation mark (U+2019). 9 | # It also translates pairs of apostrophe (0x27) to 10 | # left single quotation mark (U+2018) and right single quotation mark (U+2019) 11 | # and pairs of quotation mark (0x22) to 12 | # left double quotation mark (U+201C) and right double quotation mark (U+201D). 13 | # 14 | # When output to an UTF-8 terminal, the quotation characters appear perfectly. 15 | # When output to an ISO-8859-1 terminal, the single quotation marks are 16 | # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to 17 | # grave/acute accent (by libiconv), and the double quotation marks are 18 | # transliterated to 0x22. 19 | # When output to an ASCII terminal, the single quotation marks are 20 | # transliterated to apostrophes, and the double quotation marks are 21 | # transliterated to 0x22. 22 | # 23 | # This catalog furthermore displays the text between the quotation marks in 24 | # bold face, assuming the VT100/XTerm escape sequences. 25 | # 26 | -------------------------------------------------------------------------------- /po/en@quot.header: -------------------------------------------------------------------------------- 1 | # All this catalog "translates" are quotation characters. 2 | # The msgids must be ASCII and therefore cannot contain real quotation 3 | # characters, only substitutes like grave accent (0x60), apostrophe (0x27) 4 | # and double quote (0x22). These substitutes look strange; see 5 | # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 6 | # 7 | # This catalog translates grave accent (0x60) and apostrophe (0x27) to 8 | # left single quotation mark (U+2018) and right single quotation mark (U+2019). 9 | # It also translates pairs of apostrophe (0x27) to 10 | # left single quotation mark (U+2018) and right single quotation mark (U+2019) 11 | # and pairs of quotation mark (0x22) to 12 | # left double quotation mark (U+201C) and right double quotation mark (U+201D). 13 | # 14 | # When output to an UTF-8 terminal, the quotation characters appear perfectly. 15 | # When output to an ISO-8859-1 terminal, the single quotation marks are 16 | # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to 17 | # grave/acute accent (by libiconv), and the double quotation marks are 18 | # transliterated to 0x22. 19 | # When output to an ASCII terminal, the single quotation marks are 20 | # transliterated to apostrophes, and the double quotation marks are 21 | # transliterated to 0x22. 22 | # 23 | -------------------------------------------------------------------------------- /po/insert-header.sin: -------------------------------------------------------------------------------- 1 | # Sed script that inserts the file called HEADER before the header entry. 2 | # 3 | # At each occurrence of a line starting with "msgid ", we execute the following 4 | # commands. At the first occurrence, insert the file. At the following 5 | # occurrences, do nothing. The distinction between the first and the following 6 | # occurrences is achieved by looking at the hold space. 7 | /^msgid /{ 8 | x 9 | # Test if the hold space is empty. 10 | s/m/m/ 11 | ta 12 | # Yes it was empty. First occurrence. Read the file. 13 | r HEADER 14 | # Output the file's contents by reading the next line. But don't lose the 15 | # current line while doing this. 16 | g 17 | N 18 | bb 19 | :a 20 | # The hold space was nonempty. Following occurrences. Do nothing. 21 | x 22 | :b 23 | } 24 | -------------------------------------------------------------------------------- /po/quot.sed: -------------------------------------------------------------------------------- 1 | s/"\([^"]*\)"/“\1”/g 2 | s/`\([^`']*\)'/‘\1’/g 3 | s/ '\([^`']*\)' / ‘\1’ /g 4 | s/ '\([^`']*\)'$/ ‘\1’/g 5 | s/^'\([^`']*\)' /‘\1’ /g 6 | s/“”/""/g 7 | -------------------------------------------------------------------------------- /po/remove-potcdate.sin: -------------------------------------------------------------------------------- 1 | # Sed script that remove the POT-Creation-Date line in the header entry 2 | # from a POT file. 3 | # 4 | # The distinction between the first and the following occurrences of the 5 | # pattern is achieved by looking at the hold space. 6 | /^"POT-Creation-Date: .*"$/{ 7 | x 8 | # Test if the hold space is empty. 9 | s/P/P/ 10 | ta 11 | # Yes it was empty. First occurrence. Remove the line. 12 | g 13 | d 14 | bb 15 | :a 16 | # The hold space was nonempty. Following occurrences. Do nothing. 17 | x 18 | :b 19 | } 20 | -------------------------------------------------------------------------------- /retail-all.jobs: -------------------------------------------------------------------------------- 1 | 2 | * Parallel-build all "Release" Configurations for all Platforms... 3 | 4 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|Win32" /time /nologo 5 | VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|x64" /time /nologo 6 | # VCBUILD %VCBUILDOPT% "Hercules.vcproj" "Release|Itanium" /time /nologo 7 | -------------------------------------------------------------------------------- /s37xmod.c: -------------------------------------------------------------------------------- 1 | /* S37XMOD.C (c) Copyright Ivan S. Warren 2010 */ 2 | /* Optional S370 Extensions */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | #include "hstdinc.h" 11 | #include "hercules.h" 12 | #include "hdl.h" 13 | #include "opcode.h" 14 | 15 | #if defined(_370) 16 | /* This file is only a STUB to separate the module part of s37x 17 | from the functional code. 18 | This is necessary because the final location of the functional 19 | code may depend on the host operating system capabilities. 20 | The actual functional code resides in s37x.c */ 21 | 22 | #if defined(OPTION_370_EXTENSION) 23 | 24 | DLL_IMPORT void s37x_replace_opcode_scan(int x); 25 | 26 | HDL_REGISTER_SECTION; 27 | { 28 | s37x_replace_opcode_scan(1); 29 | } 30 | END_REGISTER_SECTION 31 | 32 | /* Module end : restore the instruction functions */ 33 | HDL_FINAL_SECTION; 34 | { 35 | s37x_replace_opcode_scan(0); 36 | } 37 | END_FINAL_SECTION 38 | 39 | #else /* defined(OPTION_370_EXTENSION) */ 40 | 41 | HDL_REGISTER_SECTION; 42 | { 43 | logmsg("the S/370 Extension module requires the OPTION_S370_EXTENSION build option\n"); 44 | return -1; 45 | } 46 | END_REGISTER_SECTION 47 | 48 | 49 | #endif /* defined(OPTION_370_EXTENSION) */ 50 | 51 | #endif // defined(_370) 52 | 53 | HDL_DEPENDENCY_SECTION; 54 | { 55 | HDL_DEPENDENCY (HERCULES); 56 | 57 | } END_DEPENDENCY_SECTION 58 | -------------------------------------------------------------------------------- /stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /tests/a.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/a.core -------------------------------------------------------------------------------- /tests/alsi.txt: -------------------------------------------------------------------------------- 1 | * ALSI test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000000800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000080000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=41000001 # LA R0,1 Load R0 = 1 7 | r 204=A7F40004 # BRC 15,*+8 Branch around test data 8 | r 208=00000000 # DATA DC F'0' Test data 9 | r 20C=C40FFFFFFFFE # STRL R0,*-2 Store R0 as test data 10 | r 212=EBF10208006E # ALSI DATA,X'F1' Add logical signed immediate 11 | r 218=C41DFFFFFFF8 # LRL R1,*-8 Load R1 with result data 12 | r 21E=B2B20270 # LPSWE WAITPSW Load enabled wait PSW 13 | r 270=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 14 | ostailor null 15 | s+ 16 | restart 17 | -------------------------------------------------------------------------------- /tests/axtr.txt: -------------------------------------------------------------------------------- 1 | * AXTR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000230 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=EB2502400004 # LMG R2,R5,PACKED Load R2,R3=PACKED1 R4,R5=PACKED2 8 | r 20A=B3FB0042 # CXSTR R4,R2 Load FPR R4,R6 from PACKED1 R2,R3 9 | r 20E=B3FB0014 # CXSTR R1,R4 Load FPR R1,R3 from PACKED2 R4,R5 10 | r 212=B3DA1094 # AXTR R9,R4,R1 Add FPR R4,R6 + R1,R3 giving R9,R11 11 | r 216=B3EB00A9 # CSXTR R10,R9,0 Convert FPR R9,R11 to PACKED R10,R11 12 | r 21A=B3EB01C9 # CSXTR R12,R9,1 Convert FPR R9,R11 to PACKED R12,R13 13 | r 21E=EBAD02600024 # STMG R10,R13,RESULTC R10,R11=>RESULTC R12,R13=>RESULTF 14 | r 224=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 230=00040000 # CTLR0 Control register 0 (bit45 AFP control) 16 | r 240=0000000000000000000000000000001C # PACKED1 DC PL16'1' 17 | r 250=0000000000000000000000000000002C # PACKED2 DC PL16'2' 18 | r 260=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTC should be PL16'3' (with sign C) 19 | r 270=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTF should be PL16'3' (with sign F) 20 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 21 | s+ 22 | restart 23 | -------------------------------------------------------------------------------- /tests/b.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/b.core -------------------------------------------------------------------------------- /tests/bctr.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/bctr.core -------------------------------------------------------------------------------- /tests/brc.txt: -------------------------------------------------------------------------------- 1 | * BRC test $Id$ 2 | sysclear 3 | archmode s/370 4 | r 000=0008000000000200 # EC mode restart PSW 5 | r 068=000A00000000DEAD # EC mode pgm new PSW 6 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=98030240 # LM R0,R3,INITREG Load initial values into regs 9 | r 204=1200 # LTR R0,R0 Set condition code 10 | r 206=A7F4FFFD # BRC 15,*-6 Branch back 11 | r 20A=82000300 # LPSW WAITPSW Load enabled wait PSW 12 | r 240=EEEEEEEEDDDDDDDDCCCCCCCCBBBBBBBB # Initial values for regs 0-3 13 | r 300=070A000000FED0D0 # WAITPSW Enabled wait state PSW 14 | s+ 15 | restart 16 | -------------------------------------------------------------------------------- /tests/cgfrl.txt: -------------------------------------------------------------------------------- 1 | * CGFRL test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000000800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000080000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=C038FFFFFFFF # IIHF R3,X'FFFFFFFF' Load R3 bits 0-31 7 | r 206=C039A5A5A5A5 # IILF R3,X'A5A5A5A5' Load R3 bits 32-63 8 | r 20C=C63C00000006 # CGFRL R3,*+12 Compare 9 | r 212=A7F40005 # BRC 15,*+10 Branch around compare value 10 | r 218=A5A5A5A5 # COMPR1 DC X'A5A5A5A5' Comparison data 11 | r 21C=A7840004 # BRC 8,*+8 Branch if equal 12 | r 220=B2B201D0 # LPSWE PGMNPSW Load error PSW 13 | r 224=B2B20270 # LPSWE WAITPSW Load enabled wait PSW 14 | r 270=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 15 | ostailor null 16 | s+ 17 | restart 18 | -------------------------------------------------------------------------------- /tests/cpsdr.txt: -------------------------------------------------------------------------------- 1 | * CPSDR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000240 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=B2BD0244 # LFAS FPCREG Load value into FPC register 8 | r 208=EB2502480004 # LMG R2,R5,TESTDAT Load R2-R5=Test data 9 | r 20E=B3C10002 # LDGR F0,R2 Load FPR0 from R2 10 | r 212=B3C10023 # LDGR F2,R3 Load FPR2 from R3 11 | r 216=B3C10014 # LDGR F1,R4 Load FPR1 from R4 12 | r 21A=B3C10035 # LDGR F3,R5 Load FPR3 from R5 13 | r 21E=B3720042 # CPSDR F4,F0,F2 Load FPR4 from FPR2 with sign of FPR0 14 | r 222=B3724042 # CPSDR F4,F4,F2 Load FPR4 from FPR2 with sign of FPR4 15 | r 226=B3722033 # CPSDR F3,F2,F3 Load FPR3 from FPR3 with sign of FPR3 16 | r 22A=B3723031 # CPSDR F3,F3,F1 Load FPR3 from FPR1 with sign of FPR3 17 | r 22E=B3722032 # CPSDR F3,F2,F2 Load FPR3 from FPR2 with sign of FPR2 18 | r 232=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 19 | r 240=00040000 # CTLR0 Control register 0 (bit45 AFP control) 20 | r 244=80000000 # FPCREG Floating point control register 21 | r 248=07F3123456789ABC # FPR0 positive 22 | r 250=F813ABCDEF123456 # FPR2 negative 23 | r 258=7D55ABCDEF123456 # FPR1 positive 24 | r 260=8055ABCDEF123456 # FPR3 negative 25 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 26 | s+ 27 | restart 28 | -------------------------------------------------------------------------------- /tests/cpu0off.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/cpu0off.core -------------------------------------------------------------------------------- /tests/csst.txt: -------------------------------------------------------------------------------- 1 | * CSST test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000000000000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=58000314 # L R0,CODE8 R0=SC,FC 7 | r 204=E31003400004 # LG R1,PLPTR R1=Parameter list pointer 8 | r 20A=E34003480004 # LG R4,CMPVA R4=Compare value 9 | r 210=C84203700378 # CSST AREA1,AREA2,R4 Compare and Swap and Store 10 | r 216=58000310 # L R0,CODE4 R0=SC,FC 11 | r 21A=E31003400004 # LG R1,PLPTR R1=Parameter list pointer 12 | r 220=E34003480004 # LG R4,CMPVA R4=Compare value 13 | r 226=C84203700378 # CSST AREA1,AREA2,R4 Compare and Swap and Store 14 | r 22C=58000318 # L R0,CODE16 R0=SC,FC 15 | r 230=E31003400004 # LG R1,PLPTR R1=Parameter list pointer 16 | r 236=E34003480004 # LG R4,CMPVA R4=Compare value 17 | r 23C=C84203700378 # CSST AREA1,AREA2,R4 Compare and Swap and Store 18 | r 242=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 19 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 20 | r 310=12340300 # CODE4 DC X'12340300' SC=03,FC=00 21 | r 314=12340101 # CODE8 DC X'12340101' SC=01,FC=01 22 | r 318=12340402 # CODE16 DC X'12340402' SC=04,FC=02 CSST FAC-2 TEST 23 | r 340=A5A5A5A5A500035F # PLPTR DC A(PLIST) 24 | r 348=FFFFFFFFA5A6A7A8 # CMPVA Compare value 25 | r 350=1234567890ABCDEF # PLIST Replacement value 26 | r 358=0000000000000000 # " Reserved 27 | r 360=9FEDCBA087654321 # " Store value 28 | r 368=0000000000000000 # " Reserved 29 | r 370=A5A6A7A812345678 # AREA1 First operand 30 | r 378=FFFFFFFFFFFFFFFF # AREA2 Second operand 31 | s+ 32 | restart 33 | -------------------------------------------------------------------------------- /tests/cxgbr.txt: -------------------------------------------------------------------------------- 1 | * CXGBR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000230 # LCTL R0,R0,CTLR0 Set AFP bit 7 | r 204=B3A6000B # CXGBR R0,R11 Test CXGBR instruction 8 | r 208=B2B20220 # LPSWE WAITPSW Load enabled wait PSW 9 | r 220=07020001800000000000000000FED0D0 # Enabled wait state PSW 10 | r 230=00040000 # CTLR0 Control register 0 (bit45 AFP control) 11 | s+ 12 | restart 13 | -------------------------------------------------------------------------------- /tests/cxgtr.txt: -------------------------------------------------------------------------------- 1 | * CXGTR,CDGTR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000310 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=4100000A # LA R0,10 R0=Loop counter 8 | r 208=41100340 # LA R1,TEST1 R1=>Test data table 9 | r 20C=E33010000004 # LG R3,0(,R1) Load R3=TESTn 10 | r 212=B2BD0314 # LFAS FPCREG Load value into FPC register 11 | r 216=B3F90043 # CXGTR F4,R3 Convert FPR 4,6 from TESTn R3 12 | r 21A=B3EB01C4 # CSXTR R12,F4,1 Convert to PACKED R12,R13 from FPR 4,6 13 | r 21E=B3F10073 # CDGTR F7,R3 Convert FPR 7 from TESTn R3 14 | r 222=B3E301F7 # CSDTR R15,F7,1 Convert to PACKED R15 from FPR 7 15 | r 226=41101008 # LA R1,8(,R1) R1=>Next TESTn 16 | r 22A=4600020C # BCT R0,LOOP Loop to end of table 17 | r 22E=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 18 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 19 | r 310=00040000 # CTLR0 Control register 0 (bit45 AFP control) 20 | r 314=00000000 # FPCREG Floating point control register 21 | r 340=0000000000001000 # TEST1 DC G'4096' 22 | r 348=FFFFFFFFFFFFFFFE # TEST2 DC G'-2' 23 | r 350=7FFFFFFFFFFFFFFF # TEST3 DC G'9223372036854775807' 24 | r 358=8000000000000001 # TEST4 DC G'-9223372036854775807' 25 | r 360=8000000000000000 # TEST5 DC G'-9223372036854775808' 26 | r 368=0020000000000000 # TEST6 DC G'9007199254740992' 27 | r 370=000000007FFFFFFF # TEST7 DC G'2147483647' 28 | r 378=FFFFFFFF80000001 # TEST8 DC G'-2147483647' 29 | r 380=FFFFFFFF80000000 # TEST9 DC G'-2147483648' 30 | r 388=0000000000000000 # TESTA DC G'0' 31 | s+ 32 | restart 33 | -------------------------------------------------------------------------------- /tests/diag24.txt: -------------------------------------------------------------------------------- 1 | * DIAG24 test $Id$ 2 | sysclear 3 | archmode esa/390 4 | r 000=000C000000000200 # ESA/390 restart PSW 5 | r 068=000A00000000DEAD # ESA/390 pgm new PSW 6 | r 070=000A00000000BEEF # ESA/390 mck new PSW 7 | r 200=41500260 # LA R0,X'260' Load R5 = device number 8 | r 204=83580024 # DIAG X'24' Test data 9 | r 208=82000300 # LPSW WAITPSW Load enabled wait PSW 10 | r 300=070A000080FED0D0 # WAITPSW Enabled wait state PSW 11 | ostailor null 12 | s+ 13 | restart 14 | -------------------------------------------------------------------------------- /tests/diag8.txt: -------------------------------------------------------------------------------- 1 | * DIAG8 test $Id$ 2 | sysclear 3 | archmode esa/390 4 | r 000=000C000000000200 # ESA/390 restart PSW 5 | r 068=000A00000000DEAD # ESA/390 pgm new PSW 6 | r 070=000A00000000BEEF # ESA/390 mck new PSW 7 | r 200=41200280 # LA R2,X'280' Load R2 = address 8 | r 204=41400008 # LA R4,8 ' Load R4 = length 9 | r 208=83240008 # DIAG X'008' Test data 10 | r 20C=41200290 # LA R2,X'290' Load R2 = address 11 | r 210=41400006 # LA R4,6 Load R4 = length 12 | r 214=83240008 # DIAG X'008' Test data 13 | r 218=82000300 # LPSW WAITPSW Load enabled wait PSW 14 | r 280=C4C9C1C7F8C3D4C4 # C'DIAG8CMD' 15 | r 290=D4C1E7C3D7E4 # C'MAXCPU' 16 | r 300=070A000080FED0D0 # WAITPSW Enabled wait state PSW 17 | ostailor null 18 | s+ 19 | restart 20 | -------------------------------------------------------------------------------- /tests/dxtr.txt: -------------------------------------------------------------------------------- 1 | * DXTR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000230 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=B2BD0234 # LFAS FPCREG Load value into FPC register 8 | r 208=EB2502400004 # LMG R2,R5,PACKED Load R2,R3=PACKED1 R4,R5=PACKED2 9 | r 20E=B3FB0042 # CXSTR R4,R2 Load FPR R4,R6 from PACKED1 R2,R3 10 | r 212=B3FB0014 # CXSTR R1,R4 Load FPR R1,R3 from PACKED2 R4,R5 11 | r 216=B2B90003 # SRNMT 3 Set decimal rounding mode 12 | r 21A=B3D91094 # DXTR R9,R4,R1 Divide FPR R4,R6 by R1,R3 giving R9,R11 13 | r 21E=B3EB00A9 # CSXTR R10,R9,0 Convert FPR R9,R11 to PACKED R10,R11 14 | r 222=B3EB01C9 # CSXTR R12,R9,1 Convert FPR R9,R11 to PACKED R12,R13 15 | r 226=EBAD02600024 # STMG R10,R13,RESULTC R10,R11=>RESULTC R12,R13=>RESULTF 16 | r 22C=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 17 | r 230=00040000 # CTLR0 Control register 0 (bit45 AFP control) 18 | r 234=40000000 # FPCREG Floating point control register 19 | r 240=0000000000000000000000000000500C # PACKED1 DC PL16'500' 20 | r 250=0000000000000000000000000000000C # PACKED2 DC PL16'0' 21 | r 260=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTC (with sign C) 22 | r 270=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTF (with sign F) 23 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 24 | s+ 25 | restart 26 | -------------------------------------------------------------------------------- /tests/epsw.txt: -------------------------------------------------------------------------------- 1 | * EPSW test $Id$ 2 | sysclear 3 | archmode esa/390 4 | r 000=0008000080000200 # ESA/390 restart PSW 5 | r 068=000A00008000DEAD # ESA/390 pgm new PSW 6 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=98030240 # LM R0,R3,INITREG Load initial values into regs 9 | r 204=B98D0023 # EPSW R2,R3 R2=PSW bits 0-31, R3=PSW bit 32 10 | r 208=B98D0010 # EPSW R1,0 R1=PSW bits 0-31, R0=unchanged 11 | r 20C=82000300 # LPSW WAITPSW Load enabled wait PSW 12 | r 240=EEEEEEEEDDDDDDDDCCCCCCCCBBBBBBBB # Initial values for regs 0-3 13 | r 300=070A000080FED0D0 # WAITPSW Enabled wait state PSW 14 | s+ 15 | restart 16 | -------------------------------------------------------------------------------- /tests/kimd0.txt: -------------------------------------------------------------------------------- 1 | * KIMD fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200000 # LA R2,SO R2->second operand address 11 | r 20C=41300000 # LA R3,SOL R3->second operand length 12 | r 210=B93E0002 # KIMD R0,R2 Compute intermediate message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | * 18 | r 580=F0000000000000004000000000000000 # Expected result 19 | * 20 | ostailor null 21 | restart 22 | pause 1 23 | * Display parameter block 24 | r 500.10 25 | * Expected result 26 | r 580.10 27 | -------------------------------------------------------------------------------- /tests/kimd1.txt: -------------------------------------------------------------------------------- 1 | * KIMD fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,1 R0->function code 1 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300040 # LA R3,SOL R3->second operand length 12 | r 210=B93E0002 # KIMD R0,R2 Compute intermediate message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=67452301EFCDAB8998BADCFE10325476 # Parameter block 17 | r 510=C3D2E1F0 # Parameter block 18 | * 19 | r 580=B9AC757BBC2979252E22727406872F94 # Expected result 20 | r 590=CBEA56A1000000000000000000000000 # Expected result 21 | * 22 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 23 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 24 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 25 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 26 | * 27 | ostailor null 28 | restart 29 | pause 1 30 | * Display parameter block 31 | r 500.14 32 | * Expected result 33 | r 580.14 34 | -------------------------------------------------------------------------------- /tests/kimd2.txt: -------------------------------------------------------------------------------- 1 | * KIMD fc2 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,2 R0->function code 2 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300040 # LA R3,SOL R3->second operand length 12 | r 210=B93E0002 # KIMD R0,R2 Compute intermediate message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=6A09E667BB67AE853C6EF372A54FF53A # Parameter block 17 | r 510=510E527F9B05688C1F83D9AB5BE0CD19 # Parameter block 18 | * 19 | r 580=FC99A2DF88F42A7A7BB9D18033CDC6A2 # Expected result 20 | r 590=0256755F9D5B9A5044A9CC315ABE84A7 # Expected result 21 | * 22 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 23 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 24 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 25 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 26 | * 27 | ostailor null 28 | restart 29 | pause 1 30 | * Display parameter block 31 | r 500.20 32 | * Expected result 33 | r 580.20 34 | -------------------------------------------------------------------------------- /tests/kimd3.txt: -------------------------------------------------------------------------------- 1 | * KIMD fc3 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,3 R0->function code 3 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300080 # LA R3,SOL R3->second operand length 12 | r 210=B93E0002 # KIMD R0,R2 Compute intermediate message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=6A09E667F3BCC908BB67AE8584CAA73B # Parameter block 17 | r 510=3C6EF372FE94F82BA54FF53A5F1D36F1 # Parameter block 18 | r 520=510E527FADE682D19B05688C2B3E6C1F # Parameter block 19 | r 530=1F83D9ABFB41BD6B5BE0CD19137E2179 # Parameter block 20 | * 21 | r 580=8E03953CD57CD6879321270AFA70C582 # Expected result 22 | r 590=7BB5B69BE59A8F0130147E94F2AEDF7B # Expected result 23 | r 5A0=DC01C56C92343CA8BD837BB7F0208F5A # Expected result 24 | r 5B0=23E155694516B6F147099D491A30B151 # Expected result 25 | * 26 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 27 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 28 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 29 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 30 | r 640=404142434445464748494A4B4C4D4E4F # Second operand 31 | r 650=505152535455565758595A5B5C5D5E5F # Second operand 32 | r 660=606162636465666768696A6B6C6D6E6F # Second oparand 33 | r 670=707172737475767778797A7B7C7D7E7F # Second operand 34 | * 35 | ostailor null 36 | restart 37 | pause 1 38 | * Display parameter block 39 | r 500.40 40 | * Expected result 41 | r 580.40 42 | -------------------------------------------------------------------------------- /tests/kimd65.txt: -------------------------------------------------------------------------------- 1 | * KIMD fc65 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000041 # LA R0,65 R0->function code 65 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300040 # LA R3,SOL R3->second operand length 12 | r 210=B93E0002 # KIMD R0,R2 Compute intermediate message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=6A09E667BB67AE853C6EF372A54FF53A # Parameter block 17 | r 510=510E527F9B05688C1F83D9AB5BE0CD19 # Parameter block 18 | * 19 | r 580=3835EC6F7151E73A2A593988B05B7E61 # Expected result 20 | * 21 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 22 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 23 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 24 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 25 | * 26 | ostailor null 27 | restart 28 | pause 1 29 | * Display parameter block 30 | r 500.10 31 | * Expected result 32 | r 580.10 33 | -------------------------------------------------------------------------------- /tests/klmd0.txt: -------------------------------------------------------------------------------- 1 | * KLMD fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200000 # LA R2,SO R2->second operand address 11 | r 20C=41300000 # LA R3,SOL R3->second operand length 12 | r 210=B93F0002 # KLMD R0,R2 Compute last message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | * 18 | r 580=F0000000000000000000000000000000 # Expected result 19 | * 20 | ostailor null 21 | restart 22 | pause 1 23 | * Display parameter block 24 | r 500.F 25 | * Expected result 26 | r 580.F 27 | -------------------------------------------------------------------------------- /tests/klmd1.txt: -------------------------------------------------------------------------------- 1 | * KLMD fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,1 R0->function code 1 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300040 # LA R3,SOL R3->second operand length 12 | r 210=B93F0002 # KLMD R0,R2 Compute last message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=67452301EFCDAB8998BADCFE10325476 # Parameter block 17 | r 510=C3D2E1F00000000000000040 # Parameter block 18 | * 19 | r 580=C5592921382388B41AE53FA27A726F8B # Expected result 20 | r 590=64D9FFA2000000000000004000000000 # Expected result 21 | * 22 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 23 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 24 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 25 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 26 | * 27 | ostailor null 28 | restart 29 | pause 1 30 | * Display parameter block 31 | r 500.14 32 | * Expected result 33 | r 580.14 34 | -------------------------------------------------------------------------------- /tests/klmd2.txt: -------------------------------------------------------------------------------- 1 | * KLMD fc2 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,2 R0->function code 2 9 | r 204=41100500 # LA R1,PB R1->parameter block 10 | r 208=41200600 # LA R2,SO R2->second operand address 11 | r 20C=41300040 # LA R3,SOL R3->second operand length 12 | r 210=B93F0002 # KLMD R0,R2 Compute last message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=6A09E667BB67AE853C6EF372A54FF53A # Parameter block 17 | r 510=510E527F9B05688C1F83D9AB5BE0CD19 # Parameter block 18 | r 520=0000000000000040 # Parameter block 19 | * 20 | r 580=0DD42DCAAAEF32477F5DA8AD90F472AB # Expected result 21 | r 590=98F3BE9FDA5352A3E4317A7D8BA70CA0 # Expected result 22 | * 23 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 24 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 25 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 26 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 27 | * 28 | ostailor null 29 | restart 30 | pause 1 31 | * Display parameter block 32 | r 500.14 33 | * Expected result 34 | r 580.14 35 | -------------------------------------------------------------------------------- /tests/klmd3.txt: -------------------------------------------------------------------------------- 1 | * KLMD fc3 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,3 R0->function code 3 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,SO R2->second operand 11 | r 20C=41300080 # LA R3,SOL R3->second operand length 12 | r 210=B93F0002 # KLMD R0,R2 Compute last message digest 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=6A09E667F3BCC908BB67AE8584CAA73B # Parameter block 17 | r 510=3C6EF372FE94F82BA54FF53A5F1D36F1 # Parameter block 18 | r 520=510E527FADE682D19B05688C2B3E6C1F # Parameter block 19 | r 530=1F83D9ABFB41BD6B5BE0CD19137E2179 # Parameter block 20 | r 540=00000000000000000000000000000080 # Parameter block 21 | * 22 | r 580=AEAC2C1F2D9463A0565528042B36621F # Expected result 23 | r 590=17CD05332E019406E56E04B59FDC643B # Expected result 24 | r 5A0=B0439B9E1D856C288AE473347C4A917E # Expected result 25 | r 5b0=5DBBF041718F75102BF1CB11BD38A894 # Expected result 26 | * 27 | r 600=000102030405060708090A0B0C0D0E0F # Second operand 28 | r 610=101112131415161718191A1B1C1D1E1F # Second operand 29 | r 620=202122232425262728292A2B2C2D2E2F # Second operand 30 | r 630=303132333435363738393A3B3C3D3E3F # Second operand 31 | r 640=404142434445464748494A4B4C4D4E4F # Second operand 32 | r 650=505152535455565758595A5B5C5D5E5F # Second operand 33 | r 660=606162636465666768696A6B6C6D6E6F # Second oparand 34 | r 670=707172737475767778797A7B7C7D7E7F # Second operand 35 | * 36 | ostailor null 37 | restart 38 | pause 1 39 | * Display parameter block 40 | r 500.40 41 | * Expected result 42 | r 580.40 43 | -------------------------------------------------------------------------------- /tests/km0.txt: -------------------------------------------------------------------------------- 1 | * KM fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | * 19 | r 580=F0703838000028280000000000000000 # Expected result 20 | * 21 | ostailor null 22 | restart 23 | pause 1 24 | * Display parameter block 25 | r 500.f 26 | * Expected result 27 | r 580.f 28 | -------------------------------------------------------------------------------- /tests/km1.txt: -------------------------------------------------------------------------------- 1 | * KM fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000081 # LA R0,X'81' R0->function code 1 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=0001020304050607 # Parameter block 24 | * 25 | r 600=0001020304050607 # First operand 26 | * 27 | r 680=E1B246E5A7C74CBC # Expected result 28 | * 29 | r 700=0001020304050607 # Second operand 30 | * 31 | r 800=FFFFFFFFFFFFFFFF # Expected result 32 | * 33 | ostailor null 34 | restart 35 | pause 1 36 | * Display parameter blocks 37 | r 600.8 38 | r 800.8 39 | * Expected results 40 | r 680.8 41 | r 700.8 42 | -------------------------------------------------------------------------------- /tests/km18.txt: -------------------------------------------------------------------------------- 1 | * KM fc18 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000012 # LA R0,X'12' R0->function code 18 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000092 # LA R0,X'92' R0->function code 18 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500010 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | * 25 | r 600=000102030405060708090A0B0C0D0E0F # First operand 26 | * 27 | r 680=0A940BB5416EF045F1C39458C653EA5A # Expected result 28 | * 29 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 30 | * 31 | r 800=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # Expected result 32 | * 33 | ostailor null 34 | restart 35 | pause 1 36 | * Display parameter blocks 37 | r 600.8 38 | r 800.8 39 | * Expected results 40 | r 680.8 41 | r 700.8 42 | -------------------------------------------------------------------------------- /tests/km19.txt: -------------------------------------------------------------------------------- 1 | * KM fc19 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000013 # LA R0,X'13' R0->function code 19 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000093 # LA R0,X'93' R0->function code 19 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500010 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=1011121314151617 # Parameter block 25 | * 26 | r 600=000102030405060708090A0B0C0D0E0F # First operand 27 | * 28 | r 680=0060BFFE46834BB8DA5CF9A61FF220AE # Expected result 29 | * 30 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 31 | * 32 | r 800=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # Expected result 33 | * 34 | ostailor null 35 | restart 36 | pause 1 37 | * Display parameter blocks 38 | r 600.8 39 | r 800.8 40 | * Expected results 41 | r 680.8 42 | r 700.8 43 | -------------------------------------------------------------------------------- /tests/km2.txt: -------------------------------------------------------------------------------- 1 | * KM fc2 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,X'02' R0->function code 2 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000082 # LA R0,X'82' R0->function code 2 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | * 25 | r 600=0001020304050607 # First operand 26 | * 27 | r 680=DF0B6C9C31CD0CE4 # Expected result 28 | * 29 | r 700=0001020304050607 # Second operand 30 | * 31 | r 800=FFFFFFFFFFFFFFFF # Expected result 32 | * 33 | ostailor null 34 | restart 35 | pause 1 36 | * Display parameter blocks 37 | r 600.8 38 | r 800.8 39 | * Expected results 40 | r 680.8 41 | r 700.8 42 | -------------------------------------------------------------------------------- /tests/km20.txt: -------------------------------------------------------------------------------- 1 | * KM fc20 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000014 # LA R0,X'14' R0->function code 20 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000094 # LA R0,X'94' R0->function code 20 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500010 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 25 | * 26 | r 600=000102030405060708090A0B0C0D0E0F # First operand 27 | * 28 | r 680=5A6E045708FB7196F02E553D02C3A692 # Expected result 29 | * 30 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 31 | * 32 | r 800=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # Expected result 33 | * 34 | ostailor null 35 | restart 36 | pause 1 37 | * Display parameter blocks 38 | r 600.8 39 | r 800.8 40 | * Expected results 41 | r 680.8 42 | r 700.8 43 | -------------------------------------------------------------------------------- /tests/km3.txt: -------------------------------------------------------------------------------- 1 | * KM fc3 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,X'03' R0->function code 3 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92E0024 # KM R2,R4 Cipher message 14 | r 218=41000083 # LA R0,X'83' R0->function code 3 decrypt 15 | r 21C=41100500 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92E0024 # KM R2,R4 Cipher message 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=1011121314151617 25 | * 26 | r 600=0001020304050607 # First operand 27 | * 28 | r 680=58ED248F77F6B19E # Expected result 29 | * 30 | r 700=0001020304050607 # Second operand 31 | * 32 | r 800=FFFFFFFFFFFFFFFF # Expected result 33 | * 34 | ostailor null 35 | restart 36 | pause 1 37 | * Display parameter blocks 38 | r 600.8 39 | r 800.8 40 | * Expected results 41 | r 680.8 42 | r 700.8 43 | -------------------------------------------------------------------------------- /tests/kmac0.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=B91E0024 # KMAC R2,R4 Compute message authentication code 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | * 19 | r 580=F0703838000000000000000000000000 # Expected result 20 | * 21 | ostailor null 22 | restart 23 | pause 1 24 | * Display parameter block 25 | r 500.f 26 | * Expected result 27 | r 580.f 28 | -------------------------------------------------------------------------------- /tests/kmac1.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500008 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | * 18 | r 580=D7423E1B84911C2E # Expected result 19 | * 20 | r 700=0001020304050607 # Second operand 21 | * 22 | ostailor null 23 | restart 24 | pause 1 25 | * Display parameter blocks 26 | r 500.8 27 | * Expected results 28 | r 580.8 29 | -------------------------------------------------------------------------------- /tests/kmac10.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc10 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,X'02' R0->function code 2 encrypt 9 | r 204=41100508 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=4100000A # LA R0,X'0A' R0->function code 10 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41200600 # LA R2,FO R2->first operand 14 | r 218=41400700 # LA R4,SO R4->second operand 15 | r 21C=41500008 # LA R5,SOL R5->second operand length 16 | r 220=B91E0024 # KMAC R2,R4 Compute message authentication code 17 | r 224=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 18 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 19 | * 20 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 21 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 22 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 23 | * 24 | r 580=F4F9F93F1B40EDE7 # Expected result 25 | * 26 | r 700=0001020304050607 # Second operand 27 | * 28 | ostailor null 29 | restart 30 | pause 1 31 | * Display parameter blocks 32 | r 500.8 33 | * Expected results 34 | r 580.8 35 | -------------------------------------------------------------------------------- /tests/kmac11.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc11 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,X'03' R0->function code 3 encrypt 9 | r 204=41100508 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=4100000B # LA R0,X'0B' R0->function code 11 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41200600 # LA R2,FO R2->first operand 14 | r 218=41400700 # LA R4,SO R4->second operand 15 | r 21C=41500008 # LA R5,SOL R5->second operand length 16 | r 220=B91E0024 # KMAC R2,R4 Compute message authentication code 17 | r 224=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 18 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 19 | * 20 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 21 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 22 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 23 | r 530=3031323334353637 # Parameter block 24 | * 25 | r 580=5790A6D02A3BF337 # Expected result 26 | * 27 | r 700=0001020304050607 # Second operand 28 | * 29 | ostailor null 30 | restart 31 | pause 1 32 | * Display parameter blocks 33 | r 500.8 34 | * Expected results 35 | r 580.8 36 | -------------------------------------------------------------------------------- /tests/kmac18.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc18 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000012 # LA R0,X'12' R0->function code 18 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500010 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 18 | * 19 | r 580=EDA330F90EECD16C003E5FB09BCFF358 # Expected result 20 | * 21 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 22 | * 23 | ostailor null 24 | restart 25 | pause 1 26 | * Display parameter blocks 27 | r 500.8 28 | * Expected results 29 | r 580.8 30 | -------------------------------------------------------------------------------- /tests/kmac19.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc19 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000013 # LA R0,X'13' R0->function code 19 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500010 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 18 | r 520=2021222324252627 # Parameter block 19 | * 20 | r 580=7C91ED3B313477D7B3CA928CFAA752E7 # Expected result 21 | * 22 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 23 | * 24 | ostailor null 25 | restart 26 | pause 1 27 | * Display parameter blocks 28 | r 500.8 29 | * Expected results 30 | r 580.8 31 | -------------------------------------------------------------------------------- /tests/kmac2.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc2 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,X'02' R0->function code 2 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500008 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | r 510=1011121314151617 # Parameter block 18 | * 19 | r 580=F4F9F93F1B40EDE7 # Expected result 20 | * 21 | r 700=0001020304050607 # Second operand 22 | * 23 | ostailor null 24 | restart 25 | pause 1 26 | * Display parameter blocks 27 | r 500.8 28 | * Expected results 29 | r 580.8 30 | -------------------------------------------------------------------------------- /tests/kmac20.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc20 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000014 # LA R0,X'14' R0->function code 20 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500010 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 18 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 19 | * 20 | r 580=5390628A3ACF964F6E02053976A8035D # Expected result 21 | * 22 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 23 | * 24 | ostailor null 25 | restart 26 | pause 1 27 | * Display parameter blocks 28 | r 500.8 29 | * Expected results 30 | r 580.8 31 | -------------------------------------------------------------------------------- /tests/kmac26.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc26 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000012 # LA R0,X'12' R0->function code 18 encrypt 9 | r 204=41100510 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=4100001A # LA R0,X'1A' R0->function code 26 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41400700 # LA R4,SO R4->second operand 14 | r 218=41500010 # LA R5,SOL R5->second operand length 15 | r 21C=B91E0024 # KMAC R2,R4 Compute message authentication code 16 | r 220=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 17 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 18 | * 19 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 20 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 21 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 22 | r 530=303132333435363738393A3B3C3D3E3F # Parameter block 23 | * 24 | r 580=EDA330F90EECD16C003E5FB09BCFF358 # Expected result 25 | * 26 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 27 | * 28 | ostailor null 29 | restart 30 | pause 1 31 | * Display parameter blocks 32 | r 500.8 33 | * Expected results 34 | r 580.8 35 | -------------------------------------------------------------------------------- /tests/kmac27.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc27 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000013 # LA R0,X'13' R0->function code 19 encrypt 9 | r 204=41100510 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=4100001B # LA R0,X'1B' R0->function code 27 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41400700 # LA R4,SO R4->second operand 14 | r 218=41500010 # LA R5,SOL R5->second operand length 15 | r 21C=B91E0024 # KMAC R2,R4 Compute message authentication code 16 | r 220=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 17 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 18 | * 19 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 20 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 21 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 22 | r 530=303132333435363738393A3B3C3D3E3F # Parameter block 23 | r 540=4041424344454647 # Parameter block 24 | * 25 | r 580=7C91ED3B313477D7B3CA928CFAA752E7 # Expected result 26 | * 27 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 28 | * 29 | ostailor null 30 | restart 31 | pause 1 32 | * Display parameter blocks 33 | r 500.8 34 | * Expected results 35 | r 580.8 36 | -------------------------------------------------------------------------------- /tests/kmac28.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc28 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000014 # LA R0,X'14' R0->function code 20 encrypt 9 | r 204=41100510 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=4100001C # LA R0,X'1C' R0->function code 28 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41400700 # LA R4,SO R4->second operand 14 | r 218=41500010 # LA R5,SOL R5->second operand length 15 | r 21C=B91E0024 # KMAC R2,R4 Compute message authentication code 16 | r 220=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 17 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 18 | * 19 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 20 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 21 | r 520=202122232425262728292A2B2C2D2E2F # Parameter block 22 | r 530=303132333435363738393A3B3C3D3E3F # Parameter block 23 | r 540=404142434445464748494A4B4C4D4E4F # Parameter block 24 | * 25 | r 580=5390628A3ACF964F6E02053976A8035D # Expected result 26 | * 27 | r 700=000102030405060708090A0B0C0D0E0F # Second operand 28 | * 29 | ostailor null 30 | restart 31 | pause 1 32 | * Display parameter blocks 33 | r 500.8 34 | * Expected results 35 | r 580.8 36 | -------------------------------------------------------------------------------- /tests/kmac3.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc3 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,X'03' R0->function code 3 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41400700 # LA R4,SO R4->second operand 11 | r 20C=41500008 # LA R5,SOL R5->second operand length 12 | r 210=B91E0024 # KMAC R2,R4 Compute message authentication code 13 | r 214=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 14 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 15 | * 16 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 17 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 18 | * 19 | r 580=5790A6D02A3BF337 # Expected result 20 | * 21 | r 700=0001020304050607 # Second operand 22 | * 23 | ostailor null 24 | restart 25 | pause 1 26 | * Display parameter blocks 27 | r 500.8 28 | * Expected results 29 | r 580.8 30 | -------------------------------------------------------------------------------- /tests/kmac9.txt: -------------------------------------------------------------------------------- 1 | * KMAC fc9 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100508 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=41000009 # LA R0,X'09' R0->function code 9 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41400700 # LA R4,SO R4->second operand 14 | r 218=41500008 # LA R5,SOL R5->second operand length 15 | r 21C=B91E0024 # KMAC R2,R4 Compute message authentication code 16 | r 220=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 17 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 18 | * 19 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 20 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 21 | r 520=2021222324252627 # Parameter block 22 | * 23 | r 580=D7423E1B84911C2E # Expected result 24 | * 25 | r 700=0001020304050607 # Second operand 26 | * 27 | ostailor null 28 | restart 29 | pause 1 30 | * Display parameter blocks 31 | r 500.8 32 | * Expected results 33 | r 580.8 34 | -------------------------------------------------------------------------------- /tests/kmc0.txt: -------------------------------------------------------------------------------- 1 | * KMC fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=B92F0024 # KMC R2,R4 Cipher message with chaining 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | * 19 | r 580=F0703838000000001000000000000000 # Expected result 20 | * 21 | ostailor null 22 | restart 23 | pause 1 24 | * Display parameter block 25 | r 500.f 26 | * Expected result 27 | r 580.f 28 | -------------------------------------------------------------------------------- /tests/kmc1.txt: -------------------------------------------------------------------------------- 1 | * KMC fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92F0024 # KMC R2,R4 Cipher message with chaining 14 | r 218=41000081 # LA R0,X'81' R0->function code 1 decrypt 15 | r 21C=41100550 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92F0024 # KMC R2,R4 Cipher message with chaining 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 550=000102030405060708090A0B0C0D0E0F # Parameter block 25 | * 26 | r 600=0001020304050607 # First operand 27 | * 28 | r 680=D7423E1B84911C2E # Expected result 29 | * 30 | r 700=0001020304050607 # Second operand 31 | * 32 | r 800=FFFFFFFFFFFFFFFF # Expected result 33 | * 34 | ostailor null 35 | restart 36 | pause 1 37 | * Display parameter blocks 38 | r 600.8 39 | r 800.8 40 | * Expected results 41 | r 680.8 42 | r 700.8 43 | -------------------------------------------------------------------------------- /tests/kmc67.txt: -------------------------------------------------------------------------------- 1 | * KMC fc67 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000043 # LA R0,X'43' R0->function code 67 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92F0024 # KMC R2,R4 Cipher message with chaining 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 19 | * 20 | r 600=0001020304050607 # First operand 21 | * 22 | r 680=871A10BDDECFD665 # Expected result 23 | * 24 | r 700=0001020304050607 # Second operand 25 | * 26 | r 780=928F13E90793F6F408090A0B0C0D0E0F # Expected result 27 | * 28 | ostailor null 29 | restart 30 | pause 1 31 | * Display parameter blocks 32 | r 600.8 33 | r 500.8 34 | * Expected results 35 | r 680.8 36 | r 780.8 37 | -------------------------------------------------------------------------------- /tests/kmctr0.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=41600000 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 16 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 17 | * 18 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 19 | * 20 | r 580=F0703838000000000000000000000000 # Expected result 21 | * 22 | ostailor null 23 | restart 24 | pause 1 25 | * Display parameter block 26 | r 500.f 27 | * Expected result 28 | r 580.f 29 | -------------------------------------------------------------------------------- /tests/kmctr1.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,1 R0->function code 1 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500008 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=0001020304050607 # Parameter block 24 | r 600=1011121314151617 # First operand 25 | r 700=2021222324252627 # Second operand 26 | r 800=3031323334353637 # Third operand 27 | * 28 | r 680=ACCE8C43F1F6EFBB # Expected result 29 | * 30 | ostailor null 31 | restart 32 | pause 1 33 | * Display parameter block 34 | r 600.f 35 | * Expected result 36 | r 680.f 37 | -------------------------------------------------------------------------------- /tests/kmctr18.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc18 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000012 # LA R0,18 R0->function code 18 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500010 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 600=101112131415161718191A1B1C1D1E1F # First operand 25 | r 700=202122232425262728292A2B2C2D2E2F # Second operand 26 | r 800=303132333435363738393A3B3C3D3E3F # Third operand 27 | * 28 | r 680=23D3E19EEEA74DD7AAFEE59B19E096EE # Expected result 29 | * 30 | ostailor null 31 | restart 32 | pause 1 33 | * Display parameter block 34 | r 600.f 35 | * Expected result 36 | r 680.f 37 | -------------------------------------------------------------------------------- /tests/kmctr19.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc19 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000013 # LA R0,19 R0->function code 19 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500010 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=1011121314151617 # Parameter block 25 | r 600=101112131415161718191A1B1C1D1E1F # First operand 26 | r 700=202122232425262728292A2B2C2D2E2F # Second operand 27 | r 800=303132333435363738393A3B3C3D3E3F # Third operand 28 | * 29 | r 680=4804D24C513D7B6F130879534F3FAFB1 # Expected result 30 | * 31 | ostailor null 32 | restart 33 | pause 1 34 | * Display parameter block 35 | r 600.f 36 | * Expected result 37 | r 680.f 38 | -------------------------------------------------------------------------------- /tests/kmctr2.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc2 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000002 # LA R0,2 R0->function code 2 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500008 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 600=1011121314151617 # First operand 25 | r 700=2021222324252627 # Second operand 26 | r 800=3031323334353637 # Third operand 27 | * 28 | r 680=DDEB7099FF49EFED # Expected result 29 | * 30 | ostailor null 31 | restart 32 | pause 1 33 | * Display parameter block 34 | r 600.f 35 | * Expected result 36 | r 680.f 37 | -------------------------------------------------------------------------------- /tests/kmctr20.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc20 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000014 # LA R0,20 R0->function code 20 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500010 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500010 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 25 | r 600=101112131415161718191A1B1C1D1E1F # First operand 26 | r 700=202122232425262728292A2B2C2D2E2F # Second operand 27 | r 800=303132333435363738393A3B3C3D3E3F # Third operand 28 | * 29 | r 680=C2552CA9DEF1C2F675244C301403E4A6 # Expected result 30 | * 31 | ostailor null 32 | restart 33 | pause 1 34 | * Display parameter block 35 | r 600.f 36 | * Expected result 37 | r 680.f 38 | -------------------------------------------------------------------------------- /tests/kmctr3.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc3 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000003 # LA R0,3 R0->function code 3 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=41600800 # LA R6,TO R6->third operand 14 | r 218=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 15 | r 21C=41200900 # LA R2,FO R2->first operand 16 | r 220=41400600 # LA R4,SO R4->second operand 17 | r 224=41500008 # LA R5,SOL R5->second operand length 18 | r 228=41600800 # LA R6,TO R6->third operand 19 | r 22C=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 24 | r 510=1011121314151617 # Parameter block 25 | r 600=1011121314151617 # First operand 26 | r 700=2021222324252627 # Second operand 27 | r 800=3031323334353637 # Third operand 28 | * 29 | r 680=C53B7B40838457C8 # Expected result 30 | * 31 | ostailor null 32 | restart 33 | pause 1 34 | * Display parameter block 35 | r 600.f 36 | * Expected result 37 | r 680.f 38 | -------------------------------------------------------------------------------- /tests/kmctr9.txt: -------------------------------------------------------------------------------- 1 | * KMCTR fc9 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000001 # LA R0,X'01' R0->function code 1 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=B9280000 # PCKMO Encrypt DEA Key 11 | r 20C=41000009 # LA R0,X'09' R0->function code 9 encrypt 12 | r 210=41100500 # LA R1,PB R1->parameter block address 13 | r 214=41200600 # LA R2,FO R2->first operand 14 | r 218=41400700 # LA R4,SO R4->second operand 15 | r 21C=41500008 # LA R5,SOL R5->second operand length 16 | r 220=41600800 # LA R6,TO R6->third address 17 | r 224=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 18 | r 228=41200900 # LA R2,FO R2->first operand 19 | r 22C=41400600 # LA R4,SO R4->second operand 20 | r 230=41500008 # LA R5,SOL R5->second operand length 21 | r 234=41600800 # LA R6,TO R6->third operand 22 | r 238=B92D6024 # KMCTR R2,R6,R4 Cipher message with counter 23 | r 23C=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 24 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 25 | * 26 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 27 | r 510=101112131415161718191A1B1C1D1E1F # Parameter block 28 | r 600=1011121314151617 # CV 29 | r 700=2021222324252627 # First operand 30 | r 800=3031323334353637 # Expected result 31 | * 32 | r 680=ACCE8C43F1F6EFBB # Expected result 33 | * 34 | ostailor null 35 | restart 36 | pause 1 37 | * Display parameter blocks 38 | r 600.8 39 | r 900.8 40 | * Expected results 41 | r 680.8 42 | r 700.8 43 | -------------------------------------------------------------------------------- /tests/kmf0.txt: -------------------------------------------------------------------------------- 1 | * KMF fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=B92A0024 # KMF R2,R4 Cipher message with cipher feedback 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | * 19 | r 580=F0703838000000000000000000000000 # Expected result 20 | * 21 | ostailor null 22 | restart 23 | pause 1 24 | * Display parameter block 25 | r 500.f 26 | * Expected result 27 | r 580.f 28 | -------------------------------------------------------------------------------- /tests/kmf1.txt: -------------------------------------------------------------------------------- 1 | * KMF fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=58000400 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92A0024 # KMF R2,R4 Cipher message with cipher feedback 14 | r 218=58000408 # LA R0,X'81' R0->function code 1 decrypt 15 | r 21C=41100580 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92A0024 # KMF R2,R4 Cipher message with cipher feedback 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 400=04000001 24 | r 408=04000081 25 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 26 | r 580=000102030405060708090A0B0C0D0E0F # Parameter block 27 | * 28 | r 600=0001020304050607 # First operand 29 | * 30 | r 680=A5CF9BBAA3056196 # Expected result 31 | * 32 | r 700=0001020304050607 # Second operand 33 | * 34 | r 800=FFFFFFFFFFFFFFFF # Expected result 35 | * 36 | ostailor null 37 | restart 38 | pause 1 39 | * Display parameter blocks 40 | r 600.8 41 | r 800.8 42 | * Expected results 43 | r 680.8 44 | r 700.8 45 | -------------------------------------------------------------------------------- /tests/kmo0.txt: -------------------------------------------------------------------------------- 1 | * KMO fc0 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=41000000 # LA R0,0 R0->function code 0 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200000 # LA R2,FO R2->first operand 11 | r 20C=41400000 # LA R4,SO R4->second operand 12 | r 210=41500000 # LA R5,SOL R5->second operand length 13 | r 214=B92B0024 # KMO R2,R4 Cipher message with output feedback 14 | r 218=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 16 | * 17 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 18 | * 19 | r 580=F0703838000000000000000000000000 # Expected result 20 | * 21 | ostailor null 22 | restart 23 | pause 1 24 | * Display parameter block 25 | r 500.f 26 | * Expected result 27 | r 580.f 28 | -------------------------------------------------------------------------------- /tests/kmo1.txt: -------------------------------------------------------------------------------- 1 | * KMO fc1 2 | stopall 3 | pause 1 4 | sysclear 5 | archmode esame 6 | r 1A0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1D0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=58000400 # LA R0,X'01' R0->function code 1 encrypt 9 | r 204=41100500 # LA R1,PB R1->parameter block address 10 | r 208=41200600 # LA R2,FO R2->first operand 11 | r 20C=41400700 # LA R4,SO R4->second operand 12 | r 210=41500008 # LA R5,SOL R5->second operand length 13 | r 214=B92B0024 # KMO R2,R4 Cipher message with output feedback 14 | r 218=58000408 # LA R0,X'81' R0->function code 1 decrypt 15 | r 21C=41100580 # LA R1,PB R1->parameter block address 16 | r 220=41200800 # LA R2,SO R2->second operand from encrypt operation 17 | r 224=41400600 # LA R4,FO R4->first operand from encrypt operation 18 | r 228=41500008 # LA R5,FOL R5->first operand length 19 | r 22C=B92B0024 # KMF R2,R4 Cipher message with output feedback 20 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 21 | r 300=07020001800000000123456789ABCDEF # WAITPSW Enabled wait state PSW 22 | * 23 | r 400=04000001 24 | r 408=04000081 25 | r 500=000102030405060708090A0B0C0D0E0F # Parameter block 26 | r 580=000102030405060708090A0B0C0D0E0F # Parameter block 27 | * 28 | r 600=0001020304050607 # First operand 29 | * 30 | r 680=A5CF9BBA5A097E3E # Expected result 31 | * 32 | r 700=0001020304050607 # Second operand 33 | * 34 | r 800=FFFFFFFFFFFFFFFF # Expected result 35 | * 36 | ostailor null 37 | restart 38 | pause 1 39 | * Display parameter blocks 40 | r 700.8 41 | r 800.8 42 | * Expected results 43 | r 600.8 44 | r 680.8 45 | -------------------------------------------------------------------------------- /tests/l.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/l.core -------------------------------------------------------------------------------- /tests/la.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/la.core -------------------------------------------------------------------------------- /tests/la2.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/la2.core -------------------------------------------------------------------------------- /tests/ldetr.txt: -------------------------------------------------------------------------------- 1 | * LDETR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000240 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=B2BD0244 # LFAS FPCREG Load value into FPC register 8 | r 208=78000248 # LE F0,INFP Load FPR0(short) from INFP 9 | r 20C=7820024C # LE F2,INFN Load FPR2(short) from INFN 10 | r 210=78100250 # LE F1,QNAN Load FPR1(short) from QNAN 11 | r 214=78300254 # LE F3,SNAN Load FPR3(short) from SNAN 12 | r 218=B3D40840 # LDETR F4,F0,8 Load FPR4 from FPR0 INFP 13 | r 21C=B3D40062 # LDETR F6,F2,0 Load FPR6 from FPR2 INFN 14 | r 220=B3D40851 # LDETR F5,F1,8 Load FPR5 from FPR1 QNAN 15 | r 224=B3D40073 # LDETR F7,F3,0 Load FPR7 from FPR3 SNAN 16 | r 228=B3D270F6 # ADTR F15,F6,F7 Multiply FPR6 by FPR7 giving FPR15 17 | r 22C=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 18 | r 240=00040000 # CTLR0 Control register 0 (bit45 AFP control) 19 | r 244=80000000 # FPCREG Floating point control register 20 | r 248=78FE1234 # INFP Positive infinity 21 | r 24C=F83EABCD # INFN Negative infinity 22 | r 250=7D56CDEF # QNAN Quiet NaN 23 | r 254=7F563456 # SNAN Signaling NaN 24 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 25 | s+ 26 | restart 27 | -------------------------------------------------------------------------------- /tests/lfpc.txt: -------------------------------------------------------------------------------- 1 | * LFPC test $Id$ 2 | sysclear 3 | archmode esa/390 4 | r 000=0008000080000200 # ESA/390 restart PSW 5 | r 068=000A00008000DEAD # ESA/390 pgm new PSW 6 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=B7000310 # LCTL R0,R0,CTLR0 Set CR0 bit 45 9 | r 204=B29D0314 # LFPC FPCREG Load value into FPC register 10 | r 208=82000300 # LPSW WAITPSW Load enabled wait PSW 11 | r 300=070A000080FED0D0 # WAITPSW Enabled wait state PSW 12 | r 310=00040000 # CTLR0 Control register 0 (bit45 AFP control) 13 | r 314=F8F8FF73 # FPCREG Floating point control register 14 | s+ 15 | restart 16 | -------------------------------------------------------------------------------- /tests/llhrl.txt: -------------------------------------------------------------------------------- 1 | * LLHRL test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=00020001800000000000000000BADBAD # z/Arch pgm new PSW 6 | r 200=C058A5A5A5A5 # IIHF R5,X'A5A5A5A5' Load garbage in R5 bits 0-31 7 | r 206=C0593C3C3C3C # IILF R5,X'3C3C3C3C' Load garbage in R5 bits 32-63 8 | r 20C=C45200000005 # LLHRL R5,CONST1 Load halfword relative data 9 | r 212=A7F40003 # BRC *+6 Branch around constant 10 | r 216=ABCD # CONST1 DC X'ABCD' 11 | r 218=E35003000021 # CLG R5,EXPECT1 Compare with expected result 12 | r 21E=A7840004 # BE *+8 Branch if OK 13 | r 222=B2B201D0 # LPSWE PGMNEW Load error PSW 14 | r 226=B2B20270 # LPSWE WAITPSW Load enabled wait PSW 15 | r 270=07020001800000000000000000AAAAAA # WAITPSW Enabled wait state PSW 16 | * Test data 17 | r 300=A5A5A5A50000ABCD # EXPECT1 18 | ostailor null 19 | restart 20 | -------------------------------------------------------------------------------- /tests/lpp.txt: -------------------------------------------------------------------------------- 1 | * LPP test $Id$ 2 | sysclear 3 | archmode ESAME 4 | archlvl ena load_prog_param 5 | r 000=0008000000000200 # EC mode restart PSW 6 | r 068=000A00000000DEAD # EC mode pgm new PSW 7 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 8 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 9 | r 200=B2800400 # LPP 0(400) Load Program Parameter 10 | r 204=82000300 # LPSW WAITPSW Load enabled wait PSW 11 | r 300=070A000000FED0D0 # WAITPSW Enabled wait state PSW 12 | r 400=C8C5D9C3E4D3C5E2 # HERCULES 13 | ostailor null 14 | restart 15 | -------------------------------------------------------------------------------- /tests/lxdtr.txt: -------------------------------------------------------------------------------- 1 | * LXDTR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000240 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=B2BD0244 # LFAS FPCREG Load value into FPC register 8 | r 208=EB2502480004 # LMG R2,R5,INFPOS1 Load R2=INFP,R3=INFN,R4=QNAN,R5=SNAN 9 | r 20E=B3C10002 # LDGR F0,R2 Load FPR0 from R2 INFP 10 | r 212=B3C10023 # LDGR F2,R3 Load FPR2 from R3 INFN 11 | r 216=B3C10014 # LDGR F1,R4 Load FPR1 from R4 QNAN 12 | r 21A=B3C10035 # LDGR F3,R5 Load FPR3 from R5 SNAN 13 | r 21E=B3DC0840 # LXDTR F4,F0,8 Load FPR4,6 from FPR0 INFP 14 | r 222=B3DC0852 # LXDTR F5,F2,8 Load FPR5,7 from FPR2 INFN 15 | r 226=B3DC0881 # LXDTR F8,F1,8 Load FPR8,10 from FPR1 QNAN 16 | r 22A=B3DC0893 # LXDTR F9,F3,8 Load FPR9,11 from FPR3 SNAN 17 | r 22E=B3DA50D4 # AXTR F13,F4,F5 Multiply FPR4,6 by FPR5,7 giving FPR13,15 18 | r 232=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 19 | r 240=00040000 # CTLR0 Control register 0 (bit45 AFP control) 20 | r 244=80000000 # FPCREG Floating point control register 21 | r 248=7833123456789ABC # INFP Positive infinity 22 | r 250=F813ABCDEF123456 # INFN Negative infinity 23 | r 258=7D55ABCDEF123456 # QNAN Quiet NaN 24 | r 260=7F55ABCDEF123456 # SNAN Signaling NaN 25 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 26 | s+ 27 | restart 28 | -------------------------------------------------------------------------------- /tests/maer.txt: -------------------------------------------------------------------------------- 1 | * MAER test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000310 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=68900320 # LD F9,TEST1 Load test data 8 | r 208=68800328 # LD F8,TEST2 Load test data 9 | r 20C=68C00330 # LD F12,TEST3 Load test data 10 | r 210=68D00380 # LD F13,EXP1 Load expected result 11 | r 214=B32400A8 # LDER F10,F8 Lengthen test data 12 | r 218=B32400B9 # LDER F11,F9 Lengthen test data 13 | r 21C=B32400EC # LDER F14,F12 Lengthen test data 14 | r 220=28F9 # LDR F15,F9 Prime result register 15 | r 222=B32E908C # MAER F9,F8,F12 FPR9=FPR8*FPR12+FPR9 16 | * Multiply and Add using long instructions 17 | r 226=2CAE # MDR F10,F14 FPR10=FPR10*FPR14 18 | r 228=2ABA # ADR F11,F10 FPR11=FPR11+FPR10 19 | r 22A=35FB # LEDR F15,F11 FPR15=rounded FPR11 20 | r 22C=60F00380 # STD F15,RES1 Store actual result 21 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 22 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 23 | r 310=00040000 # CTLR0 Control register 0 (bit45 AFP control) 24 | r 314=00000000 # FPCREG Floating point control register 25 | * Test data 26 | r 320=BF00BD608217487D # TEST1 27 | r 328=C12022F43FBA7F77 # TEST2 28 | r 330=A014BB629B763907 # TEST3 29 | * Expected result 30 | r 380=BDBD5FFF8217487D # EXP1 31 | ostailor null 32 | s+ 33 | pgmtrace +7 34 | restart 35 | -------------------------------------------------------------------------------- /tests/mvc.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/mvc.core -------------------------------------------------------------------------------- /tests/mxtr.txt: -------------------------------------------------------------------------------- 1 | * MXTR test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=B7000240 # LCTL R0,R0,CTLR0 Set CR0 bit 45 7 | r 204=B2BD0244 # LFAS FPCREG Load value into FPC register 8 | r 208=EB3502480004 # LMG R3,R5,PACKED Load R3=PACKED1 R4,R5=PACKED2 9 | r 20E=B3F30073 # CDSTR R7,R3 Load FPR R7 from PACKED1 R3 10 | r 212=B3DC0847 # LXDTR R4,R7,8 Load FPR R4,R6 from FPR R7 11 | r 216=B3FB0014 # CXSTR R1,R4 Load FPR R1,R3 from PACKED2 R4,R5 12 | r 21A=B2B90003 # SRNMT 3 Set decimal rounding mode 13 | r 21E=B3D81094 # MXTR R9,R4,R1 Multiply FPR R4,R6 by R1,R3 giving R9,R11 14 | r 222=B3EB00A9 # CSXTR R10,R9,0 Convert FPR R9,R11 to PACKED R10,R11 15 | r 226=B3EB01C9 # CSXTR R12,R9,1 Convert FPR R9,R11 to PACKED R12,R13 16 | r 22A=EBAD02600024 # STMG R10,R13,RESULTC R10,R11=>RESULTC R12,R13=>RESULTF 17 | r 230=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 18 | r 240=00040000 # CTLR0 Control register 0 (bit45 AFP control) 19 | r 244=40000000 # FPCREG Floating point control register 20 | r 248=000000000000500C # PACKED1 DC PL8'500' 21 | r 250=0000000000000000000000000000003C # PACKED2 DC PL16'3' 22 | r 260=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTC (with sign C) 23 | r 270=FEEDFEEDFEEDFEEDFEEDFEEDFEEDFEED # RESULTF (with sign F) 24 | r 300=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 25 | s+ 26 | restart 27 | -------------------------------------------------------------------------------- /tests/prtest.txt: -------------------------------------------------------------------------------- 1 | # Print test message to printer 2 | archmode S/370 3 | sysreset 4 | r 00=0000000000000400 # Restart new PSW 5 | r 28=000200000000DEAD # Program new PSW 6 | r 48=00000440 # CAW 7 | r 400=4110000F # R1 = device address 00F 8 | r 404=9C001000 # SIO 0(R1) 9 | r 408=82000430 # LPSW WAITPSW 10 | r 430=000200000000BEEF # WAITPSW 11 | r 440=0900048000000005 # CCW 12 | r 480=C8C5D3D3D6 # Print data 13 | s+ 14 | restart 15 | -------------------------------------------------------------------------------- /tests/rnsbg.txt: -------------------------------------------------------------------------------- 1 | * RNSBG test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000000800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=0002000080000000000000000000DEAD # z/Arch pgm new PSW 6 | r 200=E35002800004 # LG R5,=C'12345678' 7 | r 206=E36002880004 # LG R6,=C'ABCDEFGC' 8 | r 20C=EC5680073854 # RNSBGT R5,R6,0,7,56 9 | r 212=47B0026C # BNM ERROR 10 | r 216=E35002800021 # CLG R5,=C'12345678' 11 | r 21C=4770026C # BNE ERROR 12 | r 220=EC5600073854 # RNSBG R5,R6,0,7,56 13 | r 226=47B0026C # BNM ERROR 14 | r 22A=E35002900021 # CLG R5,=C'A2345678' 15 | r 230=4770026C # BNE ERROR 16 | r 234=EC5638070855 # RISBG R5,R6,56,7,8 17 | r 23A=47B0026C # BNM ERROR 18 | r 23E=E35002980021 # CLG R5,=C'B234567A' 19 | r 244=4770026C # BNE ERROR 20 | r 248=EC56308F0055 # RISBGZ R5,R6,48,15,0 21 | r 24E=47B0026C # BNM ERROR 22 | r 252=E35002A00021 # CLG R5,=AL2(C'AB',0,0,C'GC') 23 | r 258=4770026C # BNE ERROR 24 | r 25C=B2B20270 # LPSWE WAITPSW Load enabled wait PSW 25 | r 26C=B2B201D0 # LPSWE PGMNPSW Load error PSW 26 | r 270=07020001800000000000000000FED0D0 # WAITPSW Enabled wait state PSW 27 | * Test data 28 | r 280=F1F2F3F4F5F6F7F8 # =C'12345678' 29 | r 288=C1C2C3C4C5C6C7C3 # =C'ABCDEFGC' 30 | r 290=C1F2F3F4F5F6F7F8 # =C'A2345678' 31 | r 298=C2F2F3F4F5F6F7C1 # =C'B234567A' 32 | r 2A0=C1C200000000C7C3 # =AL2(C'AB',0,0,C'GC') 33 | ostailor null 34 | s+ 35 | pgmtrace +7 36 | restart 37 | -------------------------------------------------------------------------------- /tests/sieve.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/sieve.core -------------------------------------------------------------------------------- /tests/st.core: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/tests/st.core -------------------------------------------------------------------------------- /tests/stfle.txt: -------------------------------------------------------------------------------- 1 | * STFL/STFLE test $Id$ 2 | sysclear 3 | archmode ESAME 4 | r 000=0008000000000200 # EC mode restart PSW 5 | r 068=000A00000000DEAD # EC mode pgm new PSW 6 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 7 | r 1d0=0002000180000000000000000000DEAD # z/Arch pgm new PSW 8 | r 200=B2B10000 # STFL 0 Store 32 facility bits at PSA+C8 9 | r 204=58F000C8 # L R15,200 Load facility bits from PSA+C8 10 | r 208=92EE0400 # MVI LIST1,X'EE' Initialize... 11 | r 20C=D2FE04010400 # MVC LIST1+1(255),LIST1 ...result area 12 | r 212=1F88 # SLR R8,R8 R8=doubleword counter 13 | r 214=41700004 # LA R7,4 R7=number of tests to perform 14 | r 218=41600400 # LA R6,RESULT1 R6=pointer to result area 15 | r 21C=1808 #LOOP LR R0,R8 R0=number of dwords minus 1 16 | r 21E=40006000 # STH R0,RESULT Store requested length minus 1 17 | r 222=B2B06008 # STFLE RESULT+8 Store facility list in result area 18 | r 226=B2220010 # IPM R1 Insert cc into R1 19 | r 22A=92006002 # MVI RESULT+2,0 Clear unused byte in result area 20 | r 22E=BE186003 # STCM R1,B'1000',RESULT+3 Store cc into result area 21 | r 232=50006004 # ST R0,RESULT+4 Store result length minus 1 22 | r 236=41606040 # LA R6,64(,R6) R6=pointer to next result area 23 | r 23A=41808001 # LA R8,1(,R8) Increment requested length 24 | r 23E=4670021C # BCT R7,LOOP Repeat 25 | r 242=82000300 # LPSW WAITPSW Load enabled wait PSW 26 | r 300=070A000000FED0D0 # WAITPSW Enabled wait state PSW 27 | ostailor null 28 | restart 29 | pause 1 30 | * Display STFL facility bits 31 | r 0C8.4 32 | * Display STFLE result table - req.len : cond.code : ret.len : facility bits 33 | r 400.100 34 | -------------------------------------------------------------------------------- /tests/stidp.txt: -------------------------------------------------------------------------------- 1 | * STIDP test $Id$ 2 | sysclear 3 | archmode esame 4 | r 1a0=00000001800000000000000000000200 # z/Arch restart PSW 5 | r 1d0=00020001800000000000000000BADBAD # z/Arch pgm new PSW 6 | r 200=B2020350 # STIDP CPUID Store CPU ID 7 | r 204=C04900002000 # IILF R4,SYSIB R4=>SYSIB on 4K boundary 8 | r 20A=1894 # LR R9,R4 R9=>SYSIB area 9 | r 20C=C05900001000 # IILF R5,X'1000' R5=SYSIB area length 10 | r 212=C079EE000000 # IILF R7,X'EE000000' R7=Padding byte, zero length 11 | r 218=0E46 # MVCL R4,R6 Fill SYSIB with padding byte 12 | r 21A=98010358 # LM R0,R1,FC111 Load R0=FC-SC1,R1=SC2 13 | r 21E=B27D9000 # STSI 0(R9) Store System Information 14 | r 222=B2B20300 # LPSWE WAITPSW Load enabled wait PSW 15 | r 224=B2B20310 # LPSWE DISWAIT Load disabled wait PSW 16 | r 300=07020001800000000000000000AAAAAA # WAITPSW Enabled wait state PSW 17 | r 310=00020001800000000000000000BADBAD # DISWAIT Disabled wait state PSW 18 | r 350=0000000000000000 # CPU ID from STIDP 19 | r 358=1000000100000001 # TEST4 FC=1,SC1=1,SC2=1 20 | ostailor null 21 | restart 22 | pause 1 23 | * Display CPU ID from STIDP 24 | r 350.8 25 | * Display SYSIB 1.1.1 from STSI 26 | r 2000.100 27 | -------------------------------------------------------------------------------- /tests/tapepos.txt: -------------------------------------------------------------------------------- 1 | panrate fast 2 | stopall 3 | archmode S/370 4 | sysreset 5 | 6 | r 00=0000000000000400 # Restart new PSW 7 | r 28=000200000000DEAD # Program new PSW 8 | 9 | r 48=00000440 # CAW (addr channel pgm) 10 | 11 | r 400=41100590 # R1 = device address 590 (tape) 12 | r 404=9C001000 # SIO 0(R1) 13 | 14 | r 408=82000430 # LPSW WAITPSW 15 | r 430=000200000000BEEF # WAITPSW 16 | 17 | r 440=4F00048040000004 # Locate Block CCW 18 | r 448=2200049040000008 # Read BlockId CCW 19 | r 450=4F00049040000004 # Locate Block CCW 20 | r 458=2200049800000008 # Read BlockId CCW 21 | 22 | r 480=0000C0FF # Locate Block i/p (xC0FF=49407) 23 | r 490=0000000000000000 # Read BlockId o/p #1 24 | r 498=0000000000000000 # Read BlockId o/p #2 25 | 26 | detach 590 # in case it already exists 27 | pause 1 28 | 29 | attach 590 3480 \\.\tape0 # note: could use AWS file instead 30 | pause 1 31 | 32 | s+ # enable instruction tracing 33 | t+590 # enable ccw tracing on device 590 34 | pause 1 35 | 36 | restart # start test 37 | pause 1 38 | 39 | startall # step to SIO instruction 40 | pause 1 41 | 42 | startall # step to LPSW instruction 43 | pause 1 44 | 45 | pause 30 # give tape drive time to do its thing 46 | 47 | r 480.20 # display results; should all be same 48 | -------------------------------------------------------------------------------- /util/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = dasdlist bldlvlck 2 | 3 | dist_pkgdata_DATA = cckddump.hla awswrite.jcl rawstape.jcl tapeconv.jcl\ 4 | TMOUNT.txt \ 5 | zzsacard.bin awssl-v19g cckdload.hla 6 | 7 | EXTRA_DIST = dasdlist dasdlist.bat bldlvlck 8 | -------------------------------------------------------------------------------- /util/configure.ac: -------------------------------------------------------------------------------- 1 | THIS IS A DUMMY FILE 2 | 3 | This is needed so that 'autoconf --version' reports the 2.5x version 4 | and not the 2.13 version to bldlvlck 5 | -------------------------------------------------------------------------------- /util/dasdlist: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # This command prints a track from a CKD DASD image file. 4 | # It uses the Unix Octal Dump (od) command to firstly obtain 5 | # the device geometry from the CKD header, and secondly to 6 | # print the track in hexadecimal format. 7 | # 8 | filename=$1 9 | cyl=$2 10 | head=$3 11 | 12 | if [ -z "$filename" ]; then 13 | echo "Usage: dasdlist filename [cyl head]" 14 | exit 1 15 | fi 16 | 17 | if [ ! -f $filename ]; then 18 | echo "File $filename does not exist" 19 | exit 1 20 | fi 21 | 22 | # 23 | # Check the first 8 bytes of the header for valid CKD DASD image file 24 | # 25 | ckdid=`head -n 1 $filename | cut -c1-8` 26 | if [ $ckdid != "CKD_P370" ]; then 27 | echo "File $filename is not a CKD DASD image file" 28 | exit 2 29 | fi 30 | 31 | # 32 | # The next 8 bytes contain the tracks/cyl and track length constants 33 | # 34 | heads=`od -An -tu4 -j 8 -N 4 $filename` 35 | trklen=`od -An -tu4 -j 12 -N 4 $filename` 36 | 37 | heads=`expr $heads` 38 | trklen=`expr $trklen` 39 | 40 | echo "$filename $heads trks/cyl, $trklen bytes/trk" 41 | 42 | # 43 | # If cylinder number is not given then exit 44 | # 45 | if [ -z "$cyl" ] || [ -z "$head" ]; then 46 | echo "To dump a track specify dasdlist $filename cyl head" 47 | exit 0 48 | fi 49 | 50 | # 51 | # Calculate the offset to the requested cylinder and track 52 | # 53 | offset=`expr 512 + '(' $cyl '*' $heads + $head ')' '*' $trklen` 54 | num=`expr $trklen` 55 | 56 | # 57 | # Dump the requested track 58 | # 59 | echo "$filename Cyl $cyl Head $head" 60 | echo "od -Ax -tx1 -j $offset -N $num $filename" 61 | od -Ax -tx1 -j $offset -N $num $filename 62 | -------------------------------------------------------------------------------- /util/dasdlist.bat: -------------------------------------------------------------------------------- 1 | bash dasdlist %1 %2 %3 %4 %5 2 | -------------------------------------------------------------------------------- /util/zzsacard.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/util/zzsacard.bin -------------------------------------------------------------------------------- /vmd250.h: -------------------------------------------------------------------------------- 1 | /* VMD250.H (c) Copyright Harold Grovesteen, 2009-2011 */ 2 | /* z/VM 5.4 DIAGNOSE code X'250' */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | #if !defined(__VMD250_H__) 11 | #define __VMD250_H__ 12 | 13 | /*-------------------------------------------------------------------*/ 14 | /* DIAGNOSE X'250' Block I/O - Device Environment */ 15 | /*-------------------------------------------------------------------*/ 16 | struct VMBIOENV { 17 | DEVBLK *dev; /* Device block pointer of device */ 18 | S32 blksiz; /* Block size being used by the guest */ 19 | S64 offset; /* Guest provided offset */ 20 | S64 begblk; /* BIO established beginning block number */ 21 | S64 endblk; /* BIO established ending block number */ 22 | int isCKD; /* Count-Key-Data device */ 23 | int isRO; /* Device is read-only */ 24 | int blkphys; /* Block to physical relationship */ 25 | /* For FBA: physical sectors per block */ 26 | /* For CKD: physical blocks per track */ 27 | BYTE sense[32]; /* Save area for any pending sense data */ 28 | }; 29 | 30 | #endif /* !defined(__VMD250_H__) */ 31 | -------------------------------------------------------------------------------- /vmfplc2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensourcemainframes/hercules/1a40566d755a43ce9c610caaf566484a3809da0b/vmfplc2.c -------------------------------------------------------------------------------- /vstore.c: -------------------------------------------------------------------------------- 1 | /* VSTORE.C (c) Copyright Roger Bowler, 2000-2011 */ 2 | /* ESA/390 Virtual Storage Functions */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | /* z/Architecture support - (c) Copyright Jan Jaeger, 1999-2009 */ 9 | 10 | // $Id$ 11 | 12 | #include "hstdinc.h" 13 | 14 | #include "hercules.h" 15 | 16 | #if defined(OPTION_NO_INLINE_VSTORE) | defined(OPTION_NO_INLINE_IFETCH) 17 | 18 | #define _VSTORE_C 19 | 20 | #include "opcode.h" 21 | 22 | #include "inline.h" 23 | 24 | #if !defined(_GEN_ARCH) 25 | 26 | #if defined(_ARCHMODE2) 27 | #define _GEN_ARCH _ARCHMODE2 28 | #include "vstore.c" 29 | #endif 30 | 31 | #if defined(_ARCHMODE3) 32 | #undef _GEN_ARCH 33 | #define _GEN_ARCH _ARCHMODE3 34 | #include "vstore.c" 35 | #endif 36 | 37 | #endif /*!defined(_GEN_ARCH)*/ 38 | 39 | #endif /*!defined(OPTION_NO_INLINE_VSTORE)*/ 40 | -------------------------------------------------------------------------------- /w32ctca.h: -------------------------------------------------------------------------------- 1 | /* W32CTCA.H (c) Copyright "Fish" (David B. Trout), 2002-2011 */ 2 | /* CTCI-W32 (Channel to Channel link to Win32 TCP/IP stack) */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | #ifndef _W32CTCA_H_ 11 | #define _W32CTCA_H_ 12 | 13 | #if defined(OPTION_W32_CTCI) 14 | 15 | #include "tt32api.h" // (#define TUNTAP32_DLLNAME) 16 | 17 | #define MAX_TT32_DLLNAMELEN (512) 18 | #define DEF_TT32_DLLNAME TUNTAP32_DLLNAME // (from tt32api.h) 19 | 20 | extern char g_tt32_dllname [MAX_TT32_DLLNAMELEN]; 21 | 22 | extern void tt32_init (); 23 | extern int tt32_open ( char* pszGatewayDevice, int iFlags ); 24 | extern int tt32_read ( int fd, u_char* buffer, u_long size ); 25 | extern int tt32_write ( int fd, u_char* buffer, u_long size ); 26 | extern int tt32_beg_write_multi ( int fd, u_long bufsiz ); 27 | extern int tt32_end_write_multi ( int fd ); 28 | extern int tt32_close ( int fd ); 29 | extern int tt32_ioctl ( int fd, int iRequest, char* argp ); 30 | extern const char* tt32_get_default_iface (); 31 | extern int tt32_build_herc_iface_mac ( BYTE* out_mac, const BYTE* in_ip ); 32 | 33 | extern int display_tt32_stats ( int fd ); 34 | extern void enable_tt32_debug_tracing ( int enable ); 35 | 36 | #endif // defined(OPTION_W32_CTCI) 37 | #endif // _W32CTCA_H_ 38 | -------------------------------------------------------------------------------- /w32dl.h: -------------------------------------------------------------------------------- 1 | /* W32DL.H (c) Copyright Jan Jaeger, 2004-2011 */ 2 | /* dlopen compat */ 3 | 4 | // $Id$ 5 | 6 | #ifndef _W32_DL_H 7 | #define _W32_DL_H 8 | 9 | #ifdef _WIN32 10 | 11 | #define RTLD_NOW 0 12 | 13 | #define dlopen(_name, _flags) \ 14 | (void*) ((_name) ? LoadLibrary((_name)) : GetModuleHandle( NULL ) ) 15 | #define dlsym(_handle, _symbol) \ 16 | (void*)GetProcAddress((HMODULE)(_handle), (_symbol)) 17 | #define dlclose(_handle) \ 18 | FreeLibrary((HMODULE)(_handle)) 19 | #define dlerror() \ 20 | ("(unknown)") 21 | 22 | #endif /* _WIN32 */ 23 | 24 | #endif /* _W32_DL_H */ 25 | -------------------------------------------------------------------------------- /w32stape.h: -------------------------------------------------------------------------------- 1 | /* W32STAPE.H (c) Copyright "Fish" (David B. Trout), 2005-2011 */ 2 | /* Hercules Win32 SCSI Tape handling module */ 3 | /* */ 4 | /* Released under "The Q Public License Version 1" */ 5 | /* (http://www.hercules-390.org/herclic.html) as modifications to */ 6 | /* Hercules. */ 7 | 8 | // $Id$ 9 | 10 | //////////////////////////////////////////////////////////////////////////////////// 11 | // 12 | // This module contains only MSVC support for SCSI tapes. 13 | // Primary SCSI Tape support is in module 'scsitape.c'... 14 | // 15 | //////////////////////////////////////////////////////////////////////////////////// 16 | 17 | #ifndef _W32STAPE_H_ 18 | #define _W32STAPE_H_ 19 | 20 | #ifdef _MSVC_ 21 | 22 | #include "w32mtio.h" // Win32 version of 'mtio.h' 23 | 24 | #define WIN32_TAPE_DEVICE_NAME "\\\\.\\Tape0" 25 | 26 | #ifndef _W32STAPE_C_ 27 | #ifndef _HTAPE_DLL_ 28 | #define W32ST_DLL_IMPORT DLL_IMPORT 29 | #else 30 | #define W32ST_DLL_IMPORT extern 31 | #endif 32 | #else 33 | #define W32ST_DLL_IMPORT DLL_EXPORT 34 | #endif 35 | 36 | W32ST_DLL_IMPORT int w32_open_tape ( const char* path, int oflag, ... ); 37 | W32ST_DLL_IMPORT int w32_define_BOT ( int fd, U32 msk, U32 bot ); 38 | W32ST_DLL_IMPORT int w32_ioctl_tape ( int fd, int request, ... ); 39 | W32ST_DLL_IMPORT int w32_close_tape ( int fd ); 40 | W32ST_DLL_IMPORT ssize_t w32_read_tape ( int fd, void* buf, size_t nbyte ); 41 | W32ST_DLL_IMPORT ssize_t w32_write_tape ( int fd, const void* buf, size_t nbyte ); 42 | 43 | #endif // _MSVC_ 44 | 45 | #endif // _W32STAPE_H_ 46 | --------------------------------------------------------------------------------