summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2025-07-09 15:22:40 +0200
committer hap <happppp@users.noreply.github.com>2025-07-09 15:22:51 +0200
commit21b2d96240da00c38aba98af46fe824c91a3ab21 (patch)
tree79b67a8dc4e6dd647d1b2080595b193b20698246
parent5fc123e39ce269dff744f7d913fb40517ecb7e38 (diff)
mole: simplify gfxlayout,
ssingles: swap palette bits0/1 back again
-rw-r--r--src/mame/vsystem/pspikes.cpp6
-rw-r--r--src/mame/yachiyo/mole.cpp42
-rw-r--r--src/mame/yachiyo/ssingles.cpp32
3 files changed, 33 insertions, 47 deletions
diff --git a/src/mame/vsystem/pspikes.cpp b/src/mame/vsystem/pspikes.cpp
index 3f1153e929b..20cb8fa4f17 100644
--- a/src/mame/vsystem/pspikes.cpp
+++ b/src/mame/vsystem/pspikes.cpp
@@ -3977,7 +3977,7 @@ GAME( 1991, spikes91, pspikes, spikes91, pspikes, spikes91_state,
GAME( 1991, spikes91b, pspikes, spikes91, pspikes, spikes91_state, empty_init, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // OKI M5205 not hooked up yet
GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, pspikes_base_state, init_pspikesb, ROT0, "bootleg", "Power Spikes (China, bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
GAME( 1997, wbbc97, 0, wbbc97, wbbc97, wbbc97_state, empty_init, ROT0, "Comad", "Beach Festival World Championship 1997", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // based on power spikes codebase
-GAME( 1998, kickball, 0, kickball, pspikes, pspikes_sound_cpu_state, init_kickball, ROT0, "Seoung Youn", "Kick Ball", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) // based on power spikes codebase, wrong priorities
+GAME( 1998, kickball, 0, kickball, pspikes, pspikes_sound_cpu_state, init_kickball, ROT0, "Seoung Youn", "Kick Ball", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) // based on power spikes codebase, wrong priorities
GAME( 1991, karatblz, 0, karatblz, karatblz, pspikes_banked_sound_state, empty_init, ROT0, "Video System Co.", "Karate Blazers (World, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
GAME( 1991, karatblza, karatblz, karatblz, karatblz, pspikes_banked_sound_state, empty_init, ROT0, "Video System Co.", "Karate Blazers (World, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
@@ -4000,5 +4000,5 @@ GAME( 1991, turbofrcua, turbofrc, turbofrc, turbofrc, pspikes_banked_sound_st
GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, pspikes_banked_sound_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (Taiwan / Japan, set 1)", MACHINE_SUPPORTS_SAVE ) // probably intended for Taiwan because the Japanese name is Sonic Wings (below)
GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, pspikes_banked_sound_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (Taiwan / Japan, set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, pspikes_banked_sound_state, empty_init, ROT270, "Video System Co.", "Sonic Wings (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, pspikes_sound_cpu_state, init_banked_oki, ROT270, "bootleg", "Aero Fighters (bootleg, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
-GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, pspikes_base_state, empty_init, ROT270, "bootleg", "Aero Fighters (bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
+GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, pspikes_sound_cpu_state, init_banked_oki, ROT270, "bootleg", "Aero Fighters (bootleg, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
+GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, pspikes_base_state, empty_init, ROT270, "bootleg", "Aero Fighters (bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
diff --git a/src/mame/yachiyo/mole.cpp b/src/mame/yachiyo/mole.cpp
index b332a5f2ab4..44c0bd3a66b 100644
--- a/src/mame/yachiyo/mole.cpp
+++ b/src/mame/yachiyo/mole.cpp
@@ -11,7 +11,7 @@
Known Issues:
- some dips not mapped
- protection isn't fully understood, but game seems to be ok.
- - cpu speeds unverified
+ - cpu speed unverified (ay frequency matches pcb video)
Buttons are laid out as follows:
7 8 9
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
{
uint16_t const code = m_tileram[tile_index];
- tileinfo.set(BIT(code, 9), code & 0x1ff, 0, 0);
+ tileinfo.set(0, code & 0x3ff, 0, 0);
}
void mole_state::video_start()
@@ -222,8 +222,7 @@ void mole_state::main_map(address_map &map)
map(0x8400, 0x8400).w(FUNC(mole_state::tilebank_w));
map(0x8c00, 0x8c01).w("aysnd", FUNC(ay8910_device::data_address_w));
map(0x8c40, 0x8c40).nopw(); // ???
- map(0x8c80, 0x8c80).nopw(); // ???
- map(0x8c81, 0x8c81).nopw(); // ???
+ map(0x8c80, 0x8c81).nopw(); // ???
map(0x8d00, 0x8d00).portr("DSW").w(FUNC(mole_state::irqack_w));
map(0x8d40, 0x8d40).portr("IN0");
map(0x8d80, 0x8d80).portr("IN1");
@@ -239,9 +238,9 @@ void mole_state::main_map(address_map &map)
static INPUT_PORTS_START( mole )
PORT_START("DSW") /* 0x8d00 */
- PORT_DIPNAME( 0x01, 0x00, "Round Points" )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x01, 0x00, "Passing Point" ) // increases by 50 every 5 rounds
+ PORT_DIPSETTING( 0x00, "300" )
+ PORT_DIPSETTING( 0x01, "400" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
@@ -296,21 +295,8 @@ INPUT_PORTS_END
*
*************************************/
-static const gfx_layout tile_layout =
-{
- 8,8, /* character size */
- 512, /* number of characters */
- 3, /* number of bitplanes */
- { 0x0000*8, 0x1000*8, 0x2000*8 },
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8
-};
-
-
static GFXDECODE_START( gfx_mole )
- GFXDECODE_ENTRY( "gfx", 0x0000, tile_layout, 0x00, 1 )
- GFXDECODE_ENTRY( "gfx", 0x3000, tile_layout, 0x00, 1 )
+ GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x3_planar, 0, 1 )
GFXDECODE_END
@@ -342,7 +328,7 @@ void mole_state::mole(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- AY8910(config, "aysnd", 2000000).add_route(ALL_OUTPUTS, "mono", 1.0);
+ AY8910(config, "aysnd", 2'000'000).add_route(ALL_OUTPUTS, "mono", 1.0);
}
@@ -359,12 +345,12 @@ ROM_START( mole ) // ALL ROMS ARE 2732
ROM_LOAD( "m1a.8h", 0x7000, 0x1000, CRC(cff0119a) SHA1(48fc81b8c68e977680e7b8baf1193f0e7e0cd013) )
ROM_REGION( 0x6000, "gfx", 0 )
- ROM_LOAD( "mea.4a", 0x0000, 0x1000, CRC(49d89116) SHA1(aa4cde07e10624072e50ba5bd209acf93092cf78) )
- ROM_LOAD( "mca.6a", 0x1000, 0x1000, CRC(04e90300) SHA1(c908a3a651e50428eedc2974160cdbf2ed946abc) )
- ROM_LOAD( "maa.9a", 0x2000, 0x1000, CRC(6ce9442b) SHA1(c08bf0911f1dfd4a3f9452efcbb3fd3688c4bf8c) )
- ROM_LOAD( "mfa.3a", 0x3000, 0x1000, CRC(0d0c7d13) SHA1(8a6d371571391f2b54ffa65b77e4e83fd607d2c9) )
- ROM_LOAD( "mda.5a", 0x4000, 0x1000, CRC(41ae1842) SHA1(afc169c3245b0946ef81e65d0b755d498ee71667) )
- ROM_LOAD( "mba.8a", 0x5000, 0x1000, CRC(50c43fc9) SHA1(af478f3d89cd6c87f32dcdda7fabce25738c340b) )
+ ROM_LOAD( "maa.9a", 0x0000, 0x1000, CRC(6ce9442b) SHA1(c08bf0911f1dfd4a3f9452efcbb3fd3688c4bf8c) )
+ ROM_LOAD( "mba.8a", 0x1000, 0x1000, CRC(50c43fc9) SHA1(af478f3d89cd6c87f32dcdda7fabce25738c340b) )
+ ROM_LOAD( "mca.6a", 0x2000, 0x1000, CRC(04e90300) SHA1(c908a3a651e50428eedc2974160cdbf2ed946abc) )
+ ROM_LOAD( "mda.5a", 0x3000, 0x1000, CRC(41ae1842) SHA1(afc169c3245b0946ef81e65d0b755d498ee71667) )
+ ROM_LOAD( "mea.4a", 0x4000, 0x1000, CRC(49d89116) SHA1(aa4cde07e10624072e50ba5bd209acf93092cf78) )
+ ROM_LOAD( "mfa.3a", 0x5000, 0x1000, CRC(0d0c7d13) SHA1(8a6d371571391f2b54ffa65b77e4e83fd607d2c9) )
ROM_END
} // anonymous namespace
diff --git a/src/mame/yachiyo/ssingles.cpp b/src/mame/yachiyo/ssingles.cpp
index a06bce778da..0316dbc639d 100644
--- a/src/mame/yachiyo/ssingles.cpp
+++ b/src/mame/yachiyo/ssingles.cpp
@@ -237,14 +237,14 @@ void ssingles_state::machine_start()
// fake palette
static constexpr rgb_t ssingles_colors[NUM_PENS] =
{
- { 0x00,0x00,0x00 }, { 0xff,0x00,0x00 }, { 0xff,0xff,0xff }, { 0xaa,0x00,0x00 },
- { 0x00,0x00,0x00 }, { 0xff,0xaa,0x00 }, { 0xff,0xff,0xff }, { 0xaa,0x55,0x00 },
- { 0x00,0x00,0x00 }, { 0xff,0x00,0x00 }, { 0xff,0xff,0xff }, { 0xff,0xaa,0x00 },
- { 0x00,0x00,0x00 }, { 0xff,0x00,0x00 }, { 0xff,0xaa,0x00 }, { 0xff,0x55,0x00 },
- { 0x00,0x00,0x00 }, { 0xff,0xaa,0x00 }, { 0xff,0xff,0x00 }, { 0xaa,0x55,0x00 },
- { 0x00,0x00,0x00 }, { 0x00,0xff,0x00 }, { 0xff,0x00,0x00 }, { 0xff,0xff,0x00 },
- { 0x00,0x00,0x00 }, { 0xaa,0xff,0x00 }, { 0x00,0x00,0xff }, { 0xff,0xaa,0x00 },
- { 0x00,0x00,0x00 }, { 0xaa,0x00,0xaa }, { 0xff,0x00,0xff }, { 0x55,0x00,0x55 }
+ { 0x00,0x00,0x00 }, { 0xff,0xff,0xff }, { 0xff,0x00,0x00 }, { 0xaa,0x00,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0xff,0xff }, { 0xff,0xaa,0x00 }, { 0xaa,0x55,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0xff,0xff }, { 0xff,0x00,0x00 }, { 0xff,0xaa,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0xaa,0x00 }, { 0xff,0x00,0x00 }, { 0xff,0x55,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0xff,0x00 }, { 0xff,0xaa,0x00 }, { 0xaa,0x55,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0x00,0x00 }, { 0x00,0xff,0x00 }, { 0xff,0xff,0x00 },
+ { 0x00,0x00,0x00 }, { 0x00,0x00,0xff }, { 0xaa,0xff,0x00 }, { 0xff,0xaa,0x00 },
+ { 0x00,0x00,0x00 }, { 0xff,0x00,0xff }, { 0xaa,0x00,0xaa }, { 0x55,0x00,0x55 }
};
void ssingles_state::palette(palette_device &palette) const
@@ -270,7 +270,7 @@ MC6845_UPDATE_ROW(ssingles_state::ssingles_update_row)
uint32_t const tile_address = ((cell & 0x3ff) << 4) + ra;
uint16_t const palette = (cell >> 10) & 0x1c;
- uint16_t const cxo = (cx & 1) ? 0 : 0x4000;
+ uint16_t const cxo = (cx & 1) ? 0x4000 : 0;
uint8_t b0 = m_gfx_rom[tile_address + 0x0000 + cxo];
uint8_t b1 = m_gfx_rom[tile_address + 0x8000 + cxo];
@@ -294,7 +294,7 @@ MC6845_UPDATE_ROW(ssingles_state::atamanot_update_row)
uint32_t const tile_address = ((cell & 0x1ff) << 4) + ra;
uint16_t const palette = (cell >> 10) & 0x1c;
- uint16_t const cxo = (cx & 1) ? 0 : 0x2000;
+ uint16_t const cxo = (cx & 1) ? 0x2000 : 0;
uint8_t b0 = m_gfx_rom[tile_address + 0x0000 + cxo];
uint8_t b1 = m_gfx_rom[tile_address + 0x4000 + cxo];
@@ -450,7 +450,7 @@ static INPUT_PORTS_START( ssingles )
PORT_DIPNAME( 0x10, 0x00, "Unk3" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, "Lives" )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x40, "5" )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
@@ -586,10 +586,10 @@ ROM_START( ssingles )
ROM_LOAD( "4.bin", 0xa000, 0x2000, CRC(acb44685) SHA1(d68aab8b7e68d842a350d3fb76985ac857b1d972) )
ROM_REGION( 0x10000, "gfx", 0 )
- ROM_LOAD( "9.bin", 0x0000, 0x4000, CRC(57fac6f9) SHA1(12f6695c9831399e599a95008ebf9db943725437) )
- ROM_LOAD( "10.bin", 0x4000, 0x4000, CRC(cd3ba260) SHA1(2499ad9982cc6356e2eb3a0f10d77886872a0c9f) )
- ROM_LOAD( "11.bin", 0x8000, 0x4000, CRC(f7107b29) SHA1(a405926fd3cb4b3d2a1c705dcde25d961dba5884) )
- ROM_LOAD( "12.bin", 0xc000, 0x4000, CRC(e5585a93) SHA1(04d55699b56d869066f2be2c6ac48042aa6c3108) )
+ ROM_LOAD( "12.bin", 0x0000, 0x4000, CRC(e5585a93) SHA1(04d55699b56d869066f2be2c6ac48042aa6c3108) )
+ ROM_LOAD( "11.bin", 0x4000, 0x4000, CRC(f7107b29) SHA1(a405926fd3cb4b3d2a1c705dcde25d961dba5884) )
+ ROM_LOAD( "10.bin", 0x8000, 0x4000, CRC(cd3ba260) SHA1(2499ad9982cc6356e2eb3a0f10d77886872a0c9f) )
+ ROM_LOAD( "9.bin", 0xc000, 0x4000, CRC(57fac6f9) SHA1(12f6695c9831399e599a95008ebf9db943725437) )
ROM_REGION( 0x08000, "user1", 0) // samples ? data ?
ROM_LOAD( "5.bin", 0x0000, 0x2000, CRC(242a8dda) SHA1(e140893cc05fb8cee75904d98b02626f2565ed1b) )
@@ -648,4 +648,4 @@ ROM_END
GAME( 1983, ssingles, 0, ssingles, ssingles, ssingles_state, empty_init, ROT90, "Yachiyo Denki (Entertainment Enterprises, Ltd. license)", "Swinging Singles (US)", MACHINE_SUPPORTS_SAVE | MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL )
-GAME( 1983, atamanot, 0, atamanot, ssingles, ssingles_state, empty_init, ROT90, "Yachiyo Denki / Uni Enterprise", "Computer Quiz Atama no Taisou (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
+GAME( 1983, atamanot, 0, atamanot, ssingles, ssingles_state, empty_init, ROT0, "Yachiyo Denki / Uni Enterprise", "Computer Quiz Atama no Taisou (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )