Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Thu Mar 28, 2024 4:39 am

All times are UTC - 8 hours [ DST ]


Forum rules





Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Mon Mar 29, 2010 8:22 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Thu Jun 26, 2008 12:29 am
Posts: 52
Player 1 Takes All Damage

849D6EFC
849D6F2E
849D79FC
849D7A2E

Player 2 Takes All Damage

849D5EAA
849D5F30
849D69AA
849D6A30

Rapid Fire

Player 1

7E2D7A00
7E2D7B00

Player 2

7E2D7F00
7E2D7E00

Untouchable (Immune to Attacks except Throws/Kintaro Stomp)

*Note* These will not work completely for Johnny Cage or Raiden.

Player 1

7E2D4665

Player 2

7E2D483D

Player 1 Fatality Modifier (Allows you to perform any characters fatality with the character your playing as)

*Note* Fatality Completion based on what character you are playing as.

83F1F4AD
83F1F601
7E0110 xx

00 - Kung Lao
01 - Liu Kang
02 - Cage
03 - Baraka
04 - Kitana
05 - Mileena
06 - Shang Tsung
07 - Rayden
08 - Sub-Zero
09 - Reptile
0A - Scorpion
0B - Jax

Computer won't Duck or Block incoming projectiles

80CB1480

Will cause all CPU opponents to Smoke (Rings of smoke like from the Character Smoke)

8490C8AD
8490CA01
7E01100E

Character Moveset/Move Extractor (Player 1 & 2)

*Note* Will allow you to take moves from another players moveset without actually giving you their moveset as a whole, this will allow you to assign moves to characters while still retaining the rest of their natural moveset.

81A94FA9
81A950 xx
81A95100
849818A9
849819 xx
84981A00

00 - Kung Lao
01 - Liu Kang
02 - Cage
03 - Baraka
04 - Kitana
05 - Mileena
06 - Shang Tsung
07 - Rayden
08 - Sub-Zero
09 - Reptile
0A - Scorpion
0B - Jax

*Note* These codes are intended for 1 player mode only, if used in 2 player mode freezing may occur.

Player 1

Play as Real Jade

81A94FA9
81A95004
81A95100
7E2EF810
849818A9
84981904
84981A00
85C463EA
85C464EA
85C465EA
85C46622
85C46780
85C468FF
85C4697F
7FFF80C9
7FFF8110
7FFF8200
7FFF83D0
7FFF8403
7FFF85A9
7FFF8604
7FFF8700
7FFF880A
7FFF890A
7FFF8AAA
7FFF8BBF
7FFF8CE2
7FFF8DC4
7FFF8E85
7FFF8F6B

Play as Real Smoke

81A94FA9
81A9500A
81A95100
7E2EF80E
849818A9
8498190A
84981A00

Play as Real Noob Saibot

81A94FA9
81A9500A
81A95100
7E2EF80F
849818A9
8498190A
84981A00

Player 2

Play as Real Jade

81A94FA9
81A95004
81A95100
7E30A610
849818A9
84981904
84981A00
85C463EA
85C464EA
85C465EA
85C46622
85C46780
85C468FF
85C4697F
7FFF80C9
7FFF8110
7FFF8200
7FFF83D0
7FFF8403
7FFF85A9
7FFF8604
7FFF8700
7FFF880A
7FFF890A
7FFF8AAA
7FFF8BBF
7FFF8CE2
7FFF8DC4
7FFF8E85
7FFF8F6B

Play as Real Smoke

81A94FA9
81A9500A
81A95100
7E30A60E
849818A9
8498190A
84981A00

Play as Real Noob Saibot

81A94FA9
81A9500A
81A95100
7E30A60F
849818A9
8498190A
84981A00

Remove Secret Characters from Goro's Lair (Will allow them to progress through stages like all the other characters)

83B2BCA2
83B2BD01
83B2BE00

Enable Finishing Moves to be performed with Secret Characters

83A674A0
83A67501
83A67600


Top
 Profile  
Reply with quote  
PostPosted: Tue Mar 30, 2010 7:53 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
You can actually shorten some of those codes using the "DEADC0DE" code type: http://doc.kodewerx.org/hacking_snes.html#partypes I'm not sure if any emulators support it (probably not!) but the PAR v3 definitely does.

I'd like to double-check the actual format, since I managed to find one instance of the code type on the internet: http://www.ultimate-cheatz.de/codebase/daten.php?system=snes&act=detail1&id=5683 ... and it's definitely not in the format I described on EnHacklopedia...

Viper had a code book for SNES PAR with a code for StarFox that used that code type. Maybe I'll have him look that up again.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Mar 30, 2010 8:12 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Got this from Viper just now:

*This code is for STARFOX [J]! It is here only for illustrative purposes*
JAP version - Infinite Energy and Nova Bombs
DEADCODE
02FC6606
08E220A9
288D9603
A9058DAF
15286468
64695C6A
FC020000

So the description on EnHacklopedia is a bit hard to decipher. Basically, the code type allows you to write a series of 32-bit words into a memory location. In this case, six words are written to address $02FC66 (notice the address doesn't have to be word-aligned) ... You can use this format to shorten your codes a great deal.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Mar 30, 2010 11:07 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Thu Jun 26, 2008 12:29 am
Posts: 52
Wow this is actually new to me as I have never heard of it. Also I checked google and there isn't a lot of information on the code type other than just some references to it and what it does. However I could not find a before and after comparison of how it was converted. There is code cave that is written with some of the addresses and I am wondering if it would create problems with the jsr, etc... If emulators may rarely support the DEADCODE then it may be hard to test if it actually works correct? Do you think you may be able to give an example with the following code so that I could see a before and after (Would probably be the most detailed information on the net!)?

Code:
Play as Jade P1
 
81A94FA9 < -- start move set code
81A95004
81A95100
7E2EF810 < -- player 1 modifier
849818A9
84981904
84981A00 < -- end move set code

85C463EA < -- start of making room for my jsr (guess I could have used a branch to my jsr here to save using 1 additional code)
85C464EA
85C465EA
85C46622 < -- start of jump to below routine
85C46780
85C468FF
85C4697F

7FFF80C9 < -- my routine for fixing fan lift/air fan throw.
7FFF8110
7FFF8200
7FFF83D0
7FFF8403
7FFF85A9
7FFF8604
7FFF8700
7FFF880A
7FFF890A
7FFF8AAA
7FFF8BBF
7FFF8CE2
7FFF8DC4
7FFF8E85
7FFF8F6B < -- rts


I don't think I've ever seen such a handy code with such limited information... I do understand the concept, its just the conversion of this specific code (Since it does include jumps etc...) and from what I've read you can only have one of these active at a time. Any help is appreciated.


Top
 Profile  
Reply with quote  
PostPosted: Wed Mar 31, 2010 4:39 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
It's one of those things that I didn't even know about until Viper pointed out that code some years back. And the only references I can find through Google all come EnHacklopedia (which I wrote myself, so that's no help ...) I need to better document my sources. By that, I mean the disassembly/reverse engineering that I did on the code type stuff. If I had those pieces of information on EnHacklopedia, it would be even easier to re-research.

Anyway, this is extremely easy to use. But there's a catch (of course!) I believe that only one DEADC0DE can be used at a time. So if you have several large ranges of data to write, you should only convert the largest one. There are other limitations as well, but I can't remember all of the details (more reasoning for documenting sources...)

Taking your example code, here it in converted to a shorter format which should work great:

Code:
81A94FA9 < -- start move set code
81A95004
81A95100
7E2EF810 < -- player 1 modifier
849818A9
84981904
84981A00 < -- end move set code

85C463EA < -- start of making room for my jsr (guess I could have used a branch to my jsr here to save using 1 additional code)
85C464EA
85C465EA
85C46622 < -- start of jump to below routine
85C46780
85C468FF
85C4697F

DEADC0DE
7FFF8004
C91000D0 < -- my routine for fixing fan lift/air fan throw.
03A90400
0A0AAABF
E2C4856B < -- rts


This *should* be correct.

I seem to remember this code type doing something strange when the address is in ROM (like the Starfox code). I believe in that case, it would issue a ROM patch at that address which inserts a JMP long instruction (4 bytes). The actual data sits in external (GameGenie-onboard) memory, and requires a JMP long at the end to go back to the original location + 4. But this is all coming from memory, and I could be wrong...

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Wed Mar 31, 2010 5:02 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Thu Jun 26, 2008 12:29 am
Posts: 52
Hey thats easier than I thought it would be, hopefully emulators support it as I don't have the actual hardware anymore. This needs to be updated in the wiki so if you get a chance drop it in there with my code as I don't mind if it is used for an example. As you have seen there isn't much documentation so this would be a great start :). Thanks for the help para, hopefully things will pick up around here as it has been very slow.

*Edit*
I did have a chance to play with the new code, unfortunately it doesn't appear to be supported by Snes9x, or BSnes. I am wondering if there is any point in converting it as there aren't many people with the original hardware that wouldn't just use an emulator now a days. Since the support is low on this type of code it appears the longer version may be best to post as most users would have issues with the converted one. Anyways thanks for the explanation as Enhacklopedia left much to be desired in its description of use :).


Last edited by Abystus on Thu Apr 01, 2010 7:31 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Mar 31, 2010 6:31 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
I have a PAR (version 1) but don't have Mortal Kombat II. Not sure if the code type is supported by v1, either. In any case, it's not much trouble to add support to either of those emulators, being open source and all. But some further research is necessary to make sure it's emulated properly.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: Google [Bot] and 199 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group