summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bagman.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bagman.cpp')
-rw-r--r--src/mame/drivers/bagman.cpp271
1 files changed, 151 insertions, 120 deletions
diff --git a/src/mame/drivers/bagman.cpp b/src/mame/drivers/bagman.cpp
index 61f4db5acd1..56c0a514555 100644
--- a/src/mame/drivers/bagman.cpp
+++ b/src/mame/drivers/bagman.cpp
@@ -91,7 +91,7 @@ void squaitsa_state::machine_start()
void bagman_state::ls259_w(offs_t offset, uint8_t data)
{
- pal16r6_w(offset, data); /*this is just a simulation*/
+ pal16r6_w(offset, data); // This is just a simulation
if (m_tmslatch.found())
m_tmslatch->write_bit(offset, data & 1);
@@ -134,17 +134,17 @@ void bagman_state::main_map(address_map &map)
map(0x6000, 0x67ff).ram();
map(0x9000, 0x93ff).ram().w(FUNC(bagman_state::videoram_w)).share("videoram");
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram"); // Includes spriteram
- map(0x9c00, 0x9fff).nopw(); /* written to, but unused */
+ map(0x9c00, 0x9fff).nopw(); // Written to, but unused
map(0xa000, 0xa000).r(FUNC(bagman_state::pal16r6_r));
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
- map(0xc000, 0xffff).rom(); /* Super Bagman only */
- map(0xa800, 0xa807).w(FUNC(bagman_state::ls259_w)); /* TMS5110 driving state machine */
+ map(0xc000, 0xffff).rom(); // Super Bagman only
+ map(0xa800, 0xa807).w(FUNC(bagman_state::ls259_w)); // TMS5110 driving state machine
map(0xb000, 0xb000).portr("DSW");
- map(0xb800, 0xb800).nopr(); /* looks like watchdog from schematics */
+ map(0xb800, 0xb800).nopr(); // Looks like watchdog from schematics
#if 0
- map(0xb000, 0xb000).nopw(); /* ???? */
- map(0xb800, 0xb800).nopw(); /* ???? */
+ map(0xb000, 0xb000).nopw(); // ????
+ map(0xb800, 0xb800).nopw(); // ????
#endif
}
@@ -156,11 +156,11 @@ void bagman_state::pickin_map(address_map &map)
map(0x7000, 0x77ff).ram();
map(0x8800, 0x8bff).ram().w(FUNC(bagman_state::videoram_w)).share("videoram");
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram"); // Includes spriteram
- map(0x9c00, 0x9fff).nopw(); /* written to, but unused */
+ map(0x9c00, 0x9fff).nopw(); // Written to, but unused
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
map(0xa800, 0xa800).portr("DSW");
- /* guess */
+ // Guess
map(0xb000, 0xb000).w("ay2", FUNC(ay8910_device::address_w));
map(0xb800, 0xb800).rw("ay2", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w));
}
@@ -216,7 +216,7 @@ static INPUT_PORTS_START( bagman )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, "30000" )
PORT_DIPSETTING( 0x00, "40000" )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) /* Cabinet type set through edge connector, not dip switch (verified on real pcb) */
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) // Cabinet type set through edge connector, not dip switch (verified on real PCB)
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
INPUT_PORTS_END
@@ -234,10 +234,10 @@ static INPUT_PORTS_START( sbagman )
PORT_INCLUDE( bagman )
PORT_MODIFY("P1")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* double-function button, start and shoot */
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Double-function button, start and shoot
PORT_MODIFY("P2")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL /* double-function button, start and shoot */
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL // Double-function button, start and shoot
INPUT_PORTS_END
static INPUT_PORTS_START( pickin )
@@ -256,25 +256,25 @@ static INPUT_PORTS_START( pickin )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x00, "2C/1C 1C/1C 1C/3C 1C/7C" )
PORT_DIPSETTING( 0x01, "1C/1C 1C/2C 1C/6C 1C/14C" )
- PORT_DIPNAME( 0x06, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPNAME( 0x06, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x06, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x02, "4" )
PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x20, "30000" )
PORT_DIPSETTING( 0x00, "40000" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x40, DEF_STR( English ) )
PORT_DIPSETTING( 0x00, DEF_STR( French ) )
- PORT_CONFNAME(0x80, 0x80, DEF_STR( Cabinet ) ) // sense line on wiring harness
+ PORT_CONFNAME(0x80, 0x80, DEF_STR( Cabinet ) ) // Sense line on wiring harness
PORT_CONFSETTING( 0x80, DEF_STR( Upright ) )
PORT_CONFSETTING( 0x00, DEF_STR( Cocktail ) )
@@ -284,15 +284,15 @@ static INPUT_PORTS_START( botanicf )
PORT_INCLUDE( bagman )
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x01, "4" )
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x00, "1C/1C 1C/2C 1C/6C 1C/14C" )
PORT_DIPSETTING( 0x04, "2C/1C 1C/2C 1C/3C 1C/7C" )
- PORT_DIPNAME( 0x08, 0x08, "Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPNAME( 0x08, 0x08, "Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
@@ -305,18 +305,18 @@ static INPUT_PORTS_START( botanici )
PORT_MODIFY("P2") // only seems to have 2 coin slots
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // this must be ACTIVE_HIGH or the game fails after you complete a level, protection?
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // This must be ACTIVE_HIGH or the game fails after you complete a level, protection?
PORT_MODIFY("DSW") // dipswitches are a bit messy on this set
- PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x00, "1C/1C 1C/2C" )
PORT_DIPSETTING( 0x04, "2C/1C 1C/2C" )
- PORT_DIPNAME( 0x18, 0x18, "Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:4,5")
+ PORT_DIPNAME( 0x18, 0x18, "Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x10, "3 (duplicate 1)" )
PORT_DIPSETTING( 0x18, "3 (duplicate 2)" )
- PORT_DIPNAME( 0x20, 0x20, "Language / Disable Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:6") // changing this off, even in game, seems to remove all fruits you have?
+ PORT_DIPNAME( 0x20, 0x20, "Language / Disable Invulnerability Fruits" ) PORT_DIPLOCATION("SW1:6") // Changing this off, even in game, seems to remove all fruits you have?
PORT_DIPSETTING( 0x20, "Fruits On, English" )
PORT_DIPSETTING( 0x00, "Fruits Off, Spanish" )
INPUT_PORTS_END
@@ -325,12 +325,12 @@ static INPUT_PORTS_START( botanici2 )
PORT_INCLUDE( botanici )
PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
+ PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x02, "4" )
PORT_DIPSETTING( 0x01, "5" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( English ) )
PORT_DIPSETTING( 0x00, DEF_STR( Spanish ) )
INPUT_PORTS_END
@@ -356,10 +356,10 @@ static INPUT_PORTS_START( squaitsa )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_START("DSW")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:1")
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
- PORT_DIPNAME( 0x06, 0x06, "Max Points" ) PORT_DIPLOCATION("SW:2,3")
+ PORT_DIPNAME( 0x06, 0x06, "Max Points" ) PORT_DIPLOCATION("SW:2,3")
PORT_DIPSETTING( 0x06, "7" )
PORT_DIPSETTING( 0x04, "11" )
PORT_DIPSETTING( 0x02, "15" )
@@ -369,13 +369,13 @@ static INPUT_PORTS_START( squaitsa )
PORT_DIPSETTING( 0x08, "Level 2" )
PORT_DIPSETTING( 0x10, "Level 3" )
PORT_DIPSETTING( 0x18, "Level 4" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:6")
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:6")
PORT_DIPSETTING( 0x20, DEF_STR( Spanish ) )
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPNAME( 0x40, 0x40, "Body Fault" ) PORT_DIPLOCATION("SW:7")
+ PORT_DIPNAME( 0x40, 0x40, "Body Fault" ) PORT_DIPLOCATION("SW:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, "Protection?" ) /* Left empty in the dips scan */
+ PORT_DIPNAME( 0x80, 0x00, "Protection?" ) // Left empty in the dips scan
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -388,39 +388,39 @@ INPUT_PORTS_END
static const gfx_layout charlayout =
{
- 8,8, /* 8*8 characters */
- 512, /* 512 characters */
- 2, /* 2 bits per pixel */
- { 0, 512*8*8 }, /* the two bitplanes are separated */
- { 0, 1, 2, 3, 4, 5, 6, 7 }, /* pretty straightforward layout */
+ 8,8, // 8*8 characters
+ 512, // 512 characters
+ 2, // 2 bits per pixel
+ { 0, 512*8*8 }, // The two bitplanes are separated
+ { 0, 1, 2, 3, 4, 5, 6, 7 }, // Pretty straightforward layout
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8 /* every char takes 8 consecutive bytes */
+ 8*8 // Every char takes 8 consecutive bytes
};
static const gfx_layout spritelayout =
{
- 16,16, /* 16*16 sprites */
- 128, /* 128 sprites */
- 2, /* 2 bits per pixel */
- { 0, 128*16*16 }, /* the two bitplanes are separated */
- { 0, 1, 2, 3, 4, 5, 6, 7, /* pretty straightforward layout */
+ 16,16, // 16*16 sprites
+ 128, // 128 sprites
+ 2, // 2 bits per pixel
+ { 0, 128*16*16 }, // The two bitplanes are separated
+ { 0, 1, 2, 3, 4, 5, 6, 7, // Pretty straightforward layout
8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
- 32*8 /* every sprite takes 32 consecutive bytes */
+ 32*8 // Every sprite takes 32 consecutive bytes
};
static GFXDECODE_START( gfx_bagman )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) /* char set #1 */
- GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 ) /* sprites */
- GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0, 16 ) /* char set #2 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) // Char set #1
+ GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 ) // Sprites
+ GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0, 16 ) // Char set #2
GFXDECODE_END
static GFXDECODE_START( gfx_pickin )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) /* char set #1 */
- GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 ) /* sprites */
- /* no gfx2 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) // Char set #1
+ GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 ) // Sprites
+ // No gfx2
GFXDECODE_END
@@ -463,9 +463,9 @@ void bagman_state::bagman_base(machine_config &config)
// video enable register not available on earlier hardware revision(s)
// Bagman is supposed to have glitches during screen transitions
m_mainlatch->q_out_cb<4>().set(FUNC(bagman_state::coin_counter_w));
- m_mainlatch->q_out_cb<4>().set_nop(); // ????
+ m_mainlatch->q_out_cb<4>().set_nop(); // ????
- /* video hardware */
+ // Video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
screen.set_screen_update(FUNC(bagman_state::screen_update));
@@ -475,7 +475,7 @@ void bagman_state::bagman_base(machine_config &config)
GFXDECODE(config, m_gfxdecode, "palette", gfx_bagman);
PALETTE(config, m_palette, FUNC(bagman_state::bagman_palette), 64);
- /* sound hardware */
+ // Sound hardware
SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", BAGMAN_H0 / 2));
@@ -488,19 +488,19 @@ void bagman_state::bagman(machine_config &config)
{
bagman_base(config);
- TMSPROM(config, m_tmsprom, 640000 / 2); /* rom clock */
- m_tmsprom->set_region("5110ctrl"); /* prom memory region - sound region is automatically assigned */
- m_tmsprom->set_rom_size(0x1000); /* individual rom_size */
- m_tmsprom->set_pdc_bit(1); /* bit # of pdc line */
- /* virtual bit 8: constant 0, virtual bit 9:constant 1 */
- m_tmsprom->set_ctl1_bit(8); /* bit # of ctl1 line */
- m_tmsprom->set_ctl2_bit(2); /* bit # of ctl2 line */
- m_tmsprom->set_ctl4_bit(8); /* bit # of ctl4 line */
- m_tmsprom->set_ctl8_bit(2); /* bit # of ctl8 line */
- m_tmsprom->set_reset_bit(6); /* bit # of rom reset */
- m_tmsprom->set_stop_bit(7); /* bit # of stop */
- m_tmsprom->pdc().set("tms", FUNC(tms5110_device::pdc_w)); /* tms pdc func */
- m_tmsprom->ctl().set("tms", FUNC(tms5110_device::ctl_w)); /* tms ctl func */
+ TMSPROM(config, m_tmsprom, 640000 / 2); // ROM clock
+ m_tmsprom->set_region("5110ctrl"); // PROM memory region - sound region is automatically assigned
+ m_tmsprom->set_rom_size(0x1000); // Individual rom_size
+ m_tmsprom->set_pdc_bit(1); // bit # of pdc line
+ // virtual bit 8: constant 0, virtual bit 9:constant 1
+ m_tmsprom->set_ctl1_bit(8); // bit # of ctl1 line
+ m_tmsprom->set_ctl2_bit(2); // bit # of ctl2 line
+ m_tmsprom->set_ctl4_bit(8); // bit # of ctl4 line
+ m_tmsprom->set_ctl8_bit(2); // bit # of ctl8 line
+ m_tmsprom->set_reset_bit(6); // bit # of rom reset
+ m_tmsprom->set_stop_bit(7); // bit # of stop
+ m_tmsprom->pdc().set("tms", FUNC(tms5110_device::pdc_w)); // tms pdc func
+ m_tmsprom->ctl().set("tms", FUNC(tms5110_device::ctl_w)); // tms ctl func
tms5110a_device &tms(TMS5110A(config, "tms", 640000));
tms.m0().set("tmsprom", FUNC(tmsprom_device::m0_w));
@@ -530,7 +530,7 @@ void bagman_state::sbagmani(machine_config &config)
void bagman_state::pickin(machine_config &config)
{
- /* basic machine hardware */
+ // Basic machine hardware
Z80(config, m_maincpu, BAGMAN_H0);
m_maincpu->set_addrmap(AS_PROGRAM, &bagman_state::pickin_map);
m_maincpu->set_addrmap(AS_IO, &bagman_state::main_portmap);
@@ -541,11 +541,11 @@ void bagman_state::pickin(machine_config &config)
m_mainlatch->q_out_cb<2>().set(FUNC(bagman_state::flipscreen_y_w));
m_mainlatch->q_out_cb<3>().set(FUNC(bagman_state::video_enable_w));
m_mainlatch->q_out_cb<4>().set(FUNC(bagman_state::coin_counter_w));
- m_mainlatch->q_out_cb<5>().set_nop(); // ????
- m_mainlatch->q_out_cb<6>().set_nop(); // ????
- m_mainlatch->q_out_cb<7>().set_nop(); // ????
+ m_mainlatch->q_out_cb<5>().set_nop(); // ????
+ m_mainlatch->q_out_cb<6>().set_nop(); // ????
+ m_mainlatch->q_out_cb<7>().set_nop(); // ????
- /* video hardware */
+ // Video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
screen.set_screen_update(FUNC(bagman_state::screen_update));
@@ -555,7 +555,7 @@ void bagman_state::pickin(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pickin);
PALETTE(config, m_palette, FUNC(bagman_state::bagman_palette), 64);
- /* sound hardware */
+ // Sound hardware
SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", 1500000));
@@ -563,7 +563,7 @@ void bagman_state::pickin(machine_config &config)
aysnd.port_b_read_callback().set_ioport("P2");
aysnd.add_route(ALL_OUTPUTS, "mono", 0.40);
- /* maybe */
+ // Maybe
AY8910(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "mono", 0.40);
}
@@ -587,7 +587,7 @@ z80
void bagman_state::botanic(machine_config &config)
{
- /* basic machine hardware */
+ // Basic machine hardware
Z80(config, m_maincpu, BAGMAN_H0);
m_maincpu->set_addrmap(AS_PROGRAM, &bagman_state::pickin_map);
m_maincpu->set_addrmap(AS_IO, &bagman_state::main_portmap);
@@ -602,7 +602,7 @@ void bagman_state::botanic(machine_config &config)
m_mainlatch->q_out_cb<6>().set_nop(); // ????
m_mainlatch->q_out_cb<7>().set_nop(); // ????
- /* video hardware */
+ // Video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
screen.set_screen_update(FUNC(bagman_state::screen_update));
@@ -612,7 +612,7 @@ void bagman_state::botanic(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bagman);
PALETTE(config, m_palette, FUNC(bagman_state::bagman_palette), 64);
- /* sound hardware */
+ // Sound hardware
SPEAKER(config, "mono").front_center();
ay8910_device &aysnd(AY8910(config, "aysnd", 1500000));
@@ -652,9 +652,9 @@ ROM_START( bagman )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "r9_b11.bin", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "t9_b12.bin", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -681,9 +681,9 @@ ROM_START( bagnard )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "r9_b11.bin", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "t9_b12.bin", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -710,14 +710,48 @@ ROM_START( bagnarda )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "r9_b11.bin", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "t9_b12.bin", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
-ROM_START( bagnardi ) // based on bagnard set with mods for license text
+ROM_START( bagnardi ) // 1983
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "lebag_itisa_5.e9", 0x0000, 0x1000, CRC(e0156191) SHA1(bb5f16d49fbe48f3bac118acd1fea51ec4bc5355) )
+ ROM_LOAD( "lebag_itisa_6.f9", 0x1000, 0x1000, CRC(edf765e4) SHA1(8fb03297b4e854f8b051cb3b105257ccece6dcff) )
+ ROM_LOAD( "lebag_itisa_7.j9", 0x2000, 0x1000, CRC(ca2e2845) SHA1(1751c091cd00d0b559174d68ba23bf810d792852) )
+ ROM_LOAD( "lebag_itisa_8.k9", 0x3000, 0x1000, CRC(f212e287) SHA1(8ed4b8e555239862eec2a2e7496054a9eda341ad) )
+ ROM_LOAD( "lebag_itisa_9.m9", 0x4000, 0x1000, CRC(5daf3426) SHA1(14f5eaa01353b418a6f90cc07f6e52f910a169c3) )
+ ROM_LOAD( "lebag_itisa_10.n9", 0x5000, 0x1000, CRC(423c54be) SHA1(f3ad41142441eb73bd17ea7cbdb7070f02c18cb8) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "lebag_itisa_2.e1", 0x0000, 0x1000, CRC(4a0a6b55) SHA1(955f8bd4bd9b0fc3c6c359c25ba543ba26c04cbd) )
+ ROM_LOAD( "lebag_itisa_4.j1", 0x1000, 0x1000, CRC(c680ef04) SHA1(79406bc786374abfcd9f548268c445b5c8d8858d) )
+
+ ROM_REGION( 0x2000, "gfx2", 0 )
+ ROM_LOAD( "lebag_itisa_1.c1", 0x0000, 0x1000, CRC(14ac1735) SHA1(a0a5d492d9690333cabf2cb21e121934216fc194) )
+ ROM_LOAD( "lebag_itisa_3.f1", 0x1000, 0x1000, CRC(8043bc1a) SHA1(bd2f3dfe26cf8d987d9ecaa41eac4bdc4e16a692) )
+
+ ROM_REGION( 0x0040, "proms", 0 )
+ ROM_LOAD( "lebag_itisa_82s123.p3", 0x0000, 0x0020, CRC(2a855523) SHA1(91e032233fee397c90b7c1662934aca9e0671482) )
+ ROM_LOAD( "lebag_itisa_82s123.r3", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
+
+ ROM_REGION( 0x0020, "5110ctrl", 0)
+ ROM_LOAD( "lebag_itisa_82s123.r6", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
+
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
+ ROM_LOAD( "lebag_itisa_11.r9", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
+ ROM_LOAD( "lebag_itisa_12.t9", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
+
+ ROM_REGION (0x104, "plds", 0)
+ ROM_LOAD( "lebag_itisa_pal16r6cn.p6", 0x000, 0x104, CRC(13f14bbf) SHA1(b8c4ddf61609465f3a3699dd42796f15a7b17979) )
+
+
+ROM_END
+
+ROM_START( bagnardio ) // 1982, based on bagnard set with mods for license text
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "bagnardi_05.e9", 0x0000, 0x1000, CRC(e0156191) SHA1(bb5f16d49fbe48f3bac118acd1fea51ec4bc5355) ) // == e9_b05.bin
ROM_LOAD( "bagnardi_06.f9", 0x1000, 0x1000, CRC(2e98c072) SHA1(d1f2341fc0c04f48615cb21a44736c83b7ded3ee) )
@@ -739,14 +773,13 @@ ROM_START( bagnardi ) // based on bagnard set with mods for license text
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "bagnardi_11.r9", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) ) // == r9_b11.bin
ROM_LOAD( "bagnardi_12.t9", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) ) // == t9_b12.bin
ROM_END
-
ROM_START( bagmans )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "a4_9e.bin", 0x0000, 0x1000, CRC(5fb0a1a3) SHA1(849cd60b58de9585a78a1c4c1747f666a4a4fcc3) )
@@ -770,9 +803,9 @@ ROM_START( bagmans )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, BAD_DUMP CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "r9_b11.bin", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "t9_b12.bin", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -800,9 +833,9 @@ ROM_START( bagmans2 )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, BAD_DUMP CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "r9_b11.bin", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "t9_b12.bin", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -829,9 +862,9 @@ ROM_START( bagmanj )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, BAD_DUMP CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0) // not dumped for this set
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, BAD_DUMP CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, BAD_DUMP CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "bf8_12.r9", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) ) // 2732
ROM_LOAD( "bf8_13.t9", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) ) // 2732
ROM_END
@@ -858,9 +891,9 @@ ROM_START( botanic2 ) // PCB has Valadon logo with 'bajo licencia Itisa (Palamos
ROM_LOAD( "b-tbp18s030.3r", 0x0020, 0x0020, CRC(edf88f34) SHA1(b9c342d51303d552f87df2543a34e38c30acd07c) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "82s123.3p", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "82s123.3p", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "11.9r", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) ) // 2732
ROM_LOAD( "12.9t", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) ) // 2732
@@ -900,9 +933,9 @@ ROM_START( sbagman )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, BAD_DUMP CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0) // not dumped for this set
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, BAD_DUMP CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, BAD_DUMP CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "b11v3.9r", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "b12v3.9t", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -939,9 +972,9 @@ ROM_START( sbagman2 )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "11.9r", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "12.9t", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -978,9 +1011,9 @@ ROM_START( sbagmans )
ROM_LOAD( "r3.bin", 0x0020, 0x0020, CRC(ae6f1019) SHA1(fd711882b670380cb4bd909c840ba06277b8fbe3) )
ROM_REGION( 0x0020, "5110ctrl", 0)
- ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) /*state machine driving TMS5110*/
+ ROM_LOAD( "r6.bin", 0x0000, 0x0020, CRC(c58a4f6a) SHA1(35ef244b3e94032df2610aa594ea5670b91e1449) ) // State machine driving TMS5110
- ROM_REGION( 0x2000, "tmsprom", 0 ) /* data for the TMS5110 speech chip */
+ ROM_REGION( 0x2000, "tmsprom", 0 ) // Data for the TMS5110 speech chip
ROM_LOAD( "11.9r", 0x0000, 0x1000, CRC(2e0057ff) SHA1(33e3ffa6418f86864eb81e5e9bda4bf540c143a6) )
ROM_LOAD( "12.9t", 0x1000, 0x1000, CRC(b2120edd) SHA1(52b89dbcc749b084331fa82b13d0876e911fce52) )
ROM_END
@@ -1040,16 +1073,13 @@ ROM_START( pickin )
ROM_LOAD( "1f", 0x0000, 0x1000, CRC(c5e96ac6) SHA1(b2d740b6d07c765e8eb2dce31fe285a15a9fe597) )
ROM_LOAD( "1j", 0x1000, 0x1000, CRC(41c4ac1c) SHA1(aac58a9d675a9b70140d82341231bcf6c77c7b41) )
- /* no gfx2 */
+ // No gfx2
ROM_REGION( 0x0040, "proms", 0 )
ROM_LOAD( "6331-1.3p", 0x0000, 0x0020, CRC(fac81668) SHA1(5fa369a5c0ad3a2fc068305336e24772b8e84b62) )
ROM_LOAD( "6331-1.3r", 0x0020, 0x0020, CRC(14ee1603) SHA1(f3c071399606b727ae7dd0bfc21e1c6ca2d43c7c) )
ROM_END
-
-
-
ROM_START( botanic )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "5.9e", 0x0000, 0x1000, CRC(907f01c7) SHA1(156b6b6bbc2176998fb0c18ad453fc42185ae490) )
@@ -1152,23 +1182,24 @@ ROM_START( squaitsa )
ROM_END
-GAME( 1982, bagman, 0, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Bagman", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagnard, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Le Bagnard (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagnarda, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Le Bagnard (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagnardi, bagman, bagman, bagman, bagman_state, empty_init, ROT90, "Valadon Automation (Itisa license)", "Le Bagnard (Itisa, Spain)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagmans, bagman, bagman, bagmans, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagmans2, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bagmanj, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation (Taito license)", "Bagman (Taito)", MACHINE_SUPPORTS_SAVE ) // title screen actually doesn't mention Valadon, only Stern and Taito
+GAME( 1982, bagman, 0, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Bagman", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagnard, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Le Bagnard (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagnarda, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Le Bagnard (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, bagnardi, bagman, bagman, bagman, bagman_state, empty_init, ROT90, "Valadon Automation (Itisa license)", "Le Bagnard (Itisa, Spain)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagnardio, bagman, bagman, bagman, bagman_state, empty_init, ROT90, "Valadon Automation (Itisa license)", "Le Bagnard (Itisa, Spain, older)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagmans, bagman, bagman, bagmans, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagmans2, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bagmanj, bagman, bagman, bagman, bagman_state, empty_init, ROT270, "Valadon Automation (Taito license)", "Bagman (Taito)", MACHINE_SUPPORTS_SAVE ) // Title screen actually doesn't mention Valadon, only Stern and Taito
-GAME( 1984, sbagman, 0, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Super Bagman (version 5)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, sbagman2, sbagman, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Super Bagman (version 3?)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, sbagmani, sbagman, sbagmani, sbagman, bagman_state, empty_init, ROT90, "Valadon Automation (Itisa license)", "Super Bagman (Itisa, Spain)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // different color PROMs, needs correct decoding
-GAME( 1984, sbagmans, sbagman, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, sbagman, 0, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Super Bagman (version 5)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, sbagman2, sbagman, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation", "Super Bagman (version 3?)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, sbagmani, sbagman, sbagmani, sbagman, bagman_state, empty_init, ROT90, "Valadon Automation (Itisa license)", "Super Bagman (Itisa, Spain)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // Different color PROMs, needs correct decoding
+GAME( 1984, sbagmans, sbagman, sbagman, sbagman, bagman_state, empty_init, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, pickin, 0, pickin, pickin, bagman_state, empty_init, ROT270, "Valadon Automation", "Pickin'", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, pickin, 0, pickin, pickin, bagman_state, empty_init, ROT270, "Valadon Automation", "Pickin'", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, botanic, 0, botanic, botanici, bagman_state, empty_init, ROT90, "Itisa", "Botanic (English / Spanish, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, botanic2, botanic, bagman, botanici2, bagman_state, empty_init, ROT90, "Itisa", "Botanic (English / Spanish, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // At the title screen, Botanic in corrupted in the first loop, ok from the second on. Colors likely wrong, too. Has a leftover 5110.
-GAME( 1984, botanicf, botanic, botanic, botanicf, bagman_state, empty_init, ROT270, "Itisa (Valadon Automation license)", "Botanic (French)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, botanic, 0, botanic, botanici, bagman_state, empty_init, ROT90, "Itisa", "Botanic (English / Spanish, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, botanic2, botanic, bagman, botanici2, bagman_state, empty_init, ROT90, "Itisa", "Botanic (English / Spanish, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // At the title screen, Botanic in corrupted in the first loop, OK from the second on. Colors likely wrong, too. Has a leftover 5110.
+GAME( 1984, botanicf, botanic, botanic, botanicf, bagman_state, empty_init, ROT270, "Itisa (Valadon Automation license)", "Botanic (French)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, squaitsa, 0, botanic, squaitsa, squaitsa_state, empty_init, ROT0, "Itisa", "Squash (Itisa)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, squaitsa, 0, botanic, squaitsa, squaitsa_state, empty_init, ROT0, "Itisa", "Squash (Itisa)", MACHINE_SUPPORTS_SAVE )