Users browsing this thread: 1 Guest(s)
Adding an Intro to FF3us
Adding an Intro (Splash Screen) to FF3us
This tutorial is mirrored on the FF6 Hacking wiki.
This short tutorial will cover how to add an intro, or commonly called also splash screen, to FF3us. The code and process is based on a more general tutorial that is somewhat outdated due to the utilities used in it not being able to run on x64 systems.
1. Requirements
You'll need the following to complete the tutorial:
- the files used in this tutorial
- bass
- superfamiconv (or snesgfx262)
- snesgfx262 (or superfamiconv)
- an image editor (as an example Gimp)
- a hex editor (optional, as an example HxD)
- an IPS patching utility (optional, as an example Floating IPS)
- an expanded FF3us ROM (32Mbit is more than enough)
2. Preparing the ROM and Image
If you ROM is not expanded, you can do it with Lunar Expand or FF3usME. You'll only need an extra bank, so 28Mbit or 32Mbit expansion is enough. You'll need first to have an image in PNG format. The image must be 256x224 and indexed to 256 colors. The image can have less than 256 colors though. This preparation can be done with Gimp and showing in detail how to do these steps is a bit out of scope for this tutorial. However to index to 256 color, you need to select Image -> mode -> Indexed and then select an optimal palette of 256 colors.
The image used in this tutorial is the following one and was based on this wallpaper.
3a. Using superfamiconv
This is the most straightforward conversion method. If you really want a GUI application, go to next section right away.
You simply put your image (here test.png) in same folder as the superfamiconv utility and type the following in Windows command prompt (after moving in said directory):
superfamiconv -i test.png -p palette.bin -t tiles.bin -m map.bin --no-flip --bpp 8 --map-width 32 --map-height 28
This will generate 3 files: tiles.bin, palette.bin and map.bin. Alternatively, if you named your image test.png, you can simply move the superfamiconv.bat file in the utility folder and execute it to do the conversion. You can now skip next section and continue after.
3b. Using snesgfx262
You can also use this GUI utility to generate the files needed. Here are the suggested settings:
Now after the conversion you'll need to rename the 3 files:
test.bin -> tiles.bin
pal.mw3 -> palette.bin
test_map_16.bin -> map.bin
You can optionally trim the last two bytes of palette file and the extra $100 byte in the map file but anyway the DMA transfers coded are transferring 0x200 and 0x700 bytes so there is no worry. These extra step will make you save a bit of space that's all.
4. Assembling the Intro
When you have your 3 files ready, move them in same directory as bass and intro.asm. You can edit the ASM file to specify a bank for your code and data; since the hack take almost a full bank, it is suggested to input an offset of a bank start, here $F30000. You can either keep or change this offset to another bank. For general info, the tiles can take up to $E000 bytes. If you add the map ($700 bytes), palette ($200 bytes) and code (about $200 bytes maximum), we are consuming $EA00-$EB00 bytes, hence the need to use a bank start offset to keep everything in same bank. You can also specify if you need to press a key to proceed to the beginning of FF6 intro or not. In this case input a 1 instead of the 0 on the varKeyPress variable:
After this all is needed is assembling the hack with bass:
bass -o romname.smc intro.asm
Alternatively, if you named your rom "rom.smc", you can simply run the bass.bat file to assemble the hack.
5. Removing the White FF3us Logo
If you want to remove the default FF3us Intro, you can simply remove the JSR here:
Code:
7E/501A: 20F750 JSR $50F7 (Handler for white logo)
If you have a vanilla $C2 compressed block, no need to decompress and recompress it, the 3 bytes are directly accessible at $C2688C:
A patch is available for this small hack in the archive you are supposed to have downloaded. A patch for the splash screen used in this tutorial is also available. Both patches are for an unheadered FF3us ROM.
That is all for this tutorial!
The following 3 users say Thank You to madsiur for this post:
• m06 (04-06-2018), ScarabEnigma (04-06-2018), seibaby (04-06-2018)
• m06 (04-06-2018), ScarabEnigma (04-06-2018), seibaby (04-06-2018)
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)