mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
even more fixes (mustache, altbeast2, mitchell) (nw)
This commit is contained in:
parent
ecb569279a
commit
06923f50b8
@ -120,8 +120,9 @@ WRITE8_MEMBER(mitchell_state::eeprom_serial_w)
|
||||
|
||||
WRITE8_MEMBER(mitchell_state::pang_bankswitch_w)
|
||||
{
|
||||
membank("bank1")->set_entry(data & 0x0f);
|
||||
membank("bank1d")->set_entry(data & 0x0f);
|
||||
m_bank1->set_entry(data & 0x0f);
|
||||
if(m_bank1d)
|
||||
m_bank1d->set_entry(data & 0x0f);
|
||||
}
|
||||
|
||||
/*************************************
|
||||
@ -310,7 +311,7 @@ static ADDRESS_MAP_START( spangbl_map, AS_PROGRAM, 8, mitchell_state )
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r, pang_paletteram_w) /* Banked palette RAM */
|
||||
AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r, pang_colorram_w) AM_SHARE("colorram")/* Attribute RAM */
|
||||
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(pang_videoram_r, pang_videoram_w) AM_SHARE("videoram") /* Banked char / OBJ RAM */
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM /* Work RAM */
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("ram") /* Work RAM */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( spangbl_io_map, AS_IO, 8, mitchell_state )
|
||||
@ -2099,9 +2100,9 @@ ROM_END
|
||||
|
||||
void mitchell_state::bootleg_decode()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
membank("bank0d")->set_base(memregion("maincpu")->base() + 0x50000);
|
||||
membank("bank1d")->configure_entries(0, 16, memregion("maincpu")->base() + 0x60000, 0x4000);
|
||||
m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
m_bank0d->set_base(memregion("maincpu")->base() + 0x50000);
|
||||
m_bank1d->configure_entries(0, 16, memregion("maincpu")->base() + 0x60000, 0x4000);
|
||||
}
|
||||
|
||||
|
||||
@ -2111,9 +2112,9 @@ void mitchell_state::configure_banks(void (*decode)(UINT8 *src, UINT8 *dst, int
|
||||
int size = memregion("maincpu")->bytes();
|
||||
UINT8 *dst = auto_alloc_array(machine(), UINT8, size);
|
||||
decode(src, dst, size);
|
||||
membank("bank1")->configure_entries(0, 16, src + 0x10000, 0x4000);
|
||||
membank("bank0d")->set_base(dst);
|
||||
membank("bank1d")->configure_entries(0, 16, dst + 0x10000, 0x4000);
|
||||
m_bank1->configure_entries(0, 16, src + 0x10000, 0x4000);
|
||||
m_bank0d->set_base(dst);
|
||||
m_bank1d->configure_entries(0, 16, dst + 0x10000, 0x4000);
|
||||
}
|
||||
|
||||
|
||||
@ -2184,7 +2185,7 @@ DRIVER_INIT_MEMBER(mitchell_state,qsangoku)
|
||||
DRIVER_INIT_MEMBER(mitchell_state,mgakuen)
|
||||
{
|
||||
m_input_type = 1;
|
||||
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
|
||||
m_maincpu->space(AS_IO).install_read_port(0x03, 0x03, "DSW0");
|
||||
m_maincpu->space(AS_IO).install_read_port(0x04, 0x04, "DSW1");
|
||||
}
|
||||
|
@ -43,8 +43,7 @@ YM2151:
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE("t5182", t5182_device, sound_irq_w)
|
||||
AM_RANGE(0xd001, 0xd001) AM_DEVREAD("t5182", t5182_device, sharedram_semaphore_snd_r)
|
||||
@ -62,6 +61,10 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state )
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( decrypted_opcodes_map, AS_DECRYPTED_OPCODES, 8, mustache_state )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_SHARE("decrypted_opcodes")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( mustache )
|
||||
@ -172,6 +175,7 @@ static MACHINE_CONFIG_START( mustache, mustache_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(memmap)
|
||||
MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mustache_state, scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("t5182", T5182, 0)
|
||||
@ -270,7 +274,7 @@ DRIVER_INIT_MEMBER(mustache_state,mustache)
|
||||
for (i = 0; i < 2*G2; i++)
|
||||
gfx2[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,12,11,10,9,8,7,6,5,4,13,14,3,2,1,0)];
|
||||
|
||||
seibu_sound_device::apply_decrypt(NULL, NULL, 0xc000);
|
||||
seibu_sound_device::apply_decrypt(memregion("maincpu")->base(), m_decrypted_opcodes, 0xc000);
|
||||
}
|
||||
|
||||
|
||||
|
@ -6930,7 +6930,7 @@ GAME( 1988, altbeast6, altbeast, system16b_i8751, altbeast, segas16b_state,
|
||||
GAME( 1988, altbeast5, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Altered Beast (set 5, FD1094 317-0069)", 0 )
|
||||
GAME( 1988, altbeast4, altbeast, system16b_mc8123, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 )
|
||||
GAME( 1988, altbeastj3, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 )
|
||||
GAME( 1988, altbeast2, altbeast, system16b, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
|
||||
GAME( 1988, altbeast2, altbeast, system16b_mc8123, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 )
|
||||
GAME( 1988, altbeastj1, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", 0 )
|
||||
|
||||
GAME( 1990, aurail, 0, system16b, aurail, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 )
|
||||
|
@ -25,7 +25,10 @@ public:
|
||||
m_eeprom(*this, "eeprom"),
|
||||
m_msm(*this, "msm"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"){ }
|
||||
m_palette(*this, "palette"),
|
||||
m_bank1(*this, "bank1"),
|
||||
m_bank0d(*this, "bank0d"),
|
||||
m_bank1d(*this, "bank1d") { }
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -40,6 +43,9 @@ public:
|
||||
optional_device<msm5205_device> m_msm;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_bank m_bank1;
|
||||
optional_memory_bank m_bank0d;
|
||||
optional_memory_bank m_bank1d;
|
||||
|
||||
/* video-related */
|
||||
tilemap_t *m_bg_tilemap;
|
||||
|
@ -8,21 +8,21 @@ public:
|
||||
mustache_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_cpu_decrypt(*this, "seibu_sound"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_videoram(*this, "videoram"),
|
||||
m_spriteram(*this, "spriteram") { }
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<seibu_sound_device> m_cpu_decrypt;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<UINT8> m_videoram;
|
||||
required_shared_ptr<UINT8> m_spriteram;
|
||||
required_shared_ptr<UINT8> m_decrypted_opcodes;
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
int m_control_byte;
|
||||
|
Loading…
Reference in New Issue
Block a user