mirror of
https://github.com/holub/mame
synced 2025-07-03 00:56:03 +03:00
mole: reduce unrealistic 6502 clock
This commit is contained in:
parent
8552dcc017
commit
e3c5a31530
@ -50,8 +50,10 @@
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "sound/ay8910.h"
|
#include "sound/ay8910.h"
|
||||||
|
|
||||||
#include "emupal.h"
|
#include "emupal.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
@ -71,13 +73,16 @@ public:
|
|||||||
|
|
||||||
void mole(machine_config &config);
|
void mole(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void video_start() override ATTR_COLD;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
|
|
||||||
/* video-related */
|
/* video-related */
|
||||||
tilemap_t *m_bg_tilemap = nullptr;
|
tilemap_t *m_bg_tilemap = nullptr;
|
||||||
int m_tile_bank = 0;
|
uint8_t m_tile_bank = 0;
|
||||||
|
|
||||||
/* memory */
|
/* memory */
|
||||||
uint16_t m_tileram[0x400];
|
uint16_t m_tileram[0x400];
|
||||||
@ -88,9 +93,6 @@ private:
|
|||||||
void mole_flipscreen_w(uint8_t data);
|
void mole_flipscreen_w(uint8_t data);
|
||||||
uint8_t mole_protection_r(offs_t offset);
|
uint8_t mole_protection_r(offs_t offset);
|
||||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||||
virtual void machine_start() override ATTR_COLD;
|
|
||||||
virtual void machine_reset() override ATTR_COLD;
|
|
||||||
virtual void video_start() override ATTR_COLD;
|
|
||||||
uint32_t screen_update_mole(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_mole(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
void mole_map(address_map &map) ATTR_COLD;
|
void mole_map(address_map &map) ATTR_COLD;
|
||||||
};
|
};
|
||||||
@ -115,6 +117,7 @@ void mole_state::video_start()
|
|||||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(mole_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(mole_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
|
||||||
|
|
||||||
save_item(NAME(m_tileram));
|
save_item(NAME(m_tileram));
|
||||||
|
save_item(NAME(m_tile_bank));
|
||||||
}
|
}
|
||||||
|
|
||||||
void mole_state::mole_tileram_w(offs_t offset, uint8_t data)
|
void mole_state::mole_tileram_w(offs_t offset, uint8_t data)
|
||||||
@ -145,7 +148,6 @@ uint32_t mole_state::screen_update_mole(screen_device &screen, bitmap_ind16 &bit
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Memory handlers
|
* Memory handlers
|
||||||
@ -316,20 +318,10 @@ GFXDECODE_END
|
|||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
void mole_state::machine_start()
|
|
||||||
{
|
|
||||||
save_item(NAME(m_tile_bank));
|
|
||||||
}
|
|
||||||
|
|
||||||
void mole_state::machine_reset()
|
|
||||||
{
|
|
||||||
m_tile_bank = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void mole_state::mole(machine_config &config)
|
void mole_state::mole(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
M6502(config, m_maincpu, 4000000); // ???
|
M6502(config, m_maincpu, 2000000); // ???
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &mole_state::mole_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &mole_state::mole_map);
|
||||||
m_maincpu->set_vblank_int("screen", FUNC(mole_state::irq0_line_assert));
|
m_maincpu->set_vblank_int("screen", FUNC(mole_state::irq0_line_assert));
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
TODO:
|
TODO:
|
||||||
- atamanot: needs a trojan, in order to understand how the protection really works.
|
- atamanot: needs a trojan, in order to understand how the protection really works.
|
||||||
- colors (missing PROM(s) ?)
|
- colors (missing PROM(s) ?)
|
||||||
- samples (at least two of unused ROMs contains samples (unkn. format , ADPCM ?)
|
- samples (at least two of unused ROMs contains samples (unkn. format, ADPCM ?)
|
||||||
- dips (one is tested in game (difficulty related?), another 2 are tested at start)
|
- dips (one is tested in game (difficulty related?), another 2 are tested at start)
|
||||||
|
|
||||||
Unknown reads/writes:
|
Unknown reads/writes:
|
||||||
@ -580,7 +580,6 @@ void ssingles_state::ssingles(machine_config &config)
|
|||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
AY8910(config, "ay1", 1'500'000).add_route(ALL_OUTPUTS, "mono", 0.5); // ? MHz
|
AY8910(config, "ay1", 1'500'000).add_route(ALL_OUTPUTS, "mono", 0.5); // ? MHz
|
||||||
|
|
||||||
AY8910(config, "ay2", 1'500'000).add_route(ALL_OUTPUTS, "mono", 0.5); // ? MHz
|
AY8910(config, "ay2", 1'500'000).add_route(ALL_OUTPUTS, "mono", 0.5); // ? MHz
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
/* */
|
/* */
|
||||||
/*******************************************************/
|
/*******************************************************/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
********************************************************
|
********************************************************
|
||||||
|
|
||||||
|
@ -3709,13 +3709,9 @@ GAME( 1994, bublbust, pbobble, pbobble, pbobble, taitob_state, init_taito_b,
|
|||||||
GAME( 1994, spacedx, 0, spacedx, pbobble, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (US, v2.1)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1994, spacedx, 0, spacedx, pbobble, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (US, v2.1)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1994, spacedxj, spacedx, spacedx, pbobble, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.1)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1994, spacedxj, spacedx, spacedx, pbobble, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.1)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1994, spacedxo, spacedx, spacedxo, spacedxo, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.0)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1994, spacedxo, spacedx, spacedxo, spacedxo, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.0)", MACHINE_SUPPORTS_SAVE )
|
||||||
/*
|
|
||||||
Sonic Blast Man is a ticket dispensing game.
|
// Sonic Blast Man is a ticket dispensing game. (Japanese version however does not dispense them, only US does - try the "sbm_patch" in the machine_config).
|
||||||
(Japanese version however does not dispense them, only US does - try the "sbm_patch" in the machine_config).
|
// It is a bit different from other games running on this system, in that it has a punching pad that player needs to punch to hit the enemy.
|
||||||
It is a bit different from other games running on this system,
|
|
||||||
in that it has a punching pad that player needs to punch to hit
|
|
||||||
the enemy.
|
|
||||||
*/
|
|
||||||
GAME( 1990, sbm, 0, sbm, sbm, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (US)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
GAME( 1990, sbm, 0, sbm, sbm, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (US)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
||||||
GAME( 1990, sbmj, sbm, sbm, sbmj, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
GAME( 1990, sbmj, sbm, sbm, sbmj, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
||||||
GAME( 1994, realpunc, 0, realpunc, realpunc, taitob_c_state, init_taito_b, ROT0, "Taito Corporation Japan", "Real Puncher (World, v2.12O)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
GAME( 1994, realpunc, 0, realpunc, realpunc, taitob_c_state, init_taito_b, ROT0, "Taito Corporation Japan", "Real Puncher (World, v2.12O)", MACHINE_SUPPORTS_SAVE | MACHINE_MECHANICAL )
|
||||||
|
Loading…
Reference in New Issue
Block a user