cvs, galaxian, galaxold, igs017, snes, supracan, taitotz, trs80m3, vectrex, x1: initialized variables that were causing crashes in drvnoclear builds

This commit is contained in:
Ivan Vangelista 2020-11-06 18:32:36 +01:00
parent 14a076eb86
commit cba93eb879
13 changed files with 77 additions and 32 deletions

View File

@ -958,6 +958,7 @@ void cvs_state::machine_reset()
m_stars_on = 0;
m_scroll_reg = 0;
m_stars_scroll = 0;
m_s2650_flag = 0;
}
void cvs_state::cvs(machine_config &config)

View File

@ -7199,6 +7199,9 @@ void gmgalax_state::init_gmgalax()
{
address_space &space = m_maincpu->space(AS_PROGRAM);
m_stars_enabled = 0;
std::fill(std::begin(m_gfxbank), std::end(m_gfxbank), 0);
/* video extensions */
common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &gmgalax_state::gmgalax_extend_tile_info, &gmgalax_state::gmgalax_extend_sprite_info);

View File

@ -3840,6 +3840,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(igs017_state::iqblocka_interrupt)
MACHINE_RESET_MEMBER(igs017_state,iqblocka)
{
machine_reset();
m_input_select = 0;
}

View File

@ -2297,7 +2297,7 @@ ROM_END
game No. 833-8830-02
pcb No. 837-8832-02 (171-5873-02b)
ROM No. 834-8831-02 (171-5987a)
CPU Hiatchi FD1094 317-0196
CPU Hitachi FD1094 317-0196
*/
ROM_START( desertbr )
ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code - custom CPU 317-0196
@ -2367,7 +2367,7 @@ ROM_END
game No. 833-8830?
pcb No. 837-8832? (171-5873B)
ROM No. 834-8831 (171-5987A)
CPU Hiatchi FD1094 317-0194
CPU Hitachi FD1094 317-0194
*/
ROM_START( desertbrj )
ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code - custom CPU 317-0196
@ -2463,7 +2463,7 @@ ROM_START( hamaway )
ROM_LOAD16_BYTE( "c18.bin", 0x080001, 0x40000, CRC(0f8fe8bb) SHA1(e6f68442b8d4def29b106458496a47344f70d511) )
ROM_LOAD16_BYTE( "11.bin", 0x080000, 0x40000, CRC(2b5eacbc) SHA1(ba3690501588b9c88a31022b44bc3c82b44ae26b) )
ROM_LOAD16_BYTE( "c19.bin", 0x100001, 0x40000, CRC(3c616caa) SHA1(d48a6239b7a52ac13971f7513a65a17af492bfdf) ) // 11xxxxxxxxxxxxxxxx = 0xFF
ROM_LOAD16_BYTE( "12.bin", 0x100000, 0x40000, CRC(c7bbd579) SHA1(ab87bfdad66ea241cb23c9bbfea05f5a1574d6c9) ) // 1ST AND 2ND HALF IDENTICAL (but ok, because pairing ROM has no data in the 2nd half anyway)
ROM_LOAD16_BYTE( "12.bin", 0x100000, 0x40000, CRC(c7bbd579) SHA1(ab87bfdad66ea241cb23c9bbfea05f5a1574d6c9) ) // 1ST AND 2ND HALF IDENTICAL (but ok, because pairing ROM has no data in the 2nd half anyway), also found with the second half filled with 0xff
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "c16.bin", 0x000000, 0x40000, CRC(913cc18c) SHA1(4bf4ec14937586c3ae77fcad57dcb21f6433ef81) )

View File

@ -85,6 +85,9 @@ DEBUG TRICKS:
#include "softlist.h"
#include "tilemap.h"
namespace {
#define DRAW_DEBUG_ROZ (0)
#define DRAW_DEBUG_UNK_SPRITE (0)
@ -131,11 +134,12 @@ public:
void supracan(machine_config &config);
private:
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
void supracan_mem(address_map &map);
void supracan_sound_mem(address_map &map);
@ -1974,6 +1978,10 @@ void supracan_state::machine_reset()
m_video_timer->adjust(m_screen->time_until_pos(0, 0));
m_irq_mask = 0;
m_roz_base_addr = 0;
m_roz_mode = 0;
std::fill(std::begin(m_tilemap_base_addr), std::end(m_tilemap_base_addr), 0);
}
/* gfxdecode is retained for reference purposes but not otherwise used by the driver */
@ -2094,5 +2102,8 @@ void supracan_state::supracan(machine_config &config)
ROM_START( supracan )
ROM_END
} // Anonymous namespace
/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
CONS( 1995, supracan, 0, 0, supracan, supracan, supracan_state, empty_init, "Funtech Entertainment", "Super A'Can", MACHINE_NO_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )

View File

@ -506,6 +506,9 @@ Notes:
0x10000105:
*/
namespace {
#define LOG_PPC_TO_TLCS_COMMANDS 1
#define LOG_TLCS_TO_PPC_COMMANDS 1
@ -545,7 +548,9 @@ public:
m_iocpu(*this, "iocpu"),
m_work_ram(*this, "work_ram"),
m_mbox_ram(*this, "mbox_ram"),
m_ata(*this, "ata")
m_ata(*this, "ata"),
m_scr_base(0),
m_hdd_serial_number(nullptr)
{
}
@ -565,6 +570,11 @@ public:
required_device<screen_device> m_screen;
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
required_device<ppc_device> m_maincpu;
required_device<tmp95c063_device> m_iocpu;
@ -609,9 +619,6 @@ private:
std::unique_ptr<taitotz_renderer> m_renderer;
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_taitotz(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(taitotz_vbi);
uint16_t tlcs_ide0_r(offs_t offset, uint16_t mem_mask = ~0);
@ -781,6 +788,8 @@ void taitotz_state::video_start()
m_renderer = std::make_unique<taitotz_renderer>(*this, width, height, m_screen_ram.get(), m_texture_ram.get());
//machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&taitotz_exit, &machine()));
m_video_reg = 0;
}
static const float dot3_tex_table[32] =
@ -2992,6 +3001,9 @@ ROM_START( dendego3 )
DISK_IMAGE( "ddg3", 0, SHA1(468d699e02ef0a0242de4e7038613cc5d0545591) )
ROM_END
} // Anonymous namespace
GAME( 1999, taitotz, 0, taitotz, taitotz, taitotz_state, empty_init, ROT0, "Taito", "Type Zero BIOS", MACHINE_NO_SOUND|MACHINE_NOT_WORKING|MACHINE_IS_BIOS_ROOT )
GAME( 1998, batlgear, taitotz, taitotz, batlgr2, taitotz_state, init_batlgear, ROT0, "Taito", "Battle Gear (Ver 2.40 A)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_NODEVICE_LAN )
GAME( 1999, landhigh, taitotz, landhigh, landhigh, taitotz_state, init_landhigh, ROT0, "Taito", "Landing High Japan (Ver 2.01 OK)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )

View File

@ -2083,6 +2083,10 @@ MACHINE_RESET_MEMBER(x1_state,x1)
m_sub_val[3] = 0;
m_sub_val[4] = 0;
m_sub_obf = (m_sub_cmd_length) ? 0x00 : 0x20;
m_sub_val_ptr = 0;
m_key_i = 0;
m_scrn_reg.v400_mode = 0;
m_scrn_reg.ank_sel = 0;
m_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
@ -2359,7 +2363,7 @@ void x1_state::init_x1_kanji()
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1982, x1, 0, 0, x1, x1, x1_state, empty_init, "Sharp", "X1 (CZ-800C)", 0 )
// x1twin in x1twin.c
// x1twin in x1twin.cpp
COMP( 1984, x1turbo, x1, 0, x1turbo, x1turbo, x1_state, init_x1_kanji, "Sharp", "X1 Turbo (CZ-850C)", MACHINE_NOT_WORKING ) //model 10
COMP( 1985, x1turbo40, x1, 0, x1turbo, x1turbo, x1_state, init_x1_kanji, "Sharp", "X1 Turbo (CZ-862C)", 0 ) //model 40
//COMP( 1986, x1turboz, x1, 0, x1turbo, x1turbo, x1_state, init_x1_kanji, "Sharp", "X1 TurboZ", MACHINE_NOT_WORKING )

View File

@ -4,7 +4,7 @@
Sharp X1Twin = Sharp X1 + NEC PC Engine All-in-One
Both systems doesn't interact at all, according to info on the net they just shares the
Both systems don't interact at all, according to info on the net they just share the
same "house". It doesn't even do super-imposing, not even with the in-built X1 feature apparently
TODO:
@ -24,6 +24,8 @@
#include "speaker.h"
namespace {
class x1twin_state : public x1_state
{
public:
@ -99,7 +101,7 @@ INPUT_CHANGED_MEMBER(x1twin_state::ipl_reset)
//anything else?
}
/* Apparently most games doesn't support this (not even the Konami ones!), one that does is...177 :o */
/* Apparently most games don't support this (not even the Konami ones!), one that does is...177 :o */
INPUT_CHANGED_MEMBER(x1twin_state::nmi_reset)
{
m_maincpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
@ -540,11 +542,14 @@ ROM_START( x1twin )
ROM_REGION(0x20000, "kanji", ROMREGION_ERASEFF)
ROM_REGION(0x20000, "raw_kanji", ROMREGION_ERASEFF) // these comes from x1 turbo
ROM_REGION(0x20000, "raw_kanji", ROMREGION_ERASEFF) // these come from x1 turbo
ROM_LOAD("kanji4.rom", 0x00000, 0x8000, BAD_DUMP CRC(3e39de89) SHA1(d3fd24892bb1948c4697dedf5ff065ff3eaf7562) )
ROM_LOAD("kanji2.rom", 0x08000, 0x8000, BAD_DUMP CRC(e710628a) SHA1(103bbe459dc8da27a9400aa45b385255c18fcc75) )
ROM_LOAD("kanji3.rom", 0x10000, 0x8000, BAD_DUMP CRC(8cae13ae) SHA1(273f3329c70b332f6a49a3a95e906bbfe3e9f0a1) )
ROM_LOAD("kanji1.rom", 0x18000, 0x8000, BAD_DUMP CRC(5874f70b) SHA1(dad7ada1b70c45f1e9db11db273ef7b385ef4f17) )
ROM_END
} // Anonymous namespace
COMP( 1986, x1twin, x1, 0, x1twin, x1twin, x1twin_state, init_x1_kanji, "Sharp", "X1 Twin (CZ-830C)", MACHINE_NOT_WORKING )

View File

@ -168,6 +168,7 @@ protected:
virtual void video_start() override;
virtual void machine_start() override;
private:
void vectrex_map(address_map &map);
};
@ -182,13 +183,12 @@ public:
void raaspec(machine_config &config);
protected:
private:
void raaspec_led_w(uint8_t data);
uint8_t vectrex_s1_via_pb_r();
void raaspec_map(address_map &map);
private:
required_ioport m_io_coin;
};

View File

@ -154,6 +154,8 @@ void galaxold_state::init_4in1()
/* games are banked at 0x0000 - 0x3fff */
membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
std::fill(std::begin(m_gfxbank), std::end(m_gfxbank), 0);
_4in1_bank_w(0); /* set the initial CPU bank */
save_item(NAME(m__4in1_bank));

View File

@ -1071,21 +1071,18 @@ void snes_state::machine_start()
snes_init_timers();
for (int i = 0; i < 8; i++)
{
save_item(NAME(m_dma_channel[i].dmap), i);
save_item(NAME(m_dma_channel[i].dest_addr), i);
save_item(NAME(m_dma_channel[i].src_addr), i);
save_item(NAME(m_dma_channel[i].bank), i);
save_item(NAME(m_dma_channel[i].trans_size), i);
save_item(NAME(m_dma_channel[i].ibank), i);
save_item(NAME(m_dma_channel[i].hdma_addr), i);
save_item(NAME(m_dma_channel[i].hdma_iaddr), i);
save_item(NAME(m_dma_channel[i].hdma_line_counter), i);
save_item(NAME(m_dma_channel[i].unk), i);
save_item(NAME(m_dma_channel[i].do_transfer), i);
save_item(NAME(m_dma_channel[i].dma_disabled), i);
}
save_item(STRUCT_MEMBER(m_dma_channel, dmap));
save_item(STRUCT_MEMBER(m_dma_channel, dest_addr));
save_item(STRUCT_MEMBER(m_dma_channel, src_addr));
save_item(STRUCT_MEMBER(m_dma_channel, bank));
save_item(STRUCT_MEMBER(m_dma_channel, trans_size));
save_item(STRUCT_MEMBER(m_dma_channel, ibank));
save_item(STRUCT_MEMBER(m_dma_channel, hdma_addr));
save_item(STRUCT_MEMBER(m_dma_channel, hdma_iaddr));
save_item(STRUCT_MEMBER(m_dma_channel, hdma_line_counter));
save_item(STRUCT_MEMBER(m_dma_channel, unk));
save_item(STRUCT_MEMBER(m_dma_channel, do_transfer));
save_item(STRUCT_MEMBER(m_dma_channel, dma_disabled));
save_item(NAME(m_hblank_offset));
save_item(NAME(m_wram_address));
@ -1107,6 +1104,7 @@ void snes_state::machine_start()
m_input_disabled = 0;
m_game_over_flag = 0;
m_joy_flag = 1;
m_wram_address = 0;
}
void snes_state::machine_reset()

View File

@ -612,6 +612,8 @@ void trs80m3_state::machine_reset()
port_9c_w(1); // 4P - enable rom
if (m_model4 & 6)
port_84_w(0); // 4 & 4P - switch in devices
m_floppy = nullptr;
}

View File

@ -123,8 +123,6 @@ TIMER_CALLBACK_MEMBER(vectrex_base_state::vectrex_refresh)
uint32_t vectrex_base_state::screen_update_vectrex(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int i;
vectrex_configuration();
/* start black */
@ -133,7 +131,7 @@ uint32_t vectrex_base_state::screen_update_vectrex(screen_device &screen, bitmap
m_points[m_display_start].col,
0);
for (i = m_display_start; i != m_display_end; i = (i + 1) % NVECT)
for (int i = m_display_start; i != m_display_end; i = (i + 1) % NVECT)
{
m_vector->add_point(m_points[i].x,
m_points[i].y,
@ -245,6 +243,14 @@ void vectrex_base_state::video_start()
vector_add_point_function = &vectrex_base_state::vectrex_add_point;
m_refresh = timer_alloc(TIMER_VECTREX_REFRESH);
m_display_start = 0;
m_display_end = 0;
m_reset_refresh = 0;
m_blank = 0;
m_ramp = 0;
std::fill(std::begin(m_analog), std::end(m_analog), 0);
m_point_index = 0;
}
void vectrex_state::video_start()