diff options
author | Angelo Salese <angelosa@users.noreply.github.com> | 2011-12-24 17:31:48 +0000 |
---|---|---|
committer | Angelo Salese <angelosa@users.noreply.github.com> | 2011-12-24 17:31:48 +0000 |
commit | 18c5b64f2b7deaee964b77acd8b94c9b78d2be6f (patch) | |
tree | bd5ce5843cbcd4958c9b0d5f98936bcf00134b80 | |
parent | b038d0e7a018251ec1cb12bad5b38449c12d5703 (diff) |
Merged dacholer.c and itaten.c drivers, fixes priority and sprite Y positions in Dacholer and Kick Boy [Angelo Salese]
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | src/mame/drivers/dacholer.c | 385 | ||||
-rw-r--r-- | src/mame/drivers/itaten.c | 548 | ||||
-rw-r--r-- | src/mame/mame.mak | 1 |
4 files changed, 310 insertions, 625 deletions
diff --git a/.gitattributes b/.gitattributes index 72fec045894..e2704147302 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2271,7 +2271,6 @@ src/mame/drivers/iqblock.c svneol=native#text/plain src/mame/drivers/irobot.c svneol=native#text/plain src/mame/drivers/ironhors.c svneol=native#text/plain src/mame/drivers/istellar.c svneol=native#text/plain -src/mame/drivers/itaten.c svneol=native#text/plain src/mame/drivers/itech32.c svneol=native#text/plain src/mame/drivers/itech8.c svneol=native#text/plain src/mame/drivers/itgambl2.c svneol=native#text/plain diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c index 6c323bfd161..654418b8829 100644 --- a/src/mame/drivers/dacholer.c +++ b/src/mame/drivers/dacholer.c @@ -16,6 +16,18 @@ - just a guess - upper nibble of byte from port 3 _probably_ contains sound command (sound cpu writes it to port c) + Itazura Tenshi (Japan Ver.) + (c)1984 Nichibutsu / Alice + + + + --- Team Japump!!! --- + Dumped by Chack'n + Driver written by Hau + + based on driver from drivers/dacholer.c by Pierpaolo Prazzoli + note: + Sound test does not work. ******************************************************************************/ #include "emu.h" @@ -29,7 +41,10 @@ class dacholer_state : public driver_device { public: dacholer_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) { } + : driver_device(mconfig, type, tag), + m_maincpu(*this,"maincpu"), + m_audiocpu(*this,"audiocpu") + { } /* memory pointers */ UINT8 * m_bgvideoram; @@ -41,6 +56,8 @@ public: tilemap_t *m_bg_tilemap; tilemap_t *m_fg_tilemap; int m_bg_bank; + UINT8 m_scroll_x; + UINT8 m_scroll_y; /* sound-related */ int m_msm_data; @@ -50,10 +67,95 @@ public: UINT8 m_snd_ack; /* devices */ - device_t *m_audiocpu; + required_device<cpu_device> m_maincpu; + required_device<cpu_device> m_audiocpu; }; +static TILE_GET_INFO( get_bg_tile_info ) +{ + dacholer_state *state = machine.driver_data<dacholer_state>(); + SET_TILE_INFO(1, state->m_bgvideoram[tile_index] + state->m_bg_bank * 0x100, 0, 0); +} + +static TILE_GET_INFO( get_fg_tile_info ) +{ + dacholer_state *state = machine.driver_data<dacholer_state>(); + SET_TILE_INFO(0, state->m_fgvideoram[tile_index], 0, 0); +} + +static VIDEO_START( dacholer ) +{ + dacholer_state *state = machine.driver_data<dacholer_state>(); + state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); + state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); + + tilemap_set_transparent_pen(state->m_fg_tilemap, 0); +} + +static WRITE8_HANDLER( bg_scroll_x_w ) +{ + dacholer_state *state = space->machine().driver_data<dacholer_state>(); + state->m_scroll_x = data; +} + +static WRITE8_HANDLER( bg_scroll_y_w ) +{ + dacholer_state *state = space->machine().driver_data<dacholer_state>(); + state->m_scroll_y = data; +} + +static void draw_sprites( running_machine &machine, bitmap_t *bitmap, const rectangle *cliprect ) +{ + dacholer_state *state = machine.driver_data<dacholer_state>(); + int offs, code, attr, sx, sy, flipx, flipy; + + for (offs = 0; offs < state->m_spriteram_size; offs += 4) + { + code = state->m_spriteram[offs + 1]; + attr = state->m_spriteram[offs + 2]; + + flipx = attr & 0x10; + flipy = attr & 0x20; + + sx = (state->m_spriteram[offs + 3] - 128) + 256 * (attr & 0x01); + sy = 255 - state->m_spriteram[offs]; + + if (flip_screen_get(machine)) + { + sx = 240 - sx; + sy = 240 - sy; + flipx = !flipx; + flipy = !flipy; + } + + drawgfx_transpen(bitmap, cliprect, machine.gfx[2], + code, + 0, + flipx,flipy, + sx,sy,0); + } +} +static SCREEN_UPDATE(dacholer) +{ + dacholer_state *state = screen->machine().driver_data<dacholer_state>(); + + if (flip_screen_get(screen->machine())) + { + tilemap_set_scrollx(state->m_bg_tilemap, 0, 256 - state->m_scroll_x); + tilemap_set_scrolly(state->m_bg_tilemap, 0, 256 - state->m_scroll_y); + } + else + { + tilemap_set_scrollx(state->m_bg_tilemap, 0, state->m_scroll_x); + tilemap_set_scrolly(state->m_bg_tilemap, 0, state->m_scroll_y); + } + + tilemap_draw(bitmap, cliprect, state->m_bg_tilemap, 0, 0); + draw_sprites(screen->machine(), bitmap, cliprect); + tilemap_draw(bitmap, cliprect, state->m_fg_tilemap, 0, 0); + return 0; +} static WRITE8_HANDLER( background_w ) { @@ -98,14 +200,27 @@ static WRITE8_HANDLER(snd_w) device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, PULSE_LINE); } +static WRITE8_HANDLER( main_irq_ack_w ) +{ + dacholer_state *state = space->machine().driver_data<dacholer_state>(); + device_set_input_line(state->m_maincpu, 0, CLEAR_LINE); +} + + static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8800, 0x97ff) AM_RAM - AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(background_w) AM_BASE_MEMBER(dacholer_state, m_bgvideoram) + AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x400) AM_RAM_WRITE(background_w) AM_BASE_MEMBER(dacholer_state, m_bgvideoram) AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(foreground_w) AM_BASE_MEMBER(dacholer_state, m_fgvideoram) AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_SIZE_MEMBER(dacholer_state, m_spriteram, m_spriteram_size) ADDRESS_MAP_END +static ADDRESS_MAP_START( itaten_main_map, AS_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x9fff) AM_ROM + AM_RANGE(0xa000, 0xb7ff) AM_RAM + AM_IMPORT_FROM( main_map ) +ADDRESS_MAP_END + static ADDRESS_MAP_START( main_io_map, AS_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") @@ -113,11 +228,12 @@ static ADDRESS_MAP_START( main_io_map, AS_IO, 8 ) AM_RANGE(0x02, 0x02) AM_READ_PORT("SYSTEM") AM_RANGE(0x03, 0x03) AM_READ_PORT("DSWA") AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWB") + AM_RANGE(0x05, 0x05) AM_READNOP // watchdog in itaten AM_RANGE(0x20, 0x20) AM_WRITE(coins_w) AM_RANGE(0x21, 0x21) AM_WRITE(bg_bank_w) - AM_RANGE(0x22, 0x22) AM_WRITENOP - AM_RANGE(0x23, 0x23) AM_WRITENOP - AM_RANGE(0x24, 0x24) AM_WRITENOP + AM_RANGE(0x22, 0x22) AM_WRITE(bg_scroll_x_w) + AM_RANGE(0x23, 0x23) AM_WRITE(bg_scroll_y_w) + AM_RANGE(0x24, 0x24) AM_WRITE(main_irq_ack_w) AM_RANGE(0x27, 0x27) AM_WRITE(snd_w) ADDRESS_MAP_END @@ -127,6 +243,13 @@ static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8 ) AM_RANGE(0xd000, 0xe7ff) AM_RAM ADDRESS_MAP_END + +static ADDRESS_MAP_START( itaten_snd_map, AS_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x2fff) AM_ROM + AM_RANGE(0xe000, 0xe7ff) AM_RAM +ADDRESS_MAP_END + + static WRITE8_HANDLER( adpcm_w ) { dacholer_state *state = space->machine().driver_data<dacholer_state>(); @@ -170,6 +293,14 @@ static ADDRESS_MAP_START( snd_io_map, AS_IO, 8 ) AM_RANGE(0x8e, 0x8f) AM_DEVWRITE("ay3", ay8910_data_address_w) ADDRESS_MAP_END +static ADDRESS_MAP_START( itaten_snd_io_map, AS_IO, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w ) + AM_RANGE(0x86, 0x87) AM_DEVWRITE("ay1", ay8910_data_address_w) + AM_RANGE(0x8a, 0x8b) AM_DEVWRITE("ay2", ay8910_data_address_w) + AM_RANGE(0x8e, 0x8f) AM_DEVWRITE("ay3", ay8910_data_address_w) +ADDRESS_MAP_END + static INPUT_PORTS_START( dacholer ) PORT_START("P1") @@ -309,68 +440,73 @@ static INPUT_PORTS_START( kickboy ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) INPUT_PORTS_END +static INPUT_PORTS_START( itaten ) + PORT_START("P1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -static TILE_GET_INFO( get_bg_tile_info ) -{ - dacholer_state *state = machine.driver_data<dacholer_state>(); - SET_TILE_INFO(1, state->m_bgvideoram[tile_index] + state->m_bg_bank * 0x100, 0, 0); -} - -static TILE_GET_INFO( get_fg_tile_info ) -{ - dacholer_state *state = machine.driver_data<dacholer_state>(); - SET_TILE_INFO(0, state->m_fgvideoram[tile_index], 0, 0); -} - -static VIDEO_START( dacholer ) -{ - dacholer_state *state = machine.driver_data<dacholer_state>(); - state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); - state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); - - tilemap_set_transparent_pen(state->m_fg_tilemap, 0); -} - -static void draw_sprites( running_machine &machine, bitmap_t *bitmap, const rectangle *cliprect ) -{ - dacholer_state *state = machine.driver_data<dacholer_state>(); - int offs, code, attr, sx, sy, flipx, flipy; - - for (offs = 0; offs < state->m_spriteram_size; offs += 4) - { - code = state->m_spriteram[offs + 1]; - attr = state->m_spriteram[offs + 2]; - - flipx = attr & 0x10; - flipy = attr & 0x20; - - sx = (state->m_spriteram[offs + 3] - 128) + 256 * (attr & 0x01); - sy = 248 - state->m_spriteram[offs]; + PORT_START("P2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - if (flip_screen_get(machine)) - { - sx = 240 - sx; - sy = 240 - sy; - flipx = !flipx; - flipy = !flipy; - } + PORT_START("SYSTEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - drawgfx_transpen(bitmap, cliprect, machine.gfx[2], - code, - 0, - flipx,flipy, - sx,sy,0); - } -} + PORT_START("DSWA") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) ) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) -static SCREEN_UPDATE(dacholer) -{ - dacholer_state *state = screen->machine().driver_data<dacholer_state>(); - tilemap_draw(bitmap, cliprect, state->m_bg_tilemap, 0, 0); - tilemap_draw(bitmap, cliprect, state->m_fg_tilemap, 0, 0); - draw_sprites(screen->machine(), bitmap, cliprect); - return 0; -} + PORT_START("DSWB") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Medium ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPSETTING( 0x0c, "3" ) + PORT_DIPSETTING( 0x08, "4" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPSETTING( 0x00, "6" ) + PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") + PORT_DIPSETTING( 0x30, "30k then every 50k" ) + PORT_DIPSETTING( 0x20, "60k then every 50k" ) + PORT_DIPSETTING( 0x10, "30k then every 90k" ) + PORT_DIPSETTING( 0x00, "60k then every 90k" ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) +INPUT_PORTS_END static const gfx_layout charlayout = { @@ -401,6 +537,12 @@ static GFXDECODE_START( dacholer ) GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x10, 1 ) GFXDECODE_END +static GFXDECODE_START( itaten ) + GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x00, 1 ) + GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0x00, 1 ) + GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x10, 1 ) +GFXDECODE_END + static INTERRUPT_GEN( sound_irq ) { @@ -438,8 +580,6 @@ static MACHINE_START( dacholer ) { dacholer_state *state = machine.driver_data<dacholer_state>(); - state->m_audiocpu = machine.device("audiocpu"); - state->save_item(NAME(state->m_bg_bank)); state->save_item(NAME(state->m_msm_data)); state->save_item(NAME(state->m_msm_toggle)); @@ -501,15 +641,16 @@ static PALETTE_INIT( dacholer ) } } +/* note: clocks are taken from itaten sound reference recording */ static MACHINE_CONFIG_START( dacholer, dacholer_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, 4000000) /* ? */ + MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/4) /* ? */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_IO_MAP(main_io_map) - MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) + MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) - MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ? */ + MCFG_CPU_ADD("audiocpu", Z80, XTAL_19_968MHz/8) /* ? */ MCFG_CPU_PROGRAM_MAP(snd_map) MCFG_CPU_IO_MAP(snd_io_map) MCFG_CPU_VBLANK_INT("screen",sound_irq) @@ -535,19 +676,32 @@ static MACHINE_CONFIG_START( dacholer, dacholer_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("ay1", AY8910, 1500000) + MCFG_SOUND_ADD("ay1", AY8910, XTAL_19_968MHz/16) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("ay2", AY8910, 1500000) + MCFG_SOUND_ADD("ay2", AY8910, XTAL_19_968MHz/16) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("ay3", AY8910, 1500000) + MCFG_SOUND_ADD("ay3", AY8910, XTAL_19_968MHz/16) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("msm", MSM5205, 375000) + MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz) MCFG_SOUND_CONFIG(msm_interface) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) +MACHINE_CONFIG_END + +static MACHINE_CONFIG_DERIVED( itaten, dacholer ) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(itaten_main_map) + + MCFG_CPU_MODIFY("audiocpu") + MCFG_CPU_PROGRAM_MAP(itaten_snd_map) + MCFG_CPU_IO_MAP(itaten_snd_io_map) + MCFG_CPU_VBLANK_INT(NULL,NULL) + MCFG_GFXDECODE(itaten) + + MCFG_DEVICE_REMOVE("msm") MACHINE_CONFIG_END ROM_START( dacholer ) @@ -607,5 +761,86 @@ ROM_START( kickboy ) ROM_LOAD( "k.13d", 0x0000, 0x0020, CRC(82f87a36) SHA1(5dc2059eb5b6cd541b014347c36198b8838d98fa) ) ROM_END -GAME( 1983, dacholer, 0, dacholer, dacholer, 0, ROT0, "Nichibutsu", "Dacholer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) -GAME( 1983, kickboy, 0, dacholer, kickboy, 0, ROT0, "Nichibutsu", "Kick Boy", GAME_SUPPORTS_SAVE ) +/* +-------------------------------- +IT A-1 +CPU :LH0080 Z80,LH0080A Z80A +Sound:AY-3-8910 x3 +OSC :16.000MHz +-------------------------------- +1.5K [84c8a010] 2764 +2.5L [19946038] | +3.5M [4f9e26fd] / + +6.6G [dfcb1a3e] 2764 +7.6H [844e78d6] 2732 + +AF-1.3N [5638e485] 82S123 + + +-------------------------------- +ITA-EXP +-------------------------------- +4.1F [35f85aeb] 2764 +5.1E [6cf30924] / + + +-------------------------------- +IT A-2 +OSC :19.968 ? +-------------------------------- +8.10A [c32b0859] 2764 +9.11A [919cac5e] | +10.12A [d2b60e5d] | +11.13A [ed3279d5] / + +12.1D [f0f64636] 2764 +13.2D [d32559f5] | +14.3D [8c532c74] | +15.4D [d119b483] / + +16.12J [8af2bfb8] 2764 + +AF-2.1H [e1cac297] 82S123 +AF-3.13D [875429ba] / +-------------------------------- +*/ + + +ROM_START( itaten ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "1.5k", 0x0000, 0x2000, CRC(84c8a010) SHA1(52d78ac70b3d5e905a11efd76acd99810c56e467) ) + ROM_LOAD( "2.5l", 0x2000, 0x2000, CRC(19946038) SHA1(74f76096e676535ead4386755fce853caac7673b) ) + ROM_LOAD( "3.5m", 0x4000, 0x2000, CRC(4f9e26fd) SHA1(33062724c46108611c9db16fdbf2cb9feed7e213) ) + ROM_LOAD( "4.1f", 0x6000, 0x2000, CRC(35f85aeb) SHA1(ecd8f62e304d1277332a5a2b7ec6aace9f77d8ad) ) + ROM_LOAD( "5.1e", 0x8000, 0x2000, CRC(6cf30924) SHA1(5e82e9aa0811ec1b853d300368c5ceec44938363) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "6.6g", 0x0000, 0x2000, CRC(dfcb1a3e) SHA1(cee0906cfbddd0254a947737da1cfbe47c445c32) ) + ROM_LOAD( "7.6h", 0x2000, 0x1000, CRC(844e78d6) SHA1(11b48af650809f8504b56e9a8e53c9f043782c5f) ) + + ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_LOAD( "16.12j", 0x0000, 0x2000, CRC(8af2bfb8) SHA1(6744db0deb4fda7920fcfddf7f9c1ed6681d3622) ) + + ROM_REGION( 0x8000, "gfx2", 0 ) + ROM_LOAD( "11.13a", 0x0000, 0x2000, CRC(ed3279d5) SHA1(e4bcae8038739c588f896ff35fa95288979fa683) ) + ROM_LOAD( "10.12a", 0x2000, 0x2000, CRC(d2b60e5d) SHA1(c833ac6e5d4d0a244ace600f5f02c6f43d3bd34b) ) + ROM_LOAD( "9.11a", 0x4000, 0x2000, CRC(919cac5e) SHA1(9602ad7618b5e4d93fa22676aa855256d4690dd1) ) + ROM_LOAD( "8.10a", 0x6000, 0x2000, CRC(c32b0859) SHA1(1bb00de55742a1f2cbbf3970b43b122114b0911b) ) + + ROM_REGION( 0x8000, "gfx3", 0 ) + ROM_LOAD( "13.2d", 0x0000, 0x2000, CRC(d32559f5) SHA1(a4f05b1c8c48aad367ff675c29a9a1828c71b693) ) + ROM_LOAD( "12.1d", 0x2000, 0x2000, CRC(f0f64636) SHA1(a3354be74460e45453fea62c8dd910f98b5d2fb5) ) + ROM_LOAD( "14.3d", 0x4000, 0x2000, CRC(8c532c74) SHA1(c95786c81f82f7211f4411a9f39fd4ba4def9073) ) + ROM_LOAD( "15.4d", 0x6000, 0x2000, CRC(d119b483) SHA1(c1e403369bfbda0233ec5764fc703522e9f312a7) ) + + ROM_REGION( 0x0060, "proms", 0 ) + ROM_LOAD( "af-3.13d", 0x0000, 0x0020, CRC(875429ba) SHA1(7186e1fb15806d60fd3e704be8db94c7b6c8c058) ) + ROM_LOAD( "af-2.1h", 0x0020, 0x0020, CRC(e1cac297) SHA1(f15326d04d006d9d029a6565aebf9daf3657bc2a) ) + ROM_LOAD( "af-1.3n", 0x0040, 0x0020, CRC(5638e485) SHA1(5d892111936a8eb7646c03a17300069be9a2b442) ) +ROM_END + + +GAME( 1983, dacholer, 0, dacholer, dacholer, 0, ROT0, "Nichibutsu", "Dacholer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) +GAME( 1983, kickboy, 0, dacholer, kickboy, 0, ROT0, "Nichibutsu", "Kick Boy", GAME_SUPPORTS_SAVE ) +GAME( 1984, itaten, 0, itaten, itaten, 0, ROT0, "Nichibutsu / Alice", "Itazura Tenshi (Japan)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/itaten.c b/src/mame/drivers/itaten.c deleted file mode 100644 index ea4af7ee3f2..00000000000 --- a/src/mame/drivers/itaten.c +++ /dev/null @@ -1,548 +0,0 @@ -/* - -Itazura Tenshi (Japan Ver.) -(c)1984 Nichibutsu / Alice - - - ---- Team Japump!!! --- -Dumped by Chack'n -Driver written by Hau - -based on driver from drivers/dacholer.c by Pierpaolo Prazzoli -note: -Sound test does not work. -*/ - - -#include "emu.h" -#include "cpu/z80/z80.h" -#include "sound/ay8910.h" -#include "video/resnet.h" - -class itaten_state : public driver_device -{ -public: - itaten_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this,"maincpu"), - m_audiocpu(*this,"audiocpu") - { } - - /* memory pointers */ - UINT8 * m_bgvideoram; - UINT8 * m_fgvideoram; - UINT8 * m_spriteram; - size_t m_spriteram_size; - - /* video-related */ - tilemap_t *m_bg_tilemap; - tilemap_t *m_fg_tilemap; - UINT8 m_scroll_x; - UINT8 m_scroll_y; - int m_bg_bank; - - /* devices */ - required_device<cpu_device> m_maincpu; - required_device<cpu_device> m_audiocpu; -}; - - - -/************************************* - * - * Video system - * - *************************************/ - -/* guess: use the same resistor values as Crazy Climber (needs checking on the real HW) */ -static PALETTE_INIT( itaten ) -{ - static const int resistances_rg[3] = { 1000, 470, 220 }; - static const int resistances_b [2] = { 470, 220 }; - double weights_rg[3], weights_b[2]; - int i; - - /* compute the color output resistor weights */ - compute_resistor_weights(0, 255, -1.0, - 3, resistances_rg, weights_rg, 0, 0, - 2, resistances_b, weights_b, 0, 0, - 0, 0, 0, 0, 0); - - for (i = 0;i < machine.total_colors(); i++) - { - int bit0, bit1, bit2; - int r, g, b; - - /* red component */ - bit0 = (color_prom[i] >> 0) & 0x01; - bit1 = (color_prom[i] >> 1) & 0x01; - bit2 = (color_prom[i] >> 2) & 0x01; - r = combine_3_weights(weights_rg, bit0, bit1, bit2); - - /* green component */ - bit0 = (color_prom[i] >> 3) & 0x01; - bit1 = (color_prom[i] >> 4) & 0x01; - bit2 = (color_prom[i] >> 5) & 0x01; - g = combine_3_weights(weights_rg, bit0, bit1, bit2); - - /* blue component */ - bit0 = (color_prom[i] >> 6) & 0x01; - bit1 = (color_prom[i] >> 7) & 0x01; - b = combine_2_weights(weights_b, bit0, bit1); - - palette_set_color(machine, i, MAKE_RGB(r, g, b)); - } -} - - -static TILE_GET_INFO( get_bg_tile_info ) -{ - itaten_state *state = machine.driver_data<itaten_state>(); - SET_TILE_INFO(1, state->m_bgvideoram[tile_index] + state->m_bg_bank * 0x100, 0, 0); -} - - -static TILE_GET_INFO( get_fg_tile_info ) -{ - itaten_state *state = machine.driver_data<itaten_state>(); - SET_TILE_INFO(0, state->m_fgvideoram[tile_index], 0, 0); -} - - -static VIDEO_START( itaten ) -{ - itaten_state *state = machine.driver_data<itaten_state>(); - state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); - state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); - - tilemap_set_transparent_pen(state->m_fg_tilemap, 0); -} - - -static WRITE8_HANDLER( background_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - state->m_bgvideoram[offset] = data; - tilemap_mark_tile_dirty(state->m_bg_tilemap, offset); -} - -static WRITE8_HANDLER( foreground_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - state->m_fgvideoram[offset] = data; - tilemap_mark_tile_dirty(state->m_fg_tilemap, offset); -} - -static WRITE8_HANDLER( bg_bank_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - - if ((data & 3) != state->m_bg_bank) - { - state->m_bg_bank = data & 3; - tilemap_mark_all_tiles_dirty(state->m_bg_tilemap); - } - - flip_screen_set(space->machine(), data & 0xc); // probably one bit for flipx and one for flipy -} - - -static WRITE8_HANDLER( bg_scroll_x_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - state->m_scroll_x = data; -} - -static WRITE8_HANDLER( bg_scroll_y_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - state->m_scroll_y = data; -} - - -static void draw_sprites( running_machine &machine, bitmap_t *bitmap, const rectangle *cliprect ) -{ - itaten_state *state = machine.driver_data<itaten_state>(); - int offs, code, attr, sx, sy, flipx, flipy; - - for (offs = 0; offs < state->m_spriteram_size; offs += 4) - { - code = state->m_spriteram[offs + 1]; - attr = state->m_spriteram[offs + 2]; - - flipx = attr & 0x10; - flipy = attr & 0x20; - - sx = (state->m_spriteram[offs + 3] - 128) + 256 * (attr & 0x01); - sy = 255 - state->m_spriteram[offs]; - - if (flip_screen_get(machine)) - { - sx = 240 - sx; - sy = 240 - sy; - flipx = !flipx; - flipy = !flipy; - } - - drawgfx_transpen(bitmap, cliprect, machine.gfx[2], - code, - 0, - flipx,flipy, - sx,sy,0); - } -} - - -static SCREEN_UPDATE(itaten) -{ - itaten_state *state = screen->machine().driver_data<itaten_state>(); - - if (flip_screen_get(screen->machine())) - { - tilemap_set_scrollx(state->m_bg_tilemap, 0, 256 - state->m_scroll_x); - tilemap_set_scrolly(state->m_bg_tilemap, 0, 256 - state->m_scroll_y); - } - else - { - tilemap_set_scrollx(state->m_bg_tilemap, 0, state->m_scroll_x); - tilemap_set_scrolly(state->m_bg_tilemap, 0, state->m_scroll_y); - } - - tilemap_draw(bitmap, cliprect, state->m_bg_tilemap, 0, 0); - draw_sprites(screen->machine(), bitmap, cliprect); - tilemap_draw(bitmap, cliprect, state->m_fg_tilemap, 0, 0); - return 0; -} - - -/*************************************/ - -static WRITE8_HANDLER( coins_w ) -{ - coin_counter_w(space->machine(), 0, data & 1); - coin_counter_w(space->machine(), 1, data & 2); - - set_led_status(space->machine(), 0, data & 4); - set_led_status(space->machine(), 1, data & 8); -} - - -static WRITE8_HANDLER(snd_w) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - soundlatch_w(space, offset, data); - device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, PULSE_LINE); -} - -static WRITE8_HANDLER( main_irq_ack_w ) -{ - itaten_state *state = space->machine().driver_data<itaten_state>(); - device_set_input_line(state->m_maincpu, 0, CLEAR_LINE); -} - -/************************************* - * - * Memory handlers - * - *************************************/ - -static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x9fff) AM_ROM - AM_RANGE(0xa000, 0xb7ff) AM_RAM - AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(background_w) AM_BASE_MEMBER(itaten_state, m_bgvideoram) - AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(foreground_w) AM_BASE_MEMBER(itaten_state, m_fgvideoram) - AM_RANGE(0xe000, 0xe0ff) AM_RAM AM_BASE_SIZE_MEMBER(itaten_state, m_spriteram, m_spriteram_size) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( main_io_map, AS_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") - AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") - AM_RANGE(0x02, 0x02) AM_READ_PORT("SYSTEM") - AM_RANGE(0x03, 0x03) AM_READ_PORT("DSWA") - AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWB") - AM_RANGE(0x05, 0x05) AM_READNOP /* watchdog */ - AM_RANGE(0x20, 0x20) AM_WRITE(coins_w) - AM_RANGE(0x21, 0x21) AM_WRITE(bg_bank_w) - AM_RANGE(0x22, 0x22) AM_WRITE(bg_scroll_x_w) - AM_RANGE(0x23, 0x23) AM_WRITE(bg_scroll_y_w) - AM_RANGE(0x24, 0x24) AM_WRITE(main_irq_ack_w) - AM_RANGE(0x27, 0x27) AM_WRITE(snd_w) -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x2fff) AM_ROM - AM_RANGE(0xe000, 0xe7ff) AM_RAM -ADDRESS_MAP_END - -static ADDRESS_MAP_START( snd_io_map, AS_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w ) - AM_RANGE(0x86, 0x87) AM_DEVWRITE("ay1", ay8910_data_address_w) - AM_RANGE(0x8a, 0x8b) AM_DEVWRITE("ay2", ay8910_data_address_w) - AM_RANGE(0x8e, 0x8f) AM_DEVWRITE("ay3", ay8910_data_address_w) -ADDRESS_MAP_END - - -/************************************* - * - * Port definition - * - *************************************/ - -static INPUT_PORTS_START( itaten ) - PORT_START("P1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("P2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_COCKTAIL - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("SYSTEM") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSWA") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:3,4") - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) ) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSWB") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x0c, "3" ) - PORT_DIPSETTING( 0x08, "4" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x30, "30k then every 50k" ) - PORT_DIPSETTING( 0x20, "60k then every 50k" ) - PORT_DIPSETTING( 0x10, "30k then every 90k" ) - PORT_DIPSETTING( 0x00, "60k then every 90k" ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) -INPUT_PORTS_END - - -/************************************* - * - * Machine driver - * - *************************************/ - -static const gfx_layout charlayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 32*8 -}; - -static const gfx_layout spritelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 4,0,12,8,20,16,28,24,36,32,44,40,52,48,60,56 }, - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, - 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, - 16*16*4 -}; - -static GFXDECODE_START( itaten ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x00, 1 ) - GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0x00, 1 ) - GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x10, 1 ) -GFXDECODE_END - - - -static MACHINE_START( itaten ) -{ - itaten_state *state = machine.driver_data<itaten_state>(); - - state->save_item(NAME(state->m_scroll_x)); - state->save_item(NAME(state->m_scroll_y)); - state->save_item(NAME(state->m_bg_bank)); -} - - -static MACHINE_CONFIG_START( itaten, itaten_state ) - - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/4) - MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_CPU_IO_MAP(main_io_map) - MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) - - MCFG_CPU_ADD("audiocpu", Z80, XTAL_19_968MHz/8) /* Matches reference recording */ - MCFG_CPU_PROGRAM_MAP(snd_map) - MCFG_CPU_IO_MAP(snd_io_map) - - MCFG_MACHINE_START(itaten) - - /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1-16) - MCFG_SCREEN_UPDATE(itaten) - - MCFG_PALETTE_LENGTH(32) - MCFG_PALETTE_INIT(itaten) - MCFG_GFXDECODE(itaten) - - MCFG_VIDEO_START(itaten) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - - MCFG_SOUND_ADD("ay1", AY8910, XTAL_19_968MHz/16) /* Matches reference recording */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - - MCFG_SOUND_ADD("ay2", AY8910, XTAL_19_968MHz/16) /* Matches reference recording */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - - MCFG_SOUND_ADD("ay3", AY8910, XTAL_19_968MHz/16) /* Matches reference recording */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - -MACHINE_CONFIG_END - - -/************************************* - * - * ROM definition - * - *************************************/ - -/* --------------------------------- -IT A-1 -CPU :LH0080 Z80,LH0080A Z80A -Sound:AY-3-8910 x3 -OSC :16.000MHz --------------------------------- -1.5K [84c8a010] 2764 -2.5L [19946038] | -3.5M [4f9e26fd] / - -6.6G [dfcb1a3e] 2764 -7.6H [844e78d6] 2732 - -AF-1.3N [5638e485] 82S123 - - --------------------------------- -ITA-EXP --------------------------------- -4.1F [35f85aeb] 2764 -5.1E [6cf30924] / - - --------------------------------- -IT A-2 -OSC :19.968 ? --------------------------------- -8.10A [c32b0859] 2764 -9.11A [919cac5e] | -10.12A [d2b60e5d] | -11.13A [ed3279d5] / - -12.1D [f0f64636] 2764 -13.2D [d32559f5] | -14.3D [8c532c74] | -15.4D [d119b483] / - -16.12J [8af2bfb8] 2764 - -AF-2.1H [e1cac297] 82S123 -AF-3.13D [875429ba] / --------------------------------- -*/ - -ROM_START( itaten ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1.5k", 0x0000, 0x2000, CRC(84c8a010) SHA1(52d78ac70b3d5e905a11efd76acd99810c56e467) ) - ROM_LOAD( "2.5l", 0x2000, 0x2000, CRC(19946038) SHA1(74f76096e676535ead4386755fce853caac7673b) ) - ROM_LOAD( "3.5m", 0x4000, 0x2000, CRC(4f9e26fd) SHA1(33062724c46108611c9db16fdbf2cb9feed7e213) ) - ROM_LOAD( "4.1f", 0x6000, 0x2000, CRC(35f85aeb) SHA1(ecd8f62e304d1277332a5a2b7ec6aace9f77d8ad) ) - ROM_LOAD( "5.1e", 0x8000, 0x2000, CRC(6cf30924) SHA1(5e82e9aa0811ec1b853d300368c5ceec44938363) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "6.6g", 0x0000, 0x2000, CRC(dfcb1a3e) SHA1(cee0906cfbddd0254a947737da1cfbe47c445c32) ) - ROM_LOAD( "7.6h", 0x2000, 0x1000, CRC(844e78d6) SHA1(11b48af650809f8504b56e9a8e53c9f043782c5f) ) - - ROM_REGION( 0x2000, "gfx1", 0 ) - ROM_LOAD( "16.12j", 0x0000, 0x2000, CRC(8af2bfb8) SHA1(6744db0deb4fda7920fcfddf7f9c1ed6681d3622) ) - - ROM_REGION( 0x8000, "gfx2", 0 ) - ROM_LOAD( "11.13a", 0x0000, 0x2000, CRC(ed3279d5) SHA1(e4bcae8038739c588f896ff35fa95288979fa683) ) - ROM_LOAD( "10.12a", 0x2000, 0x2000, CRC(d2b60e5d) SHA1(c833ac6e5d4d0a244ace600f5f02c6f43d3bd34b) ) - ROM_LOAD( "9.11a", 0x4000, 0x2000, CRC(919cac5e) SHA1(9602ad7618b5e4d93fa22676aa855256d4690dd1) ) - ROM_LOAD( "8.10a", 0x6000, 0x2000, CRC(c32b0859) SHA1(1bb00de55742a1f2cbbf3970b43b122114b0911b) ) - - ROM_REGION( 0x8000, "gfx3", 0 ) - ROM_LOAD( "13.2d", 0x0000, 0x2000, CRC(d32559f5) SHA1(a4f05b1c8c48aad367ff675c29a9a1828c71b693) ) - ROM_LOAD( "12.1d", 0x2000, 0x2000, CRC(f0f64636) SHA1(a3354be74460e45453fea62c8dd910f98b5d2fb5) ) - ROM_LOAD( "14.3d", 0x4000, 0x2000, CRC(8c532c74) SHA1(c95786c81f82f7211f4411a9f39fd4ba4def9073) ) - ROM_LOAD( "15.4d", 0x6000, 0x2000, CRC(d119b483) SHA1(c1e403369bfbda0233ec5764fc703522e9f312a7) ) - - ROM_REGION( 0x0060, "proms", 0 ) - ROM_LOAD( "af-3.13d", 0x0000, 0x0020, CRC(875429ba) SHA1(7186e1fb15806d60fd3e704be8db94c7b6c8c058) ) - ROM_LOAD( "af-2.1h", 0x0020, 0x0020, CRC(e1cac297) SHA1(f15326d04d006d9d029a6565aebf9daf3657bc2a) ) - ROM_LOAD( "af-1.3n", 0x0040, 0x0020, CRC(5638e485) SHA1(5d892111936a8eb7646c03a17300069be9a2b442) ) -ROM_END - - -/************************************* - * - * Game driver - * - *************************************/ - -GAME( 1984, itaten, 0, itaten, itaten, 0, ROT0, "Nichibutsu / Alice", "Itazura Tenshi (Japan)", GAME_SUPPORTS_SAVE ) - - diff --git a/src/mame/mame.mak b/src/mame/mame.mak index c8d352a6736..2bc7f2b14d2 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -1046,7 +1046,6 @@ $(MAMEOBJ)/nichibut.a: \ $(DRIVERS)/csplayh5.o \ $(DRIVERS)/cop01.o $(VIDEO)/cop01.o \ $(DRIVERS)/dacholer.o \ - $(DRIVERS)/itaten.o \ $(DRIVERS)/galivan.o $(VIDEO)/galivan.o \ $(DRIVERS)/gomoku.o $(AUDIO)/gomoku.o $(VIDEO)/gomoku.o \ $(DRIVERS)/hyhoo.o $(VIDEO)/hyhoo.o \ |