English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.Other (https://eab.abime.net/forumdisplay.php?f=74)
-   -   Learning how to hack Amiga games. (https://eab.abime.net/showthread.php?t=99545)

Shatterhand 06 November 2019 20:35

Learning how to hack Amiga games.
 
Let's say I'd like start trying to hack Amiga games on ADF format... simple stuff, like maybe changing the palette or trying to add 2nd button support for games that use the keyboard for that....

Where should I start look to learn this kind of stuff? And what kind of tools I'd need?

BippyM 06 November 2019 20:40

Depends specifically what you want..

Action replay or winuae debugger is a good start

Shatterhand 06 November 2019 21:09

I've never even touched Winuae debugger, but it does sound like a good start.

BippyM 06 November 2019 21:15

The debugger isn't the easiest to use. I'd start messing with a replay and find palette info, mess with sprites etc.

Wouldbe nice if there was a decent guide for the winuae debugger

jotd 06 November 2019 21:33

then once you figured out what to change most of the time you have to add code to change it, because data & code is often packed and unpacked by the game only when needed.

Or unpack, change, repack, insert into adf image, and hope the packed size doesn't increase...

malko 06 November 2019 22:30

Quote:

Originally Posted by bippym (Post 1357187)
[...] wouldbe nice if there was a decent guide for the winuae debugger

+1

BippyM 06 November 2019 22:32

Quote:

Originally Posted by jotd (Post 1357193)
then once you figured out what to change most of the time you have to add code to change it, because data & code is often packed and unpacked by the game only when needed.

Or unpack, change, repack, insert into adf image, and hope the packed size doesn't increase...

Indeed, but one step at a time.. Learnt how Amiga works internally

jotd 06 November 2019 22:55

A collaboration is also possible: you figure out what to change and we integrate that in whdload slaves for instance.

Earok does a lot of (excellent) game hacking but doesn't want to update whdload slaves. In that case, he just sends me his code with the addresses & where to patch and I integrate it (Ruff'n'tumble joypad support for instance).

You can start by trying to add trainers. This is the easiest thing to do I can think off. Levelskips are very useful, but a little trickier.

BippyM 06 November 2019 23:00

Quote:

Originally Posted by jotd (Post 1357211)
A collaboration is also possible: you figure out what to change and we integrate that in whdload slaves for instance.

Earok does a lot of (excellent) game hacking but doesn't want to update whdload slaves. In that case, he just sends me his code with the addresses & where to patch and I integrate it (Ruff'n'tumble joypad support for instance).

You can start by trying to add trainers. This is the easiest thing to do I can think off. Levelskips are very useful, but a little trickier.

I remember figuring out rainbow islands many years ago.. 4 rainbows anyone lol

meynaf 07 November 2019 09:20

IMO the easiest way could be to re-source some system friendly game.
Then inserting/deleting code becomes a lot easier (and perhaps debugging as well).

Sim085 11 November 2019 10:05

Do you mean like using tools like re-source?

Also what would you qualify as "system friendly"? For example would a game that runs from workbench be classified as so?



Quote:

Originally Posted by meynaf (Post 1357275)
IMO the easiest way could be to re-source some system friendly game.
Then inserting/deleting code becomes a lot easier (and perhaps debugging as well).


malko 11 November 2019 10:18

Quote:

Originally Posted by Sim085 (Post 1358102)
[...] Also what would you qualify as "system friendly"? For example would a game that runs from workbench be classified as so?

I would think so. Like Lucas or Sierra's adventure games.

Meynaf would better know but I think some games that are executable from WB (thus HD), WHDLoad games excepted, are not so system friendly and they, kind of "save" the system state before restoring it upon quitting. Am I correct ?

meynaf 11 November 2019 14:23

Quote:

Originally Posted by Sim085 (Post 1358102)
Do you mean like using tools like re-source?

Yes.


Quote:

Originally Posted by Sim085 (Post 1358102)
Also what would you qualify as "system friendly"? For example would a game that runs from workbench be classified as so?

System friendly means it runs without destroying the OS, and actually uses it. In the ideal case, a game that can even multitask, which means you can use any amiga tool while the game is running.


Quote:

Originally Posted by malko (Post 1358107)
I would think so. Like Lucas or Sierra's adventure games.

Meynaf would better know but I think some games that are executable from WB (thus HD), WHDLoad games excepted, are not so system friendly and they, kind of "save" the system state before restoring it upon quitting. Am I correct ?

Mere fact of being able to execute from WB does indeed not mean system friendly. Note that whdload games are not really to be considered system friendly because whdload actually saves the system state and restores it upon quitting.

ross 11 November 2019 15:05

What wrote meynaf is right, but it's not always true for everyone.
That it is simpler to hack a system friendly game is subjective.
I prefer those who take over the system, I can better keep the situation under control ;).
Undoubtedly, you need to have a thorough knowledge of the hardware and debug tools are much less 'friendly'.

meynaf 11 November 2019 15:20

Quote:

Originally Posted by ross (Post 1358178)
What wrote meynaf is right, but it's not always true for everyone.
That it is simpler to hack a system friendly game is subjective.
I prefer those who take over the system, I can better keep the situation under control ;).
Undoubtedly, you need to have a thorough knowledge of the hardware and debug tools are much less 'friendly'.

If you use the emulator's debugger rather than an amiga one (i don't), then the situation becomes different.

But anyway that depends how much the game is "unfriendly" and how far you push "hacking". If it uses absolute addressing and you want to act at source level, believe me, it's not easy to insert/delete code.

jotd 11 November 2019 16:19

One thing I did: I disassembled an executable (Battle Chess), figured out data (text) mistaken as source. Once all those fake sources were converted into data, I could reassemble/add/remove stuff.

This is the easiest (sometimes there are even symbols left in the executable :)). If you need to hack NDOS games, the best is to improve existing whdload installs, as whdload slaves are designed to patch games easily.

There are a lot of slaves with enhancement requests, check whdload mantis for this.


All times are GMT +2. The time now is 01:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.04702 seconds with 10 queries