diff options
| author | 2025-07-09 15:22:40 +0200 | |
|---|---|---|
| committer | 2025-07-09 15:22:51 +0200 | |
| commit | 21b2d96240da00c38aba98af46fe824c91a3ab21 (patch) | |
| tree | 79b67a8dc4e6dd647d1b2080595b193b20698246 | |
| parent | 5fc123e39ce269dff744f7d913fb40517ecb7e38 (diff) | |
mole: simplify gfxlayout,
ssingles: swap palette bits0/1 back again
| -rw-r--r-- | src/mame/vsystem/pspikes.cpp | 6 | ||||
| -rw-r--r-- | src/mame/yachiyo/mole.cpp | 42 | ||||
| -rw-r--r-- | src/mame/yachiyo/ssingles.cpp | 32 |
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 ) |
