PalMod: PALette MODification for fighting games.
Created in 2008 by: knarxed (aka suupabuu), Magnetro, Preppy, Eidrian
Resurrected in 2020 by Preppy with key help from TVIndustries, IceManual, mountainmanjed, and lots of additional great help from many other excellent people.
PalMod uses LodePNG 20201017 for indexed PNG export, MAME's logic for CP3 support, and Mark Adler's CRC32 support. Thank you to those and other pioneers.
Welcome to PalMod!
PalMod is a fan project allowing you to edit colors (also known as palettes) for various fighting games. That usually requires pretty deep technical knowledge, a lot of time, and some luck to do correctly. By providing a straight-forward front-end and consolidating a bunch of community knowledge, PalMod hopefully makes this previously daunting process easy.
What PalMod does is update very certain areas of the game ROMs where the games store color values. Game play is not affected, just colors. If you're new to PalMod, please read the Get Started section or check out one of the YouTube tutorial videos. PalMod is pretty easy once you get started, but it can be very confusing at first.
PalMod is under active development in 2021 with updates weekly and full releases about once every month. Check Version History for information on the latest changes. You can find new releases at https://zachd.com/palmod: I strongly recommend using the latest non-beta version. The beta versions also will usually have great changes, but may need a little more testing.
If you're a developer or romhhacker or just curious, the source code can be found at https://github.com/Preppy/PalMod. The newgamedummy is a base template you can use to add support for new games.
Please note that FightCade 2 does not always use one ZIP for one game: it may use one core ZIP and also another smaller ZIP containing additional files that override files in that core ZIP. If you don't see your changes show up in FightCade, you probably need to modify the files in the other ZIP.
Please note that WinKawaks prefers it if you update an existing game ZIP or a copy of that game ZIP instead of creating your own. If you create your own ZIP, it may ask for a different version of the ROM then the one that you're using. Either shift to use that version or just use an existing ZIP that was already created for that game.
PalMod has a bunch of features and options: read up on those here.
If you're interested in better colors for your palmods, The Book of Palmodding color tutorial can be found here.
- Download and extract out all the PalMod files. PalMod.exe and img2020.dat are the critical files and are updated regularly.
- Download and extract out the ROM for the game you care about. Save a copy of the game ZIP "just in case".
- Open PalMod and use PalMod's File :: Load ROM by game to open that ROM. Each supported game is listed under the platform it normally runs on. (See here for a list of ROM names PalMod typically looks for.)
- You can also use PalMod's File :: Load Game to load games. For that you will need to change the file filter in the bottom right from "Art of Fighting 1" to whatever game you want to edit. That will update the view and show you the ROM files PalMod can use for that game.
- There are some games that spread their character files across multiple files. For those games, you will want to use File :: Load Directory instead. Use that and point PalMod to the folder containing your game's files. If the game files use "-simm" in their filename, then you definitely need to use the Load Directory option to load that game folder.
- Make changes!
- Click File :: Patch Changes (or CTRL+S) in PalMod to save your changes.
- Copy that modified ROM file back into the ZIP.
- You can now load that ROM into your favorite emulator: have fun!
Marvel vs Capcom 2 in particular uses a lot of intertwined palettes, such as Storm's lightning effects that are applied to her base sprite. If you keep the "Process Supplement Palettes" option checked, PalMod will try to handle all these for you automatically for MvC2.
If you want to change them yourself, a great guide to those MvC2 supplemental palettes can be found here. If you don't modify those - or don't let PalMod modify those for you - the character will flash as they use mismatched palettes.
This section covers all the options available in the PalMod interface and is probably worth a read at least once.
**** File menu ****
- Load ROM:
- Use the filter in the bottom right of this dialog to select loading a game by ROM. PalMod does not include any ROMs: you can get those from elsewhere.
- Load ROM by game:
- Use the platform-based filters to have the Load ROM dialog pop up with the game filter you want to use.
- Load Directory:
- Use the options here to load palettes for a game from the directory you extracted your game's ROM files to. This is useful for Dreamcast, Playstation, and the "newer" ROM dumps for various games. Fightcade 2 tends to prefer the "Directory"-based ROM sets.
- Patch Changes:
- This saves any changes made to the ROM or palette files. There's no undo from this. This commits all changes to memory and then to disk.
- Copy colors to (DC or PS2)
- MvC2 only: Copies the colors from the current DC (or PS2) mix to PS2 (or DC). Allows you to "copy" color edits across platforms.
- Close File / Directory:
- Unloads the current game and stops work on it.
- Load Last File / Directory:
- Loads the last game you were working upon.
**** Edit menu ****
- You probably already understand these, but there's a bonus keyboard-based Color Picker:
- If you press CTRL+SHIFT+C in PalMod, PalMod will copy the current color of whatever your mouse cursor is pointing at. Or if you press CTRL+SHIFT+V, PalMod will both copy that color and paste it into the current palette selection.
**** Tools menu ****
- Inverts the current palette selection.
- Swaps 2 or more selected palette colors, reversing the selected sequence.
- Restore the saved palette from memory. Once you use Update or Patch, that updates the saved palette.
- Shows which part of the image the current palette selection modifies. Only useful if there's a preview image available.
- Load Palette:
- You can use this to either load an Adobe Color Table (ACT) file, indexed PNG, or Microsoft ".PAL" RIFF palette file. ACT files are an easy way to give a friend your set of colors. Or if you have a PNG with indexed color, PalMod can read the palette from that file and use that. Note that Fighter's Factory writes their color tables upside down: PalMod will read those upside down so that things look right.
- Save Palette:
- Save your palette to a file out so you can use it in other applications or share it with a friend. You can save as either .ACT (Adobe Color Table), .GPL (GIMP PaLette file), or Microsoft RIFF ".PAL". ACT is recommended.
- Generate IPS Patch File
- Generates an IPS (International Patching System) patch file. This can be used to share or load your changes without patching the ROM itself. It commits the current palette to memory and then saves either all palettes that were modified in the current session since your last Save-to-ROM to a small-ish IPS file or every palette in the game to a larger IPS file. How to use IPS files.
**** Settings menu ****
- Show 32-bit values:
- If checked, view of color values are based on 32-bit RGB values (0xAARRGGBB, 0-255) instead of the actual game values. This is for readability ONLY. Most games we support do not support 32-bit color, so the 32bit color values will be rounded to what the game can support when we save.
- Colors Per Line:
- You can choose between 8 or 16 colors per line. It's arguably easier to edit characters in 8 colors per line mode, and stages in 16 colors per line mode. I use 16 colors per line mode for exploring ROMs.
- Color Format:
- * Shows the color format being used for the current game. This can be changed when you are using the Developer Mode "Unknown Game" game loading option.
- * You can set the alpha mode in Developer Mode: some games may or may not want the alpha bits set. Note that if you're unsure what Color Format to use for a game, open up a related game in PalMod and see what Color Format PalMod uses for that: that'd be a good first color format to try.
- * PalMod always treats the first color as a transparency or counter color and will not modify it since that would cause problems. Different games write a different number of colors before the next transparency color is needed. In Developer Mode you can set how often the game expects a transparency color.
- Include bonus data in CTRL+C copy
- For ROM hackers. PalMod can do a neat little trick: write its basic copy string - something like "(/"415B)" - as an ASCII string to the clipboard, but also write an extended version of that data as Unicode to the clipboard. Palmod itself only looks at the ASCII version, but you and text editors look at the Unicode/extended data. Turn this on if you want the extra information, which includes ROM location for the current palette and expected bytes at that location given the current colors. I regularly use the extended copy information to figure out the palette locations and raw hex data for that palette. I can then use that information to work with new ROMs much more quickly by searching for those hexes in the new ROM in a binary editor.
**** Settings menu: Advanced Settings ****
- Allow transparency for games that support it:
- For Marvel VS Capcom 2 and GGXXACR: Allows you to make changes to the alpha/transparency value of colors. You can get cool ghost effects, but it's also really bad for competitive play. You will get a warning if you try to turn this on. :)
- Process Supplement Palettes (MvC2 only):
- Automatically process any extra palettes that are based on the currently selected palette. This is the easy mode: you potentially can do better yourself if you use the Eidrian Palette Guide.
**** Palette View ****
Each square represents one color from a given color palette. A maximum of 128 colors will be shown at one time (or 256 in 16 color per line mode): for larger palettes, you'll need to traverse multiple pages.
Click to select a specific color, and then use the Edit Color options or Get Color to modify that color. Or select multiple colors to change a number of colors at once. You can also right-click upon those colors. You can copy and paste from color square(s) to other color square(s), or even send a friend a sequence of colors to copy to their PalMod via saving out the ACT or sending the palette string we copy to the clipboard when you press CTRL+C.
Note that in most games the first color is usually transparent, which is why you cannot change the first color for most games.
To select multiple colors at once, click on the first color of interest and then drag to the last color of interest. Or hold CONTROL (CTRL) and click on each color of interest.
**** Edit Color options ****
- Once you have selected a color square (or a number of them), you can change the RGB (Red Green Blue) or HSL (Hue Saturation Lightness) values until you find a color you like and works well. In some cases you can adjust alpha: be careful about this. It's a cool feature that should never be used for tournament mixes.
**** Dialog buttons ****
- Pick Color:
- Pops up a color picker so you can select a color to use for the selected palette indexes.
- Saves the current palette to memory. Note that you still need to Patch the change before your game is modified.
- Shows the Preview window that hosts the game sprites if we have any in our image file.
- Check My Edits:
- MvC2-Dreamcast only: Verifies that if you changed a character palette that you changed the secondary palettes associated with that palette. For example, if you modify Cyclops you also need to modify his Extra - 02 (c.HK) to match. This option also allows you to auto-correct your mix using our normal Process Supplement Palettes logic.
**** Preview window ****
- Export Image:
- Pops up an Export Image window so you can save a copy of your image to disk. The Indexed PNG option is brought to you using code from LodePNG. Indexed PNG export is highly recommended: your friends can simply import that PNG into PalMod as an easy way of exchanging colors.
- Load Texture:
- Load your own sprite to use for the preview. This sprite needs to be a .RAW file. The filename must include the H and W of the RAW, as in "ryu-w-67-h-100.raw", since RAW files do not include the H/W (height and width) values.
- Set Background Color: Choose a specific color to be shown as the background for the sprite.
- Set Background Image: Choose a specific image to be shown as the background.
- Set Blink Color: This is the color that will be shown when a given color index is "blinked". Normally white.
- Tile Image Background: Like it sounds. Useful for small background images.
- Use Background Color: Switch back to using Background Color instead of Background Image.
- Zoom: Zooms the selected sprite.
- Clicks show color in palette: If you click on any part of the preview window, PalMod will highlight and select all matching colors in the current palette. That lets you understand what palette color affects any given part of your sprite. Or deselect this to turn this feature off.
**** Export Image dialog ****
- File menu:
- Choose where to save this to.
- "One" means show the current palette only: or whatever specific button is selected under Palette. Higher numbers mean show all those button's color options as well. We only allow for exporting multiple sprites at once if PalMod already knows what your sprite's peer palettes are (as in P1/P2 colors, A/B/C/D colors, etc).
There are two main scenarios for created colors: copying them from others and sharing them with others.
**** Copying Colors From Others ****
PalMod supports import of a number of palette storage options.
Copying a palette from a file
From PalMod's Tools menu, you can import file-based palette storage via Load Palette. The options are:
So those are the file-based options. If you wanted to get somebody else's colors, you could ask them for the .ACT color table for that character, or better yet an indexed PNG of that character. Then you can use Tools :: Load Palette to import that, or you can even just drag and drop that color file onto PalMod and it should just work.
Copying a palette from the clipboard
PalMod can also import colors using the Windows clipboard (CTRL+C / CTRL+V), allowing you to copy within PalMod or directly from other applications. PalMod understands copy/text strings of the form:
- .act ACT Palette. The Adobe Color Table (ACT) format is a simple table of 256 colors. Many graphic tools can export or import ACT files, including Adobe Photoshop.
- .png Indexed PNG. The PNG file format is fairly flexible. In particular, Type 3 (Indexed) PNGs contain an embedded color table that PalMod can read and use. Indexed PNGs are particularly great for sharing palettes because you can see a preview of the image in question. Most fancy/modern graphic tools can export Indexed PNG files, including Adobe Photoshop.
- .pal Microsoft RIFF PAL. The old Microsoft RIFF file format supports PAL data. A few random applications and games we care about use that, so we added support. (Plus I worked on the RIFF team for a bit, so it was fun to add support.) Note that there are a variety of ".pal" file types: PalMod solely supports importing Microsoft RIFF PALs.
- .act Upside down ACT Palette. PalMod stores all of its RAW previews top-down. People sometimes create upside-down previews that require matching upside-down palette files: this option allows you to import those upside-down palette files.
- .png Upside down Indexed PNG. Same as with upside-down ACT files.
Copying a color from anywhere on your screen
Finally, PalMod can also copy any color from any location on your screen. While PalMod is the foreground application, move your mouse over any color you like on your screen. Then press CTRL+SHIFT+C to have PalMod copy that color to the clipboard. You can then Paste (CTRL+V) that color into any palette box you want to. Or you can just copy/paste directly: select a palette box in PalMod, move your mouse over any color you like, and press CTRL+SHIFT+V.
**** Sharing Colors With Others ****
There are a number of other ways that PalMod allows you to share colors.
Sharing a fully patched ROM
Once you're done with your changes, you can use File :: Patch Changes to save your changes to the ROM. To use your changes, copy that file back into your ZIP. Then if you need to share those changes with someone else, you can share either that changed file or the game ZIP.
Sharing via the clipboard
You can select any number of colors in PalMod's palette view. You can use SHIFT or CTRL or drag the mouse to select multiple color boxes. Then press CTRL+C to copy those colors to the clipboard. You can then paste those colors into another instance of PalMod or paste that color string into a chat program to share with friends.
Note that if you check Settings :: Include bonus data in CTRL+C copy, PalMod will include some bonus information in the clipboard string. That information is hopefully pretty useful for advanced users.
Sharing via an image file
This is the most excellent option. Go to Preview :: File :: Export Image. In that Export Image dialog, select the number of previews you want to export, and the palette you want to export (the P1 color, the P2 color, etc). Ideally you just export one preview at a time: that enables us to do special tricks. Once you have your selection configured, go to File :: Save.
PalMod will then allow you to export to a number of image formats: Indexed PNG, PNG Image, GIF Image, BMP Image, JPEG Image, or a RAW texture file. Those are mostly self-explanatory, but two bear special mention:
- RGB numbers lead by a # sign. The format is #AARRGGBB or #RRGGBB . So if you copy
#ff0000 and paste that into PalMod, that would give you a red color. The Windows 10 Color Picker Power Toy produced color strings in this format.
- RGB numbers. The accepted string types are RRGGBB, AARRGGBB, 0xRRGGBB, or 0xAARRGGBB . So if you copy
0x00ff00 , or
0xff0000ff into PalMod you would red, blue, or green respectively. Most web color generation tools will allow you to copy a color string of this format.
- The PalMod format. PalMod has a private ASCII-string-based color storage format it uses. A PalMod color string looks like
(#100130FFF0FEA0FA70E860B53083105200BFF08DF04AF006F003C00190FF20A42) . If you copy that example into PalMod, that will give you Chun-Li's Super Gem Fighter default palette. The syntax PalMod uses is undocumented and not particularly relevant, but a quick overview is :
||Required: lead character
||Required: one character. Indicates PalMod's internal game identifier OR an overflow indicator. If an internal game indentifier is used, that value is mapped to the appropriate color format that game uses.
||Required: one character. Either the color string length OR if the overflow indicator is used then this value will be the color format the string represents.
||Required: one chunk per color. Each chunk is either 4, 6, or 8 characters at this time. The colors specified are imported according to the color format the string has been declared to represent.
||Required: terminal character
Sharing via a patch file for that specific ROM
PalMod supports emitting patch data for the ROM in question via Tools :: Generate IPS Patch File. PalMod only allows IPS Patch generation for certain games, due to limitations of the IPS format. Additionally, the option will only be available once you have made at least one change to the game palettes. Once you do that and you select "Generate IPS Patch File", you will be prompted to either export a patch containing all the palettes that you have edited in your current OR to export a patch containing all the palettes that PalMod knows about for that game.
Additional background: The International Patch System file format contains basic information about what ROM locations to modify to what values in a ROM. It is important that you only apply the IPS file for a particular ROM to that particular ROM: other ROM/game variants might have shifted hex locations and thus not work as expected. IPS Peek lets you see the contents of any given IPS file. Lunar IPS allows application of the IPS files to your ROM. And there's a handy IPS usage tutorial here.
Sharing via a palette file
Finally, PalMod can also simply save out the current palette for the current character. When you use PalMod's Tools :: Save Palette menu option, you will be prompted to save in either .act ACT color table format (the most common palette interchange format), the .gpl GIMP Palette file format, or the archaic .pal Microsoft RIFF PAL file format. You probably will always want to save as an ACT file. Note that PalMod does support exporting the current palette as an upside-down ACT file: that can be useful for "old" previews that want an upside-down color table.
- Indexed PNG is fantastic for sharing colors because it is both a preview and a color table in one. Due to limitations of the Indexed PNG (Type 3 PNG) format, it is only suitable for one character preview at a time: exporting multiple characters at once won't work well. We do have 256 colors maximum to work with, though, so you can export things like Captain America's palette and his shield's palette to the same Indexed PNG file.
- RAW textures are not directly viewable, as it is a paint-by-number preview stripped of color data. Other users can load that RAW in RAW-aware applications (such as PalMod, Adobe Photoshop, or GIMP) to see and work with the preview. Note that the RAW file format syntax is limited, so PalMod will include the height and width of the data in the saved file name to make your life easier.
PalMod knows about a lot of fighting games and supports a lot of palettes for those fighting games. Yet there are more palettes in those games - and more games - that PalMod does not know about. PalMod can do pretty useful things:
**** For new games: Unknown Game Mode ****
Go to PalMod's File :: Load ROM by game :: Developer Mode menu and select Unknown Game Mode. This will let you open any file you want in PalMod in a very raw view. Most files will not be useful in PalMod: it helps to know what file might contain palettes for your game. SNK palette files will usually have "p" in the filename, but for other companies you will have to spelunk around.
You will need to create an Extras file to explore this file. I usually start with a huge range and hope, narrowing down slowly as I go.
Now that you've got a bunch of data comes the very hard part.
- For new games, PalMod will open any file you want it to and treat it as the color format of your choice.
- For new palettes, PalMod will let you tell it what ROM regions to look at using an Extras file.
- First, you need to know what color format to use. The setting you select under Settings :: Color Format is what PalMod will use to interpret the raw data in the file. Knowing what platform the game is for helps: PalMod indicates in that menu what platforms a given color format is usually used for. If PalMod supports another game in that series, try opening up that game and seeing what color format PalMod uses for that. Sometimes the MAME codebase can be an excellent reference. Other times you have to just struggle through.
- As regards Alpha... you can usually ignore that.
At this point... start browsing through the game file set. You are looking for a needle in a haystack: expect to take a bit, and it's going to be extra hard if you don't have the right color format set. You can load a similar game in PalMod to check what color format that uses, or look at MAME's code to figure out what color format to use if possible. Otherwise... guess, but you'll need to redo the search for each color format you think that game might be. If that exact palette is used for another sprite in another game, you can use PalMod's extended copy information to get the data we expect to see in the ROM for that palette, and then hunt for that in your new unknown ROM using a binary editor.
Palettes in games are usually stored after the main game data, so they are going to be "later" in the file. The notes in the MAME XML for the games can be helpful to guess at about where that might be - or to get the right filename. Additionally, palettes are typically stored in either of two fashions: per-game, as one contiguous block of all the palettes for everyone, or per-character, where all of the colors for one character are embedded in their normal character data. Per-game is pretty easy to work with: you'll hit the giant section of palettes and can party. Per-character is more challenging, since once you've found a character you need to find the next character. What I've found to help is to look for visual patterns in the data. For example, Capcom usually has data that looks like colorful towers shortly before the palette data, and thin towers shortly after the palette data. It's a lot of data to sift through: you'll start to figure it out as you go along. And once you've found one palette it's much easier to find the next and so on.
Once you're certain you've found the palettes of interest, you'll want to whittle down your Extras file to just reference palette regions. Don't use PalMod to write to non-palette regions: that won't work well.
If you need a color format that PalMod doesn't support, hit me up and I'll look into it.
But all of this exploration keys off of the Extra file, which brings us to the next section...
**** For new palettes: The Extras File ****
This is a powerful extension that lets you use PalMod to read regions of the ROM that PalMod doesn't already know about. If you are feeling bold, you can also use PalMod to modify these unknown regions of ROMs that PalMod doesn't know about, but please be careful: PalMod will cheerfully trust you that you are not stomping on important game data. So always remember to keep a back-up of your files just in case. To use this support you place an Extras text file in the same directory that you launch PalMod from. Badly formed Extra files will result in PalMod warning you: please pay attention to those warnings.
Each Extra definition is comprised of three lines. You specify one line with the title for a given palette, the next line being the starting position in the ROM for that palette, and the third line being the ending position in the ROM for that palette. For example:
; This is a comment. The first character on a comment line must be ;
; The offset values will be treated as hexadecimal
Ryu's Pet Hamster
This would create a PalMod entry for the "Ryu's Pet Hamster" palette that reads the 0x20 (0n32) colors between 0x2400e to 0x2402e. You can specify a lot of Extras entries if you need to: at one point Jojo's support was entirely being done via SFIII3's Extras file support.
All Extras loaded this way will be available at the bottom of the top listbox as "Extra Palettes". When that is selected your specific Extras will show up in the bottom listbox. Any palette larger than 256 colors (or 128 colors in 8 color per line mode) will be shown across multiple pages. If you specify a gigantic palette we may show you a warning to be careful. We don't show any preview sprites for Extra Palettes, but you can load your own RAWs if you have them to get previews.
Please note that any ROM locations/palettes present in both PalMod and in the Extras file is pure shenanigans: we will end up creating two copies of that palette and you would need to modify *both* to have anything good happen. Please don't duplicate palettes. PalMod will make a good faith effort to check for duplicates when it loads Extra files, and will try to warn you if it sees any dupes.
This is just a quick overview of the Extras file: there's a larger guide on the PalMod site.
The file names you can use are listed in the next section.
**** Game ROMs ****
(FWIW, PalMod can not download nor find ROMs for you. Please don't ask. The "fightcade JSON" handles that for Fightcade, and for other emulators a simple Google search usually works great.)
PalMod works by editing the core ROM files used by the game. Since you read the Getting Started section, you know to download the game ROM, make a copy of it, and then PalMod can modify the files you extracted from that ZIP. When you're done, you'll put the changed files back into the ZIP. Please never add new files to a game ZIP: that doesn't make any sense and won't do anything. We're only going to be changing files in place.
There are two basic systems that PalMod uses to load game ROMs. The first is by loading a single file from the ROM set. This is used when there are one or two specific files from the ROM set that contain that game's palette information. This is standard for old games or old game rips. You load these ROMs by using "Load ROM" or "Load ROM by game" in the File menu. The second method, using "Load Directory", is for games where the palette data is actually split across multiple files. This is useful for the newer "SIMM" rips, Dreamcast games, and Playstation 2 (or 3) games in particular.
Here's a table of the files we look for when we deal with single-file game ROMs. There can be some slight variance in file names: PalMod should be able to load most variants, and has internal adjustments to handle those where necessary. If your game ROM doesn't load properly or look right in PalMod, please let us know and let us know which specific ROM you're using. It's possible that you have some particular variant that PalMod doesn't know how to handle yet. If your file names don't match at all, check the table after this one for the games we handle via Load Directory.
There's a flaw in the implementation of most NeoGeo emulators where they forcibly want either ".bin"-style or ".p1"-style file extension names if the ZIP has been modified. So if you get a message in your NeoGeo emulator that "file-p1.p1" or "file-p1.bin" is missing, just update every file in that ZIP to use the opposite filename style. If the filenames end in .bin, change them to use the post-hyphen part of the filename, as in changing "foo-bar.bin" to be "foo-bar.bar", and "foo-ack.bin" to be "foo-ack.ack". Or the filenames did not end in .bin, change them all to end in .bin.
You should always expect to get a message from your emulator about the CRC32 value for your game having changed. The CRC32 value just keeps track of the exact precise file revision, and we have to change that when we edit the file. If you play online, both people using the same ROM version should help eliminate any desyncs caused by potential emulator confusion.
Everything in the table above is for games loaded using Load ROM. This next table is for game files loaded using Load Directory:
||Usual ROM name
|Art of Fighting 1 ||Aof1E.txt ||044-p1.bin
|Art of Fighting 3 (ROM p1) ||Aof3P1E.txt ||096-p1.p1
|Art of Fighting 3 (ROM p2) ||Aof3P2E.txt ||096-p2.sp2
|Battle Master: Kyuukyoku no Senshitachi ||BMKNSE.txt ||battle master - kyuukyoku no senshi-tachi (japan).sfc
|Bishoujo Senshi Sailor Moon S: Jogai Ranto!? Shuyaku Sodatsusen ||BSSMSJRE.txt ||Bishoujo Senshi Sailor Moon S - Jougai Rantou! Shuyaku Soudatsusen (Japan).sfc
|Bleach: Dark Souls (NDS) ||BleachDSE.txt ||3494 - Bleach - Dark Souls (Europe) (En,Fr,De,Es,It).nds
|Breakers Revenge ||BreakersRevE.txt ||245-p1.p1
|Capcom vs SNK 2 (CVS2) ||cvs2e.txt ||SNKGD_SL.bin
|Clay Fighter: TE ||cftee.txt ||Clay Fighter - Tournament Edition (USA).sfc
|COTA (X-Men: Children of the Atom) ||cotae.txt ||xmn.05a
|Double Dragon ||DoubleDragonE.txt ||082-p1.p1
|Dragon Ball Z - Hyper Dimension (SNES) ||DBZHDE.txt ||dragon ball z - hyper dimension (japan).sfc
|Fatal Fury: King of Fighters ||FatalFury1E.txt ||033-p1.p1
|Fatal Fury Special (Neo-Geo) ||FatalFurySAE.txt ||058-p1.p1
|Fatal Fury Special (SNES) ||FatalFurySE.txt ||Fatal Fury Special (USA).sfc
|Garou ||GarouE.txt ||kf.neo-sma
|Garou for Steam ||GarouE.txt ||p1.bin
|Gundam Wing: Endless Duel (SNES) ||GundamE.txt ||Shin Kidou Senki Gundam W - Endless Duel (Japan).sfc
|Jojos (ROM 50) ||jojos50e.txt ||50 (Regulation must be off)
|Jojos (ROM 51) ||jojos51e.txt ||51 (Regulation must be off)
|Jojos (the RPG for SNES) ||JojosRPGE.txt ||jojo no kimyou na bouken (japan).sfc
|Karnov's Revenge ||KarnovsE.txt ||066-p1.p1
|King of the Monsters ||KOTMe.txt ||016-p1.p1
|Killer Instinct (SNES) ||KIE.txt ||Killer Instinct (USA) (Rev 1).sfc
|Kizuna Encounter ||KizunaE.txt ||216-p1.bin
|KOF94 ||kof94e.txt ||055-p1.p1
|KOF95 ||kof95e.txt ||084-p1.p1
|KOF96 ||kof96e.txt ||214-p2.sp2
|KOF97 ||kof97e.txt ||232-p2.sp2
|KOF98 ||kof98e.txt ||242-p2.sp2
|KOF98AE: 2016 ||KOF98AE2016E.txt ||242ae-p2.sp2
|KOF99AE ||kof99AEe.txt ||A,B colors: kof99ae_p2.bin|
C,D,AC,BD colors: kof99ae_p3.bin
|KOF00N ||kof00Ne.txt ||257-pg2.sp2
|KOF01 ||kof01e.txt ||262-p2-08-e0.sp2
|KOF02 ||kof02e.txt ||265-p2.sp2
|KOF02 (2002 PS2 hack) ||KOF02PS2E.txt ||265ps2-p2.bin
|KOF02:UM ||kof02ume.txt ||pal_a.bin
|KOF03 (2004 EX Ultra Plus) ||kof03e.txt ||2k3-p1up.bin
|KOF:XI ||kofxie.txt ||gdrom_KOFXI_v5_AllFighters.bin
|Last Blade ||LastBladeE.txt ||234-p1.p1
|Last Blade 2 ||LastBlade2E.txt ||243-pg1.bin
|Magical Drop III ||MagicalDropIIIE.txt ||233-p1.p1
|Martial Masters ||MartialMastersE.txt ||v104_32m.u9
|Matrimelee ||matrimeleee.txt ||266-p2.sp2
|Mega Man X (SNES) ||MMXE.txt ||MegaMan X (usa).sfc
|Mega Man X2 (SNES) ||MMX2E.txt ||MegaMan x2 (usa).sfc
|Mega Man X3 (SNES) ||MMX3E.txt ||MegaMan x3 (usa).sfc
|MMPR:TFE ||MMPRe.txt ||Mighty Morphin Power Rangers - The Fighting Edition (USA).sfc
|MSHVSF (ROM 6) ||mshvsf-6ae.txt ||mvs.06a
|MSHVSF (ROM 7) ||mshvsf-7be.txt ||mvs.07b
|MSH (ROM 5) ||MSHe.txt ||msh.05
|MSH (ROM 6) ||MSH06e.txt ||msh.06b
|MSH: War of the Gems (SNES) ||MSHWOTGE.txt ||Marvel Super Heroes in War of the Gems (USA).sfc
|MVC1 ||mvce.txt ||mvc.06 or mvc.06a
|MVC2 (Arcade) ||mvc2e.txt ||MarvelVsCapcom2_unlocked.bin
|Neo Bomberman ||NeoBombermanE.txt ||093-p1.bin
|NGBC ||NGBCe.txt ||NeoGeoBattleColliseum.bin
|Ninja Masters ||NinjaMastersE.txt ||217-p2.sp2
|Rage of the Dragons ||RotDE.txt ||264-p1.p1
|Ranma Nibunnoichi: Chougi Ranbu Hen (SNES) ||RanmaHBE.txt ||Ranma Nibunnoichi - Chougi Ranbu Hen (J).sfc
|Ranma Nibunnoichi: Hard Battle (SNES) ||RanmaHBE.txt ||ranma 1-2 - hard battle (usa).sfc
|Real Bout Fatal Fury 1 (Arcade) ||RBFF1E.txt ||095-p1.bin
|Real Bout Fatal Fury 2 (Arcade) ||RBFF2E.txt ||240-p1.bin
|Real Bout Fatal Fury Special (Arcade) ||RBFFSE.txt ||223-p1.p1
|Red Earth (Arcade, Stages) ||RedEarth30E.txt ||30
|Red Earth (Arcade, Characters) ||RedEarthE.txt ||31
|Ring of Destruction: Slam Masters 2 (Arcade) ||SlamMasters2E.txt ||smbe.05b
|Samurai Shodown ||SamShoE.txt ||045-p1.p1
|Samurai Shodown II ||SamSho2E.txt ||063-p1.p1
|Samurai Shodown III ||SamSho3E.txt ||087-p5.p5
|Samurai Shodown IV ||SamSho4E.txt ||222-p1.bin for FC1|
222-p1.p1 for FC2
|Samurai Shodown V ||SamSho5E.txt ||270-p1.bin
|Samurai Shodown V Special ||SamSho5SpE.txt ||272-p1.p1
|Savage Reign ||SavageReignE.txt ||059-p1.p1
|SF2:CE (ROM 21) ||sf2ce-21e.txt ||s92_21a.6f
|SF2:CE (ROM 22) ||sf2ce-22e.txt ||s92_22b.7f
|SF2:HF (ROM 21) ||sf2hf-21e.txt ||s2te_21.6f
|SF2:HF (ROM 22) ||sf2hf-22e.txt ||s2te_22.7f
|SFA1 ||SFA1e.txt ||sfz.06
|SFA2 (ROM 7) ||sfa2e.txt ||sz2j.07b
|SFA2 (ROM 8) ||sfa2-8e.txt ||sz2j.08b
|SFA3 ||sfa3e.txt ||sz3.09c
|SFZ3U ||sfz3ue.txt ||StreetFighterZero3Upper.bin
|SFIII1 ||sfiii1e.txt ||50
|SFIII2 ||sfiii2e.txt ||50
|SFIII3 (ROM 10) ||sfiii3-10e.txt ||10
|SFIII3 (ROM 51) ||sfiii3e.txt ||51
|SSF2T (ROM 3) ||ssf2t-3ce.txt ||sfxe.03c
|SSF2T (ROM 4) ||ssf2t-4ae.txt ||sfxe.04a
|SSF2T (ROM 8) ||ssf2t-8e.txt ||sfxe.08
|SSF2T (GBA) ||ssf2t-GBAe.txt ||Super Street Fighter II X - Revival (Japan).gba
|Super Dodge Ball (Neo-Geo) ||SDodgeballE.txt ||208-p1.p1
|Super Gem Fighter ||GemFighterE.txt ||pcf.07
|Super Puzzle Fighter II Turbo ||SPF2TE.txt ||pzf.04
|Super Variable Geo (SNES Japan) ||SVGe.txt ||Super Variable Geo (J).sfc
|SVC: SNK vs. CAPCOM SVC CHAOS Plus (bootleg set 2)
||svce.txt ||svc-p2pl.bin |
Other SVC ROMs are encrypted, which is why we don't do anything with them.
|TMNT: Tournament Fighters (SNES) ||TMNTTFE.txt ||sns-ky-0.u1
|Top Fighter 2005 ||TopF2005e.txt ||top fighter 2005 (unl).bin
|Unknown Game Mode ||UnknownE.txt ||Any file at all!
|Vampire Hunter 2 ||VHunt2e.txt ||vh2j.09
|Vampire Savior ||VSAVe.txt ||vm3j.10b
|Vampire Savior 2 ||VSAV2e.txt ||vs2j.10
|Waku Waku 7 ||WakuWaku7E.txt ||225-p1.p1
|Windjammers ||WindjammersE.txt ||065-p1.p1
|X-Men: Mutant Apocalypse (SNES) ||XMMAE.txt ||X-Men - Mutant Apocalypse (USA).sfc
|X-Men vs. Street Fighter (XMVSF) ||XMVSFe.txt ||xvs.05a
The games in that table that do support Extra files are interleaved across multiple files. The games in that table that do not support Extra files are split with one character per file: we can't meaningfully map an Extra file across that.
If you're trying to find game ROMs to change, Google is your friend. If you're using Fightcade, just google "Fightcade JSON".
Special Steps for Melty Blood
For some games you just need to extract the ZIP and point PalMod to those files. For Melty Blood Actress Again, though, you need to work a little harder.
(The "root" folder in this example is "MBAACC - Community Edition 2.0". You may have a different name for yours, but the contents are the same.)
From your root folder go to "Tools". Locate "dump.exe" under "File Extractor", you will need this. Copy/cut the program into "root\MBAACC"
Under "root\MBAACC", you'll find the files 000#.p. We want to extract 0002.p. Drag the files into dump.exe and a command prompt will pop up. Once it finishes extracting you should find a new folder named "out".
Under "root\MBAACC\out", you'll find a file named "data". Move that folder up back into "root\MBAACC" so that your new path is "root\MBAACC\data". Make sure you also put "0002.p" into the "data" folder so "mbaa.exe" can't find it. This will force the game to check the information in the "data" folder, which we can edit freely.
Open PalMod and select "File::Load Directory::Melty Blood AACC (Steam/Community Port)" Select the "data" folder: you'll be presented with the game's palettes to freely edit.
Special Steps for Guilty Gear
Guilty Gear uses encrypted files by default, but you can replace those with decrypted versions. So first you need to decrypt your files (or get a copy of the decrypted files), and then PalMod will be able to work with them.
||Usual palette file names
|DanKuGa ||DanKuGae.txt ||dkg_mpr3.20 and 3 other files
|Dengeki Bunko: Fighting Climax IGNITION ||(unsupported) ||Acr_s.pal and the oter PAL files
|GGXX:AC+R (Steam/PS3) ||(unsupported) ||ab.bin and the other BIN files
|GGXX #Reload (Steam/Community Port) ||(unsupported) ||cddata03.bin and the other BIN files
|Jojos (ROM 50) ||jojos50e.txt ||jojoba-simm5.0 to jojoba-simm5.3
|Jojos (ROM 51) ||jojos51e.txt ||jojoba-simm5.4 to jojoba-simm5.7
|Melty Blood Actress Again Current Code ||(unsupported) ||sion.pal and the other PAL files
|Million Arthur Arcana Blood (Steam) ||(unsupported) ||the PAL files in your Steam install
|MVC2 (Arcade) ||mvc2e.txt ||mpr-23051.ic20 and various other files
|MVC2 (Dreamcast) ||(unsupported) ||pl00_dat.bin and the other PL*DAT.BIN files
|MVC2 (Playstation 2/3) ||(unsupported) ||pl00pak.bin and the other PL*PAK.BIN files
|Persona 4 Arena Ultimax 2.0 (NESICA Community Port) ||(unsupported) ||char_ag_pal.pac and the other char_*_pal.pac files
|Red Earth (Arcade, Stages) ||RedEarth30E.txt ||redearth-simm3.0 to redearth-simm3.3
|Red Earth (Arcade, Characters) ||RedEarthE.txt ||redearth-simm3.4 to redearth-simm3.7
|SFIII1 ||sfiii1e.txt ||sfiii-simm5.0 and sfiii-simm5.1
|SFIII2 ||sfiii2e.txt ||sfiii2-simm5.0 to sfiii2-simm5.3
|SFIII3 (ROM 10) ||sfiii3-10e.txt ||sfiii3-simm1.0 to sfiii3-simm1.3
Japan: sfiii3n-simm1.0 to sfiii3n-simm1.3a
NOTE: Fightcade uses these files from sfiii3nr1.zip
|SFIII3 (ROM 51) ||sfiii3e.txt ||sfiii3-simm5.4 to sfiii3-simm5.7
Japan: sfiii3n-simm5.4 to sfiii3n-simm5.7
NOTE: Fightcade uses these files in sfiii3.zip
|SFIII3EX ||sfiii3e.txt ||sfiii3ex-simm7.0 to sfiii3ex-simm7.3
|SFIII3: 4rd Strike (ROM 10) ||sfiii3-10e.txt ||4rd-simm1.0 to 4rd-simm1.3
|SFIII3: 4rd Strike (ROM 51) ||sfiii3e.txt ||4rd-simm5.6 and 4rd-simm5.7
|SFIII3 (DC/PS2) ||(unsupported) ||pl00pl.bin and the other PL*PL.BIN files
|Under Night In-Birth Exe:Late[cl-r] ||(unsupported) ||Aka.pal and the other PAL files
If you have problems, please double-check this quick guide again.
If you're using Fightcade, Fightcade often uses multiple ZIP files for any given game. If you make changes but they're not showing up in Fightcade, they're probably in the other ZIP that Fightcade is using: change that one instead.
Then watch any of the guides on YouTube, if you haven't already watched one.
If you're still having problems, I might be able to help on Discord in one of the PalMod Discords if I'm on that one, or Twitter. Information that is useful to share:
The more details you can provide, the easier it is for me or others to help.
- What PalMod version you're using
- What version of what game you're trying to use
- What palette you're trying to modify, if relevant
- What version of what emulator you're using, if relevant
- What went wrong
- If it worked until recently - when did things go wrong, if you remember?