MUP: Difference between revisions

From MAMEDEV Wiki
No edit summary
No edit summary
 
(38 intermediate revisions by the same user not shown)
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/alpha/alpha68k.cpp alpha/alpha68k] ==
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.
''' sbasebal and clone ''' - MCU simulation is incomplete (calculated pitcher launching speed). See driver for notes.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/alpha68k.cpp alpha68k] ==
''' goldmedla, golmedlb ''' - The current handling never really accesses video banking other than boot time.


''' 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).


''' sstingry ''' - Super Stingray MCU irq controls timer speed, needs the MCU to be hooked up.
== [http://github.com/mamedev/mame/blob/master/src/mame/alpha/meijinsn.cpp alpha/meijinsn]==
Protection simulation isn't right, there is a problem on the selection screen, it's usually not possible to choose tsume shogi (3 difficulty levels).


== [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 atari/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 atari/atarigt] ==
''' primrage, primrage20 ''' - 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/cdi.cpp cdi] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/cvs/cvs.cpp cvs/cvs] ==
General CDI emulation suffers from incomplete simulation of the SLAVE and CDIC MCUs.  Decapping would help.
''' raiders and clone ''' - Protection is patched out instead of simulated.


''' quizrd12, quizrd17, quizrd22 ''' - The protection has been beaten, but a decap of the MCU would permit real protection emulation.
== [http://github.com/mamedev/mame/blob/master/src/mame/dynax/ddenlovr.cpp dynax/ddenlovr] ==
''' quiz365, quiz365t ''' - Needs better simulation of the protection device.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/chqflag.cpp chqflag] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/funworld/funworld.cpp funworld/funworld] ==
Opponent car-to-car collisions direction are wrong.
''' mongolnw, soccernw ''' - Need to hook the missing microcontroller (TSC87C52-16CB) to emulate this game properly.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/igs/goldstar.cpp igs/goldstar] ==
''' flt7_50 and clones ''' - DS2401 protection not completely emulated.


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


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/cvs.cpp cvs] ==
''' mgdh ''' - Game ID check is patched out.
''' suprbike ''' - Hangs indefinitely when collecting balloon bonus the second time around, protection or s2650 core bug?


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/ddenlovr.cpp ddenlovr] ==
''' spkrform ''' - Poker game enabling forced with a patch.
''' quiz365, quiz365t ''' - Needs better simulation of the protection device.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/dec0.cpp dec0] ==
''' tjsb ''' - Fails the bonus round protection check (if enabled via DSW), see e.g. demo mode.
''' birdtry ''' - Better simulation / dump of the i8751 MCU.


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


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/funworld.cpp funworld] ==
''' dwpc''' - Missing proper ARM internal ROM dump, currently hacked, needs reset before working.
''' 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] ==
''' kov, kov115, kov100, kovplus, kovplusa, kovsgqyz, kovsgqyza, kovsgqyzb ''' - Arm is simulated, rom can be extracted and emulated.
''' 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] ==
''' olds, olds100, olds100a ''' - Somewhat playable, but protection simulation isn't perfect yet.
''' 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/jaleco/jalmah.cpp jaleco/jalmah] ==
''' twcup94, twcup94a ''' - MCU simulation isn't complete. MCU should be dumped.
''' daireika, mjzoomin, urashima ''' - unfinished m68k snippets.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/gsword.cpp gsword] ==
''' kakumei2 ''' - Uses protected RNG.
''' josvolly ''' - Missing MCU dump.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/igs017.cpp igs017] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/kaneko/snowbros.cpp kaneko/snowbros] ==
''' tjsb ''' - Protection is worked around, needs simulation.
''' yutnori ''' - Protection seems to handle sound.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/jalmah.cpp jalmah] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/kiwako/jongkyo.cpp kiwako/jongkyo] ==
''' daireika, mjzoomin, urashima ''' - unfinished m68k snippets.
Possibly uses some kind of memory space protection device, currently unemulated.


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


== [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 konami/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, winspikej ''' - 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/konami/mainevt.cpp konami/mainevt] ==
''' 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/konami/nemesis.cpp konami/nemesis] ==
''' gradiusb, twinbeeb ''' - Bubble System MCU is imperfectly simulated.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/merit/merit.cpp merit/merit] ==
''' dtrvwz5, unkmerit ''' - Missing CRT-209 dump, currently simulated.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/midway/williams.cpp midway/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.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/alinvade.cpp misc/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.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/astrcorp.cpp misc/astrcorp] ==
''' astoneag, dinodino, hacher, winbingo, zulu ''' - ROM overlay protection is patched for now, need proper implementation.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/magtouch.cpp magtouch] ==
''' magibomb, magibombe ''' - Protection isn't emulated but they seem to mostly run.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/coinmstr.cpp misc/coinmstr] ==
''' quizmstr ''' -
 
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/magtouch.cpp misc/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/mazerbla.cpp mazerbla] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/mil4000.cpp misc/mil4000] ==
''' mazerbla and clone ''' - They use a custom video controller which isn't fully understood.
''' chewheel ''' - MCU is only partially simulated.


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


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/mil4000.cpp mil4000] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/misc/vamphalf.cpp misc/vamphalf] ==
''' chewheel ''' - MCU is only partially simulated.
''' 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/msisaac.cpp msisaac] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/namco/namcond1.cpp namco/namcond1] ==
''' msisaac ''' - Missing M68705 MCU dump.
''' abcheck ''' -  


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/namcond1.cpp namcond1] ==
''' ncv2, ncv2j ''' - MCU emulation is imperfect.
''' ncv2, ncv2j ''' - MCU emulation is imperfect.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/ninjakd2.cpp ninjakd2] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/namco/namcos10.cpp namco/namcos10] ==
''' robokid and clones ''' - Random crashes probably related to protection.
''' gunbalina, ptblank3 ''' - Decryption algorithm not found yet.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/nmk16.cpp nmk16] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/neogeo/neogeo.cpp neogeo/neogeo] ==
''' hachamf, tdragon1 ''' - MCU simulation not hooked up.
''' sbp ''' - Patches protection, but some problems still remain.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/pacman.cpp pacman] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nichibutsu/clshroad.cpp nichibutsu/clshroad] ==
''' alibaba, alibabab ''' - Mistery items in Ali Baba don't work correctly because of protection.
''' firebatl ''' - Protection, possibly provided by the Z4 device at A8.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/pcat_dyn.cpp pcat_dyn] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nichibutsu/galivan.cpp nichibutsu/galivan] ==
''' toursol ''' -  
''' 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/pgm.cpp pgm] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/nintendo/snesb.cpp nintendo/snesb] ==
''' drgw3 and clones ''' - DMA protection device non completely emulated (DMA mode transfering 68k code to RAM is not emulated).
Most games use an MCU which isn't emulated yet.


''' kov, kov115, kov100, kovplus, kovplusa, kovsgqyz, kovsgqyza, kovsgqyzb ''' - Arm is simulated, rom can be extracted and emulated.
== [http://github.com/mamedev/mame/blob/master/src/mame/pacman/pacman.cpp pacman/pacman] ==
''' alibaba, alibabab ''' - Mistery items in Ali Baba don't work correctly because of protection.


''' olds, olds100, olds100a ''' - Somewhat playable, but protection simulation isn't perfect yet.
== [http://github.com/mamedev/mame/blob/master/src/mame/pc/pcat_dyn.cpp pc/pcat_dyn] ==
''' toursol ''' - The protection has been patched out instead of emulated.


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


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/segas16a.cpp segas16a] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/seta/speedatk.cpp seta/speedatk] ==
''' dumpmtmt, quartet, quarteta ''' - i8751 MCU dumps needed: the MCUs clearly do more than what's simulated.
IOX device is only simulated.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/seta.cpp seta] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/stern/mazerbla.cpp stern/mazerbla] ==
''' crazyfgt ''' - A protection check at boot is patched out instead of emulated.
''' mazerbla and clone ''' - They use a custom video controller which isn't fully understood.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/snowbros.cpp snowbros] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/suna/goindol.cpp suna/goindol] ==
''' yutnori ''' - Protection seems to handle sound.
''' goindol, goindolk, goindolu ''' - Currently protection is simulated with ROM patches.


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/strnskil.cpp strnskil] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/sunelectronics/markham.cpp sunelectronics/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/tmnt.cpp tmnt] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/taito/msisaac.cpp taito/msisaac] ==
''' glfgreat, glfgreatj ''' -
''' msisaac ''' - Missing M68705 MCU dump.
 
==[http://github.com/mamedev/mame/blob/master/src/mame/taito/qix.cpp taito/qix]==
''' kram3 ''' - Incompletely understood encryption.


== [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 taito/tsamurai] ==
''' vsgongf ''' -  
''' vsgongf ''' -  


== [http://github.com/mamedev/mame/blob/master/src/mame/drivers/williams.cpp williams] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/upl/ninjakd2.cpp upl/ninjakd2] ==
''' 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.
''' robokid and clones ''' - Random crashes probably related to protection.
 
== [http://github.com/mamedev/mame/blob/master/src/mame/valadon/bagman.cpp valadon/bagman] ==
''' 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/wink.cpp wink] ==
== [http://github.com/mamedev/mame/blob/master/src/mame/vsystem/gstriker.cpp vsystem/gstriker] ==
''' wink, winka ''' - Protection module has been reverse engineered but it's still missing something.
''' twcup94 and clones ''' - MCU simulation isn't complete. MCU should be dumped.

Latest revision as of 07:15, 4 December 2023

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.


alpha/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).

alpha/meijinsn

Protection simulation isn't right, there is a problem on the selection screen, it's usually not possible to choose tsume shogi (3 difficulty levels).

atari/atarig42

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

atari/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.

cvs/cvs

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

dynax/ddenlovr

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

funworld/funworld

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

igs/goldstar

flt7_50 and clones - DS2401 protection not completely emulated.

igs/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.

igs/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.

jaleco/jalmah

daireika, mjzoomin, urashima - unfinished m68k snippets.

kakumei2 - Uses protected RNG.

kaneko/snowbros

yutnori - Protection seems to handle sound.

kiwako/jongkyo

Possibly uses some kind of memory space protection device, currently unemulated.

konami/chqflag

Opponent car-to-car collisions direction are wrong.

konami/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.

konami/mainevt

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

konami/nemesis

gradiusb, twinbeeb - Bubble System MCU is imperfectly simulated.

merit/merit

dtrvwz5, unkmerit - Missing CRT-209 dump, currently simulated.

midway/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.

misc/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.

misc/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.

misc/coinmstr

quizmstr -

misc/magtouch

Protection has been patched out. Needs proper emulation.

misc/mil4000

chewheel - MCU is only partially simulated.

misc/skylncr

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

misc/vamphalf

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

namco/namcond1

abcheck -

ncv2, ncv2j - MCU emulation is imperfect.

namco/namcos10

gunbalina, ptblank3 - Decryption algorithm not found yet.

neogeo/neogeo

sbp - Patches protection, but some problems still remain.

nichibutsu/clshroad

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

nichibutsu/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.

nintendo/snesb

Most games use an MCU which isn't emulated yet.

pacman/pacman

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

pc/pcat_dyn

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

sega/segas16a

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

seta/speedatk

IOX device is only simulated.

stern/mazerbla

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

suna/goindol

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

sunelectronics/markham

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

taito/msisaac

msisaac - Missing M68705 MCU dump.

taito/qix

kram3 - Incompletely understood encryption.

taito/tsamurai

vsgongf -

upl/ninjakd2

robokid and clones - Random crashes probably related to protection.

valadon/bagman

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

vsystem/gstriker

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