Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08650 Crash/Freeze Critical (emulator) Always May 31, 2023, 11:09 Jun 3, 2023, 00:55
Tester r09 View Status Public Platform MAME (Official Binary)
Assigned To AJR Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.255 Fixed in Version 0.256 Build 64-bit
Fixed in Git Commit c072c4c Github Pull Request #
Summary 08650: x68000: Configuring less than 4 floppy drives crashes MAME
Description Trying to run the X68000 driver with anything other than 4 floppy drives (real machines normally have 2) causes an access violation:

-----------------------------------------------------
Exception at EIP=00007ff7184e3a97 (x68k_state::fdc_r(unsigned int)+0x0057): ACCESS VIOLATION
While attempting to read memory at 0000000000000340
-----------------------------------------------------
RAX=0000000000000000 RBX=000001d9dcb2eed0 RCX=000001d9dcb116e0 RDX=0000000000000004
RSI=000001d9dcb2eed0 RDI=0000000000000000 RBP=0de0b6b3a763ffff RSP=000000b350d19848
 R8=00000000000000ff R9=0000000000e94004 R10=000000174876e800 R11=0000000000000011
R12=f21f494c589c0000 R13=000000000000000a R14=00007ff7260b77c0 R15=000000b350d19c70
-----------------------------------------------------
Stack crawl:
  000000b350d19840: 00007ff7184e3a97 (x68k_state::fdc_r(unsigned int)+0x0057)
  000000b350d19870: 00007ff71df1be46 (handler_entry_read_delegate<1, 0, emu::device_delegate<unsigned short (unsigned int)> >::read_interruptible(unsigned int, unsigned short) const+0x0016)
  000000b350d198a0: 00007ff71d2c6a5f (handler_entry_read_dispatch<14, 1, 0>::read_interruptible(unsigned int, unsigned short) const+0x001f)
  000000b350d198e0: 00007ff71e97300b (m68000_device::move_b_ais_dd_df()+0x00db)
  000000b350d19910: 00007ff719d9f8f2 (m68000_device::execute_run()+0x0072)
  000000b350d19980: 00007ff7198b98f8 (device_scheduler::timeslice()+0x02e8)
  000000b350d19ae0: 00007ff7198b68bf (running_machine::run(bool)+0x01bf)
  000000b350d1f000: 00007ff71ce567fb (mame_machine_manager::execute()+0x020b)
  000000b350d1f3e0: 00007ff720c24d9f (cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x03cf)
  000000b350d1f6a0: 00007ff720c253ad (cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x004d)
  000000b350d1f700: 00007ff71ce50e79 (emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x0029)
  000000b350d1fac0: 00007ff721e76193 (luaopen_lfs+0xea4483)
  000000b350d1fb90: 00007ff714ed13b1 (__tmainCRTStartup+0x0231)
  000000b350d1fbc0: 00007ff714ed14e6 (mainCRTStartup+0x0016)
  000000b350d1fbf0: 00007ffa20864de0 (BaseThreadInitThunk+0x0010)
  000000b350d1fc70: 00007ffa2135e3db (RtlUserThreadStart+0x002b)
Steps To Reproduce Either disable any of the floppy drives from the UI slot devices menu and reset the machine, or disable them from the command line, for example:

mame x68000 -upd72065:2 "" -upd72065:3 ""

MAME will crash immediately after the emulation starts.
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems x68000
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
1
User avatar
No.21476
Robbbert
Senior Tester
May 31, 2023, 12:13
Confirmed.

I started the emulation with no options, then I went into Slot Devices and removed the 4th drive and chose Reset System, and it crashed with the above dump.