New machines marked as NOT_WORKING

----------------------------------
Inter Stellar Zangus (Laser Fantasy vol. 2) [Hiroharu Shiba, Matt Ownby]
This commit is contained in:
Ivan Vangelista 2022-06-28 19:08:39 +02:00
parent 08352d933d
commit 53e4b1e802
2 changed files with 150 additions and 79 deletions

View File

@ -17549,6 +17549,7 @@ isld_vortex //
@source:misc/istellar.cpp
istellar // (c) 1983 Funai / Gakken
istellar2 // (c) 1984 Funai / Gakken
@source:terminal/istrebiteli.cpp
istreb //

View File

@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Andrew Gardner
/*
Funai / Gakken Interstellar Laser Fantasy laserdisc hardware
Funai / Gakken Inter Stellar Laser Fantasy laserdisc hardware
Driver by Andrew Gardner with help from Daphne Source
Notes:
@ -19,47 +19,67 @@ Todo:
Add sprite drawing.
Convert to tilemaps.
Make it work - this one should be close right now :/.
istellar2 fails test for all the main CPU ROMs. Maybe because it's a prototype?
*/
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/gen_latch.h"
#include "machine/ldv1000.h"
#include "emupal.h"
#include "speaker.h"
// configurable logging
#define LOG_CPU2 (1U << 1)
//#define VERBOSE (LOG_GENERAL | LOG_CPU2)
#include "logmacro.h"
#define LOGCPU2(...) LOGMASKED(LOG_CPU2, __VA_ARGS__)
namespace {
class istellar_state : public driver_device
{
public:
istellar_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_laserdisc(*this, "laserdisc") ,
m_tile_ram(*this, "tile_ram"),
m_tile_control_ram(*this, "tile_ctrl_ram"),
m_sprite_ram(*this, "sprite_ram"),
m_maincpu(*this, "maincpu"),
m_subcpu(*this, "sub"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { }
m_palette(*this, "palette"),
m_laserdisc(*this, "laserdisc") ,
m_tile_ram(*this, "tile_ram"),
m_tile_control_ram(*this, "tile_ctrl_ram"),
m_sprite_ram(*this, "sprite_ram") { }
void init_istellar();
void istellar(machine_config &config);
private:
required_device<pioneer_ldv1000_device> m_laserdisc;
required_shared_ptr<uint8_t> m_tile_ram;
required_shared_ptr<uint8_t> m_tile_control_ram;
required_shared_ptr<uint8_t> m_sprite_ram;
uint8_t z80_2_ldp_read();
uint8_t z80_2_unknown_read();
void z80_2_ldp_write(uint8_t data);
protected:
virtual void machine_start() override;
uint32_t screen_update_istellar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_subcpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_device<pioneer_ldv1000_device> m_laserdisc;
required_shared_ptr<uint8_t> m_tile_ram;
required_shared_ptr<uint8_t> m_tile_control_ram;
required_shared_ptr<uint8_t> m_sprite_ram;
uint8_t z80_2_ldp_read();
uint8_t z80_2_unknown_read();
void z80_2_ldp_write(uint8_t data);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
void z80_0_io(address_map &map);
void z80_0_mem(address_map &map);
void z80_1_io(address_map &map);
@ -69,17 +89,13 @@ private:
};
/* There is only 1 crystal on the stack of 3 boards - speed is unknown, the following is Daphne's guess */
#define GUESSED_CLOCK (3072000)
/* VIDEO GOODS */
uint32_t istellar_state::screen_update_istellar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
// VIDEO GOODS
uint32_t istellar_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
/* clear */
// clear
bitmap.fill(0, cliprect);
/* Draw tiles */
// Draw tiles
for (int y = 0; y < 32; y++)
{
for (int x = 0; x < 32; x++)
@ -91,7 +107,7 @@ uint32_t istellar_state::screen_update_istellar(screen_device &screen, bitmap_rg
}
}
/* Draw sprites */
// TODO: Draw sprites
return 0;
}
@ -103,42 +119,42 @@ void istellar_state::machine_start()
/* MEMORY HANDLERS */
// MEMORY HANDLERS
/* Z80 1 R/W */
// Z80 1 R/W
/* Z80 2 R/W */
// Z80 2 R/W
uint8_t istellar_state::z80_2_ldp_read()
{
uint8_t readResult = m_laserdisc->status_r();
logerror("CPU2 : reading LDP : %x\n", readResult);
LOGCPU2("CPU2 : reading LDP : %x\n", readResult);
return readResult;
}
uint8_t istellar_state::z80_2_unknown_read()
{
logerror("CPU2 : c000!\n");
LOGCPU2("CPU2 : c000!\n");
return 0x00;
}
void istellar_state::z80_2_ldp_write(uint8_t data)
{
logerror("CPU2 : writing LDP : 0x%x\n", data);
LOGCPU2("CPU2 : writing LDP : 0x%x\n", data);
m_laserdisc->data_w(data);
}
/* PROGRAM MAPS */
// PROGRAM MAPS
void istellar_state::z80_0_mem(address_map &map)
{
map(0x0000, 0x9fff).rom();
map(0xa000, 0xa7ff).ram();
map(0xa800, 0xabff).ram().share("tile_ram");
map(0xac00, 0xafff).ram().share("tile_ctrl_ram");
map(0xb000, 0xb3ff).ram().share("sprite_ram");
map(0xa800, 0xabff).ram().share(m_tile_ram);
map(0xac00, 0xafff).ram().share(m_tile_control_ram);
map(0xb000, 0xb3ff).ram().share(m_sprite_ram);
}
void istellar_state::z80_1_mem(address_map &map)
@ -151,27 +167,27 @@ void istellar_state::z80_2_mem(address_map &map)
{
map(0x0000, 0x17ff).rom();
map(0x1800, 0x1fff).ram();
map(0xc000, 0xc000).r(FUNC(istellar_state::z80_2_unknown_read)); /* Seems to be thrown away every time it's read - maybe interrupt related? */
map(0xc000, 0xc000).r(FUNC(istellar_state::z80_2_unknown_read)); // Seems to be thrown away every time it's read - maybe interrupt related?
}
/* IO MAPS */
// IO MAPS
void istellar_state::z80_0_io(address_map &map)
{
map.global_mask(0xff);
map(0x00, 0x00).portr("IN0");
map(0x02, 0x02).portr("DSW1");
map(0x03, 0x03).portr("DSW2");
/* map(0x04, 0x04).w(FUNC(istellar_state::volatile_palette_write));*/
// map(0x04, 0x04).w(FUNC(istellar_state::volatile_palette_write));
map(0x05, 0x05).r("latch1", FUNC(generic_latch_8_device::read)).w("latch2", FUNC(generic_latch_8_device::write));
}
void istellar_state::z80_1_io(address_map &map)
{
map.global_mask(0xff);
map(0x00, 0x00).noprw(); /*.rw(FUNC(istellar_state::z80_1_slatch_read), FUNC(istellar_state::z80_1_slatch_write));*/
map(0x01, 0x01).noprw(); /*.rw(FUNC(istellar_state::z80_1_nmienable), FUNC(istellar_state::z80_1_soundwrite_front));*/
map(0x02, 0x02).noprw(); /*.w(FUNC(istellar_state::z80_1_soundwrite_rear));*/
map(0x00, 0x00).noprw(); //.rw(FUNC(istellar_state::z80_1_slatch_read), FUNC(istellar_state::z80_1_slatch_write));
map(0x01, 0x01).noprw(); //.rw(FUNC(istellar_state::z80_1_nmienable), FUNC(istellar_state::z80_1_soundwrite_front));
map(0x02, 0x02).noprw(); //.w(FUNC(istellar_state::z80_1_soundwrite_rear));
}
void istellar_state::z80_2_io(address_map &map)
@ -180,13 +196,13 @@ void istellar_state::z80_2_io(address_map &map)
map(0x00, 0x00).rw(FUNC(istellar_state::z80_2_ldp_read), FUNC(istellar_state::z80_2_ldp_write));
map(0x01, 0x01).r("latch2", FUNC(generic_latch_8_device::read)).w("latch1", FUNC(generic_latch_8_device::write));
map(0x02, 0x02).r("latch2", FUNC(generic_latch_8_device::acknowledge_r));
/* map(0x03, 0x03).w(FUNC(istellar_state::z80_2_ldtrans_write));*/
// map(0x03, 0x03).w(FUNC(istellar_state::z80_2_ldtrans_write));
}
/* PORTS */
// PORTS
static INPUT_PORTS_START( istellar )
/* TEST MODE might display a 0 for a short and a 1 for an open circuit? If so, everything below is inverted. */
// TEST MODE might display a 0 for a short and a 1 for an open circuit? If so, everything below is inverted.
PORT_START("DSW1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:!1")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
@ -213,7 +229,7 @@ static INPUT_PORTS_START( istellar )
/* NOTE - bit 0x80 in the above read is combined with bits 0x03 in the below read to form the Coin_B
settings. I'm unaware of what mechanism MAME will use to make this work right? */
/* "In case of inter-stellar upright type the coin switch 2 is not used." Quoth the manual. */
// "In case of inter-stellar upright type the coin switch 2 is not used." Quoth the manual.
PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!3")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -221,7 +237,7 @@ static INPUT_PORTS_START( istellar )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!4")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!5") /* Maybe SERVICE? */
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:!5") // Maybe SERVICE?
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_HIGH )
@ -237,7 +253,7 @@ static INPUT_PORTS_START( istellar )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
/* SERVICE might be hanging out back here */
// SERVICE might be hanging out back here
INPUT_PORTS_END
static const gfx_layout istellar_gfx_layout =
@ -252,36 +268,37 @@ static const gfx_layout istellar_gfx_layout =
};
static GFXDECODE_START( gfx_istellar )
GFXDECODE_ENTRY( "gfx1", 0, istellar_gfx_layout, 0x0, 0x20 )
GFXDECODE_ENTRY( "tiles", 0, istellar_gfx_layout, 0x0, 0x20 )
GFXDECODE_END
WRITE_LINE_MEMBER(istellar_state::vblank_irq)
{
if (state)
{
/* Interrupt presumably comes from VBlank */
// Interrupt presumably comes from VBlank
m_maincpu->set_input_line(0, HOLD_LINE);
/* Interrupt presumably comes from the LDP's status strobe */
// Interrupt presumably comes from the LDP's status strobe
m_subcpu->set_input_line(0, ASSERT_LINE);
}
}
/* DRIVER */
// DRIVER
void istellar_state::istellar(machine_config &config)
{
/* main cpu */
// There is only 1 crystal on the stack of 3 boards - speed is unknown, the following is Daphne's guess
constexpr int GUESSED_CLOCK = 3'072'000;
Z80(config, m_maincpu, GUESSED_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &istellar_state::z80_0_mem);
m_maincpu->set_addrmap(AS_IO, &istellar_state::z80_0_io);
/* sound cpu */
z80_device &audiocpu(Z80(config, "audiocpu", GUESSED_CLOCK));
audiocpu.set_addrmap(AS_PROGRAM, &istellar_state::z80_1_mem);
audiocpu.set_addrmap(AS_IO, &istellar_state::z80_1_io);
/* ldp comm cpu */
// ldp comm cpu
Z80(config, m_subcpu, GUESSED_CLOCK);
m_subcpu->set_addrmap(AS_PROGRAM, &istellar_state::z80_2_mem);
m_subcpu->set_addrmap(AS_IO, &istellar_state::z80_2_io);
@ -293,11 +310,11 @@ void istellar_state::istellar(machine_config &config)
latch2.set_separate_acknowledge(true);
PIONEER_LDV1000(config, m_laserdisc, 0);
m_laserdisc->set_overlay(256, 256, FUNC(istellar_state::screen_update_istellar));
m_laserdisc->set_overlay(256, 256, FUNC(istellar_state::screen_update));
m_laserdisc->add_route(0, "lspeaker", 1.0);
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */
// video hardware
m_laserdisc->add_ntsc_screen(config, "screen");
subdevice<screen_device>("screen")->screen_vblank().set(FUNC(istellar_state::vblank_irq));
@ -306,47 +323,96 @@ void istellar_state::istellar(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_istellar);
/* sound hardware */
// sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
}
/* There is a photo of the PCB with blurry IC locations and labels. Comments reflect what I can (barely) see. */
// There is a photo of the PCB with blurry IC locations and labels. Comments reflect what I can (barely) see.
ROM_START( istellar )
/* Main program CPU */
ROM_REGION( 0xa000, "maincpu", 0 )
ROM_LOAD( "rom2.top", 0x0000, 0x2000, CRC(5d643381) SHA1(75ca52c28a52f534eda00c18b0db97e9923ff670) ) /* At IC location C63 (top board) - label ? */
ROM_LOAD( "rom3.top", 0x2000, 0x2000, CRC(ce5a2b09) SHA1(2de6a6e993c3411577ac0c834db8aaf16fb007ed) ) /* At IC location C64 (top board) - label ? */
ROM_LOAD( "rom4.top", 0x4000, 0x2000, CRC(7c2cb1f1) SHA1(ffd92510c03c2d35a59d233883c2b9f57394a51c) ) /* At IC location C65 (top board) - label ? */
ROM_LOAD( "rom5.top", 0x6000, 0x2000, CRC(354377f6) SHA1(bcf95b7ee1b47854e10baf24b0d8af3d56738b99) ) /* At IC location C66 (top board) - label ? */
ROM_LOAD( "rom6.top", 0x8000, 0x2000, CRC(0319bf40) SHA1(f324626e457c3eb7d6b74bc6afbfcc3aab2b3c72) ) /* At IC location C67 (top board) - label ? */
ROM_LOAD( "rom2.top", 0x0000, 0x2000, CRC(5d643381) SHA1(75ca52c28a52f534eda00c18b0db97e9923ff670) ) // At IC location C63 (top board) - label ?
ROM_LOAD( "rom3.top", 0x2000, 0x2000, CRC(ce5a2b09) SHA1(2de6a6e993c3411577ac0c834db8aaf16fb007ed) ) // At IC location C64 (top board) - label ?
ROM_LOAD( "rom4.top", 0x4000, 0x2000, CRC(7c2cb1f1) SHA1(ffd92510c03c2d35a59d233883c2b9f57394a51c) ) // At IC location C65 (top board) - label ?
ROM_LOAD( "rom5.top", 0x6000, 0x2000, CRC(354377f6) SHA1(bcf95b7ee1b47854e10baf24b0d8af3d56738b99) ) // At IC location C66 (top board) - label ?
ROM_LOAD( "rom6.top", 0x8000, 0x2000, CRC(0319bf40) SHA1(f324626e457c3eb7d6b74bc6afbfcc3aab2b3c72) ) // At IC location C67 (top board) - label ?
/* Sound CPU */
ROM_REGION( 0x2000, "audiocpu", 0 )
ROM_LOAD( "rom1.top", 0x0000, 0x2000, CRC(4f34fb1d) SHA1(56ca19344c84c5989d0be797e2759f84760310be) ) /* At IC location C62 (top board) - label ? */
ROM_LOAD( "rom1.top", 0x0000, 0x2000, CRC(4f34fb1d) SHA1(56ca19344c84c5989d0be797e2759f84760310be) ) // At IC location C62 (top board) - label ?
/* LDP Communications CPU */
// LDP Communications CPU
ROM_REGION( 0x2000, "sub", 0 )
ROM_LOAD( "rom11.bot", 0x0000, 0x2000, CRC(165cbc57) SHA1(39463888f22ec3125f0686066d923a9aae79a8f7) ) /* At IC location C12 (bottom board) - label IS11 */
ROM_LOAD( "rom11.bot", 0x0000, 0x2000, CRC(165cbc57) SHA1(39463888f22ec3125f0686066d923a9aae79a8f7) ) // At IC location C12 (bottom board) - label IS11
/* Tiles */
ROM_REGION( 0x6000, "gfx1", 0 )
ROM_LOAD( "rom9.bot", 0x0000, 0x2000, CRC(9d79acb6) SHA1(72af972695face0016afce8a26c629d963e86d48) ) /* At IC location C47? (bottom board) - label ? */
ROM_LOAD( "rom8.bot", 0x2000, 0x2000, CRC(e9c9e490) SHA1(79aa35552b984018bc723adece5c40a0833a313c) ) /* At IC location C48? (bottom board) - label ? */
ROM_LOAD( "rom7.bot", 0x4000, 0x2000, CRC(1447ce3a) SHA1(8545cec108df6adab303802b1407c89b2dceba21) ) /* At IC location C49? (bottom board) - label ? */
ROM_REGION( 0x6000, "tiles", 0 )
ROM_LOAD( "rom9.bot", 0x0000, 0x2000, CRC(9d79acb6) SHA1(72af972695face0016afce8a26c629d963e86d48) ) // At IC location C47? (bottom board) - label ?
ROM_LOAD( "rom8.bot", 0x2000, 0x2000, CRC(e9c9e490) SHA1(79aa35552b984018bc723adece5c40a0833a313c) ) // At IC location C48? (bottom board) - label ?
ROM_LOAD( "rom7.bot", 0x4000, 0x2000, CRC(1447ce3a) SHA1(8545cec108df6adab303802b1407c89b2dceba21) ) // At IC location C49? (bottom board) - label ?
/* Color PROMs */
// Color PROMs
ROM_REGION( 0x300, "proms", 0 )
ROM_LOAD( "red6b.bot", 0x000, 0x100, CRC(5c52f844) SHA1(a8a3d91f3247ad13c805d8d8288b07f3cdaf1189) ) /* At IC location C63? (bottom board) - label ? */
ROM_LOAD( "green6c.bot", 0x100, 0x100, CRC(7d8c845c) SHA1(04ae2ca0cc6679e21346ce34e9e01aa5bf4e2067) ) /* At IC location C62? (bottom board) - label ? */
ROM_LOAD( "blue6d.bot", 0x200, 0x100, CRC(5ebb81f9) SHA1(285d60f2894c524ca80fc68ad7c2dfd9093a67ea) ) /* At IC location C61? (bottom board) - label ? */
ROM_LOAD( "red6b.bot", 0x000, 0x100, CRC(5c52f844) SHA1(a8a3d91f3247ad13c805d8d8288b07f3cdaf1189) ) // At IC location C63? (bottom board) - label ?
ROM_LOAD( "green6c.bot", 0x100, 0x100, CRC(7d8c845c) SHA1(04ae2ca0cc6679e21346ce34e9e01aa5bf4e2067) ) // At IC location C62? (bottom board) - label ?
ROM_LOAD( "blue6d.bot", 0x200, 0x100, CRC(5ebb81f9) SHA1(285d60f2894c524ca80fc68ad7c2dfd9093a67ea) ) // At IC location C61? (bottom board) - label ?
DISK_REGION( "laserdisc" )
DISK_IMAGE_READONLY( "istellar", 0, NO_DUMP )
ROM_END
/*
Interstellar 2 - Zangus
ROM dump taken from untested prototype board.
Accuracy of these ROMs is unknown.
3 boards, Approx 11 x 12.5 Inches
All EPROMs are 2764
Color PROMs are all MB7052
Top board has 2 RCA phono jacks. The board is marked 1613208.
Board set is exactly the same (visually) as Interstellar LF, except
for 3 new ROM sockets for ROMs 11, 12, & 13.
*/
ROM_START( istellar2 )
ROM_REGION( 0xa000, "maincpu", 0 ) // on top board
ROM_LOAD( "rom2.g1", 0x0000, 0x2000, CRC(4dbe81aa) SHA1(cea50ed4d3bff51158d8cbefccb5be3e47103fd0) )
ROM_LOAD( "rom3.f1", 0x2000, 0x2000, CRC(9ce08198) SHA1(2f815e1fbace0a864dfcd839e96346dd25d55bc9) )
ROM_LOAD( "rom4.e1", 0x4000, 0x2000, CRC(a294bf7f) SHA1(cf34f7d1b4c2b9a272f777f89d78773903a3701e) ) // 1xxxxxxxxxxxx = 0xFF. Strange, but 2 different dumpers got the same result
ROM_LOAD( "rom5.d1", 0x6000, 0x2000, CRC(0803a4ba) SHA1(e3e45d28fc95ec91133379f0c3e4937115d711be) )
ROM_LOAD( "rom6.b1", 0x8000, 0x2000, CRC(16abbf32) SHA1(11662fa32d3aed274a2b87beabf4d5f5d7f24dd6) )
ROM_REGION( 0x2000, "audiocpu", 0 ) // on top board
ROM_LOAD( "rom1.j1", 0x0000, 0x2000, CRC(0c25a2ba) SHA1(b4546c35ce6e04750bc055835188c9c32b1e02f3) )
// LDP Communications CPU
ROM_REGION( 0x2000, "sub", 0 ) // on bottom board
ROM_LOAD( "rom10.f1", 0x0000, 0x2000, CRC(ff97c588) SHA1(016769b6f38f40438800bd02c45f1bb5ba385c16) )
ROM_REGION( 0x6000, "tiles", 0 ) // on bottom board
ROM_LOAD( "rom9.g5", 0x0000, 0x2000, CRC(9d91f15e) SHA1(4d9b98e4c764367562c64aee356e826537a2666e) )
ROM_LOAD( "rom8.h5", 0x2000, 0x2000, CRC(addec265) SHA1(041f20ffaedc337cdf4677e00c557d2d77a33147) )
ROM_LOAD( "rom7.j5", 0x4000, 0x2000, CRC(bef6e10f) SHA1(18d15e858afffd8b5c4747e2b6357f18b845a69b) )
ROM_REGION( 0x6000, "unsorted_roms", 0 ) // given they're on the bottom board, probably GFX related too
ROM_LOAD( "rom11.o1", 0x0000, 0x2000, CRC(2396bc70) SHA1(7827f11b6a1d9a70e26e72d28b6eb513d3acacbc) )
ROM_LOAD( "rom12.o2", 0x2000, 0x2000, CRC(9f2b0fc0) SHA1(d75cc1c2b0cd6083e4a7b949e27277a13b92405f) )
ROM_LOAD( "rom13.m1", 0x4000, 0x2000, CRC(2db6188b) SHA1(72a2e421859bd039649c0af097836ef4468fa635) )
// Color PROMs
ROM_REGION( 0x300, "proms", 0 ) // on bottom board
ROM_LOAD( "red.b6", 0x000, 0x100, CRC(560fbcc1) SHA1(9165167478372c796ba33a4d6ed525d941117ad3) )
ROM_LOAD( "green.c6", 0x100, 0x100, CRC(9c1326c9) SHA1(4d707335bb3be28c9cc14f36b63516e2145c73bf) )
ROM_LOAD( "blue.d6", 0x200, 0x100, CRC(fd8b98d8) SHA1(a64fd145262a9f1d10945551358c79a5d2733e05) )
DISK_REGION( "laserdisc" )
DISK_IMAGE_READONLY( "istellar2", 0, NO_DUMP )
ROM_END
void istellar_state::init_istellar()
{
//m_z80_2_nmi_enable = 0;
@ -368,5 +434,9 @@ void istellar_state::init_istellar()
#endif
}
} // anonymous namespace
// YEAR NAME PARENT MACHINE INPUT STATE INIT MONITOR COMPANY FULLNAME FLAGS)
GAME( 1983, istellar, 0, istellar, istellar, istellar_state, init_istellar, ROT0, "Funai/Gakken", "Interstellar Laser Fantasy", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
GAME( 1983, istellar, 0, istellar, istellar, istellar_state, init_istellar, ROT0, "Funai/Gakken", "Inter Stellar (Laser Fantasy)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
GAME( 1984, istellar2, 0, istellar, istellar, istellar_state, init_istellar, ROT0, "Funai/Gakken", "Inter Stellar Zangus (Laser Fantasy vol. 2)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)