mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
yunsung8.cpp: simplified rom loading (nw)
This commit is contained in:
parent
7914a8b289
commit
d7099a7d46
@ -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
|
||||
|
@ -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);
|
||||
};
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user