mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
mcatadv.cpp : Updates (#3288)
* mcatadv.cpp : Cleanup duplicates, Replace gfx* -> saner rom areas * mcatadv : Bit of cleanups, Update notes(PCB hasn't any delta-t ROM) * mcatadv.cpp : Bit of cleanup, Allocate sound output(Magical Cat Adventure PCB has mono sound output only) * mcatadv.cpp : Fix compile
This commit is contained in:
parent
8d8c17ae61
commit
d4dce2b784
@ -142,6 +142,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
|
|||||||
|
|
||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
|
#include "machine/gen_latch.h"
|
||||||
#include "sound/2610intf.h"
|
#include "sound/2610intf.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
@ -149,12 +150,6 @@ Stephh's notes (based on the games M68000 code and some tests) :
|
|||||||
|
|
||||||
/*** Main CPU ***/
|
/*** Main CPU ***/
|
||||||
|
|
||||||
WRITE16_MEMBER(mcatadv_state::mcat_soundlatch_w)
|
|
||||||
{
|
|
||||||
m_soundlatch->write(space, 0, data);
|
|
||||||
m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0 // mcat only.. install read handler?
|
#if 0 // mcat only.. install read handler?
|
||||||
WRITE16_MEMBER(mcatadv_state::mcat_coin_w)
|
WRITE16_MEMBER(mcatadv_state::mcat_coin_w)
|
||||||
{
|
{
|
||||||
@ -174,6 +169,13 @@ READ16_MEMBER(mcatadv_state::mcat_wd_r)
|
|||||||
return 0xc00;
|
return 0xc00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<int Chip>
|
||||||
|
WRITE16_MEMBER(mcatadv_state::vram_w)
|
||||||
|
{
|
||||||
|
COMBINE_DATA(&m_vram[Chip][offset]);
|
||||||
|
m_tilemap[Chip]->mark_tile_dirty(offset / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
|
ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||||
@ -184,8 +186,8 @@ ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
|
|||||||
AM_RANGE(0x200000, 0x200005) AM_RAM AM_SHARE("scroll1")
|
AM_RANGE(0x200000, 0x200005) AM_RAM AM_SHARE("scroll1")
|
||||||
AM_RANGE(0x300000, 0x300005) AM_RAM AM_SHARE("scroll2")
|
AM_RANGE(0x300000, 0x300005) AM_RAM AM_SHARE("scroll2")
|
||||||
|
|
||||||
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(mcatadv_videoram1_w) AM_SHARE("videoram1") // Tilemap 0
|
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(vram_w<0>) AM_SHARE("vram_1") // Tilemap 0
|
||||||
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(mcatadv_videoram2_w) AM_SHARE("videoram2") // Tilemap 1
|
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(vram_w<1>) AM_SHARE("vram_2") // Tilemap 1
|
||||||
|
|
||||||
AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
|
AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
|
||||||
AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
|
AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
|
||||||
@ -204,20 +206,20 @@ ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
|
|||||||
AM_RANGE(0xb00018, 0xb00019) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // NOST Only
|
AM_RANGE(0xb00018, 0xb00019) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // NOST Only
|
||||||
AM_RANGE(0xb0001e, 0xb0001f) AM_READ(mcat_wd_r) // MCAT Only
|
AM_RANGE(0xb0001e, 0xb0001f) AM_READ(mcat_wd_r) // MCAT Only
|
||||||
AM_RANGE(0xc00000, 0xc00001) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff)
|
AM_RANGE(0xc00000, 0xc00001) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff)
|
||||||
AM_RANGE(0xc00000, 0xc00001) AM_WRITE(mcat_soundlatch_w)
|
AM_RANGE(0xc00000, 0xc00001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff).cswidth(16)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/*** Sound ***/
|
/*** Sound ***/
|
||||||
|
|
||||||
WRITE8_MEMBER(mcatadv_state::mcatadv_sound_bw_w)
|
WRITE8_MEMBER(mcatadv_state::mcatadv_sound_bw_w)
|
||||||
{
|
{
|
||||||
membank("bank1")->set_entry(data);
|
m_soundbank->set_entry(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_map)
|
ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_map)
|
||||||
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
|
AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
|
||||||
AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("bank1") // ROM
|
AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("soundbank") // ROM
|
||||||
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
|
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
|
||||||
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
|
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
|
||||||
AM_RANGE(0xf000, 0xf000) AM_WRITE(mcatadv_sound_bw_w)
|
AM_RANGE(0xf000, 0xf000) AM_WRITE(mcatadv_sound_bw_w)
|
||||||
@ -231,7 +233,7 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
ADDRESS_MAP_START(mcatadv_state::nost_sound_map)
|
ADDRESS_MAP_START(mcatadv_state::nost_sound_map)
|
||||||
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
|
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // ROM
|
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") // ROM
|
||||||
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
|
AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -400,33 +402,31 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
/*** GFX Decode ***/
|
/*** GFX Decode ***/
|
||||||
|
|
||||||
static const gfx_layout mcatadv_tiles16x16x4_layout =
|
static const gfx_layout layout_16x16x4 =
|
||||||
{
|
{
|
||||||
16,16,
|
16,16,
|
||||||
RGN_FRAC(1,1),
|
RGN_FRAC(1,1),
|
||||||
4,
|
4,
|
||||||
{ STEP4(0,1) },
|
{ STEP4(0,1) },
|
||||||
{ STEP8(0,4), STEP8(32*8,4) },
|
{ STEP8(0,4), STEP8(4*8*8,4) },
|
||||||
{ STEP8(0,32), STEP8(64*8,32) },
|
{ STEP8(0,4*8), STEP8(4*8*8*2,4*8) },
|
||||||
128*8
|
16*16*4
|
||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( mcatadv )
|
static GFXDECODE_START( mcatadv )
|
||||||
GFXDECODE_ENTRY( "gfx2", 0, mcatadv_tiles16x16x4_layout, 0, 0x200 )
|
GFXDECODE_ENTRY( "bg0", 0, layout_16x16x4, 0, 0x200 )
|
||||||
GFXDECODE_ENTRY( "gfx3", 0, mcatadv_tiles16x16x4_layout, 0, 0x200 )
|
GFXDECODE_ENTRY( "bg1", 0, layout_16x16x4, 0, 0x200 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
|
|
||||||
void mcatadv_state::machine_start()
|
void mcatadv_state::machine_start()
|
||||||
{
|
{
|
||||||
uint8_t *ROM = memregion("soundcpu")->base();
|
uint32_t max = memregion("soundcpu")->bytes()/0x4000;
|
||||||
|
|
||||||
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
|
m_soundbank->configure_entries(0, max, memregion("soundcpu")->base(), 0x4000);
|
||||||
membank("bank1")->set_entry(1);
|
m_soundbank->set_entry(1);
|
||||||
|
|
||||||
|
save_item(NAME(m_palette_bank));
|
||||||
save_item(NAME(m_palette_bank1));
|
|
||||||
save_item(NAME(m_palette_bank2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_CONFIG_START(mcatadv_state::mcatadv)
|
MACHINE_CONFIG_START(mcatadv_state::mcatadv)
|
||||||
@ -460,17 +460,18 @@ MACHINE_CONFIG_START(mcatadv_state::mcatadv)
|
|||||||
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||||
|
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||||
|
|
||||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
|
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
|
||||||
|
|
||||||
MCFG_SOUND_ADD("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
|
MCFG_SOUND_ADD("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
|
||||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
|
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
|
||||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.32)
|
MCFG_SOUND_ROUTE(0, "mono", 0.32)
|
||||||
MCFG_SOUND_ROUTE(0, "rspeaker", 0.32)
|
MCFG_SOUND_ROUTE(1, "mono", 0.5)
|
||||||
MCFG_SOUND_ROUTE(1, "lspeaker", 0.5)
|
MCFG_SOUND_ROUTE(2, "mono", 0.5)
|
||||||
MCFG_SOUND_ROUTE(2, "rspeaker", 0.5)
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(mcatadv_state::nost)
|
MACHINE_CONFIG_START(mcatadv_state::nost)
|
||||||
@ -480,14 +481,11 @@ MACHINE_CONFIG_START(mcatadv_state::nost)
|
|||||||
MCFG_CPU_PROGRAM_MAP(nost_sound_map)
|
MCFG_CPU_PROGRAM_MAP(nost_sound_map)
|
||||||
MCFG_CPU_IO_MAP(nost_sound_io_map)
|
MCFG_CPU_IO_MAP(nost_sound_io_map)
|
||||||
|
|
||||||
MCFG_DEVICE_REMOVE("lspeaker")
|
|
||||||
MCFG_DEVICE_REMOVE("rspeaker")
|
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
|
||||||
MCFG_SOUND_REPLACE("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
|
MCFG_SOUND_REPLACE("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
|
||||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
|
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
|
||||||
MCFG_SOUND_ROUTE(0, "mono", 0.2)
|
MCFG_SOUND_ROUTE(0, "mono", 0.2)
|
||||||
MCFG_SOUND_ROUTE(1, "mono", 0.5)
|
MCFG_SOUND_ROUTE(1, "mono", 0.5)
|
||||||
MCFG_SOUND_ROUTE(2, "mono", 0.5)
|
MCFG_SOUND_ROUTE(2, "mono", 0.5)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
@ -496,11 +494,10 @@ ROM_START( mcatadv )
|
|||||||
ROM_LOAD16_BYTE( "mca-u30e", 0x00000, 0x80000, CRC(c62fbb65) SHA1(39a30a165d4811141db8687a4849626bef8e778e) )
|
ROM_LOAD16_BYTE( "mca-u30e", 0x00000, 0x80000, CRC(c62fbb65) SHA1(39a30a165d4811141db8687a4849626bef8e778e) )
|
||||||
ROM_LOAD16_BYTE( "mca-u29e", 0x00001, 0x80000, CRC(cf21227c) SHA1(4012811ebfe3c709ab49946f8138bc4bad881ef7) )
|
ROM_LOAD16_BYTE( "mca-u29e", 0x00001, 0x80000, CRC(cf21227c) SHA1(4012811ebfe3c709ab49946f8138bc4bad881ef7) )
|
||||||
|
|
||||||
ROM_REGION( 0x030000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x020000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
||||||
ROM_RELOAD( 0x10000, 0x20000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
||||||
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
||||||
ROM_LOAD16_BYTE( "mca-u84.bin", 0x200000, 0x080000, CRC(df202790) SHA1(f6ae54e799af195860ed0ab3c85138cf2f10efa6) )
|
ROM_LOAD16_BYTE( "mca-u84.bin", 0x200000, 0x080000, CRC(df202790) SHA1(f6ae54e799af195860ed0ab3c85138cf2f10efa6) )
|
||||||
@ -508,15 +505,15 @@ ROM_START( mcatadv )
|
|||||||
ROM_LOAD16_BYTE( "mca-u86e", 0x400000, 0x080000, CRC(017bf1da) SHA1(f6446a7219275c0eff62129f59fdfa3a6a3e06c8) )
|
ROM_LOAD16_BYTE( "mca-u86e", 0x400000, 0x080000, CRC(017bf1da) SHA1(f6446a7219275c0eff62129f59fdfa3a6a3e06c8) )
|
||||||
ROM_LOAD16_BYTE( "mca-u87e", 0x400001, 0x080000, CRC(bc9dc9b9) SHA1(f525c9f994d5107752aa4d3a499ee376ec75f42b) )
|
ROM_LOAD16_BYTE( "mca-u87e", 0x400001, 0x080000, CRC(bc9dc9b9) SHA1(f525c9f994d5107752aa4d3a499ee376ec75f42b) )
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x080000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "mca-u58.bin", 0x000000, 0x080000, CRC(3a8186e2) SHA1(129c220d72608a8839f779ce1a6cfec8646dbf23) )
|
ROM_LOAD( "mca-u58.bin", 0x000000, 0x080000, CRC(3a8186e2) SHA1(129c220d72608a8839f779ce1a6cfec8646dbf23) )
|
||||||
|
|
||||||
ROM_REGION( 0x280000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x280000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
||||||
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
||||||
ROM_LOAD( "mca-u100", 0x200000, 0x080000, CRC(b273f1b0) SHA1(39318fe2aaf2792b85426ec6791b3360ac964de3) )
|
ROM_LOAD( "mca-u100", 0x200000, 0x080000, CRC(b273f1b0) SHA1(39318fe2aaf2792b85426ec6791b3360ac964de3) )
|
||||||
|
|
||||||
ROM_REGION( 0x80000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x80000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "mca-u53.bin", 0x00000, 0x80000, CRC(64c76e05) SHA1(379cef5e0cba78d0e886c9cede41985850a3afb7) )
|
ROM_LOAD( "mca-u53.bin", 0x00000, 0x80000, CRC(64c76e05) SHA1(379cef5e0cba78d0e886c9cede41985850a3afb7) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
@ -525,11 +522,10 @@ ROM_START( mcatadvj )
|
|||||||
ROM_LOAD16_BYTE( "u30.bin", 0x00000, 0x80000, CRC(05762f42) SHA1(3675fb606bf9d7be9462324e68263f4a6c2fea1c) )
|
ROM_LOAD16_BYTE( "u30.bin", 0x00000, 0x80000, CRC(05762f42) SHA1(3675fb606bf9d7be9462324e68263f4a6c2fea1c) )
|
||||||
ROM_LOAD16_BYTE( "u29.bin", 0x00001, 0x80000, CRC(4c59d648) SHA1(2ab77ea254f2c11fc016078cedcab2fffbe5ee1b) )
|
ROM_LOAD16_BYTE( "u29.bin", 0x00001, 0x80000, CRC(4c59d648) SHA1(2ab77ea254f2c11fc016078cedcab2fffbe5ee1b) )
|
||||||
|
|
||||||
ROM_REGION( 0x030000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x020000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
||||||
ROM_RELOAD( 0x10000, 0x20000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
||||||
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
||||||
ROM_LOAD16_BYTE( "mca-u84.bin", 0x200000, 0x080000, CRC(df202790) SHA1(f6ae54e799af195860ed0ab3c85138cf2f10efa6) )
|
ROM_LOAD16_BYTE( "mca-u84.bin", 0x200000, 0x080000, CRC(df202790) SHA1(f6ae54e799af195860ed0ab3c85138cf2f10efa6) )
|
||||||
@ -537,15 +533,15 @@ ROM_START( mcatadvj )
|
|||||||
ROM_LOAD16_BYTE( "u86.bin", 0x400000, 0x080000, CRC(2d3725ed) SHA1(8b4c0f280eb901113d842848ffc26371be7b6067) )
|
ROM_LOAD16_BYTE( "u86.bin", 0x400000, 0x080000, CRC(2d3725ed) SHA1(8b4c0f280eb901113d842848ffc26371be7b6067) )
|
||||||
ROM_LOAD16_BYTE( "u87.bin", 0x400001, 0x080000, CRC(4ddefe08) SHA1(5ade0a694d73f4f3891c1ab7757e37a88afcbf54) )
|
ROM_LOAD16_BYTE( "u87.bin", 0x400001, 0x080000, CRC(4ddefe08) SHA1(5ade0a694d73f4f3891c1ab7757e37a88afcbf54) )
|
||||||
|
|
||||||
ROM_REGION( 0x080000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x080000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "mca-u58.bin", 0x000000, 0x080000, CRC(3a8186e2) SHA1(129c220d72608a8839f779ce1a6cfec8646dbf23) )
|
ROM_LOAD( "mca-u58.bin", 0x000000, 0x080000, CRC(3a8186e2) SHA1(129c220d72608a8839f779ce1a6cfec8646dbf23) )
|
||||||
|
|
||||||
ROM_REGION( 0x280000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x280000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
||||||
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
||||||
ROM_LOAD( "u100.bin", 0x200000, 0x080000, CRC(e2c311da) SHA1(cc3217484524de94704869eaa9ce1b90393039d8) )
|
ROM_LOAD( "u100.bin", 0x200000, 0x080000, CRC(e2c311da) SHA1(cc3217484524de94704869eaa9ce1b90393039d8) )
|
||||||
|
|
||||||
ROM_REGION( 0x80000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x80000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "mca-u53.bin", 0x00000, 0x80000, CRC(64c76e05) SHA1(379cef5e0cba78d0e886c9cede41985850a3afb7) )
|
ROM_LOAD( "mca-u53.bin", 0x00000, 0x80000, CRC(64c76e05) SHA1(379cef5e0cba78d0e886c9cede41985850a3afb7) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
@ -554,11 +550,10 @@ ROM_START( catt )
|
|||||||
ROM_LOAD16_BYTE( "catt-u30.bin", 0x00000, 0x80000, CRC(8c921e1e) SHA1(2fdaa9b743e1731f3cfe9d8334f1b759cf46855d) )
|
ROM_LOAD16_BYTE( "catt-u30.bin", 0x00000, 0x80000, CRC(8c921e1e) SHA1(2fdaa9b743e1731f3cfe9d8334f1b759cf46855d) )
|
||||||
ROM_LOAD16_BYTE( "catt-u29.bin", 0x00001, 0x80000, CRC(e725af6d) SHA1(78c08fa5744a6a953e13c0ff39736ccd4875fb72) )
|
ROM_LOAD16_BYTE( "catt-u29.bin", 0x00001, 0x80000, CRC(e725af6d) SHA1(78c08fa5744a6a953e13c0ff39736ccd4875fb72) )
|
||||||
|
|
||||||
ROM_REGION( 0x030000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x020000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
ROM_LOAD( "u9.bin", 0x00000, 0x20000, CRC(fda05171) SHA1(2c69292573ec35034572fa824c0cae2839d23919) )
|
||||||
ROM_RELOAD( 0x10000, 0x20000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
ROM_LOAD16_BYTE( "mca-u82.bin", 0x000000, 0x100000, CRC(5f01d746) SHA1(11b241456e15299912ee365eedb8f9d5e5ca875d) )
|
||||||
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
ROM_LOAD16_BYTE( "mca-u83.bin", 0x000001, 0x100000, CRC(4e1be5a6) SHA1(cb19aad42dba54d6a4a33859f27254c2a3271e8c) )
|
||||||
ROM_LOAD16_BYTE( "u84.bin", 0x200000, 0x100000, CRC(843fd624) SHA1(2e16d8a909fe9447da37a87428bff0734af59a00) )
|
ROM_LOAD16_BYTE( "u84.bin", 0x200000, 0x100000, CRC(843fd624) SHA1(2e16d8a909fe9447da37a87428bff0734af59a00) )
|
||||||
@ -566,15 +561,15 @@ ROM_START( catt )
|
|||||||
ROM_LOAD16_BYTE( "mca-u86e", 0x400000, 0x080000, CRC(017bf1da) SHA1(f6446a7219275c0eff62129f59fdfa3a6a3e06c8) )
|
ROM_LOAD16_BYTE( "mca-u86e", 0x400000, 0x080000, CRC(017bf1da) SHA1(f6446a7219275c0eff62129f59fdfa3a6a3e06c8) )
|
||||||
ROM_LOAD16_BYTE( "mca-u87e", 0x400001, 0x080000, CRC(bc9dc9b9) SHA1(f525c9f994d5107752aa4d3a499ee376ec75f42b) )
|
ROM_LOAD16_BYTE( "mca-u87e", 0x400001, 0x080000, CRC(bc9dc9b9) SHA1(f525c9f994d5107752aa4d3a499ee376ec75f42b) )
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x100000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "u58.bin", 0x00000, 0x100000, CRC(73c9343a) SHA1(9efdddbad6244c1ed267bd954563ab43a1017c96) )
|
ROM_LOAD( "u58.bin", 0x00000, 0x100000, CRC(73c9343a) SHA1(9efdddbad6244c1ed267bd954563ab43a1017c96) )
|
||||||
|
|
||||||
ROM_REGION( 0x280000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x280000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
ROM_LOAD( "mca-u60.bin", 0x000000, 0x100000, CRC(c8942614) SHA1(244fccb9abbb04e33839dd2cd0e2de430819a18c) )
|
||||||
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
ROM_LOAD( "mca-u61.bin", 0x100000, 0x100000, CRC(51af66c9) SHA1(1055cf78ea286f02003b0d1bf08c2d7829b36f90) )
|
||||||
ROM_LOAD( "mca-u100", 0x200000, 0x080000, CRC(b273f1b0) SHA1(39318fe2aaf2792b85426ec6791b3360ac964de3) )
|
ROM_LOAD( "mca-u100", 0x200000, 0x080000, CRC(b273f1b0) SHA1(39318fe2aaf2792b85426ec6791b3360ac964de3) )
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "u53.bin", 0x00000, 0x100000, CRC(99f2a624) SHA1(799e8e40e8bdcc8fa4cd763a366cc32473038a49) )
|
ROM_LOAD( "u53.bin", 0x00000, 0x100000, CRC(99f2a624) SHA1(799e8e40e8bdcc8fa4cd763a366cc32473038a49) )
|
||||||
|
|
||||||
ROM_REGION( 0x0400, "plds", 0 )
|
ROM_REGION( 0x0400, "plds", 0 )
|
||||||
@ -587,11 +582,10 @@ ROM_START( nost )
|
|||||||
ROM_LOAD16_BYTE( "nos-pe-u.bin", 0x00000, 0x80000, CRC(4b080149) SHA1(e1dbbe5bf554c7c5731cc3079850f257417e3caa) )
|
ROM_LOAD16_BYTE( "nos-pe-u.bin", 0x00000, 0x80000, CRC(4b080149) SHA1(e1dbbe5bf554c7c5731cc3079850f257417e3caa) )
|
||||||
ROM_LOAD16_BYTE( "nos-po-u.bin", 0x00001, 0x80000, CRC(9e3cd6d9) SHA1(db5351ff9a05f602eceae62c0051c16ae0e4ead9) )
|
ROM_LOAD16_BYTE( "nos-po-u.bin", 0x00001, 0x80000, CRC(9e3cd6d9) SHA1(db5351ff9a05f602eceae62c0051c16ae0e4ead9) )
|
||||||
|
|
||||||
ROM_REGION( 0x050000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x040000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
||||||
ROM_RELOAD( 0x10000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
||||||
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
||||||
@ -599,15 +593,15 @@ ROM_START( nost )
|
|||||||
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x180000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
||||||
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x180000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
||||||
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
@ -616,11 +610,10 @@ ROM_START( nostj )
|
|||||||
ROM_LOAD16_BYTE( "nos-pe-j.u30", 0x00000, 0x80000, CRC(4b080149) SHA1(e1dbbe5bf554c7c5731cc3079850f257417e3caa) )
|
ROM_LOAD16_BYTE( "nos-pe-j.u30", 0x00000, 0x80000, CRC(4b080149) SHA1(e1dbbe5bf554c7c5731cc3079850f257417e3caa) )
|
||||||
ROM_LOAD16_BYTE( "nos-po-j.u29", 0x00001, 0x80000, CRC(7fe241de) SHA1(aa4ffd81cb73efc59690c2038ae9375021a775a4) )
|
ROM_LOAD16_BYTE( "nos-po-j.u29", 0x00001, 0x80000, CRC(7fe241de) SHA1(aa4ffd81cb73efc59690c2038ae9375021a775a4) )
|
||||||
|
|
||||||
ROM_REGION( 0x050000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x040000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
||||||
ROM_RELOAD( 0x10000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
||||||
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
||||||
@ -628,15 +621,15 @@ ROM_START( nostj )
|
|||||||
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x180000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
||||||
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x180000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
||||||
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
@ -645,11 +638,10 @@ ROM_START( nostk )
|
|||||||
ROM_LOAD16_BYTE( "nos-pe-t.u30", 0x00000, 0x80000, CRC(bee5fbc8) SHA1(a8361fa004bb31471f973ece51a9a87b9f3438ab) )
|
ROM_LOAD16_BYTE( "nos-pe-t.u30", 0x00000, 0x80000, CRC(bee5fbc8) SHA1(a8361fa004bb31471f973ece51a9a87b9f3438ab) )
|
||||||
ROM_LOAD16_BYTE( "nos-po-t.u29", 0x00001, 0x80000, CRC(f4736331) SHA1(7a6db2db1a4dbf105c22e15deff6f6032e04609c) )
|
ROM_LOAD16_BYTE( "nos-po-t.u29", 0x00001, 0x80000, CRC(f4736331) SHA1(7a6db2db1a4dbf105c22e15deff6f6032e04609c) )
|
||||||
|
|
||||||
ROM_REGION( 0x050000, "soundcpu", 0 ) /* Z80-A */
|
ROM_REGION( 0x040000, "soundcpu", 0 ) /* Z80-A */
|
||||||
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
ROM_LOAD( "nos-ps.u9", 0x00000, 0x40000, CRC(832551e9) SHA1(86fc481b1849f378c88593594129197c69ea1359) )
|
||||||
ROM_RELOAD( 0x10000, 0x40000 )
|
|
||||||
|
|
||||||
ROM_REGION( 0x800000, "gfx1", ROMREGION_ERASEFF ) /* Sprites */
|
ROM_REGION( 0x800000, "sprdata", ROMREGION_ERASEFF ) /* Sprites */
|
||||||
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
ROM_LOAD16_BYTE( "nos-se-0.u82", 0x000000, 0x100000, CRC(9d99108d) SHA1(466540989d7b1b7f6dc7acbae74f6a8201973d45) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
ROM_LOAD16_BYTE( "nos-so-0.u83", 0x000001, 0x100000, CRC(7df0fc7e) SHA1(2e064cb5367b2839d736d339c4f1a44785b4eedf) )
|
||||||
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
ROM_LOAD16_BYTE( "nos-se-1.u84", 0x200000, 0x100000, CRC(aad07607) SHA1(89c51a9cb6b8d8ed3a357f5d8ac8399ff1c7ad46) )
|
||||||
@ -657,15 +649,15 @@ ROM_START( nostk )
|
|||||||
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
ROM_LOAD16_BYTE( "nos-se-2.u86", 0x400000, 0x080000, CRC(d99e6005) SHA1(49aae72111334ff5cd0fd86500882f559ff921f9) )
|
||||||
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
ROM_LOAD16_BYTE( "nos-so-2.u87", 0x400001, 0x080000, CRC(f60e8ef3) SHA1(4f7472b5a465e6cc6a5df520ebfe6a544739dd28) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx2", 0 ) /* BG0 */
|
ROM_REGION( 0x180000, "bg0", 0 ) /* BG0 */
|
||||||
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
ROM_LOAD( "nos-b0-0.u58", 0x000000, 0x100000, CRC(0214b0f2) SHA1(678fa3dc739323bda6d7bbb1c7a573c976d69356) )
|
||||||
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
ROM_LOAD( "nos-b0-1.u59", 0x100000, 0x080000, CRC(3f8b6b34) SHA1(94c48614782ce6405965bcf6029e3bcc24a6d84f) )
|
||||||
|
|
||||||
ROM_REGION( 0x180000, "gfx3", 0 ) /* BG1 */
|
ROM_REGION( 0x180000, "bg1", 0 ) /* BG1 */
|
||||||
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
ROM_LOAD( "nos-b1-0.u60", 0x000000, 0x100000, CRC(ba6fd0c7) SHA1(516d6e0c4dc6fb12ec9f30877ea1c582e7440a19) )
|
||||||
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
ROM_LOAD( "nos-b1-1.u61", 0x100000, 0x080000, CRC(dabd8009) SHA1(1862645b8d6216c3ec2b8dbf74816b8e29dea14f) )
|
||||||
|
|
||||||
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples - ADPCM or Delta-T? */
|
ROM_REGION( 0x100000, "ymsnd", 0 ) /* Samples */
|
||||||
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
ROM_LOAD( "nossn-00.u53", 0x00000, 0x100000, CRC(3bd1bcbc) SHA1(1bcad43792e985402db4eca122676c2c555f3313) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
@ -1,42 +1,40 @@
|
|||||||
// license:BSD-3-Clause
|
// license:BSD-3-Clause
|
||||||
// copyright-holders:Paul Priest, David Haywood
|
// copyright-holders:Paul Priest, David Haywood
|
||||||
|
|
||||||
#include "machine/gen_latch.h"
|
|
||||||
#include "machine/watchdog.h"
|
#include "machine/watchdog.h"
|
||||||
|
|
||||||
class mcatadv_state : public driver_device
|
class mcatadv_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mcatadv_state(const machine_config &mconfig, device_type type, const char *tag)
|
mcatadv_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag)
|
||||||
m_videoram1(*this, "videoram1"),
|
, m_vram(*this, "vram_%u", 1)
|
||||||
m_videoram2(*this, "videoram2"),
|
, m_scroll(*this, "scroll%u", 1)
|
||||||
m_scroll1(*this, "scroll1"),
|
, m_spriteram(*this, "spriteram")
|
||||||
m_scroll2(*this, "scroll2"),
|
, m_vidregs(*this, "vidregs")
|
||||||
m_spriteram(*this, "spriteram"),
|
, m_sprdata(*this, "sprdata")
|
||||||
m_vidregs(*this, "vidregs"),
|
, m_soundbank(*this, "soundbank")
|
||||||
m_maincpu(*this, "maincpu"),
|
, m_maincpu(*this, "maincpu")
|
||||||
m_soundcpu(*this, "soundcpu"),
|
, m_soundcpu(*this, "soundcpu")
|
||||||
m_watchdog(*this, "watchdog"),
|
, m_watchdog(*this, "watchdog")
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
, m_gfxdecode(*this, "gfxdecode")
|
||||||
m_palette(*this, "palette"),
|
, m_palette(*this, "palette")
|
||||||
m_soundlatch(*this, "soundlatch") { }
|
{ }
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
required_shared_ptr<uint16_t> m_videoram1;
|
required_shared_ptr_array<uint16_t, 2> m_vram;
|
||||||
required_shared_ptr<uint16_t> m_videoram2;
|
required_shared_ptr_array<uint16_t, 2> m_scroll;
|
||||||
required_shared_ptr<uint16_t> m_scroll1;
|
|
||||||
required_shared_ptr<uint16_t> m_scroll2;
|
|
||||||
required_shared_ptr<uint16_t> m_spriteram;
|
required_shared_ptr<uint16_t> m_spriteram;
|
||||||
std::unique_ptr<uint16_t[]> m_spriteram_old;
|
std::unique_ptr<uint16_t[]> m_spriteram_old;
|
||||||
required_shared_ptr<uint16_t> m_vidregs;
|
required_shared_ptr<uint16_t> m_vidregs;
|
||||||
std::unique_ptr<uint16_t[]> m_vidregs_old;
|
std::unique_ptr<uint16_t[]> m_vidregs_old;
|
||||||
|
|
||||||
|
required_region_ptr<uint8_t> m_sprdata;
|
||||||
|
required_memory_bank m_soundbank;
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
tilemap_t *m_tilemap1;
|
tilemap_t *m_tilemap[2];
|
||||||
tilemap_t *m_tilemap2;
|
int m_palette_bank[2];
|
||||||
int m_palette_bank1;
|
|
||||||
int m_palette_bank2;
|
|
||||||
|
|
||||||
/* devices */
|
/* devices */
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
@ -44,21 +42,17 @@ public:
|
|||||||
required_device<watchdog_timer_device> m_watchdog;
|
required_device<watchdog_timer_device> m_watchdog;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
required_device<generic_latch_8_device> m_soundlatch;
|
|
||||||
|
|
||||||
DECLARE_WRITE16_MEMBER(mcat_soundlatch_w);
|
|
||||||
DECLARE_READ16_MEMBER(mcat_wd_r);
|
DECLARE_READ16_MEMBER(mcat_wd_r);
|
||||||
DECLARE_WRITE8_MEMBER(mcatadv_sound_bw_w);
|
DECLARE_WRITE8_MEMBER(mcatadv_sound_bw_w);
|
||||||
DECLARE_WRITE16_MEMBER(mcatadv_videoram1_w);
|
template<int Chip> DECLARE_WRITE16_MEMBER(vram_w);
|
||||||
DECLARE_WRITE16_MEMBER(mcatadv_videoram2_w);
|
template<int Chip> TILE_GET_INFO_MEMBER(get_mcatadv_tile_info);
|
||||||
TILE_GET_INFO_MEMBER(get_mcatadv_tile_info1);
|
|
||||||
TILE_GET_INFO_MEMBER(get_mcatadv_tile_info2);
|
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
virtual void video_start() override;
|
virtual void video_start() override;
|
||||||
uint32_t screen_update_mcatadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_mcatadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
DECLARE_WRITE_LINE_MEMBER(screen_vblank_mcatadv);
|
DECLARE_WRITE_LINE_MEMBER(screen_vblank_mcatadv);
|
||||||
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
|
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||||
void mcatadv_draw_tilemap_part( screen_device &screen, uint16_t* current_scroll, uint16_t* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect );
|
void mcatadv_draw_tilemap_part( screen_device &screen, int layer, int i, bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||||
void nost(machine_config &config);
|
void nost(machine_config &config);
|
||||||
void mcatadv(machine_config &config);
|
void mcatadv(machine_config &config);
|
||||||
void mcatadv_map(address_map &map);
|
void mcatadv_map(address_map &map);
|
||||||
|
@ -14,42 +14,21 @@ ToDo: Fix Sprites & Rowscroll/Select for Cocktail
|
|||||||
#include "includes/mcatadv.h"
|
#include "includes/mcatadv.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
|
|
||||||
TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info1)
|
#include <algorithm>
|
||||||
|
|
||||||
|
template<int Chip>
|
||||||
|
TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info)
|
||||||
{
|
{
|
||||||
int tileno = m_videoram1[tile_index * 2 + 1];
|
int tileno = m_vram[Chip][tile_index * 2 + 1];
|
||||||
int colour = (m_videoram1[tile_index * 2] & 0x3f00) >> 8;
|
int colour = (m_vram[Chip][tile_index * 2] & 0x3f00) >> 8;
|
||||||
int pri = (m_videoram1[tile_index * 2] & 0xc000) >> 14;
|
int pri = (m_vram[Chip][tile_index * 2] & 0xc000) >> 14;
|
||||||
|
|
||||||
pri |= 0x8;
|
pri |= 0x8;
|
||||||
|
|
||||||
SET_TILE_INFO_MEMBER(0,tileno,colour + m_palette_bank1 * 0x40, 0);
|
SET_TILE_INFO_MEMBER(Chip,tileno,colour + m_palette_bank[Chip] * 0x40, 0);
|
||||||
tileinfo.category = pri;
|
tileinfo.category = pri;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(mcatadv_state::mcatadv_videoram1_w)
|
|
||||||
{
|
|
||||||
COMBINE_DATA(&m_videoram1[offset]);
|
|
||||||
m_tilemap1->mark_tile_dirty(offset / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info2)
|
|
||||||
{
|
|
||||||
int tileno = m_videoram2[tile_index * 2 + 1];
|
|
||||||
int colour = (m_videoram2[tile_index * 2] & 0x3f00) >> 8;
|
|
||||||
int pri = (m_videoram2[tile_index * 2] & 0xc000) >> 14;
|
|
||||||
|
|
||||||
pri |= 0x8;
|
|
||||||
|
|
||||||
SET_TILE_INFO_MEMBER(1, tileno, colour + m_palette_bank2 * 0x40, 0);
|
|
||||||
tileinfo.category = pri;
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITE16_MEMBER(mcatadv_state::mcatadv_videoram2_w)
|
|
||||||
{
|
|
||||||
COMBINE_DATA(&m_videoram2[offset]);
|
|
||||||
m_tilemap2->mark_tile_dirty(offset / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
@ -61,8 +40,7 @@ void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
|
|||||||
|
|
||||||
uint16_t *destline;
|
uint16_t *destline;
|
||||||
uint8_t *priline;
|
uint8_t *priline;
|
||||||
uint8_t *sprdata = memregion("gfx1")->base();
|
int sprmask = m_sprdata.bytes()-1;
|
||||||
int sprmask = memregion("gfx1")->bytes()-1;
|
|
||||||
|
|
||||||
int xstart, xend, xinc;
|
int xstart, xend, xinc;
|
||||||
int ystart, yend, yinc;
|
int ystart, yend, yinc;
|
||||||
@ -136,10 +114,9 @@ void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
|
|||||||
{
|
{
|
||||||
int pridata = priline[drawxpos];
|
int pridata = priline[drawxpos];
|
||||||
|
|
||||||
|
|
||||||
if (!(pridata & 0x10)) // if we haven't already drawn a sprite pixel here (sprite masking)
|
if (!(pridata & 0x10)) // if we haven't already drawn a sprite pixel here (sprite masking)
|
||||||
{
|
{
|
||||||
pix = sprdata[(offset / 2)&sprmask];
|
pix = m_sprdata[(offset / 2)&sprmask];
|
||||||
|
|
||||||
if (offset & 1)
|
if (offset & 1)
|
||||||
pix = pix >> 4;
|
pix = pix >> 4;
|
||||||
@ -155,7 +132,6 @@ void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
offset++;
|
offset++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,7 +145,7 @@ void mcatadv_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mcatadv_state::mcatadv_draw_tilemap_part( screen_device &screen, uint16_t* current_scroll, uint16_t* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
void mcatadv_state::mcatadv_draw_tilemap_part( screen_device &screen, int layer, int i, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||||
{
|
{
|
||||||
int flip;
|
int flip;
|
||||||
uint32_t drawline;
|
uint32_t drawline;
|
||||||
@ -185,31 +161,31 @@ void mcatadv_state::mcatadv_draw_tilemap_part( screen_device &screen, uint16_t*
|
|||||||
clip.min_y = drawline;
|
clip.min_y = drawline;
|
||||||
clip.max_y = drawline;
|
clip.max_y = drawline;
|
||||||
|
|
||||||
scrollx = (current_scroll[0] & 0x1ff) - 0x194;
|
scrollx = (m_scroll[layer][0] & 0x1ff) - 0x194;
|
||||||
scrolly = (current_scroll[1] & 0x1ff) - 0x1df;
|
scrolly = (m_scroll[layer][1] & 0x1ff) - 0x1df;
|
||||||
|
|
||||||
if ((current_scroll[1] & 0x4000) == 0x4000)
|
if ((m_scroll[layer][1] & 0x4000) == 0x4000)
|
||||||
{
|
{
|
||||||
int rowselect = current_videoram1[0x1000 / 2 + (((drawline + scrolly) & 0x1ff) * 2) + 1];
|
int rowselect = m_vram[layer][0x1000 / 2 + (((drawline + scrolly) & 0x1ff) * 2) + 1];
|
||||||
scrolly = rowselect - drawline;
|
scrolly = rowselect - drawline;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((current_scroll[0] & 0x4000) == 0x4000)
|
if ((m_scroll[layer][0] & 0x4000) == 0x4000)
|
||||||
{
|
{
|
||||||
int rowscroll = current_videoram1[0x1000 / 2 + (((drawline + scrolly) & 0x1ff) * 2) + 0];
|
int rowscroll = m_vram[layer][0x1000 / 2 + (((drawline + scrolly) & 0x1ff) * 2) + 0];
|
||||||
scrollx += rowscroll;
|
scrollx += rowscroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Global Flip */
|
/* Global Flip */
|
||||||
if (!(current_scroll[0] & 0x8000)) scrollx -= 0x19;
|
if (!(m_scroll[layer][0] & 0x8000)) scrollx -= 0x19;
|
||||||
if (!(current_scroll[1] & 0x8000)) scrolly -= 0x141;
|
if (!(m_scroll[layer][1] & 0x8000)) scrolly -= 0x141;
|
||||||
flip = ((current_scroll[0] & 0x8000) ? 0 : TILEMAP_FLIPX) | ((current_scroll[1] & 0x8000) ? 0 : TILEMAP_FLIPY);
|
flip = ((m_scroll[layer][0] & 0x8000) ? 0 : TILEMAP_FLIPX) | ((m_scroll[layer][1] & 0x8000) ? 0 : TILEMAP_FLIPY);
|
||||||
|
|
||||||
current_tilemap->set_scrollx(0, scrollx);
|
m_tilemap[layer]->set_scrollx(0, scrollx);
|
||||||
current_tilemap->set_scrolly(0, scrolly);
|
m_tilemap[layer]->set_scrolly(0, scrolly);
|
||||||
current_tilemap->set_flip(flip);
|
m_tilemap[layer]->set_flip(flip);
|
||||||
|
|
||||||
current_tilemap->draw(screen, bitmap, clip, i, i);
|
m_tilemap[layer]->draw(screen, bitmap, clip, i, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,16 +196,16 @@ uint32_t mcatadv_state::screen_update_mcatadv(screen_device &screen, bitmap_ind1
|
|||||||
bitmap.fill(0x3f0, cliprect);
|
bitmap.fill(0x3f0, cliprect);
|
||||||
screen.priority().fill(0, cliprect);
|
screen.priority().fill(0, cliprect);
|
||||||
|
|
||||||
if (m_scroll1[2] != m_palette_bank1)
|
if (m_scroll[0][2] != m_palette_bank[0])
|
||||||
{
|
{
|
||||||
m_palette_bank1 = m_scroll1[2]&0xf;
|
m_palette_bank[0] = m_scroll[0][2]&0xf;
|
||||||
m_tilemap1->mark_all_dirty();
|
m_tilemap[0]->mark_all_dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_scroll2[2] != m_palette_bank2)
|
if (m_scroll[1][2] != m_palette_bank[1])
|
||||||
{
|
{
|
||||||
m_palette_bank2 = m_scroll2[2]&0xf;
|
m_palette_bank[1] = m_scroll[1][2]&0xf;
|
||||||
m_tilemap2->mark_all_dirty();
|
m_tilemap[1]->mark_all_dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -245,14 +221,14 @@ uint32_t mcatadv_state::screen_update_mcatadv(screen_device &screen, bitmap_ind1
|
|||||||
#ifdef MAME_DEBUG
|
#ifdef MAME_DEBUG
|
||||||
if (!machine().input().code_pressed(KEYCODE_Q))
|
if (!machine().input().code_pressed(KEYCODE_Q))
|
||||||
#endif
|
#endif
|
||||||
if (!(m_scroll1[2]&0x10))
|
if (!(m_scroll[0][2]&0x10))
|
||||||
mcatadv_draw_tilemap_part(screen, m_scroll1, m_videoram1, i|0x8, m_tilemap1, bitmap, cliprect);
|
mcatadv_draw_tilemap_part(screen, 0, i|0x8, bitmap, cliprect);
|
||||||
|
|
||||||
#ifdef MAME_DEBUG
|
#ifdef MAME_DEBUG
|
||||||
if (!machine().input().code_pressed(KEYCODE_W))
|
if (!machine().input().code_pressed(KEYCODE_W))
|
||||||
#endif
|
#endif
|
||||||
if (!(m_scroll2[2]&0x10)) // tilemap flicker effect on large shadow, nost level 7
|
if (!(m_scroll[1][2]&0x10)) // tilemap flicker effect on large shadow, nost level 7
|
||||||
mcatadv_draw_tilemap_part(screen, m_scroll2, m_videoram2, i|0x8, m_tilemap2, bitmap, cliprect);
|
mcatadv_draw_tilemap_part(screen, 1, i|0x8, bitmap, cliprect);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_profiler.start(PROFILER_USER1);
|
g_profiler.start(PROFILER_USER1);
|
||||||
@ -266,20 +242,19 @@ uint32_t mcatadv_state::screen_update_mcatadv(screen_device &screen, bitmap_ind1
|
|||||||
|
|
||||||
void mcatadv_state::video_start()
|
void mcatadv_state::video_start()
|
||||||
{
|
{
|
||||||
m_tilemap1 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info<0>),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||||
m_tilemap1->set_transparent_pen(0);
|
m_tilemap[0]->set_transparent_pen(0);
|
||||||
|
|
||||||
m_tilemap2 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info<1>),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
|
||||||
m_tilemap2->set_transparent_pen(0);
|
m_tilemap[1]->set_transparent_pen(0);
|
||||||
|
|
||||||
m_spriteram_old = make_unique_clear<uint16_t[]>(m_spriteram.bytes() / 2);
|
m_spriteram_old = make_unique_clear<uint16_t[]>(m_spriteram.bytes() / 2);
|
||||||
m_vidregs_old = std::make_unique<uint16_t[]>((0x0f + 1) / 2);
|
m_vidregs_old = std::make_unique<uint16_t[]>(m_vidregs.bytes() / 2);
|
||||||
|
|
||||||
m_palette_bank1 = 0;
|
m_palette_bank[0] = m_palette_bank[1] = 0;
|
||||||
m_palette_bank2 = 0;
|
|
||||||
|
|
||||||
save_pointer(NAME(m_spriteram_old.get()), m_spriteram.bytes() / 2);
|
save_pointer(NAME(m_spriteram_old.get()), m_spriteram.bytes() / 2);
|
||||||
save_pointer(NAME(m_vidregs_old.get()), (0x0f + 1) / 2);
|
save_pointer(NAME(m_vidregs_old.get()), m_vidregs.bytes() / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE_LINE_MEMBER(mcatadv_state::screen_vblank_mcatadv)
|
WRITE_LINE_MEMBER(mcatadv_state::screen_vblank_mcatadv)
|
||||||
@ -287,7 +262,7 @@ WRITE_LINE_MEMBER(mcatadv_state::screen_vblank_mcatadv)
|
|||||||
// rising edge
|
// rising edge
|
||||||
if (state)
|
if (state)
|
||||||
{
|
{
|
||||||
memcpy(m_spriteram_old.get(), m_spriteram, m_spriteram.bytes());
|
std::copy(&m_spriteram[0], &m_spriteram[m_spriteram.bytes() / 2], &m_spriteram_old[0]);
|
||||||
memcpy(m_vidregs_old.get(), m_vidregs, 0xf);
|
std::copy(&m_vidregs[0], &m_vidregs[m_vidregs.bytes() / 2], &m_vidregs_old[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user