mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Modernized the TC0080VCO and the TC0100SCN video devices [Osso]
This commit is contained in:
parent
57bc647aee
commit
9ee1f6004e
@ -326,8 +326,8 @@ static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
|
||||
AM_RANGE(0x800000, 0x8007ff) AM_READWRITE(bonzeadv_cchip_ram_r, bonzeadv_cchip_ram_w)
|
||||
AM_RANGE(0x800802, 0x800803) AM_READWRITE(bonzeadv_cchip_ctrl_r, bonzeadv_cchip_ctrl_w)
|
||||
AM_RANGE(0x800c00, 0x800c01) AM_WRITE(bonzeadv_cchip_bank_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -340,9 +340,9 @@ static ADDRESS_MAP_START( asuka_map, AS_PROGRAM, 16, asuka_state )
|
||||
AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xc10000, 0xc103ff) AM_WRITENOP /* error in Asuka init code */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -356,8 +356,8 @@ static ADDRESS_MAP_START( cadash_map, AS_PROGRAM, 16, asuka_state )
|
||||
AM_RANGE(0x900000, 0x90000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_4bpg_word_w)
|
||||
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( eto_map, AS_PROGRAM, 16 /* N.B. tc100scn mirror overlaps spriteram */, asuka_state )
|
||||
@ -370,9 +370,9 @@ static ADDRESS_MAP_START( eto_map, AS_PROGRAM, 16 /* N.B. tc100scn mirror over
|
||||
AM_RANGE(0x4e0000, 0x4e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x4e0002, 0x4e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w) /* sprite ram */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVWRITE_LEGACY("tc0100scn", tc0100scn_word_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVWRITE("tc0100scn", tc0100scn_device, word_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -184,8 +184,8 @@ static ADDRESS_MAP_START( galastrm_map, AS_PROGRAM, 32, galastrm_state )
|
||||
AM_RANGE(0x900000, 0x900003) AM_WRITE(galastrm_palette_w) /* TC0110PCR */
|
||||
AM_RANGE(0xb00000, 0xb00003) AM_WRITE(galastrm_tc0610_0_w) /* TC0610 */
|
||||
AM_RANGE(0xc00000, 0xc00003) AM_WRITE(galastrm_tc0610_1_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***********************************************************
|
||||
|
@ -230,8 +230,8 @@ static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state )
|
||||
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_long_r, tc0480scp_long_w) /* tilemaps */
|
||||
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w) // debugging
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram") /* palette ram */
|
||||
AM_RANGE(0xb00000, 0xb003ff) AM_RAM // ?? single bytes, blending ??
|
||||
AM_RANGE(0xc00000, 0xc00007) AM_READNOP /* Network? */
|
||||
|
@ -406,9 +406,9 @@ WRITE8_MEMBER(ninjaw_state::ninjaw_pancontrol)
|
||||
|
||||
WRITE16_MEMBER(ninjaw_state::tc0100scn_triple_screen_w)
|
||||
{
|
||||
tc0100scn_word_w(m_tc0100scn_1, space, offset, data, mem_mask);
|
||||
tc0100scn_word_w(m_tc0100scn_2, space, offset, data, mem_mask);
|
||||
tc0100scn_word_w(m_tc0100scn_3, space, offset, data, mem_mask);
|
||||
m_tc0100scn_1->word_w(space, offset, data, mem_mask);
|
||||
m_tc0100scn_2->word_w(space, offset, data, mem_mask);
|
||||
m_tc0100scn_3->word_w(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
/***********************************************************
|
||||
@ -424,12 +424,12 @@ static ADDRESS_MAP_START( ninjaw_master_map, AS_PROGRAM, 16, ninjaw_state )
|
||||
AM_RANGE(0x220000, 0x220003) AM_READWRITE(ninjaw_sound_r,ninjaw_sound_w)
|
||||
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x2a0000, 0x2a000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x2c0000, 0x2d3fff) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x2e0000, 0x2e000f) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREADWRITE_LEGACY("tc0100scn_3", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (3rd screen) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE_LEGACY("tc0100scn_3", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x2a0000, 0x2a000f) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x2c0000, 0x2d3fff) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, word_r, word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x2e0000, 0x2e000f) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREADWRITE("tc0100scn_3", tc0100scn_device, word_r, word_w) /* tilemaps (3rd screen) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE("tc0100scn_3", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x340000, 0x340007) AM_DEVREADWRITE_LEGACY("tc0110pcr_1", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (1st screen) */
|
||||
AM_RANGE(0x350000, 0x350007) AM_DEVREADWRITE_LEGACY("tc0110pcr_2", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (2nd screen) */
|
||||
AM_RANGE(0x360000, 0x360007) AM_DEVREADWRITE_LEGACY("tc0110pcr_3", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (3rd screen) */
|
||||
@ -445,7 +445,7 @@ static ADDRESS_MAP_START( ninjaw_slave_map, AS_PROGRAM, 16, ninjaw_state )
|
||||
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, port_r, port_w, 0x00ff)
|
||||
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x340000, 0x340007) AM_DEVREADWRITE_LEGACY("tc0110pcr_1", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (1st screen) */
|
||||
AM_RANGE(0x350000, 0x350007) AM_DEVREADWRITE_LEGACY("tc0110pcr_2", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (2nd screen) */
|
||||
AM_RANGE(0x360000, 0x360007) AM_DEVREADWRITE_LEGACY("tc0110pcr_3", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (3rd screen) */
|
||||
@ -460,12 +460,12 @@ static ADDRESS_MAP_START( darius2_master_map, AS_PROGRAM, 16, ninjaw_state )
|
||||
AM_RANGE(0x220000, 0x220003) AM_READWRITE(ninjaw_sound_r,ninjaw_sound_w)
|
||||
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x2a0000, 0x2a000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x2c0000, 0x2d3fff) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x2e0000, 0x2e000f) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREADWRITE_LEGACY("tc0100scn_3", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (3rd screen) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE_LEGACY("tc0100scn_3", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x2a0000, 0x2a000f) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x2c0000, 0x2d3fff) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, word_r, word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x2e0000, 0x2e000f) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREADWRITE("tc0100scn_3", tc0100scn_device, word_r, word_w) /* tilemaps (3rd screen) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE("tc0100scn_3", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x340000, 0x340007) AM_DEVREADWRITE_LEGACY("tc0110pcr_1", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (1st screen) */
|
||||
AM_RANGE(0x350000, 0x350007) AM_DEVREADWRITE_LEGACY("tc0110pcr_2", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (2nd screen) */
|
||||
AM_RANGE(0x360000, 0x360007) AM_DEVREADWRITE_LEGACY("tc0110pcr_3", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (3rd screen) */
|
||||
@ -478,7 +478,7 @@ static ADDRESS_MAP_START( darius2_slave_map, AS_PROGRAM, 16, ninjaw_state )
|
||||
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, port_r, port_w, 0x00ff)
|
||||
AM_RANGE(0x240000, 0x24ffff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x260000, 0x263fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
AM_RANGE(0x280000, 0x293fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_triple_screen_w) /* tilemaps (1st screen/all screens) */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -457,8 +457,8 @@ static ADDRESS_MAP_START( othunder_map, AS_PROGRAM, 16, othunder_state )
|
||||
// AM_RANGE(0x090006, 0x090007) AM_WRITE(eeprom_w)
|
||||
// AM_RANGE(0x09000c, 0x09000d) AM_WRITENOP /* ?? (keeps writing 0x77) */
|
||||
AM_RANGE(0x100000, 0x100007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x300003) AM_READWRITE(othunder_sound_r, othunder_sound_w)
|
||||
AM_RANGE(0x400000, 0x4005ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x500000, 0x500007) AM_READWRITE(othunder_lightgun_r, othunder_lightgun_w)
|
||||
|
@ -693,9 +693,9 @@ static ADDRESS_MAP_START( finalb_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in game init code ? */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb00002, 0xb00003) AM_WRITENOP /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
@ -707,8 +707,8 @@ static ADDRESS_MAP_START( dondokod_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE_LEGACY("tc0280grd", tc0280grd_word_r, tc0280grd_word_w) /* ROZ tilemap */
|
||||
AM_RANGE(0xa02000, 0xa0200f) AM_DEVWRITE_LEGACY("tc0280grd", tc0280grd_ctrl_word_w)
|
||||
@ -724,9 +724,9 @@ static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM
|
||||
AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x400000, 0x40001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x610000, 0x61ffff) AM_RAM /* unused? */
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -737,10 +737,10 @@ static ADDRESS_MAP_START( thundfox_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x220000, 0x220001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x220002, 0x220003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_RAM
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, ctrl_word_r, word_w)
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x800000, 0x80001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0xff00)
|
||||
ADDRESS_MAP_END
|
||||
@ -753,8 +753,8 @@ static ADDRESS_MAP_START( cameltry_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x813fff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x813fff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE_LEGACY("tc0280grd", tc0280grd_word_r, tc0280grd_word_w) /* ROZ tilemap */
|
||||
AM_RANGE(0xa02000, 0xa0200f) AM_DEVWRITE_LEGACY("tc0280grd", tc0280grd_ctrl_word_w)
|
||||
@ -768,8 +768,8 @@ static ADDRESS_MAP_START( qtorimon_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x500000, 0x50000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x910000, 0x9120ff) AM_WRITENOP /* error in init code ? */
|
||||
ADDRESS_MAP_END
|
||||
@ -781,8 +781,8 @@ static ADDRESS_MAP_START( liquidk_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
@ -802,9 +802,9 @@ static ADDRESS_MAP_START( quizhq_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x680000, 0x680001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in init code ? */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -816,8 +816,8 @@ static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (not used) */
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps (not used) */
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -828,8 +828,8 @@ static ADDRESS_MAP_START( gunfront_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_wordswap_r, halfword_wordswap_w)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
// AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ?? */
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
@ -852,8 +852,8 @@ static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x504000, 0x504001) AM_WRITENOP /* unknown... various values */
|
||||
AM_RANGE(0x508000, 0x50800f) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0x50c000, 0x50c00f) AM_READ_PORT("IN4")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
@ -870,9 +870,9 @@ static ADDRESS_MAP_START( mjnquest_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* watchdog ? */
|
||||
AM_RANGE(0x360000, 0x360001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x360002, 0x360003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x380000, 0x380001) AM_DEVWRITE_LEGACY("tc0100scn", tc0100scn_gfxbank_w) /* scr gfx bank select */
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x380000, 0x380001) AM_DEVWRITE("tc0100scn", tc0100scn_device, gfxbank_w) /* scr gfx bank select */
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -905,8 +905,8 @@ static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa20000, 0xa20001) AM_WRITE(koshien_spritebank_w)
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0xff00)
|
||||
@ -917,8 +917,8 @@ static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb00000, 0xb10fff) AM_RAM /* deliberate writes to $b10xxx, I think */
|
||||
@ -936,8 +936,8 @@ static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x600000, 0x60000f) AM_WRITE(taitof2_spritebank_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* b00002 written like a watchdog?! */
|
||||
ADDRESS_MAP_END
|
||||
@ -957,8 +957,8 @@ static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0x500000, 0x50000f) AM_WRITE(taitof2_spritebank_w)
|
||||
AM_RANGE(0x504000, 0x504001) AM_WRITENOP /* unknown... various values */
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
@ -971,8 +971,8 @@ static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_RAM
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
|
||||
@ -985,8 +985,8 @@ static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
|
||||
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0xff00)
|
||||
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
@ -1015,16 +1015,16 @@ static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_RAM
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x720000, 0x72000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
// AM_RANGE(0x700000, 0x70000b) AM_READ(yesnoj_unknown_r) /* what's this? */
|
||||
AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
@ -1067,8 +1067,8 @@ static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_RAM
|
||||
AM_RANGE(0x700000, 0x70001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
|
||||
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
|
||||
AM_RANGE(0xb00000, 0xb00001) AM_WRITENOP /* watchdog? */
|
||||
@ -1082,8 +1082,8 @@ static ADDRESS_MAP_START( qjinsei_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* watchdog ? */
|
||||
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
@ -1099,8 +1099,8 @@ static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
ADDRESS_MAP_END
|
||||
@ -1110,8 +1110,8 @@ static ADDRESS_MAP_START( qcrayon2_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_RAM
|
||||
AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x600000, 0x67ffff) AM_ROM AM_REGION("extra", 0) /* extra data rom */
|
||||
AM_RANGE(0x700000, 0x70000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
AM_RANGE(0x900000, 0x90001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
|
||||
@ -1128,8 +1128,8 @@ static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
|
||||
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0xff00)
|
||||
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
@ -1145,8 +1145,8 @@ static ADDRESS_MAP_START( driveout_map, AS_PROGRAM, 16, taitof2_state )
|
||||
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
|
||||
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xa00000, 0xa0001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0xff00)
|
||||
AM_RANGE(0xb00000, 0xb0000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
|
||||
|
@ -246,7 +246,7 @@ static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
|
||||
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, port_r, port_w, 0x00ff)
|
||||
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
|
||||
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -257,7 +257,7 @@ static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
|
||||
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, port_r, port_w, 0x00ff)
|
||||
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
|
||||
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -267,7 +267,7 @@ static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
|
||||
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
|
||||
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
|
||||
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* ?? writes zero once per frame */
|
||||
ADDRESS_MAP_END
|
||||
|
@ -31,7 +31,6 @@ TODO:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "includes/taito_o.h"
|
||||
|
||||
@ -65,7 +64,7 @@ static ADDRESS_MAP_START( parentj_map, AS_PROGRAM, 16, taitoo_state )
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM
|
||||
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(io_r, io_w) /* TC0220IOC ? */
|
||||
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymsnd", ym2203_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
|
||||
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
|
||||
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -1497,8 +1497,8 @@ static ADDRESS_MAP_START( contcirc_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x090000, 0x090001) AM_WRITE(contcirc_out_w) /* road palette bank, sub CPU reset, 3d glasses control */
|
||||
AM_RANGE(0x100000, 0x100007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x301fff) AM_DEVREADWRITE_LEGACY("tc0150rod", tc0150rod_word_r, tc0150rod_word_w) /* "root ram" */
|
||||
AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
@ -1523,8 +1523,8 @@ static ADDRESS_MAP_START( chasehq_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_WRITE(chasehq_cpua_ctrl_w)
|
||||
AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
|
||||
AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xe00000, 0xe003ff) AM_READWRITE(chasehq_motor_r, chasehq_motor_w) /* motor cpu */
|
||||
ADDRESS_MAP_END
|
||||
@ -1545,8 +1545,8 @@ static ADDRESS_MAP_START( enforce_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x300000, 0x3006ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0150rod", tc0150rod_word_r, tc0150rod_word_w) /* "root ram" ??? */
|
||||
AM_RANGE(0x500000, 0x500007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( enforce_cpub_map, AS_PROGRAM, 16, taitoz_state )
|
||||
@ -1568,8 +1568,8 @@ static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w)
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
|
||||
@ -1581,8 +1581,8 @@ static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
|
||||
// AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w) /* No analog stick, this is the Joystick version */
|
||||
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bshark_cpub_map, AS_PROGRAM, 16, taitoz_state )
|
||||
@ -1608,8 +1608,8 @@ static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16, taitoz_state )
|
||||
// AM_RANGE(0x400000, 0x400001) AM_WRITE(cpua_ctrl_w) // ?? doesn't seem to fit what's written
|
||||
AM_RANGE(0x420000, 0x420003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
|
||||
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w)
|
||||
ADDRESS_MAP_END
|
||||
@ -1630,8 +1630,8 @@ static ADDRESS_MAP_START( nightstr_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x800000, 0x800001) AM_WRITE(cpua_ctrl_w)
|
||||
AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
|
||||
AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xe00000, 0xe00011) AM_WRITE(nightstr_motor_w) /* Motor outputs */
|
||||
AM_RANGE(0xe40000, 0xe40007) AM_READWRITE(nightstr_stick_r, bshark_stick_w)
|
||||
@ -1652,8 +1652,8 @@ static ADDRESS_MAP_START( aquajack_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w) // not needed, but it's probably like the others
|
||||
AM_RANGE(0x300000, 0x300007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
|
||||
AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE_LEGACY("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_SHARE("spriteram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -1674,8 +1674,8 @@ static ADDRESS_MAP_START( spacegun_map, AS_PROGRAM, 16, taitoz_state )
|
||||
AM_RANGE(0x30c000, 0x30ffff) AM_RAM
|
||||
AM_RANGE(0x310000, 0x31ffff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x500000, 0x5005ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0xb00000, 0xb00007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -221,7 +221,6 @@ cpu #2 (PC=0000060E): unmapped memory word read from 0000683A & FFFF
|
||||
#include "includes/taitoipt.h"
|
||||
#include "includes/taitoair.h"
|
||||
#include "audio/taitosnd.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "cpu/tms32025/tms32025.h"
|
||||
#include "sound/2610intf.h"
|
||||
|
||||
@ -392,7 +391,7 @@ static ADDRESS_MAP_START( airsys_map, AS_PROGRAM, 16, taitoair_state )
|
||||
AM_RANGE(0x140000, 0x140001) AM_WRITE(system_control_w) /* Pause the TMS32025 */
|
||||
AM_RANGE(0x180000, 0x187fff) AM_RAM_WRITE(airsys_gradram_w) AM_SHARE("gradram") /* "gradiation ram (0/1)" */
|
||||
AM_RANGE(0x188000, 0x189fff) AM_MIRROR(0x2000) AM_RAM_WRITE(airsys_paletteram16_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x800000, 0x820fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w) /* tilemaps, sprites */
|
||||
AM_RANGE(0x800000, 0x820fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w) /* tilemaps, sprites */
|
||||
AM_RANGE(0x906000, 0x906007) AM_RAM // DMA?
|
||||
AM_RANGE(0x908000, 0x90ffff) AM_RAM AM_SHARE("line_ram") /* "line ram" */
|
||||
AM_RANGE(0x910000, 0x91ffff) AM_RAM AM_SHARE("dsp_ram") /* "dsp common ram" (TMS320C25) */
|
||||
|
@ -489,8 +489,8 @@ static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
|
||||
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_long_r, tc0480scp_long_w) /* tilemaps */
|
||||
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb00000, 0xb003ff) AM_RAM /* single bytes, blending ??? */
|
||||
AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */
|
||||
@ -508,8 +508,8 @@ static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
|
||||
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("snd_shared")
|
||||
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_long_r, tc0480scp_long_w) /* tilemaps */
|
||||
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE_LEGACY("tc0480scp", tc0480scp_ctrl_long_r, tc0480scp_ctrl_long_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_long_r, tc0100scn_long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_long_r, tc0100scn_ctrl_long_w)
|
||||
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* piv tilemaps */
|
||||
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
|
||||
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_WRITE(color_ram_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xb00000, 0xb0000f) AM_RAM /* ? */
|
||||
AM_RANGE(0xc00000, 0xc00007) AM_RAM /* LAN controller? */
|
||||
|
@ -212,8 +212,8 @@ WRITE8_MEMBER(warriorb_state::warriorb_pancontrol)
|
||||
|
||||
WRITE16_MEMBER(warriorb_state::tc0100scn_dual_screen_w)
|
||||
{
|
||||
tc0100scn_word_w(m_tc0100scn_1, space, offset, data, mem_mask);
|
||||
tc0100scn_word_w(m_tc0100scn_2, space, offset, data, mem_mask);
|
||||
m_tc0100scn_1->word_w(space, offset, data, mem_mask);
|
||||
m_tc0100scn_2->word_w(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
/***********************************************************
|
||||
@ -223,11 +223,11 @@ WRITE16_MEMBER(warriorb_state::tc0100scn_dual_screen_w)
|
||||
static ADDRESS_MAP_START( darius2d_map, AS_PROGRAM, 16, warriorb_state )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* main ram */
|
||||
AM_RANGE(0x200000, 0x213fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
|
||||
AM_RANGE(0x200000, 0x213fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
|
||||
AM_RANGE(0x214000, 0x2141ff) AM_WRITENOP /* error in screen clearing code ? */
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x240000, 0x253fff) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x260000, 0x26000f) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x240000, 0x253fff) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, word_r, word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x260000, 0x26000f) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x400000, 0x400007) AM_DEVREADWRITE_LEGACY("tc0110pcr_1", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (1st screen) */
|
||||
AM_RANGE(0x420000, 0x420007) AM_DEVREADWRITE_LEGACY("tc0110pcr_2", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (2nd screen) */
|
||||
AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_SHARE("spriteram")
|
||||
@ -239,10 +239,10 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( warriorb_map, AS_PROGRAM, 16, warriorb_state )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x213fff) AM_RAM
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREAD_LEGACY("tc0100scn_1", tc0100scn_word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x340000, 0x353fff) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x360000, 0x36000f) AM_DEVREADWRITE_LEGACY("tc0100scn_2", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x313fff) AM_DEVREAD("tc0100scn_1", tc0100scn_device, word_r) AM_WRITE(tc0100scn_dual_screen_w) /* tilemaps (all screens) */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE("tc0100scn_1", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x340000, 0x353fff) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, word_r, word_w) /* tilemaps (2nd screen) */
|
||||
AM_RANGE(0x360000, 0x36000f) AM_DEVREADWRITE("tc0100scn_2", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x400000, 0x400007) AM_DEVREADWRITE_LEGACY("tc0110pcr_1", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (1st screen) */
|
||||
AM_RANGE(0x420000, 0x420007) AM_DEVREADWRITE_LEGACY("tc0110pcr_2", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette (2nd screen) */
|
||||
AM_RANGE(0x600000, 0x6013ff) AM_RAM AM_SHARE("spriteram")
|
||||
|
@ -636,8 +636,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wgp_state )
|
||||
AM_RANGE(0x180000, 0x18000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
|
||||
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(cpua_ctrl_w)
|
||||
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(wgp_adinput_r,wgp_adinput_w)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
|
||||
AM_RANGE(0x320000, 0x32000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
|
||||
AM_RANGE(0x400000, 0x40bfff) AM_RAM AM_SHARE("spritemap") /* sprite tilemaps */
|
||||
AM_RANGE(0x40c000, 0x40dfff) AM_RAM AM_SHARE("spriteram") /* sprite ram */
|
||||
AM_RANGE(0x40fff0, 0x40fff1) AM_WRITENOP /* ?? (writes 0x8000 and 0 alternately - Wgp2 just 0) */
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "video/taitoic.h"
|
||||
#include "video/poly.h"
|
||||
#include "machine/eeprom.h"
|
||||
|
||||
@ -24,11 +25,15 @@ public:
|
||||
m_ram(*this,"ram"),
|
||||
m_spriteram(*this,"spriteram") ,
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_eeprom(*this, "eeprom") { }
|
||||
m_eeprom(*this, "eeprom"),
|
||||
m_tc0100scn(*this, "tc0100scn") { }
|
||||
|
||||
required_shared_ptr<UINT32> m_ram;
|
||||
required_shared_ptr<UINT32> m_spriteram;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<eeprom_device> m_eeprom;
|
||||
required_device<tc0100scn_device> m_tc0100scn;
|
||||
UINT16 m_coin_word;
|
||||
UINT16 m_frame_counter;
|
||||
int m_tc0110pcr_addr;
|
||||
@ -61,8 +66,6 @@ public:
|
||||
void draw_sprites_pre(int x_offs, int y_offs);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const int *primasks, int priority);
|
||||
void tc0610_rotate_draw(bitmap_ind16 &bitmap, bitmap_ind16 &srcbitmap, const rectangle &clip);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<eeprom_device> m_eeprom;
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include "video/taitoic.h"
|
||||
|
||||
struct tempsprite
|
||||
{
|
||||
int gfx;
|
||||
@ -20,11 +22,15 @@ public:
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_ram(*this,"ram"),
|
||||
m_spriteram(*this,"spriteram") ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_tc0100scn(*this, "tc0100scn") { }
|
||||
|
||||
required_shared_ptr<UINT32> m_ram;
|
||||
required_shared_ptr<UINT32> m_spriteram;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<tc0100scn_device> m_tc0100scn;
|
||||
|
||||
UINT16 m_coin_word;
|
||||
UINT16 m_frame_counter;
|
||||
UINT16 m_port_sel;
|
||||
@ -46,7 +52,7 @@ public:
|
||||
UINT32 screen_update_groundfx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(groundfx_interrupt);
|
||||
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int do_hack,int x_offs,int y_offs);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -64,6 +64,6 @@ public:
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs );
|
||||
void parse_control( ) /* assumes Z80 sandwiched between 68Ks */;
|
||||
void reset_sound_region( );
|
||||
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, device_t *tc0100scn);
|
||||
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, tc0100scn_device *tc0100scn);
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler);
|
||||
};
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
#include "video/taitoic.h"
|
||||
|
||||
class taitoo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
|
@ -19,18 +19,23 @@ public:
|
||||
|
||||
undrfire_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_ram(*this, "ram"),
|
||||
m_shared_ram(*this, "shared_ram"),
|
||||
m_spriteram(*this, "spriteram") ,
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_subcpu(*this, "sub"),
|
||||
m_eeprom(*this, "eeprom") { }
|
||||
m_tc0100scn(*this, "tc0100scn"),
|
||||
m_eeprom(*this, "eeprom"),
|
||||
m_ram(*this, "ram"),
|
||||
m_shared_ram(*this, "shared_ram"),
|
||||
m_spriteram(*this, "spriteram") { }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_subcpu;
|
||||
required_device<tc0100scn_device> m_tc0100scn;
|
||||
required_device<eeprom_device> m_eeprom;
|
||||
optional_shared_ptr<UINT32> m_ram;
|
||||
optional_shared_ptr<UINT32> m_shared_ram;
|
||||
UINT16 m_coin_word;
|
||||
UINT16 m_port_sel;
|
||||
int m_frame_counter;
|
||||
optional_shared_ptr<UINT32> m_ram;
|
||||
optional_shared_ptr<UINT32> m_shared_ram;
|
||||
struct tempsprite *m_spritelist;
|
||||
UINT16 m_rotate_ctrl[8];
|
||||
UINT8 m_dislayer[6];
|
||||
@ -57,9 +62,6 @@ public:
|
||||
INTERRUPT_GEN_MEMBER(undrfire_interrupt);
|
||||
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,const int *primasks,int x_offs,int y_offs);
|
||||
void draw_sprites_cbombers(bitmap_ind16 &bitmap,const rectangle &cliprect,const int *primasks,int x_offs,int y_offs);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_subcpu;
|
||||
required_device<eeprom_device> m_eeprom;
|
||||
|
||||
protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
|
@ -57,6 +57,6 @@ public:
|
||||
UINT32 screen_update_warriorb_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void reset_sound_region();
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int x_offs, int y_offs );
|
||||
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, device_t *tc0100scn);
|
||||
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, tc0100scn_device *tc0100scn);
|
||||
DECLARE_WRITE_LINE_MEMBER(irqhandler);
|
||||
};
|
||||
|
@ -1,5 +1,4 @@
|
||||
#include "emu.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "includes/asuka.h"
|
||||
|
||||
/**************************************************************
|
||||
@ -21,9 +20,9 @@ UINT32 asuka_state::screen_update_asuka(screen_device &screen, bitmap_ind16 &bit
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -32,9 +31,9 @@ UINT32 asuka_state::screen_update_asuka(screen_device &screen, bitmap_ind16 &bit
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
/* Sprites may be over or under top bg layer */
|
||||
m_pc090oj->draw_sprites(bitmap, cliprect, 2);
|
||||
@ -46,9 +45,9 @@ UINT32 asuka_state::screen_update_bonzeadv(screen_device &screen, bitmap_ind16 &
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -57,9 +56,9 @@ UINT32 asuka_state::screen_update_bonzeadv(screen_device &screen, bitmap_ind16 &
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
/* Sprites are always over both bg layers */
|
||||
m_pc090oj->draw_sprites(bitmap, cliprect, 0);
|
||||
|
@ -429,7 +429,6 @@ void galastrm_state::tc0610_rotate_draw(bitmap_ind16 &bitmap, bitmap_ind16 &srcb
|
||||
|
||||
UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *tc0100scn = machine().device("tc0100scn");
|
||||
device_t *tc0480scp = machine().device("tc0480scp");
|
||||
UINT8 layer[5];
|
||||
UINT8 pivlayer[3];
|
||||
@ -439,7 +438,7 @@ UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind1
|
||||
|
||||
rectangle clip(0, screen.width() -1, 0, screen.height() -1);
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
tc0480scp_tilemap_update(tc0480scp);
|
||||
|
||||
priority = tc0480scp_get_bg_priority(tc0480scp);
|
||||
@ -449,7 +448,7 @@ UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind1
|
||||
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
|
||||
layer[4] = 4; /* text layer always over bg layers */
|
||||
|
||||
pivlayer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
pivlayer[0] = m_tc0100scn->bottomlayer();
|
||||
pivlayer[1] = pivlayer[0] ^ 1;
|
||||
pivlayer[2] = 2;
|
||||
|
||||
@ -457,8 +456,8 @@ UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind1
|
||||
priority_bitmap.fill(0, clip);
|
||||
m_tmpbitmaps.fill(0, clip);
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[0], 0, 0);
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[0], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
|
||||
#if 0
|
||||
if (layer[0]==0 && layer[1]==3 && layer[2]==2 && layer[3]==1)
|
||||
@ -503,7 +502,7 @@ UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind1
|
||||
draw_sprites(machine(),bitmap,cliprect,primasks,0);
|
||||
|
||||
if (!machine().input().code_pressed(KEYCODE_B)) tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[4], 0, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_M)) tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_M)) m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
|
||||
|
||||
|
||||
@ -550,7 +549,7 @@ UINT32 galastrm_state::screen_update_galastrm(screen_device &screen, bitmap_ind1
|
||||
draw_sprites(bitmap,cliprect,primasks,0);
|
||||
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[4], 0, 0);
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
@ -197,13 +197,12 @@ void groundfx_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
|
||||
UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
address_space &space = machine().driver_data()->generic_space();
|
||||
device_t *tc0100scn = machine().device("tc0100scn");
|
||||
device_t *tc0480scp = machine().device("tc0480scp");
|
||||
UINT8 layer[5];
|
||||
UINT8 pivlayer[3];
|
||||
UINT16 priority;
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
tc0480scp_tilemap_update(tc0480scp);
|
||||
|
||||
priority = tc0480scp_get_bg_priority(tc0480scp);
|
||||
@ -214,15 +213,15 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
|
||||
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
|
||||
layer[4] = 4; /* text layer always over bg layers */
|
||||
|
||||
pivlayer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
pivlayer[0] = m_tc0100scn->bottomlayer();
|
||||
pivlayer[1] = pivlayer[0]^1;
|
||||
pivlayer[2] = 2;
|
||||
|
||||
machine().priority_bitmap.fill(0, cliprect);
|
||||
bitmap.fill(0, cliprect); /* wrong color? */
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
|
||||
/* BIG HACK!
|
||||
|
||||
@ -240,14 +239,14 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
|
||||
it's contents the usual way.
|
||||
|
||||
*/
|
||||
if (tc0100scn_long_r(tc0100scn, space, 0x4090 / 4, 0xffffffff) ||
|
||||
if (m_tc0100scn->long_r(space, 0x4090 / 4, 0xffffffff) ||
|
||||
tc0480scp_long_r(tc0480scp, space, 0x20 / 4, 0xffffffff) == 0x240866) /* Anything in text layer - really stupid hack */
|
||||
{
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[2], 0, 4);
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[3], 0, 8);
|
||||
|
||||
//tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, 0, pivlayer[2], 0, 0);
|
||||
//m_tc0100scn->tilemap_draw(bitmap, cliprect, 0, pivlayer[2], 0, 0);
|
||||
|
||||
if (tc0480scp_long_r(tc0480scp, space, 0x20 / 4, 0xffffffff) != 0x240866) /* Stupid hack for start of race */
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, m_hack_cliprect, layer[0], 0, 0);
|
||||
@ -260,7 +259,7 @@ UINT32 groundfx_state::screen_update_groundfx(screen_device &screen, bitmap_ind1
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[2], 0, 4);
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[3], 0, 8);
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[2], 0, 0);
|
||||
|
||||
draw_sprites(bitmap, cliprect, 0, 44, -574);
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
void ninjaw_state::video_start()
|
||||
{
|
||||
/* Ensure palette from correct TC0110PCR used for each screen */
|
||||
tc0100scn_set_colbanks(m_tc0100scn_1, 0x0, 0x100, 0x200);
|
||||
m_tc0100scn_1->set_colbanks(0x0, 0x100, 0x200);
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
@ -94,19 +94,19 @@ void ninjaw_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
|
||||
SCREEN REFRESH
|
||||
**************************************************************/
|
||||
|
||||
UINT32 ninjaw_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, device_t *tc0100scn)
|
||||
UINT32 ninjaw_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, tc0100scn_device *tc0100scn)
|
||||
{
|
||||
UINT8 layer[3], nodraw;
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
layer[0] = m_tc0100scn_1->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
/* chip 0 does tilemaps on the left, chip 1 center, chip 2 the right */
|
||||
// draw bottom layer
|
||||
nodraw = tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0); /* left */
|
||||
nodraw = tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0); /* left */
|
||||
|
||||
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
||||
if (nodraw)
|
||||
@ -116,12 +116,12 @@ UINT32 ninjaw_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
draw_sprites(bitmap, cliprect, 1, xoffs, 8); // draw sprites with priority 1 which are under the mid layer
|
||||
|
||||
// draw middle layer
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[1], 0, 0);
|
||||
tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 0);
|
||||
|
||||
draw_sprites(bitmap,cliprect,0,xoffs,8); // draw sprites with priority 0 which are over the mid layer
|
||||
|
||||
// draw top(text) layer
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[2], 0, 0);
|
||||
tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -202,9 +202,9 @@ UINT32 othunder_state::screen_update_othunder(screen_device &screen, bitmap_ind1
|
||||
{
|
||||
int layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -213,9 +213,9 @@ UINT32 othunder_state::screen_update_othunder(screen_device &screen, bitmap_ind1
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
/* Sprites can be under/over the layer below text layer */
|
||||
{
|
||||
|
@ -138,7 +138,7 @@ VIDEO_START_MEMBER(taitof2_state,taitof2_mjnquest)
|
||||
{
|
||||
taitof2_core_vh_start(0, 0, 0);
|
||||
|
||||
tc0100scn_set_bg_tilemask(m_tc0100scn, 0x7fff);
|
||||
m_tc0100scn->set_bg_tilemask(0x7fff);
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(taitof2_state,taitof2_footchmp)
|
||||
@ -985,14 +985,14 @@ UINT32 taitof2_state::screen_update_taitof2_yesnoj(screen_device &screen, bitmap
|
||||
{
|
||||
taitof2_handle_sprite_buffering();
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
machine().priority_bitmap.fill(0, cliprect);
|
||||
bitmap.fill(0, cliprect); /* wrong color? */
|
||||
draw_sprites(bitmap, cliprect, NULL, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, tc0100scn_bottomlayer(m_tc0100scn), 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, tc0100scn_bottomlayer(m_tc0100scn) ^ 1, 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, m_tc0100scn->bottomlayer(), 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, m_tc0100scn->bottomlayer() ^ 1, 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1001,14 +1001,14 @@ UINT32 taitof2_state::screen_update_taitof2(screen_device &screen, bitmap_ind16
|
||||
{
|
||||
taitof2_handle_sprite_buffering();
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
machine().priority_bitmap.fill(0, cliprect);
|
||||
bitmap.fill(0, cliprect); /* wrong color? */
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, tc0100scn_bottomlayer(m_tc0100scn), 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, tc0100scn_bottomlayer(m_tc0100scn) ^ 1, 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, m_tc0100scn->bottomlayer(), 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, m_tc0100scn->bottomlayer() ^ 1, 0, 0);
|
||||
draw_sprites(bitmap, cliprect, NULL, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1020,9 +1020,9 @@ UINT32 taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_in
|
||||
|
||||
taitof2_handle_sprite_buffering();
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
m_tilepri[layer[0]] = tc0360pri_r(m_tc0360pri, space, 5) & 0x0f;
|
||||
@ -1039,9 +1039,9 @@ UINT32 taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_in
|
||||
machine().priority_bitmap.fill(0, cliprect);
|
||||
bitmap.fill(0, cliprect); /* wrong color? */
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], 0, 1);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
draw_sprites(bitmap, cliprect, NULL, 1);
|
||||
return 0;
|
||||
@ -1076,12 +1076,12 @@ UINT32 taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bitma
|
||||
if (m_tc0430grw != NULL)
|
||||
tc0430grw_tilemap_update(m_tc0430grw, roz_base_color);
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
rozpri = (tc0360pri_r(m_tc0360pri, space, 1) & 0xc0) >> 6;
|
||||
rozpri = (tc0360pri_r(m_tc0360pri, space, 8 + rozpri / 2) >> 4 * (rozpri & 1)) & 0x0f;
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -1113,7 +1113,7 @@ UINT32 taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bitma
|
||||
{
|
||||
if (tilepri[layer[j]] == i)
|
||||
{
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[j], 0, 1 << drawn);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[j], 0, 1 << drawn);
|
||||
m_tilepri[drawn] = i;
|
||||
drawn++;
|
||||
}
|
||||
@ -1137,17 +1137,17 @@ UINT32 taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitm
|
||||
|
||||
taitof2_handle_sprite_buffering();
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn_1);
|
||||
tc0100scn_tilemap_update(m_tc0100scn_2);
|
||||
m_tc0100scn_1->tilemap_update();
|
||||
m_tc0100scn_2->tilemap_update();
|
||||
|
||||
layer[0][0] = tc0100scn_bottomlayer(m_tc0100scn_1);
|
||||
layer[0][0] = m_tc0100scn_1->bottomlayer();
|
||||
layer[0][1] = layer[0][0] ^ 1;
|
||||
layer[0][2] = 2;
|
||||
tilepri[0][layer[0][0]] = tc0360pri_r(m_tc0360pri, space, 5) & 0x0f;
|
||||
tilepri[0][layer[0][1]] = tc0360pri_r(m_tc0360pri, space, 5) >> 4;
|
||||
tilepri[0][layer[0][2]] = tc0360pri_r(m_tc0360pri, space, 4) >> 4;
|
||||
|
||||
layer[1][0] = tc0100scn_bottomlayer(m_tc0100scn_2);
|
||||
layer[1][0] = m_tc0100scn_2->bottomlayer();
|
||||
layer[1][1] = layer[1][0] ^ 1;
|
||||
layer[1][2] = 2;
|
||||
tilepri[1][layer[1][0]] = tc0360pri_r(m_tc0360pri, space, 9) & 0x0f;
|
||||
@ -1172,7 +1172,7 @@ UINT32 taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitm
|
||||
while (drawn[0] < 2 && drawn[1] < 2)
|
||||
{
|
||||
int pick;
|
||||
device_t *tc0100scn;
|
||||
tc0100scn_device *tc0100scn;
|
||||
|
||||
if (tilepri[0][drawn[0]] < tilepri[1][drawn[1]])
|
||||
{
|
||||
@ -1185,17 +1185,17 @@ UINT32 taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitm
|
||||
tc0100scn = m_tc0100scn_2;
|
||||
}
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn , bitmap, cliprect, layer[pick][drawn[pick]], 0, 1 << (drawn[pick] + 2 * pick));
|
||||
tc0100scn->tilemap_draw(bitmap, cliprect, layer[pick][drawn[pick]], 0, 1 << (drawn[pick] + 2 * pick));
|
||||
drawn[pick]++;
|
||||
}
|
||||
while (drawn[0] < 2)
|
||||
{
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_1, bitmap, cliprect, layer[0][drawn[0]], 0, 1 << drawn[0]);
|
||||
m_tc0100scn_1->tilemap_draw(bitmap, cliprect, layer[0][drawn[0]], 0, 1 << drawn[0]);
|
||||
drawn[0]++;
|
||||
}
|
||||
while (drawn[1] < 2)
|
||||
{
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_2, bitmap, cliprect, layer[1][drawn[1]], 0, 1 << (drawn[1] + 2));
|
||||
m_tc0100scn_2->tilemap_draw(bitmap, cliprect, layer[1][drawn[1]], 0, 1 << (drawn[1] + 2));
|
||||
drawn[1]++;
|
||||
}
|
||||
|
||||
@ -1223,13 +1223,13 @@ UINT32 taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitm
|
||||
|
||||
if (tilepri[0][2] < tilepri[1][2])
|
||||
{
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_1, bitmap, cliprect, layer[0][2], 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_2, bitmap, cliprect, layer[1][2], 0, 0);
|
||||
m_tc0100scn_1->tilemap_draw(bitmap, cliprect, layer[0][2], 0, 0);
|
||||
m_tc0100scn_2->tilemap_draw(bitmap, cliprect, layer[1][2], 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_2, bitmap, cliprect, layer[1][2], 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn_1, bitmap, cliprect, layer[0][2], 0, 0);
|
||||
m_tc0100scn_2->tilemap_draw(bitmap, cliprect, layer[1][2], 0, 0);
|
||||
m_tc0100scn_1->tilemap_draw(bitmap, cliprect, layer[0][2], 0, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -86,11 +86,11 @@ void taitoh_state::syvalion_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
|
||||
for (offs = 0x03f8 / 2; offs >= 0; offs -= 0x008 / 2)
|
||||
{
|
||||
x0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
tile_offs = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(tc0080vco_sprram_r(m_tc0080vco, space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
x0 = m_tc0080vco->sprram_r(space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
tile_offs = (m_tc0080vco->sprram_r(space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(m_tc0080vco->sprram_r(space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
|
||||
if (tile_offs)
|
||||
{
|
||||
@ -112,7 +112,7 @@ void taitoh_state::syvalion_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
if (x0 >= 0x200) x0 -= 0x400;
|
||||
if (y0 >= 0x200) y0 -= 0x400;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
x0 = 497 - x0;
|
||||
y0 = 498 - y0;
|
||||
@ -134,12 +134,12 @@ void taitoh_state::syvalion_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
{
|
||||
int tile, color, flipx, flipy;
|
||||
|
||||
tile = tc0080vco_cram_0_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0080;
|
||||
tile = m_tc0080vco->cram_0_r(space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0080;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
flipx ^= 0x0040;
|
||||
flipy ^= 0x0080;
|
||||
@ -182,12 +182,12 @@ void taitoh_state::recordbr_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
if (offs < 0x01b0 && priority == 0) continue;
|
||||
if (offs >= 0x01b0 && priority == 1) continue;
|
||||
|
||||
x0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(tc0080vco_sprram_r(m_tc0080vco, space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
x0 = m_tc0080vco->sprram_r(space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (m_tc0080vco->sprram_r(space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(m_tc0080vco->sprram_r(space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
|
||||
if (tile_offs)
|
||||
{
|
||||
@ -223,7 +223,7 @@ void taitoh_state::recordbr_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
if (x0 >= 0x200) x0 -= 0x400;
|
||||
if (y0 >= 0x200) y0 -= 0x400;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
x0 = 497 - x0;
|
||||
y0 = 498 - y0;
|
||||
@ -246,12 +246,12 @@ void taitoh_state::recordbr_draw_sprites( bitmap_ind16 &bitmap, const rectangle
|
||||
{
|
||||
int tile, color, flipx, flipy;
|
||||
|
||||
tile = tc0080vco_cram_0_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0080;
|
||||
tile = m_tc0080vco->cram_0_r(space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0080;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
flipx ^= 0x0040;
|
||||
flipy ^= 0x0080;
|
||||
@ -292,12 +292,12 @@ void taitoh_state::dleague_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
|
||||
for (offs = 0x03f8 / 2; offs >= 0; offs -= 0x008 / 2)
|
||||
{
|
||||
x0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
tile_offs = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
pribit = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x1000) >> 12;
|
||||
ysize = size[(tc0080vco_sprram_r(m_tc0080vco, space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
x0 = m_tc0080vco->sprram_r(space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
tile_offs = (m_tc0080vco->sprram_r(space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
pribit = (m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x1000) >> 12;
|
||||
ysize = size[(m_tc0080vco->sprram_r(space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
|
||||
if (tile_offs)
|
||||
{
|
||||
@ -317,13 +317,13 @@ void taitoh_state::dleague_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
zx = (dx + ex) << 12;
|
||||
}
|
||||
|
||||
if (tc0080vco_scrram_r(m_tc0080vco, space, 0x0002, 0xffff) & 0x8000)
|
||||
if (m_tc0080vco->scrram_r(space, 0x0002, 0xffff) & 0x8000)
|
||||
pribit = 1;
|
||||
|
||||
if (x0 >= 0x200) x0 -= 0x400;
|
||||
if (y0 >= 0x200) y0 -= 0x400;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
x0 = 497 - x0;
|
||||
y0 = 498 - y0;
|
||||
@ -347,13 +347,13 @@ void taitoh_state::dleague_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
{
|
||||
int tile, color, flipx, flipy;
|
||||
|
||||
tile = tc0080vco_cram_0_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0080;
|
||||
tile = m_tc0080vco->cram_0_r(space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0080;
|
||||
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
flipx ^= 0x0040;
|
||||
flipy ^= 0x0080;
|
||||
@ -393,16 +393,16 @@ void taitoh_state::taitoh_log_vram()
|
||||
|
||||
UINT32 taitoh_state::screen_update_syvalion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
tc0080vco_tilemap_update(m_tc0080vco);
|
||||
m_tc0080vco->tilemap_update();
|
||||
|
||||
taitoh_log_vram();
|
||||
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
syvalion_draw_sprites(bitmap,cliprect);
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -410,7 +410,7 @@ UINT32 taitoh_state::screen_update_syvalion(screen_device &screen, bitmap_ind16
|
||||
|
||||
UINT32 taitoh_state::screen_update_recordbr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
tc0080vco_tilemap_update(m_tc0080vco);
|
||||
m_tc0080vco->tilemap_update();
|
||||
|
||||
taitoh_log_vram();
|
||||
|
||||
@ -418,28 +418,28 @@ UINT32 taitoh_state::screen_update_recordbr(screen_device &screen, bitmap_ind16
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
if (!machine().input().code_pressed(KEYCODE_A))
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_S))
|
||||
recordbr_draw_sprites(bitmap, cliprect, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_D))
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_F))
|
||||
recordbr_draw_sprites(bitmap, cliprect, 1);
|
||||
#else
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
recordbr_draw_sprites(bitmap, cliprect, 0);
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
recordbr_draw_sprites(bitmap, cliprect, 1);
|
||||
#endif
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
UINT32 taitoh_state::screen_update_dleague(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
tc0080vco_tilemap_update(m_tc0080vco);
|
||||
m_tc0080vco->tilemap_update();
|
||||
|
||||
taitoh_log_vram();
|
||||
|
||||
@ -447,20 +447,20 @@ UINT32 taitoh_state::screen_update_dleague(screen_device &screen, bitmap_ind16 &
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
if (!machine().input().code_pressed(KEYCODE_A))
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_S))
|
||||
dleague_draw_sprites(bitmap, cliprect, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_D))
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
if (!machine().input().code_pressed(KEYCODE_F))
|
||||
dleague_draw_sprites(bitmap, cliprect, 1);
|
||||
#else
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
dleague_draw_sprites (bitmap, cliprect, 0);
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
dleague_draw_sprites (bitmap, cliprect, 1);
|
||||
#endif
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ Based on taito_h.c
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "includes/taito_o.h"
|
||||
|
||||
|
||||
@ -44,12 +43,12 @@ void taitoo_state::parentj_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
if (offs < 0x01b0 && priority == 0) continue;
|
||||
if (offs >= 0x01b0 && priority == 1) continue;
|
||||
|
||||
x0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(tc0080vco_sprram_r(m_tc0080vco, space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
x0 = m_tc0080vco->sprram_r(space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (m_tc0080vco->sprram_r(space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(m_tc0080vco->sprram_r(space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
|
||||
if (tile_offs)
|
||||
{
|
||||
@ -85,7 +84,7 @@ void taitoo_state::parentj_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
if (x0 >= 0x200) x0 -= 0x400;
|
||||
if (y0 >= 0x200) y0 -= 0x400;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
x0 = 497 - x0;
|
||||
y0 = 498 - y0;
|
||||
@ -108,12 +107,12 @@ void taitoo_state::parentj_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
{
|
||||
int tile, color, flipx, flipy;
|
||||
|
||||
tile = tc0080vco_cram_0_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0080;
|
||||
tile = m_tc0080vco->cram_0_r(space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0080;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
flipx ^= 0x0040;
|
||||
flipy ^= 0x0080;
|
||||
@ -140,17 +139,17 @@ void taitoo_state::parentj_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
|
||||
|
||||
UINT32 taitoo_state::screen_update_parentj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
tc0080vco_tilemap_update(m_tc0080vco);
|
||||
m_tc0080vco->tilemap_update();
|
||||
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
|
||||
|
||||
parentj_draw_sprites(bitmap, cliprect, 0);
|
||||
parentj_draw_sprites(bitmap, cliprect, 1);
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -835,9 +835,9 @@ UINT32 taitoz_state::screen_update_contcirc(screen_device &screen, bitmap_ind16
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -845,10 +845,10 @@ UINT32 taitoz_state::screen_update_contcirc(screen_device &screen, bitmap_ind16
|
||||
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -3, m_road_palbank << 6, 1, 0, 1, 2); // -6
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
contcirc_draw_sprites_16x8(bitmap, cliprect, 5); // 7
|
||||
return 0;
|
||||
@ -861,9 +861,9 @@ UINT32 taitoz_state::screen_update_chasehq(screen_device &screen, bitmap_ind16 &
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -872,10 +872,10 @@ UINT32 taitoz_state::screen_update_chasehq(screen_device &screen, bitmap_ind16 &
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
chasehq_draw_sprites_16x16(bitmap, cliprect, 7);
|
||||
return 0;
|
||||
@ -886,9 +886,9 @@ UINT32 taitoz_state::screen_update_bshark(screen_device &screen, bitmap_ind16 &b
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -897,10 +897,10 @@ UINT32 taitoz_state::screen_update_bshark(screen_device &screen, bitmap_ind16 &b
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 1, 1, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
bshark_draw_sprites_16x8(bitmap, cliprect, 8);
|
||||
return 0;
|
||||
@ -911,9 +911,9 @@ UINT32 taitoz_state::screen_update_sci(screen_device &screen, bitmap_ind16 &bitm
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -922,10 +922,10 @@ UINT32 taitoz_state::screen_update_sci(screen_device &screen, bitmap_ind16 &bitm
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
sci_draw_sprites_16x8(bitmap, cliprect, 6);
|
||||
return 0;
|
||||
@ -936,9 +936,9 @@ UINT32 taitoz_state::screen_update_aquajack(screen_device &screen, bitmap_ind16
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -947,10 +947,10 @@ UINT32 taitoz_state::screen_update_aquajack(screen_device &screen, bitmap_ind16
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0, 2, 1, 1, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
aquajack_draw_sprites_16x8(bitmap, cliprect, 3);
|
||||
return 0;
|
||||
@ -961,9 +961,9 @@ UINT32 taitoz_state::screen_update_spacegun(screen_device &screen, bitmap_ind16
|
||||
{
|
||||
UINT8 layer[3];
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -972,9 +972,9 @@ UINT32 taitoz_state::screen_update_spacegun(screen_device &screen, bitmap_ind16
|
||||
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
|
||||
|
||||
spacegun_draw_sprites_16x8(bitmap, cliprect, 4);
|
||||
|
||||
|
@ -46,7 +46,6 @@ sprite RAM
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "includes/taitoair.h"
|
||||
|
||||
|
||||
@ -89,12 +88,12 @@ void taitoair_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
if (offs < 0x01b0 && priority == 0) continue;
|
||||
if (offs >= 0x01b0 && priority == 1) continue;
|
||||
|
||||
x0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = tc0080vco_sprram_r(m_tc0080vco, space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (tc0080vco_sprram_r(m_tc0080vco, space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(tc0080vco_sprram_r(m_tc0080vco, space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
x0 = m_tc0080vco->sprram_r(space, offs + 1, 0xffff) & 0x3ff;
|
||||
y0 = m_tc0080vco->sprram_r(space, offs + 0, 0xffff) & 0x3ff;
|
||||
zoomx = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x7f00) >> 8;
|
||||
zoomy = (m_tc0080vco->sprram_r(space, offs + 2, 0xffff) & 0x007f);
|
||||
tile_offs = (m_tc0080vco->sprram_r(space, offs + 3, 0xffff) & 0x1fff) << 2;
|
||||
ysize = size[(m_tc0080vco->sprram_r(space, offs, 0xffff) & 0x0c00) >> 10];
|
||||
|
||||
if (tile_offs)
|
||||
{
|
||||
@ -130,7 +129,7 @@ void taitoair_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
if (x0 >= 0x200) x0 -= 0x400;
|
||||
if (y0 >= 0x200) y0 -= 0x400;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
x0 = 497 - x0;
|
||||
y0 = 498 - y0;
|
||||
@ -153,12 +152,12 @@ void taitoair_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
{
|
||||
int tile, color, flipx, flipy;
|
||||
|
||||
tile = tc0080vco_cram_0_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = tc0080vco_cram_1_r(m_tc0080vco, space, tile_offs, 0xffff) & 0x0080;
|
||||
tile = m_tc0080vco->cram_0_r(space, tile_offs, 0xffff) & 0x7fff;
|
||||
color = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x001f;
|
||||
flipx = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0040;
|
||||
flipy = m_tc0080vco->cram_1_r(space, tile_offs, 0xffff) & 0x0080;
|
||||
|
||||
if (tc0080vco_flipscreen_r(m_tc0080vco))
|
||||
if (m_tc0080vco->flipscreen_r())
|
||||
{
|
||||
flipx ^= 0x0040;
|
||||
flipy ^= 0x0080;
|
||||
@ -559,7 +558,7 @@ void taitoair_state::video_start()
|
||||
|
||||
UINT32 taitoair_state::screen_update_taitoair(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
tc0080vco_tilemap_update(m_tc0080vco);
|
||||
m_tc0080vco->tilemap_update();
|
||||
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
@ -592,17 +591,17 @@ UINT32 taitoair_state::screen_update_taitoair(screen_device &screen, bitmap_ind1
|
||||
#endif
|
||||
}
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 0, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 0, 0, 0);
|
||||
|
||||
draw_sprites(bitmap, cliprect, 0);
|
||||
|
||||
copybitmap_trans(bitmap, *m_framebuffer[1], 0, 0, 0, 0, cliprect, 0);
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 1, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 1, 0, 0);
|
||||
|
||||
draw_sprites(bitmap, cliprect, 1);
|
||||
|
||||
tc0080vco_tilemap_draw(m_tc0080vco, bitmap, cliprect, 2, 0, 0);
|
||||
m_tc0080vco->tilemap_draw(bitmap, cliprect, 2, 0, 0);
|
||||
|
||||
/* Hacky 3d bitmap */
|
||||
//copybitmap_trans(bitmap, m_buffer3d, 0, 0, 0, 0, cliprect, 0);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -36,28 +36,28 @@ struct pc090oj_interface
|
||||
|
||||
struct tc0080vco_interface
|
||||
{
|
||||
int gfxnum;
|
||||
int txnum;
|
||||
int m_gfxnum;
|
||||
int m_txnum;
|
||||
|
||||
int bg_xoffs, bg_yoffs;
|
||||
int bg_flip_yoffs;
|
||||
int m_bg_xoffs, m_bg_yoffs;
|
||||
int m_bg_flip_yoffs;
|
||||
|
||||
int has_fg0; /* for debug */
|
||||
int m_has_fg0; /* for debug */
|
||||
};
|
||||
|
||||
struct tc0100scn_interface
|
||||
{
|
||||
const char *screen;
|
||||
const char *m_screen_tag;
|
||||
|
||||
int gfxnum;
|
||||
int txnum;
|
||||
int m_gfxnum;
|
||||
int m_txnum;
|
||||
|
||||
int x_offset, y_offset;
|
||||
int flip_xoffs, flip_yoffs;
|
||||
int flip_text_xoffs, flip_text_yoffs;
|
||||
int m_x_offset, m_y_offset;
|
||||
int m_flip_xoffs, m_flip_yoffs;
|
||||
int m_flip_text_xoffs, m_flip_text_yoffs;
|
||||
|
||||
int multiscrn_xoffs;
|
||||
int multiscrn_hack;
|
||||
int m_multiscrn_xoffs;
|
||||
int m_multiscrn_hack;
|
||||
};
|
||||
|
||||
|
||||
@ -112,6 +112,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER( xscroll_word_w );
|
||||
DECLARE_WRITE16_MEMBER( yscroll_word_w );
|
||||
DECLARE_WRITE16_MEMBER( ctrl_word_w );
|
||||
DECLARE_WRITE16_MEMBER( scrollram_w );
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
@ -192,51 +193,156 @@ private:
|
||||
|
||||
extern const device_type PC090OJ;
|
||||
|
||||
class tc0080vco_device : public device_t
|
||||
class tc0080vco_device : public device_t,
|
||||
public tc0080vco_interface
|
||||
{
|
||||
public:
|
||||
tc0080vco_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~tc0080vco_device() { global_free(m_token); }
|
||||
~tc0080vco_device() {}
|
||||
|
||||
// access to legacy token
|
||||
void *token() const { assert(m_token != NULL); return m_token; }
|
||||
void tc0080vco_postload();
|
||||
protected:
|
||||
DECLARE_READ16_MEMBER( word_r );
|
||||
DECLARE_WRITE16_MEMBER( word_w );
|
||||
|
||||
void tilemap_update();
|
||||
void tilemap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int flags, UINT32 priority);
|
||||
|
||||
DECLARE_READ16_MEMBER( cram_0_r );
|
||||
DECLARE_READ16_MEMBER( cram_1_r );
|
||||
DECLARE_READ16_MEMBER( sprram_r );
|
||||
DECLARE_READ16_MEMBER( scrram_r );
|
||||
DECLARE_WRITE16_MEMBER( scrollram_w );
|
||||
READ_LINE_MEMBER( flipscreen_r );
|
||||
void postload();
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
private:
|
||||
// internal state
|
||||
void *m_token;
|
||||
|
||||
TILE_GET_INFO_MEMBER(tc0080vco_get_bg0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(tc0080vco_get_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(tc0080vco_get_tx_tile_info);
|
||||
private:
|
||||
// internal state
|
||||
UINT16 * m_ram;
|
||||
UINT16 * m_bg0_ram_0;
|
||||
UINT16 * m_bg0_ram_1;
|
||||
UINT16 * m_bg1_ram_0;
|
||||
UINT16 * m_bg1_ram_1;
|
||||
UINT16 * m_tx_ram_0;
|
||||
UINT16 * m_tx_ram_1;
|
||||
UINT16 * m_char_ram;
|
||||
UINT16 * m_bgscroll_ram;
|
||||
|
||||
/* FIXME: This sprite related stuff still needs to be accessed in
|
||||
video/taito_h */
|
||||
UINT16 * m_chain_ram_0;
|
||||
UINT16 * m_chain_ram_1;
|
||||
UINT16 * m_spriteram;
|
||||
UINT16 * m_scroll_ram;
|
||||
|
||||
UINT16 m_bg0_scrollx;
|
||||
UINT16 m_bg0_scrolly;
|
||||
UINT16 m_bg1_scrollx;
|
||||
UINT16 m_bg1_scrolly;
|
||||
|
||||
tilemap_t *m_tilemap[3];
|
||||
|
||||
INT32 m_flipscreen;
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
void bg0_tilemap_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, int flags, UINT32 priority );
|
||||
void bg1_tilemap_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, int flags, UINT32 priority );
|
||||
};
|
||||
|
||||
extern const device_type TC0080VCO;
|
||||
|
||||
class tc0100scn_device : public device_t
|
||||
class tc0100scn_device : public device_t,
|
||||
public tc0100scn_interface
|
||||
{
|
||||
public:
|
||||
tc0100scn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~tc0100scn_device() { global_free(m_token); }
|
||||
~tc0100scn_device() {}
|
||||
|
||||
#define TC0100SCN_SINGLE_VDU 1024
|
||||
|
||||
/* Function to set separate color banks for the three tilemapped layers.
|
||||
To change from the default (0,0,0) use after calling TC0100SCN_vh_start */
|
||||
void set_colbanks(int bg0, int bg1, int tx);
|
||||
|
||||
/* Function to set separate color banks for each TC0100SCN.
|
||||
To change from the default (0,0,0) use after calling TC0100SCN_vh_start */
|
||||
void set_colbank(int colbank);
|
||||
|
||||
/* Function to set bg tilemask < 0xffff */
|
||||
void set_bg_tilemask(int mask);
|
||||
|
||||
/* Function to for Mjnquest to select gfx bank */
|
||||
DECLARE_WRITE16_MEMBER(gfxbank_w);
|
||||
|
||||
DECLARE_READ16_MEMBER(word_r);
|
||||
DECLARE_WRITE16_MEMBER(word_w);
|
||||
DECLARE_READ16_MEMBER(ctrl_word_r);
|
||||
DECLARE_WRITE16_MEMBER(ctrl_word_w);
|
||||
|
||||
/* Functions for use with 68020 (Under Fire) */
|
||||
DECLARE_READ32_MEMBER(long_r);
|
||||
DECLARE_WRITE32_MEMBER(long_w);
|
||||
DECLARE_READ32_MEMBER(ctrl_long_r);
|
||||
DECLARE_WRITE32_MEMBER(ctrl_long_w);
|
||||
|
||||
void tilemap_update();
|
||||
int tilemap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int flags, UINT32 priority);
|
||||
|
||||
/* returns 0 or 1 depending on the lowest priority tilemap set in the internal
|
||||
register. Use this function to draw tilemaps in the correct order. */
|
||||
int bottomlayer();
|
||||
|
||||
void postload();
|
||||
|
||||
// access to legacy token
|
||||
void *token() const { assert(m_token != NULL); return m_token; }
|
||||
void tc0100scn_postload();
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
private:
|
||||
// internal state
|
||||
void *m_token;
|
||||
UINT16 m_ctrl[8];
|
||||
|
||||
TILE_GET_INFO_MEMBER(tc0100scn_get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(tc0100scn_get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(tc0100scn_get_tx_tile_info);
|
||||
UINT16 * m_ram;
|
||||
UINT16 * m_bg_ram;
|
||||
UINT16 * m_fg_ram;
|
||||
UINT16 * m_tx_ram;
|
||||
UINT16 * m_char_ram;
|
||||
UINT16 * m_bgscroll_ram;
|
||||
UINT16 * m_fgscroll_ram;
|
||||
UINT16 * m_colscroll_ram;
|
||||
|
||||
int m_bgscrollx, m_bgscrolly, m_fgscrollx, m_fgscrolly;
|
||||
|
||||
/* We keep two tilemaps for each of the 3 actual tilemaps: one at standard width, one double */
|
||||
tilemap_t *m_tilemap[3][2];
|
||||
rectangle m_cliprect;
|
||||
|
||||
int m_bg_col_mult, m_bg_tilemask, m_tx_col_mult;
|
||||
INT32 m_gfxbank, m_colbank;
|
||||
INT32 m_bg0_colbank, m_bg1_colbank, m_tx_colbank;
|
||||
int m_dblwidth;
|
||||
|
||||
screen_device *m_screen;
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
|
||||
void common_get_bg0_tile_info(tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum, int colbank, int dblwidth);
|
||||
void common_get_bg1_tile_info(tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum, int colbank, int dblwidth);
|
||||
void common_get_tx_tile_info(tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum, int colbank, int dblwidth);
|
||||
|
||||
void tilemap_draw_fg(bitmap_ind16 &bitmap, const rectangle &cliprect, tilemap_t* tmap, int flags, UINT32 priority);
|
||||
void set_layer_ptrs();
|
||||
void dirty_tilemaps();
|
||||
void restore_scroll();
|
||||
};
|
||||
|
||||
extern const device_type TC0100SCN;
|
||||
@ -428,55 +534,6 @@ extern const device_type TC0180VCU;
|
||||
DEVICE I/O FUNCTIONS
|
||||
***************************************************************************/
|
||||
|
||||
/** TC0080VCO **/
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0080vco_word_r );
|
||||
DECLARE_WRITE16_DEVICE_HANDLER( tc0080vco_word_w );
|
||||
|
||||
void tc0080vco_tilemap_update(device_t *device);
|
||||
void tc0080vco_tilemap_draw(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int flags, UINT32 priority);
|
||||
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0080vco_cram_0_r );
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0080vco_cram_1_r );
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0080vco_sprram_r );
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0080vco_scrram_r );
|
||||
READ_LINE_DEVICE_HANDLER( tc0080vco_flipscreen_r );
|
||||
|
||||
|
||||
/** TC0100SCN **/
|
||||
#define TC0100SCN_SINGLE_VDU 1024
|
||||
|
||||
/* Function to set separate color banks for the three tilemapped layers.
|
||||
To change from the default (0,0,0) use after calling TC0100SCN_vh_start */
|
||||
void tc0100scn_set_colbanks(device_t *device, int bg0, int bg1, int tx);
|
||||
|
||||
/* Function to set separate color banks for each TC0100SCN.
|
||||
To change from the default (0,0,0) use after calling TC0100SCN_vh_start */
|
||||
void tc0100scn_set_colbank(device_t *device, int colbank);
|
||||
|
||||
/* Function to set bg tilemask < 0xffff */
|
||||
void tc0100scn_set_bg_tilemask(device_t *device, int mask);
|
||||
|
||||
/* Function to for Mjnquest to select gfx bank */
|
||||
DECLARE_WRITE16_DEVICE_HANDLER( tc0100scn_gfxbank_w );
|
||||
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0100scn_word_r );
|
||||
DECLARE_WRITE16_DEVICE_HANDLER( tc0100scn_word_w );
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0100scn_ctrl_word_r );
|
||||
DECLARE_WRITE16_DEVICE_HANDLER( tc0100scn_ctrl_word_w );
|
||||
|
||||
/* Functions for use with 68020 (Under Fire) */
|
||||
DECLARE_READ32_DEVICE_HANDLER( tc0100scn_long_r );
|
||||
DECLARE_WRITE32_DEVICE_HANDLER( tc0100scn_long_w );
|
||||
DECLARE_READ32_DEVICE_HANDLER( tc0100scn_ctrl_long_r );
|
||||
DECLARE_WRITE32_DEVICE_HANDLER( tc0100scn_ctrl_long_w );
|
||||
|
||||
void tc0100scn_tilemap_update(device_t *device);
|
||||
int tc0100scn_tilemap_draw(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer, int flags, UINT32 priority);
|
||||
|
||||
/* returns 0 or 1 depending on the lowest priority tilemap set in the internal
|
||||
register. Use this function to draw tilemaps in the correct order. */
|
||||
int tc0100scn_bottomlayer(device_t *device);
|
||||
|
||||
|
||||
/** TC0280GRD & TC0430GRW **/
|
||||
DECLARE_READ16_DEVICE_HANDLER( tc0280grd_word_r );
|
||||
|
@ -346,7 +346,6 @@ void undrfire_state::draw_sprites_cbombers(bitmap_ind16 &bitmap,const rectangle
|
||||
|
||||
UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *tc0100scn = machine().device("tc0100scn");
|
||||
device_t *tc0480scp = machine().device("tc0480scp");
|
||||
address_space &space = machine().driver_data()->generic_space();
|
||||
UINT8 layer[5];
|
||||
@ -390,7 +389,7 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
|
||||
}
|
||||
#endif
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
tc0480scp_tilemap_update(tc0480scp);
|
||||
|
||||
priority = tc0480scp_get_bg_priority(tc0480scp);
|
||||
@ -401,7 +400,7 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
|
||||
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
|
||||
layer[4] = 4; /* text layer always over bg layers */
|
||||
|
||||
pivlayer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
pivlayer[0] = m_tc0100scn->bottomlayer();
|
||||
pivlayer[1] = pivlayer[0] ^ 1;
|
||||
pivlayer[2] = 2;
|
||||
|
||||
@ -415,8 +414,8 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
|
||||
pointless - it's always hidden by other layers. Does it
|
||||
serve some blending pupose ? */
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
if (m_dislayer[layer[0]]==0)
|
||||
@ -458,7 +457,7 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
|
||||
#ifdef MAME_DEBUG
|
||||
if (m_dislayer[5]==0)
|
||||
#endif
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
|
||||
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[4], 0, 0); /* TC0480SCP text layer */
|
||||
|
||||
@ -489,7 +488,6 @@ UINT32 undrfire_state::screen_update_undrfire(screen_device &screen, bitmap_ind1
|
||||
|
||||
UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
device_t *tc0100scn = machine().device("tc0100scn");
|
||||
device_t *tc0480scp = machine().device("tc0480scp");
|
||||
address_space &space = machine().driver_data()->generic_space();
|
||||
UINT8 layer[5];
|
||||
@ -533,7 +531,7 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
|
||||
}
|
||||
#endif
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
tc0480scp_tilemap_update(tc0480scp);
|
||||
|
||||
priority = tc0480scp_get_bg_priority(tc0480scp);
|
||||
@ -544,7 +542,7 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
|
||||
layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */
|
||||
layer[4] = 4; /* text layer always over bg layers */
|
||||
|
||||
pivlayer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
pivlayer[0] = m_tc0100scn->bottomlayer();
|
||||
pivlayer[1] = pivlayer[0] ^ 1;
|
||||
pivlayer[2] = 2;
|
||||
|
||||
@ -558,8 +556,8 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
|
||||
pointless - it's always hidden by other layers. Does it
|
||||
serve some blending pupose ? */
|
||||
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[0], TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[1], 0, 0);
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
if (m_dislayer[layer[0]]==0)
|
||||
@ -601,7 +599,7 @@ UINT32 undrfire_state::screen_update_cbombers(screen_device &screen, bitmap_ind1
|
||||
#ifdef MAME_DEBUG
|
||||
if (m_dislayer[5]==0)
|
||||
#endif
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, pivlayer[2], 0, 0); /* piv text layer */
|
||||
|
||||
tc0480scp_tilemap_draw(tc0480scp, bitmap, cliprect, layer[4], 0, 0); /* TC0480SCP text layer */
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
void warriorb_state::video_start()
|
||||
{
|
||||
/* Ensure palette from correct TC0110PCR used for each screen */
|
||||
tc0100scn_set_colbanks(m_tc0100scn_1, 0x0, 0x100, 0x0);
|
||||
m_tc0100scn_1->set_colbanks(0x0, 0x100, 0x0);
|
||||
}
|
||||
|
||||
|
||||
@ -81,13 +81,13 @@ void warriorb_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
SCREEN REFRESH
|
||||
**************************************************************/
|
||||
|
||||
UINT32 warriorb_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, device_t *tc0100scn)
|
||||
UINT32 warriorb_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, tc0100scn_device *tc0100scn)
|
||||
{
|
||||
UINT8 layer[3], nodraw;
|
||||
|
||||
tc0100scn_tilemap_update(tc0100scn);
|
||||
tc0100scn->tilemap_update();
|
||||
|
||||
layer[0] = tc0100scn_bottomlayer(tc0100scn);
|
||||
layer[0] = tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
@ -96,20 +96,20 @@ UINT32 warriorb_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap
|
||||
|
||||
/* chip 0 does tilemaps on the left, chip 1 does the ones on the right */
|
||||
// draw bottom layer
|
||||
nodraw = tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0); /* left */
|
||||
nodraw = tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0); /* left */
|
||||
|
||||
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
||||
if (nodraw)
|
||||
bitmap.fill(get_black_pen(machine()), cliprect);
|
||||
|
||||
// draw middle layer
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[1], 0, 1);
|
||||
tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 1);
|
||||
|
||||
/* Sprites can be under/over the layer below text layer */
|
||||
draw_sprites(bitmap, cliprect, xoffs, 8); // draw sprites
|
||||
|
||||
// draw top(text) layer
|
||||
tc0100scn_tilemap_draw(tc0100scn, bitmap, cliprect, layer[2], 0, 0);
|
||||
tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ void wgp_state::wgp_core_vh_start( int piv_xoffs, int piv_yoffs )
|
||||
m_piv_tilemap[2]->set_scrolldy(-piv_yoffs, 0);
|
||||
|
||||
/* We don't need tilemap_set_scroll_rows, as the custom draw routine applies rowscroll manually */
|
||||
tc0100scn_set_colbanks(m_tc0100scn, 0x80, 0xc0, 0x40);
|
||||
m_tc0100scn->set_colbanks(0x80, 0xc0, 0x40);
|
||||
|
||||
save_item(NAME(m_piv_ctrl_reg));
|
||||
save_item(NAME(m_rotate_ctrl));
|
||||
@ -670,7 +670,7 @@ UINT32 wgp_state::screen_update_wgp(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
m_piv_tilemap[i]->set_scrolly(0, m_piv_scrolly[i]);
|
||||
}
|
||||
|
||||
tc0100scn_tilemap_update(m_tc0100scn);
|
||||
m_tc0100scn->tilemap_update();
|
||||
|
||||
bitmap.fill(0, cliprect);
|
||||
|
||||
@ -704,17 +704,17 @@ UINT32 wgp_state::screen_update_wgp(screen_device &screen, bitmap_ind16 &bitmap,
|
||||
draw_sprites(bitmap, cliprect, 16);
|
||||
|
||||
/* ... then here we should apply rotation from wgp_sate_ctrl[] to the bitmap before we draw the TC0100SCN layers on it */
|
||||
layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
|
||||
layer[0] = m_tc0100scn->bottomlayer();
|
||||
layer[1] = layer[0] ^ 1;
|
||||
layer[2] = 2;
|
||||
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[0], 0, 0);
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
if (m_dislayer[3] == 0)
|
||||
#endif
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 0);
|
||||
tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[1], 0, 0);
|
||||
m_tc0100scn->tilemap_draw(bitmap, cliprect, layer[2], 0, 0);
|
||||
|
||||
#if 0
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user