Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2018-09-18 16:52:31

J92R
Member
Registered: 2018-09-07
Post 11/15

How does one interpret ASM to HEX?

So, since I don't have a computer and I still want to provide some hacks that actually are more than just text edits or pokemon edits, I have decided to work with hex editing. However, there are some unused ASM hacks I have come across that I would like to see recreated, even if it means a VERY SLOW process of hex editing.

So, with that said, can someone give me a generalization of ASM to HEX?

Like, more or less, how would you explain an ASM hack as a hex hack.


My apologies if this doesn't make sense, I just realize that these hacks will never happen otherwise and rather than asking people to do them and getting told "no", I would just try and do it myself.

Trust me, I am willing to take as much time needed studying hex editing, if it means I can reproduce or recreate something that does not yet exist in an actual hacked form.

Offline

#2 2018-09-18 16:54:33

J92R
Member
Registered: 2018-09-07
Post 12/15

Re: How does one interpret ASM to HEX?

Here are the ASM hacks I want, yet know nobody will do.

https://m.youtube.com/watch?v=ORMpQTmEsug
https://m.youtube.com/watch?v=d1ITYtmRFn8
https://m.youtube.com/watch?v=WkSd3IQR26s
https://m.youtube.com/watch?v=TGvkCzScsMg

So if anyone can explain these as HEX edits, I will make them happen.

Last edited by J92R (2018-09-18 16:55:10)

Offline

#3 2018-09-18 22:15:32

Miksy91
Member
Registered: 2010-10-16
Post 2,334/2,339

Re: How does one interpret ASM to HEX?

In the descriptions of two of these four videos, Crystal_ has actually written down, what you need to do in order to implement automatic wram corruption in the game yourself. He has most likely written those asm hacks with a tool specifically meant for GB/C asm code writing, but all asm hacks can be written with a hex editor too.

"ASM" coding is used for telling the CPU, what to do, and when. And the instructions (that are used for telling the CPU what to do), are in GB/C CPU always one byte long. And because hex editors are meant for editing binary code as bytes, it's fairly easy to use them for viewing and writing CPU instructions.

That was outside your question, but rather some background, why it is possible to write asm routines (or sequences of CPU instructions so that they together do something useful) with a hex editor. And like I mentioned in my first sentence, Crystal_ has written down the sets of the CPU instructions as byte code that you need to write in certain parts of the roms in order to allow automatic wram corruption when the game is running.

If you manage to find a tool that you can use to write asm code by having some kind of user interface, that could make your life easier. Or you would at least be able to understand, what kind of code you're writing, and perhaps later on as well, why writing this kind of code makes sense for this problem you're trying to solve. If a hex editor is the only choice of a tool available, you could however take a look at GB/C CPU instruction sheet, and see, what kind of CPU instructions you're writing when you're writing some byte code:
http://www.pastraiser.com/cpu/gameboy/g … codes.html

Understanding the sheet requires some background knowledge about the registers, and about what the instructions do though.

Last edited by Miksy91 (2018-09-18 22:22:42)

Offline

#4 2018-09-18 23:41:29

J92R
Member
Registered: 2018-09-07
Post 13/15

Re: How does one interpret ASM to HEX?

I actually managed to hex hack Pokemon Blue as intended.

Now I just need more hex codes to mess with. Such as a randomizer code or something.

Offline

#5 2018-09-21 21:31:51

Miksy91
Member
Registered: 2010-10-16
Post 2,335/2,339

Re: How does one interpret ASM to HEX?

Are there even any hacks out there that provide in-game randomizing? If I understand correctly, randomized hacks are implemented via outside tools that is used to re-write game's rom data. There is no way to do such thing when the game is run.

What you however can do is to re-write some parts of ram in such way that it works as data for the randomizer. Or, you could for example re-write the asm code used for loading pokemon data for trainers in such way that the trainers' pokemon data consisted only of levels of the pokemon, and the species would be randomly decided when the battle is started. Those are just some options though, and it's no way trivial to accomplish such things. Editing pokecrystal, these would be somewhat feasibly done though.

But good job getting what you intended to get to work on Pokemon Blue!

Last edited by Miksy91 (2018-09-21 21:35:09)

Offline

Board footer

Powered by FluxBB