Jump to content

Need help hacking Return of Heracles


Recommended Posts

So the Return of Heracles is a game that is mostly joystick driven except for one part of the game where you are stopped by the Sphinx for the "riddle of the ages" which is:


"What walks on four legs in the morning, two in the afternoon, and three legs in the evening?"


To which you type on the keyboard "man".


Currently trying to get this game working on a system without a keyboard so typing that would be a stopping point in the game. Is there any way to hack a way past that?


Return of Heracles attached below if someone would like to take a crack at it.





Been playing with prototype emulators, one if the Atari 2600 emulator for the Atari Jaguar, and using what I learned there, I am thinking of trying the same trick on the Atari 800 emulator for the Nuon.


  • Like 1
Link to comment
Share on other sites

Find attached two blind guesses and let us know.


I searched for code which accesses probably correct answers and found it at runtime in RAM:


99E8: 03 4D 41 4E 03 4D 45 4E 04 48 4F 4D 4F 05 57 4F |.MAN.MEN.HOMO.WO|
99F8: 4D 41 4E 05 57 4F 4D 45 4E 05 48 55 4D 41 4E 06 |MAN.WOMEN.HUMAN.|
9A08: 50 45 4F 50 4C 45 06 50 45 52 53 4F 4E 06 48 55 |PEOPLE.PERSON.HU|
9A18: 4D 41 4E 53 07 4D 41 4E 4B 49 4E 44 07 50 45 52 |MANS.MANKIND.PER|
9A28: 53 4F 4E 53 08 48 55 4D 41 4E 49 54 59 09 48 55 |SONS.HUMANITY.HU|
9A38: 4D 41 4E 4B 49 4E 44 FF A9 30 20 1D 19 A9 04 20 |MANKIND..0 .... |


A search for code that acceses this are I found this which looks like a string compare for input data located at $99A3:


99B3: A9 E8 LDA #$E8
99B5: 85 BA STA $BA
99B7: A9 99 LDA #$99
99B9: 85 BB STA $BB
99BB: AD A3 99 LDA $99A3
99BE: A0 00 LDY #$00
99C0: D1 BA CMP ($BA),Y
99C2: B0 03 BCS $99C7
99C4: A9 00 LDA #$00
99C6: 60 RTS
99C7: D0 0E BNE $99D7
99C9: A8 TAY
99CA: B9 A3 99 LDA $99A3,Y
99CD: D1 BA CMP ($BA),Y
99CF: D0 06 BNE $99D7
99D1: 88 DEY
99D2: D0 F6 BNE $99CA
99D4: A9 01 LDA #$01
99D6: 60 RTS


My guess is that the RTS with LDA #$01 is the correct one.


This code is called from here:


98D7: 20 72 18 JSR $1872
98DA: 20 13 99 JSR $9913
98DD: 20 B3 99 JSR $99B3
98E0: D0 07 BNE $98E9


v1 patches $98DA to JMP $98E9

v2 patches $98DD to JMP $98E9

Return of Heracles (The)-v1.atr

Return of Heracles (The)-v2.atr

Link to comment
Share on other sites

So far things are still panning out. Things have to be challenging or you don't have a good story right? :P



Didn't load this, might still. This was the original Return of Herc before the modifications above.




Loaded but gargled. Maybe burned too quickly (have to made CD-Rs every time you try).


Cleaned it up a bit, burned slower...



And got a black screen after the initial warning screen you get on the fanmade stuff.


So just letting you know the hack above was appreciated and playing with this currently on the Nuon.

  • Like 2
Link to comment
Share on other sites

Cool Clu - it's been a very long time since I saw "nuon.cd" :)


I've been hoping to get something new for the Nuon library. To me it really was the "Jaguar 2."


I think turn based games make good choices for the Nuon emulator which seems to run at about... 35% true speed. :P


So game that work well with 35% speed and no sound? Oh, and no keyboard interaction aside from start, option, and select.


Would love to hear some suggestions, maybe I can try those out.

Link to comment
Share on other sites



So mostly good news.


The scrambled screen was Return of Heracles with Basic engaged. So I managed to turn off basic and got things to display right. It's tricky getting that to happen. You have to hold down C (the button next to B key) and hit left on the D pad immediately after hitting A at the intro screen. My advice is to hold down that combination all throughout the load.


While start, option and select are working, there is next to no feedback from the joystick. So you get to the screen to add a hero, and then no joystick controls.


So here we have the game:



And I made a version with the basic cartridge zeroed out. It crashes if it tries to use basic, but at least the load will fail without having you go through the load needlessly.

nuon-Herc no-bas.zip


And for now I am out of ideas. :P



Link to comment
Share on other sites

Ok, after sleeping on it and if some of you are up for a challenge I thought about this:


In emulation, and it was an incomplete conversion of Atari 800 version 1.7.0 and as such, maybe there is a timing call hanging up the controls?


In Return of Heracles there was a slight pause for messages. Also this pause could be adjusted for speed from slow to lightning fast. So this ability or pause might be something that the controller is not recovering from?


The points the controller freezes have been:


-The introductions.

-If you hold down option during the entire load process you will get to the setup screen, which you then hit start and it says to "use Joystick 1 to select hero". It times out and gives you the option to "add Ascepius" or "add someone else" and you loose controls at this point.


So if there is a message pause, maybe waiting for input from a controller, that would be interesting.


Of course I realize that if you simply deleted this pause the game would fly by without input from the player and crash in new spectacular ways. :/ Hmmm...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...