More konami cleanups (nw)

This commit is contained in:
Alex W. Jackson 2015-08-13 14:21:40 -04:00
parent 3f2b5a229d
commit 6e3fef765d
26 changed files with 170 additions and 286 deletions

View File

@ -217,13 +217,10 @@ void battlnts_state::machine_start()
m_rombank->configure_entries(0, 4, &ROM[0x10000], 0x4000);
save_item(NAME(m_spritebank));
save_item(NAME(m_layer_colorbase));
}
void battlnts_state::machine_reset()
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 0;
m_spritebank = 0;
}

View File

@ -282,7 +282,6 @@ void bladestl_state::machine_start()
m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x2000);
save_item(NAME(m_spritebank));
save_item(NAME(m_layer_colorbase));
save_item(NAME(m_last_track));
}
@ -290,8 +289,6 @@ void bladestl_state::machine_reset()
{
int i;
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 1;
m_spritebank = 0;
for (i = 0; i < 4 ; i++)

View File

@ -412,50 +412,50 @@ ROM_START( gradius3j )
ROM_END
ROM_START( gradius3js )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "945_s13.f15", 0x00000, 0x20000, CRC(70c240a2) SHA1(82dc391572e1f61b0182cb031654d71adcdd5f6e) )
ROM_LOAD16_BYTE( "945_s12.e15", 0x00001, 0x20000, CRC(bbc300d4) SHA1(e1ca98bc591575285d7bd2d4fefdf35fed10dcb6) )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD16_BYTE( "945_s13.f15", 0x00000, 0x20000, CRC(70c240a2) SHA1(82dc391572e1f61b0182cb031654d71adcdd5f6e) )
ROM_LOAD16_BYTE( "945_s12.e15", 0x00001, 0x20000, CRC(bbc300d4) SHA1(e1ca98bc591575285d7bd2d4fefdf35fed10dcb6) )
ROM_REGION( 0x100000, "sub", 0 )
ROM_LOAD16_BYTE( "945_m09.r17", 0x000000, 0x20000, CRC(b4a6df25) SHA1(85533cf140d28f6f81c0b49b8061bda0924a613a) )
ROM_LOAD16_BYTE( "945_m08.n17", 0x000001, 0x20000, CRC(74e981d2) SHA1(e7b47a2da01ff73293d2100c48fdf00b33125af5) )
ROM_LOAD16_BYTE( "945_l06b.r11", 0x040000, 0x20000, CRC(83772304) SHA1(a90c75a3de670b6ec5e0fc201876d463b4a76766) )
ROM_LOAD16_BYTE( "945_l06a.n11", 0x040001, 0x20000, CRC(e1fd75b6) SHA1(6160d80a2f1bf550e85d6253cf521a96f5a644cc) )
ROM_LOAD16_BYTE( "945_l07c.r15", 0x080000, 0x20000, CRC(c1e399b6) SHA1(e95bd478dd3beea0175bf9ee4cededb111c4ace1) )
ROM_LOAD16_BYTE( "945_l07a.n15", 0x080001, 0x20000, CRC(96222d04) SHA1(b55700f683a556b0e73dbac9c7b4ce485420d21c) )
ROM_LOAD16_BYTE( "945_l07d.r13", 0x0c0000, 0x20000, CRC(4c16d4bd) SHA1(01dcf169b78a1e495214b10181401d1920b0c924) )
ROM_LOAD16_BYTE( "945_l07b.n13", 0x0c0001, 0x20000, CRC(5e209d01) SHA1(0efa1bbfdc7e2ba1e0bb96245e2bfe961258b446) )
ROM_REGION( 0x100000, "sub", 0 )
ROM_LOAD16_BYTE( "945_m09.r17", 0x000000, 0x20000, CRC(b4a6df25) SHA1(85533cf140d28f6f81c0b49b8061bda0924a613a) )
ROM_LOAD16_BYTE( "945_m08.n17", 0x000001, 0x20000, CRC(74e981d2) SHA1(e7b47a2da01ff73293d2100c48fdf00b33125af5) )
ROM_LOAD16_BYTE( "945_l06b.r11", 0x040000, 0x20000, CRC(83772304) SHA1(a90c75a3de670b6ec5e0fc201876d463b4a76766) )
ROM_LOAD16_BYTE( "945_l06a.n11", 0x040001, 0x20000, CRC(e1fd75b6) SHA1(6160d80a2f1bf550e85d6253cf521a96f5a644cc) )
ROM_LOAD16_BYTE( "945_l07c.r15", 0x080000, 0x20000, CRC(c1e399b6) SHA1(e95bd478dd3beea0175bf9ee4cededb111c4ace1) )
ROM_LOAD16_BYTE( "945_l07a.n15", 0x080001, 0x20000, CRC(96222d04) SHA1(b55700f683a556b0e73dbac9c7b4ce485420d21c) )
ROM_LOAD16_BYTE( "945_l07d.r13", 0x0c0000, 0x20000, CRC(4c16d4bd) SHA1(01dcf169b78a1e495214b10181401d1920b0c924) )
ROM_LOAD16_BYTE( "945_l07b.n13", 0x0c0001, 0x20000, CRC(5e209d01) SHA1(0efa1bbfdc7e2ba1e0bb96245e2bfe961258b446) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "945_m05.d9", 0x00000, 0x10000, CRC(c8c45365) SHA1(b9a7b736b52bca42c7b8c8ed64c8df73e0116158) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "945_m05.d9", 0x00000, 0x10000, CRC(c8c45365) SHA1(b9a7b736b52bca42c7b8c8ed64c8df73e0116158) )
ROM_REGION( 0x200000, "k051960", 0 ) /* graphics (addressable by the main CPU) */
ROM_REGION( 0x200000, "k051960", 0 ) /* graphics (addressable by the main CPU) */
ROM_LOAD32_BYTE( "945_A02A.K2", 0x000000, 0x20000, CRC(fbb81511) SHA1(e7988d52e323e46117f5080c469daf9b119f28a0) )
ROM_LOAD32_BYTE( "945_A02C.M2", 0x000001, 0x20000, CRC(031b55e8) SHA1(64ed8dee60bf012df7c1ed496af1c75263c052a6) )
ROM_LOAD32_BYTE( "945_A01A.E2", 0x000002, 0x20000, CRC(bace5abb) SHA1(b32df63294c0730f463335b1b760494389c60062) )
ROM_LOAD32_BYTE( "945_A01C.H2", 0x000003, 0x20000, CRC(d91b29a6) SHA1(0c3027a08996f4c2b86dd88695241b21c8dffd64) )
ROM_LOAD32_BYTE( "945_A02B.K4", 0x080000, 0x20000, CRC(c0fed4ab) SHA1(f01975b13759cae7c8dfd24f9b3f4ac960d32957) )
ROM_LOAD32_BYTE( "945_A02D.M4", 0x080001, 0x20000, CRC(d462817c) SHA1(00137e38454e7c3548a1a9553c5ee644916b3959) )
ROM_LOAD32_BYTE( "945_A01B.E4", 0x080002, 0x20000, CRC(b426090e) SHA1(06a671a648e3255146fe0c325d5451d4f75f08aa) )
ROM_LOAD32_BYTE( "945_A01D.H4", 0x080003, 0x20000, CRC(3990c09a) SHA1(1f6a089c1d03fb95d4d96fecc0379bde26ee2b9d) )
ROM_LOAD32_BYTE( "945_A02C.M2", 0x000001, 0x20000, CRC(031b55e8) SHA1(64ed8dee60bf012df7c1ed496af1c75263c052a6) )
ROM_LOAD32_BYTE( "945_A01A.E2", 0x000002, 0x20000, CRC(bace5abb) SHA1(b32df63294c0730f463335b1b760494389c60062) )
ROM_LOAD32_BYTE( "945_A01C.H2", 0x000003, 0x20000, CRC(d91b29a6) SHA1(0c3027a08996f4c2b86dd88695241b21c8dffd64) )
ROM_LOAD32_BYTE( "945_A02B.K4", 0x080000, 0x20000, CRC(c0fed4ab) SHA1(f01975b13759cae7c8dfd24f9b3f4ac960d32957) )
ROM_LOAD32_BYTE( "945_A02D.M4", 0x080001, 0x20000, CRC(d462817c) SHA1(00137e38454e7c3548a1a9553c5ee644916b3959) )
ROM_LOAD32_BYTE( "945_A01B.E4", 0x080002, 0x20000, CRC(b426090e) SHA1(06a671a648e3255146fe0c325d5451d4f75f08aa) )
ROM_LOAD32_BYTE( "945_A01D.H4", 0x080003, 0x20000, CRC(3990c09a) SHA1(1f6a089c1d03fb95d4d96fecc0379bde26ee2b9d) )
ROM_LOAD32_BYTE( "945_l04a.k6", 0x100000, 0x20000, CRC(884e21ee) SHA1(ce86dd3a06775e5b1aa09db010dcb674e67828e7) )
ROM_LOAD32_BYTE( "945_l04c.m6", 0x100001, 0x20000, CRC(45bcd921) SHA1(e51a8a71362a6fb55124aa1dce74519c0a3c6e3f) )
ROM_LOAD32_BYTE( "945_l03a.e6", 0x100002, 0x20000, CRC(a67ef087) SHA1(fd63474f3bbde5dfc53ed4c1db25d6411a8b54d2) )
ROM_LOAD32_BYTE( "945_l03c.h6", 0x100003, 0x20000, CRC(a56be17a) SHA1(1d387736144c30fcb5de54235331ab1ff70c356e) )
ROM_LOAD32_BYTE( "945_l04b.k8", 0x180000, 0x20000, CRC(843bc67d) SHA1(cdf8421083f24ab27867ed5d08d8949da192b2b9) )
ROM_LOAD32_BYTE( "945_l04d.m8", 0x180001, 0x20000, CRC(0a98d08e) SHA1(1e0ca51a2d45c01fa3f11950ddd387f41ddae691) )
ROM_LOAD32_BYTE( "945_l03b.e8", 0x180002, 0x20000, CRC(933e68b9) SHA1(f3a39446ca77d17fdbd938bd5f718ae9d5570879) )
ROM_LOAD32_BYTE( "945_l03d.h8", 0x180003, 0x20000, CRC(f375e87b) SHA1(6427b966795c907c8e516244872fe52217da62c4) )
ROM_LOAD32_BYTE( "945_l04a.k6", 0x100000, 0x20000, CRC(884e21ee) SHA1(ce86dd3a06775e5b1aa09db010dcb674e67828e7) )
ROM_LOAD32_BYTE( "945_l04c.m6", 0x100001, 0x20000, CRC(45bcd921) SHA1(e51a8a71362a6fb55124aa1dce74519c0a3c6e3f) )
ROM_LOAD32_BYTE( "945_l03a.e6", 0x100002, 0x20000, CRC(a67ef087) SHA1(fd63474f3bbde5dfc53ed4c1db25d6411a8b54d2) )
ROM_LOAD32_BYTE( "945_l03c.h6", 0x100003, 0x20000, CRC(a56be17a) SHA1(1d387736144c30fcb5de54235331ab1ff70c356e) )
ROM_LOAD32_BYTE( "945_l04b.k8", 0x180000, 0x20000, CRC(843bc67d) SHA1(cdf8421083f24ab27867ed5d08d8949da192b2b9) )
ROM_LOAD32_BYTE( "945_l04d.m8", 0x180001, 0x20000, CRC(0a98d08e) SHA1(1e0ca51a2d45c01fa3f11950ddd387f41ddae691) )
ROM_LOAD32_BYTE( "945_l03b.e8", 0x180002, 0x20000, CRC(933e68b9) SHA1(f3a39446ca77d17fdbd938bd5f718ae9d5570879) )
ROM_LOAD32_BYTE( "945_l03d.h8", 0x180003, 0x20000, CRC(f375e87b) SHA1(6427b966795c907c8e516244872fe52217da62c4) )
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "945l14.j28", 0x0000, 0x0100, CRC(c778c189) SHA1(847eaf379ba075c25911c6f83dd63ff390534f60) ) /* priority encoder (not used) */
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "945l14.j28", 0x0000, 0x0100, CRC(c778c189) SHA1(847eaf379ba075c25911c6f83dd63ff390534f60) ) /* priority encoder (not used) */
ROM_REGION( 0x80000, "k007232", 0 ) /* 007232 samples */
ROM_REGION( 0x80000, "k007232", 0 ) /* 007232 samples */
ROM_LOAD( "945_A10A.C14", 0x00000, 0x20000, CRC(ec717414) SHA1(8c63d5fe01d0833529fca91bc80cdbd8a04174c0) )
ROM_LOAD( "945_A10B.C16", 0x20000, 0x20000, CRC(709e30e4) SHA1(27fcea720cd2498f1870c9290d30dcb3dd81d5e5) )
ROM_LOAD( "945_l11a.c18", 0x40000, 0x20000, CRC(6043f4eb) SHA1(1c2e9ace1cfdde504b7b6158e3c3f54dc5ae33d4) )
ROM_LOAD( "945_l11b.c20", 0x60000, 0x20000, CRC(89ea3baf) SHA1(8edcbaa7969185cfac48c02559826d1b8b081f3f) )
ROM_LOAD( "945_l11a.c18", 0x40000, 0x20000, CRC(6043f4eb) SHA1(1c2e9ace1cfdde504b7b6158e3c3f54dc5ae33d4) )
ROM_LOAD( "945_l11b.c20", 0x60000, 0x20000, CRC(89ea3baf) SHA1(8edcbaa7969185cfac48c02559826d1b8b081f3f) )
ROM_END
ROM_START( gradius3a )

View File

@ -51,7 +51,7 @@ INTERRUPT_GEN_MEMBER(mainevt_state::dv_interrupt)
WRITE8_MEMBER(mainevt_state::mainevt_bankswitch_w)
{
/* bit 0-1 ROM bank select */
membank("bank1")->set_entry(data & 0x03);
m_rombank->set_entry(data & 0x03);
/* TODO: bit 5 = select work RAM or palette? */
//palette_selected = data & 0x20;
@ -170,7 +170,7 @@ static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -194,7 +194,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -380,9 +380,7 @@ WRITE8_MEMBER(mainevt_state::volume_callback)
void mainevt_state::machine_start()
{
UINT8 *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x2000);
save_item(NAME(m_nmi_enable));
}
@ -428,8 +426,6 @@ static MACHINE_CONFIG_START( mainevt, mainevt_state )
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_VIDEO_START_OVERRIDE(mainevt_state,mainevt)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
MCFG_K052109_CB(mainevt_state, mainevt_tile_callback)
@ -475,8 +471,6 @@ static MACHINE_CONFIG_START( devstors, mainevt_state )
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_VIDEO_START_OVERRIDE(mainevt_state,dv)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
MCFG_K052109_CB(mainevt_state, dv_tile_callback)
@ -510,11 +504,10 @@ MACHINE_CONFIG_END
ROM_START( mainevt ) /* 4 players - English title screen - No "Warning" message in the ROM */
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "799y02.k11", 0x10000, 0x08000, CRC(e2e7dbd5) SHA1(80314cd42a9f47f7bb82a2160fb5ef2ddc6dff30) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "799y02.k11", 0x00000, 0x10000, CRC(e2e7dbd5) SHA1(80314cd42a9f47f7bb82a2160fb5ef2ddc6dff30) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@ -538,11 +531,10 @@ ROM_START( mainevt ) /* 4 players - English title screen - No "Warning" messa
ROM_END
ROM_START( mainevto ) /* 4 players - English title screen - No "Warning" message in the ROM */
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "799f02.k11", 0x10000, 0x08000, CRC(c143596b) SHA1(5da7efaf0f7c7a493cc242eae115f278bc9c134b) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "799f02.k11", 0x00000, 0x10000, CRC(c143596b) SHA1(5da7efaf0f7c7a493cc242eae115f278bc9c134b) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@ -566,11 +558,10 @@ ROM_START( mainevto ) /* 4 players - English title screen - No "Warning" messa
ROM_END
ROM_START( mainevt2p ) /* 2 players - English title screen - "Warning" message in the ROM (not displayed) */
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "799x02.k11", 0x10000, 0x08000, CRC(42cfc650) SHA1(2d1918ebc0d93a2356ad995a6854dbde7c3b8daf) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "799x02.k11", 0x00000, 0x10000, CRC(42cfc650) SHA1(2d1918ebc0d93a2356ad995a6854dbde7c3b8daf) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@ -594,11 +585,10 @@ ROM_START( mainevt2p ) /* 2 players - English title screen - "Warning" message
ROM_END
ROM_START( ringohja ) /* 2 players - Japan title screen - "Warning" message in the ROM (displayed) */
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "799n02.k11", 0x10000, 0x08000, CRC(f9305dd0) SHA1(7135053be9d46ac9c09ab63eca1eb71825a71a13) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "799n02.k11", 0x00000, 0x10000, CRC(f9305dd0) SHA1(7135053be9d46ac9c09ab63eca1eb71825a71a13) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@ -623,11 +613,10 @@ ROM_END
ROM_START( devstors )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "890z02.k11", 0x10000, 0x08000, CRC(ebeb306f) SHA1(838fcfe95dfedd61f21f34301d48e337db765ab2) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "890z02.k11", 0x00000, 0x10000, CRC(ebeb306f) SHA1(838fcfe95dfedd61f21f34301d48e337db765ab2) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@ -648,11 +637,10 @@ ROM_START( devstors )
ROM_END
ROM_START( devstors2 )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "890x02.k11", 0x10000, 0x08000, CRC(e58ebb35) SHA1(4253b6a7128534cc0866bc910a271d91ac8b40fd) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "890x02.k11", 0x00000, 0x10000, CRC(e58ebb35) SHA1(4253b6a7128534cc0866bc910a271d91ac8b40fd) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@ -673,11 +661,10 @@ ROM_START( devstors2 )
ROM_END
ROM_START( devstors3 )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "890v02.k11", 0x10000, 0x08000, CRC(52f4ccdd) SHA1(074e526ed170a5f2083c8c0808734291a2ea7403) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "890v02.k11", 0x00000, 0x10000, CRC(52f4ccdd) SHA1(074e526ed170a5f2083c8c0808734291a2ea7403) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@ -698,11 +685,10 @@ ROM_START( devstors3 )
ROM_END
ROM_START( garuka )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "890w02.k11", 0x10000, 0x08000, CRC(b2f6f538) SHA1(95dad3258a2e4c5648d0fc22c06fa3e2da3b5ed1) )
ROM_CONTINUE( 0x08000, 0x08000 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "890w02.k11", 0x00000, 0x10000, CRC(b2f6f538) SHA1(95dad3258a2e4c5648d0fc22c06fa3e2da3b5ed1) )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */

View File

@ -234,8 +234,6 @@ void rockrage_state::machine_start()
void rockrage_state::machine_reset()
{
m_vreg = 0;
m_layer_colorbase[0] = 0x00;
m_layer_colorbase[1] = 0x10;
}
static MACHINE_CONFIG_START( rockrage, rockrage_state )

View File

@ -83,15 +83,9 @@ WRITE16_MEMBER(xmen_state::xmen_18fa00_w)
}
}
void xmen_state::sound_reset_bank()
{
membank("bank4")->set_entry(m_sound_curbank & 0x07);
}
WRITE8_MEMBER(xmen_state::sound_bankswitch_w)
{
m_sound_curbank = data;
sound_reset_bank();
m_z80bank->set_entry(data & 0x07);
}
@ -118,7 +112,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank4")
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xe800, 0xe801) AM_MIRROR(0x0400) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@ -282,17 +276,13 @@ INPUT_PORTS_END
void xmen_state::machine_start()
{
UINT8 *ROM = memregion("audiocpu")->base();
m_z80bank->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
m_z80bank->set_entry(0);
membank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
membank("bank4")->set_entry(0);
save_item(NAME(m_sound_curbank));
save_item(NAME(m_sprite_colorbase));
save_item(NAME(m_layer_colorbase));
save_item(NAME(m_layerpri));
save_item(NAME(m_vblank_irq_mask));
machine().save().register_postload(save_prepost_delegate(FUNC(xmen_state::sound_reset_bank), this));
}
void xmen_state::machine_reset()
@ -306,7 +296,6 @@ void xmen_state::machine_reset()
}
m_sprite_colorbase = 0;
m_sound_curbank = 0;
m_vblank_irq_mask = 0;
}
@ -501,9 +490,8 @@ ROM_START( xmen )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -529,9 +517,8 @@ ROM_START( xmenj )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -557,9 +544,8 @@ ROM_START( xmene )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -585,9 +571,8 @@ ROM_START( xmena )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -613,9 +598,8 @@ ROM_START( xmenaa )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -641,9 +625,8 @@ ROM_START( xmen2pe )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -669,9 +652,8 @@ ROM_START( xmen2pu )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -697,9 +679,8 @@ ROM_START( xmen2pa )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -725,9 +706,8 @@ ROM_START( xmen2pj )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -807,9 +787,8 @@ ROM_START( xmen6p )
ROM_LOAD16_BYTE( "065-a02.17g", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.17j", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.7b", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.1l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@ -835,9 +814,8 @@ ROM_START( xmen6pu )
ROM_LOAD16_BYTE( "065-a02.17g", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.17j", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.7b", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.1l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )

View File

@ -24,10 +24,6 @@ public:
m_k052109(*this, "k052109"),
m_k051960(*this, "k051960") { }
/* video-related */
int m_layer_colorbase[3];
int m_sprite_colorbase;
/* devices */
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
@ -42,7 +38,6 @@ public:
DECLARE_WRITE8_MEMBER(aliens_snd_bankswitch_w);
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_aliens(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(aliens_interrupt);
DECLARE_WRITE8_MEMBER(volume_callback);

View File

@ -23,7 +23,6 @@ public:
/* video-related */
int m_spritebank;
int m_layer_colorbase[2];
/* devices */
required_device<cpu_device> m_maincpu;

View File

@ -45,7 +45,6 @@ public:
/* video-related */
int m_spritebank;
int m_layer_colorbase[2];
/* misc */
int m_last_track[4];

View File

@ -26,10 +26,6 @@ public:
/* memory pointers */
std::vector<UINT8> m_paletteram;
/* video-related */
int m_layer_colorbase[3];
int m_sprite_colorbase;
/* devices */
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;

View File

@ -16,6 +16,7 @@ public:
gradius3_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_gfxram(*this, "k052109"),
m_gfxrom(*this, "k051960"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_subcpu(*this, "sub"),
@ -25,10 +26,7 @@ public:
/* memory pointers */
required_shared_ptr<UINT16> m_gfxram;
/* video-related */
int m_layer_colorbase[3];
int m_sprite_colorbase;
required_region_ptr<UINT8> m_gfxrom;
/* misc */
int m_priority;

View File

@ -22,11 +22,8 @@ public:
m_upd7759(*this, "upd"),
m_k007232(*this, "k007232"),
m_k052109(*this, "k052109"),
m_k051960(*this, "k051960") { }
/* video-related */
int m_layer_colorbase[3];
int m_sprite_colorbase;
m_k051960(*this, "k051960"),
m_rombank(*this, "rombank") { }
/* misc */
int m_nmi_enable;
@ -39,6 +36,9 @@ public:
required_device<k007232_device> m_k007232;
required_device<k052109_device> m_k052109;
required_device<k051960_device> m_k051960;
required_memory_bank m_rombank;
DECLARE_WRITE8_MEMBER(dv_nmienable_w);
DECLARE_WRITE8_MEMBER(mainevt_bankswitch_w);
DECLARE_WRITE8_MEMBER(mainevt_coin_w);
@ -52,8 +52,6 @@ public:
DECLARE_WRITE8_MEMBER(dv_sh_bankswitch_w);
virtual void machine_start();
virtual void machine_reset();
DECLARE_VIDEO_START(mainevt);
DECLARE_VIDEO_START(dv);
UINT32 screen_update_mainevt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_dv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(mainevt_interrupt);

View File

@ -37,7 +37,6 @@ public:
required_memory_bank m_rombank;
/* video-related */
int m_layer_colorbase[2];
int m_vreg;
DECLARE_WRITE8_MEMBER(rockrage_bankswitch_w);

View File

@ -27,10 +27,6 @@ public:
m_k053252(*this, "k053252")
{ }
/* video-related */
int m_sprite_colorbase;
int m_zoom_colorbase;
/* misc */
int m_readzoomroms;
@ -48,7 +44,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(rollerg_irq_ack_w);
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_rollerg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
K05324X_CB_MEMBER(sprite_callback);
K051316_CB_MEMBER(zoom_callback);

View File

@ -22,9 +22,6 @@ public:
m_k051316_3(*this, "k051316_3"),
m_k051960(*this, "k051960") { }
/* video-related */
int m_sprite_colorbase;
int m_zoom_colorbase[3];
int m_bank0;
int m_bank1;
int m_bank2;
@ -41,7 +38,6 @@ public:
DECLARE_WRITE16_MEMBER(ultraman_gfxctrl_w);
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
UINT32 screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
K051316_CB_MEMBER(zoom_callback_1);
K051316_CB_MEMBER(zoom_callback_2);

View File

@ -21,7 +21,8 @@ public:
m_k052109(*this, "k052109"),
m_k053246(*this, "k053246"),
m_k053251(*this, "k053251"),
m_screen(*this, "screen") { }
m_screen(*this, "screen"),
m_z80bank(*this, "z80bank") { }
/* video-related */
int m_layer_colorbase[3];
@ -38,7 +39,6 @@ public:
UINT16 * m_k053247_ram;
/* misc */
UINT8 m_sound_curbank;
UINT8 m_vblank_irq_mask;
/* devices */
@ -49,6 +49,8 @@ public:
required_device<k053247_device> m_k053246;
required_device<k053251_device> m_k053251;
required_device<screen_device> m_screen;
required_memory_bank m_z80bank;
DECLARE_WRITE16_MEMBER(eeprom_w);
DECLARE_READ16_MEMBER(sound_status_r);
DECLARE_WRITE16_MEMBER(sound_cmd_w);
@ -64,7 +66,6 @@ public:
UINT32 screen_update_xmen6p_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void screen_eof_xmen6p(screen_device &screen, bool state);
TIMER_DEVICE_CALLBACK_MEMBER(xmen_scanline);
void sound_reset_bank();
K052109_CB_MEMBER(tile_callback);
K053246_CB_MEMBER(sprite_callback);
};

View File

@ -12,7 +12,7 @@
K052109_CB_MEMBER(aliens_state::tile_callback)
{
*code |= ((*color & 0x3f) << 8) | (bank << 14);
*color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
*color = layer * 4 + ((*color & 0xc0) >> 6);
}
@ -24,41 +24,27 @@ K052109_CB_MEMBER(aliens_state::tile_callback)
K051960_CB_MEMBER(aliens_state::sprite_callback)
{
enum { sprite_colorbase = 256 / 16 };
/* The PROM allows for mixed priorities, where sprites would have */
/* priority over text but not on one or both of the other two planes. */
switch (*color & 0x70)
{
case 0x10: *priority = 0x00; break; /* over ABF */
case 0x00: *priority = 0xf0 ; break; /* over AB, not F */
case 0x40: *priority = 0xf0|0xcc ; break; /* over A, not BF */
case 0x00: *priority = GFX_PMASK_4 ; break; /* over AB, not F */
case 0x40: *priority = GFX_PMASK_4|GFX_PMASK_2 ; break; /* over A, not BF */
case 0x20:
case 0x60: *priority = 0xf0|0xcc|0xaa; break; /* over -, not ABF */
case 0x50: *priority = 0xcc ; break; /* over AF, not B */
case 0x60: *priority = GFX_PMASK_4|GFX_PMASK_2|GFX_PMASK_1; break; /* over -, not ABF */
case 0x50: *priority = GFX_PMASK_2 ; break; /* over AF, not B */
case 0x30:
case 0x70: *priority = 0xcc|0xaa; break; /* over F, not AB */
case 0x70: *priority = GFX_PMASK_2|GFX_PMASK_1; break; /* over F, not AB */
}
*code |= (*color & 0x80) << 6;
*color = m_sprite_colorbase + (*color & 0x0f);
*color = sprite_colorbase + (*color & 0x0f);
*shadow = 0; /* shadows are not used by this game */
}
/***************************************************************************
Start the video hardware emulation.
***************************************************************************/
void aliens_state::video_start()
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 4;
m_layer_colorbase[2] = 8;
m_sprite_colorbase = 16;
}
/***************************************************************************
Display refresh
@ -70,7 +56,8 @@ UINT32 aliens_state::screen_update_aliens(screen_device &screen, bitmap_ind16 &b
m_k052109->tilemap_update();
screen.priority().fill(0, cliprect);
bitmap.fill(m_layer_colorbase[1] * 16, cliprect);
/* The background color is always from layer 1 */
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 0);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 1);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2);

View File

@ -12,7 +12,7 @@
K007342_CALLBACK_MEMBER(battlnts_state::battlnts_tile_callback)
{
*code |= ((*color & 0x0f) << 9) | ((*color & 0x40) << 2);
*color = m_layer_colorbase[layer];
*color = 0;
}
/***************************************************************************

View File

@ -32,7 +32,7 @@ PALETTE_INIT_MEMBER(bladestl_state, bladestl)
K007342_CALLBACK_MEMBER(bladestl_state::bladestl_tile_callback)
{
*code |= ((*color & 0x0f) << 8) | ((*color & 0x40) << 6);
*color = m_layer_colorbase[layer];
*color = layer;
}
/***************************************************************************

View File

@ -13,7 +13,7 @@ K052109_CB_MEMBER(crimfght_state::tile_callback)
{
*flags = (*color & 0x20) ? TILE_FLIPX : 0;
*code |= ((*color & 0x1f) << 8) | (bank << 13);
*color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
*color = layer * 4 + ((*color & 0xc0) >> 6);
}
/***************************************************************************
@ -24,24 +24,24 @@ K052109_CB_MEMBER(crimfght_state::tile_callback)
K051960_CB_MEMBER(crimfght_state::sprite_callback)
{
/* Weird priority scheme. Why use three bits when two would suffice? */
enum { sprite_colorbase = 256 / 16 };
/* The PROM allows for mixed priorities, where sprites would have */
/* priority over text but not on one or both of the other two planes. */
/* Luckily, this isn't used by the game. */
switch (*color & 0x70)
{
case 0x10: *priority = 0; break;
case 0x00: *priority = 1; break;
case 0x40: *priority = 2; break;
case 0x20: *priority = 3; break;
/* 0x60 == 0x20 */
/* 0x50 priority over F and A, but not over B */
/* 0x30 priority over F, but not over A and B */
/* 0x70 == 0x30 */
case 0x10: *priority = 0x00; break; /* over ABF */
case 0x00: *priority = GFX_PMASK_4 ; break; /* over AB, not F */
case 0x40: *priority = GFX_PMASK_4|GFX_PMASK_2 ; break; /* over A, not BF */
case 0x20:
case 0x60: *priority = GFX_PMASK_4|GFX_PMASK_2|GFX_PMASK_1; break; /* over -, not ABF */
case 0x50: *priority = GFX_PMASK_2 ; break; /* over AF, not B */
case 0x30:
case 0x70: *priority = GFX_PMASK_2|GFX_PMASK_1; break; /* over F, not AB */
}
/* bit 7 is on in the "Game Over" sprites, meaning unknown */
/* in Aliens it is the top bit of the code, but that's not needed here */
*color = m_sprite_colorbase + (*color & 0x0f);
*color = sprite_colorbase + (*color & 0x0f);
}
@ -56,11 +56,6 @@ void crimfght_state::video_start()
m_paletteram.resize(0x400);
m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2);
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 4;
m_layer_colorbase[2] = 8;
m_sprite_colorbase = 16;
save_item(NAME(m_paletteram));
}
@ -76,11 +71,14 @@ UINT32 crimfght_state::screen_update_crimfght(screen_device &screen, bitmap_ind1
{
m_k052109->tilemap_update();
screen.priority().fill(0, cliprect);
/* The background color is always from layer 1 */
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 2, 2);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 1, 1);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 0, 0);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 1);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 4);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1);
return 0;
}

View File

@ -4,9 +4,6 @@
#include "includes/gradius3.h"
#define TOTAL_CHARS 0x1000
#define TOTAL_SPRITES 0x4000
/***************************************************************************
Callbacks for the K052109
@ -15,9 +12,11 @@
K052109_CB_MEMBER(gradius3_state::tile_callback)
{
static const int layer_colorbase[] = { 0 / 16, 512 / 16, 768 / 16 };
/* (color & 0x02) is flip y handled internally by the 052109 */
*code |= ((*color & 0x01) << 8) | ((*color & 0x1c) << 7);
*color = m_layer_colorbase[layer] + ((*color & 0xe0) >> 5);
*color = layer_colorbase[layer] + ((*color & 0xe0) >> 5);
}
/***************************************************************************
@ -28,14 +27,19 @@ K052109_CB_MEMBER(gradius3_state::tile_callback)
K051960_CB_MEMBER(gradius3_state::sprite_callback)
{
#define L0 0xaa
#define L1 0xcc
#define L2 0xf0
enum { sprite_colorbase = 256 / 16 };
#define L0 GFX_PMASK_1
#define L1 GFX_PMASK_2
#define L2 GFX_PMASK_4
static const int primask[2][4] =
{
{ L0|L2, L0, L0|L2, L0|L1|L2 },
{ L1|L2, L2, 0, L0|L1|L2 }
};
#undef L0
#undef L1
#undef L2
int pri = ((*color & 0x60) >> 5);
@ -45,7 +49,7 @@ K051960_CB_MEMBER(gradius3_state::sprite_callback)
*priority = primask[1][pri];
*code |= (*color & 0x01) << 13;
*color = m_sprite_colorbase + ((*color & 0x1e) >> 1);
*color = sprite_colorbase + ((*color & 0x1e) >> 1);
}
/***************************************************************************
@ -61,11 +65,6 @@ void gradius3_state::gradius3_postload()
void gradius3_state::video_start()
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 32;
m_layer_colorbase[2] = 48;
m_sprite_colorbase = 16;
machine().save().register_postload(save_prepost_delegate(FUNC(gradius3_state::gradius3_postload), this));
}
@ -77,9 +76,7 @@ void gradius3_state::video_start()
READ16_MEMBER(gradius3_state::gradius3_gfxrom_r)
{
UINT8 *gfxdata = memregion("k051960")->base();
return (gfxdata[2 * offset + 1] << 8) | gfxdata[2 * offset];
return (m_gfxrom[2 * offset + 1] << 8) | m_gfxrom[2 * offset];
}
WRITE16_MEMBER(gradius3_state::gradius3_gfxram_w)

View File

@ -19,19 +19,23 @@
K052109_CB_MEMBER(mainevt_state::mainevt_tile_callback)
{
static const int layer_colorbase[] = { 0 / 16, 128 / 16, 64 / 16 };
*flags = (*color & 0x02) ? TILE_FLIPX : 0;
/* priority relative to HALF priority sprites */
*priority = (layer == 2) ? (*color & 0x20) >> 5 : 0;
*code |= ((*color & 0x01) << 8) | ((*color & 0x1c) << 7);
*color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
*color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
}
K052109_CB_MEMBER(mainevt_state::dv_tile_callback)
{
static const int layer_colorbase[] = { 0 / 16, 0 / 16, 64 / 16 };
/* (color & 0x02) is flip y handled internally by the 052109 */
*code |= ((*color & 0x01) << 8) | ((*color & 0x3c) << 7);
*color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
*color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
}
@ -43,6 +47,8 @@ K052109_CB_MEMBER(mainevt_state::dv_tile_callback)
K051960_CB_MEMBER(mainevt_state::mainevt_sprite_callback)
{
enum { sprite_colorbase = 192 / 16 };
/* bit 5 = priority over layer B (has precedence) */
/* bit 6 = HALF priority over layer B (used for crowd when you get out of the ring) */
if (*color & 0x20)
@ -53,34 +59,18 @@ K051960_CB_MEMBER(mainevt_state::mainevt_sprite_callback)
*priority = 0xff00 | 0xf0f0 | 0xcccc;
/* bit 7 is shadow, not used */
*color = m_sprite_colorbase + (*color & 0x03);
*color = sprite_colorbase + (*color & 0x03);
}
K051960_CB_MEMBER(mainevt_state::dv_sprite_callback)
{
enum { sprite_colorbase = 128 / 16 };
/* TODO: the priority/shadow handling (bits 5-7) seems to be quite complex (see PROM) */
*color = m_sprite_colorbase + (*color & 0x07);
*color = sprite_colorbase + (*color & 0x07);
}
/*****************************************************************************/
VIDEO_START_MEMBER(mainevt_state,mainevt)
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 8;
m_layer_colorbase[2] = 4;
m_sprite_colorbase = 12;
}
VIDEO_START_MEMBER(mainevt_state,dv)
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 0;
m_layer_colorbase[2] = 4;
m_sprite_colorbase = 8;
}
/*****************************************************************************/
UINT32 mainevt_state::screen_update_mainevt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)

View File

@ -30,7 +30,7 @@ K007342_CALLBACK_MEMBER(rockrage_state::rockrage_tile_callback)
*code |= ((*color & 0x40) << 2) | ((bank & 0x01) << 9);
else
*code |= ((*color & 0x40) << 2) | ((bank & 0x03) << 10) | ((m_vreg & 0x04) << 7) | ((m_vreg & 0x08) << 9);
*color = m_layer_colorbase[layer] + (*color & 0x0f);
*color = layer * 16 + (*color & 0x0f);
}
/***************************************************************************

View File

@ -11,6 +11,7 @@
K05324X_CB_MEMBER(rollerg_state::sprite_callback)
{
enum { sprite_colorbase = 256 / 16 };
#if 0
if (machine().input().code_pressed(KEYCODE_Q) && (*color & 0x80)) *color = rand();
if (machine().input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
@ -18,7 +19,7 @@ K05324X_CB_MEMBER(rollerg_state::sprite_callback)
if (machine().input().code_pressed(KEYCODE_R) && (*color & 0x10)) *color = rand();
#endif
*priority = (*color & 0x10) ? 0 : 0x02;
*color = m_sprite_colorbase + (*color & 0x0f);
*color = sprite_colorbase + (*color & 0x0f);
}
@ -32,20 +33,7 @@ K051316_CB_MEMBER(rollerg_state::zoom_callback)
{
*flags = TILE_FLIPYX((*color & 0xc0) >> 6);
*code |= ((*color & 0x0f) << 8);
*color = m_zoom_colorbase + ((*color & 0x30) >> 4);
}
/***************************************************************************
Start the video hardware emulation.
***************************************************************************/
void rollerg_state::video_start()
{
m_sprite_colorbase = 16;
m_zoom_colorbase = 0;
*color = ((*color & 0x30) >> 4);
}

View File

@ -10,10 +10,10 @@
***************************************************************************/
static const int layer_colorbase[] = { 768 / 16, 0 / 16, 256 / 16 };
K052109_CB_MEMBER(spy_state::tile_callback)
{
static const int layer_colorbase[] = { 768 / 16, 0 / 16, 256 / 16 };
*flags = (*color & 0x20) ? TILE_FLIPX : 0;
*code |= ((*color & 0x03) << 8) | ((*color & 0x10) << 6) | ((*color & 0x0c) << 9) | (bank << 13);
*color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
@ -53,7 +53,7 @@ UINT32 spy_state::screen_update_spy(screen_device &screen, bitmap_ind16 &bitmap,
screen.priority().fill(0, cliprect);
if (!m_video_enable)
bitmap.fill(16 * layer_colorbase[0], cliprect);
bitmap.fill(768, cliprect); // ?
else
{
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 1);

View File

@ -11,8 +11,10 @@
K051960_CB_MEMBER(ultraman_state::sprite_callback)
{
*priority = (*color & 0x80) >> 7;
*color = m_sprite_colorbase + ((*color & 0x7e) >> 1);
enum { sprite_colorbase = 3072 / 16 };
*priority = (*color & 0x80) ? 0 : GFX_PMASK_1;
*color = sprite_colorbase + ((*color & 0x7e) >> 1);
*shadow = 0;
}
@ -25,36 +27,25 @@ K051960_CB_MEMBER(ultraman_state::sprite_callback)
K051316_CB_MEMBER(ultraman_state::zoom_callback_1)
{
enum { zoom_colorbase_1 = 0 / 16 };
*code |= ((*color & 0x07) << 8) | (m_bank0 << 11);
*color = m_zoom_colorbase[0] + ((*color & 0xf8) >> 3);
*color = zoom_colorbase_1 + ((*color & 0xf8) >> 3);
}
K051316_CB_MEMBER(ultraman_state::zoom_callback_2)
{
enum { zoom_colorbase_2 = 1024 / 16 };
*code |= ((*color & 0x07) << 8) | (m_bank1 << 11);
*color = m_zoom_colorbase[1] + ((*color & 0xf8) >> 3);
*color = zoom_colorbase_2 + ((*color & 0xf8) >> 3);
}
K051316_CB_MEMBER(ultraman_state::zoom_callback_3)
{
enum { zoom_colorbase_3 = 2048 / 16 };
*code |= ((*color & 0x07) << 8) | (m_bank2 << 11);
*color = m_zoom_colorbase[2] + ((*color & 0xf8) >> 3);
}
/***************************************************************************
Start the video hardware emulation.
***************************************************************************/
void ultraman_state::video_start()
{
m_sprite_colorbase = 192;
m_zoom_colorbase[0] = 0;
m_zoom_colorbase[1] = 64;
m_zoom_colorbase[2] = 128;
*color = zoom_colorbase_3 + ((*color & 0xf8) >> 3);
}
@ -117,10 +108,11 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
UINT32 ultraman_state::screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen.priority().fill(0, cliprect);
m_k051316_3->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_k051316_2->zoom_draw(screen, bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 0, 0);
m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 1, 1);
m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 1);
m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1);
return 0;
}