Hercules Emulator Download

0 views
Skip to first unread message

Brinda

unread,
Aug 3, 2024, 5:19:40 PM8/3/24
to poimacuany

Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers. Development started in 1999 by Roger Bowler, a mainframe systems programmer.

Hercules runs under multiple parent operating systems including Linux, Microsoft Windows, FreeBSD, NetBSD, Solaris, and macOS and is released under the open source software license QPL.[3] It is analogous to Bochs and QEMU in that it emulates CPU instructions and select peripheral devices only. A vendor (or distributor) must still provide an operating system, and the user must install it. Hercules was the first mainframe emulator to incorporate 64-bit z/Architecture support.

The emulator is written almost entirely in C. Its developers ruled out using machine-specific assembly code to avoid problems with portability even though such code could significantly improve performance. There are two exceptions: Hercules uses hardware assists to provide inter-processor consistency when emulating multiple CPUs on SMP host systems, and Hercules uses assembler assists to convert between little-endian and big-endian data on platforms where the operating system provides such services and on x86/x86-64 processors.

Hercules is technically compatible with all IBM mainframe operating systems, even older versions which no longer run on newer mainframes. However, many mainframe operating systems require vendor licenses to run legally. Newer licensed operating systems, such as OS/390, z/OS, VSE/ESA, z/VSE, VM/ESA, z/VM, TPF/ESA, and z/TPF are technically compatible but cannot legally run on the Hercules emulator except in very limited circumstances[citation needed], and they must always be licensed from IBM. IBM's Coupling Facility control code, which enables Parallel Sysplex, and UTS also require licenses to run.

There is also a large community of current and former mainframe operators and programmers, as well as those with no prior experience, who use Hercules and the public domain IBM operating systems as a hobby and for learning purposes[citation needed]. Most of the skills acquired when exploring classic IBM mainframe operating system versions are still relevant when transitioning to licensed IBM machines running the latest versions[citation needed].

The open source nature of Hercules means that anyone can produce their own customized version of the emulator. For example, a group of developers independent of the Hercules project implemented a hybrid mainframe architecture which they dubbed "S/380"[6] using modifications to both Hercules and to freely available classic versions of MVS (and later VM and DOS/VS), enhancing the operating systems with some degree of 31-bit (and as of 2016, 64-bit) binary compatibility with later operating system versions (and as of 2018, 32-bit is also supported).

It is difficult to determine exactly how Hercules emulation performance corresponds to real mainframe hardware, but the performance characteristics are understandably quite different. This is partially due to the difficulty of comparing real mainframe hardware to other PCs and servers as well as the lack of concrete, controlled performance comparisons. Performance comparisons are likely legally impossible for licensed IBM operating systems, and those operating systems are quite different from other operating systems, such as Linux.

Hercules expresses its processing performance in MIPS. Due to the age of the earlier System/360 and System/370 hardware, it is a relatively safe assumption that Hercules will outperform them when running on moderately powerful hardware, despite the considerable overhead of emulating a computer architecture in software. However, newer, partially or fully configured System z machines outperform Hercules by a wide margin. A relatively fast dual processor X86 machine running Hercules is capable of sustaining about 50 to 60 MIPS for code that utilizes both processors in a realistic environment, with sustained rates rising to a reported 300 MIPS on leading-edge (early 2009) PC-class systems. Hercules can produce peaks of over 1200 MIPS when running in a tight loop, such as in a synthetic instruction benchmark or with other small, compute-intensive programs.

...We can run a reasonably sized load (800 MIPS with our standard package). If the machine in question is larger than that, we can scale to 1600 MIPS with our quad Nehalem based package, and we have been promised an 8 way Nehalem EX based machine early next year that should take us to the 3200 MIPS mark. Anything bigger than that is replicated by a collection of systems.[7]

Hercules generally outperforms IBM's PC based mainframes from the mid-1990s, which have an advertised peak performance of around 29 MIPS. Compared to the more powerful but still entry-level IBM Multiprise 2000 and 3000 mainframes (also from the 1990s), Hercules on typical x86 hardware would be considered a mid-range server in performance terms. For every mainframe after the 9672 Generation 1, Hercules would generally be the lowest end system. For comparison, 2010-era high-end IBM zEnterprise 196 systems can deliver over 52,000 MIPS per machine, and they have considerable I/O performance advantages.[citation needed] With the same number of emulated Sys Z processors, z/PDT is about 3 times faster than Hercules.[citation needed]

In 2009, Roger Bowler founded TurboHercules SAS, based in France, to commercialize the Hercules technology. In July 2009, TurboHercules SAS asked IBM to license z/OS to its customers for use on systems sold by TurboHercules. IBM declined the company's request.[8] In March 2010, TurboHercules SAS filed a complaint with European Commission regulators, alleging that IBM infringed EU antitrust rules through its alleged tying of mainframe hardware to its mainframe operating system, and the EC opened a preliminary investigation.[9] In November 2010, TurboHercules announced that it had received an investment from Microsoft Corporation.[10] In September 2011, EC regulators closed their investigation without action.[11]

For me, Hercules is have a really clean code, although use C language instead of C++, rAthena is more updated and closer to the officials and they are using C++ language, although I choose Hercules because Hercules still can use 2020++ C;lient with older Renewal Formulas, which I don't like Episode 17++ formulas with script only updated until episode 16.2 Terra Gloria. where the world in game and the formulas did not match, for me it was unbalanced.

Hercules has feature Bartershop work, which is not working at rAthena right now, maybe soon they will add it. In terms of modification, Hercules it's very easy as long you have C language basic.

Sorry for bumping an old thread.

I'm thinking to make a new private server. Pre, Mid rate 99/70, Trans class, All items are official RMS, Also supported new costumes/headgears if possible.
Which emulator should I choose in 2023? and why?

@jamesandreww I recommend hercules(or maybe im just biased). Reasons mentioned above still stand true today, though I disagree with rAthena having Advanced Modifications, you can do pretty much anything in C that C++ provides. But rAthena has larger community, so I guess that's one more advantage(or disadvantage) using rAthena emu.

I was wondering if you will share what your preferred emulator of choice is - I have the CCS and IAR tools - I tried using the SD XDS 200 with IAR for the 3137 HDK and had a lot of issues with it. It seemed to work OK under CCS 6.x. I also have the IAR JTAG i-Jet and and the JLink Lite - the Jet works great obviously under IAR; but it seems to work a *lot* better. I had a problem getting the IAR/Segger JLink Lite to work at all under IAR.

With the Hercules Lock-Step (dog chasing fox) architecture; are there issues with certain emulators that are a little older maybe? The Jet works so much better - and it is newer - so; just wanted to ask.

Do you need to set any special debug hooks or settings to make sure the emulator and debugger are stable with the development environment? (Other than the obvious settings.) Maybe an obvious question but wanted to ask.

HDK has a built-in emulator (xds100v2). There is special emulator settings for 3137 device. On HDK, the JTAG signals are routed to several headers: 60-pin MIPI header, RTP header, 20-pin ARM JTAG header, and CPLD for XDS100V2. If you get a connection problem, please try to low the JTAG speed.

Okay, but why not use some sort of content distribution network or cloud computing? For years, mainframes have been touted as the go-to for mission critical processing, with minimal downtime. While cloud computing is catching up in this regard, it can be argued that mainframes are still unrivaled when considering their efficiency and maintainability. One mainframe may be able to process a chunk of data more efficiently than thousands of linked machines in remote locations. Now, consider maintenance. Would you rather update one machine or thousands? And scalability? Many cloud providers supply controls to ramp up power when needed (such as during the holidays) or dial it back during more sleepy periods. Mainframes offer the same sort of control, and can easily scale up or down as needed without someone (or piece of software) needing to roll out or switch off a few hundred more servers.

Before we get into installing Hercules, an IBM mainframe emulator, you are going to need to find an image of z/OS. z/OS is the operating system of choice for modern IBM mainframes, but it is a little hard to get your hands on unless you actually have a full-scale system set up somewhere already. There are images of z/OS floating around the Internet that can be found, specifically version 1.10. I will not be sharing where these files can be found, and if you do find them, make sure you adhere to the software license while running z/OS.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages