- - Building from source
- - Oft Platform SDK, which is also available for download from Microsoft. For further information, see Fish's MSVC Hercules Build page at http://www.softdevlabs.com/Hercules/hercules-msvc-build.html Alternatively, the Microsoft Visual Studio 7.0 and 8.0 products may be used. In addition, Hercules now also supports building with the Microsoft Visual Studio 9.0 product, or with Microsoft Visual C++ 2008 Express (Version 15.x) available for download from the Microsoft web-site.
3.05 Why do I get an unexpected fixed-point divide exception (program check 0009 or abend 0C9) on a CVB instruction?
You are using an old gcc compiler. See previous question for the required compiler level.
3.06 Can Hercules be ported to run on other platforms?
With the introduction of autotools, we do make efforts to ensure Hercules builds and run on several different operating system platforms (mostly Linux, Windows, MAC, Solaris, and FreeBSD right now), but we of course simply cannot guarantee that it will run on every operating system platform out there.
If you want to make Hercules run on AS/400, OS/2, or whatever, then by all means go ahead. I welcome reports of any bugs or problems you find, but I probably won't fix problems if it means introducing platform-specific code, and I will not be able to test new releases against other platforms. Folks who have gotten it compiled on the BSDs report that the hardest part is removing the Linux-specific tape support.
The Hercules code is not intended to be specific to Intel hardware, so if you find any issues or faults related to running on other hardware (SPARC, Alpha, PPC, ...) under Linux, then I'm likely to be receptive to fixing that sort of problem. Issues related to Unix variants are less likely to be fixed however.
4.01 How can I create a virtual DASD volume?
The Creating Hercules DASD document describes various methods of creating and loading virtual DASD volumes.
4.02 Can I read a tape which was created on a mainframe?
Yes, indirectly. The mainframe tape must be converted to AWSTAPE format and then downloaded to your PC. The tapeconv.jcl file in the Hercules directory contains a sample program which you can run under OS/390 on your mainframe system. It reads a file from tape and converts it to AWSTAPE format. Download the AWSTAPE file to your PC (making sure to choose binary format for the download), and then add the downloaded filename to the Hercules configuration file as a virtual tape device. You will then be able to read the tape file from the virtual tape drive located on your PC.
Note: the "tapeconv" program will not correctly process input tapes whose block size exceeds 32760! One symptom of this may be the message "
ADRY011E I/O ERROR - DEVICE NOT ATTACHED.0000,NA,00...00,0000"when attempting to restore from tape originally created using the default DF/DSS block size. The solution is to recreate the dump tape with DCB=BLKSIZE=32760.4.03 Can I attach a PC tape drive to Hercules?
Yes. Hercules can read and write tapes on SCSI drives. I have tested this with 4mm DAT, QIC-1000, and 9-track drives.
4.04 Can I process mainframe tapes with Hercules?
Yes. It is possible to obtain 9-track open reel drives and 3480-type cartridge drives which attach to the SCSI bus. Hercules makes these appear to the operating system as channel-attached 3420 or 3480 devices, making it possible to read and write real mainframe tapes.
4.05 Can I create Assembler programs without a mainframe?
Yes. If you want to write Assembler (BAL) programs to run on Hercules, but you don't have access to a mainframe, then there are two interesting products which you can run on your PC to assemble programs:
- The "Tachyon 390 Cross Assembler" ( http://www.tachyonsoft.com/tachyon )
- With this assembler you can produce S/390-compatible object decks using your Linux or Windows PC. A high degree of HLASM compatibility, coupled with the ability to perform complex assemblies at lightning speed, make this a product which is well worth looking at. I have tried this assembler and it is truly amazing.
- The "Dignus Systems/C Compiler" ( http://www.dignus.com )
- This is a C compiler which runs under Windows or Linux and generates mainframe assembler code which you can then assemble using the Tachyon assembler.
Sam Golob wrote a fascinating review of these two products in the September 1999 issue of NaSPA Technical Support magazine.
5.01 What architectural features are implemented?
The following standard features of ESA/390 have been implemented:
- Address-Limit Checking
- Commercial Instruction Set
- Decimal Instructions
- Hexadecimal Floating-Point Instructions
- 24-bit and 31-bit addressing
- Key-Controlled Protection
- Page Protection
- Low-Address Protection
- Dynamic Address Translation
- 370-XA Channel Subsystem
- Channel Indirect Data Addressing
- Program Controlled Interruption (PCI)
- Channel Program Suspend/Resume
- Dual Address Space
- Access Register Mode
- Home Space Mode
- Branch and Save
- Conditional Swapping
- TOD Clock, Clock Comparator, and CPU Timer
- MVCS/MVCP/MVCK/MVCSK/MVCDK instructions
- TB/TPROT instructions
- LURA/STURA instructions
- BAKR/PC/PR/PT instructions
- Linkage Stack
- Compare and Form Codeword and Update Tree instructions
The following optional features of ESA/390 have been implemented:
- Access-List-Controlled Protection
- Binary Floating-Point instructions
- Branch and Set Authority
- Broadcasted Purging
- Checksum instruction
- Compare and Move Extended instructions
- Dynamic Reconfiguration
- Expanded Storage
- Fast Synchronous Data Mover Facility
- Floating-Point-Support Extensions
- Halfword-Immediate instructions
- Branch-Relative instructions
- Incorrect-Length-Indication Suppression
- Interpretive Execution (SIE)
- Move Inverse
- Move Page (Facility 2)
- MVS assists
- Operational Extensions: Console Integration
- Private Space
- Set Address Space Control Fast
- Service-call-logical-processor (SCLP) facility
- Square Root
- Storage-Protection Override
- Storage Key assist
- String instructions
- Subspace Group
- Compare Until Substring Equal
- Concurrent Sense
- Suppression on Protection with Virtual-Address enhancement
- Extended TOD clock
- Compression
- Perform Locked Operation
- Vector Facility
- Multiple Controlled Data Space (VM dataspaces)
- Extended Translation
- Extended Translation Facility 2
- Store System Information
- Cancel I/O Facility
- Program Event Recording
- Guest PER enhancement
The following optional features of z/Architecture have been implemented:
- HFP Multiply-and-Add/Subtract Facility
- Message Security Assist
- Long-Displacement Facility
- DAT-Enhancement Facility
- Extended-Translation Facility 3
- ASN-and-LX-Reuse Facility
- List-Directed Initial Program Load
- Modified CCW Indirect Data Addressing (MIDAW) Facility
- Extended-Immediate Facility
- Message-Security-Assist Extension 1
- Message-Security-Assist Extension 2
- DAT-Enhancement Facility 2
- Store-Clock-Fast Facility
- Store-Facility-List-Extended Facility
- ETF2-Enhancement Facility
- ETF3-Enhancement Facility
- PER-3 Facility
- TOD-Clock-Steering Facility
- Conditional-Emergency-Signal and Sense-Running-Status Facility
- Multiple Logical Channel Subsystems Facility
- Floating-Point-Support Enhancement Facilities (FPR-GR-Loading, FPS-Sign-Handling, and DFP-Rounding)
- Decimal Floating Point Facility
- IEEE-Exception-Simulation Facility
- Extract-CPU-Time Facility
- Conditional-SSKE Facility
- Compare-and-Swap-and-Store Facility
- Execute-Extensions Facility
- General-Instructions-Extension Facility
- Move-with-Optional-Specifications Facility
- Parsing-Enhancement Facility
- Compare-and-Swap-and-Store Facility 2
- Integrated 3270 (SYSG) Console
- Configuration-Topology Facility
- HFP-Unnormalized-Extensions Facility
The following optional features of z/Architecture have not yet been implemented:
- Enhanced-DAT Facility
- PFPO Facility
- Restore-Subchannel Facility
- Integrated ASCII (SYSA) Console
- Set-Program-Parameter Facility
- CPU-Measurement Counter Facility
- CPU-Measurement Sampling Facility
The following standard feature has not yet been implemented:
- Clear I/O (full functionality for S/370)
The following optional features have been partially implemented:
- Channel-Subsystem Call
- VM/370 assists
The following features are not yet implemented, either due to lack of documentation, limited host system capability, or lack of supporting hardware:
- Asynchronous Data Mover Facility
- Asynchronous Pageout Facility
- Coupling Links
- ESCON
- FICON
- MIF (Multiple Image Facility)
- Extended Sorting
- External Time Reference (Sysplex Timer)
- ICRF (Cryptography)
- Operational Extensions: Automatic Reconfiguration, Storage Reconfiguration, SCP-initiated Reset, Processor Availability
- PR/SM
- Program-Controlled re-IPL
Hercules is compliant with IBM's ALS-1, ALS-2 and ALS-3 architectural level sets to the degree necessary to run all OS/390 versions through 2.10 and known versions of z/OS in both ARCHLVL 1 and ARCHLVL 2 mode, and Linux and z/VM in both ESA/390 and z/Architecture mode.
6.01 Who are the Herculeans?
The following people are among those who have contributed to this project, either as coders or as testers or both:
- Roger Bowler (original author)
- Jay Maynard (current maintainer)
- Jan Jaeger
- Volker Bandke
- David Barth
- Malcolm Beattie
- Mario Bezzi
- Mike Cairns
- Marcin Cieslak
- Clem Clarke
- Vic Cross
- Jacob Dekel
- Guy Desbiens
- Juergen Dobrinski
- Fritz Elfert
- Tomas Fott
- Martin Gasparovic
- Mark Gaubatz
- Steve Gay
- Peter Glanzmann
- Roland Goetschi
- Graham Goodwin
- Paul Gorlinsky
- Harold Grovesteen
- Glen Herrmannsfeldt
- Brandon Hill
- Gabor Hoffer
- Dan Horak
- Soren Jorvang
- Willem Konynenberg
- John Kozak
- Nobumichi Kozawa
- Peter Kuschnerus
- Paul Leisy
- Kevin Leonard
- Albert Louw
- Peter Macdonald
- Tomas Masek
- Rick McKelvy
- John McKown
- Dave Morton
- Christophe Nillon
- Mike Noel
- Andy Norrie
- Dutch Owen
- Max H. Parke
- Reed H. Petty
- Jim Pierson
- Tim Pinkawa
- Pasi Pirhonen
- Valery Pogonchenko
- Wolfhard Reimer
- Emerson Santos
- Jeff Savit
- Axel Schwarzer
- Paul Scott
- Daniel Seagraves
- Victor Shkamerda
- Greg Smith
- Enrico Sorichetti
- John Summerfield
- Mark Szlaga
- Adam Thornton
- Adrian Trenkwalder
- "Fish" (David B. Trout)
- Ronen Tzur
- Bernard van der Helm
- Ard van der Leeuw
- Kris Van Hees
- Kees Verruijt
- Ivan Warren
- Rod Zazubek
- Bjoern A. Zeeb
- Matt Zimmerman
And thanks for support and encouragement from:
- Tim Alpaerts
- Bertus Bekker
- Giorgio de Nunzio
- Rick Fochtman
- Alex Friis
- Sam Golob
- Achim Haag
- Cory Hamasaki
- Tony Harminc
- Richard Higson
- Jim Keohane
- Sam Knutson
- Mike Ross
- Daniel Rudin
- Rich Smrcina
- Henk Stegeman
- Mark S. Waterbury
If anyone feels they have been unfairly omitted from either of these lists, please let me (Jay Maynard) know.
7.01 Where can I obtain technical support?
Please see our Technical Support web page.
![]()
Last updated $Date: 2010-03-03 08:14:26 -0600 (Wed, 03 Mar 2010) $ $Revision: 5645 $