I don’t know what you mean with "MAME 2002" as libretro provides only the “MAME 2000” core which is based on MAME 0.37b5
If you use one of the newer cores you have to update your roms as MAME is very picky about roms - they must match exactly what MAME expects them to be.
The MAME FAQ covers this.
Why does MAME report “missing files” even if I have the ROMs?
In brief,
- ROMs can change as better ROM-dumping techniques are invented or as details of game behaviour are more meticulously recorded. The latest version of MAME generally is optimised for the latest versions of game ROMs and may not work with older ROMS that lack some data.
- ROMs for different games sometimes had a lot in common (e.g. Galaga and Galaxians) so to save space, ROMs were split so that one ROM depended on resources in a “parent” ROM. Disk space is no longer an issue but old ROMs survive. There are “unmerged”, “split” and “merged” ROMS. You need the right ones.
- ROMS sometimes depend on external data that was originally stored separately these are sometimes in CHN files.
- Some ROMs depend on a common platform ROM, e.g. a common Atari system-ROM.
- MAME’s original objective was to document old arcade games. Providing backwards compatibility with older ROMs isn’t a top priority and this is complicated by the fact that IP issues mean that MAME cannot be supplied by the developers with ROMs.
You can check here on which version a mame core is based:
For example:
-
"MAME 2003"
MAME 0.78 for libretro. Compatible with MAME 0.78 romsets.
-
"MAME 2003-Plus"
Updated 2018 version of MAME (0.78) for libretro. with added game support plus many fixes and improvements
RetroArch works best with split romsets where rom and bios are separated:
mame2003
├── neogeo.zip
│ ├── 000-lo.lo crc=e09e253c
│ ├── asia-s3.rom crc=91b64be3
│ ├── sfix.sfx crc=354029fc
│ ├── sm1.sm1 crc=97cf998b
│ ├── sp-e.sp1 crc=2723a5b5
│ ├── sp-j2.rom crc=acede59c
│ ├── sp-s.sp1 crc=c7f2fa45
│ ├── sp-s2.sp1 crc=9036d879
│ ├── usa_2slt.bin crc=e72943de
│ └── vs-bios.rom crc=f0e8f27d
│
└── pulstar.zip
├── 089-c1.bin crc=63020fc6
├── 089-c2.bin crc=260e9d4d
├── 089-c3.bin crc=21ef41d7
├── 089-c4.bin crc=3b9e288f
├── 089-c5.bin crc=6fe9259c
├── 089-c6.bin crc=dc32f2b4
├── 089-c7.bin crc=6a5618ca
├── 089-c8.bin crc=a223572d
├── 089-m1.bin crc=ff3df7c7
├── 089-p1.bin crc=5e5847a2
├── 089-p2.bin crc=028b774c
├── 089-s1.bin crc=c79fc2c8
├── 089-v1.bin crc=b458ded2
└── 089-v2.bin crc=9d2db551
MAME 2003-Plus neogeo.zip has additional bios files:
mame2003-plus
└──neogeo.zip
├── asia-s3.rom crc=91b64be3
├── mame.sm1 crc=97cf998b
├── mamelo.lo crc=e09e253c
├── neo-epo.bin crc=d27a71f1
├── neodebug.rom crc=698ebb7d
├── sfix.sfx crc=354029fc
├── sp-e.sp1 crc=2723a5b5
├── sp-j2.sp1 crc=acede59c
├── sp-s.sp1 crc=c7f2fa45
├── sp-s2.sp1 crc=9036d879
├── uni-bios_1_0.rom crc=0ce453a0
├── uni-bios_1_1.rom crc=5dda0d84
├── uni-bios_1_3.rom crc=b24b44a0
├── uni-bios_2_0.rom crc=0c12c2ad
├── uni-bios_3_3.rom crc=24858466
├── usa_2slt.bin crc=e72943de
└── vs-bios.rom crc=f0e8f27d
recommended site to search for information of arcade games (including versionspecific rom-names, checksums):
http://adb.arcadeitalia.net/lista_mame.php
recommended tool to verify romsets:
https://mamedev.emulab.it/clrmamepro/