File: hercfaq.html

package info (click to toggle)
hercules 3.07-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 14,572 kB
  • ctags: 18,225
  • sloc: ansic: 162,921; sh: 8,522; makefile: 781; perl: 202; sed: 16
file content (978 lines) | stat: -rw-r--r-- 39,093 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
<HTML>
<HEAD>
<TITLE>
    Hercules Version 3: Frequently-Asked Questions
</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="hercules.css">
</HEAD>
<BODY TEXT="#000000" LINK="#0000A0" VLINK="#008040" BGCOLOR="#ffffcc"
    ALINK="#000000">
<H1>
    Hercules Version 3: Frequently-Asked Questions
</H1>
<P>
<HR>
</P>
<TABLE>
<TR><TD><A HREF="#1.01">1.01</A></TD><TD>What is Hercules?</TD></TR>
<TR><TD><A HREF="#1.02">1.02</A></TD><TD>So what exactly does that mean?</TD></TR>
<TR><TD><A HREF="#1.03">1.03</A></TD><TD>Is it functional enough to run production work?</TD></TR>
<TR><TD><A HREF="#1.04">1.04</A></TD><TD>What are the licensing restrictions for Hercules?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#2.01">2.01</A></TD><TD>Can it run z/OS, z/VM, z/VSE?</TD></TR>
<TR><TD><A HREF="#2.02">2.02</A></TD><TD>What operating systems can I run legally?</TD></TR>
<TR><TD><A HREF="#2.03">2.03</A></TD><TD>What other programs will run under Hercules?</TD></TR>
<TR><TD><A HREF="#2.04">2.04</A></TD><TD>Where can I obtain OS/360 ?</TD></TR>
<TR><TD><A HREF="#2.05">2.05</A></TD><TD>Where can I obtain MVS ?</TD></TR>
<TR><TD><A HREF="#2.06">2.06</A></TD><TD>Where can I obtain VM/370 ?</TD></TR>
<TR><TD><A HREF="#2.07">2.07</A></TD><TD>Where can I obtain DOS/VS ?</TD></TR>
<TR><TD><A HREF="#2.08">2.08</A></TD><TD>Where can I obtain Linux/390 ?</TD></TR>
<TR><TD><A HREF="#2.09">2.09</A></TD><TD>Where can I find documentation?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#3.01">3.01</A></TD><TD>What PC hardware do I need to run Hercules?</TD></TR>
<TR><TD><A HREF="#3.02">3.02</A></TD><TD>What sort of MIPS rate can I expect?</TD></TR>
<TR><TD><A HREF="#3.03">3.03</A></TD><TD>What PC software do I need to run Hercules?</TD></TR>
<TR><TD><A HREF="#3.04">3.04</A></TD><TD>What software do I need to build Hercules?</TD></TR>
<TR><TD><A HREF="#3.05">3.05</A></TD><TD>Why do I get an unexpected fixed-point divide exception (program check 0009 or abend 0C9) on a CVB instruction?</TD></TR>
<TR><TD><A HREF="#3.06">3.06</A></TD><TD>Can Hercules be ported to run on other platforms?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#4.01">4.01</A></TD><TD>How can I create a virtual DASD volume?</TD></TR>
<TR><TD><A HREF="#4.02">4.02</A></TD><TD>Can I read a tape which was created on a mainframe?</TD></TR>
<TR><TD><A HREF="#4.03">4.03</A></TD><TD>Can I attach a PC tape drive to Hercules?</TD></TR>
<TR><TD><A HREF="#4.04">4.04</A></TD><TD>Can I process mainframe tapes with Hercules?</TD></TR>
<TR><TD><A HREF="#4.05">4.05</A></TD><TD>Can I create Assembler programs without a mainframe?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#5.01">5.01</A></TD><TD>What architectural features are implemented?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#6.01">6.01</A></TD><TD>Who are the Herculeans?</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="#7.01">7.01</A></TD><TD>Where can I obtain technical support?</TD></TR>
</TABLE>
<P>
<HR>
</P>
<H4><A NAME="1.01">1.01</A>
    What is Hercules?
</H4>
<P>
    Hercules is a software implementation of the System/370, ESA/390 and
    z/Architecture mainframe architectures. Hercules runs under Windows
    and Linux, as well as under various other Unix or Unix-like systems
    on Intel Pentium and other hardware platforms including Alpha,
    Sparc, and Mac.
</P>
<H4><A NAME="1.02">1.02</A>
    So what exactly does that mean?
</H4>
<P>
    It means that your PC can emulate an IBM mainframe processor. The
    mainframe can range from a System/360 to a z10 - running in "S/370"
    mode, "ESA/390" mode, or "z/Architecture" mode.
</P>
<P>
    Hercules executes S/370, ESA/390, and z/Architecture instructions
    and channel programs.  It emulates mainframe I/O devices by using
    PC devices.  For example, 3390 DASD devices are emulated by large
    files on your hard disk, and local 3270 screens are emulated by tn3270
    sessions. (Note: Not all 370 and 390 features have been implemented
    in Hercules. See the list of particulars later in this document.
    Also, certain non-standard models, 360/20s, and the 360/67 virtual
    memory mode are not emulated.)
</P>
<P>
    Hercules implements only the raw S/370, ESA/390, and z/Architecture
    instruction set; it does not provide any operating system facilities.
    This means that you need to provide an operating system or standalone
    program which Hercules can load from an emulated disk or tape device.
    You will have to write the operating system or standalone program
    yourself, unless you can manage to obtain a license from IBM to run
    one of their operating systems on your PC, or use IBM programs and
    operating systems which have been placed in the public domain.
</P>
<H4><A NAME="1.03">1.03</A>
    Is it functional enough to run production work?
</H4>
<P>
    Hercules has never claimed to be a production-capable system.
    It was always meant to be a system programmer's toy. Having said
    that, it's now become good enough to run a wide range of software
    without problems, and there are reports that it has been used to
    run production work in some parts of the world.
</P>
<H4><A NAME="1.04">1.04</A>
    What are the licensing restrictions for Hercules?
</H4>
<P>
    Hercules is a copyright work which has been made generally
    available, subject to the terms of the
<A HREF="herclic.html">Q Public License</A>.
    In essence this allows free use and distribution of the program for
    personal and commercial use.  You may not distribute modified copies
    of the program, but you may distribute your own patches along with
    the program, provided that you also grant the maintainer permission
    to include those patches in future versions of the program.  You may
    not copy any portion of the source code for use in any other program.
</p>
<P>
    Hercules is <EM>not</EM>, repeat, <EM>not</EM> GPL software! The GNU
    General Public License is a Unix/Linux software licensing agreement,
    which we, the authors, will not participate in. We believe that the
    QPL, which has been certified as compliant with the
<a href="http://www.opensource.org">Open Source Definition</a>,
    provides the benefits and protections of open source for both users and
    developers, without the political baggage that has come to be associated
    with the GPL.
</P>
<P>
<HR>
</P>
<H4><A NAME="2.01">2.01</A>
    Can it run z/OS, z/VM, z/VSE?
</H4>
<P>
    Yes. Hercules is a software implementation of z/Architecture, and so
    it is capable of running z/OS, z/VM, and z/VSE.  Hercules also
    implements ESA/390 (including SIE) and so it can run OS/390, VM/ESA,
    and VSE/ESA, as well as older versions of these operating systems
    such as MVS/ESA, MVS/XA, VM/SP, VSE/SP, etc.
    <p>
    <b>But</b> (and this is a big but), these operating systems are all
    IBM Licensed Program Products, whose conditions of use generally
    restrict their usage to specific IBM machine serial numbers. So you
    cannot just copy these systems from work and run them on your PC.
</P>
<H4><A NAME="2.02">2.02</A>
    What operating systems can I run legally?
</H4>
<P>
    Most 3rd party operating systems like Linux/390, z/Linux and TELPAR
    are covered under their own <em>free</em> license and can therefore
    run under Hercules without any legal problems.
</P>
<P>
    <em>OS/360</em> (PCP, MFT and MVT) is in the public domain, as far
    as we know. The status of OSes for which IBM did not charge a license
    fee is somewhat murky; these include <em>MVS</em> 3.8, <em>VM/370</em>
    release 6, and <em>DOS/VS</em> release 34.
</P>
<P>
    The legal status outside the USA, where something like public domain or
    software without copyright doesn't exist, is "copyrighted software
    provided at no charge". It is a known fact that vendors like
    <em>Amdahl</em>, <em>Hitachi</em>, <em>Nixdorf</em> and others
    modified those operating systems, and distributed them as their own
    OS for their own hardware, without asking IBM for permission. But
    law had been changed over that time, so its not clear if the same
    legal status applies in <b>your</b> country right now.
</P>
<P>
    Rick Fochtman managed to obtain a letter from IBM that he is allowed
    to distribute OS/360. Try to ask your salesdroid for a similar letter
    for VM/370, MVS 3.8j or DOS/VS next time he wants to sell you a major
    upgrade.
</P>
<P>
    OS/390, z/OS, and other ESA or z/Architecture operating systems are
    definitely licensed to a
    particular machine. Therefore, in practice you cannot run any classic
    ESA or z/Architecture operating system
    on your PC unless you can obtain a license from
    IBM allowing you to do so. It is believed that there are, however,
    four ways you could run z/OS, z/VM, z/VSE,
    OS/390, VM/ESA, or VSE/ESA under
    Hercules using currently available licenses:
</P>
<OL>
<LI>
    Running under Linux on the Pentium processor of a P/390 which is
    licensed to run the OS.
</LI>
<LI>
    Running under Linux/390 on a mainframe which is licensed to run the OS.
</LI>
<LI>
    Running under the terms of a disaster recovery provision of the OS
    license (but I really don't recommend depending on Hercules to be your
    disaster recovery solution!).
</LI>
<LI>
    Using the IBM OS/390 or z/OS DemoPkg, which is available only to
    IBM employees and IBM Business Partners.
</LI>
</OL>
<H4><A NAME="2.03">2.03</A>
    What other programs will run under Hercules?
</H4>
<P>
    Any program which uses the S/370, ESA/390, or z/Architecture instruction
    set, as implemented in Hercules. Some special utilities in the form of
    standalone programs are known to run well. I can particularly recommend
    Jan Jaeger's excellent standalone editor (ZZSA) which is included in the
    Hercules distribution, or it can be downloaded from
<A HREF="http://www.cbttape.org/~jjaeger">http://www.cbttape.org/~jjaeger</A>;
    I use it regularly to look at DASD while debugging an OS installation,
    which is just what it's designed to do. Note: ZZSA runs in ESA/390 mode.
    See Jan Jaeger's website for more information and special logon procedures.
</P>
<H4><A NAME="2.04">2.04</A>
    Where can I obtain OS/360 ?
</H4>
<P>
    1. Rick Fochtman's OS/360 archive CD is now obtainable by download
    from these locations:
</P>
<UL>
<LI>
<A HREF="http://www.jaymoseley.com/hercules/install.htm">http://www.jaymoseley.com/hercules/install.htm</A>
<!-- Following links no longer exist
<LI>
<A HREF="http://www.cyberdynesys.com/os360.tgz">http://www.cyberdynesys.com/os360.tgz</A>
</LI>
<LI>
<A HREF="ftp://ftp.ox.ac.uk/pub/linux/hercos360/os360.tar.gz">ftp://ftp.ox.ac.uk/pub/linux/hercos360/os360.tar.gz</A>
</LI>
<LI>
<A HREF="ftp://source.rfc822.org/pub/mirror/hercules/hercos360/os360.tar.gz">ftp://source.rfc822.org/pub/mirror/hercules/hercos360/os360.tar.gz</A>
</LI>
     end of non-existent links -->
<LI>
<A HREF="http://open360.copyleft.de/OS360/Download.html">http://open360.copyleft.de/OS360/Download.html</A>
</LI>
</UL>
<P>
    2. If you are interested in obtaining a copy of the CD itself,
    contact Rick Fochtman at <EM>rfochtman</EM>@<EM>ync.net</EM>.
</P>
<P>
    3. Alternatively, you can download the OS/360 Y2K Starter package
    from <a href="http://open360.copyleft.de/OS360/Download.html">
    http://open360.copyleft.de/OS360/Download.html</a>
    which contains a full featured MVT system on a 3330 image,
    with some minimal documentation. The configuration is that of a
    370/158 with 4 megabytes of main storage, running OS/MVT Release
    21.0. The same site also offers a MVTDBL volume and a
    <EM>Builder</EM> package for those who like to participate in
    OS/360 nucleus hacking.
</P>
<P>
    4. Jay Maynard's "IBM Public Domain Software Collection"
       at <a href="http://www.ibiblio.org/jmaynard/">http://www.ibiblio.org/jmaynard/</a>
       contains copies of the OS/360 Release 21.8 distribution tapes.
<H4><A NAME="2.05">2.05</A>
    Where can I obtain MVS 3.8 ?
</H4>
<P>
    The Original MVS 3.8 distribution as it was first used came from
</P>
<UL><LI>
<A HREF="ftp://ftp.cbttape.org/pub/cbttape/mvs38/">ftp://ftp.cbttape.org/pub/cbttape/mvs38/</A>
</LI></UL>
<P>
    who advise using the mirrors at
</P>
<UL>
<LI><A HREF="ftp://ftp.ox.ac.uk/pub/linux/mvs38j/">ftp://ftp.ox.ac.uk/pub/linux/mvs38j/</A></LI>
<LI><A HREF="http://source.rfc822.org/pub/mirror/hercules/mvs38j/">http://source.rfc822.org/pub/mirror/hercules/mvs38j/</A></LI>
<LI><A HREF="ftp://source.rfc822.org/pub/mirror/hercules/mvs38j/">ftp://source.rfc822.org/pub/mirror/hercules/mvs38j/</A></LI>
</UL>
<P>
    Several people have generated a functional MVS system from this archive :
</P>
<UL>
<LI><A HREF="http://www.jaymoseley.com/">Jay Moseley, CCP</A></LI>
<LI><A HREF="http://www.bsp-gmbh.com/hercules/">Volker Bandke from BSP GmbH</A></LI>
<LI><A HREF="http://www.schaefernet.de/hercules/">Wolfgang Sch&auml;fer from Sch&auml;fernet</A></LI>
</UL>
<H4><A NAME="2.06">2.05</A>
    Where can I obtain VM/370 ?
</H4>
<!-- archaelogic.com is no longer accessible
<P>
    Bob Abeles started a VM/370 web site at:
</P>
<UL><LI>
<A HREF="http://www.archaelogic.com/vm370/">http://www.archaelogic.com/vm370</A>
</LI></UL>
<P>
    Right now it's in an embryonic state. If anyone has material that
    they'd like to contribute, please send it to me. I'm looking for
    FAQ material, command summaries, how-to's, personal experiences and
    anecdotes, machine room photos, and just about anything else you
    think might be of interest.
</P>
     end of non-existent link -->
<P>
The VM/370 page at <a href="http://www.cbttape.org/vm6.htm">cbttape.org</a>
contains download links for the Andy Norrie VM 4-pack system and
the Bob Abeles VM/370 R6 distribution.
</P>
<H4><A NAME="2.07">2.07</A>
    Where can I obtain DOS/VS ?
</H4>
<P>
    I've put the DOS/VS r34 install tape on my site. It'll expand to a 21
    MB AWSTAPE file, dosrel34.aws. You need the <EM>Coverletter</EM> to
    install it. Read the relevant postings of the Hercules mailing list
    first, as the install process is quite obscure.
</P>
<P>
    You can grab those files at :
</P>
<UL>
<LI><A HREF="http://www.hercules-390.org/dosrel34.zip">http://www.hercules-390.org/dosrel34.zip</A></LI>
<LI><A HREF="http://www.hercules-390.org/dosrel34coverletter.pdf">http://www.hercules-390.org/dosrel34coverletter.pdf</A></LI>
<LI><A HREF="http://open360.copyleft.de/DOS34/Installation.html">http://open360.copyleft.de/DOS34/Installation.html</A></LI>
</UL>
<H4><A NAME="2.08">2.08</A>
    Where can I obtain Linux/390 ?
</H4>
<P>
The best starting point for information about Linux for S/390 and Linux for zSeries
is <A HREF="http://www.linuxvm.org/">http://www.linuxvm.org/</A>
</P>
<!-- The following seems to be very out of date
<P>
    The process of downloading and installing Linux/390 is best
    described by the
<A HREF="http://linas.org/linux/i370-howto.html">Getting Started with Linux/390</A>
    document. Take a look at,
<A HREF="http://www.cozx.com/~dpitts/gcc.html">David Pitts' GCC/EGCS Compiler Page</A>
    if you need GCC and GNU utils for OS/390 to bootstrap Linux from source.
</P>
-->
<H4><A NAME="2.09">2.09</A>
    Where can I find documentation?
</H4>
<P>
    The
<A HREF="hercload.html">Creating Hercules DASD</A>
    document describes various methods of creating and loading virtual
    DASD volumes.
</P>
<P>
    I've produced a document describing how to build an OS/360 system
    on Hercules, called "OS/360 on Hercules". It can be found at
</P>
<UL><LI>
<A HREF="http://www.conmicro.com/hercos360/">http://www.conmicro.com/hercos360/hercos360/</A>.
</LI></UL>
<P>
    This will build an MVT system without TCAM/TSO, but with two 3270
    consoles. You will need Malcolm Beattie's "Guide to Using 3270
    Consoles and Terminals for Hercules" with this MVT version.
</P>
<UL><LI>
<A HREF="http://www.clueful.co.uk/mbeattie/hercules/3270.html">http://www.clueful.co.uk/mbeattie/hercules/3270.html</A>
</LI></UL>
<P>
    The N.U.D.E guides can be found at :
</P>
<UL><LI>
    <a href="http://www.kiyoinc.com/hercdoc.html">http://www.kiyoinc.com/hercdoc.html</A>.
</LI></UL>
<P>
    IBM provides only current documentation, ...<br/>
    but many things haven't changed since 1964 :
</P>
<UL><LI>
<a href="http://www.s390.ibm.com/bookmgr-cgi/bookmgr.cmd/LIBRARY">IBM BookManager(r) BookServer Library</a>
</LI></UL>
<HR>
</P>
<H4><A NAME="3.01">3.01</A>
    What PC hardware do I need to run Hercules?
</H4>
<P>
    Classic IBM operating systems (OS/360, MVS 3.8, VM/370) are very light by
    today's standards and will run satisfactorily on a 300Mhz Pentium with as
    little as 32MB RAM.
</P>
<P>
    Anything more up-to-date, such as Linux/390 or OS/390, requires much more
    processing power. Hercules is CPU intensive, so you will want to use the
    fastest processor you can get. A 2GHz Pentium, preferably with hyperthreading,
    will probably provide acceptable performance for a light workload.
    If you can afford a multiprocessor system, so much the better. Hercules
    makes extensive use of multi-threading to overlap I/O with CPU activity,
    and to dispatch multiple emulated CPU's in parallel.
</P>
<P>
    For the latest 64-bit operating systems such as zLinux and z/OS, be aware
    that there is a performance penalty when Hercules emulates z/Architecture
    on a 32-bit processor such as the Pentium. If you are serious about running
    64-bit then you will probably want to build Hercules for a 64-bit processor
    such as Alpha (DEC/Compaq/HP), AMD64 (AMD Opteron, Athlon-64, Turion 64),
    IA64 (Intel Itanium 2), together with a 64-bit version of Linux,
    or PPC (Power Mac G5) with OS X.
</P>
<P>
    Hercules does not depend on the Pentium architecture. I've built and run
    it successfully on a 500 MHz Alpha 21164, and others have run it on SPARC
    and S/390 (!) Linux systems. One guy has even run OS/360 under Hercules
    under Linux/390 under Hercules under Linux/390 under VM/ESA!
    The prize for the world's smallest mainframe probably goes to Ivan Warren,
    who claims to have run VM/370 under Hercules on an iPAQ 5450 handheld PDA.
</P>
<P>
    You should provide enough RAM to accommodate your S/390 real storage
    (main storage plus expanded storage) in addition to the normal
    requirements of your PC's operating system.  For maximum throughput, you
    should set your main and expanded storage sizes high enough to eliminate
    S/390 paging. S/390 storage is allocated out of your PC's virtual storage.
</P>
<P>
    You also need enough hard disk space to accommodate the emulated DASD. A
    virtual "3330 model 1" disk drive will need about 100 megabytes of space
    for emulation (a 3330-11 will need about 200 megabytes). A 3380 "single
    density" model will need about 650MB, a 3390 model 2 needs about 2GB, and
    a 3390 model 3 needs about 3GB.
    If you use the
<a href="cckddasd.html">compressed CKD DASD feature</a>,
    these sizes will shrink dramatically, usually to about 20 to 30 percent
    of the original size.
</P>
<H4><A NAME="3.02">3.02</A>
    What sort of MIPS rate can I expect?
</H4>
<P>
    Thanks to the cumulative work of many individuals, including
    Valery Pogonchenko, Juergen Dobrinski, Albert Louw,
    Gabor Hoffer, Jan Jaeger, Paul Leisy, Clem Clarke,
    and Greg Smith,
    the performance of Hercules today is vastly better than it was
    5 years ago.
</P>
<P>
    Even on a Celeron 300 you should see an execution speed of 1 to 2 MIPS,
    which is enough to run OS/360 (MFT or MVT) or MVS 3.8 with a response
    time better than that of a 3033 from the 1970's. It's also fast enough to
    run VSE/ESA with an acceptable response time. On a more recent system with
    a 2GHz Pentium processor, you may see the system peak at around 30 MIPS
    which is enough to run Linux/390 or z/OS with a light workload.
</P>
<P>
    Performance on server class machines is now fairly respectable.  For
    example, on a dual-core Intel Xeon with hyperthreading (4 CPUs) running
    at 3.46GHz, you might expect to see a sustained MIPS rate of 40 to 60
    MIPS. A dual-processor quad-core Mac Pro (8 cores, 3 GHz) will sustain
    over 150 MIPS.  For anyone who is prepared to spend a considerable
    amount of money on their Hercules system, there are reports that a
    sustained 300+ MIPS has been achieved on an Intel Core i7 processor
    running at 3.75GHz using all four cores plus hyperthreading (8 CPUs).
</P>
<P>
    Typical I/O rates of around 50 EXCP/second are reported on average
    hardware, with rates over 500/second achievable with hardware RAID.
</P>
<H4><A NAME="3.03">3.03</A>
    What PC software do I need to run Hercules?
</H4>
<P>
    The following software platforms are supported:
    <li>Linux (kernel 2.4 or later)
    <li>Windows 98, Windows NT, Windows 2000, or Windows XP
        with <a href="http://sources.redhat.com/cygwin">Cygwin</a>
    <li>Windows 98, Windows NT, Windows 2000, or Windows XP (without Cygwin)
    <li>Mac OS X 10.3 or later
    <li>Solaris 2.9 or later (Sparc or Intel)
    <li>FreeBSD
</P>
<P>
    You will also need tn3270 client software for the virtual 3270
    console.  The tn3270 client can run on the same machine as Hercules, or
    on any Unix or Windows box with a TCP/IP connection to the Hercules
    machine.
</P>
<P>
    The supported and recommended tn3270 clients for Hercules are:
<dl>
<dt>
<B>
    x3270 for Unix
</B>
<dd>
    x3270 is included with most Linux distributions, or you can
    download it from
<a HREF="http://x3270.bgp.nu/">http://x3270.bgp.nu/</A>
<dt>
<B>
    Vista tn3270 for Windows
</B>
<dd>
    Vista tn3270 can be obtained from
<a HREF="http://www.tombrennansoftware.com">www.tombrennansoftware.com</a>.
    The very modest license fee charged for this excellent 3270 emulator
    helps to support an independent software developer.
<dt>
<B>
    Brown University tn3270 for Macintosh
</B>
<dd>
    Brown University tn3270 is freely available. You can download it from <a
    href="http://www.brown.edu/Facilities/CIS/tn3270/">http://www.brown.edu/Facilities/CIS/tn3270/</a>.
    There is one setting that must be changed to use this program with some
    operating systems, especially MVS 3.8: Open a connection to Hercules,
    but before IPLing the system, go to the Session->Features menu and set
    "Change embedded nulls to blanks" to "No". Click on "OK". Now, click on
    File->Save default settings... to make the setting permanent.
</dl>
<P>
    Other tn3270 clients, such as QWS3270, IBM Personal Communications,
    Attachmate Extra, or Dynacomm Elite should also work in most cases, but
    be aware that some tn3270 clients have bugs which make them unusable
    as OS/360 or MVS consoles.
</P>
<H4><A NAME="3.04">3.04</A>
    What software do I need to build Hercules?
</H4>
<P>
    To build Hercules for Linux
    and other Unix-like environments (including Cygwin under Windows),
    you need to use the <a href="http://gcc.gnu.org">gcc</a> compiler,
    version 2.95, or
    version 3.x or above.
    <i>Note that gcc version 2.96 is not an official version and is not supported</i>.
    You will also need a full set of GNU development tools, including recent versions
    of autoconf, automake, libiconv, make, perl, sed, and m4.
    Refer to the util/cvslvlck file in the Hercules distribution for details.
    Note that you will also need a reasonably powerful machine (Pentium 1GHz+)
    with ample RAM (at least 256Mb) because the compilation process is extremely
    resource hungry.
</P>
<P>
    To build Hercules for the Windows native environment (without Cygwin),
    you need to use the Microsoft C/C++ compiler (MSVC)
    version 13.x or later.
    This compiler is available for download from Microsoft as
    Visual C++ Toolkit 2003 (Version 13.x) or
    Microsoft Visual C++ 2005 Express (Version 14.x).
    You also need the current version of the Microsoft Platform SDK, which is also
    available for download from Microsoft.
    For further information, see Fish's MSVC Hercules Build page at
    <a href="http://www.softdevlabs.com/Hercules/hercules-msvc-build.html">
    http://www.softdevlabs.com/Hercules/hercules-msvc-build.html</a>
    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.
</P>
<H4><A NAME="3.05">3.05</A>
    Why do I get an unexpected fixed-point divide exception (program check
    0009 or abend 0C9) on a CVB instruction?
</H4>
<P>
    You are using an old gcc compiler.
    See previous question for the required compiler level.
</P>
<H4><A NAME="3.06">3.06</A>
    Can Hercules be ported to run on other platforms?
</H4>
<P>
    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.
</P>
<P>
    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.
</P>
<P>
    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.
</P>
<P>
<HR>
</P>
<H4><A NAME="4.01">4.01</A>
    How can I create a virtual DASD volume?
</H4>
<P>
    The
<A HREF="hercload.html">
    Creating Hercules DASD
</A>
    document describes
    various methods of creating and loading virtual DASD volumes.
</P>
<H4><A NAME="4.02">4.02</A>
    Can I read a tape which was created on a mainframe?
</H4>
<P>
    Yes, indirectly. The mainframe tape must be converted to AWSTAPE format
    and then downloaded to your PC. The
<B><I>tapeconv.jcl</I></B>
    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
<EM>binary</EM>
    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.
</P>
<P>
<EM>
    Note: the "tapeconv" program will not correctly process input tapes
    whose block size exceeds 32760!
</EM>
    One symptom of this may be the message "
<CODE>ADRY011E I/O ERROR - DEVICE NOT ATTACHED.0000,NA,00...00,0000"</CODE>
    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.
</P>
<H4><A NAME="4.03">4.03</A>
    Can I attach a PC tape drive to Hercules?
</H4>
<P>
    Yes. Hercules can read and write tapes on SCSI drives. I have tested this
    with 4mm DAT, QIC-1000, and 9-track drives.
</P>
<H4><A NAME="4.04">4.04</A>
    Can I process mainframe tapes with Hercules?
</H4>
<P>
    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.
</P>
<H4><A NAME="4.05">4.05</A>
    Can I create Assembler programs without a mainframe?
</H4>
<P>
    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:
</P>
<DL>
<DT>
    The "Tachyon 390 Cross Assembler" (
<A HREF="http://www.tachyonsoft.com/tachyon">http://www.tachyonsoft.com/tachyon</A>
    )
</DT>
<DD>
    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.
</DD>
<DT>
    The "Dignus Systems/C Compiler" (
<A HREF="http://www.dignus.com/">http://www.dignus.com</A>
    )
</DT>
<DD>
    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.
</DD>
</DL>
<P>
    Sam Golob wrote a fascinating review of these two products in the
    September 1999 issue of <A HREF="http://www.naspa.com">NaSPA</a>
    Technical Support magazine.
</P>
<P>
<HR>
</P>
<H4><A NAME="5.01">5.01</A>
    What architectural features are implemented?
</H4>
<P>The following standard features of ESA/390 have been implemented: </P>
<UL>
<LI>Address-Limit Checking </LI>
<LI>Commercial Instruction Set </LI>
<LI>Decimal Instructions </LI>
<LI>Hexadecimal Floating-Point Instructions </LI>
<LI>24-bit and 31-bit addressing </LI>
<LI>Key-Controlled Protection </LI>
<LI>Page Protection </LI>
<LI>Low-Address Protection </LI>
<LI>Dynamic Address Translation </LI>
<LI>370-XA Channel Subsystem </LI>
<LI>Channel Indirect Data Addressing </LI>
<LI>Program Controlled Interruption (PCI) </LI>
<LI>Channel Program Suspend/Resume </LI>
<LI>Dual Address Space </LI>
<LI>Access Register Mode </LI>
<LI>Home Space Mode </LI>
<LI>Branch and Save </LI>
<LI>Conditional Swapping </LI>
<LI>TOD Clock, Clock Comparator, and CPU Timer </LI>
<LI>MVCS/MVCP/MVCK/MVCSK/MVCDK instructions </LI>
<LI>TB/TPROT instructions </LI>
<LI>LURA/STURA instructions </LI>
<LI>BAKR/PC/PR/PT instructions </LI>
<LI>Linkage Stack </LI>
<LI>Compare and Form Codeword and Update Tree instructions </LI>
</UL>

<P>The following optional features of ESA/390 have been implemented: </P>

<UL>
<LI>Access-List-Controlled Protection </LI>
<LI>Binary Floating-Point instructions </LI>
<LI>Branch and Set Authority </LI>
<LI>Broadcasted Purging </LI>
<LI>Checksum instruction </LI>
<LI>Compare and Move Extended instructions </LI>
<LI>Dynamic Reconfiguration </LI>
<LI>Expanded Storage </LI>
<LI>Fast Synchronous Data Mover Facility</LI>
<LI>Floating-Point-Support Extensions </LI>
<LI>Halfword-Immediate instructions </LI>
<LI>Branch-Relative instructions </LI>
<LI>Incorrect-Length-Indication Suppression </LI>
<li>Interpretive Execution (SIE) </li>
<LI>Move Inverse </LI>
<LI>Move Page (Facility 2) </LI>
<LI>MVS assists </LI>
<LI>Operational Extensions: Console Integration </LI>
<LI>Private Space </LI>
<LI>Set Address Space Control Fast </LI>
<li>Service-call-logical-processor (SCLP) facility </li>
<li>Square Root</li>
<LI>Storage-Protection Override </LI>
<li>Storage Key assist</li>
<LI>String instructions </LI>
<LI>Subspace Group </LI>
<LI>Compare Until Substring Equal </LI>
<LI>Concurrent Sense </LI>
<LI>Suppression on Protection with Virtual-Address enhancement </LI>
<LI>Extended TOD clock </LI>
<li>Compression</li>
<LI>Perform Locked Operation </LI>
<li>Vector Facility</li>
<li>Multiple Controlled Data Space (VM dataspaces) </li>
<LI>Extended Translation </LI>
<li>Extended Translation Facility 2</li>
<LI>Store System Information </LI>
<LI>Cancel I/O Facility</LI>
<li>Program Event Recording</li>
<li>Guest PER enhancement</li>
</UL>

<P>The following optional features of z/Architecture have been implemented: </P>

<UL>
<li>HFP Multiply-and-Add/Subtract Facility</li>
<li>Message Security Assist</li>
<li>Long-Displacement Facility</li>
<li>DAT-Enhancement Facility</li>
<li>Extended-Translation Facility 3</li>
<li>ASN-and-LX-Reuse Facility</li>
<li>List-Directed Initial Program Load</li>
<li>Modified CCW Indirect Data Addressing (MIDAW) Facility</li>
<li>Extended-Immediate Facility</li>
<li>Message-Security-Assist Extension 1</li>
<li>Message-Security-Assist Extension 2</li>
<li>DAT-Enhancement Facility 2</li>
<li>Store-Clock-Fast Facility</li>
<li>Store-Facility-List-Extended Facility</li>
<li>ETF2-Enhancement Facility</li>
<li>ETF3-Enhancement Facility</li>
<li>PER-3 Facility</li>
<li>TOD-Clock-Steering Facility</li>
<li>Conditional-Emergency-Signal and Sense-Running-Status Facility</li>
<li>Multiple Logical Channel Subsystems Facility</li>
<li>Floating-Point-Support Enhancement Facilities
(FPR-GR-Loading, FPS-Sign-Handling, and DFP-Rounding)</li>
<li>Decimal Floating Point Facility</li>
<li>IEEE-Exception-Simulation Facility</li>
<li>Extract-CPU-Time Facility</li>
<li>Conditional-SSKE Facility</li>
<li>Compare-and-Swap-and-Store Facility</li>
<li>Execute-Extensions Facility</li>
<li>General-Instructions-Extension Facility
<li>Move-with-Optional-Specifications Facility</li>
<li>Parsing-Enhancement Facility
<li>Compare-and-Swap-and-Store Facility 2
<li>Integrated 3270 (SYSG) Console
<li>Configuration-Topology Facility
<li>HFP-Unnormalized-Extensions Facility
</ul>

<P>The following optional features of z/Architecture have not yet been implemented:</P>
<ul>
<li>Enhanced-DAT Facility
<li>PFPO Facility
<li>Restore-Subchannel Facility
<li>Integrated ASCII (SYSA) Console
<li>Set-Program-Parameter Facility
<li>CPU-Measurement Counter Facility
<li>CPU-Measurement Sampling Facility
</ul>

<P>The following standard feature has not yet been implemented: </P>
<UL>
<LI>Clear I/O (full functionality for S/370) </LI></ul>
<P>The following optional features have been partially implemented: </P>
<UL>
<LI>Channel-Subsystem Call </LI>
<LI>VM/370 assists </LI>
</UL>
<P>The following features are not yet implemented, either due to lack
of documentation, limited host system capability, or lack of
supporting hardware: </P>
<UL>
<LI>Asynchronous Data Mover Facility </LI>
<LI>Asynchronous Pageout Facility </LI>
<LI>Coupling Links </LI>
<LI>ESCON </LI>
<LI>FICON </LI>
<LI>MIF (Multiple Image Facility) </LI>
<LI>Extended Sorting </LI>
<LI>External Time Reference (Sysplex Timer) </LI>
<LI>ICRF (Cryptography) </LI>
<LI>Operational Extensions: Automatic Reconfiguration, Storage
Reconfiguration, SCP-initiated Reset, Processor Availability </LI>
<LI>PR/SM </LI>
<LI>Program-Controlled re-IPL </LI>
</UL>
<p>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.</p>
<P>
<HR>
</P>
<H4><A NAME="6.01">6.01</A>
    Who are the Herculeans?
</H4>
<P>The following people are among those who have contributed to this
project, either as coders or as testers or both:</P>
<P></P>
<sl>
<li><A HREF="http://perso.wanadoo.fr/rbowler">Roger Bowler</A>
(original author)
<li><A HREF="http://www.conmicro.com/">Jay Maynard</A> (current
maintainer)
<li><A HREF="http://www.cbttape.org/~jjaeger">Jan Jaeger</A>
<li><A HREF="http://www.bsp-gmbh.com/hercules">Volker Bandke</A>
<li>David Barth
<li><A HREF="http://www.clueful.co.uk/mbeattie/">Malcolm Beattie</A>
<li>Mario Bezzi
<li>Mike Cairns
<li><a href="http://www.isoc.org.pl/user/3">Marcin Cieslak</a>
<li><a href="http://au.linkedin.com/in/clementclarke">Clem Clarke</a>
<li><a href="http://veejoe.com.au/vic/index.htm">Vic Cross</a>
<li><a href="http://www.mvsdasd.org/about.html">Jacob Dekel</a>
<li>Guy Desbiens
<li>Juergen Dobrinski
<li>Fritz Elfert
<li>Tomas Fott
<li>Martin Gasparovic
<li>Mark Gaubatz
<li>Steve Gay
<li>Peter Glanzmann
<li>Roland Goetschi
<li>Graham Goodwin
<li>Paul Gorlinsky
<li>Harold Grovesteen
<li>Glen Herrmannsfeldt
<li>Brandon Hill
<li>Gabor Hoffer
<li>Dan Horak
<li>Soren Jorvang
<li><a href="http://konynenberg.com/">Willem Konynenberg</a>
<li>John Kozak
<li>Nobumichi Kozawa
<li>Peter Kuschnerus
<li>Paul Leisy
<li>Kevin Leonard
<li>Albert Louw
<li>Peter Macdonald
<li>Tomas Masek
<li>Rick McKelvy
<li>John McKown
<li>Dave Morton
<li>Christophe Nillon
<li>Mike Noel
<li>Andy Norrie
<li><A HREF="http://www.sysun.com/museum">Dutch Owen</A>
<li><a href="http://www.lightlink.com/mhp/3705/">Max H. Parke</a>
<li>Reed H. Petty
<li>Jim Pierson
<li><a href="http://www.timpinkawa.net/hercules">Tim Pinkawa</a>
<li><A HREF="http://upi.iki.fi/">Pasi Pirhonen</A>
<li>Valery Pogonchenko
<li><a href="http://www.xing.com/profile/Wolfhard_Reimer">Wolfhard Reimer</a>
<li>Emerson Santos
<li><a href="http://blogs.sun.com/jsavit/">Jeff Savit</a>
<li><a href="http://de.linkedin.com/pub/axel-schwarzer/2/739/655">Axel Schwarzer</a>
<li>Paul Scott
<li>Daniel Seagraves
<li>Victor Shkamerda
<li><a href="http://www.linuxvm.org/community/gsmith.html">Greg Smith<a>
<li>Enrico Sorichetti
<li>John Summerfield
<li>Mark Szlaga
<li><a href="http://www.linuxvm.org/community/athornton.html">Adam Thornton</a>
<li>Adrian Trenkwalder
<li><A HREF="http://www.softdevlabs.com/Hercules/hercgui-index.html">"Fish" (David B. Trout)</A>
<li>Ronen Tzur
<li>Bernard van der Helm
<li>Ard van der Leeuw
<li>Kris Van Hees
<li>Kees Verruijt
<li><A HREF="http://www.ivansoftware.com/">Ivan Warren</A>
<li>Rod Zazubek
<li>Bjoern A. Zeeb
<li><a href="http://en.wikipedia.org/wiki/Matt_Zimmerman_(technologist)">Matt Zimmerman</a>
</sl></p>
<P>And thanks for support and encouragement from:</P>
<P></P>
<sl>
<li>Tim Alpaerts
<li>Bertus Bekker
<li>Giorgio de Nunzio
<li>Rick Fochtman
<li>Alex Friis
<li>Sam Golob
<li><a href="http://home.arcor.de/achim.haag//haagjobe.htm">Achim Haag</a>
<li><a href="http://cy2kr.tacticom.com/AdvisoryCouncil.html">Cory Hamasaki</a>
<li>Tony Harminc
<li><a href="http://www.linuxvm.org/community/rhigson.html">Richard Higson</a>
<li>Jim Keohane
<li>Sam Knutson
<li><a href="http://www.corestore.org/">Mike Ross</a>
<li>Daniel Rudin
<li><a href="http://www.linuxvm.org/community/rsmrcina.html">Rich Smrcina</a>
<li>Henk Stegeman
<li>Mark S. Waterbury
</sl></P>
<P>If anyone feels they have been unfairly omitted from either of these
lists, please let me (Jay Maynard) know.</P>
<P>
<HR>
</P>

<H4><A NAME="7.01">7.01</A>
    Where can I obtain technical support?
</H4>

<P>
Please see our <a href="hercsupp.html">Technical Support</a> web page.
</P>

<p><center><hr width=15% noshade>
<a href="index.html"><img src="images/back.gif" border=0 alt="back"></a>
</center>
<p class="lastupd">Last updated $Date: 2010-03-03 08:14:26 -0600 (Wed, 03 Mar 2010) $ $Revision: 5645 $</p>
</BODY>
</HTML>