Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in ROM Hacking. |
Acmlm's Board - I3 Archive - ROM Hacking - Mess up Morton and Roy's walls (SMW) | New poll | | |
Pages: 1 2 | Add to favorites | Next newer thread | Next older thread |
User | Post | ||
Smallhacker Super Koopa I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER |
| ||
Back when I was created "Sprite breeding", I tried entering random addresses as the second sprite, just for fun. My bro wanted to enter an address. He entered D364 and got a sprite which actually worked. Of course I was annoyed.
Just to see if it was a coincedence or some kind of fate thingie, I decided to test this "D364" crap again. I named a SMW ROM "D364.smc", jumped to 0xD364 in a hex editor and entered D3 64. Then I tested the ROM. I became even more annoyed at my bro. Appearently, 0xD364 is a part of the "Shrink room" routine used in the Roy battle. Setting it to D3 64 appearently causes the shrinking to go crazy. It makes both Roy (and Morton, since this works in his battle too) and Mario act strangely when the walls moves past each other. Screenshot: Have fun. *Kills my brother* |
|||
jp Red Paragoomba Since: 12-19-05 From: Uruguay Last post: 6635 days Last view: 6635 days |
| ||
Whaaat?? Is your brother even aware of what the odds are of entering a random word at that same address, and not only not freezing the game, but also making something useful happening? Thousands, maybe millions to 1... He must be a psychic... a SMW psychic at least... Why D364 anyway? BTW, ask him if he knows where the routine that makes the game start popup appear is... We've got to make good use of that talent! |
|||
Smallhacker Super Koopa I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER |
| ||
Originally posted by jp I've told him that so many times that he should have learned it by now... |
|||
spel werdz rite Since: 11-19-05 Last post: 6288 days Last view: 6287 days |
| ||
I was trying this out, it doesn't move as much if you stay on the right wall, but it closes in quickly on the left side.
Oh, and for jp, the odds of finding something like this is 1 in 2^1,048,576 Just to let you know, that's 314,573 digits long! EDIT: Smallhacker, what are the odds of you knowing what part of the game D3 64 would affect? EDIT2: fixed numbers (edited by spel werdz rite on 01-06-06 02:32 PM) |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6287 days Last view: 6287 days |
| ||
Well if it's a local address the odds are in 1 in 2^14 technically. But good find nonetheless. | |||
Smallhacker Super Koopa I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER |
| ||
Originally posted by spel werdz rite I looked at the offset list. D364 is in this area: 0D157 1 byte Misc. Ludwig jump right type modifier 0D158 1 byte Misc. Ludwig jump left type modifier 0D1CD 1 byte Misc. Ludwig, Morton, and Roy's HP 0D24F 1 byte Music Boss defeated music 0D646 Unknown Sprite tilemap related Sprite tilemap: Ludwig Fireball I assumed that it would be related to bosses, so I played the castle levels. |
|||
S.N.N. wtf Since: 11-17-05 From: Ontario, Canada Last post: 6293 days Last view: 6287 days |
| ||
That seems really cool. I nominate D364 for the hex address of the year
It looks like Mario and Roy/Morton get pushed OUTSIDE of the walls. Would it be possible to make the walls stop at a certain point, and instead of making the characters act crazy, actually kill Mario? That could be used to make a tough boss battle if it worked. Smallhacker's borhter is the new god around here |
|||
richyawyingtmv Bouncy Since: 11-18-05 From: England Last post: 6289 days Last view: 6287 days |
| ||
Originally posted by Smallhacker Just wait until your brother wins the nobel peace prize for that find |
|||
jp Red Paragoomba Since: 12-19-05 From: Uruguay Last post: 6635 days Last view: 6635 days |
| ||
Hehe... I wonder what calculation you guys made for the odds... Because conditions for success are incredibly complex, overwriting a byte at random in an assembled program could be changing anything from opcodes to pointers or processor flags, or a loop, or a routine that is executed every frame!
It's a dynamic system with thousands of variables, a calculation would have to take the whole system into consideration! That is, you would have to execute all the code up to that address, for every one of them! (absolutely impractical) And I'm curious about how you defined success (that is, "something useful") in your probability calculation? |
|||
spel werdz rite Since: 11-19-05 Last post: 6288 days Last view: 6287 days |
| ||
Calculation:
First, the highest hexadecimal number goes to is 256 (FF) which is 2^8 Because it has to be two numbers in a row, you would square the number (2^8)^2=2^16 (65,536) Because it only goes from 0 to FFFF (because it has to be exactly two bytes and 00 xx counts) the decimal equivalent of that is 65,536 which means all possibilities range from 0 to 65,536. Due to the order of probability, the next step would be (2^16)^65,536=2^1,048,576 And those are your odds: 1 in 2^1,048,576 As for finding out how many digits that is, when you take 2^n it will increase one more decimal every three or four times. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 It increases in that pattern for a while, that basically boils down to 3.33 times to increase a digit. (it's not exact, but it's close) So to find the number of digits, it would be 1048576/3.33=314572.8 which rounds up to 314,573 digits. To make this post a little on topic, I'm going to try different values around xD364 to see what elese happens with the walls. |
|||
Apophis Ropa Since: 11-17-05 Last post: 6288 days Last view: 6287 days |
| ||
So he found not only a working sprite, but also the shrink room routine, and you want to hurt him? Give him a fricking medal! | |||
jp Red Paragoomba Since: 12-19-05 From: Uruguay Last post: 6635 days Last view: 6635 days |
| ||
Um... if possibilities range from 00 00 to FF FF wouldn't that be 1 in 65536?
BUT... this is not an equi-probability problem... Every 2-byte combination doesn't have the same probability of resulting in success. Actually, the CPU and ROM work as a (very complicated) function that returns that result. (edited by jp on 01-06-06 04:02 PM) |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6287 days Last view: 6287 days |
| ||
You're forgetting that the code is in a LoRom game, which only uses half the bank. The other half is RAM, and well... good luck trying to get RAM to stay consistent. | |||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6288 days Last view: 6288 days |
| ||
Have him try more, maybe he'll find something else.
BTW, the odds are 1 in who cares? |
|||
asdf Link's Awakening ಠ_ಠ Since: 11-18-05 Last post: 6289 days Last view: 6287 days |
| ||
Originally posted by HyperHacker This man, he speaks the truth. Hell, I could say that D364 is 54116 in decimal. That number has 411 in the middle, the number you dial to get information on the telephone. Smallhacker's brother provided information. Or I could say D364 is 151544 in Octal, or whatever the hell you call Base 8. There are two 1s, two 4s and two 5s. If we put 212425 into decimal and convert it to hex, we get 33DC9. DC. Washington DC. Smallhacker's brother is working with the governmen*gets shot* Oh, and about the walls. This is a good...find. If there are no freezing or trapping glitches, this could make for an interesting boss battle. Which is a good thing, considering SMW's bosses are hard to make interesting unless you do something incredibly unusual. This fits right in. |
|||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6288 days Last view: 6288 days |
| ||
Haha, compared to some of the 9/11 theories I've heard, that actually sounds fairly plausible. 9 + 1 + 1 = 11 and George Bush was 9 years old once and one of his relatives is 62 and there's one 6 and one 2 in 62! OMG CONSPIRACY | |||
Kailieann Since: 11-18-05 Last post: 6287 days Last view: 6287 days |
| ||
Originally posted by MathOnNapkins This could easily be valuable though. If one were to find five consecutive unused RAM addresses (or rearrange the existing code so that five consecutive RAM addresses became unused) you could write a JSL (+ address + RTS) to RAM and potentially use it to change a sprite's ASM code on the fly. I actually went on a dead-RAM hunt a while back, and $010B-$01CD looked like they were completely unused, but my D-pad is still broken, which makes it extremely difficult to test these kinds of things. I only made it as far as Yoshi's Island 3, and there were a few offsets after $01CD that looked equally blank until I hit certain spots. If anyone cares to continue my research, the other non-WRAM (seemingly) unused addresses I came up with were $918B, $918D, $918F, $C100-$C7FF, $7F0000-$7FFFFF, $7F8183-$7F837A, and $7F8396-$FC7FF All you have to do is keep an eye on them and see if they change to any value other than x55, which is the default RAM value when the system is turned on. (edited by Kailieann on 01-06-06 10:52 PM) |
|||
MathOnNapkins 1100 In SPC700 HELL Since: 11-18-05 Last post: 6287 days Last view: 6287 days |
| ||
Well you could use GSD and play for quite a while to see if there are any writes/reads of the given location. Other than that it is quite difficult to say for certain that a given address is unused. You'd have to have a complete grasp of everything that the game can possibly do. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
Too cool. So, that's the speed of the walls moving inward? Radical. Now, which of those two values actually changes the speed, and what does the other one do, assuming that they are 2 8-bit numbers, or are they opcodes?
EDIT: What were they before you changed them? (edited by Sukasa on 01-07-06 12:05 AM) |
|||
jp Red Paragoomba Since: 12-19-05 From: Uruguay Last post: 6635 days Last view: 6635 days |
| ||
About those unused spaces (all 55s), $7E010B is used by the blocktool locked blocks and keys. I had to move out of there when I realised the keys weren't working any more |
Pages: 1 2 | Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - ROM Hacking - Mess up Morton and Roy's walls (SMW) | | |