MUP: Difference between revisions

From MAMEDEV Wiki
No edit summary
No edit summary
Line 3: Line 3:




== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/alinvade.cpp alinvade] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/alinvade.cpp alinvade] ==
16 bytes are protected in the c*** range (see notes on top of the driver. Game seems to work fine even without protection simulation, though.
16 bytes are protected in the c*** range (see notes on top of the driver. Game seems to work fine even without protection simulation, though.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/alpha68k.cpp alpha68k] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/alpha/alpha68k.cpp alpha68k] ==
''' sbasebal and clone ''' - MCU simulation is incomplete (calculated pitcher launching speed). See driver for notes.
''' sbasebal and clone ''' - MCU simulation is incomplete (calculated pitcher launching speed). See driver for notes.


''' skysoldr and clone ''' - MCU simulation is incomplete (unemulated boss time out behaviour).
''' skysoldr and clone ''' - MCU simulation is incomplete (unemulated boss time out behaviour).


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/astrcorp.cpp astrcorp] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/astrcorp.cpp astrcorp] ==
''' astoneag, dinodino, hacher, winbingo, zulu ''' - ROM overlay protection is patched for now, need proper implementation.
''' astoneag, dinodino, hacher, winbingo, zulu ''' - ROM overlay protection is patched for now, need proper implementation.


''' magibomb, magibombe ''' - Protection isn't emulated but they seem to mostly run.
''' magibomb, magibombe ''' - Protection isn't emulated but they seem to mostly run.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/atarig42.cpp atarig42] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/atari/atarig42.cpp atarig42] ==
''' roadriot, roadrioto''' - ASIC65 for Road Riot not quite perfect.
''' roadriot, roadrioto''' - ASIC65 for Road Riot not quite perfect.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/atarigt.cpp atarigt] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/atari/atarigt.cpp atarigt] ==
''' primrage and clones ''' - Are pretty close, but not quite perfect. There are some sprite offsetting issues still and I'm not 100% sure the gameplay is all there.  
''' primrage and clones ''' - Are pretty close, but not quite perfect. There are some sprite offsetting issues still and I'm not 100% sure the gameplay is all there.  


''' tmek and clones ''' - Are interesting. We have a prototype version that plays well, but has no matching sound ROMs so you don't get sound. Then we have a non-prototype version that doesn't play correctly, but has fine sound. In theory, it might be possible to see the decrypted data in the prototype version and understand the process, but not much work has happened here.
''' tmek and clones ''' - Are interesting. We have a prototype version that plays well, but has no matching sound ROMs so you don't get sound. Then we have a non-prototype version that doesn't play correctly, but has fine sound. In theory, it might be possible to see the decrypted data in the prototype version and understand the process, but not much work has happened here.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/bagman.cpp bagman] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/valadon/bagman.cpp bagman] ==
''' bagmans3 ''' - There's extra code at 0x5f98 - 0x5fa5 that reads a value from $ed01. It's not clear what lives there.
''' bagmans3 ''' - There's extra code at 0x5f98 - 0x5fa5 that reads a value from $ed01. It's not clear what lives there.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/chqflag.cpp chqflag] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/chqflag.cpp chqflag] ==
Opponent car-to-car collisions direction are wrong.
Opponent car-to-car collisions direction are wrong.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/clshroad.cpp clshroad] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nichibutsu/clshroad.cpp clshroad] ==
''' firebatl ''' - Protection, possibly provided by the Z4 device at A8.
''' firebatl ''' - Protection, possibly provided by the Z4 device at A8.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/coinmstr.cpp coinmstr] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/coinmstr.cpp coinmstr] ==
''' quizmstr ''' -
''' quizmstr ''' -


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/cvs.cpp cvs] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/cvs/cvs.cpp cvs] ==
''' raiders and clone ''' - Protection is patched out instead of simulated.
''' raiders and clone ''' - Protection is patched out instead of simulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/ddenlovr.cpp ddenlovr] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nmk/ddealer.cpp ddealer] ==
Undumped MCU, currently simulated.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/dynax/ddenlovr.cpp ddenlovr] ==
''' quiz365, quiz365t ''' - Needs better simulation of the protection device.
''' quiz365, quiz365t ''' - Needs better simulation of the protection device.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/equites.cpp equites] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/funworld/funworld.cpp funworld] ==
 
== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/funworld.cpp funworld] ==
''' mongolnw, soccernw ''' - Need to hook the missing microcontroller (TSC87C52-16CB) to emulate this game properly.
''' mongolnw, soccernw ''' - Need to hook the missing microcontroller (TSC87C52-16CB) to emulate this game properly.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/galivan.cpp galivan] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nichibutsu/galivan.cpp galivan] ==
''' ninjemak and clones ''' - Likely missing MCU emulation/simulation for displaying text layer for Ninja Emaki. There is no text displayed when you enter Service Mode when there should be.
''' ninjemak and clones ''' - Likely missing MCU emulation/simulation for displaying text layer for Ninja Emaki. There is no text displayed when you enter Service Mode when there should be.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/goindol.cpp goindol] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/suna/goindol.cpp goindol] ==
''' goindol, goindolk, goindolu ''' - Currently protection is simulated with rom patches.
''' goindol, goindolk, goindolu ''' - Currently protection is simulated with ROM patches.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/gstriker.cpp gstriker] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/igs/goldstar.cpp goldstar] ==
''' twcup94, twcup94a ''' - MCU simulation isn't complete. MCU should be dumped.
''' flt7_50 and clones ''' - DS2401 protection not completely emulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/gsword.cpp gsword] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/vsystem/gstriker.cpp gstriker] ==
''' josvolly ''' - Missing MCU dump.
''' twcup94 and clones ''' - MCU simulation isn't complete. MCU should be dumped.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/igs017.cpp igs017] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/igs/igs017.cpp igs017] ==
''' lhzb2, slqz2 ''' - IGS022 protection needs more work.
''' lhzb2, slqz2 ''' - IGS022 protection needs more work.


Line 68: Line 69:
''' tjsb ''' - Fails the bonus round protection check (if enabled via DSW), see e.g. demo mode.
''' tjsb ''' - Fails the bonus round protection check (if enabled via DSW), see e.g. demo mode.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/jalmah.cpp jalmah] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/jaleco/jalmah.cpp jalmah] ==
''' daireika, mjzoomin, urashima ''' - unfinished m68k snippets.
''' daireika, mjzoomin, urashima ''' - unfinished m68k snippets.


''' kakumei2 ''' - Uses protected RNG.
''' kakumei2 ''' - Uses protected RNG.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/konamigx.cpp konamigx] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/konamigx.cpp konamigx] ==
''' salmndr2 and clones, sexyparo and clones ''' - ESC protection emulation incomplete (ships in attract mode).
''' salmndr2 and clones, sexyparo and clones ''' - ESC protection emulation incomplete (ships in attract mode).


''' winspike and clones ''' - Incomplete simulation of the protection provided by a Xilinx FPGA.
''' winspike and clones ''' - Incomplete simulation of the protection provided by a Xilinx FPGA.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/magtouch.cpp magtouch] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/magtouch.cpp magtouch] ==
Protection has been patched out. Needs proper emulation.
Protection has been patched out. Needs proper emulation.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/mainevt.cpp mainevt] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/mainevt.cpp mainevt] ==
''' devstors and clones ''' - Has player-trench collision detection issues, player isn't supposed to go through them.
''' devstors and clones ''' - Has player-trench collision detection issues, player isn't supposed to go through them.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/markham.cpp markham] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/sunelectronics/markham.cpp markham] ==
''' banbam, pettanp ''' - Protection MCU.. seems to be a data (or code?) ROM for it tho.
''' banbam, pettanp ''' - Protection MCU.. seems to be a data (or code?) ROM for it tho.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/mazerbla.cpp mazerbla] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/stern/mazerbla.cpp mazerbla] ==
''' mazerbla and clone ''' - They use a custom video controller which isn't fully understood.
''' mazerbla and clone ''' - They use a custom video controller which isn't fully understood.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/merit.cpp merit] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/merit/merit.cpp merit] ==
''' couple and clones ''' - Currently need a kludge because of undumped CRT-209 modules.
''' couple and clones ''' - Currently need a kludge because of not understood CRT-209 modules hookup.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/mil4000.cpp mil4000] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/mil4000.cpp mil4000] ==
''' chewheel ''' - MCU is only partially simulated.
''' chewheel ''' - MCU is only partially simulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/msisaac.cpp msisaac] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/taito/msisaac.cpp msisaac] ==
''' msisaac ''' - Missing M68705 MCU dump.
''' msisaac ''' - Missing M68705 MCU dump.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/namcond1.cpp namcond1] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/namco/namcond1.cpp namcond1] ==
''' abcheck ''' -  
''' abcheck ''' -  


''' ncv2, ncv2j ''' - MCU emulation is imperfect.
''' ncv2, ncv2j ''' - MCU emulation is imperfect.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/nemesis.cpp nemesis] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/konami/nemesis.cpp nemesis] ==
''' gradiusb, twinbeeb ''' - Bubble System MCU is imperfectly simulated.
''' gradiusb, twinbeeb ''' - Bubble System MCU is imperfectly simulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/ninjakd2.cpp ninjakd2] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/upl/ninjakd2.cpp ninjakd2] ==
''' robokid and clones ''' - Random crashes probably related to protection.
''' robokid and clones ''' - Random crashes probably related to protection.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/nmk16.cpp nmk16] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nmk/nmk16.cpp nmk16] ==
''' hachamf, tdragon1 ''' - MCU simulation not hooked up.
''' hachamf, tdragon1 ''' - MCU simulation not hooked up.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/pacman.cpp pacman] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/pacman/pacman.cpp pacman] ==
''' alibaba, alibabab ''' - Mistery items in Ali Baba don't work correctly because of protection.
''' alibaba, alibabab ''' - Mistery items in Ali Baba don't work correctly because of protection.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/pcat_dyn.cpp pcat_dyn] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/pc/pcat_dyn.cpp pcat_dyn] ==
''' toursol ''' - The protection has been patched out instead of emulated.
''' toursol ''' - The protection has been patched out instead of emulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/pgm.cpp pgm] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/igs/pgm.cpp pgm] ==
''' drgw3 and clones ''' - DMA protection device non completely emulated (DMA mode transfering 68k code to RAM is not emulated).
''' drgw3 and clones ''' - DMA protection device non completely emulated (DMA mode transfering 68k code to RAM is not emulated).


Line 128: Line 129:
''' olds, olds100, olds100a ''' - Somewhat playable, but protection simulation isn't perfect yet.
''' olds, olds100, olds100a ''' - Somewhat playable, but protection simulation isn't perfect yet.


==[http://github.com/mamedev/mame/blob/master/src/mame/drivers/qix.cpp qix]==
==[http://github.com/mamedev/mame/blob/master/src/mame/taito/qix.cpp qix]==
''' kram3 ''' - Incompletely understood encryption.
''' kram3 ''' - Incompletely understood encryption.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/segas16a.cpp segas16a] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/sega/segas16a.cpp segas16a] ==
''' dumpmtmt ''' - i8751 MCU dump needed: the MCU clearly does more than what's simulated.
''' dumpmtmt ''' - i8751 MCU dump needed: the MCU clearly does more than what's simulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/seta.cpp seta] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/seta/seta.cpp seta] ==
''' crazyfgt ''' - A protection check at boot is patched out instead of emulated.
''' crazyfgt ''' - A protection check at boot is patched out instead of emulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/skylancra.cpp skylancra] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/skylncr.cpp skylncr] ==
''' leadera ''' - A protection check is patched out instead of emulated.
''' leadera ''' - A protection check is patched out instead of emulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/snowbros.cpp snowbros] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/kaneko/snowbros.cpp snowbros] ==
''' yutnori ''' - Protection seems to handle sound.
''' yutnori ''' - Protection seems to handle sound.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/tsamurai.cpp tsamurai] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/taito/tsamurai.cpp tsamurai] ==
''' vsgongf ''' -  
''' vsgongf ''' -  


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/vamphalf.cpp vamphalf] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/vamphalf.cpp vamphalf] ==
''' wivernwg and clones ''' - They give a protection error after a certain number of plays / coins.
''' wivernwg and clones ''' - They give a protection error after a certain number of plays / coins.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/williams.cpp williams] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/midway/williams.cpp williams] ==
''' mayday and clones ''' - These games have an unemulated protection chip of some sort which is hacked around in /machine/williams.cpp "mayday_protection_r" function.
''' mayday and clones ''' - These games have an unemulated protection chip of some sort which is hacked around in /machine/williams.cpp "mayday_protection_r" function.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/wink.cpp wink] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/midcoin/wink.cpp wink] ==
''' wink, winka ''' - Protection module has been reverse engineered but it's still missing something.
''' wink, winka ''' - Protection module has been reverse engineered but it's still missing something.

Revision as of 10:11, 26 October 2022

This page is designed to allow for a quick look over all the drivers with a MACHINE_UNEMULATED_PROTECTION flag (but still working) by giving, as much as possible, an idea on the amount of effort needed to fix them.


alinvade

16 bytes are protected in the c*** range (see notes on top of the driver. Game seems to work fine even without protection simulation, though.

alpha68k

sbasebal and clone - MCU simulation is incomplete (calculated pitcher launching speed). See driver for notes.

skysoldr and clone - MCU simulation is incomplete (unemulated boss time out behaviour).

astrcorp

astoneag, dinodino, hacher, winbingo, zulu - ROM overlay protection is patched for now, need proper implementation.

magibomb, magibombe - Protection isn't emulated but they seem to mostly run.

atarig42

roadriot, roadrioto - ASIC65 for Road Riot not quite perfect.

atarigt

primrage and clones - Are pretty close, but not quite perfect. There are some sprite offsetting issues still and I'm not 100% sure the gameplay is all there.

tmek and clones - Are interesting. We have a prototype version that plays well, but has no matching sound ROMs so you don't get sound. Then we have a non-prototype version that doesn't play correctly, but has fine sound. In theory, it might be possible to see the decrypted data in the prototype version and understand the process, but not much work has happened here.

bagman

bagmans3 - There's extra code at 0x5f98 - 0x5fa5 that reads a value from $ed01. It's not clear what lives there.

chqflag

Opponent car-to-car collisions direction are wrong.

clshroad

firebatl - Protection, possibly provided by the Z4 device at A8.

coinmstr

quizmstr -

cvs

raiders and clone - Protection is patched out instead of simulated.

ddealer

Undumped MCU, currently simulated.

ddenlovr

quiz365, quiz365t - Needs better simulation of the protection device.

funworld

mongolnw, soccernw - Need to hook the missing microcontroller (TSC87C52-16CB) to emulate this game properly.

galivan

ninjemak and clones - Likely missing MCU emulation/simulation for displaying text layer for Ninja Emaki. There is no text displayed when you enter Service Mode when there should be.

goindol

goindol, goindolk, goindolu - Currently protection is simulated with ROM patches.

goldstar

flt7_50 and clones - DS2401 protection not completely emulated.

gstriker

twcup94 and clones - MCU simulation isn't complete. MCU should be dumped.

igs017

lhzb2, slqz2 - IGS022 protection needs more work.

mgdh - Game ID check is patched out.

spkrform - Poker game enabling forced with a patch.

tjsb - Fails the bonus round protection check (if enabled via DSW), see e.g. demo mode.

jalmah

daireika, mjzoomin, urashima - unfinished m68k snippets.

kakumei2 - Uses protected RNG.

konamigx

salmndr2 and clones, sexyparo and clones - ESC protection emulation incomplete (ships in attract mode).

winspike and clones - Incomplete simulation of the protection provided by a Xilinx FPGA.

magtouch

Protection has been patched out. Needs proper emulation.

mainevt

devstors and clones - Has player-trench collision detection issues, player isn't supposed to go through them.

markham

banbam, pettanp - Protection MCU.. seems to be a data (or code?) ROM for it tho.

mazerbla

mazerbla and clone - They use a custom video controller which isn't fully understood.

merit

couple and clones - Currently need a kludge because of not understood CRT-209 modules hookup.

mil4000

chewheel - MCU is only partially simulated.

msisaac

msisaac - Missing M68705 MCU dump.

namcond1

abcheck -

ncv2, ncv2j - MCU emulation is imperfect.

nemesis

gradiusb, twinbeeb - Bubble System MCU is imperfectly simulated.

ninjakd2

robokid and clones - Random crashes probably related to protection.

nmk16

hachamf, tdragon1 - MCU simulation not hooked up.

pacman

alibaba, alibabab - Mistery items in Ali Baba don't work correctly because of protection.

pcat_dyn

toursol - The protection has been patched out instead of emulated.

pgm

drgw3 and clones - DMA protection device non completely emulated (DMA mode transfering 68k code to RAM is not emulated).

dwpc - Missing proper ARM internal ROM dump, currently hacked, needs reset before working.

kov, kov115, kov100, kovplus, kovplusa, kovsgqyz, kovsgqyza, kovsgqyzb - Arm is simulated, rom can be extracted and emulated.

olds, olds100, olds100a - Somewhat playable, but protection simulation isn't perfect yet.

qix

kram3 - Incompletely understood encryption.

segas16a

dumpmtmt - i8751 MCU dump needed: the MCU clearly does more than what's simulated.

seta

crazyfgt - A protection check at boot is patched out instead of emulated.

skylncr

leadera - A protection check is patched out instead of emulated.

snowbros

yutnori - Protection seems to handle sound.

tsamurai

vsgongf -

vamphalf

wivernwg and clones - They give a protection error after a certain number of plays / coins.

williams

mayday and clones - These games have an unemulated protection chip of some sort which is hacked around in /machine/williams.cpp "mayday_protection_r" function.

wink

wink, winka - Protection module has been reverse engineered but it's still missing something.