It seems commands 0x1C, 0x1D, and 0x1E all have to do with multitap emulation.
Command 0x1C enables/disables multitap emulation. Here are the parameters:
Code:
0 -> disables multitap emulation
1 -> enables multitap only for port 1 (when needed)
2 -> enables multitap only for port 2 (when needed)
memory card info shows as slot 1, not 1-A (only multitap 2?)
3 -> enables multitaps for both ports (when needed)
Command 0x1D sets a multitap into a specific controller port even if not needed. Here are the parameters:
Code:
0 -> default? sets a multitap into a port when needed
1 -> sets a multitap in port 1
2 -> sets a multitap in port 2
3 -> sets multitaps in both ports
Command 0x1D additionally changes the order/port to which controllers are synced.
Code:
0 -> 1/1-A, 2/2-A, 1-B, 2-B...
1 -> 1/1-A, 1-B, 1-C, 1-D...
2 -> 1/1-A, 2/2-A, 2-B, 2-C...
3 -> same as 0
Combining the commands with different parameters does the following:
Code:
0x1C - 0, 0x1D - 1: multitap not enabled even though 0x1D is at 1
0x1C - 0, 0x1D - 2: multitap not enabled even though 0x1D is at 2
0x1C - 1, 0x1D - 1: multitap enabled in port 1, same as without 0x1C?
0x1C - 1, 0x1D - 2: multitap enabled in port 1, disabled in port 2 but controllers sync to port 2
0x1C - 2, 0x1D - 2: multitap enabled in port 2, same as without 0x1C?
0x1C - 2, 0x1D - 1: multitap enabled in port 2, disabled in port 1 but controllers sync to port 1
0x1C - 3, 0x1D - 3: both multitaps enabled, same as without 0x1C?
0x1C - 0, 0x1D - 3: no multitaps enabled
0x1C - 1, 0x1D - 3: multitap enabled in port 1 only
0x1C - 2, 0x1D - 3: multitap enabled in port 2 only
So it makes sense that Medal of Honor uses 0x1C set at 1 and 0x1D set at 1 to have the multitap enabled in port 1 only and inserted at all times. Mystic Heroes uses 0x1D set at 2 since the game does not detect any multitap in controller port 1, and it also lets the controllers sync correctly to their usable controller port for multi-play mode.
Command 0x1E is still unknown to me. It doesn't seem to do anything apparent in FIFA 2001. Its parameter is set to 3, so maybe it is some setting adjustment to both multitaps?
I think it would be a good idea to make some multitap configs for games that support them. Most games require the multitap to be in a specific port, and the default controller syncing seems to only work okay for 8-player (7 usable) sports games. Games like 007: Nightfire needs the controllers to be manually changed to their respective ports (1-A, 1-B, 1-C, 1-D) in order to be functional, so command 0x1D set to 1 would fix that.
So, the first unofficial "multitap config" goes to:
007: NightFire (SLUS-20579, SLES-51258, SLES-51260, SLPS-25203, SLKA-25004)
Code:
3D 00 00 00 57 44 00 00 1C 00 00 00 01 00 00 00
1D 00 00 00 01 00 00 00
Enables a multitap in controller port 1 at all times and fixes controllers syncing to wrong ports.
I guess games will have to be tested how they function with multitaps in order to create proper configs. Sonic Riders must also use controller port 2 as the designated multitap port.