diff options
author | 2022-04-01 22:59:53 -0400 | |
---|---|---|
committer | 2022-04-01 22:59:56 -0400 | |
commit | 02faf3a3a1bc55bf97b8a7fdc4ba376110918a1c (patch) | |
tree | 165927d9ffd172fa10bc53cdbff2aed9c3780961 /src | |
parent | 2aa80b9d070dbcabac358ab35bfcbeb82f2e4e2d (diff) |
ksys573.cpp: Workaround for segmentation fault when starting systems with fewer than two CD-ROMs
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/ksys573.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp index dc4192c021b..5334003e465 100644 --- a/src/mame/drivers/ksys573.cpp +++ b/src/mame/drivers/ksys573.cpp @@ -1107,8 +1107,11 @@ void ksys573_state::driver_start() m_atapi_timer = machine().scheduler().timer_alloc( timer_expired_delegate( FUNC( ksys573_state::atapi_xfer_end ),this ) ); m_atapi_timer->adjust( attotime::never ); - m_available_cdroms[ 0 ] = new cdrom_file(machine().rom_load().get_disk_handle(":cdrom0")); - m_available_cdroms[ 1 ] = new cdrom_file(machine().rom_load().get_disk_handle(":cdrom1")); + for (int i = 0; i < 2; i++) + { + chd_file *chd = machine().rom_load().get_disk_handle(util::string_format(":cdrom%d", i)); + m_available_cdroms[ i ] = chd ? new cdrom_file(chd) : nullptr; + } save_item( NAME( m_n_security_control ) ); save_item( NAME( m_control ) ); |