ID |
Category [?] |
Severity [?] |
Reproducibility |
Date Submitted |
Last Update |
07116 |
Save/Restore |
Major |
Always |
Oct 17, 2018, 13:23 |
Dec 21, 2018, 01:41 |
|
Tester |
Tafoid |
View Status |
Public |
Platform |
MAME (Official Binary) |
Assigned To |
galibert |
Resolution |
Fixed |
OS |
Windows Vista/7/8 (64-bit) |
Status [?] |
Resolved |
|
Driver |
|
Version |
0.202 |
Fixed in Version |
0.205 |
Build |
64-bit |
| |
Fixed in Git Commit |
|
Github Pull Request # |
|
|
Summary |
07116: Numerous Drivers: Save State Breakage |
Description |
A number of drivers are not properly saving state anymore when they used to work fine. |
Steps To Reproduce |
I've attached a list of machines which throw a PNG difference when you compare a regular -str 20 run vs an -autosave -str 4/8/12/16/20 (essentially stopping and reloading 5 times). Most of these manifest in a reboot, and extra watchdog or bad rom data being detected in testing. The one I used to a test that reacted on the first -str increment (from -str 4 to -str 8) was PHOENIX.
To verify:
1. Ensure sta/phoenix/auto.sta does not exist
2. mame64 phoenix -autosave -str 4
3. mame64 phoenix -autosave -str 8
Normally, the machine will continue booting and displaying the demonstration scree/play. But, in this instance, the continuation of the -autosave causes the machine to start over. |
Additional Information |
The breakage is related to emunum changes and other memory changes in this commit:
https://github.com/mamedev/mame/commit/a704ed7b1b121c3bcff52d49bff8372360fe907c
The list of detected breakage (with snapshot comparisons of -str 20 and -autosave -str 20 staggered) is:
1942.cpp - 1942
1942.cpp - 1942a
1942.cpp - 1942abl
1942.cpp - 1942b
1942.cpp - 1942h
1942.cpp - 1942p
1942.cpp - 1942w
20pacgal.cpp - 20pacgal
20pacgal.cpp - 20pacgalr0
20pacgal.cpp - 20pacgalr1
20pacgal.cpp - 20pacgalr2
20pacgal.cpp - 20pacgalr3
20pacgal.cpp - 20pacgalr4
8080bw.cpp - invmultis1a
8080bw.cpp - invmultis2a
albazg.cpp - yumefuda
aliens.cpp - aliens
aliens.cpp - aliens2
aliens.cpp - aliens3
aliens.cpp - aliensa
aliens.cpp - aliensj
aliens.cpp - aliensj2
aliens.cpp - aliensu
angelkds.cpp - angelkds
argus.cpp - argus
argus.cpp - valtric
asteroid.cpp - astdelux1
astrocde.cpp - profpac
atarisy2.cpp - paperboy
atarisy2.cpp - paperboyr1
atarisy2.cpp - paperboyr2
balsente.cpp - gimeabrk
balsente.cpp - grudge
balsente.cpp - grudgep
balsente.cpp - nametune
balsente.cpp - nametune2
balsente.cpp - nstocker
balsente.cpp - nstocker2
balsente.cpp - rescraid
balsente.cpp - rescraida
balsente.cpp - snakepit
balsente.cpp - snakepit2
balsente.cpp - triviabb
balsente.cpp - triviaes
balsente.cpp - triviag2
balsente.cpp - triviasp
balsente.cpp - triviayp
battlnts.cpp - thehustl
battlnts.cpp - thehustlj
bfm_sc1.cpp - sc1armad
bfm_sc1.cpp - sc1barcd
bfm_sc1.cpp - sc1barcda
bfm_sc1.cpp - sc1btbc
bfm_sc1.cpp - sc1calyp
bfm_sc1.cpp - sc1carro
bfm_sc1.cpp - sc1ccoin
bfm_sc1.cpp - sc1cdm
bfm_sc1.cpp - sc1cexpl
bfm_sc1.cpp - sc1chain
bfm_sc1.cpp - sc1china
bfm_sc1.cpp - sc1chinaa
bfm_sc1.cpp - sc1chinaap
bfm_sc1.cpp - sc1chinab
bfm_sc1.cpp - sc1chinabp
bfm_sc1.cpp - sc1chinap
bfm_sc1.cpp - sc1chqfl
bfm_sc1.cpp - sc1cl65a
bfm_sc1.cpp - sc1cl65ap
bfm_sc1.cpp - sc1cl65b
bfm_sc1.cpp - sc1cl65bp
bfm_sc1.cpp - sc1cl65cp
bfm_sc1.cpp - sc1clbdy
bfm_sc1.cpp - sc1clbdya
bfm_sc1.cpp - sc1clbrn
bfm_sc1.cpp - sc1clbsp
bfm_sc1.cpp - sc1clbtm
bfm_sc1.cpp - sc1clbtma
bfm_sc1.cpp - sc1clbw
bfm_sc1.cpp - sc1clbwa
bfm_sc1.cpp - sc1clbxp
bfm_sc1.cpp - sc1clbxpa
bfm_sc1.cpp - sc1clins
bfm_sc1.cpp - sc1clinsc
bfm_sc1.cpp - sc1clinsd
bfm_sc1.cpp - sc1count
bfm_sc1.cpp - sc1counta
bfm_sc1.cpp - sc1countap
bfm_sc1.cpp - sc1countp
bfm_sc1.cpp - sc1crzyc
bfm_sc1.cpp - sc1crzyca
bfm_sc1.cpp - sc1cscl
bfm_sc1.cpp - sc1cscla
bfm_sc1.cpp - sc1cshat
bfm_sc1.cpp - sc1cshata
bfm_sc1.cpp - sc1cshatb
bfm_sc1.cpp - sc1cshatc
bfm_sc1.cpp - sc1cshatf
bfm_sc1.cpp - sc1cshatg
bfm_sc1.cpp - sc1cshati
bfm_sc1.cpp - sc1cshcda
bfm_sc1.cpp - sc1cshin
bfm_sc1.cpp - sc1cshwz
bfm_sc1.cpp - sc1cshwzb
bfm_sc1.cpp - sc1cshwze
bfm_sc1.cpp - sc1cshwzf
bfm_sc1.cpp - sc1cwcl
bfm_sc1.cpp - sc1dago
bfm_sc1.cpp - sc1days
bfm_sc1.cpp - sc1daysa
bfm_sc1.cpp - sc1dblch
bfm_sc1.cpp - sc1disc
bfm_sc1.cpp - sc1dream
bfm_sc1.cpp - sc1driv
bfm_sc1.cpp - sc1driva
bfm_sc1.cpp - sc1drivb
bfm_sc1.cpp - sc1drivc
bfm_sc1.cpp - sc1funh
bfm_sc1.cpp - sc1funha
bfm_sc1.cpp - sc1gslam
bfm_sc1.cpp - sc1gtime
bfm_sc1.cpp - sc1happy
bfm_sc1.cpp - sc1hipt
bfm_sc1.cpp - sc1hipta
bfm_sc1.cpp - sc1kings
bfm_sc1.cpp - sc1linxa
bfm_sc1.cpp - sc1linxp
bfm_sc1.cpp - sc1lotus
bfm_sc1.cpp - sc1lotusa
bfm_sc1.cpp - sc1manha
bfm_sc1.cpp - sc1mast
bfm_sc1.cpp - sc1mist
bfm_sc1.cpp - sc1orac
bfm_sc1.cpp - sc1pwrl
bfm_sc1.cpp - sc1rain
bfm_sc1.cpp - sc1rose
bfm_sc1.cpp - sc1shan
bfm_sc1.cpp - sc1sir
bfm_sc1.cpp - sc1sirb
bfm_sc1.cpp - sc1spcta
bfm_sc1.cpp - sc1spit
bfm_sc1.cpp - sc1ster
bfm_sc1.cpp - sc1strk
bfm_sc1.cpp - sc1supfl
bfm_sc1.cpp - sc1tiara
bfm_sc1.cpp - sc1torna
bfm_sc1.cpp - sc1tri
bfm_sc1.cpp - sc1tria
bfm_sc1.cpp - sc1triap
bfm_sc1.cpp - sc1trib
bfm_sc1.cpp - sc1tribp
bfm_sc1.cpp - sc1typ
bfm_sc1.cpp - sc1typp
bfm_sc1.cpp - sc1ult
bfm_sc1.cpp - sc1vent
bfm_sc1.cpp - sc1voy
bfm_sc1.cpp - sc1voya
bfm_sc1.cpp - sc1vsd
bfm_sc1.cpp - sc1winfl
bfm_sc1.cpp - sc1winst
bfm_sc1.cpp - sc1winstp
bfm_sc1.cpp - sc1wof
bfm_sc1.cpp - sc1wofa
bfm_sc1.cpp - sc1wofb
bfm_sc1.cpp - sc1wud
bfm_sc1.cpp - sc1zep
bfm_sc2.cpp - sc2brkfs1p
bfm_sc2.cpp - sc2brkfs3
bfm_sc2.cpp - sc2brkfs4p
bfm_sc2.cpp - sc2brkfsm1
bfm_sc2.cpp - sc2brkfsm2
bfm_sc2.cpp - sc2casr1
bfm_sc2.cpp - sc2casr1p
bfm_sc2.cpp - sc2casr2
bfm_sc2.cpp - sc2casr2p
bfm_sc2.cpp - sc2casr3
bfm_sc2.cpp - sc2casr3p
bfm_sc2.cpp - sc2casr4
bfm_sc2.cpp - sc2casr4p
bfm_sc2.cpp - sc2casrp
bfm_sc2.cpp - sc2catms1
bfm_sc2.cpp - sc2catms1p
bfm_sc2.cpp - sc2catms2
bfm_sc2.cpp - sc2catms3
bfm_sc2.cpp - sc2cb7
bfm_sc2.cpp - sc2cb71
bfm_sc2.cpp - sc2cb72
bfm_sc2.cpp - sc2cb7p
bfm_sc2.cpp - sc2cexpl
bfm_sc2.cpp - sc2cexpla
bfm_sc2.cpp - sc2cexplb
bfm_sc2.cpp - sc2cexplc
bfm_sc2.cpp - sc2cexpld
bfm_sc2.cpp - sc2cexple
bfm_sc2.cpp - sc2cgc
bfm_sc2.cpp - sc2cgcas
bfm_sc2.cpp - sc2cgcas1
bfm_sc2.cpp - sc2cgcas1p
bfm_sc2.cpp - sc2cgcasp
bfm_sc2.cpp - sc2cmbtp
bfm_sc2.cpp - sc2cnile
bfm_sc2.cpp - sc2cnile1
bfm_sc2.cpp - sc2cnile2
bfm_sc2.cpp - sc2cnile2p
bfm_sc2.cpp - sc2cnilep
bfm_sc2.cpp - sc2copcl2
bfm_sc2.cpp - sc2copcl3p
bfm_sc2.cpp - sc2copcl6
bfm_sc2.cpp - sc2copcl6p
bfm_sc2.cpp - sc2copcl7
bfm_sc2.cpp - sc2copcl8
bfm_sc2.cpp - sc2copcl8p
bfm_sc2.cpp - sc2copclp
bfm_sc2.cpp - sc2copdc1
bfm_sc2.cpp - sc2copdc1p
bfm_sc2.cpp - sc2copdc2p
bfm_sc2.cpp - sc2copdc4p
bfm_sc2.cpp - sc2copdc5p
bfm_sc2.cpp - sc2copdcp
bfm_sc2.cpp - sc2cops
bfm_sc2.cpp - sc2cops1p
bfm_sc2.cpp - sc2cpe
bfm_sc2.cpp - sc2cpe1
bfm_sc2.cpp - sc2cpe1p
bfm_sc2.cpp - sc2cpe3
bfm_sc2.cpp - sc2cpe3p
bfm_sc2.cpp - sc2cpe4
bfm_sc2.cpp - sc2cpe4p
bfm_sc2.cpp - sc2cpg
bfm_sc2.cpp - sc2cpg1
bfm_sc2.cpp - sc2cpg1p
bfm_sc2.cpp - sc2cpg2
bfm_sc2.cpp - sc2cpg2p
bfm_sc2.cpp - sc2cpgp
bfm_sc2.cpp - sc2cshcl
bfm_sc2.cpp - sc2cshcl1p
bfm_sc2.cpp - sc2cshclp
bfm_sc2.cpp - sc2ctms21
bfm_sc2.cpp - sc2ctms21p
bfm_sc2.cpp - sc2ctms22
bfm_sc2.cpp - sc2ctms22p
bfm_sc2.cpp - sc2ctms23
bfm_sc2.cpp - sc2ctms23p
bfm_sc2.cpp - sc2cvega
bfm_sc2.cpp - sc2cvega1
bfm_sc2.cpp - sc2cvega2
bfm_sc2.cpp - sc2cvega2p
bfm_sc2.cpp - sc2cvega3
bfm_sc2.cpp - sc2cvega3p
bfm_sc2.cpp - sc2cvega4p
bfm_sc2.cpp - sc2dbl
bfm_sc2.cpp - sc2dbl1
bfm_sc2.cpp - sc2dblp
bfm_sc2.cpp - sc2dels
bfm_sc2.cpp - sc2dels1p
bfm_sc2.cpp - sc2dels2p
bfm_sc2.cpp - sc2dels3
bfm_sc2.cpp - sc2dels3p
bfm_sc2.cpp - sc2dels4
bfm_sc2.cpp - sc2dels4p
bfm_sc2.cpp - sc2dels5
bfm_sc2.cpp - sc2dels6
bfm_sc2.cpp - sc2dels7
bfm_sc2.cpp - sc2dels8
bfm_sc2.cpp - sc2dels9
bfm_sc2.cpp - sc2delsd
bfm_sc2.cpp - sc2delsp
bfm_sc2.cpp - sc2dick1
bfm_sc2.cpp - sc2dick2eu
bfm_sc2.cpp - sc2downt
bfm_sc2.cpp - sc2downt1
bfm_sc2.cpp - sc2downt2
bfm_sc2.cpp - sc2downt2p
bfm_sc2.cpp - sc2downt3
bfm_sc2.cpp - sc2downt3a
bfm_sc2.cpp - sc2downt3ap
bfm_sc2.cpp - sc2downt3p
bfm_sc2.cpp - sc2downt4
bfm_sc2.cpp - sc2downt4a
bfm_sc2.cpp - sc2downt4ap
bfm_sc2.cpp - sc2downt4p
bfm_sc2.cpp - sc2downt5
bfm_sc2.cpp - sc2downt6
bfm_sc2.cpp - sc2downt7
bfm_sc2.cpp - sc2downt8a
bfm_sc2.cpp - sc2downt8ap
bfm_sc2.cpp - sc2drwho
bfm_sc2.cpp - sc2drwho1
bfm_sc2.cpp - sc2drwho1p
bfm_sc2.cpp - sc2drwho2
bfm_sc2.cpp - sc2drwho2p
bfm_sc2.cpp - sc2drwho3
bfm_sc2.cpp - sc2drwho3p
bfm_sc2.cpp - sc2drwho4p
bfm_sc2.cpp - sc2drwho5
bfm_sc2.cpp - sc2drwho5p
bfm_sc2.cpp - sc2drwho6
bfm_sc2.cpp - sc2drwho6p
bfm_sc2.cpp - sc2drwho7
bfm_sc2.cpp - sc2drwho7p
bfm_sc2.cpp - sc2drwhodx
bfm_sc2.cpp - sc2drwhomz
bfm_sc2.cpp - sc2drwhop
bfm_sc2.cpp - sc2drwhou
bfm_sc2.cpp - sc2easy
bfm_sc2.cpp - sc2easy1
bfm_sc2.cpp - sc2easy1p
bfm_sc2.cpp - sc2eggs1
bfm_sc2.cpp - sc2eggs1p
bfm_sc2.cpp - sc2eggsp
bfm_sc2.cpp - sc2flaca
bfm_sc2.cpp - sc2flaca2p
bfm_sc2.cpp - sc2flacap
bfm_sc2.cpp - sc2focus
bfm_sc2.cpp - sc2foot1
bfm_sc2.cpp - sc2foot1p
bfm_sc2.cpp - sc2foot2
bfm_sc2.cpp - sc2footp
bfm_sc2.cpp - sc2gcclb
bfm_sc2.cpp - sc2gcclb1
bfm_sc2.cpp - sc2gcclb1p
bfm_sc2.cpp - sc2gcclb2
bfm_sc2.cpp - sc2gcclb2p
bfm_sc2.cpp - sc2gcclbp
bfm_sc2.cpp - sc2goldr
bfm_sc2.cpp - sc2goldr1
bfm_sc2.cpp - sc2goldrp
bfm_sc2.cpp - sc2groul
bfm_sc2.cpp - sc2gsclb
bfm_sc2.cpp - sc2gsclb1
bfm_sc2.cpp - sc2gsclb1p
bfm_sc2.cpp - sc2gsclb2
bfm_sc2.cpp - sc2gsclb2p
bfm_sc2.cpp - sc2gsclb3
bfm_sc2.cpp - sc2gsclb4
bfm_sc2.cpp - sc2gsclb4p
bfm_sc2.cpp - sc2gsclb5
bfm_sc2.cpp - sc2gsclb6
bfm_sc2.cpp - sc2gsclb6p
bfm_sc2.cpp - sc2gsclb7
bfm_sc2.cpp - sc2gsclbp
bfm_sc2.cpp - sc2gslam
bfm_sc2.cpp - sc2gslam1
bfm_sc2.cpp - sc2gtr
bfm_sc2.cpp - sc2heypr
bfm_sc2.cpp - sc2heyprp
bfm_sc2.cpp - sc2hifly
bfm_sc2.cpp - sc2hifly2
bfm_sc2.cpp - sc2hypr
bfm_sc2.cpp - sc2hypr1
bfm_sc2.cpp - sc2hypr1p
bfm_sc2.cpp - sc2hyprp
bfm_sc2.cpp - sc2inst
bfm_sc2.cpp - sc2inst1
bfm_sc2.cpp - sc2inst1p
bfm_sc2.cpp - sc2inst2
bfm_sc2.cpp - sc2inst2p
bfm_sc2.cpp - sc2inst3
bfm_sc2.cpp - sc2inst4
bfm_sc2.cpp - sc2inst4p
bfm_sc2.cpp - sc2inst5
bfm_sc2.cpp - sc2inst6
bfm_sc2.cpp - sc2instp
bfm_sc2.cpp - sc2kcclb
bfm_sc2.cpp - sc2kcclb1
bfm_sc2.cpp - sc2kcclb1p
bfm_sc2.cpp - sc2kcclbp
bfm_sc2.cpp - sc2maina
bfm_sc2.cpp - sc2majes
bfm_sc2.cpp - sc2majesp
bfm_sc2.cpp - sc2mam1
bfm_sc2.cpp - sc2mam1p
bfm_sc2.cpp - sc2mam2
bfm_sc2.cpp - sc2mam2p
bfm_sc2.cpp - sc2mam3p
bfm_sc2.cpp - sc2mam4
bfm_sc2.cpp - sc2mam4p
bfm_sc2.cpp - sc2mamcl1
bfm_sc2.cpp - sc2mamcl2p
bfm_sc2.cpp - sc2mamcl3
bfm_sc2.cpp - sc2mamclp
bfm_sc2.cpp - sc2mamp
bfm_sc2.cpp - sc2motd1
bfm_sc2.cpp - sc2motd1p
bfm_sc2.cpp - sc2motd2
bfm_sc2.cpp - sc2motd3
bfm_sc2.cpp - sc2motd3p
bfm_sc2.cpp - sc2motd4
bfm_sc2.cpp - sc2motd4p
bfm_sc2.cpp - sc2motd5
bfm_sc2.cpp - sc2motd5p
bfm_sc2.cpp - sc2motd6
bfm_sc2.cpp - sc2motd6p
bfm_sc2.cpp - sc2motd7
bfm_sc2.cpp - sc2motd8p
bfm_sc2.cpp - sc2motd9
bfm_sc2.cpp - sc2olgld
bfm_sc2.cpp - sc2olgld1
bfm_sc2.cpp - sc2olgld1p
bfm_sc2.cpp - sc2olgldp
bfm_sc2.cpp - sc2payr
bfm_sc2.cpp - sc2prem
bfm_sc2.cpp - sc2prom
bfm_sc2.cpp - sc2ptytm
bfm_sc2.cpp - sc2ptytm1
bfm_sc2.cpp - sc2relgm
bfm_sc2.cpp - sc2relgm1p
bfm_sc2.cpp - sc2relgmp
bfm_sc2.cpp - sc2scc
bfm_sc2.cpp - sc2showt1
bfm_sc2.cpp - sc2showt1p
bfm_sc2.cpp - sc2showt2
bfm_sc2.cpp - sc2showt3
bfm_sc2.cpp - sc2showt3p
bfm_sc2.cpp - sc2showt4
bfm_sc2.cpp - sc2showt4p
bfm_sc2.cpp - sc2sstar
bfm_sc2.cpp - sc2sstar3
bfm_sc2.cpp - sc2sstar3p
bfm_sc2.cpp - sc2sstarp
bfm_sc2.cpp - sc2suprz
bfm_sc2.cpp - sc2suprz1
bfm_sc2.cpp - sc2suprz1p
bfm_sc2.cpp - sc2suprz3
bfm_sc2.cpp - sc2suprzp
bfm_sc2.cpp - sc2town3p
bfm_sc2.cpp - sc2town4
bfm_sc2.cpp - sc2wembl
bfm_sc2.cpp - sc2wembl10
bfm_sc2.cpp - sc2wembl1p
bfm_sc2.cpp - sc2wembl2
bfm_sc2.cpp - sc2wembl2p
bfm_sc2.cpp - sc2wembl4p
bfm_sc2.cpp - sc2wembl5a
bfm_sc2.cpp - sc2wembl5ap
bfm_sc2.cpp - sc2wembl6ap
bfm_sc2.cpp - sc2wembl7a
bfm_sc2.cpp - sc2wembl7ap
bfm_sc2.cpp - sc2wembl8
bfm_sc2.cpp - sc2wembl9
bfm_sc2.cpp - sc2wemblm
bfm_sc2.cpp - sc2wemblp
bfm_sc2.cpp - sc2winst
bfm_sc2.cpp - sc2winstb
bfm_sc2.cpp - sc2winstbp
bfm_sc2.cpp - sc2winstd
bfm_sc2.cpp - sc2winstdp
bfm_sc2.cpp - sc2winste
bfm_sc2.cpp - sc2winstep
bfm_sc2.cpp - sc2winstf
bfm_sc2.cpp - sc2winstfp
bfm_sc2.cpp - sc2winstg
bfm_sc2.cpp - sc2winstp
bfm_sc2.cpp - sc2wwcl1
bfm_sc2.cpp - sc2wwclp
chaknpop.cpp - chaknpop
chinagat.cpp - chinagat
chinagat.cpp - saiyugou
chinagat.cpp - saiyugoub1
chinagat.cpp - saiyugoub2
chqflag.cpp - chqflag
chqflag.cpp - chqflagj
contra.cpp - contra
contra.cpp - contra1
contra.cpp - contrab
contra.cpp - contrabj
contra.cpp - contrabj1
contra.cpp - contrae
contra.cpp - contraj
contra.cpp - contraj1
contra.cpp - gryzor
contra.cpp - gryzor1
ddragon.cpp - ddragon
ddragon.cpp - ddragon2
ddragon.cpp - ddragon2b
ddragon.cpp - ddragon2u
ddragon.cpp - ddragonb
ddragon.cpp - ddragonb2
ddragon.cpp - ddragonba
ddragon.cpp - ddragonu
ddragon.cpp - ddragonua
ddragon.cpp - ddragonub
ddragon.cpp - ddragonw
ddragon.cpp - ddragonw1
dec8.cpp - csilver
dec8.cpp - csilverj
dec8.cpp - csilverja
dec8.cpp - garyoret
dkong.cpp - dkongx
dkong.cpp - dkongx11
dooyong.cpp - bluehawk
dooyong.cpp - bluehawkn
dooyong.cpp - gulfstrm
dooyong.cpp - gundl94
dooyong.cpp - primella
dooyong.cpp - sadari
dynax.cpp - mjcomv1
dynax.cpp - sprtmtch
firetrap.cpp - firetrap
firetrap.cpp - firetrapa
firetrap.cpp - firetrapbl
firetrap.cpp - firetrapj
fromance.cpp - natsuiro
funybubl.cpp - funybubl
funybubl.cpp - funybublc
gberet.cpp - mrgoemon
gei.cpp - gt103a1
gei.cpp - gt103ab
gei.cpp - gtsers10
gei.cpp - gtsers11
gei.cpp - gtsers11a
gei.cpp - gtsers8a
gei.cpp - gtsers9
gei.cpp - quiz211
gei.cpp - quizvid
gng.cpp - gng
gng.cpp - gnga
gng.cpp - gngbl
gng.cpp - gngc
gng.cpp - gngt
gng.cpp - makaimurc
gng.cpp - makaimurg
himesiki.cpp - androidp
homedata.cpp - mjjoship
homedata.cpp - reikaids
hvyunit.cpp - hvyunit
hvyunit.cpp - hvyunitu
jedi.cpp - jedi
lc80.cpp - lc80
lwings.cpp - avengers
lwings.cpp - avengers2
lwings.cpp - buraiken
m62.cpp - battroad
m62.cpp - ldrun4
m90.cpp - quizf1
mastboyo.cpp - mastboyo
mastboyo.cpp - mastboyoa
mazerbla.cpp - greatgun
merit.cpp - pitboss04
mhavoc.cpp - alphaone
mhavoc.cpp - mhavoc
mhavoc.cpp - mhavoc2
mhavoc.cpp - mhavocp
mhavoc.cpp - mhavocrv
midvunit.cpp - crusnwld
midzeus.cpp - invasnab
midzeus.cpp - invasnab3
midzeus.cpp - invasnab4
midzeus.cpp - thegrid
midzeus.cpp - thegrida
multfish.cpp - crzmon2
multfish.cpp - crzmon2_2
multfish.cpp - crzmon2_3
multfish.cpp - czmon_13
multfish.cpp - czmon_15
multfish.cpp - czmon_16
multfish.cpp - czmon_5
multfish.cpp - czmon_7
multfish.cpp - czmon_8
multfish.cpp - czmon_9
multfish.cpp - fcockt2
multfish.cpp - fcockt2_3
multfish.cpp - fcockt2_4
multfish.cpp - fcockt2_5
multfish.cpp - fcockt2_6
multfish.cpp - fcockt2_7
multfish.cpp - fcockt_10
multfish.cpp - fcockt_11
multfish.cpp - fcockt_12
multfish.cpp - fcockt_14
multfish.cpp - fcockt_3
multfish.cpp - fcockt_5
multfish.cpp - fcockt_6
multfish.cpp - fcockt_7
multfish.cpp - fcockt_8
multfish.cpp - fcockt_9
multfish.cpp - garage_4
multfish.cpp - garage_5
multfish.cpp - garage_6
multfish.cpp - garage_7
multfish.cpp - garage_9
multfish.cpp - gnome
multfish.cpp - gnome_10
multfish.cpp - gnome_11
multfish.cpp - gnome_12
multfish.cpp - gnome_2
multfish.cpp - gnome_3
multfish.cpp - gnome_4
multfish.cpp - gnome_5
multfish.cpp - gnome_7
multfish.cpp - gnome_9
multfish.cpp - goldfish
multfish.cpp - island
multfish.cpp - island2
multfish.cpp - island2_3
multfish.cpp - island2_4
multfish.cpp - island2_5
multfish.cpp - island2_6
multfish.cpp - island_2
multfish.cpp - keks
multfish.cpp - keks_2
multfish.cpp - keks_3
multfish.cpp - keks_4
multfish.cpp - keks_5
multfish.cpp - lhaunt_10
multfish.cpp - lhaunt_11
multfish.cpp - lhaunt_2
multfish.cpp - lhaunt_4
multfish.cpp - lhaunt_5
multfish.cpp - lhaunt_6
multfish.cpp - lhaunt_7
multfish.cpp - lhaunt_8
multfish.cpp - mfish_11
multfish.cpp - mfish_12
multfish.cpp - mfish_13
multfish.cpp - mfish_3
multfish.cpp - mfish_6
multfish.cpp - mfish_8
multfish.cpp - pirate2
multfish.cpp - pirate2_2
multfish.cpp - pirate2_3
multfish.cpp - pirate2_4
multfish.cpp - pirate_2
multfish.cpp - pirate_3
multfish.cpp - pirate_4
multfish.cpp - rclimb
multfish.cpp - rclimb_3
multfish.cpp - rclimb_4
multfish.cpp - rclimb_5
multfish.cpp - rclimb_7
multfish.cpp - resdnt
multfish.cpp - resdnt_2
multfish.cpp - resdnt_3
multfish.cpp - resdnt_6
multfish.cpp - resdnt_8
multfish.cpp - resdnt_9
multfish.cpp - rollfr_2
multfish.cpp - rollfr_3
multfish.cpp - rollfr_4
multfish.cpp - sweetl
multfish.cpp - sweetl2
multfish.cpp - sweetl2_2
multfish.cpp - sweetl2_3
multfish.cpp - sweetl2_4
multfish.cpp - sweetl_2
multfish.cpp - windjamr
multfish_boot.cpp - czmon_7a
multfish_boot.cpp - czmon_7b
multfish_boot.cpp - czmon_8a
multfish_boot.cpp - czmon_8b
multfish_boot.cpp - czmon_8c
multfish_boot.cpp - czmon_8d
multfish_boot.cpp - czmon_8e
multfish_boot.cpp - czmon_8f
multfish_boot.cpp - czmon_9a
multfish_boot.cpp - czmon_9b
multfish_boot.cpp - czmon_9c
multfish_boot.cpp - fcockt2_4a
multfish_boot.cpp - fcockt2_4b
multfish_boot.cpp - fcockt2_4c
multfish_boot.cpp - fcockt2_4d
multfish_boot.cpp - fcockt2_4e
multfish_boot.cpp - fcockt2_4f
multfish_boot.cpp - fcockt2a
multfish_boot.cpp - fcockt_6a
multfish_boot.cpp - fcockt_6b
multfish_boot.cpp - fcockt_6c
multfish_boot.cpp - fcockt_6d
multfish_boot.cpp - fcockt_7a
multfish_boot.cpp - fcockt_7b
multfish_boot.cpp - fcockt_7c
multfish_boot.cpp - fcockt_7d
multfish_boot.cpp - fcockt_7e
multfish_boot.cpp - fcockt_7f
multfish_boot.cpp - fcockt_7g
multfish_boot.cpp - fcockt_7h
multfish_boot.cpp - fcockt_8a
multfish_boot.cpp - fcockt_8b
multfish_boot.cpp - garage_4a
multfish_boot.cpp - garage_4b
multfish_boot.cpp - garage_4c
multfish_boot.cpp - garage_5a
multfish_boot.cpp - garage_5b
multfish_boot.cpp - garage_5c
multfish_boot.cpp - garage_5d
multfish_boot.cpp - garage_5e
multfish_boot.cpp - gnome_2a
multfish_boot.cpp - gnome_3a
multfish_boot.cpp - gnome_3b
multfish_boot.cpp - gnome_3c
multfish_boot.cpp - gnome_5a
multfish_boot.cpp - gnome_5b
multfish_boot.cpp - gnomea
multfish_boot.cpp - gnomeb
multfish_boot.cpp - gnomec
multfish_boot.cpp - gnomed
multfish_boot.cpp - gnomee
multfish_boot.cpp - island2_3a
multfish_boot.cpp - island2_4a
multfish_boot.cpp - island2a
multfish_boot.cpp - island2b
multfish_boot.cpp - island2c
multfish_boot.cpp - islanda
multfish_boot.cpp - islandb
multfish_boot.cpp - islandc
multfish_boot.cpp - keks_2a
multfish_boot.cpp - keks_2b
multfish_boot.cpp - keks_2c
multfish_boot.cpp - keks_2d
multfish_boot.cpp - keks_2e
multfish_boot.cpp - keks_2f
multfish_boot.cpp - keks_2g
multfish_boot.cpp - keks_3a
multfish_boot.cpp - keks_3b
multfish_boot.cpp - keksa
multfish_boot.cpp - keksb
multfish_boot.cpp - keksc
multfish_boot.cpp - lhaunt_4a
multfish_boot.cpp - lhaunt_5a
multfish_boot.cpp - lhaunt_6a
multfish_boot.cpp - lhaunt_6b
multfish_boot.cpp - lhaunt_6c
multfish_boot.cpp - lhaunt_6d
multfish_boot.cpp - lhaunt_6e
multfish_boot.cpp - lhaunt_6f
multfish_boot.cpp - mfish_12a
multfish_boot.cpp - mfish_3a
multfish_boot.cpp - pirate2_2a
multfish_boot.cpp - pirate2a
multfish_boot.cpp - pirate2b
multfish_boot.cpp - pirate2c
multfish_boot.cpp - pirate2d
multfish_boot.cpp - pirate2e
multfish_boot.cpp - pirate2f
multfish_boot.cpp - pirate2g
multfish_boot.cpp - pirate2h
multfish_boot.cpp - rclimb_3a
multfish_boot.cpp - rclimb_3b
multfish_boot.cpp - rclimb_3c
multfish_boot.cpp - rclimb_3d
multfish_boot.cpp - rclimb_3e
multfish_boot.cpp - resdnt_2a
multfish_boot.cpp - resdnt_2b
multfish_boot.cpp - resdnt_2c
multfish_boot.cpp - resdnt_2d
multfish_boot.cpp - resdnt_2e
multfish_boot.cpp - resdnt_2f
multfish_boot.cpp - resdnt_2g
multfish_boot.cpp - sweetl2_2a
multfish_boot.cpp - sweetl2_2b
multfish_boot.cpp - sweetl2_2c
multfish_boot.cpp - sweetl2_2d
multfish_boot.cpp - sweetla
multfish_boot.cpp - sweetlb
namcofl.cpp - finalapr
namcofl.cpp - finalaprj
namcofl.cpp - finalapro
namcos1.cpp - faceoff
namcos1.cpp - tankfrce4
namcos1.cpp - tankfrcej
namcos1.cpp - wldcourt
namcos86.cpp - genpeitd
ninjakd2.cpp - mnight
ninjakd2.cpp - mnightj
ninjakd2.cpp - omegaf
ninjakd2.cpp - omegafs
ninjakd2.cpp - robokid
ninjakd2.cpp - robokidj
ninjakd2.cpp - robokidj2
ninjakd2.cpp - robokidj3
ojankohs.cpp - ojanko2
ojankohs.cpp - ojankoy
onetwo.cpp - onetwo
onetwo.cpp - onetwoe
paradise.cpp - paradise
paradise.cpp - paradisea
paradise.cpp - paradisee
paradise.cpp - tgtbal96
paradise.cpp - tgtball
paradise.cpp - tgtballn
paradise.cpp - torus
pcktgal.cpp - pcktgal
pcktgal.cpp - pcktgal2
pcktgal.cpp - pcktgal2j
pcktgal.cpp - pcktgalb
pcktgal.cpp - spool3
pcktgal.cpp - spool3i
pengadvb.cpp - pengadvb
peplus.cpp - peivc006
phoenix.cpp - avefenix
phoenix.cpp - avefenixl
phoenix.cpp - avefenixrf
phoenix.cpp - condor
phoenix.cpp - condorn
phoenix.cpp - falcon
phoenix.cpp - falconz
phoenix.cpp - griffon
phoenix.cpp - griffono
phoenix.cpp - nextfase
phoenix.cpp - phoenix
phoenix.cpp - phoenix2
phoenix.cpp - phoenix3
phoenix.cpp - phoenixa
phoenix.cpp - phoenixass
phoenix.cpp - phoenixb
phoenix.cpp - phoenixc
phoenix.cpp - phoenixc2
phoenix.cpp - phoenixc3
phoenix.cpp - phoenixc4
phoenix.cpp - phoenixdal
phoenix.cpp - phoenixha
phoenix.cpp - phoenixi
phoenix.cpp - phoenixj
phoenix.cpp - phoenixs
phoenix.cpp - phoenixt
phoenix.cpp - pleiadsb2
phoenix.cpp - pleiadss
phoenix.cpp - vautour
phoenix.cpp - vautourz
phoenix.cpp - vautourza
plygonet.cpp - plygonet
polgar.cpp - mrisc
polgar.cpp - mrisc2
ppmast93.cpp - ppmast93
psion.cpp - psionlz64s
psychic5.cpp - bombsa
r2dx_v33.cpp - r2dx_v33
r2dx_v33.cpp - r2dx_v33_r2
raiden2.cpp - raiden2
raiden2.cpp - raiden2e
raiden2.cpp - raiden2ea
raiden2.cpp - raiden2eg
raiden2.cpp - raiden2eu
raiden2.cpp - raiden2eua
raiden2.cpp - raiden2f
raiden2.cpp - raiden2g
raiden2.cpp - raiden2hk
raiden2.cpp - raiden2i
raiden2.cpp - raiden2j
raiden2.cpp - raiden2k
raiden2.cpp - raiden2nl
raiden2.cpp - raiden2sw
raiden2.cpp - raiden2u
rockrage.cpp - rockragej
scramble.cpp - cavelon
segae.cpp - slapshtr
seibuspi.cpp - rdft2t
sg1000.cpp - sf7000
shootout.cpp - shootout
sidearms.cpp - dyger
sidearms.cpp - dygera
sidearms.cpp - sidearms
sidearms.cpp - sidearmsj
sidearms.cpp - sidearmsu
sidearms.cpp - sidearmsur1
sidearms.cpp - turtship
sidearms.cpp - turtshipj
sidearms.cpp - turtshipk
sidearms.cpp - turtshipkn
sidearms.cpp - turtshipko
simpsons.cpp - simpsons
simpsons.cpp - simpsons2p
simpsons.cpp - simpsons2p2
simpsons.cpp - simpsons2p3
simpsons.cpp - simpsons2pa
simpsons.cpp - simpsons2pj
simpsons.cpp - simpsons4pa
simpsons.cpp - simpsons4pe
srmp2.cpp - srmp3
srumbler.cpp - rushcrsh
srumbler.cpp - srumbler
srumbler.cpp - srumbler2
srumbler.cpp - srumbler3
superqix.cpp - perestro
superqix.cpp - perestrof
superwng.cpp - superwng
system1.cpp - gardia
system1.cpp - gardiab
system1.cpp - gardiaj
taitosj.cpp - timetunl
ti74.cpp - ti74
ti74.cpp - ti95
tryout.cpp - tryout
vendetta.cpp - vendetta
vendetta.cpp - vendetta2pd
vendetta.cpp - vendetta2peba
vendetta.cpp - vendetta2pp
vendetta.cpp - vendetta2pu
vendetta.cpp - vendetta2pun
vendetta.cpp - vendetta2pw
vendetta.cpp - vendettan
vendetta.cpp - vendettar
vendetta.cpp - vendettaun
vendetta.cpp - vendettaz
williams.cpp - alienar
williams.cpp - alienaru
williams.cpp - blaster
williams.cpp - blasterkit
williams.cpp - blastero
williams.cpp - bubbles
williams.cpp - bubblesp
williams.cpp - bubblesr
williams.cpp - inferno
williams.cpp - joust
williams.cpp - joust2
williams.cpp - joust2r1
williams.cpp - joustr
williams.cpp - joustwr
williams.cpp - mysticm
williams.cpp - mysticmp
williams.cpp - playball
williams.cpp - robotron
williams.cpp - robotron12
williams.cpp - robotron87
williams.cpp - robotrontd
williams.cpp - robotronyo
williams.cpp - sinistar
williams.cpp - sinistar1
williams.cpp - sinistar2
williams.cpp - spdball
williams.cpp - splat
williams.cpp - stargate
williams.cpp - tshoot
|
Github Commit |
|
|
Flags |
|
Regression Version |
0.200 |
Affected Sets / Systems |
Numerous Drivers |
|
Attached Files
|
Phoenix-diff.png (example regression comparison)
|
hacked up patch [Show Content] [Hide Content]diff -Nru srcold/emu/emumem.cpp src/emu/emumem.cpp
--- srcold/emu/emumem.cpp 2018-12-18 13:58:50.000000000 +0100
+++ src/emu/emumem.cpp 2018-12-19 09:31:34.962109500 +0100
@@ -864,6 +864,9 @@
for (auto const memory : memories)
memory->set_log_unmap(false);
+ // register a callback to reset banks when reloading state
+ machine().save().register_postload(save_prepost_delegate(FUNC(memory_manager::bank_reattach), this));
+
// we are now initialized
m_initialized = true;
}
@@ -922,6 +925,14 @@
return nullptr;
}
+void memory_manager::bank_reattach()
+{
+ // for each non-anonymous bank, explicitly reset its entry
+ for (auto &bank : m_banklist)
+ if (!bank.second->anonymous() && bank.second->entry() != -1)
+ bank.second->set_entry(bank.second->entry());
+}
+
memory_bank *memory_manager::find(address_space &space, offs_t addrstart, offs_t addrend) const
{
// try to find an exact match
diff -Nru srcold/emu/emumem.h src/emu/emumem.h
--- srcold/emu/emumem.h 2018-12-18 13:58:50.000000000 +0100
+++ src/emu/emumem.h 2018-12-19 09:23:20.403658600 +0100
@@ -1786,6 +1786,7 @@
// construction/destruction
memory_manager(running_machine &machine);
void initialize();
+ void bank_reattach();
// getters
running_machine &machine() const { return m_machine; }
|
|