- alphatpc16, amstr_pc, cischeat, kaypro, m72, pdp11, peplus, pt68k4, rm380z, sapi1, taito, tandy1t, tk80bs, univac, vegas, videopkr, votrpss, vsnes, williams: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds

- simple_st0016.cpp: enabled save state support
This commit is contained in:
Ivan Vangelista 2021-02-24 18:09:07 +01:00
parent 95f5bb86b3
commit aeb540deb1
22 changed files with 234 additions and 104 deletions

View File

@ -62,6 +62,9 @@ via the PC 16 Terminal, operates independently after programming), connects to t
#include "screen.h"
#include "speaker.h"
namespace {
class alphatpc16_state : public driver_device
{
public:
@ -84,9 +87,10 @@ public:
public:
void alphatpc16(machine_config &config);
private:
protected:
virtual void machine_start() override;
private:
void apc16_io(address_map &map);
void apc16_map(address_map &map);
void apc16_z80_io(address_map &map);
@ -125,6 +129,13 @@ void alphatpc16_state::machine_start()
{
m_maincpu->space(AS_PROGRAM).install_ram(0, m_ram->size() - 1, m_ram->pointer());
m_wdfdc->set_floppy(m_flop0->get_device());
m_bsy = false;
m_req = false;
m_ack = false;
m_cd = false;
m_io = false;
m_sel = false;
}
void alphatpc16_state::p1_w(u8 data)
@ -538,5 +549,8 @@ ROM_START( alphatpc16 )
ROM_LOAD( "charset.rom", 0x0000, 0x2000, BAD_DUMP CRC(b2f49eb3) SHA1(d0ef530be33bfc296314e7152302d95fdf9520fc) ) // from dcvg5k
ROM_END
} // Anonymous namespace
COMP( 1985, alphatpc16, 0, 0, alphatpc16, alphatpc16, alphatpc16_state, empty_init, "Triumph-Adler", "alphatronic PC-16", MACHINE_NOT_WORKING)

View File

@ -223,6 +223,9 @@ public:
void ppc640(machine_config &config);
void ppc512(machine_config &config);
protected:
virtual void machine_start() override;
private:
required_device<cpu_device> m_maincpu;
required_device<ram_device> m_ram;
@ -256,7 +259,7 @@ private:
uint8_t m_port62;
uint8_t m_port65;
int m_dipstate;
uint8_t m_dipstate;
static void cfg_com(device_t *device);
static void cfg_fdc(device_t *device);
@ -297,6 +300,23 @@ void amstrad_pc_state::ppc512_io(address_map &map)
map(0x0070, 0x0071).rw("rtc", FUNC(mc146818_device::read), FUNC(mc146818_device::write));
}
void amstrad_pc_state::machine_start()
{
m_port60 = 0;
m_port61 = 0;
m_port62 = 0;
m_port65 = 0;
m_dipstate = 0;
save_item(NAME(m_port60));
save_item(NAME(m_port61));
save_item(NAME(m_port62));
save_item(NAME(m_port65));
save_item(NAME(m_dipstate));
save_item(NAME(m_mouse.x));
save_item(NAME(m_mouse.y));
}
/* pc20 (v2)
fc078
fc102 color/mono selection

View File

@ -96,6 +96,8 @@
#include "machine/rx01.h"
namespace {
class pdp11_state : public driver_device
{
public:
@ -111,6 +113,10 @@ public:
void pdp11qb(machine_config &config);
void sms1000(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
required_device<t11_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
@ -120,7 +126,6 @@ private:
void kbd_put(u8 data);
uint8_t m_teletype_data;
uint16_t m_teletype_status;
virtual void machine_reset() override;
DECLARE_MACHINE_RESET(pdp11ub2);
DECLARE_MACHINE_RESET(pdp11qb);
void load9312prom(uint8_t *desc, uint8_t *src, int size);
@ -281,6 +286,14 @@ static INPUT_PORTS_START( pdp11 )
M9312_PORT_CONFSETTING
INPUT_PORTS_END
void pdp11_state::machine_start()
{
m_teletype_data = 0;
m_teletype_status = 0;
save_item(NAME(m_teletype_data));
save_item(NAME(m_teletype_status));
}
void pdp11_state::machine_reset()
{
@ -507,6 +520,9 @@ ROM_START( sms1000 )
ROM_LOAD( "2127001b", 0x1f000, 0x000100, NO_DUMP ) // has 3 of these
ROM_END
} // Anonymous namespace
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */

View File

@ -219,6 +219,8 @@ A Note about Best Bet Products.
#include "pe_slots.lh"
namespace {
class peplus_state : public driver_device
{
public:
@ -1367,6 +1369,8 @@ void peplus_state::machine_start()
save_item(NAME(m_bv_data_bit));
save_item(NAME(m_bv_loop_count));
save_item(NAME(m_id023_data));
m_door_open = 0;
}
/*************************
@ -14477,6 +14481,8 @@ ROM_START( pexmp030 ) /* Superboard : 5-in-1 Wingboard (XMP00030) - PSR Verified
ROM_LOAD( "capx2298.u43", 0x0000, 0x0200, CRC(77856036) SHA1(820487c8494965408402ddee6a54511906218e66) )
ROM_END
} // Anonymous namespace
/*************************
* Game Drivers *

View File

@ -80,6 +80,8 @@ TODO: 68230 device
#include "formats/imd_dsk.h"
namespace {
#define M68K_TAG "maincpu"
#define DUART1_TAG "duart1"
#define DUART2_TAG "duart2"
@ -106,6 +108,10 @@ public:
void pt68k2(machine_config &config);
void pt68k4(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
uint8_t hiram_r(offs_t offset);
void hiram_w(offs_t offset, uint8_t data);
@ -118,7 +124,7 @@ private:
void fdc_select_w(uint8_t data);
DECLARE_WRITE_LINE_MEMBER(duart1_irq);
DECLARE_WRITE_LINE_MEMBER(duart2_irq);
[[maybe_unused]] DECLARE_WRITE_LINE_MEMBER(duart2_irq);
DECLARE_WRITE_LINE_MEMBER(irq5_w);
@ -130,8 +136,6 @@ private:
void pt68k2_mem(address_map &map);
void pt68k4_mem(address_map &map);
virtual void machine_start() override;
virtual void machine_reset() override;
required_shared_ptr<uint16_t> m_p_base;
required_device<cpu_device> m_maincpu;
required_device<mc68681_device> m_duart1;
@ -331,6 +335,8 @@ void pt68k4_state::machine_start()
save_item(NAME(m_lastdrive));
save_item(NAME(m_irq5_duart1));
save_item(NAME(m_irq5_isa));
m_irq5_isa = false;
}
void pt68k4_state::machine_reset()
@ -505,6 +511,9 @@ ROM_START( pt68k4 )
ROM_LOAD_OPTIONAL( "16l8.u11", 0x0700, 0x000109, CRC(397a1363) SHA1(aca2a02e1bf1f7cdb9b0ca24ebecb0b01ae472e8) )
ROM_END
} // Anonymous namespace
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1988, pt68k2, 0, 0, pt68k2, pt68k4, pt68k4_state, empty_init, "Peripheral Technology", "PT68K2", MACHINE_SUPPORTS_SAVE )

View File

@ -88,7 +88,7 @@ RM480Z has the speaker fitted
===
Memory map from sevice manual:
Memory map from service manual:
PAGE SEL bit in PORT0 set to 0:
@ -180,7 +180,7 @@ void rm380z_state::rm380z_mem(address_map &map)
map(0xf600, 0xf9ff).rom().region(RM380Z_MAINCPU_TAG, 0x1000); /* Extra ROM space for COS4.0 */
map(0xfa00, 0xfaff).ram();
map(0xfb00, 0xfbff).rw(FUNC(rm380z_state::port_read), FUNC(rm380z_state::port_write));
map(0xfc00, 0xffff).rw(FUNC(rm380z_state::hiram_read), FUNC(rm380z_state::hiram_write));
map(0xfc00, 0xffff).ram().share("hiram");
}
void rm380z_state::rm380z_io(address_map &map)

View File

@ -52,6 +52,9 @@ ZPS stands for "Základní Počítačová Sestava" (basic computer system).
#include "machine/timer.h"
#include "speaker.h"
namespace {
class sapi_state : public driver_device
{
public:
@ -78,6 +81,10 @@ public:
void init_sapizps3a();
void init_sapizps3b();
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
private:
optional_shared_ptr<uint8_t> m_p_videoram;
void kbd_put(u8 data);
@ -100,8 +107,7 @@ private:
MC6845_UPDATE_ROW(crtc_update_row);
DECLARE_READ_LINE_MEMBER(si);
DECLARE_WRITE_LINE_MEMBER(so);
void machine_reset() override;
void machine_start() override;
uint32_t screen_update_sapi1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sapi3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@ -747,6 +753,8 @@ void sapi_state::machine_start()
save_item(NAME(m_cassold));
save_item(NAME(m_ier));
save_item(NAME(m_iet));
m_term_data = 0;
}
void sapi_state::init_sapizps3()
@ -939,6 +947,8 @@ ROM_START( sapizps3b )
ROM_LOAD("pkt1.bin", 0x10000, 0x0800, CRC(ed5a2725) SHA1(3383c15f87f976400b8d0f31829e2a95236c4b6c))
ROM_END
} // Anonymous namespace
/* Driver */

View File

@ -793,13 +793,13 @@ void st0016_state::init_mayjisn2()
*
*************************************/
GAME( 1994, renju, 0, renju, renju, st0016_state, init_renju, ROT0, "Visco", "Renju Kizoku", MACHINE_NO_COCKTAIL)
GAME( 1996, nratechu, 0, st0016, nratechu, st0016_state, init_nratechu, ROT0, "Seta", "Neratte Chu", MACHINE_NO_COCKTAIL)
GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, init_mayjisn2, ROT0, "Seta", "Mayjinsen 2", MACHINE_NO_COCKTAIL)
GAME( 1995, koikois, 0, st0016, koikois, st0016_state, init_renju, ROT0, "Visco", "Koi Koi Shimasho", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL)
GAME( 2001, gostop, 0, st0016, gostop, st0016_state, init_renju, ROT0, "Visco", "Kankoku Hanafuda Go-Stop", MACHINE_NO_COCKTAIL)
GAME( 1994, renju, 0, renju, renju, st0016_state, init_renju, ROT0, "Visco", "Renju Kizoku", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1996, nratechu, 0, st0016, nratechu, st0016_state, init_nratechu, ROT0, "Seta", "Neratte Chu", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, init_mayjisn2, ROT0, "Seta", "Mayjinsen 2", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1995, koikois, 0, st0016, koikois, st0016_state, init_renju, ROT0, "Visco", "Koi Koi Shimasho", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 2001, gostop, 0, st0016, gostop, st0016_state, init_renju, ROT0, "Visco", "Kankoku Hanafuda Go-Stop", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
// Not working
GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, init_mayjinsn, ROT0, "Seta", "Mayjinsen", MACHINE_IMPERFECT_GRAPHICS|MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL)
GAME( 1994, dcrown, 0, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 1)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text
GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 2)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // the Insert Coin text has been translated to English and no (c) is uploaded
GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, init_mayjinsn, ROT0, "Seta", "Mayjinsen", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1994, dcrown, 0, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 1)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text
GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 2)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // the Insert Coin text has been translated to English and no (c) is uploaded

View File

@ -56,6 +56,8 @@ ToDO:
#include "taito.lh"
namespace {
class taito_state : public genpin_class
{
public:
@ -76,7 +78,8 @@ public:
void taito4(machine_config &config);
void taito5(machine_config &config);
void init_taito();
protected:
virtual void machine_start() override;
private:
uint8_t io_r(offs_t offset);
@ -98,8 +101,6 @@ private:
uint8_t m_sndcmd;
uint8_t m_votrax_cmd;
uint8_t m_io[16];
virtual void machine_reset() override;
virtual void machine_start() override { m_digits.resolve(); }
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_cpu2;
required_device<pia6821_device> m_pia;
@ -326,12 +327,12 @@ WRITE_LINE_MEMBER( taito_state::votrax_request )
m_pia->ca1_w(state ? 0 : 1);
}
void taito_state::machine_reset()
void taito_state::machine_start()
{
}
m_digits.resolve();
void taito_state::init_taito()
{
m_out_offs = 0;
std::fill(std::begin(m_io), std::end(m_io), 0);
}
TIMER_DEVICE_CALLBACK_MEMBER( taito_state::timer_a )
@ -1013,53 +1014,56 @@ ROM_START(mrblkz80)
ROM_LOAD("mrb_s3.bin", 0x7000, 0x1000, CRC(276fb897) SHA1(b1a4323a4d921e3ae4beefaa04cd95e18cc33b9d))
ROM_END
} // Anonymous namespace
// no sound
GAME(198?, taitest, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
GAME(198?, taitest, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Taito Test Fixture", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
// dac (sintetizador)
GAME(1979, shock, 0, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Shock", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaoba, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaoba1, obaoba, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaobao, obaoba, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, drakor, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Drakor", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, meteort, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, sureshop, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, cosmic, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cosmic", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, gemini2k, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, gemini2k1, gemini2k, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, vortexp, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, zarza, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, zarza1, zarza, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, sharkt, 0, taito2, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, stest, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Speed Test", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, lunelle, 0, taito2, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Lunelle", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1980, rally, 0, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Rally", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, football, 0, shock, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Football", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1979, shock, 0, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Shock", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaoba, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaoba1, obaoba, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, obaobao, obaoba, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Oba-Oba (old hardware)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, drakor, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Drakor", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1980, meteort, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Meteor (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, sureshop, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, cosmic, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cosmic", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, gemini2k, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, gemini2k1, gemini2k, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gemini 2000 (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, vortexp, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Vortex (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, zarza, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Zarza (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, zarza1, zarza, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Zarza (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, sharkt, 0, taito2, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Shark (Taito)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, stest, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Speed Test", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1982, lunelle, 0, taito2, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Lunelle", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1980, rally, 0, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Rally", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(1981, football, 0, shock, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Football", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
// dac and vox (sintevox)
GAME(1981, fireact, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Fire Action", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, ladylukt, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(198?, vegast, ladylukt, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, titan, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, titan1, titan, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, hawkman, 0, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, hawkman1, hawkman, taito4, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, fireact, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Fire Action", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro1, cavnegro, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, cavnegro2, cavnegro, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Cavaleiro Negro (set 3)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1981, ladylukt, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Lady Luck (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(198?, vegast, ladylukt, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Vegas (Taito)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, titan, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Titan (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, titan1, titan, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Titan (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(1982, hawkman, 0, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, hawkman1, hawkman, taito4, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Hawkman (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
// dac and ay
GAME(1982, snake, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(198?, voleybal, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Volley", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1984, mrblack, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, mrblack1, mrblack, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, sshuttle, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, sshuttle1, sshuttle, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(198?, polar, 0, taito5, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, snake, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Snake Machine", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME(198?, voleybal, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Volley", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1984, mrblack, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, mrblack1, mrblack, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, sshuttle, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1985, sshuttle1, sshuttle, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(198?, polar, 0, taito5, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Polar Explorer", MACHINE_IS_SKELETON_MECHANICAL)
// dac, vox and ay
GAME(1982, gork, 0, taito6, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Gork", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(198?, fireactd, 0, taito6, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1982, gork, 0, taito6, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Gork", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME(198?, fireactd, 0, taito6, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Fire Action Deluxe", MACHINE_IS_SKELETON_MECHANICAL)
// different hardware
GAME(198?, mrblkz80, mrblack, taito, taito, taito_state, init_taito, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(198?, mrblkz80, mrblack, taito, taito, taito_state, empty_init, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", MACHINE_IS_SKELETON_MECHANICAL)

View File

@ -96,6 +96,9 @@ public:
void t1000hx(machine_config &config);
void t1000tx(machine_config &config);
protected:
virtual void machine_start() override;
private:
required_device<cpu_device> m_maincpu;
@ -125,8 +128,6 @@ private:
void tandy1000_write_eeprom(uint8_t data);
void tandy1000_set_bios_bank();
void machine_start() override;
DECLARE_MACHINE_RESET(tandy1000rl);
struct
@ -437,6 +438,8 @@ void tandy1000_state::machine_start()
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(m_ram->size() - (128*1024), 640*1024 - 1,
read8sm_delegate(*this, FUNC(tandy1000_state::vram_r)), write8sm_delegate(*this, FUNC(tandy1000_state::vram_w)), 0xffff);
subdevice<nvram_device>("nvram")->set_base(m_eeprom_ee, sizeof(m_eeprom_ee));
m_eeprom_state = 0;
}
uint8_t tandy1000_state::tandy1000_bank_r(offs_t offset)

View File

@ -29,6 +29,9 @@ TODO:
#include "emupal.h"
#include "screen.h"
namespace {
class tk80bs_state : public driver_device
{
public:
@ -43,9 +46,11 @@ public:
void tk80bs(machine_config &config);
protected:
virtual void machine_start() override;
private:
uint8_t ppi_custom_r(offs_t offse);
void machine_start() override;
void ppi_custom_w(offs_t offset, uint8_t data);
void kbd_put(u8 data);
uint8_t port_a_r();
@ -157,6 +162,8 @@ void tk80bs_state::kbd_put(u8 data)
void tk80bs_state::machine_start()
{
save_item(NAME(m_term_data));
m_term_data = 0;
}
@ -230,6 +237,9 @@ ROM_START( tk80bs )
ROM_LOAD( "font.rom", 0x0000, 0x1000, BAD_DUMP CRC(94d95199) SHA1(9fe741eab866b0c520d4108bccc6277172fa190c))
ROM_END
} // Anonymous namespace
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS

View File

@ -120,6 +120,8 @@ After entering the characters, press FCTN and CTRL PAGE keys again to save the s
#define LOGNVRAM(...) LOGMASKED(LOG_NVRAM, __VA_ARGS__)
namespace {
class univac_state : public driver_device
{
public:
@ -158,6 +160,9 @@ public:
void uts10(machine_config &config);
void uts20(machine_config &config);
protected:
virtual void machine_start() override;
private:
u8 ram_r(offs_t offset);
u8 bank_r(offs_t offset);
@ -187,7 +192,6 @@ private:
void mem_map(address_map &map);
void uts10_io_map(address_map &map);
void uts10_map(address_map &map);
virtual void machine_start() override;
required_device<z80_device> m_maincpu;
required_device<nvram_device> m_nvram;
@ -482,6 +486,8 @@ void univac_state::machine_start()
save_item(NAME(m_aux_dsr));
save_item(NAME(m_sio_wrdyb));
save_item(NAME(m_disp_mask));
m_disp_mask = 0;
}
uint32_t univac_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@ -672,6 +678,8 @@ ROM_START( uts20 )
ROM_LOAD( "chr_5565.bin", 0x0000, 0x0800, BAD_DUMP CRC(7d99744f) SHA1(2db330ca94a91f7b2ac2ac088ae9255f5bb0a7b4) )
ROM_END
} // Anonymous namespace
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS

View File

@ -17,7 +17,7 @@
* CART Fury Championship Racing [250MHz RM7000, 32MB RAM, Durango + Denver + Voodoo 3, 16MB]
Known bugs:
* not working yet
* Tournament Editions not working yet
***************************************************************************
@ -177,10 +177,10 @@
4x MT48LC1M16AT RAM
1x 93clc46b label A-22911 config eeprom
1x texas instruments 8CA00YF (don't know what it is)
1x motorolla MPC948 clock distribution chip
1x motorola MPC948 clock distribution chip
100MHz crystal
1x CMDPCI646U2 IDE controller
1x 7segment LED display (cycles IOASIC if you try to load a game that doesnt match the PIC, spins during normal play)
1x 7segment LED display (cycles IOASIC if you try to load a game that doesn't match the PIC, spins during normal play)
1x 232ACBN serial port controller
other misc 74xxx parts
Boot ROM 1.7
@ -291,6 +291,9 @@
#include "sf2049.lh"
namespace {
/*************************************
*
* Debugging constants
@ -376,6 +379,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(keypad_r);
DECLARE_CUSTOM_INPUT_MEMBER(gearshift_r);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
static constexpr unsigned SYSTEM_CLOCK = 100000000;
@ -424,9 +431,6 @@ private:
DECLARE_WRITE_LINE_MEMBER(duart_irq_cb);
DECLARE_WRITE_LINE_MEMBER(vblank_assert);
virtual void machine_start() override;
virtual void machine_reset() override;
void update_sio_irqs();
DECLARE_WRITE_LINE_MEMBER(watchdog_reset);
@ -510,6 +514,8 @@ void vegas_state::machine_start()
if (LOG_SIO)
logerror("Did not find dcs2 sound board\n");
}
m_cmos_unlocked = 0;
}
@ -2627,6 +2633,7 @@ void vegas_state::init_cartfury()
{
}
} // Anonymous namespace
/*************************************

View File

@ -264,7 +264,7 @@
* Add Tech. Notes for Baby board, a reworked and improved version on Video Poker hardware.
* Fix some missing pulses on mechanical counters.
* Fix the bug on bookeeping mode (videodad & videocba).
* Fix the bug on bookkeeping mode (videodad & videocba).
* Figure out the undocumented jumper.
* Hopper simulation.
* Switch to resnet system.
@ -296,6 +296,8 @@
#include "videopkr.lh"
namespace {
#define CPU_CLOCK (XTAL(6'000'000)) /* main cpu clock */
#define CPU_CLOCK_ALT (XTAL(8'000'000)) /* alternative main cpu clock for newer games */
#define SOUND_CLOCK (XTAL(8'000'000)) /* sound cpu clock */
@ -307,6 +309,9 @@ class videopkr_state : public driver_device
public:
videopkr_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_data_ram(*this, "data_ram", 0x100, ENDIANNESS_LITTLE)
, m_video_ram(*this, "video_ram", 0x400, ENDIANNESS_LITTLE)
, m_color_ram(*this, "color_ram", 0x400, ENDIANNESS_LITTLE)
, m_maincpu(*this, "maincpu")
, m_soundcpu(*this, "soundcpu")
, m_gfxdecode(*this, "gfxdecode")
@ -322,6 +327,10 @@ public:
void fortune1(machine_config &config);
void bpoker(machine_config &config);
protected:
virtual void machine_start() override;
virtual void video_start() override;
private:
uint8_t videopkr_io_r(offs_t offset);
void videopkr_io_w(offs_t offset, uint8_t data);
@ -357,12 +366,9 @@ private:
void i8751_io_port(address_map &map);
void i8751_map(address_map &map);
virtual void machine_start() override;
virtual void video_start() override;
uint8_t m_data_ram[0x100];
uint8_t m_video_ram[0x0400];
uint8_t m_color_ram[0x0400];
memory_share_creator<uint8_t> m_data_ram;
memory_share_creator<uint8_t> m_video_ram;
memory_share_creator<uint8_t> m_color_ram;
uint16_t m_p1;
uint16_t m_p2;
uint8_t m_t0_latch;
@ -1212,6 +1218,11 @@ void videopkr_state::machine_start()
m_p1 = 0xff;
m_ant_cio = 0;
m_count0 = 0;
m_count1 = 0;
m_count2 = 0;
m_count3 = 0;
m_count4 = 0;
m_ant_jckp = 0;
subdevice<nvram_device>("nvram")->set_base(m_data_ram, sizeof(m_data_ram));
}
@ -1567,6 +1578,9 @@ ROM_START( fortune1 )
ROM_LOAD( "3140-cap8.b8", 0x0000, 0x0100, CRC(09abf5f1) SHA1(f2d6b4f2f08b47b93728dafb50576d5ca859255f) )
ROM_END
} // Anonymous namespace
/*************************
* Game Drivers *
*************************/

View File

@ -11,7 +11,7 @@
Main xtal is 8MHz
AY-3-8910 and i8253 clock is running at 2 MHz (xtal/4)
Z80A is runing at 4MHz (xtal/2)
Z80A is running at 4MHz (xtal/2)
clock dividers also generate the system reset signals for the 8251 and and a periodic IRQ at 122Hz (xtal/65536)
I8253:
@ -375,6 +375,9 @@ BUT, at least on the revision C 1872 CPU pcb, they are both tied directly to VCC
#include "machine/terminal.h"
#include "speaker.h"
namespace {
class votrpss_state : public driver_device
{
public:
@ -387,6 +390,9 @@ public:
void votrpss(machine_config &config);
protected:
virtual void machine_start() override;
private:
void kbd_put(u8 data);
uint8_t ppi_pa_r();
@ -406,7 +412,7 @@ private:
uint8_t m_porta;
uint8_t m_portb;
uint8_t m_portc;
virtual void machine_start() override;
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
required_device<i8255_device> m_ppi;
@ -477,6 +483,11 @@ void votrpss_state::machine_start()
save_item(NAME(m_porta));
save_item(NAME(m_portb));
save_item(NAME(m_portc));
m_term_data = 0;
m_porta = 0;
m_portb = 0;
m_portc = 0;
}
TIMER_DEVICE_CALLBACK_MEMBER( votrpss_state::irq_timer )
@ -618,6 +629,7 @@ ROM_START(votrpss)
ROM_END
} // Anonymous namespace
/******************************************************************************

View File

@ -113,7 +113,7 @@ public:
void scudhamm_map(address_map &map);
protected:
virtual void machine_start() override { m_leds.resolve(); }
virtual void machine_start() override { m_leds.resolve(); m_scudhamm_motor_command = 0; }
virtual void video_start() override;
optional_device_array<megasys1_tilemap_device, 3> m_tmap;
@ -121,7 +121,6 @@ protected:
optional_shared_ptr_array<uint16_t,2> m_roadram;
optional_shared_ptr<uint16_t> m_f1gpstr2_ioready;
uint16_t *m_objectram;
uint16_t m_active_layers;
int m_prev;
@ -129,7 +128,9 @@ protected:
int m_ip_select;
uint16_t m_wildplt_output;
uint8_t m_drawmode_table[16];
int m_debugsprites;
#ifdef MAME_DEBUG
int m_debugsprites = 0;
#endif
int m_show_unknown;
uint16_t *m_spriteram;

View File

@ -60,12 +60,16 @@ public:
m_fg_tilemap(nullptr),
m_bg_tilemap(nullptr),
m_bg_tilemap_large(nullptr),
m_video_off(0),
m_fg_source(0),
m_bg_source(0),
m_m81_b_b_j3(*this, "JumperJ3"),
m_m82_rowscroll(0),
m_m82_tmcontrol(0)
{ }
{
m_scrollx[0] = m_scrollx[1] = 0;
m_scrolly[0] = m_scrolly[1] = 0;
}
void m72_base(machine_config &config);
void m72_audio_chips(machine_config &config);

View File

@ -68,6 +68,10 @@ public:
void init_rm380z34e();
void init_rm480z();
protected:
virtual void machine_reset() override;
virtual void machine_start() override;
private:
void put_point(int charnum,int x,int y,int col);
void init_graphic_chars();
@ -80,9 +84,6 @@ private:
int writenum;
virtual void machine_reset() override;
virtual void machine_start() override;
uint8_t m_port0;
uint8_t m_port0_mask;
uint8_t m_port0_kbd;
@ -123,10 +124,6 @@ private:
uint8_t videoram_read(offs_t offset);
void videoram_write(offs_t offset, uint8_t data);
uint8_t hiram[0x1000];
uint8_t hiram_read(offs_t offset);
void hiram_write(offs_t offset, uint8_t data);
uint8_t rm380z_portlow_r();
void rm380z_portlow_w(offs_t offset, uint8_t data);
uint8_t rm380z_porthi_r();

View File

@ -236,6 +236,8 @@ void kaypro_state::machine_start()
save_item(NAME(m_fdc_rq));
save_item(NAME(m_system_port));
save_item(NAME(m_mc6845_video_address));
m_framecnt = 0;
}
void kaypro_state::machine_reset()

View File

@ -128,16 +128,6 @@ uint8_t rm380z_state::port_read_1b00(offs_t offset)
return port_read(offset+0xfc);
}
uint8_t rm380z_state::hiram_read(offs_t offset)
{
return hiram[offset];
}
void rm380z_state::hiram_write(offs_t offset, uint8_t data)
{
hiram[offset]=data;
}
uint8_t rm380z_state::rm380z_portlow_r()
{
return 0xff;

View File

@ -911,6 +911,8 @@ void vsnes_state::init_supxevs()
m_maincpu->space(AS_PROGRAM).install_read_handler(0x5678, 0x5678, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_2_r)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x578f, 0x578f, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_3_r)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x5567, 0x5567, read8smo_delegate(*this, FUNC(vsnes_state::supxevs_read_prot_4_r)));
m_supxevs_prot_index = 0;
}
/* Vs. TKO Boxing */

View File

@ -667,6 +667,7 @@ void blaster_state::video_control_w(u8 data)
void williams_state::blitter_init(int blitter_config, const uint8_t *remap_prom)
{
std::fill(std::begin(m_blitterram), std::end(m_blitterram), 0);
static const uint8_t dummy_table[] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
/* by default, there is no clipping window - this will be touched only by games that have one */