mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
snova/svip: rename driver to primo/vip
This commit is contained in:
parent
de4d2a5902
commit
15a453a55a
@ -34865,6 +34865,11 @@ nmicro
|
||||
@source:novag/micro2.cpp
|
||||
nmicro2
|
||||
|
||||
@source:novag/primo.cpp
|
||||
nprimo
|
||||
nsnova
|
||||
supremo
|
||||
|
||||
@source:novag/robotadv.cpp
|
||||
robotadv
|
||||
|
||||
@ -34887,12 +34892,7 @@ sforteb //
|
||||
sfortec //
|
||||
sfortec1 //
|
||||
|
||||
@source:novag/snova.cpp
|
||||
nprimo
|
||||
nsnova
|
||||
supremo
|
||||
|
||||
@source:novag/svip.cpp
|
||||
@source:novag/vip.cpp
|
||||
nsvip
|
||||
nsvipa
|
||||
nsvipb
|
||||
|
@ -87,10 +87,10 @@ the Super VIP combined with the Novag Super System Touch Sensory board.
|
||||
|
||||
namespace {
|
||||
|
||||
class snova_state : public driver_device
|
||||
class primo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
snova_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
primo_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_board(*this, "board"),
|
||||
@ -145,7 +145,7 @@ private:
|
||||
void p6_w(u8 data);
|
||||
};
|
||||
|
||||
void snova_state::machine_start()
|
||||
void primo_state::machine_start()
|
||||
{
|
||||
m_out_lcd.resolve();
|
||||
|
||||
@ -165,7 +165,7 @@ void snova_state::machine_start()
|
||||
|
||||
// power
|
||||
|
||||
void snova_state::standby(int state)
|
||||
void primo_state::standby(int state)
|
||||
{
|
||||
// clear display
|
||||
if (state)
|
||||
@ -175,7 +175,7 @@ void snova_state::standby(int state)
|
||||
}
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(snova_state::snova_power_off)
|
||||
INPUT_CHANGED_MEMBER(primo_state::snova_power_off)
|
||||
{
|
||||
// NMI at power-off, which will trigger standby mode
|
||||
if (newval && !m_maincpu->standby())
|
||||
@ -185,12 +185,12 @@ INPUT_CHANGED_MEMBER(snova_state::snova_power_off)
|
||||
|
||||
// misc
|
||||
|
||||
void snova_state::lcd_pwm_w(offs_t offset, u8 data)
|
||||
void primo_state::lcd_pwm_w(offs_t offset, u8 data)
|
||||
{
|
||||
m_out_lcd[offset & 0x3f][offset >> 6] = data;
|
||||
}
|
||||
|
||||
void snova_state::update_leds()
|
||||
void primo_state::update_leds()
|
||||
{
|
||||
m_led_pwm->matrix(m_select >> 4 & 3, m_led_data);
|
||||
}
|
||||
@ -198,7 +198,7 @@ void snova_state::update_leds()
|
||||
|
||||
// MCU ports
|
||||
|
||||
u8 snova_state::p2_r()
|
||||
u8 primo_state::p2_r()
|
||||
{
|
||||
// P20: 4051 Z
|
||||
u8 data = 0;
|
||||
@ -224,7 +224,7 @@ u8 snova_state::p2_r()
|
||||
return data ^ 1;
|
||||
}
|
||||
|
||||
void snova_state::p2_w(u8 data)
|
||||
void primo_state::p2_w(u8 data)
|
||||
{
|
||||
// P21: 4066 in/out to LCD
|
||||
if (m_lcd_strobe && ~data & 2)
|
||||
@ -246,7 +246,7 @@ void snova_state::p2_w(u8 data)
|
||||
m_inp_mux = data >> 5 & 7;
|
||||
}
|
||||
|
||||
void snova_state::p5_w(u8 data)
|
||||
void primo_state::p5_w(u8 data)
|
||||
{
|
||||
// P50-P53: 4066 control to LCD
|
||||
// P54,P55: led select
|
||||
@ -255,7 +255,7 @@ void snova_state::p5_w(u8 data)
|
||||
update_leds();
|
||||
}
|
||||
|
||||
void snova_state::p6_w(u8 data)
|
||||
void primo_state::p6_w(u8 data)
|
||||
{
|
||||
// P60-P67: led data, lcd data, chessboard mux
|
||||
m_led_data = ~data;
|
||||
@ -268,18 +268,18 @@ void snova_state::p6_w(u8 data)
|
||||
Address Maps
|
||||
*******************************************************************************/
|
||||
|
||||
void snova_state::primo_map(address_map &map)
|
||||
void primo_state::primo_map(address_map &map)
|
||||
{
|
||||
map(0x4000, 0x47ff).ram().share("nvram");
|
||||
}
|
||||
|
||||
void snova_state::supremo_map(address_map &map)
|
||||
void primo_state::supremo_map(address_map &map)
|
||||
{
|
||||
primo_map(map);
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
void snova_state::snova_map(address_map &map)
|
||||
void primo_state::snova_map(address_map &map)
|
||||
{
|
||||
map(0x4000, 0x5fff).ram().share("nvram");
|
||||
map(0x8000, 0xffff).rom();
|
||||
@ -313,7 +313,7 @@ static INPUT_PORTS_START( primo )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
|
||||
|
||||
PORT_START("POWER") // needs to be triggered for nvram to work
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, snova_state, primo_power_off, 0) PORT_NAME("Power Off")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, primo_state, primo_power_off, 0) PORT_NAME("Power Off")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( supremo )
|
||||
@ -349,7 +349,7 @@ static INPUT_PORTS_START( snova )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
|
||||
|
||||
PORT_START("POWER")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, snova_state, snova_power_off, 0) PORT_NAME("Power Off")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, primo_state, snova_power_off, 0) PORT_NAME("Power Off")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -358,18 +358,18 @@ INPUT_PORTS_END
|
||||
Machine Configs
|
||||
*******************************************************************************/
|
||||
|
||||
void snova_state::primo(machine_config &config)
|
||||
void primo_state::primo(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
HD6301Y0(config, m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &snova_state::primo_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo_map);
|
||||
m_maincpu->nvram_enable_backup(true);
|
||||
m_maincpu->standby_cb().set(m_maincpu, FUNC(hd6301y0_cpu_device::nvram_set_battery));
|
||||
m_maincpu->standby_cb().append(FUNC(snova_state::standby));
|
||||
m_maincpu->in_p2_cb().set(FUNC(snova_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(snova_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(snova_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(snova_state::p6_w));
|
||||
m_maincpu->standby_cb().append(FUNC(primo_state::standby));
|
||||
m_maincpu->in_p2_cb().set(FUNC(primo_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(primo_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(primo_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(primo_state::p6_w));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
@ -380,7 +380,7 @@ void snova_state::primo(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_lcd_pwm).set_size(4, 10);
|
||||
m_lcd_pwm->output_x().set(FUNC(snova_state::lcd_pwm_w));
|
||||
m_lcd_pwm->output_x().set(FUNC(primo_state::lcd_pwm_w));
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
|
||||
screen.set_refresh_hz(60);
|
||||
@ -395,31 +395,31 @@ void snova_state::primo(machine_config &config)
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
|
||||
void snova_state::supremo(machine_config &config)
|
||||
void primo_state::supremo(machine_config &config)
|
||||
{
|
||||
primo(config);
|
||||
|
||||
// basic machine hardware
|
||||
HD6303Y(config.replace(), m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &snova_state::supremo_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::supremo_map);
|
||||
m_maincpu->nvram_enable_backup(true);
|
||||
m_maincpu->standby_cb().set(m_maincpu, FUNC(hd6303y_cpu_device::nvram_set_battery));
|
||||
m_maincpu->standby_cb().append(FUNC(snova_state::standby));
|
||||
m_maincpu->in_p2_cb().set(FUNC(snova_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(snova_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(snova_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(snova_state::p6_w));
|
||||
m_maincpu->standby_cb().append(FUNC(primo_state::standby));
|
||||
m_maincpu->in_p2_cb().set(FUNC(primo_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(primo_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(primo_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(primo_state::p6_w));
|
||||
|
||||
config.set_default_layout(layout_novag_supremo);
|
||||
}
|
||||
|
||||
void snova_state::snova(machine_config &config)
|
||||
void primo_state::snova(machine_config &config)
|
||||
{
|
||||
supremo(config);
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_clock(16_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &snova_state::snova_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::snova_map);
|
||||
|
||||
config.set_default_layout(layout_novag_snova);
|
||||
|
||||
@ -468,8 +468,8 @@ ROM_END
|
||||
*******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1987, nprimo, 0, 0, primo, primo, snova_state, empty_init, "Novag", "Primo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1987, nprimo, 0, 0, primo, primo, primo_state, empty_init, "Novag", "Primo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
SYST( 1988, supremo, 0, 0, supremo, supremo, snova_state, empty_init, "Novag", "Supremo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1988, supremo, 0, 0, supremo, supremo, primo_state, empty_init, "Novag", "Supremo", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
SYST( 1990, nsnova, 0, 0, snova, snova, snova_state, empty_init, "Novag", "Super Nova (Novag, v1.05)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1990, nsnova, 0, 0, snova, snova, primo_state, empty_init, "Novag", "Super Nova (Novag, v1.05)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
@ -87,10 +87,10 @@ Known official Novag Super System (or compatible) peripherals:
|
||||
|
||||
namespace {
|
||||
|
||||
class svip_state : public driver_device
|
||||
class vip_state : public driver_device
|
||||
{
|
||||
public:
|
||||
svip_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
vip_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_lcd_pwm(*this, "lcd_pwm"),
|
||||
@ -135,7 +135,7 @@ private:
|
||||
void p6_w(u8 data);
|
||||
};
|
||||
|
||||
void svip_state::machine_start()
|
||||
void vip_state::machine_start()
|
||||
{
|
||||
m_out_lcd.resolve();
|
||||
|
||||
@ -152,12 +152,12 @@ void svip_state::machine_start()
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
void svip_state::lcd_pwm_w(offs_t offset, u8 data)
|
||||
void vip_state::lcd_pwm_w(offs_t offset, u8 data)
|
||||
{
|
||||
m_out_lcd[offset & 0x3f][offset >> 6] = data;
|
||||
}
|
||||
|
||||
u8 svip_state::p2_r()
|
||||
u8 vip_state::p2_r()
|
||||
{
|
||||
u8 data = 0;
|
||||
|
||||
@ -177,7 +177,7 @@ u8 svip_state::p2_r()
|
||||
return ~data;
|
||||
}
|
||||
|
||||
void svip_state::p2_w(u8 data)
|
||||
void vip_state::p2_w(u8 data)
|
||||
{
|
||||
// P21: 4066 in/out to LCD
|
||||
if (m_lcd_strobe && ~data & 2)
|
||||
@ -192,7 +192,7 @@ void svip_state::p2_w(u8 data)
|
||||
m_rs232->write_txd(BIT(data, 4));
|
||||
}
|
||||
|
||||
void svip_state::p5_w(u8 data)
|
||||
void vip_state::p5_w(u8 data)
|
||||
{
|
||||
// P50-P53: 4066 control to LCD
|
||||
// P56,P57: lcd data
|
||||
@ -202,7 +202,7 @@ void svip_state::p5_w(u8 data)
|
||||
m_dac->write(data >> 4 & 3);
|
||||
}
|
||||
|
||||
void svip_state::p6_w(u8 data)
|
||||
void vip_state::p6_w(u8 data)
|
||||
{
|
||||
// P60-P67: input mux, lcd data
|
||||
m_inp_mux = ~data;
|
||||
@ -214,12 +214,12 @@ void svip_state::p6_w(u8 data)
|
||||
Address Maps
|
||||
*******************************************************************************/
|
||||
|
||||
void svip_state::vip_map(address_map &map)
|
||||
void vip_state::vip_map(address_map &map)
|
||||
{
|
||||
map(0x4000, 0x47ff).mirror(0x3800).ram().share("nvram");
|
||||
}
|
||||
|
||||
void svip_state::svip_map(address_map &map)
|
||||
void vip_state::svip_map(address_map &map)
|
||||
{
|
||||
map(0x2000, 0x27ff).mirror(0x1800).ram().share("nvram");
|
||||
map(0x4000, 0xbfff).rom().region("eprom", 0);
|
||||
@ -266,10 +266,10 @@ static INPUT_PORTS_START( vip )
|
||||
PORT_CONFNAME( 0x01, 0x00, "Keyboard Lock")
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(svip_state, power_r)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(vip_state, power_r)
|
||||
|
||||
PORT_START("POWER") // needs to be triggered for nvram to work
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, svip_state, power_off, 0) PORT_NAME("Power Off")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, vip_state, power_off, 0) PORT_NAME("Power Off")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( svip )
|
||||
@ -292,7 +292,7 @@ static INPUT_PORTS_START( svip )
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("King / Referee / Board")
|
||||
|
||||
PORT_MODIFY("IN.3")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(svip_state, power_r)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(vip_state, power_r)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -302,24 +302,24 @@ INPUT_PORTS_END
|
||||
Machine Configs
|
||||
*******************************************************************************/
|
||||
|
||||
void svip_state::vip(machine_config &config)
|
||||
void vip_state::vip(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
HD6301Y0(config, m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &svip_state::vip_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vip_state::vip_map);
|
||||
m_maincpu->nvram_enable_backup(true);
|
||||
m_maincpu->standby_cb().set(m_maincpu, FUNC(hd6301y0_cpu_device::nvram_set_battery));
|
||||
m_maincpu->standby_cb().append([this](int state) { if (state) m_lcd_pwm->clear(); });
|
||||
m_maincpu->in_p2_cb().set(FUNC(svip_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(svip_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(svip_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(svip_state::p6_w));
|
||||
m_maincpu->in_p2_cb().set(FUNC(vip_state::p2_r));
|
||||
m_maincpu->out_p2_cb().set(FUNC(vip_state::p2_w));
|
||||
m_maincpu->out_p5_cb().set(FUNC(vip_state::p5_w));
|
||||
m_maincpu->out_p6_cb().set(FUNC(vip_state::p6_w));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_lcd_pwm).set_size(4, 10);
|
||||
m_lcd_pwm->output_x().set(FUNC(svip_state::lcd_pwm_w));
|
||||
m_lcd_pwm->output_x().set(FUNC(vip_state::lcd_pwm_w));
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
|
||||
screen.set_refresh_hz(60);
|
||||
@ -333,13 +333,13 @@ void svip_state::vip(machine_config &config)
|
||||
DAC_2BIT_ONES_COMPLEMENT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.125);
|
||||
}
|
||||
|
||||
void svip_state::svip(machine_config &config)
|
||||
void vip_state::svip(machine_config &config)
|
||||
{
|
||||
vip(config);
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_clock(9.8304_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &svip_state::svip_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vip_state::svip_map);
|
||||
|
||||
config.set_default_layout(layout_novag_svip);
|
||||
|
||||
@ -418,10 +418,10 @@ ROM_END
|
||||
Drivers
|
||||
*******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1987, nvip, 0, 0, vip, vip, svip_state, empty_init, "Novag", "VIP (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1987, nvip, 0, 0, vip, vip, vip_state, empty_init, "Novag", "VIP (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
SYST( 1989, nsvip, 0, 0, svip, svip, svip_state, empty_init, "Novag", "Super VIP (v3.7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipa, nsvip, 0, svip, svip, svip_state, empty_init, "Novag", "Super VIP (v3.6)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipb, nsvip, 0, svip, svip, svip_state, empty_init, "Novag", "Super VIP (v1.03)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipc, nsvip, 0, svip, svip, svip_state, empty_init, "Novag", "Super VIP (v1.01)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvip, 0, 0, svip, svip, vip_state, empty_init, "Novag", "Super VIP (v3.7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipa, nsvip, 0, svip, svip, vip_state, empty_init, "Novag", "Super VIP (v3.6)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipb, nsvip, 0, svip, svip, vip_state, empty_init, "Novag", "Super VIP (v1.03)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
SYST( 1989, nsvipc, nsvip, 0, svip, svip, vip_state, empty_init, "Novag", "Super VIP (v1.01)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
Loading…
Reference in New Issue
Block a user