yunsung8.cpp: simplified rom loading (nw)

This commit is contained in:
Ivan Vangelista 2016-08-16 21:45:39 +02:00
parent 7914a8b289
commit d7099a7d46
3 changed files with 81 additions and 93 deletions

View File

@ -46,11 +46,11 @@ To Do:
***************************************************************************/
WRITE8_MEMBER(yunsung8_state::yunsung8_bankswitch_w)
WRITE8_MEMBER(yunsung8_state::bankswitch_w)
{
m_layers_ctrl = data & 0x30; // Layers enable
membank("bank1")->set_entry(data & 0x07);
membank("mainbank")->set_entry(data & 0x07);
if (data & ~0x37)
logerror("CPU #0 - PC %04X: Bank %02X\n", space.device().safe_pc(), data);
@ -66,22 +66,22 @@ WRITE8_MEMBER(yunsung8_state::yunsung8_bankswitch_w)
*/
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yunsung8_state )
AM_RANGE(0x0001, 0x0001) AM_WRITE(yunsung8_bankswitch_w) // ROM Bank (again?)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0x0001, 0x0001) AM_WRITE(bankswitch_w) // ROM Bank (again?)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank") // Banked ROM
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(yunsung8_videoram_r, yunsung8_videoram_w) // Video RAM (Banked)
AM_RANGE(0xc000, 0xdfff) AM_READWRITE(videoram_r, videoram_w) // Video RAM (Banked)
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( port_map, AS_IO, 8, yunsung8_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(yunsung8_videobank_w) // video RAM bank
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(yunsung8_bankswitch_w) // ROM Bank + Layers Enable
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(videobank_w) // video RAM bank
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(bankswitch_w) // ROM Bank + Layers Enable
AM_RANGE(0x02, 0x02) AM_READ_PORT("P2") AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // To Sound CPU
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1")
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
AM_RANGE(0x06, 0x06) AM_WRITE(yunsung8_flipscreen_w) // Flip Screen
AM_RANGE(0x06, 0x06) AM_WRITE(flipscreen_w) // Flip Screen
AM_RANGE(0x07, 0x07) AM_WRITENOP // ? (end of IRQ, random value)
ADDRESS_MAP_END
@ -95,17 +95,17 @@ ADDRESS_MAP_END
***************************************************************************/
WRITE8_MEMBER(yunsung8_state::yunsung8_sound_bankswitch_w)
WRITE8_MEMBER(yunsung8_state::sound_bankswitch_w)
{
m_msm->reset_w(data & 0x20);
membank("bank2")->set_entry(data & 0x07);
membank("soundbank")->set_entry(data & 0x07);
if (data != (data & (~0x27)))
logerror("%s: Bank %02X\n", machine().describe_context(), data);
}
WRITE8_MEMBER(yunsung8_state::yunsung8_adpcm_w)
WRITE8_MEMBER(yunsung8_state::adpcm_w)
{
/* Swap the nibbles */
m_adpcm = ((data & 0xf) << 4) | ((data >> 4) & 0xf);
@ -115,9 +115,9 @@ WRITE8_MEMBER(yunsung8_state::yunsung8_adpcm_w)
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, yunsung8_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") // Banked ROM
AM_RANGE(0xe000, 0xe000) AM_WRITE(yunsung8_sound_bankswitch_w ) // ROM Bank
AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") // Banked ROM
AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w ) // ROM Bank
AM_RANGE(0xe400, 0xe400) AM_WRITE(adpcm_w)
AM_RANGE(0xec00, 0xec01) AM_DEVWRITE("ymsnd", ym3812_device, write)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
@ -429,8 +429,8 @@ static const gfx_layout layout_8x8x8 =
};
static GFXDECODE_START( yunsung8 )
GFXDECODE_ENTRY( "gfx1", 0, layout_8x8x8, 0, 0x08 ) // [0] Tiles (Background)
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0, 0x40 ) // [1] Tiles (Text)
GFXDECODE_ENTRY( "bgfx", 0, layout_8x8x8, 0, 0x08 ) // [0] Tiles (Background)
GFXDECODE_ENTRY( "text", 0, layout_8x8x4, 0, 0x40 ) // [1] Tiles (Text)
GFXDECODE_END
@ -444,7 +444,7 @@ GFXDECODE_END
***************************************************************************/
WRITE_LINE_MEMBER(yunsung8_state::yunsung8_adpcm_int)
WRITE_LINE_MEMBER(yunsung8_state::adpcm_int)
{
m_msm->data_w(m_adpcm >> 4);
m_adpcm <<= 4;
@ -456,17 +456,11 @@ WRITE_LINE_MEMBER(yunsung8_state::yunsung8_adpcm_int)
void yunsung8_state::machine_start()
{
UINT8 *MAIN = memregion("maincpu")->base();
UINT8 *AUDIO = memregion("audiocpu")->base();
m_videoram_0 = m_videoram + 0x0000; // Ram is banked
m_videoram_1 = m_videoram + 0x2000;
membank("bank1")->configure_entries(0, 3, &MAIN[0x00000], 0x4000);
membank("bank1")->configure_entries(3, 5, &MAIN[0x10000], 0x4000);
membank("bank2")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
membank("bank2")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
membank("mainbank")->configure_entries(0, 8, memregion("maincpu")->base(), 0x4000);
membank("soundbank")->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
save_item(NAME(m_videoram));
save_item(NAME(m_layers_ctrl));
@ -500,7 +494,7 @@ static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz/2, 512, 64, 512-64, 262, 8, 256-8) /* TODO: completely inaccurate */
MCFG_SCREEN_UPDATE_DRIVER(yunsung8_state, screen_update_yunsung8)
MCFG_SCREEN_UPDATE_DRIVER(yunsung8_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", yunsung8)
@ -517,7 +511,7 @@ static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MCFG_SOUND_ADD("msm", MSM5205, XTAL_400kHz) /* verified on pcb */
MCFG_MSM5205_VCLK_CB(WRITELINE(yunsung8_state, yunsung8_adpcm_int)) /* interrupt function */
MCFG_MSM5205_VCLK_CB(WRITELINE(yunsung8_state, adpcm_int)) /* interrupt function */
MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S96_4B) /* 4KHz, 4 Bits */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
@ -569,21 +563,19 @@ Sound CPU: Z80A
***************************************************************************/
ROM_START( magix )
ROM_REGION( 0x24000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "yunsung8.07", 0x00000, 0x0c000, CRC(d4d0b68b) SHA1(d7e1fb57a14f8b822791b98cecc6d5a053a89e0f) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "yunsung8.07", 0x00000, 0x20000, CRC(d4d0b68b) SHA1(d7e1fb57a14f8b822791b98cecc6d5a053a89e0f) )
ROM_REGION( 0x24000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "yunsung8.08", 0x00000, 0x0c000, CRC(6fd60be9) SHA1(87622dc2967842629e90a02b415bec86cc26cbc7) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "yunsung8.08", 0x00000, 0x20000, CRC(6fd60be9) SHA1(87622dc2967842629e90a02b415bec86cc26cbc7) )
ROM_REGION( 0x200000, "gfx1", 0 ) /* Background */
ROM_REGION( 0x200000, "bgfx", 0 ) /* Background */
ROM_LOAD( "yunsung8.04", 0x000000, 0x80000, CRC(0a100d2b) SHA1(c36a2489748c8ac7b6d7457ad09d8153707c85be) )
ROM_LOAD( "yunsung8.03", 0x080000, 0x80000, CRC(c8cb0373) SHA1(339c4e0fef44da3cab615e07dc8739bd925ebf28) )
ROM_LOAD( "yunsung8.02", 0x100000, 0x80000, CRC(09efb8e5) SHA1(684bb5c4b579f8c77e79aab4decbefea495d9474) )
ROM_LOAD( "yunsung8.01", 0x180000, 0x80000, CRC(4590d782) SHA1(af875166207793572b9ecf01bb6a24feba562a96) )
ROM_REGION( 0x40000, "gfx2", 0 ) /* Text */
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "yunsung8.05", 0x00000, 0x20000, CRC(862d378c) SHA1(a4e2cf14b5b25c6b8725dd285ddea65ce9ee257a) ) // only first $8000 bytes != 0
ROM_LOAD( "yunsung8.06", 0x20000, 0x20000, CRC(8b2ab901) SHA1(1a5c05dd0cf830b645357a62d8e6e876b44c6b7f) ) // only first $8000 bytes != 0
ROM_END
@ -599,21 +591,19 @@ Code is different, shifted around not patched.
***************************************************************************/
ROM_START( magixb )
ROM_REGION( 0x24000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "8.bin", 0x00000, 0x0c000, CRC(3b92020f) SHA1(edc15c5b712774dad1685ce9a94e4290aab9934a) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "8.bin", 0x00000, 0x20000, CRC(3b92020f) SHA1(edc15c5b712774dad1685ce9a94e4290aab9934a) )
ROM_REGION( 0x24000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "9.bin", 0x00000, 0x0c000, CRC(6fd60be9) SHA1(87622dc2967842629e90a02b415bec86cc26cbc7) ) // yunsung8.08
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "9.bin", 0x00000, 0x20000, CRC(6fd60be9) SHA1(87622dc2967842629e90a02b415bec86cc26cbc7) ) // yunsung8.08
ROM_REGION( 0x200000, "gfx1", 0 ) /* Background */
ROM_REGION( 0x200000, "bgfx", 0 ) /* Background */
ROM_LOAD( "1.bin", 0x000000, 0x80000, CRC(0a100d2b) SHA1(c36a2489748c8ac7b6d7457ad09d8153707c85be) ) // yunsung8.04
ROM_LOAD( "2.bin", 0x080000, 0x80000, CRC(c8cb0373) SHA1(339c4e0fef44da3cab615e07dc8739bd925ebf28) ) // yunsung8.03
ROM_LOAD( "3.bin", 0x100000, 0x80000, CRC(09efb8e5) SHA1(684bb5c4b579f8c77e79aab4decbefea495d9474) ) // yunsung8.02
ROM_LOAD( "4.bin", 0x180000, 0x80000, CRC(4590d782) SHA1(af875166207793572b9ecf01bb6a24feba562a96) ) // yunsung8.01
ROM_REGION( 0x40000, "gfx2", 0 ) /* Text */
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "5.bin", 0x00000, 0x20000, CRC(11b99819) SHA1(4b20feea227cefd2e905601d934538a13ba6685b) ) // only first $8000 bytes != 0
ROM_LOAD( "6.bin", 0x20000, 0x20000, CRC(361a864c) SHA1(e0bb78b49fc3d461d6ac46ad97a9d04112783132) ) // only first $8000 bytes != 0
ROM_END
@ -660,42 +650,38 @@ Sound CPU: Z80A
***************************************************************************/
ROM_START( cannball )
ROM_REGION( 0x24000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "cannball.07", 0x00000, 0x0c000, CRC(17db56b4) SHA1(032e3dbde0b0e315dcb5f2b31f57e75e78818f2d) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "cannball.07", 0x00000, 0x20000, CRC(17db56b4) SHA1(032e3dbde0b0e315dcb5f2b31f57e75e78818f2d) )
ROM_REGION( 0x24000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "cannball.08", 0x00000, 0x0c000, CRC(11403875) SHA1(9f583bc4f08e7aef3fd0f3fe3f31cce1d226641a) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "cannball.08", 0x00000, 0x20000, CRC(11403875) SHA1(9f583bc4f08e7aef3fd0f3fe3f31cce1d226641a) )
ROM_REGION( 0x100000, "gfx1", 0 ) /* Background */
ROM_REGION( 0x100000, "bgfx", 0 ) /* Background */
ROM_LOAD( "cannball.01", 0x000000, 0x40000, CRC(2d7785e4) SHA1(9911354c0be192506f8bfca3e85ede0bbc4828d5) )
ROM_LOAD( "cannball.02", 0x040000, 0x40000, CRC(24df387e) SHA1(5f4afe11feb367ca3b3c4f5eb37a6b6c4edb83bb) )
ROM_LOAD( "cannball.03", 0x080000, 0x40000, CRC(4d62f192) SHA1(8c60b9b4b36c13c2d145c49413580a10e71eb283) )
ROM_LOAD( "cannball.04", 0x0c0000, 0x40000, CRC(37cf8b12) SHA1(f93df8e0babe2c4ec996aa3c2a48bf40a5a02e62) )
ROM_REGION( 0x40000, "gfx2", 0 ) /* Text */
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "cannball.05", 0x00000, 0x20000, CRC(87c1f1fa) SHA1(dbc568d2133734e41b69fd8d18b76531648b32ef) )
ROM_LOAD( "cannball.06", 0x20000, 0x20000, CRC(e722bee8) SHA1(3aed7df9df81a6776b6bf2f5b167965b0d689216) )
ROM_END
ROM_START( cannballv )
ROM_REGION( 0x24000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "yunsung1", 0x00000, 0x0c000, CRC(f7398b0d) SHA1(f2cdb9c4662cd325376d25ae9611f689605042db) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "yunsung1", 0x00000, 0x20000, CRC(f7398b0d) SHA1(f2cdb9c4662cd325376d25ae9611f689605042db) )
ROM_REGION( 0x24000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "yunsung8", 0x00000, 0x0c000, CRC(11403875) SHA1(9f583bc4f08e7aef3fd0f3fe3f31cce1d226641a) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "yunsung8", 0x00000, 0x20000, CRC(11403875) SHA1(9f583bc4f08e7aef3fd0f3fe3f31cce1d226641a) )
ROM_REGION( 0x200000, "gfx1", 0 ) /* Background */
ROM_REGION( 0x200000, "bgfx", 0 ) /* Background */
ROM_LOAD( "yunsung7", 0x000000, 0x80000, CRC(a5f1a648) SHA1(7a5bf5bc0ad257ccb12104512e98dfb3525babfc) )
ROM_LOAD( "yunsung6", 0x080000, 0x80000, CRC(8baa686e) SHA1(831c3e2864d262bf5429dca6653c83dc976e610e) )
ROM_LOAD( "yunsung5", 0x100000, 0x80000, CRC(a7f2ce51) SHA1(81632aca067f2c8c45488266c4489d9af24fb552) )
ROM_LOAD( "yunsung4", 0x180000, 0x80000, CRC(74bef793) SHA1(6208580ce747cec3d410ce3c71e07aa570b9121d) )
ROM_REGION( 0x40000, "gfx2", 0 ) /* Text */
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "yunsung3", 0x00000, 0x20000, CRC(8217abbe) SHA1(1a459a816a1aa5b68858e39c4a21bd78ee78dcab) )
ROM_LOAD( "yunsung2", 0x20000, 0x20000, CRC(76de1045) SHA1(a3845ee1874e6ec0ce26e6e73e4643243779e70d) )
ROM_END
@ -722,22 +708,20 @@ they jumpered the first position)
***************************************************************************/
ROM_START( rocktris )
ROM_REGION( 0x24000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "cpu.bin", 0x00000, 0x0c000, CRC(46e3b79c) SHA1(81a587b9f986c4e39b1888ec6ed6b86d1469b9a0) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "maincpu", 0 ) /* Main Z80 Code */
ROM_LOAD( "cpu.bin", 0x00000, 0x20000, CRC(46e3b79c) SHA1(81a587b9f986c4e39b1888ec6ed6b86d1469b9a0) )
ROM_REGION( 0x24000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "cpu2.bin", 0x00000, 0x0c000, CRC(3a78a4cf) SHA1(f643c7a217cbb71f3a03f1f4a16545c546332819) )
ROM_CONTINUE( 0x10000, 0x14000)
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound Z80 Code */
ROM_LOAD( "cpu2.bin", 0x00000, 0x20000, CRC(3a78a4cf) SHA1(f643c7a217cbb71f3a03f1f4a16545c546332819) )
ROM_REGION( 0x200000, "gfx1", 0 ) /* Background */
ROM_REGION( 0x200000, "bgfx", 0 ) /* Background */
ROM_LOAD( "gfx4.bin", 0x000000, 0x80000, CRC(abb49cac) SHA1(e2d766e950df398a8ec8b6888e128ffc3bdf1ce9) )
ROM_LOAD( "gfx3.bin", 0x080000, 0x80000, CRC(70a6ad52) SHA1(04cd58d3f885dd7c2fb1061f93d3ae3a418ad762) )
ROM_LOAD( "gfx2.bin", 0x100000, 0x80000, CRC(fcc9ec97) SHA1(1f09452988e3fa976b233e3b458c7a60977b76aa) )
ROM_LOAD( "gfx1.bin", 0x180000, 0x80000, CRC(4295034d) SHA1(9bdbbcdb46eb659a13b77c5bb26c9d8ad43731a7) )
ROM_REGION( 0x40000, "gfx2", 0 ) /* Text */
ROM_REGION( 0x40000, "text", 0 ) /* Text */
ROM_LOAD( "gfx5.bin", 0x00000, 0x20000, CRC(058ee379) SHA1(57088bb02c56212979b9119b773eedc31af17e50) )
ROM_LOAD( "gfx6.bin", 0x20000, 0x20000, CRC(593cbd39) SHA1(4d60b5811118f3f22f6f3b300a4daec158456b72) )
ROM_END

View File

@ -13,8 +13,8 @@ class yunsung8_state : public driver_device
public:
yunsung8_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_audiocpu(*this, "audiocpu") ,
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu") ,
m_msm(*this, "msm"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { }
@ -32,26 +32,30 @@ public:
int m_toggle;
/* devices */
required_device<cpu_device> m_audiocpu;
/* memory */
UINT8 m_videoram[0x4000];
DECLARE_WRITE8_MEMBER(yunsung8_bankswitch_w);
DECLARE_WRITE8_MEMBER(yunsung8_adpcm_w);
DECLARE_WRITE8_MEMBER(yunsung8_videobank_w);
DECLARE_READ8_MEMBER(yunsung8_videoram_r);
DECLARE_WRITE8_MEMBER(yunsung8_videoram_w);
DECLARE_WRITE8_MEMBER(yunsung8_flipscreen_w);
DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
UINT32 screen_update_yunsung8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(yunsung8_adpcm_int);
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<msm5205_device> m_msm;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
/* memory */
UINT8 m_videoram[0x4000];
DECLARE_WRITE8_MEMBER(bankswitch_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
DECLARE_WRITE8_MEMBER(videobank_w);
DECLARE_READ8_MEMBER(videoram_r);
DECLARE_WRITE8_MEMBER(videoram_w);
DECLARE_WRITE8_MEMBER(flipscreen_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
};

View File

@ -39,17 +39,17 @@ Note: if MAME_DEBUG is defined, pressing Z with:
***************************************************************************/
WRITE8_MEMBER(yunsung8_state::yunsung8_videobank_w)
WRITE8_MEMBER(yunsung8_state::videobank_w)
{
m_videobank = data;
}
READ8_MEMBER(yunsung8_state::yunsung8_videoram_r)
READ8_MEMBER(yunsung8_state::videoram_r)
{
int bank;
/* Bit 1 of the bankswitching register contols the c000-c7ff
/* Bit 1 of the bankswitching register controls the c000-c7ff
area (Palette). Bit 0 controls the c800-dfff area (Tiles) */
if (offset < 0x0800)
@ -64,7 +64,7 @@ READ8_MEMBER(yunsung8_state::yunsung8_videoram_r)
}
WRITE8_MEMBER(yunsung8_state::yunsung8_videoram_w)
WRITE8_MEMBER(yunsung8_state::videoram_w)
{
if (offset < 0x0800) // c000-c7ff Banked Palette RAM
{
@ -107,7 +107,7 @@ WRITE8_MEMBER(yunsung8_state::yunsung8_videoram_w)
}
WRITE8_MEMBER(yunsung8_state::yunsung8_flipscreen_w)
WRITE8_MEMBER(yunsung8_state::flipscreen_w)
{
machine().tilemap().set_flip_all((data & 1) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
}
@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_1)
/***************************************************************************
Vide Hardware Init
Video Hardware Init
***************************************************************************/
@ -186,7 +186,7 @@ void yunsung8_state::video_start()
***************************************************************************/
UINT32 yunsung8_state::screen_update_yunsung8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
UINT32 yunsung8_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int layers_ctrl = (~m_layers_ctrl) >> 4;