XCOTA TAG v4.1 - four players in RetroArch
==========================================

Four people, four X-Men, on one PC or online. This download has everything except
RetroArch and your ROM: the XCOTA TAG core, the four-player installer and a launcher.

RetroArch's own cores can't run it. FB Alpha 2012 and FinalBurn Neo read two players for
this game and don't know the four-player set ("Romset is unknown"). The launcher below
always starts the XCOTA TAG core, so you never pick a core yourself.


WINDOWS: START HERE
-------------------
1. Install RetroArch. It's free: https://www.retroarch.com > Download > Windows >
   Installer. Keep the folder it suggests (C:\RetroArch-Win64).

2. Unzip this download: right-click it > Extract All. RetroArch can't open the zip.

3. Put your clean xmcota.zip in the extracted folder, next to PLAY XCOTA TAG 4P.cmd.
   The one Fightcade uses works, as long as it isn't patched.

4. Double-click PLAY XCOTA TAG 4P.cmd.
   The first time, it makes xmcota4p.zip (the four-player game) from your xmcota.zip,
   finds RetroArch, copies the XCOTA TAG core into it and starts the game.
   If Windows says it protected your PC: More info > Run anyway.

5. Give each player a controller. Plug them all in first. In RetroArch press F1, then:
      Settings > Input > RetroPad Binds > Port 1 Controls > Device Index
   and pick player 1's pad. Do the same for Port 2, Port 3 and Port 4.
   Ports 1 and 3 are one team, ports 2 and 4 the other.
   Main Menu > Configuration File > Save Current Configuration keeps it.
   Press F1 again to go back to the game.

Next time, just double-click PLAY XCOTA TAG 4P.cmd.


IN THE GAME
-----------
No coins and no Start button: HP+HK joins. P1 and P2 pick their team's first X-Man,
P3 and P4 the second. In a fight HP+HK tags. At Level Max, QCF+HP+HK is a team super
and QCB+HP+HK calls Cross Over Fever.

  RetroPad button   arcade button      on an Xbox pad
  Y                 light punch        X
  X                 medium punch       Y
  L                 heavy punch        LB
  B                 light kick         A
  A                 medium kick        B
  R                 heavy kick         RB
  L2                all three punches  LT
  R2                all three kicks    RT


CHECK THAT IT'S THE RIGHT CORE
------------------------------
RetroArch's title bar, and the bottom line of its menu, say "(XCOTA TAG)".
If they say "FB Alpha 2012", or "FinalBurn Neo" without "(XCOTA TAG)", that's one of
RetroArch's own cores. Close RetroArch and start with PLAY XCOTA TAG 4P.cmd.


IF SOMETHING'S WRONG
--------------------
"Romset is unknown"
    RetroArch's own core is running, or the game file was renamed. Start with
    PLAY XCOTA TAG 4P.cmd. The four-player game must be called xmcota4p.zip.

Ports 3 and 4 have nothing to map (every button shows ---)
    The two-player game is loaded (xmcota.zip or xmcota_tag_v4.1.zip). Four players
    need xmcota4p.zip, which the launcher makes.

One player's controller doesn't move anybody
    That port has no controller. Set its Device Index (step 5).

RetroArch lists xcota-tag-v4.1-retroarch.zip in its file browser
    Unzip it in Windows first (step 2).

The launcher says the installer didn't make xmcota4p.zip
    Your xmcota.zip isn't the clean Euro 950331 set, or it's already patched. Use an
    unpatched one. The installer's own message says which.

The launcher can't find RetroArch
    Drag retroarch.exe, or its folder, into the launcher's window and press Enter.
    It remembers the place.


WITHOUT THE LAUNCHER, AND ON LINUX AND MACOS
--------------------------------------------
1. Make xmcota4p.zip: drag your clean xmcota.zip onto xcota-tag-v4.1-4p-preview.cmd
   (Windows), or run the Python patcher from the four-player patch package:
      python3 xcota_tag_4p_patch.py /path/to/xmcota.zip
   Keep the name xmcota4p.zip.
2. Put the core in RetroArch: Main Menu > Load Core > Install or Restore a Core, and pick
   fbneo_xcota_libretro.dll (Windows) or fbneo_xcota_libretro.so (Linux). Copy
   fbneo_xcota_libretro.info into RetroArch's info folder (Settings > Directory > Core
   Info shows where), so the core shows up under its name.
3. Load Core > Arcade (FinalBurn Neo - XCOTA TAG), then Load Content > xmcota4p.zip.

Linux: sh play_xcota_tag_4p.sh does the same as the Windows launcher once xmcota4p.zip
       is next to it.
macOS: there's no ready-made macOS core yet. Open Terminal in the src folder and run
          sh build_core.sh
       It needs Xcode's command line tools (xcode-select --install). It builds
       fbneo_xcota_libretro.dylib and puts it next to play_xcota_tag_4p.sh.
       Then run  sh play_xcota_tag_4p.sh


FOUR PLAYERS ONLINE
-------------------
Parsec (the easiest): one player hosts. The host sets everything up as above and
shares the screen with Parsec. The three guests connect with Parsec and plug in their
pads; Parsec gives each of them a pad on the host's PC. The host sets Port 1 to their
own pad and Ports 2, 3 and 4 to the guests' pads, then saves the configuration. Only
the host needs the core and the ROM. For the least delay: the host on a wired
connection, RetroArch fullscreen, Vsync on.

RetroArch netplay: everyone needs this same download and makes their own xmcota4p.zip
(the same clean xmcota.zip always gives the same file). Before joining, each player
turns on Settings > User Interface > Show Advanced Settings, then sets Settings >
Network > Request Device to YES for their own port only (P1 port 1, P3 port 3, and so
on). The host uses Main Menu > Netplay > Host; the others join from Netplay > Refresh
Netplay Host List.


TWO PLAYERS
-----------
For two players, use the two-player XCOTA TAG (morphus56k.com/downloads/xcota-tag): it
plays in Fightcade, in MAME, and in this core as xmcota.zip.


WHAT'S IN THIS DOWNLOAD
-----------------------
  PLAY XCOTA TAG 4P.cmd            the Windows launcher: makes the game, installs the core,
                                   starts RetroArch with both
  xcota-tag-v4.1-4p-preview.cmd    the four-player installer (the launcher runs it)
  play_xcota_tag_4p.sh             the launcher for Linux and macOS
  fbneo_xcota_libretro.dll         the core for Windows (64-bit)
  fbneo_xcota_libretro.so          the core for Linux (64-bit)
  fbneo_xcota_libretro.info        its RetroArch info file (the name in Load Core)
  src/                             the core's source patch, its patcher and build_core.sh
  FBNEO_LICENSE.txt                FinalBurn Neo's licence, which applies to the core
No ROM data is included. The installer holds patch data and hashes, and checks that your
xmcota.zip is the clean set before it writes anything.


WHAT WAS TESTED (diagnostic runs, September 2026)
-------------------------------------------------
- The Linux core: loads xmcota4p.zip; on every port all six buttons and four directions
  reach the game, with no cross-talk between ports; a four-player game played through.
- The Windows core, under Wine 9 on Linux with a small test host: it loads the
  installer's xmcota4p.zip (alone, and with a clean xmcota.zip beside it), gives ports 3
  and 4 their buttons, and every button of every port reaches the game with no
  cross-talk. The two-player file gives "Romset is unknown", as it should.
- The launcher, under Wine 9's cmd with a stand-in retroarch.exe: RetroArch found in its
  usual folder, in a folder given by dragging, and from its saved place; the game beside
  the launcher, in Downloads, renamed, or made from a clean xmcota.zip; the two-player
  file, no game at all, the pack still zipped, a custom cores folder.
- Not yet run: the core and the launcher on Windows itself, a Parsec or netplay session
  with four people, macOS.


LICENCE
-------
FinalBurn Neo's licence applies to the core (FBNEO_LICENSE.txt): free and non-commercial.
The source changes are in src/.
