mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
Minor rom loading/banking cleanups (nw)
This commit is contained in:
parent
021cd6c396
commit
3f3a4d3df1
@ -265,17 +265,9 @@ ADDRESS_MAP_END
|
||||
SOUND
|
||||
*****************************************************/
|
||||
|
||||
void darius_state::reset_sound_region( )
|
||||
{
|
||||
membank("bank1")->set_entry(m_banknum);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(darius_state::sound_bankswitch_w)
|
||||
{
|
||||
m_banknum = data & 0x03;
|
||||
reset_sound_region();
|
||||
// banknum = data;
|
||||
// reset_sound_region();
|
||||
membank("bank1")->set_entry(data & 3);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(darius_state::adpcm_command_w)
|
||||
@ -460,7 +452,8 @@ WRITE8_MEMBER(darius_state::darius_write_portB1)
|
||||
*****************************************************/
|
||||
|
||||
static ADDRESS_MAP_START( darius_sound_map, AS_PROGRAM, 8, darius_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x8000, 0x8fff) AM_RAM
|
||||
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
|
||||
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
|
||||
@ -766,19 +759,15 @@ WRITE_LINE_MEMBER(darius_state::irqhandler) /* assumes Z80 sandwiched between 68
|
||||
void darius_state::darius_postload()
|
||||
{
|
||||
parse_control();
|
||||
reset_sound_region();
|
||||
}
|
||||
|
||||
void darius_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
|
||||
membank("bank1")->configure_entry(4, memregion("audiocpu")->base());
|
||||
membank("bank1")->set_entry(4);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x4000);
|
||||
|
||||
save_item(NAME(m_cpua_ctrl));
|
||||
save_item(NAME(m_coin_word));
|
||||
|
||||
save_item(NAME(m_banknum));
|
||||
save_item(NAME(m_adpcm_command));
|
||||
save_item(NAME(m_nmi_enable));
|
||||
save_item(NAME(m_vol));
|
||||
@ -789,23 +778,22 @@ void darius_state::machine_start()
|
||||
|
||||
void darius_state::machine_reset()
|
||||
{
|
||||
int i;
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
m_cpua_ctrl = 0xff;
|
||||
m_banknum = 0;
|
||||
m_coin_word = 0;
|
||||
m_adpcm_command = 0;
|
||||
m_nmi_enable = 0;
|
||||
|
||||
machine().sound().system_enable(true); /* mixer enabled */
|
||||
|
||||
for (i = 0; i < DARIUS_VOL_MAX; i++)
|
||||
for (int i = 0; i < DARIUS_VOL_MAX; i++)
|
||||
m_vol[i] = 0x00; /* min volume */
|
||||
|
||||
for (i = 0; i < DARIUS_PAN_MAX; i++)
|
||||
for (int i = 0; i < DARIUS_PAN_MAX; i++)
|
||||
m_pan[i] = 0x80; /* center */
|
||||
|
||||
for (i = 0; i < 0x10; i++)
|
||||
for (int i = 0; i < 0x10; i++)
|
||||
{
|
||||
//logerror( "calc %d = %d\n", i, (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f)) );
|
||||
m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
|
||||
@ -965,7 +953,7 @@ ROM_START( darius )
|
||||
ROM_LOAD16_BYTE( "a96_31.187", 0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) ) /* 2 data roms */
|
||||
ROM_LOAD16_BYTE( "a96_30.154", 0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_LOAD( "a96_57.33", 0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
|
||||
|
||||
ROM_REGION( 0x80000, "cpub", 0 ) /* 68000 code */
|
||||
@ -1023,7 +1011,7 @@ ROM_START( dariusj )
|
||||
ROM_LOAD16_BYTE( "a96_31.187", 0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) ) /* 2 data roms */
|
||||
ROM_LOAD16_BYTE( "a96_30.154", 0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_LOAD( "a96_57.33", 0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
|
||||
|
||||
ROM_REGION( 0x80000, "cpub", 0 ) /* 68000 code */
|
||||
@ -1078,7 +1066,7 @@ ROM_START( dariuso )
|
||||
ROM_LOAD16_BYTE( "a96_31.187", 0x40000, 0x10000, CRC(e9bb5d89) SHA1(a5d08129c32b97e2cce84496945766fd32b6506e) ) /* 2 data roms */
|
||||
ROM_LOAD16_BYTE( "a96_30.154", 0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) )
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_LOAD( "a96_57.33", 0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
|
||||
|
||||
ROM_REGION( 0x80000, "cpub", 0 ) /* 68000 code */
|
||||
@ -1133,7 +1121,7 @@ ROM_START( dariuse )
|
||||
ROM_LOAD16_BYTE( "dae-70.bin", 0x40000, 0x10000, CRC(54590b31) SHA1(2b89846f14a5cb19b58ab4999bc5ae11671bbb5a) ) /* 2 data roms */
|
||||
ROM_LOAD16_BYTE( "a96_30.154", 0x40001, 0x10000, CRC(9eb5e127) SHA1(50e2fe5ec7f79ecf1fb5107298da13ef5ab37162) ) // dae-69.bin
|
||||
|
||||
ROM_REGION( 0x30000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 sound cpu */
|
||||
ROM_LOAD( "a96_57.33", 0x00000, 0x10000, CRC(33ceb730) SHA1(05070ea503ac57ff8445145d6f97115f7aad90a5) )
|
||||
|
||||
ROM_REGION( 0x80000, "cpub", 0 ) /* 68000 code */
|
||||
@ -1180,21 +1168,7 @@ ROM_START( dariuse )
|
||||
ROM_END
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(darius_state,darius)
|
||||
{
|
||||
/**** setup sound bank image ****/
|
||||
UINT8 *RAM = memregion("audiocpu")->base();
|
||||
int i;
|
||||
|
||||
for (i = 3; i >= 0; i--)
|
||||
{
|
||||
memcpy(RAM + 0x8000 * i + 0x10000, RAM, 0x4000);
|
||||
memcpy(RAM + 0x8000 * i + 0x14000, RAM + 0x4000 * i, 0x4000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
GAME( 1986, darius, 0, darius, darius, darius_state, darius, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariusj, darius, darius, dariusj, darius_state, darius, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariuso, darius, darius, dariusj, darius_state, darius, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariuse, darius, darius, dariuse, darius_state, darius, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, darius, 0, darius, darius, driver_device, 0, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariusj, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariuso, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1986, dariuse, darius, darius, dariuse, driver_device, 0, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -335,10 +335,7 @@ GFXDECODE_END
|
||||
|
||||
void rastan_state::machine_start()
|
||||
{
|
||||
UINT8 *ROM = memregion("audiocpu")->base();
|
||||
|
||||
membank("bank1")->configure_entry(0, &ROM[0x00000]);
|
||||
membank("bank1")->configure_entries(1, 3, &ROM[0x10000], 0x4000);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x4000);
|
||||
|
||||
save_item(NAME(m_sprite_ctrl));
|
||||
save_item(NAME(m_sprites_flipscreen));
|
||||
@ -434,9 +431,8 @@ ROM_START( rastan )
|
||||
ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
|
||||
ROM_LOAD16_BYTE( "b04-43-1.9", 0x40001, 0x10000, CRC(ca4702ff) SHA1(0f8c2d7d332c4e35884c48d87ba9fd26924d1692) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -463,9 +459,8 @@ ROM_START( rastana )
|
||||
ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
|
||||
ROM_LOAD16_BYTE( "b04-43.9", 0x40001, 0x10000, CRC(c34b9152) SHA1(6ed9247ad455bc3b71d78b541591b269969830cb) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -499,9 +494,8 @@ ROM_START( rastanu ) /* This US set is based on newer code */
|
||||
ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
|
||||
ROM_LOAD16_BYTE( "b04-41-1.9", 0x40001, 0x10000, CRC(bd403269) SHA1(14aee828d5efb65370a5e453c8fd1c7b3e718074) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -528,9 +522,8 @@ ROM_START( rastanua ) /* This US set is based on newer code */
|
||||
ROM_LOAD16_BYTE( "b04-42.21", 0x40000, 0x10000, CRC(1857a7cb) SHA1(7d967d04ade648c6ddb19aad9e184b6e272856da) )
|
||||
ROM_LOAD16_BYTE( "b04-41.9", 0x40001, 0x10000, CRC(b44ca1c4) SHA1(11f1ccc35b6b24aaf253c7994014f08007aba76b) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -567,9 +560,8 @@ ROM_START( rastanub ) /* This US set is based on the earlier code */
|
||||
ROM_LOAD16_BYTE( "b04-25.21", 0x40000, 0x10000, CRC(d1e5adee) SHA1(eafc275a0023aecb2efaff14cd890915fa162624) )
|
||||
ROM_LOAD16_BYTE( "b04-24.9", 0x40001, 0x10000, CRC(a3dcc106) SHA1(3a8854530b08864a1f7f46c427e49ceec8297806) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -596,9 +588,8 @@ ROM_START( rastsaga )
|
||||
ROM_LOAD16_BYTE( "b04-18-1.21", 0x40000, 0x10000, CRC(b626c439) SHA1(976e820edc4ba107c5b579edaaee1e354e85fb67) )
|
||||
ROM_LOAD16_BYTE( "b04-17-1.9", 0x40001, 0x10000, CRC(c928a516) SHA1(fe87fdf2d1b7ba93e1986460eb6af648b58f42e4) )
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
@ -625,9 +616,8 @@ ROM_START( rastsagaa )
|
||||
ROM_LOAD16_BYTE( "b04-18-1.21", 0x40000, 0x10000, CRC(b626c439) SHA1(976e820edc4ba107c5b579edaaee1e354e85fb67) ) /* Dumped as "RS21_42.BIN", corrected to B04-18-1 */
|
||||
ROM_LOAD16_BYTE( "b04-17-1.9", 0x40001, 0x10000, CRC(c928a516) SHA1(fe87fdf2d1b7ba93e1986460eb6af648b58f42e4) ) /* Dumped as "RS09_43.BIN", corrected to B04-17-1 */
|
||||
|
||||
ROM_REGION( 0x1c000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x4000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
ROM_CONTINUE( 0x10000, 0xc000 )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "b04-19.49", 0x00000, 0x10000, CRC(ee81fdd8) SHA1(fa59dac2583a7d2979550dffc6f9c6c2bd67bfd5) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx1", 0 )
|
||||
ROM_LOAD( "b04-01.40", 0x00000, 0x20000, CRC(cd30de19) SHA1(f8d158d38cd07a24cb5ddefd4ce90beec706924d) )
|
||||
|
@ -57,7 +57,6 @@ public:
|
||||
/* misc */
|
||||
UINT16 m_cpua_ctrl;
|
||||
UINT16 m_coin_word;
|
||||
INT32 m_banknum;
|
||||
UINT8 m_adpcm_command;
|
||||
UINT8 m_nmi_enable;
|
||||
UINT32 m_def_vol[0x10];
|
||||
@ -117,7 +116,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(darius_write_portB0);
|
||||
DECLARE_WRITE8_MEMBER(darius_write_portB1);
|
||||
DECLARE_WRITE8_MEMBER(adpcm_data_w);
|
||||
DECLARE_DRIVER_INIT(darius);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
@ -130,7 +128,6 @@ public:
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs );
|
||||
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs);
|
||||
void parse_control( ) /* assumes Z80 sandwiched between 68Ks */;
|
||||
void reset_sound_region( );
|
||||
void update_fm0( );
|
||||
void update_fm1( );
|
||||
void update_psg0( int port );
|
||||
|
Loading…
Reference in New Issue
Block a user