Hercules Windows GUI Interface

"Frequently Asked Questions"

  1. "I can't read the text buttons on the buttons! Why is the font so tiny? Can't you make it bigger so I can read it?"

    I wish I could, but no, I can't.   :(

    The buttons are bitmaps and the text that you can [barely] see on them is part of the bitmap itself, and bitmap fonts don't scale too well I'm afraid.

    I tried using a larger font for the text on the buttons, but the result was that all of the text wouldn't fit on the button. When I tried making the buttons larger to accomodate the text in the larger font, the buttons ended up being far too large and wouldn't fit comfortably on the control panel.

    I even tried making the buttons without any text at all and then programmatically displaying text over top of the buttons in a slighly larger TrueType font, but as before, the text ended up being bigger than the buttons themselves.

    I wanted the buttons to look as close as possible to what the actual buttons on the front panel of a real IBM mainframe look like, and on a real mainframe, the buttons look pretty much just like what you see (although the buttons on a real mainframe are quite a bit larger than the buttons you see on your screen, but then again, a mainframe front panel is also quite a bit larger than the screen on a personal computer!).

    I would like to invite others to please take a stab at designing realistic buttons with text that you can read, because, as I said, quite frankly, I've given up trying myself. (I'm a programmer and not a graphics design artist, damn it! :)

    Note however that in an attempt to help address this issue, all the buttons do have tooltips associated with them so when you move your mouse over the button, a tooltip should be displayed identifying what that button is for.

  2. "I can't seem to get Hercules to start! Whenever I press the Power On button (or select Power On from the menu), I get a dialog box that says "CreateProcess() failed". What's going on?"

    This issue appears to have only occured on Windows ME systems and was the result a bug in my GUI that didn't properly handle blanks in the pathname leading to Hercules executables. This has since been corrected in the latest release.

    Another reason that the "Create Process() failed" dialog can appear is that the system can't find the required CygWin dlls. You must have the CygWin dlls installed on your system and they need to be somewhere where the system can find them. (Most people find it convenient to keep them in the same directory as the Hercules executables themselves.)

    To determine exactly which .dll is missing or can't be found (or otherwise obtain a bit more information as to what exactly Windows is complaining about), try executing Hercules in non-GUI mode. To do this, simply double-click on the 'hercules.exe' file directly. (I.e. don't run Herc through the gui; run it from a command prompt (MS-DOS Prompt) console window instead). When you do this, Windows should then display an error dialog providing the specifics regarding what .dll is missing, etc.

    Finally, when all else fails, double check your configured Executable Files directory preference. Select "Preferences" from the File menu and make sure the directory specified for the 'Executable Files' entry is correct. Some people have found they accidentally changed this value somehow, and if it's not correct (i.e. if it's pointing to the wrong directory), then Windows will obviously not be able to find the Hercules executable whenever the GUI tells it to look for it there, leading to a CreateProcess failure.

  3. "When I press the Power On button, Hercules seems to try to start up, but I get a bunch of strange messages on my console and no devices are appearing in my Device List."

    If you see messages similar to the following appear on your console after pressing Power On ...

    		FFF9E6EF MAINSTOR= command invalid. Enter ? for help.
    		FFF9E6EF LIST=0
    		FFF9E6EF LIST=0 command invalid. Enter ? for help.
    		FFF9E6EF EGS=1
    		FFF9E6EF EGS=1 command invalid. Enter ? for help.
    		FFF9E6EF GS=1
    		FFF9E6EF GS=1 command invalid. Enter ? for help.
    		FFF9E6EF ] AREGS=0
    		FFF9E6EF ] AREGS=0 command invalid. Enter ? for help.
    		FFF9E6EF ] FREGS=0
    		FFF9E6EF ] FREGS=0 command invalid. Enter ? for help.

    ... then you're trying to use a non-GUI compatible version of Hercules with my GUI. Older versions of the emulator didn't have external GUI support by default and needed to be specially compiled. You're probably using an older version of the emulator.

    You need to use an "External GUI Compatible" version of Hercules along with my GUI in order for things to work right. Note that all Win32 versions of the Hercules emulator beginning with version 2.12 are external GUI compatible by default.

    To correct this problem, simply download and install the current version (2.12 or greater) of the Hercules emulator. These versions of Hercules all have external GUI support built into them by default.

  4. "Do you plan on porting your GUI to other platforms? (e.g. Linux, etc)"

    Not at this time, no.

    Malcolm Beattie tells me, however, that it appears to work just fine under wine on Linux. (you don't even need any of the MFC or CygWin dlls either; just enter "wine HercGUI.exe" and away it goes!)

    There is, of course, nothing stopping you (or anyone else for that matter) from porting it to another platform (except maybe the time and effort involved to do so). The complete source code is, afterall, available to anyone that wants it.

    As I mentioned on my download page, however, I wrote it in Microsoft Visual C++ and made extensive use of their Foundation Class Library (MFC) (which is licensed code), so if you are going to try to port it to another platform, you need to be aware that you're probably going to have to port (read: completely re-write yourself) the entire Foundation Class Library (which is a daunting task in and of itself and is the main reason why I don't plan on porting it to another platform myself any time soon.)   However... if you plan on porting it directly to Linux wine, I believe the wine folks have already completed that task for you. Please see the Wine HQ web page for more information.

  5. "HHC020I Cannot obtain xxx mb of main storage: Not enough memory"

    This appears to be a Cygwin issue related to a built-in limit on the maximum amount of memory that can be malloc'ed at one time and is controlled by the "heap_chunk_in_mb" registry value.

    To increase the value, you have to either add the "heap_chunk_in_mb" registry entry if it doesn't exist yet or increase its value if it does, as explained in the following Cgwin mailing list posts:


Report all problems to fish@infidels.org