хз как бы так популярно объяснить...
в случае консолей, скажем мегадрайва, всё унифицированно - берем любой картридж, вставляем в консоль и игра нормально запускается, работает и играется. так же и в эмуляторах.
но вот незадача - в аркадах такого нифига нет.
даже в случае относительно унифицированных систем, типа NAOMI или Neo-Geo, играм не редко требуется специфичный "обвес" дополнительных устройств, защиты и прочего, без которых они не будут работать.
в случае старых платформ всё еще хуже - в каждой игре, или даже различных версиях одной и той же игры, материнки автомата были немного разные.
отсюда следует вопрос: если пользователь загружает какой-то "ром", как эмулятор догадается какую из десятков систем и сотен их разновидностей нужно эмулировать ? - а никак.
в эмуляторах жестко забито - если пользователь запускает сет "blabla" значит запускаем эмуляцию системы XXX с набором периферии YYY.
проблемы:
- наименования игр и сетов в эмуляторах могут отличаться.
- в старых эмуляторах дампы каких-то компонентов (типично микроконтроллеров) отсутствуют, потому что тогда еще не умели дампить, и они как-то HLE-симулируются. в более современных эмуляторах эти микроконтроллеры уже эмулируются, и потому требуются файлы их прошивки, отсутствующие в ромсетах более старых эмуляторов.
- со временем находятся более новые версии игр, так что заглавный сет скажем Mortal Kombat 3 в каком-то старом эмуляторе будет версии 2.0, но в каком-то более новом эмуляторе уже 3.0, и будет требовать соответствующие пзу при запуске.
- плюс еще вагончик подобных вещей.