VOGONS


Golden Axe in Hercules mode

Topic actions

First post, by subjugator

User metadata
Rank Newbie
Rank
Newbie

Hey guys!

I was just wondering if Golden Axe for PC actually works with Hercules Graphics Card. I know there is an option for it in the adapter select screen (Option 3) for it but I have been trying to launch it in this mode since DosBox started support for Hercules and all I am getting is a garbled screen.

So I started wondering if the game would even work in Hercules mode on an actual PC with HGC ?

If anybody has ever tried this successfully - would love to hear from you to satisfy my curiosity!

Thanks,
Mike

Reply 3 of 22, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

In DOSBox 0.72, 0.73, and 0.74 with machine=hercules the game hangs at a blank screen after selecting hercules graphics (option 3) at startup. There is a subroutine that appears to have the function of waiting for vertical retrace (bit 3 of port 0x3da), and that's where it is hanging after having changed to hercules graphics mode. Calling the subroutine with hercules graphics seems odd, because docs I looked at indicate that 0x3da bits 1-7 are "unknown" for MDA/HGC, and that retrace is applicable to color video hardware; but maybe there is some undocumented behavior. I tried changing the subroutine to just return immediately and the game then appears to be otherwise working OK with hercules graphics. However, at no point did I see any "garbled" screens or graphics like the thread creator reports.

Reply 4 of 22, by subjugator

User metadata
Rank Newbie
Rank
Newbie

Thanks a lot for the reply and detailed analysis. I observe the behavior you described - just hanging on the mode select screen - if I select Hercules from any other machine type (e.g. machine=ega).I am including the screenshot of the garbled screen I was referring to when machine=hercules.

Would you mind giving me the name of the function you have altered to return immediately I will attempt to do the same and recompile DosBox to see if changes anything.

Attachments

  • axe_000.png
    Filename
    axe_000.png
    File size
    11.17 KiB
    Views
    4329 views
    File comment
    Garbled screen in Golden Axe Hercules mode.
    File license
    Fair use/fair dealing exception

Reply 5 of 22, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I only tried running the game using its hercules mode with machine=hercules, any other combo is not sensible for testing hercules graphics. If you get garbled graphics with both game and DOSBox configured for hercules, you must have a different version of the game.

The subroutine I referred to is in the game code, not in DOSBox.

Attachments

  • axe_000.png
    Filename
    axe_000.png
    File size
    5.56 KiB
    Views
    4306 views
    File license
    Fair use/fair dealing exception
Last edited by ripsaw8080 on 2010-06-04, 13:38. Edited 1 time in total.

Reply 8 of 22, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

On real hardware with Hercules it gets stuck as well. And of course it works if there is a VGA card along with the Hercules in the system, so that's probably why they didn't catch the bug.

1+1=10

Reply 9 of 22, by subjugator

User metadata
Rank Newbie
Rank
Newbie

OK, I found the function at offset 0x800C in axe.dat and changed push ax to retn. Had to unlzexe the axe.dat file first. Voila - it works !

The garbled screen that I mentioned before still appears for a few moments and then the actual game starts. Thanks so much for pointing me in the right direction, Hercules support for Golden Axe bothered me for years !

Attachments

  • axe_001.png
    Filename
    axe_001.png
    File size
    10.48 KiB
    Views
    4199 views
    File comment
    Golden Axe in Hercules mode
    File license
    Fair use/fair dealing exception

Reply 10 of 22, by coper

User metadata
Rank Newbie
Rank
Newbie

Hello Subjugator, really cool you have fixed that GA hercules bug! Sincerely i tried to do the same following your instructions but i couldn´t. 🙁
Please, can you post to us your Axe.dat file fixed, or the entire game? It´s a very important patch!
best regards!

Reply 11 of 22, by 001

User metadata
Rank Newbie
Rank
Newbie

I just fixed another bug in that game, using this guide:
http://www.reteam.org/papers/e76.pdf

There is a bug when you get into Duel mode.
You can't get pass the 13th fight or so, because the game keeps asking for disk 2 over and over again.

I've always wondered if there was a problem with my copy, but it turns out the game was bugged. Fortunately, someone else fixed that 😀

Attachments

  • axe_005.png
    Filename
    axe_005.png
    File size
    3.2 KiB
    Views
    3024 views
    File license
    Fair use/fair dealing exception

Reply 14 of 22, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Use your favourite asm reference (intel or amd instruction manual, sandpile.org etc.) and check the opcode encodings for push ax (0x50) and ret (0xc3).

Then check at the mentioned offset of the file, if you find push ax replace it with ret and see if that works the same for you as for him.

Reply 15 of 22, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Use your favourite asm reference (intel or amd instruction manual, sandpile.org etc.) and check the opcode encodings for push ax (0x50) and ret (0xc3).

Then check at the mentioned offset of the file, if you find push ax replace it with ret and see if that works the same for you as for him.

That works. Here is the fix for the Hercules and The Duel issues. Manual check has been bypassed.

Attachments

  • Filename
    goldenaxe_bugfixes.zip
    File size
    35.69 KiB
    Downloads
    350 downloads
    File license
    Fair use/fair dealing exception
Last edited by Great Hierophant on 2012-02-14, 19:05. Edited 1 time in total.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog