summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fantland.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fantland.cpp')
-rw-r--r--src/mame/drivers/fantland.cpp250
1 files changed, 96 insertions, 154 deletions
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index 83d74c7d199..26e115e4d05 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -64,7 +64,7 @@ Year + Game Main CPU Sound CPU Sound Video
***************************************************************************/
-WRITE8_MEMBER(fantland_state::fantland_nmi_enable_w)
+WRITE8_MEMBER(fantland_state::nmi_enable_w)
{
m_nmi_enable = data;
@@ -72,72 +72,53 @@ WRITE8_MEMBER(fantland_state::fantland_nmi_enable_w)
logerror("CPU #0 PC = %04X: nmi_enable = %02x\n", m_maincpu->pc(), data);
}
-WRITE16_MEMBER(fantland_state::fantland_nmi_enable_16_w)
-{
- if (ACCESSING_BITS_0_7)
- fantland_nmi_enable_w(space, offset * 2, data);
-}
-
-WRITE8_MEMBER(fantland_state::fantland_soundlatch_w)
+WRITE8_MEMBER(fantland_state::soundlatch_w)
{
m_soundlatch->write(space, 0, data);
m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
-WRITE16_MEMBER(fantland_state::fantland_soundlatch_16_w)
-{
- if (ACCESSING_BITS_0_7)
- fantland_soundlatch_w(space, offset * 2, data);
-}
-
/***************************************************************************
Fantasy Land
***************************************************************************/
-READ16_MEMBER(fantland_state::spriteram_16_r)
+READ8_MEMBER(fantland_state::spriteram_r)
{
- uint8_t *spriteram = m_spriteram;
- return spriteram[2 * offset + 0] | (spriteram[2 * offset + 1] << 8);
+ return m_spriteram[offset];
}
-READ16_MEMBER(fantland_state::spriteram2_16_r)
+READ8_MEMBER(fantland_state::spriteram2_r)
{
- uint8_t *spriteram_2 = m_spriteram2;
- return spriteram_2[2 * offset + 0] | (spriteram_2[2 * offset + 1] << 8);
+ return m_spriteram2[offset];
}
-WRITE16_MEMBER(fantland_state::spriteram_16_w)
+WRITE8_MEMBER(fantland_state::spriteram_w)
{
- uint8_t *spriteram = m_spriteram;
- if (ACCESSING_BITS_0_7)
- spriteram[2 * offset + 0] = data;
- if (ACCESSING_BITS_8_15)
- spriteram[2 * offset + 1] = data >> 8;
+ COMBINE_DATA(&m_spriteram[offset]);
}
-WRITE16_MEMBER(fantland_state::spriteram2_16_w)
+WRITE8_MEMBER(fantland_state::spriteram2_w)
{
- uint8_t *spriteram_2 = m_spriteram2;
- if (ACCESSING_BITS_0_7)
- spriteram_2[2 * offset + 0] = data;
- if (ACCESSING_BITS_8_15)
- spriteram_2[2 * offset + 1] = data >> 8;
+ COMBINE_DATA(&m_spriteram2[offset]);
}
void fantland_state::fantland_map(address_map &map)
{
map(0x00000, 0x07fff).ram();
- map(0x08000, 0x7ffff).rom();
+ map(0x08000, 0x3ffff).rom().region("maincpu", 0x08000);
+ map(0x40000, 0x7ffff).rom().region("maincpu", 0x00000);
map(0xa2000, 0xa21ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
- map(0xa3000, 0xa3001).portr("a3000").w(FUNC(fantland_state::fantland_nmi_enable_16_w));
- map(0xa3002, 0xa3003).portr("a3002").w(FUNC(fantland_state::fantland_soundlatch_16_w));
+ map(0xa3000, 0xa3000).w(FUNC(fantland_state::nmi_enable_w));
+ map(0xa3000, 0xa3001).portr("a3000");
+ map(0xa3002, 0xa3002).w(FUNC(fantland_state::soundlatch_w));
+ map(0xa3002, 0xa3003).portr("a3002");
- map(0xa4000, 0xa67ff).rw(FUNC(fantland_state::spriteram_16_r), FUNC(fantland_state::spriteram_16_w)).share("spriteram");
- map(0xc0000, 0xcffff).rw(FUNC(fantland_state::spriteram2_16_r), FUNC(fantland_state::spriteram2_16_w)).share("spriteram2");
+ map(0xa4000, 0xa67ff).rw(FUNC(fantland_state::spriteram_r), FUNC(fantland_state::spriteram_w)).share("spriteram");
+ map(0xc0000, 0xcffff).rw(FUNC(fantland_state::spriteram2_r), FUNC(fantland_state::spriteram2_w)).share("spriteram2");
- map(0xe0000, 0xfffff).rom();
+ map(0xe0000, 0xfffff).rom().region("maincpu", 0xe0000);
}
@@ -148,20 +129,19 @@ void fantland_state::fantland_map(address_map &map)
void fantland_state::galaxygn_map(address_map &map)
{
map(0x00000, 0x07fff).ram();
- map(0x10000, 0x2ffff).rom();
+ map(0x10000, 0x2ffff).rom().region("maincpu", 0x10000);
map(0x52000, 0x521ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x53000, 0x53000).portr("P1").w(FUNC(fantland_state::fantland_nmi_enable_w));
+ map(0x53000, 0x53000).portr("P1").w(FUNC(fantland_state::nmi_enable_w));
map(0x53001, 0x53001).portr("P2");
- map(0x53002, 0x53002).portr("DSW1").w(FUNC(fantland_state::fantland_soundlatch_w));
+ map(0x53002, 0x53002).portr("DSW1").w(FUNC(fantland_state::soundlatch_w));
map(0x53003, 0x53003).portr("DSW2");
map(0x54000, 0x567ff).ram().share("spriteram");
map(0x60000, 0x6ffff).ram().share("spriteram2");
- map(0x70000, 0x7ffff).rom();
- map(0xf0000, 0xfffff).rom();
+ map(0x70000, 0x7ffff).rom().region("maincpu", 0x70000).mirror(0x80000);
}
@@ -169,20 +149,21 @@ void fantland_state::galaxygn_map(address_map &map)
Born To Fight
***************************************************************************/
-WRITE8_MEMBER(fantland_state::borntofi_nmi_enable_w)
+// data & 0x31 changes when lightgun fires
+#if 0
+WRITE8_MEMBER(borntofi_state::nmi_enable_w)
{
m_nmi_enable = data;
- // data & 0x31 changes when lightgun fires
-
if ((m_nmi_enable != 0) && (m_nmi_enable != 8))
logerror("CPU #0 PC = %04X: nmi_enable = %02x\n", m_maincpu->pc(), data);
// popmessage("%02X", data);
}
+#endif
// Trackball doesn't work correctly
-READ8_MEMBER(fantland_state::borntofi_inputs_r)
+READ8_MEMBER(borntofi_state::inputs_r)
{
int x, y, f;
@@ -238,14 +219,14 @@ READ8_MEMBER(fantland_state::borntofi_inputs_r)
return m_input_ret[offset];
}
-void fantland_state::borntofi_map(address_map &map)
+void borntofi_state::main_map(address_map &map)
{
map(0x00000, 0x07fff).ram();
- map(0x10000, 0x2ffff).rom();
+ map(0x10000, 0x2ffff).rom().region("maincpu", 0x10000);
map(0x52000, 0x521ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x53000, 0x53001).rw(FUNC(fantland_state::borntofi_inputs_r), FUNC(fantland_state::borntofi_nmi_enable_w));
- map(0x53002, 0x53002).portr("DSW").w(FUNC(fantland_state::fantland_soundlatch_w));
+ map(0x53000, 0x53001).rw(FUNC(borntofi_state::inputs_r), FUNC(borntofi_state::nmi_enable_w));
+ map(0x53002, 0x53002).portr("DSW").w(FUNC(borntofi_state::soundlatch_w));
map(0x53003, 0x53003).portr("Controls");
map(0x54000, 0x567ff).ram().share("spriteram");
@@ -257,8 +238,7 @@ void fantland_state::borntofi_map(address_map &map)
map(0x60000, 0x6ffff).ram().share("spriteram2");
- map(0x70000, 0x7ffff).rom();
- map(0xf0000, 0xfffff).rom();
+ map(0x70000, 0x7ffff).rom().region("maincpu", 0x70000).mirror(0x80000);
}
@@ -270,20 +250,19 @@ void fantland_state::wheelrun_map(address_map &map)
{
map(0x00000, 0x07fff).ram();
- map(0x30000, 0x3ffff).rom();
- map(0x70000, 0x7ffff).rom();
+ map(0x30000, 0x3ffff).rom().region("maincpu", 0x30000);
map(0x52000, 0x521ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x53000, 0x53000).portr("53000").w(FUNC(fantland_state::borntofi_nmi_enable_w));
+ map(0x53000, 0x53000).portr("53000").w(FUNC(fantland_state::nmi_enable_w));
map(0x53001, 0x53001).portr("53001");
- map(0x53002, 0x53002).portr("53002").w(FUNC(fantland_state::fantland_soundlatch_w));
+ map(0x53002, 0x53002).portr("53002").w(FUNC(fantland_state::soundlatch_w));
map(0x53003, 0x53003).portr("53003").nopw();
map(0x54000, 0x567ff).ram().share("spriteram");
map(0x60000, 0x6ffff).ram().share("spriteram2");
- map(0xf0000, 0xfffff).rom();
+ map(0x70000, 0x7ffff).rom().region("maincpu", 0x70000).mirror(0x80000);
}
@@ -298,7 +277,7 @@ void fantland_state::fantland_sound_map(address_map &map)
{
map(0x00000, 0x01fff).ram();
map(0x80000, 0x9ffff).rom();
- map(0xc0000, 0xfffff).rom();
+ map(0xc0000, 0xfffff).rom().region("maincpu", 0xc0000);
}
void fantland_state::fantland_sound_iomap(address_map &map)
@@ -319,42 +298,32 @@ void fantland_state::galaxygn_sound_iomap(address_map &map)
Born To Fight
***************************************************************************/
-void fantland_state::borntofi_adpcm_start( msm5205_device *device, int voice )
+void borntofi_state::adpcm_start(int voice)
{
- device->reset_w(0);
+ m_msm[voice]->reset_w(0);
m_adpcm_playing[voice] = 1;
m_adpcm_nibble[voice] = 0;
// logerror("%s: adpcm start = %06x, stop = %06x\n", device->machine().describe_context(), m_adpcm_addr[0][voice], m_adpcm_addr[1][voice]);
}
-void fantland_state::borntofi_adpcm_stop( msm5205_device *device, int voice )
+void borntofi_state::adpcm_stop(int voice)
{
- device->reset_w(1);
+ m_msm[voice]->reset_w(1);
m_adpcm_playing[voice] = 0;
}
-WRITE8_MEMBER(fantland_state::borntofi_msm5205_w)
+WRITE8_MEMBER(borntofi_state::msm5205_w)
{
int voice = offset / 8;
int reg = offset % 8;
- msm5205_device *msm;
-
- switch (voice)
- {
- default:
- case 0: msm = m_msm1; break;
- case 1: msm = m_msm2; break;
- case 2: msm = m_msm3; break;
- case 3: msm = m_msm4; break;
- }
if (reg == 0)
{
// Play / Stop
switch(data)
{
- case 0x00: borntofi_adpcm_stop(msm, voice); break;
- case 0x03: borntofi_adpcm_start(msm, voice); break;
+ case 0x00: adpcm_stop(voice); break;
+ case 0x03: adpcm_start(voice); break;
default: logerror("CPU #0 PC = %04X: adpcm reg %d <- %02x\n", m_audiocpu->pc(), reg, data);
}
}
@@ -368,52 +337,43 @@ WRITE8_MEMBER(fantland_state::borntofi_msm5205_w)
}
}
-void fantland_state::borntofi_adpcm_int( msm5205_device *device, int voice )
+template<int Voice>
+WRITE_LINE_MEMBER(borntofi_state::adpcm_int)
{
- uint8_t *rom;
- size_t len;
- int start, stop;
-
- if (!m_adpcm_playing[voice])
+ if (!m_adpcm_playing[Voice])
return;
- rom = memregion("adpcm")->base();
- len = memregion("adpcm")->bytes() * 2;
+ size_t const len = m_adpcm_rom.bytes() * 2;
- start = m_adpcm_addr[0][voice] + m_adpcm_nibble[voice];
- stop = m_adpcm_addr[1][voice];
+ int const start = m_adpcm_addr[0][Voice] + m_adpcm_nibble[Voice];
+ int const stop = m_adpcm_addr[1][Voice];
if (start >= len)
{
- borntofi_adpcm_stop(device, voice);
+ adpcm_stop(Voice);
logerror("adpcm address out of range: %06x\n", start);
return;
}
if (start >= stop)
{
- borntofi_adpcm_stop(device, voice);
+ adpcm_stop(Voice);
}
else
{
- device->write_data(rom[start / 2] >> ((start & 1) * 4));
- m_adpcm_nibble[voice]++;
+ m_msm[Voice]->write_data(m_adpcm_rom[start / 2] >> ((start & 1) * 4));
+ m_adpcm_nibble[Voice]++;
}
}
-WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_0) { borntofi_adpcm_int(m_msm1, 0); }
-WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_1) { borntofi_adpcm_int(m_msm2, 1); }
-WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_2) { borntofi_adpcm_int(m_msm3, 2); }
-WRITE_LINE_MEMBER(fantland_state::borntofi_adpcm_int_3) { borntofi_adpcm_int(m_msm4, 3); }
-
-void fantland_state::borntofi_sound_map(address_map &map)
+void borntofi_state::sound_map(address_map &map)
{
map(0x00000, 0x003ff).ram();
map(0x04000, 0x04000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
- map(0x04000, 0x0401f).w(FUNC(fantland_state::borntofi_msm5205_w));
- map(0x08000, 0x0ffff).rom();
- map(0xf8000, 0xfffff).rom();
+ map(0x04000, 0x0401f).w(FUNC(borntofi_state::msm5205_w));
+ map(0x08000, 0x0ffff).rom().region("audiocpu", 0x08000);
+ map(0xf8000, 0xfffff).rom().region("audiocpu", 0x08000);
}
@@ -827,17 +787,17 @@ GFXDECODE_END
***************************************************************************/
-MACHINE_START_MEMBER(fantland_state,fantland)
+void fantland_state::machine_start()
{
save_item(NAME(m_nmi_enable));
}
-MACHINE_RESET_MEMBER(fantland_state,fantland)
+void fantland_state::machine_reset()
{
m_nmi_enable = 0;
}
-WRITE_LINE_MEMBER(fantland_state::fantland_irq)
+WRITE_LINE_MEMBER(fantland_state::vblank_irq)
{
if (state && BIT(m_nmi_enable, 3))
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
@@ -860,9 +820,6 @@ MACHINE_CONFIG_START(fantland_state::fantland)
MCFG_DEVICE_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000)
// NMI when soundlatch is written
- MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
- MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
-
MCFG_QUANTUM_TIME(attotime::from_hz(8000)) // sound irq must feed the DAC at 8kHz
/* video hardware */
@@ -871,9 +828,9 @@ MACHINE_CONFIG_START(fantland_state::fantland)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(352,256)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
+ MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, fantland_irq))
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fantland)
MCFG_PALETTE_ADD("palette", 256)
@@ -910,18 +867,15 @@ MACHINE_CONFIG_START(fantland_state::galaxygn)
MCFG_DEVICE_IO_MAP(galaxygn_sound_iomap)
// IRQ by YM2151, NMI when soundlatch is written
- MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
- MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
-
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(352,256)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
+ MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, fantland_irq))
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fantland)
MCFG_PALETTE_ADD("palette", 256)
@@ -939,9 +893,9 @@ MACHINE_CONFIG_START(fantland_state::galaxygn)
MACHINE_CONFIG_END
-MACHINE_START_MEMBER(fantland_state,borntofi)
+void borntofi_state::machine_start()
{
- MACHINE_START_CALL_MEMBER(fantland);
+ fantland_state::machine_start();
save_item(NAME(m_old_x));
save_item(NAME(m_old_y));
@@ -953,11 +907,11 @@ MACHINE_START_MEMBER(fantland_state,borntofi)
save_item(NAME(m_adpcm_nibble));
}
-MACHINE_RESET_MEMBER(fantland_state,borntofi)
+void borntofi_state::machine_reset()
{
int i;
- MACHINE_RESET_CALL_MEMBER(fantland);
+ fantland_state::machine_reset();
for (i = 0; i < 2; i++)
{
@@ -975,23 +929,20 @@ MACHINE_RESET_MEMBER(fantland_state,borntofi)
m_adpcm_nibble[i] = 0;
}
- borntofi_adpcm_stop(m_msm1, 0);
- borntofi_adpcm_stop(m_msm2, 1);
- borntofi_adpcm_stop(m_msm3, 2);
- borntofi_adpcm_stop(m_msm4, 3);
+ adpcm_stop(0);
+ adpcm_stop(1);
+ adpcm_stop(2);
+ adpcm_stop(3);
}
-MACHINE_CONFIG_START(fantland_state::borntofi)
+MACHINE_CONFIG_START(borntofi_state::borntofi)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", V20, 16000000/2) // D701080C-8 - NEC D70108C-8 V20 CPU, running at 8.000MHz [16/2]
- MCFG_DEVICE_PROGRAM_MAP(borntofi_map)
+ MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_ADD("audiocpu", I8088, 18432000/3) // 8088 - AMD P8088-2 CPU, running at 6.144MHz [18.432/3]
- MCFG_DEVICE_PROGRAM_MAP(borntofi_sound_map)
-
- MCFG_MACHINE_START_OVERRIDE(fantland_state,borntofi)
- MCFG_MACHINE_RESET_OVERRIDE(fantland_state,borntofi)
+ MCFG_DEVICE_PROGRAM_MAP(sound_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -999,9 +950,9 @@ MACHINE_CONFIG_START(fantland_state::borntofi)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(352,256)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
+ MCFG_SCREEN_UPDATE_DRIVER(borntofi_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, fantland_irq))
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, borntofi_state, vblank_irq))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fantland)
MCFG_PALETTE_ADD("palette", 256)
@@ -1014,22 +965,22 @@ MACHINE_CONFIG_START(fantland_state::borntofi)
// OKI M5205 running at 384kHz [18.432/48]. Sample rate = 384000 / 48
MCFG_DEVICE_ADD("msm1", MSM5205, 384000)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, fantland_state, borntofi_adpcm_int_0)) /* IRQ handler */
+ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, borntofi_state, adpcm_int<0>)) /* IRQ handler */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz, 4 Bits */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MCFG_DEVICE_ADD("msm2", MSM5205, 384000)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, fantland_state, borntofi_adpcm_int_1)) /* IRQ handler */
+ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, borntofi_state, adpcm_int<1>)) /* IRQ handler */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz, 4 Bits */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MCFG_DEVICE_ADD("msm3", MSM5205, 384000)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, fantland_state, borntofi_adpcm_int_2)) /* IRQ handler */
+ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, borntofi_state, adpcm_int<2>)) /* IRQ handler */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz, 4 Bits */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MCFG_DEVICE_ADD("msm4", MSM5205, 384000)
- MCFG_MSM5205_VCLK_CB(WRITELINE(*this, fantland_state, borntofi_adpcm_int_3)) /* IRQ handler */
+ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, borntofi_state, adpcm_int<3>)) /* IRQ handler */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz, 4 Bits */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
@@ -1045,18 +996,15 @@ MACHINE_CONFIG_START(fantland_state::wheelrun)
MCFG_DEVICE_PROGRAM_MAP(wheelrun_sound_map)
// IRQ by YM3526, NMI when soundlatch is written
- MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
- MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
-
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256,224)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1)
- MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
+ MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, fantland_irq))
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq))
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fantland)
MCFG_PALETTE_ADD("palette", 256)
@@ -1106,14 +1054,13 @@ ROM_START( fantland )
ROM_REGION( 0x100000, "maincpu", 0 ) // Main CPU
ROM_LOAD16_BYTE( "fantasyl.ev2", 0x00000, 0x20000, CRC(f5bdca0e) SHA1(d05cf6f68d4d1a3dcc0171f7cf220c4920bd47bb) )
ROM_LOAD16_BYTE( "fantasyl.od2", 0x00001, 0x20000, CRC(9db35023) SHA1(81e2accd67dcf8563a68b2c4e35526f23a40150c) )
- ROM_COPY( "maincpu", 0x000000, 0x40000, 0x40000 )
ROM_LOAD16_BYTE( "fantasyl.ev1", 0xe0000, 0x10000, CRC(70e0ee30) SHA1(5253213da56b3f97e2811f2b10927d0e542447f0) )
ROM_LOAD16_BYTE( "fantasyl.od1", 0xe0001, 0x10000, CRC(577b4bd7) SHA1(1f08202d99c3e39e0dd1ed4947b928b695a5b411) )
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "fantasyl.s2", 0x80000, 0x20000, CRC(f23837d8) SHA1(4048784f759781e50ae445ea61f1ca908e8e6ac1) ) // samples (8 bit unsigned)
ROM_LOAD( "fantasyl.s1", 0xc0000, 0x20000, CRC(1a324a69) SHA1(06f6877af6cd19bfaac8a4ea8057ef8faee276f5) )
- ROM_COPY( "audiocpu", 0xc0000, 0xe0000, 0x20000 )
+ ROM_COPY( "audiocpu", 0xc0000, 0xe0000, 0x20000 )
ROM_REGION( 0x480000, "gfx1", 0 ) // Sprites
ROMX_LOAD( "fantasyl.m00", 0x000000, 0x80000, CRC(82d819ff) SHA1(2b5b0759de8260eaa84ddded9dc2d12a6e0f5ec9) , ROM_GROUPWORD | ROM_SKIP(1) )
@@ -1135,14 +1082,13 @@ ROM_START( fantlanda )
ROM_REGION( 0x100000, "maincpu", 0 ) // Main CPU
ROM_LOAD16_BYTE( "fantasyl.ev2", 0x00000, 0x20000, CRC(f5bdca0e) SHA1(d05cf6f68d4d1a3dcc0171f7cf220c4920bd47bb) ) // 04.bin (was first half only)
ROM_LOAD16_BYTE( "fantasyl.od2", 0x00001, 0x20000, CRC(9db35023) SHA1(81e2accd67dcf8563a68b2c4e35526f23a40150c) ) // 03.bin (was first half only)
- ROM_COPY( "maincpu", 0x000000, 0x40000, 0x40000 )
ROM_LOAD16_BYTE( "02.bin", 0xe0000, 0x10000, CRC(8b835eed) SHA1(6a6b3fe116145f685b91dcd5301165f17973697c) )
ROM_LOAD16_BYTE( "01.bin", 0xe0001, 0x10000, CRC(4fa3eb8b) SHA1(56da42a4e2972a696ef28811116cbc20bb5ba3e8) )
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "fantasyl.s2", 0x80000, 0x20000, CRC(f23837d8) SHA1(4048784f759781e50ae445ea61f1ca908e8e6ac1) ) // 05.bin (was first half only)
ROM_LOAD( "fantasyl.s1", 0xc0000, 0x20000, CRC(1a324a69) SHA1(06f6877af6cd19bfaac8a4ea8057ef8faee276f5) ) // 06.bin (was first half only)
- ROM_COPY( "audiocpu", 0xc0000, 0xe0000, 0x20000 )
+ ROM_COPY( "audiocpu", 0xc0000, 0xe0000, 0x20000 )
ROM_REGION( 0x480000, "gfx1", 0 ) // Sprites
ROMX_LOAD( "fantasyl.m00", 0x000000, 0x80000, CRC(82d819ff) SHA1(2b5b0759de8260eaa84ddded9dc2d12a6e0f5ec9) , ROM_GROUPWORD | ROM_SKIP(1) )
@@ -1164,11 +1110,10 @@ ROM_END
***************************************************************************/
ROM_START( galaxygn )
- ROM_REGION( 0x100000, "maincpu", 0 ) // Main CPU
+ ROM_REGION( 0x80000, "maincpu", 0 ) // Main CPU
ROM_LOAD( "gg03.bin", 0x10000, 0x10000, CRC(9e469189) SHA1(07e5d36ca9665bdd13e3bb4241d34b9042371b79) )
ROM_LOAD( "gg02.bin", 0x20000, 0x10000, CRC(b87a438f) SHA1(96c39cc4d51a2fc0779f148971220117967173c0) )
- ROM_LOAD( "gg01.bin", 0xf0000, 0x10000, CRC(ad0e5b29) SHA1(f9a7ebce9f47a009af213e4e10811bb1c26f891a) )
- ROM_COPY( "maincpu",0xf0000, 0x70000, 0x10000 )
+ ROM_LOAD( "gg01.bin", 0x70000, 0x10000, CRC(ad0e5b29) SHA1(f9a7ebce9f47a009af213e4e10811bb1c26f891a) )
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "gg20.bin", 0xc0000, 0x10000, CRC(f5c65a85) SHA1(a094fa9531ea4e68ec0a448568e7d4b2307c8185) )
@@ -1285,15 +1230,13 @@ Notes:
*/
ROM_START( borntofi )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* V20 */
+ ROM_REGION( 0x80000, "maincpu", 0 ) /* V20 */
ROM_LOAD( "3.bin", 0x10000, 0x10000, CRC(5f07f4a2) SHA1(240864d1d5d9e26d229bc21aa39ee03f4bd25814) )
ROM_LOAD( "2.bin", 0x20000, 0x10000, CRC(5d2b3395) SHA1(ac87f352f380b67802c26232824663063549ac7b) )
- ROM_LOAD( "1.bin", 0xf0000, 0x10000, CRC(0a5e2f32) SHA1(5167a85329e5ea35c686af85e44d62227cf5800e) )
- ROM_COPY( "maincpu", 0xf0000, 0x70000, 0x10000 )
+ ROM_LOAD( "1.bin", 0x70000, 0x10000, CRC(0a5e2f32) SHA1(5167a85329e5ea35c686af85e44d62227cf5800e) )
- ROM_REGION( 0x100000, "audiocpu", 0 ) /* 8088 */
- ROM_LOAD( "5.bin", 0xf8000, 0x08000, CRC(b5d587ce) SHA1(07687abd264ec80a6eb473cb3f3ab97ec6b365a2) )
- ROM_COPY( "audiocpu", 0xf8000, 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "audiocpu", 0 ) /* 8088 */
+ ROM_LOAD( "5.bin", 0x08000, 0x08000, CRC(b5d587ce) SHA1(07687abd264ec80a6eb473cb3f3ab97ec6b365a2) )
ROM_REGION( 0xc0000, "adpcm", 0 ) /* m5205 samples */
ROM_LOAD( "6.bin", 0x00000, 0x10000, CRC(731c523b) SHA1(b649a838ce70d5af607f8b9faf8b012e2ff1104b) )
@@ -1381,12 +1324,11 @@ Hardware info by f205v
***************************************************************************/
ROM_START( wheelrun )
- ROM_REGION( 0x100000, "maincpu", 0 ) // V20
+ ROM_REGION( 0x80000, "maincpu", 0 ) // V20
ROM_LOAD( "4.4", 0x30000, 0x10000, CRC(359303df) SHA1(583b70f65b775e99856ffda61334be3b85046ed1) )
ROM_LOAD( "3.3", 0x70000, 0x10000, CRC(c28d0b31) SHA1(add8c4ffe529755c101b72a3b0530e796948876b) )
- ROM_COPY( "maincpu", 0x70000, 0xf0000, 0x10000 )
- ROM_REGION( 0x100000, "audiocpu", 0 ) // Z80
+ ROM_REGION( 0x10000, "audiocpu", 0 ) // Z80
ROM_LOAD( "1.1", 0x00000, 0x10000, CRC(67b5f31f) SHA1(5553b132077686221fb7a21a0246fd55cb443332) ) // 1xxxxxxxxxxxxxxx = 0xFF
ROM_REGION( 0xc0000, "gfx1",0 ) // gfx
@@ -1425,7 +1367,7 @@ ROM_START( wheelrun )
ROM_END
-GAME( 19??, borntofi, 0, borntofi, borntofi, fantland_state, empty_init, ROT0, "International Games", "Born To Fight", MACHINE_SUPPORTS_SAVE )
+GAME( 19??, borntofi, 0, borntofi, borntofi, borntofi_state, empty_init, ROT0, "International Games", "Born To Fight", MACHINE_SUPPORTS_SAVE )
GAME( 19??, fantland, 0, fantland, fantland, fantland_state, empty_init, ROT0, "Electronic Devices Italy", "Fantasy Land (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 19??, fantlanda, fantland, fantland, fantland, fantland_state, empty_init, ROT0, "Electronic Devices Italy", "Fantasy Land (set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 19??, wheelrun, 0, wheelrun, wheelrun, fantland_state, empty_init, ROT0, "International Games", "Wheels Runner", MACHINE_SUPPORTS_SAVE )