A couple of mpu4 changes and also started some genesis/megadrive device conversions and creations. From Haze (nw)

This commit is contained in:
Scott Stone 2012-08-14 21:28:24 +00:00
parent 6f10bf4d76
commit 59c610d1c0
11 changed files with 904 additions and 671 deletions

1
.gitattributes vendored
View File

@ -4337,6 +4337,7 @@ src/mame/machine/megacd.c svneol=native#text/plain
src/mame/machine/megadriv.c svneol=native#text/plain
src/mame/machine/megasvp.c svneol=native#text/plain
src/mame/machine/megavdp.c svneol=native#text/plain
src/mame/machine/megavdp.h svneol=native#text/plain
src/mame/machine/meters.c svneol=native#text/plain
src/mame/machine/meters.h svneol=native#text/plain
src/mame/machine/mexico86.c svneol=native#text/plain

View File

@ -102,45 +102,45 @@ M4PULWNC_SET( 199?, m4pulwnc__4, m4pulwnc, "tchm02.bin", 0x0000, 0x010000, CRC(0
#define M4SPNWNC_EXTRA_ROMS \
ROM_REGION( 0x080000, "msm6376", 0 ) \
ROM_LOAD( "sawsnd1", 0x0000, 0x080000, CRC(7957381f) SHA1(8fd45e5bf67248607f7d98032e08516ded493d74) ) \
ROM_START( m4spnwnc )
ROM_REGION( 0x020000, "maincpu", 0 )
ROM_LOAD( "saw01.bin", 0x0000, 0x010000, CRC(5350e50e) SHA1(0d7ba3280eddb4400545729c55bcfaff7918d553) )
ROM_LOAD( "saw02.bin", 0x0000, 0x010000, CRC(daf85100) SHA1(ff89adb0d6530bcf5ff0807f48c6008198948d50) )
ROM_LOAD( "saw03.bin", 0x0000, 0x010000, CRC(a891451d) SHA1(2c0a4b6b5c50e234715e103e72986a2bda1d4588) )
ROM_REGION( 0x080000, "msm6376", 0 )
ROM_LOAD( "sawsnd1", 0x0000, 0x080000, CRC(7957381f) SHA1(8fd45e5bf67248607f7d98032e08516ded493d74) )
ROM_END
#define M4SPNWNC_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4SPNWNC_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4default_big ,ROT0,company,title,GAME_FLAGS ) \
ROM_START( m4nudgwc )
ROM_REGION( 0x020000, "maincpu", 0 )
ROM_LOAD( "naw02.bin", 0x0000, 0x010000, CRC(eb3ff27d) SHA1(ff0a80a75162380c6cc2d1b31f0bb0579faa1a2c) )
ROM_REGION( 0x200000, "altrevs", ROMREGION_ERASE00 )
ROM_LOAD( "nawhc6.bin", 0x0000, 0x010000, CRC(f9389823) SHA1(e1db35200c9ed9d59cf817901cf75bdbb48507b2) )
ROM_LOAD( "nawhm5.bin", 0x0000, 0x010000, CRC(da365ac1) SHA1(4d8aa3541dcf94a550c815a0ade226a426b0c92d) )
ROM_LOAD( "nawsl10n.bin", 0x0000, 0x010000, CRC(6d5527b1) SHA1(52cdd413aaf5031dd3b8172bf49df59c3b33c9e7) )
ROM_LOAD( "nawsl10p.bin", 0x0000, 0x010000, CRC(cfdc953d) SHA1(919c5b52e9853b5896c573649257353e0b28536a) )
ROM_LOAD( "nawsl13n.bin", 0x0000, 0x010000, CRC(92ee524c) SHA1(88467af5d9e6db69969aaf9d8540828a1c058362) )
ROM_LOAD( "nawsl14n.bin", 0x0000, 0x010000, CRC(5217e17e) SHA1(449ff0c43bde5b4fecc7e5d31652648f7094e89d) )
ROM_LOAD( "nawsl7.bin", 0x0000, 0x010000, CRC(261192f6) SHA1(d754c0db8ee3986c33ea903c2efe86f14240afcf) )
M4SPNWNC_SET( 199?, m4spnwnc, 0, "saw01.bin", 0x0000, 0x010000, CRC(5350e50e) SHA1(0d7ba3280eddb4400545729c55bcfaff7918d553), "Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4) (set 1)" )
M4SPNWNC_SET( 199?, m4spnwnc__a, m4spnwnc, "saw02.bin", 0x0000, 0x010000, CRC(daf85100) SHA1(ff89adb0d6530bcf5ff0807f48c6008198948d50), "Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4) (set 2)" )
M4SPNWNC_SET( 199?, m4spnwnc__b, m4spnwnc, "saw03.bin", 0x0000, 0x010000, CRC(a891451d) SHA1(2c0a4b6b5c50e234715e103e72986a2bda1d4588), "Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4) (set 3)" )
ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 )
ROM_LOAD( "naws1.bin", 0x0000, 0x02373f, CRC(b2ea8c50) SHA1(a02181f8f4636e69287073f4ffb8604ff2f14b9c) )
ROM_END
#define M4NUDGWC_EXTRA_ROMS \
ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \
ROM_LOAD( "naws1.bin", 0x0000, 0x02373f, CRC(b2ea8c50) SHA1(a02181f8f4636e69287073f4ffb8604ff2f14b9c) ) \
#define M4NUDGWC_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4NUDGWC_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4default_big ,ROT0,company,title,GAME_FLAGS ) \
M4NUDGWC_SET( 199?, m4nudgwc, 0, "naw02.bin", 0x0000, 0x010000, CRC(eb3ff27d) SHA1(ff0a80a75162380c6cc2d1b31f0bb0579faa1a2c), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 1)" )
M4NUDGWC_SET( 199?, m4nudgwc__a, m4nudgwc, "nawhc6.bin", 0x0000, 0x010000, CRC(f9389823) SHA1(e1db35200c9ed9d59cf817901cf75bdbb48507b2), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 2)" )
M4NUDGWC_SET( 199?, m4nudgwc__b, m4nudgwc, "nawhm5.bin", 0x0000, 0x010000, CRC(da365ac1) SHA1(4d8aa3541dcf94a550c815a0ade226a426b0c92d), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 3)" )
M4NUDGWC_SET( 199?, m4nudgwc__c, m4nudgwc, "nawsl10n.bin", 0x0000, 0x010000, CRC(6d5527b1) SHA1(52cdd413aaf5031dd3b8172bf49df59c3b33c9e7), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 4)" )
M4NUDGWC_SET( 199?, m4nudgwc__d, m4nudgwc, "nawsl10p.bin", 0x0000, 0x010000, CRC(cfdc953d) SHA1(919c5b52e9853b5896c573649257353e0b28536a), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 5)" )
M4NUDGWC_SET( 199?, m4nudgwc__e, m4nudgwc, "nawsl13n.bin", 0x0000, 0x010000, CRC(92ee524c) SHA1(88467af5d9e6db69969aaf9d8540828a1c058362), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 6)" )
M4NUDGWC_SET( 199?, m4nudgwc__f, m4nudgwc, "nawsl14n.bin", 0x0000, 0x010000, CRC(5217e17e) SHA1(449ff0c43bde5b4fecc7e5d31652648f7094e89d), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 7)" )
M4NUDGWC_SET( 199?, m4nudgwc__g, m4nudgwc, "nawsl7.bin", 0x0000, 0x010000, CRC(261192f6) SHA1(d754c0db8ee3986c33ea903c2efe86f14240afcf), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 8)" )
M4NUDGWC_SET( 199?, m4nudgwc__h, m4nudgwc, "naw0_4.bin", 0x0000, 0x020000, CRC(0201f6f9) SHA1(48772611db7ae0cda48b8d725fdc8ef50e64d6ad), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 9)" ) // rom too big, cut?
ROM_START( m4nudgew )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "naw0_4.bin", 0x0000, 0x010000, CRC(0201f6f9) SHA1(48772611db7ae0cda48b8d725fdc8ef50e64d6ad) )
ROM_IGNORE(0x10000) // rom too big?
ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 )
ROM_LOAD( "naws1.bin", 0x0000, 0x02373f, CRC(b2ea8c50) SHA1(a02181f8f4636e69287073f4ffb8604ff2f14b9c) )
ROM_END
/* Concept
most of these are rebuilds of other firm's games, often using the OKI chip to simulate MOD2 sound*/
GAME(199?, m4nudgwc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
GAME(199?, m4nudgew , m4nudgwc ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 2)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
GAME(199?, m4spnwnc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)

View File

@ -126,43 +126,43 @@ ROM_START( m4jiggin )
ROM_END
ROM_START( m4dcrazy )
ROM_REGION( 0x80000, "maincpu", 0 )
ROM_LOAD( "70000130.bin", 0x0000, 0x080000, CRC(9d700a27) SHA1(c73c7fc4233dace32fac90a6b46dba5c12979160) )
ROM_REGION( 0x80000, "altrevs", 0 )
ROM_LOAD( "70000131.bin", 0x0000, 0x080000, CRC(a7fcfcc8) SHA1(cc7b164e79d86d68112ac86e1ab9e81885cfcabf) )
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 )
ROM_END
#define M4DCRLS_EXTRA_ROMS \
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \
ROM_LOAD( "dcr_sounds.bin", 0x0000, 0x09664e, CRC(431cecbc) SHA1(b564ae8d083fef84328526192626a220e979d5ad) ) /* intelhex */ \
ROM_LOAD( "71000110.bin", 0x0000, 0x080000, CRC(0373a197) SHA1(b32bf521e36b5a53170d3a6ec545ce8db3a5094d) ) \
ROM_START( m4dcrls )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "70000116.bin", 0x0000, 0x040000, CRC(27e5ad77) SHA1(83cabd8b52efc6c0d5530b55683295208f64abb6) ) // dcr_std_340.bin
#define M4DCRLS_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4DCRLS_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4default_big ,ROT0,company,title,GAME_FLAGS ) \
M4DCRLS_SET( 199?, m4dcrls, 0, "70000116.bin", 0x0000, 0x040000, CRC(27e5ad77) SHA1(83cabd8b52efc6c0d5530b55683295208f64abb6), "Qps","Double Crazy Reels (Qps) (MPU4) (set 1)" ) // dcr_std_340.bin
M4DCRLS_SET( 199?, m4dcrls__a, m4dcrls, "70000117.bin", 0x0000, 0x080000, CRC(4106758c) SHA1(3d2b12f1820a65f00fd70856b7765b6f35a8688e), "Qps","Double Crazy Reels (Qps) (MPU4) (set 2)" )
M4DCRLS_SET( 199?, m4dcrls__b, m4dcrls, "70000118.bin", 0x0000, 0x080000, CRC(3603f93c) SHA1(cb969568e0244b465f8b120faba3adb65fe001e6), "Qps","Double Crazy Reels (Qps) (MPU4) (set 3)" )
M4DCRLS_SET( 199?, m4dcrls__c, m4dcrls, "70000134.bin", 0x0000, 0x080000, CRC(a81e80e7) SHA1(852c0b3afe8c22b6e6afe585efb8fec7aeb2aecb), "Qps","Double Crazy Reels (Qps) (MPU4) (set 4)" )
M4DCRLS_SET( 199?, m4dcrls__d, m4dcrls, "70000130.bin", 0x0000, 0x080000, CRC(9d700a27) SHA1(c73c7fc4233dace32fac90a6b46dba5c12979160), "Qps","Double Crazy Reels (Qps) (MPU4) (set 5)" )
M4DCRLS_SET( 199?, m4dcrls__e, m4dcrls, "70000131.bin", 0x0000, 0x080000, CRC(a7fcfcc8) SHA1(cc7b164e79d86d68112ac86e1ab9e81885cfcabf), "Qps","Double Crazy Reels (Qps) (MPU4) (set 6)" )
M4DCRLS_SET( 199?, m4dcrls__f, m4dcrls, "70001117.bin", 0x0000, 0x080000, CRC(7dcf4e36) SHA1(593089aec7efe8b14b953c5d7b0f552c0906730a), "Qps","Double Crazy Reels (Qps) (MPU4) (set 7)" )
M4DCRLS_SET( 199?, m4dcrls__g, m4dcrls, "70001118.bin", 0x0000, 0x080000, CRC(6732182c) SHA1(aa6620458d381fc37c226f996eab12840573cf80), "Qps","Double Crazy Reels (Qps) (MPU4) (set 8)" )
M4DCRLS_SET( 199?, m4dcrls__h, m4dcrls, "70001134.bin", 0x0000, 0x080000, CRC(a382156e) SHA1(db884dac04f556ecf49f7ecaba0bc3e51a4822f8), "Qps","Double Crazy Reels (Qps) (MPU4) (set 9)" )
M4DCRLS_SET( 199?, m4dcrls__i, m4dcrls, "70001172.bin", 0x0000, 0x080000, CRC(32040f0f) SHA1(9f0452bc33e292ce61650f60f2943a3cef0da050), "Qps","Double Crazy Reels (Qps) (MPU4) (set 10)" )
M4DCRLS_SET( 199?, m4dcrls__j, m4dcrls, "70001173.bin", 0x0000, 0x080000, CRC(0d5f138a) SHA1(e65832d01b11010a7c71230596e3fbc2c750d175), "Qps","Double Crazy Reels (Qps) (MPU4) (set 11)" )
M4DCRLS_SET( 199?, m4dcrls__k, m4dcrls, "dcr_gala_hopper_340.bin", 0x0000, 0x040000, CRC(e8a19eda) SHA1(14b49d7c9b8ad7c3f8605b2a57740aab2b98d030), "Qps","Double Crazy Reels (Qps) (MPU4) (set 12)" )
M4DCRLS_SET( 199?, m4dcrls__l, m4dcrls, "dcr_gala_hopper_340_lv.bin", 0x0000, 0x040000, CRC(e0d08c0e) SHA1(7c6a4e30bacfcbd895e418d4ce66425ec4f118f9), "Qps","Double Crazy Reels (Qps) (MPU4) (set 13)" )
M4DCRLS_SET( 199?, m4dcrls__m, m4dcrls, "dcr_mecca_340.bin", 0x0000, 0x040000, CRC(f18ac60f) SHA1(ffdd8d096ebc062a36a8d22cf881d0fa95adc2db), "Qps","Double Crazy Reels (Qps) (MPU4) (set 14)" )
M4DCRLS_SET( 199?, m4dcrls__n, m4dcrls, "dcr_mecca_340_lv.bin", 0x0000, 0x040000, CRC(0eb204c1) SHA1(648f5b90776f99155fd54257aabecb8c9f90abec), "Qps","Double Crazy Reels (Qps) (MPU4) (set 15)" )
M4DCRLS_SET( 199?, m4dcrls__o, m4dcrls, "dcr_std_340_lv.bin", 0x0000, 0x040000, CRC(d9632301) SHA1(19ac680f00e085d94fc45f765c975f3da1ca1eb3), "Qps","Double Crazy Reels (Qps) (MPU4) (set 16)" )
M4DCRLS_SET( 199?, m4dcrls__p, m4dcrls, "70001115.bin", 0x0000, 0x040000, CRC(26432b07) SHA1(ef7303793252210f3fd07b12f5684b5d2cc828ab), "Qps","Double Crazy Reels (Qps) (MPU4) (set 17)" ) // dcr_data_340_lv.bin
M4DCRLS_SET( 199?, m4dcrls__q, m4dcrls, "70001116.bin", 0x0000, 0x040000, CRC(522191e8) SHA1(f80656290295b556d4b67c4458d8f856f8b937fb), "Qps","Double Crazy Reels (Qps) (MPU4) (set 18)" )
M4DCRLS_SET( 199?, m4dcrls__r, m4dcrls, "dcr_data_340.bin", 0x0000, 0x010000, CRC(fc12e68f) SHA1(f07a42323651ef9aefac24c3b9296a98068c2dc2), "Qps","Double Crazy Reels (Qps) (MPU4) (set 19)" ) // too small?
ROM_REGION( 0x80000, "altrevs", 0 )
ROM_LOAD( "70000117.bin", 0x0000, 0x080000, CRC(4106758c) SHA1(3d2b12f1820a65f00fd70856b7765b6f35a8688e) )
ROM_LOAD( "70000118.bin", 0x0000, 0x080000, CRC(3603f93c) SHA1(cb969568e0244b465f8b120faba3adb65fe001e6) )
ROM_LOAD( "70000134.bin", 0x0000, 0x080000, CRC(a81e80e7) SHA1(852c0b3afe8c22b6e6afe585efb8fec7aeb2aecb) )
ROM_LOAD( "70001115.bin", 0x0000, 0x040000, CRC(26432b07) SHA1(ef7303793252210f3fd07b12f5684b5d2cc828ab) ) // dcr_data_340_lv.bin
ROM_LOAD( "70001116.bin", 0x0000, 0x040000, CRC(522191e8) SHA1(f80656290295b556d4b67c4458d8f856f8b937fb) )
ROM_LOAD( "70001117.bin", 0x0000, 0x080000, CRC(7dcf4e36) SHA1(593089aec7efe8b14b953c5d7b0f552c0906730a) )
ROM_LOAD( "70001118.bin", 0x0000, 0x080000, CRC(6732182c) SHA1(aa6620458d381fc37c226f996eab12840573cf80) )
ROM_LOAD( "70001134.bin", 0x0000, 0x080000, CRC(a382156e) SHA1(db884dac04f556ecf49f7ecaba0bc3e51a4822f8) )
ROM_LOAD( "70001172.bin", 0x0000, 0x080000, CRC(32040f0f) SHA1(9f0452bc33e292ce61650f60f2943a3cef0da050) )
ROM_LOAD( "70001173.bin", 0x0000, 0x080000, CRC(0d5f138a) SHA1(e65832d01b11010a7c71230596e3fbc2c750d175) )
ROM_LOAD( "dcr_data_340.bin", 0x0000, 0x010000, CRC(fc12e68f) SHA1(f07a42323651ef9aefac24c3b9296a98068c2dc2) )
ROM_LOAD( "dcr_gala_hopper_340.bin", 0x0000, 0x040000, CRC(e8a19eda) SHA1(14b49d7c9b8ad7c3f8605b2a57740aab2b98d030) )
ROM_LOAD( "dcr_gala_hopper_340_lv.bin", 0x0000, 0x040000, CRC(e0d08c0e) SHA1(7c6a4e30bacfcbd895e418d4ce66425ec4f118f9) )
ROM_LOAD( "dcr_mecca_340.bin", 0x0000, 0x040000, CRC(f18ac60f) SHA1(ffdd8d096ebc062a36a8d22cf881d0fa95adc2db) )
ROM_LOAD( "dcr_mecca_340_lv.bin", 0x0000, 0x040000, CRC(0eb204c1) SHA1(648f5b90776f99155fd54257aabecb8c9f90abec) )
ROM_LOAD( "dcr_std_340_lv.bin", 0x0000, 0x040000, CRC(d9632301) SHA1(19ac680f00e085d94fc45f765c975f3da1ca1eb3) )
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 )
ROM_LOAD( "dcr_sounds.bin", 0x0000, 0x09664e, CRC(431cecbc) SHA1(b564ae8d083fef84328526192626a220e979d5ad) ) // intelhex
ROM_LOAD( "71000110.bin", 0x0000, 0x080000, CRC(0373a197) SHA1(b32bf521e36b5a53170d3a6ec545ce8db3a5094d) )
ROM_END
ROM_START( m4jungjk )
@ -409,8 +409,6 @@ GAME(199?, m4jiggin, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global"
/* QPS */
// 'START UP'
GAME( 199?, m4dcrazy , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "D' Crazy Reels (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
GAME( 199?, m4dcrls , m4dcrazy , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Double Crazy Reels (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE) // or mazooma?
GAME( 199?, m4jungjk , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Jungle Jackpots (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
GAME( 199?, m4rhnote , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Red Hot Notes (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
GAME( 199?, m4rhrock , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Red Hot Rocks (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)

View File

@ -50,6 +50,7 @@ Notes:
#include "includes/megadriv.h"
#include "machine/megavdp.h"
/* Puckman Pockimon Input Ports */
static INPUT_PORTS_START( puckpkmn )
@ -220,8 +221,7 @@ static ADDRESS_MAP_START( puckpkmn_map, AS_PROGRAM, 16, md_boot_state )
AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0xa04000, 0xa04003) AM_DEVREADWRITE8_LEGACY("ymsnd", megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
AM_RANGE(0x000000, 0x00001f) AM_WRITE_LEGACY(megadriv_vdp_w)
AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
@ -245,7 +245,7 @@ static ADDRESS_MAP_START( jzth_map, AS_PROGRAM, 16, md_boot_state )
AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0xa04000, 0xa04003) AM_DEVREADWRITE8_LEGACY("ymsnd", megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)

View File

@ -78,6 +78,8 @@
#include "includes/megadriv.h"
#include "machine/megavdp.h"
#define XL1_CLOCK XTAL_640kHz
#define XL2_CLOCK XTAL_53_693175MHz
@ -611,7 +613,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, segac2_state )
AM_RANGE(0x840100, 0x840107) AM_MIRROR(0x13fef8) AM_DEVREADWRITE8_LEGACY("ymsnd", ym3438_r, ym3438_w, 0x00ff)
AM_RANGE(0x880100, 0x880101) AM_MIRROR(0x13fefe) AM_WRITE_LEGACY(counter_timer_w)
AM_RANGE(0x8c0000, 0x8c0fff) AM_MIRROR(0x13f000) AM_READWRITE_LEGACY(palette_r, palette_w) AM_SHARE("paletteram")
AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x18ff00) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x18ff00) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xe00000, 0xe0ffff) AM_MIRROR(0x1f0000) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
@ -1288,8 +1290,7 @@ static MACHINE_CONFIG_START( segac, segac2_state )
MCFG_FRAGMENT_ADD(megadriv_timers)
/* video hardware */
//MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS)
MCFG_DEVICE_ADD("gen_vdp", SEGA_GEN_VDP, 0)
MCFG_SCREEN_ADD("megadriv", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)

View File

@ -56,8 +56,6 @@ extern void megadriv_stop_scanline_timer(void);
void megatech_set_megadrive_z80_as_megadrive_z80(running_machine &machine, const char* tag);
extern READ16_HANDLER( megadriv_vdp_r );
extern WRITE16_HANDLER( megadriv_vdp_w );
/* These handlers are needed by megaplay.c */
extern READ16_HANDLER( megadriv_68k_io_read );
@ -446,7 +444,6 @@ extern int _32x_displaymode;
extern int _32x_videopriority;
extern int _32x_hcount_compare_val;
extern int megadrive_vblank_flag;
extern UINT16 get_hposition(void);
extern int genesis_scanline_counter;
class segacd_state : public _32x_state // use _32x_state as base to make easier the combo 32X + SCD
@ -495,8 +492,6 @@ extern TIMER_DEVICE_CALLBACK( megadriv_render_timer_callback );
extern TIMER_DEVICE_CALLBACK( irq6_on_callback );
extern int megadrive_irq6_pending;
extern int megadrive_irq4_pending;
extern bitmap_ind16* megadriv_render_bitmap;
extern timer_device* megadriv_scanline_timer;
extern timer_device* irq6_on_timer;
extern timer_device* irq4_on_timer;
extern void megadriv_reset_vdp(void);
extern void megadriv_reset_vdp(running_machine &machine);

View File

@ -996,6 +996,26 @@ static WRITE16_HANDLER( _32x_68k_pwm_w )
/**********************************************************************************************/
static UINT16 _32x_a1518a_reg;
#define MAX_HPOSITION 480
static UINT16 get_hposition(void)
{
attotime time_elapsed_since_megadriv_scanline_timer;
UINT16 value4;
time_elapsed_since_megadriv_scanline_timer = megadriv_scanline_timer->time_elapsed();
if (time_elapsed_since_megadriv_scanline_timer.attoseconds<(ATTOSECONDS_PER_SECOND/megadriv_framerate /megadrive_total_scanlines))
{
value4 = (UINT16)(MAX_HPOSITION*((double)(time_elapsed_since_megadriv_scanline_timer.attoseconds) / (double)(ATTOSECONDS_PER_SECOND/megadriv_framerate /megadrive_total_scanlines)));
}
else /* in some cases (probably due to rounding errors) we get some stupid results (the odd huge value where the time elapsed is much higher than the scanline time??!).. hopefully by clamping the result to the maximum we limit errors */
{
value4 = MAX_HPOSITION;
}
return value4;
}
static READ16_HANDLER( _32x_common_vdp_regs_r )
{

View File

@ -47,8 +47,7 @@ Known Non-Issues (confirmed on Real Genesis)
#include "cpu/ssp1601/ssp1601.h"
#include "megacd.lh"
#include "machine/megavdp.h"
@ -58,13 +57,22 @@ static cpu_device *_genesis_snd_z80_cpu;
timer_device* megadriv_scanline_timer;
timer_device* irq6_on_timer;
timer_device* irq4_on_timer;
bitmap_ind16* megadriv_render_bitmap;
//emu_timer* vblankirq_off_timer;
genesis_z80_vars genz80;
void megadriv_z80_hold(running_machine &machine)
{
if ((genz80.z80_has_bus == 1) && (genz80.z80_is_reset == 0))
cputag_set_input_line(machine, ":genesis_snd_z80", 0, HOLD_LINE);
}
void megadriv_z80_clear(running_machine &machine)
{
cputag_set_input_line(machine, ":genesis_snd_z80", 0, CLEAR_LINE);
}
static void megadriv_z80_bank_w(UINT16 data)
{
genz80.z80_bank_addr = ( ( genz80.z80_bank_addr >> 1 ) | ( data << 23 ) ) & 0xff8000;
@ -93,6 +101,22 @@ static WRITE16_HANDLER( megadriv_68k_req_z80_reset );
READ8_DEVICE_HANDLER( megadriv_68k_YM2612_read)
{
//mame_printf_debug("megadriv_68k_YM2612_read %02x %04x\n",offset,mem_mask);
if ( (genz80.z80_has_bus==0) && (genz80.z80_is_reset==0) )
{
return ym2612_r(device, offset);
}
else
{
logerror("%s: 68000 attempting to access YM2612 (read) without bus\n", device->machine().describe_context());
return 0;
}
return -1;
}
WRITE8_DEVICE_HANDLER( megadriv_68k_YM2612_write)
{
@ -551,8 +575,8 @@ static ADDRESS_MAP_START( megadriv_map, AS_PROGRAM, 16, driver_device )
// AM_RANGE(0xb10000, 0xb1007f) AM_RAM AM_BASE_LEGACY(&megadrive_vdp_vsram)
// AM_RANGE(0xb10100, 0xb1017f) AM_RAM AM_BASE_LEGACY(&megadrive_vdp_cram)
AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE_LEGACY(megadriv_vdp_r,megadriv_vdp_w) // the earth defend
AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xd00000, 0xd0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w) // the earth defend
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
// AM_RANGE(0xff0000, 0xffffff) AM_READONLY
@ -850,8 +874,8 @@ static ADDRESS_MAP_START( md_bootleg_map, AS_PROGRAM, 16, driver_device )
AM_RANGE(0xa11100, 0xa11101) AM_READWRITE_LEGACY(megadriv_68k_check_z80_bus, megadriv_68k_req_z80_bus)
AM_RANGE(0xa11200, 0xa11201) AM_WRITE_LEGACY(megadriv_68k_req_z80_reset)
AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w)
AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE_LEGACY(megadriv_vdp_r, megadriv_vdp_w) // the earth defend
AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xd00000, 0xd0001f) AM_DEVREADWRITE("gen_vdp", sega_genesis_vdp_device, megadriv_vdp_r,megadriv_vdp_w)
AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE_LEGACY(&megadrive_ram)
ADDRESS_MAP_END
@ -904,13 +928,20 @@ MACHINE_CONFIG_END
SCREEN_UPDATE_RGB32(megadriv)
{
sega_genesis_vdp_device *vdp = screen.machine().device<sega_genesis_vdp_device>("gen_vdp"); // yuck
/* Copy our screen buffer here */
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
UINT32* desty = &bitmap.pix32(y, 0);
UINT16* srcy = &vdp->m_render_bitmap->pix(y, 0);
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
{
UINT16 src = megadriv_render_bitmap->pix(y, x);
bitmap.pix32(y, x) = MAKE_RGB(pal5bit(src >> 10), pal5bit(src >> 5), pal5bit(src >> 0));
UINT16 src = srcy[x];
desty[x] = MAKE_RGB(pal5bit(src >> 10), pal5bit(src >> 5), pal5bit(src >> 0));
}
}
return 0;
}
@ -976,7 +1007,7 @@ MACHINE_RESET( megadriv )
memset(megadrive_ram,0x00,0x10000);
}
megadriv_reset_vdp();
megadriv_reset_vdp(machine);
@ -1068,6 +1099,8 @@ MACHINE_CONFIG_FRAGMENT( md_ntsc )
MCFG_FRAGMENT_ADD(megadriv_timers)
MCFG_DEVICE_ADD("gen_vdp", SEGA_GEN_VDP, 0)
MCFG_SCREEN_ADD("megadriv", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) // Vblank handled manually.
@ -1116,6 +1149,8 @@ MACHINE_CONFIG_FRAGMENT( md_pal )
MCFG_FRAGMENT_ADD(megadriv_timers)
MCFG_DEVICE_ADD("gen_vdp", SEGA_GEN_VDP, 0)
MCFG_SCREEN_ADD("megadriv", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) // Vblank handled manually.

File diff suppressed because it is too large Load Diff

232
src/mame/machine/megavdp.h Normal file
View File

@ -0,0 +1,232 @@
/* Sega Megadrive / Genesis VDP */
/* The VDP occupies addresses C00000h to C0001Fh.
C00000h - Data port (8=r/w, 16=r/w)
C00002h - Data port (mirror)
C00004h - Control port (8=r/w, 16=r/w)
C00006h - Control port (mirror)
C00008h - HV counter (8/16=r/o)
C0000Ah - HV counter (mirror)
C0000Ch - HV counter (mirror)
C0000Eh - HV counter (mirror)
C00011h - SN76489 PSG (8=w/o)
C00013h - SN76489 PSG (mirror)
C00015h - SN76489 PSG (mirror)
C00017h - SN76489 PSG (mirror)
*/
#define MEGADRIV_VDP_VRAM(address) m_vram[(address)&0x7fff]
/*
$00 - Mode Set Register No. 1
-----------------------------
d7 - No effect
d6 - No effect
d5 - No effect
d4 - IE1 (Horizontal interrupt enable)
d3 - 1= Invalid display setting
d2 - Palette select
d1 - M3 (HV counter latch enable)
d0 - Display disable
*/
#define MEGADRIVE_REG0_UNUSED ((m_vdp_regs[0x00]&0xc0)>>6)
#define MEGADRIVE_REG0_BLANK_LEFT ((m_vdp_regs[0x00]&0x20)>>5) // like SMS, not used by any commercial games?
#define MEGADRIVE_REG0_IRQ4_ENABLE ((m_vdp_regs[0x00]&0x10)>>4)
#define MEGADRIVE_REG0_INVALID_MODE ((m_vdp_regs[0x00]&0x08)>>3) // invalid display mode, unhandled
#define MEGADRIVE_REG0_SPECIAL_PAL ((m_vdp_regs[0x00]&0x04)>>2) // strange palette mode, unhandled
#define MEGADRIVE_REG0_HVLATCH_ENABLE ((m_vdp_regs[0x00]&0x02)>>1) // HV Latch, used by lightgun games
#define MEGADRIVE_REG0_DISPLAY_DISABLE ((m_vdp_regs[0x00]&0x01)>>0)
/*
$01 - Mode Set Register No. 2
-----------------------------
d7 - TMS9918 / Genesis display select
d6 - DISP (Display Enable)
d5 - IE0 (Vertical Interrupt Enable)
d4 - M1 (DMA Enable)
d3 - M2 (PAL / NTSC)
d2 - SMS / Genesis display select
d1 - 0 (No effect)
d0 - 0 (See notes)
*/
#define MEGADRIVE_REG01_TMS9918_SELECT ((m_vdp_regs[0x01]&0x80)>>7)
#define MEGADRIVE_REG01_DISP_ENABLE ((m_vdp_regs[0x01]&0x40)>>6)
#define MEGADRIVE_REG01_IRQ6_ENABLE ((m_vdp_regs[0x01]&0x20)>>5)
#define MEGADRIVE_REG01_DMA_ENABLE ((m_vdp_regs[0x01]&0x10)>>4)
#define MEGADRIVE_REG01_240_LINE ((m_vdp_regs[0x01]&0x08)>>3)
#define MEGADRIVE_REG01_SMS_SELECT ((m_vdp_regs[0x01]&0x04)>>2)
#define MEGADRIVE_REG01_UNUSED ((m_vdp_regs[0x01]&0x02)>>1)
#define MEGADRIVE_REG01_STRANGE_VIDEO ((m_vdp_regs[0x01]&0x01)>>0) // unhandled, does strange things to the display
#define MEGADRIVE_REG02_UNUSED1 ((m_vdp_regs[0x02]&0xc0)>>6)
#define MEGADRIVE_REG02_PATTERN_ADDR_A ((m_vdp_regs[0x02]&0x38)>>3)
#define MEGADRIVE_REG02_UNUSED2 ((m_vdp_regs[0x02]&0x07)>>0)
#define MEGADRIVE_REG03_UNUSED1 ((m_vdp_regs[0x03]&0xc0)>>6)
#define MEGADRIVE_REG03_PATTERN_ADDR_W ((m_vdp_regs[0x03]&0x3e)>>1)
#define MEGADRIVE_REG03_UNUSED2 ((m_vdp_regs[0x03]&0x01)>>0)
#define MEGADRIVE_REG04_UNUSED ((m_vdp_regs[0x04]&0xf8)>>3)
#define MEGADRIVE_REG04_PATTERN_ADDR_B ((m_vdp_regs[0x04]&0x07)>>0)
#define MEGADRIVE_REG05_UNUSED ((m_vdp_regs[0x05]&0x80)>>7)
#define MEGADRIVE_REG05_SPRITE_ADDR ((m_vdp_regs[0x05]&0x7f)>>0)
/* 6? */
#define MEGADRIVE_REG07_UNUSED ((m_vdp_regs[0x07]&0xc0)>>6)
#define MEGADRIVE_REG07_BGCOLOUR ((m_vdp_regs[0x07]&0x3f)>>0)
/* 8? */
/* 9? */
#define MEGADRIVE_REG0A_HINT_VALUE ((m_vdp_regs[0x0a]&0xff)>>0)
#define MEGADRIVE_REG0B_UNUSED ((m_vdp_regs[0x0b]&0xf0)>>4)
#define MEGADRIVE_REG0B_IRQ2_ENABLE ((m_vdp_regs[0x0b]&0x08)>>3)
#define MEGADRIVE_REG0B_VSCROLL_MODE ((m_vdp_regs[0x0b]&0x04)>>2)
#define MEGADRIVE_REG0B_HSCROLL_MODE ((m_vdp_regs[0x0b]&0x03)>>0)
#define MEGADRIVE_REG0C_RS0 ((m_vdp_regs[0x0c]&0x80)>>7)
#define MEGADRIVE_REG0C_UNUSED1 ((m_vdp_regs[0x0c]&0x40)>>6)
#define MEGADRIVE_REG0C_SPECIAL ((m_vdp_regs[0x0c]&0x20)>>5)
#define MEGADRIVE_REG0C_UNUSED2 ((m_vdp_regs[0x0c]&0x10)>>4)
#define MEGADRIVE_REG0C_SHADOW_HIGLIGHT ((m_vdp_regs[0x0c]&0x08)>>3)
#define MEGADRIVE_REG0C_INTERLEAVE ((m_vdp_regs[0x0c]&0x06)>>1)
#define MEGADRIVE_REG0C_RS1 ((m_vdp_regs[0x0c]&0x01)>>0)
#define MEGADRIVE_REG0D_UNUSED ((m_vdp_regs[0x0d]&0xc0)>>6)
#define MEGADRIVE_REG0D_HSCROLL_ADDR ((m_vdp_regs[0x0d]&0x3f)>>0)
/* e? */
#define MEGADRIVE_REG0F_AUTO_INC ((m_vdp_regs[0x0f]&0xff)>>0)
#define MEGADRIVE_REG10_UNUSED1 ((m_vdp_regs[0x10]&0xc0)>>6)
#define MEGADRIVE_REG10_VSCROLL_SIZE ((m_vdp_regs[0x10]&0x30)>>4)
#define MEGADRIVE_REG10_UNUSED2 ((m_vdp_regs[0x10]&0x0c)>>2)
#define MEGADRIVE_REG10_HSCROLL_SIZE ((m_vdp_regs[0x10]&0x03)>>0)
#define MEGADRIVE_REG11_WINDOW_RIGHT ((m_vdp_regs[0x11]&0x80)>>7)
#define MEGADRIVE_REG11_UNUSED ((m_vdp_regs[0x11]&0x60)>>5)
#define MEGADRIVE_REG11_WINDOW_HPOS ((m_vdp_regs[0x11]&0x1f)>>0)
#define MEGADRIVE_REG12_WINDOW_DOWN ((m_vdp_regs[0x12]&0x80)>>7)
#define MEGADRIVE_REG12_UNUSED ((m_vdp_regs[0x12]&0x60)>>5)
#define MEGADRIVE_REG12_WINDOW_VPOS ((m_vdp_regs[0x12]&0x1f)>>0)
#define MEGADRIVE_REG13_DMALENGTH1 ((m_vdp_regs[0x13]&0xff)>>0)
#define MEGADRIVE_REG14_DMALENGTH2 ((m_vdp_regs[0x14]&0xff)>>0)
#define MEGADRIVE_REG15_DMASOURCE1 ((m_vdp_regs[0x15]&0xff)>>0)
#define MEGADRIVE_REG16_DMASOURCE2 ((m_vdp_regs[0x16]&0xff)>>0)
#define MEGADRIVE_REG17_DMASOURCE3 ((m_vdp_regs[0x17]&0xff)>>0)
#define MEGADRIVE_REG17_DMATYPE ((m_vdp_regs[0x17]&0xc0)>>6)
#define MEGADRIVE_REG17_UNUSED ((m_vdp_regs[0x17]&0x3f)>>0)
class sega_genesis_vdp_device : public device_t
{
public:
sega_genesis_vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
DECLARE_READ16_MEMBER( megadriv_vdp_r );
DECLARE_WRITE16_MEMBER( megadriv_vdp_w );
void genesis_render_scanline(running_machine &machine, int scanline);
void vdp_handle_scanline_callback(running_machine &machine, int scanline);
void vdp_handle_irq6_on_callback(running_machine &machine, int param);
void vdp_handle_vblank(screen_device &screen);
void device_reset_old();
bitmap_ind16* m_render_bitmap;
protected:
virtual void device_start();
virtual void device_reset();
private:
int m_vdp_command_pending; // 2nd half of command pending..
UINT16 m_vdp_command_part1;
UINT16 m_vdp_command_part2;
UINT8 m_vdp_code;
UINT16 m_vdp_address;
UINT8 m_vram_fill_pending;
UINT16 m_vram_fill_length;
int m_irq4counter;
int m_imode_odd_frame;
int m_sprite_collision;
UINT16* m_vdp_regs;
UINT16* m_vram;
UINT16* m_cram;
UINT16* m_vsram;
/* The VDP keeps a 0x400 byte on-chip cache of the Sprite Attribute Table
to speed up processing, Castlevania Bloodlines abuses this on the upside down level */
UINT16* m_internal_sprite_attribute_table;
UINT16 vdp_vram_r(void);
UINT16 vdp_vsram_r(void);
UINT16 vdp_cram_r(void);
void megadrive_do_insta_68k_to_cram_dma(running_machine &machine,UINT32 source,UINT16 length);
void megadrive_do_insta_68k_to_vsram_dma(running_machine &machine,UINT32 source,UINT16 length);
void megadrive_do_insta_68k_to_vram_dma(running_machine &machine, UINT32 source,int length);
void megadrive_do_insta_vram_copy(UINT32 source, UINT16 length);
void vdp_vram_write(UINT16 data);
void vdp_cram_write(running_machine &machine, UINT16 data);
void write_cram_value(running_machine &machine, int offset, int data);
void vdp_vsram_write(UINT16 data);
void megadrive_vdp_set_register(running_machine &machine, int regnum, UINT8 value);
void handle_dma_bits(running_machine &machine);
UINT16 get_hposition(void);
UINT16 megadriv_read_hv_counters(void);
UINT16 megadriv_vdp_ctrl_port_r(void);
UINT16 megadriv_vdp_data_port_r(running_machine &machine);
void megadriv_vdp_data_port_w(running_machine &machine, int data);
void megadriv_vdp_ctrl_port_w(running_machine &machine, int data);
void update_m_vdp_code_and_address(void);
void genesis_render_spriteline_to_spritebuffer(int scanline);
void genesis_render_videoline_to_videobuffer(int scanline);
void genesis_render_videobuffer_to_screenbuffer(running_machine &machine, int scanline);
/* variables used during emulation - not saved */
UINT8* m_sprite_renderline;
UINT8* m_highpri_renderline;
UINT32* m_video_renderline;
};
extern const device_type SEGA_GEN_VDP;

View File

@ -20854,7 +20854,6 @@ m4nspot // Night Spot Club (Barcrest)
m4nspota //
m4nspotb //
m4nile // Nile Jewels (Barcrest)
m4nudgew // Nudge A Win (Barcrest)
m4nudbnk // Nudge Banker (Barcrest)
m4nnww // Nudge Nudge Wink Wink (Barcrest)
m4nnww__a //
@ -23090,6 +23089,14 @@ m4rhfevc__w //
m4rhfevc__x //
m4rhfevc__y //
m4nudgwc // Nudge a Win (Concept)
m4nudgwc__a //
m4nudgwc__b //
m4nudgwc__c //
m4nudgwc__d //
m4nudgwc__e //
m4nudgwc__f //
m4nudgwc__g //
m4nudgwc__h //
m4pulwnc // Pull-a-Win (Concept)
m4pulwnc__a //
m4pulwnc__b //
@ -23123,6 +23130,8 @@ m4pulwnc__2 //
m4pulwnc__3 //
m4pulwnc__4 //
m4spnwnc // Spin-A-Win (Concept)
m4spnwnc__a //
m4spnwnc__b //
/* Empire */
@ -23423,14 +23432,31 @@ m4ccc
m4treel
m4treela
m4nod
m4dcrls
m4dcrls // Double Crazy Reels (Qps)
m4dcrls__a //
m4dcrls__b //
m4dcrls__c //
m4dcrls__d //
m4dcrls__e //
m4dcrls__f //
m4dcrls__g //
m4dcrls__h //
m4dcrls__i //
m4dcrls__j //
m4dcrls__k //
m4dcrls__l //
m4dcrls__m //
m4dcrls__n //
m4dcrls__o //
m4dcrls__p //
m4dcrls__q //
m4dcrls__r //
m4aliz // AlizBaz (Qps)
m4bluesn // Blues Boys (Nova)
m4c2 // Circus Circus 2 (Nova)
m4coney // Coney Island (Qps)
m4cfinln // Cup Final (Nova)
m4cfinln__a //
m4dcrazy // D' Crazy Reels (Qps)
m4ftladn // Find the Lady (Nova)
m4goldnn // Golden Years (Nova)
m4jungjk // Jungle Jackpots (Mazooma - Qps)