| Inserting Patches |
|
Forum Index - SMW Hacking - General SMW Hacking Help - Tutorials - Inserting Patches |
|
Pages: 1  |
|
|
|
| Posted on 2011-01-23 09:58:10 PM |
Link | Quote |
|
*This is all done using a clean rom and is what I think is recommended
Tools you'll need:
1. Lunar Magic v1.82
2. Slogger http://www.smwcentral.net/download.php?id=239&type=tools
3. BTSD 0.44 http://www.smwcentral.net/download.php?id=304&type=tools
^ Contains XKas and Block Tool Super Deluxe
4. Command Prompt (CMD.exe)
5. The patch I'll be applying Three-Digit Coin Counter
http://www.smwcentral.net/download.php?id=307&type=patches
Steps:
1) Open your rom with Lunar Magic and go
File > Expand ROM > Expand Rom to 4MB (2mb & 3mb will also work)
2. Extract BTSD 0.44 & Slogger into one folder.
3. Locate Command Prompt (CMD.exe) by searching your computer for CMD.exe. Make a copy (not cut) and paste into the folder where you extracted BTSD 0.44 & Slogger to. Copy your ROM into that folder also and remember to always make backups before applying patches.
4. Click N' Drag your ROM over Slogger and unclick. A new text file will be made and be titled whatever your ROM was titled. Open the text file and this is what will be displayed:
Code
PC offset LoROM offset Size
0x088200 0x118000 0x8000
0x090200 0x128000 0x8000
0x098200 0x138000 0x8000
0x0A0200 0x148000 0x8000
0x0A8200 0x158000 0x8000
0x0B0200 0x168000 0x8000
0x0B8200 0x178000 0x8000
0x0C0200 0x188000 0x8000
0x0C8200 0x198000 0x8000
0x0D0200 0x1A8000 0x8000
0x0D8200 0x1B8000 0x8000
0x0E0200 0x1C8000 0x8000
0x0E8200 0x1D8000 0x8000
0x0F0200 0x1E8000 0x8000
-- The numbers in bold are your free spaces which will need to be written down and used later. You'll need to take off the "0x" and replace in with a $. So the first free space ( 0x118000 ) would look like $118000.
5. Now extract Three-Digit Coin Counter to that folder and locate the "coin_three.asm" file then open it with notepad.
6. Most patches will tell you where to put the free space number and this one calls for two. So take two of the free spaces from Slogger file and paste them over the current $XXXXXXX in there.
coin_three.asm example
Codeorg $8FD8
JML Check_One ; Jump to the new code.
NOP
; -------------------------------------------
org $398000; address to put code
; -------------------------------------------
db "STAR" ; Write RATS tag
dw Endcodeblock-Startcodeblock
dw Endcodeblock-Startcodeblock^#$FFFF
"org $398000; address to put code" is where you put your code. So replace "$398000" with your free space offset. So I'd make it look like this,
Code JML Check_One ; Jump to the new code.
NOP
; -------------------------------------------
org $118000; address to put code
; -------------------------------------------
db "STAR" ; Write RATS tag
dw Endcodeblock-Startcodeblock
dw Endcodeblock-Startcodeblock^#$FFFF
Now if you scroll down in "coin_three.asm" you'll see it call for another free space. So use your next one below it. In my case "0x128000" and remember to change it to "$128000." Don't forget to save.
7. Open your "CMD.exe" and type
CodeXkas.exe coin_three.asm ROM TITLE.smc
If no errors poped up chances are that it worked ;)
If appyling a different patch it would be,
CodeXkas.exe PATCH_TITLE.asm ROM_TITLE.smc
I hope this helps someone else. I'll update with a revised version + pictures soon.
Special Thanks to Ixtab from IRC
|
| Last edited on 2011-01-25 01:43:32 AM by Pachuco. |
|
| Posted on 2011-01-23 10:41:07 PM |
Link | Quote |
|
Three things that I noticed:
1. What was the purpose of downloading BTSD 0.44? I mean it has nothing to do with applying xkas patches.
2. You actually never mentioned anything about downloading xkas (or providing a link to it); however nothing overly major.
3. You could also use a .bat file as well. I mean I personally find it a lot easier to set up a bat file and executing it as opposed to using the command prompt. At the same time you can also use the @pause command to see if any errors come up or the amount of bytes in takes. Personal preference, but whatever.
Overall not bad, though rather blunt. I'd rather have a reason for doing certain actions or a guiding style of phrasing, as opposed to a do this and this sort of style. Again that's really only a matter of personal opinion.
Either way, nice job, and welcome to SMW Central.
|
|
| Posted on 2011-01-23 11:26:38 PM |
Link | Quote |
|
|
I might want to note that the normal xkas is a 50/50 thing. The 100% version is easily 0.08. I don't know why, but it works better.
|
|
| Posted on 2011-01-24 12:16:07 AM |
Link | Quote |
|
|
actually, 0.08 is a 50/50 thing, 6 is the surefire one.
|
|
| Posted on 2011-01-24 12:30:13 AM |
Link | Quote |
|
Does BTSD 0.44 not inculde Xkas? Thats where I remember getting it from. I'm new to the scene and just passing on knowledge
|
| Last edited on 2011-01-24 04:04:50 AM by Pachuco. |
|
| Posted on 2011-01-24 10:58:23 AM |
Link | Quote |
|
|
Most of us finds xkas here, but getting it from BTSD should work too.
|
|
| Posted on 2011-01-24 10:56:06 PM |
Link | Quote |
|
Finally we have a good tutorial for applying patches here. You might want to remove the brackets from the arguments on the command line though, it might confuse some users. Anyway, I will probably bookmark this page and link it in every thread I see where a user has trouble with xkas.
|
|
| Posted on 2011-07-18 11:28:04 PM |
Link | Quote |
|
For some reason when I go to put my rom over Slogger it says
"Cannot find a version of Runtime on this program"
It also does this with BTSD. What is going on here?
EDIT: Moving this to General Hacking Help.
|
| Last edited on 2011-07-18 11:51:43 PM by steeledminer. |
|
|
Pages: 1  |
|
|
|
|
Forum Index - SMW Hacking - General SMW Hacking Help - Tutorials - Inserting Patches |