| |||
Views: 88,496,804 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-28-24 04:13 PM |
|
Guest: Register | Login |
Main - Posts by ShaneM |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 243/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by Googie The two lower ones come out first and then the higher one. But it's like a nanosecond worth of difference. The leftmost and rightmost ones are positioned lower due to the Carry flag being cleared and then ADC #$04 to their Y position. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 244/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
http://acmlm.kafuka.org/board/thread.php?pid=151053#151053; next time try searching the forums a little better --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 245/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by retrofox Actually, I assumed that based on this: Posted by retrofox' The 'but', which is a weak enclitic in the English language in this case is conditional rather than conjunctive, so I assumed you needed both an MMC3 and a hack. Anyway, that won't work because data is mapped differently using an MMC3. The whole reason .ips patches are made to go with a certain ROM is exactly for that reason. You will need to repoint code/data and change all absolute addresses. MMC3 uses 2 extra hard-wired banks and with bankswapping data in the original main bank has changed location. Take a look at my ASM tutorials to learn more. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 246/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Bottom Line: I don't really like the idea of offering a free physical copy to anyone because this seems shady. I don't know who you are and for that reason I am doubtful. Also, if someone does do it for you and then let's say that you don't deliver, they'd most likely come to one of our staff members complaining about it and then all we could do is discipline you. Not saying you're lying but just being safe. Plus you'd need the person's address etc., which is risky. So don't do that. Also, good luck trying to find someone to do that for you, as that's a lot of work; unless someone actually wants to do that but then they could just use an Everdrive or Powerpak. --ShaneM
"Every time I USE this forum I get shit"? Have you been here before? It says that you are new...So either you've been banned and came back as another user or that's inaccurate. I'm closing this and will investigate it. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
|
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 248/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
I'm very upset at all the spamming going on within this thread. Nesdev has nothing to do with this forum. Zynk is upset and he PM'd me asking me to delete all spamful posts. Anything else EXCEPT Zynk's Roll-Chan related posts will be deleted.
In my opinion, you all should PM Zynk and apologize to him. MikeTechno for spamming with a harmless joke with Insectduel while contributing NO comment at all directly to Zynk about his project, the whole point of this thread. Hamtaro, for bringing up random nonsense that has nothing to do with this forum at all. Insectduel does not owe Zynk an apology since he took Miketechno's joke seriously and was merely defending his reputation. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 249/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by Popoie Please don't bump threads that are 4 months old without new information. Thank you. ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 250/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
I'm going to be testing all the fixes and new features I made come starting soon for Jan. 05th. I've fixed over 50 glitches in total and needed a beta tester to help me test aspects of all fixes for that date. PM me for those interested and this is intended for hardcore gamers only. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 251/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by Sorp This can come across as trolling, especially since you picked a random user without getting their approval. Thread denied. ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 252/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by Yakibomb ROMs aren't allowed. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 253/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
May this be a year to remember on Board 2 as we improve our hacking community one day at a time! ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 254/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by ninjablooper Same to you. I find as I get older that time seems to go by faster. Though it's logically impossible for the mechanics of chronology to deviate but rather concept may change, I think the feeling aspect isn't. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 255/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by xXGameFreak14Xx Welcome to our forum, xXGameFreak14Xx. i hope that you have fun with us, here. ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 256/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
I'll sticky this for a while since it seems like a nice tool you have going, here. I like that it supports all regional ROMs, too!
You can post any/all revisions here, Devin. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 262/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
@Toad Shroom
Hello! Welcome to our community forum. Posted by Toad Shroom Actually, a better place would have been the Introduce Yourself Here page stickied to the top of this subcategory, but that's okay. Enjoy your visit! --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 263/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
My thoughts: This code is only branched to if the player is vertically moving upward or standing still; moving downward vertically causes the BNE to branch in "ChkForPlayerInjury". "Player_Y_Speed" (RAM $9F) will be a signed value if the player is going up and unsigned if going down (so MSB or d7 WILL be set if this branch occurs). Now, if the player is indeed going up, we branch to "ChkInj", the routine in question. What the NTSC seems to do is branch to check various timers if dealing with enemies such as Goombas etc. or anything less than Blooper (#$07) as I labeled above. If the enemy in A plus X offset is #$07 or greater it will thus not branch because the Carry is set. Next, we load A with what's loaded at RAM $CE, or Player_Y_Position. (The player's Y is stored as #$B0 when on the ground at the lowest playable part of the level, decrementing from that value as the player is vertically inclined/stomps on an enemy.) $CF plus X offset is where the Enemy_Y_Position is stored and is #$08 greater than the player's when on flat ground. So, for example, a Goomba (RAM $16,x will load an #$06 in Memory) on flat ground will have a #$B8 loaded into RAM $CF plus X whereas the protagonist will have #$B0 in that occurrence stored at RAM $CE. So anyway, if the enemy object in Memory plus X is #$07 or greater, Carry will be set so we will clear Carry and add #$0C to A (which is loading the player's current Y position). So A will thus have whatever that value is plus #$0c added to it for the upcoming comparison with RAM $CF plus X register (in layman's terms, the enemy which is loaded for the comparison since 6 enemies can be loaded at once). At the end of the .endif conditional statement above, we now move onto comparing the current value in A with the enemy offset. If the player's Y is at all above (being less than) the enemy's, we thus branch to the enemy being stomped "EnemyStomped" (and the timer flag at RAM $0791 will be set to branch; from there it checks for certain enemies such Spinys or other 'untouchable' enemies and branches accordingly to injure player or else award player certain pts.). If Carry is set, then we move on to check various timers and branch accordingly to injure player/turn enemies around etc. For enemies that are not Lakitu, Cheeps or the likes, we skip all of this. That makes sense, logically. What the EU does: It appears to use the Y register for the check, but loads A with #$14 by default. Y register is loaded with the value stored at RAM $1E plus X register. The next thing we do is compare register Y with #$14 (or Cheep-Cheep frenzy enemy) and any other enemy which is NOT Cheep-Cheep frenzy will thus branch and we clear the Z flag. If it is the Cheep-Cheep, d6 will be set and thus skip the branch. If it is Cheep, then we now load A with #$07 rather than the previously loaded #$14. (So A will either be loaded with #$14 or #$07 depending on the current enemy plus X register and whether we previously branched or not we will end up with at the "adc Player_Y_Position") Next, we are at "adc Player_Y_Position", instead of A being loaded with this value we ADC with it instead, but Carry will be cleared here so we need not CLC. Neither will Carry be set with what's at RAM $CE. From there we move onto the linear code with the CMP,X. If the player's Y is at all above (being less than) the enemy's, we thus branch to the enemy being stomped "EnemyStomped" (and the timer flag at RAM $0791 will be set to branch; from there it checks for certain enemies such Spinys or other 'untouchable' enemies and branches accordingly to injure player or else award player certain pts.). Okay, here is my more in-depth explanation. (Lakitu is my guinea pig in this example, since it will set the MSB thereby not cause the code to branch in ChkInj.) Picture 1: For this to work, you must be no further from Lakitu than this. Picture 2: This demonstrates when the code is in action in the NTSC version. See how Mario is not exactly hitting Lakitu's head from the top, though collision is counted as Lakitu being stomped from the 800 pts. above? That's the CMP Enemy_Y_Position,x in action there. Picture 3: This is what happens when I NOP those nine bytes to see what happens. The player is injured instead of Lakitu being damaged. You can see Mario's swim animation, there. When the player takes damage and shrinks, there are actually two swim animations used in the process. I used savestates to test this to make sure everything is exactly the same to verify. Look at the timer and Spiny's on the ground. Everything is exact between photo 2 and 3. The EU version changes it to include all enemies because there are instances where, for example, Goombas are going down stairs while the player is jumping up and Mario/Luigi wrongfully takes damage. It singles out Cheep-Cheeps because they can (and will) jump at a diagonal angle, which causes damage to the player if A still contained #$14 at the time. It was specifically changed to load #$07 with flying Cheep-Cheeps to fix that. (I tried changing the #$07 to a #$14 in the EU version to verify that I was correct.) Alright. I was able to add the code into SMB2J by optimizing the routine "KillPlayer" to make room. Yay. ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 264/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
@RetroRain
Good job! Keep up the good work. Posted by Korxroa Rockman 1 is the Japanese counterpart of Megaman 1. Therefore, the absolute addresses and other code/data would be located in different places apart from the NTSC Megaman 1. I have the feeling that you don't really understand what this means but basically, when you assemble (what every game developer did back in the 80's), code/data are assembled according to the number of bytes used for each PRG bank. The assembler would take care of addressing absolutes as well as big/little Endian. When patches are made, they are to be applied to a specific work. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 265/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
@Insectduel
Hey, that's pretty impressive SMB3 hacking there. Keep up the good work. Would love to see that on the NES. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 266/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Posted by Thanatos-Zero The thing is that the author who made Remix did so through assembly files. AFAIK, there are no Super Mario Allstars fully labeled .asm files. Doing it manually (through hex editing) would mean changing a bunch of pointers and absolute addressing. It is simply not practical without source. Also SMAS seems to utilize the 65c816's newer opcodes. Such as PHX, STZ etc. Meaning that coding is different. (So where for example a TXA PHA would occur on the NES you'd see a PHX in place on SNES; and likewise PLA TAX would be PHX or even using register Y. I believe ARR is also official, too.) Another thing is that registers and Memory are mapped differently on the SNES' processor. --ShaneM, the Master of ASM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
ShaneM |
| ||
Snifit Compromised account. Please contact an admin to restore access. Level: 36 Posts: 267/285 EXP: 293564 Next: 14546 Since: 02-17-14 Last post: 3139 days Last view: 2655 days |
Guys, when you quote another user, there's no need to copy the image, too. It wastes board space. Thanks. --ShaneM ____________________ At the end, when the day is over, the only one left to face is yourself. Have you been true to yourself and made the most of your day? |
Main - Posts by ShaneM |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 135, rows: 167/167, time: 0.329 seconds. |