Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07937 Media Support Minor Always Apr 10, 2021, 14:29 30 days ago
Tester Robbbert View Status Public Platform MAME (Self-compiled)
Assigned To AJR Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver trs80.cpp
Version 0.230 Fixed in Version 0.231 Build 64-bit
Fixed in Git Commit 2f5ebeb Github Pull Request #
Summary MESS-specific 07937: trs80l2 and clones: Crash if you try to create a new JV1 disk
Description If you use the File Manager to create a new JV1 disk, MAME crashes.
Steps To Reproduce >mame trs80l2

Press Scroll-lock, then Tab, and select the File Manager.
Choose an empty floppydisk slot, press Enter. Choose [create]. Type in a filename (it requires an extension too).
Choose Create. You get a list of formats, choose the JV1 one. It will immediately crash.
Additional Information -----------------------------------------------------
Exception at EIP=000000014958f35c (wd177x_format::check_compatibility(floppy_image*, std::vector<int, std::allocator<int> >&)+0x028c): ACCESS VIOLATION
While attempting to read memory at 0000000000000008
-----------------------------------------------------
RAX=0000000000000000 RBX=00000001502150c0 RCX=000000000000c350 RDX=0000000000000000
RSI=00000000023e8df0 RDI=00000001502150c0 RBP=0000000000000000 RSP=0000000000143b70
 R8=0000000000000000 R9=000000000a29c958 R10=0000000000000010 R11=000000000000c350
R12=0000000000143d10 R13=0000000000143c50 R14=0000000000000000 R15=0000000000000000
-----------------------------------------------------
Stack crawl:
  0000000000143cd0: 000000014958f35c (wd177x_format::check_compatibility(floppy_image*, std::vector<int, std::allocator<int> >&)+0x028c)
  0000000000149130: 000000014958fcec (wd177x_format::save(io_generic*, std::vector<unsigned int, std::allocator<unsigned int> > const&, floppy_image*)+0x013c)
  00000000001491e0: 0000000145081a83 (floppy_image_device::commit_image() [clone .part.0]+0x00f3)
  00000000001492b0: 000000014b201075 (ui::menu_control_floppy_image::handle()+0x0305)
  0000000000149320: 000000014ad3f645 (ui::menu::ui_handler(render_container&, mame_ui_manager&)+0x0035)
  0000000000149400: 000000014a747858 (mame_ui_manager::update_and_render(render_container&)+0x0178)
  0000000000149490: 000000014787d00c (video_manager::frame_update(bool)+0x018c)
  0000000000149500: 00000001440433a3 (screen_device::vblank_begin()+0x0233)
  0000000000149540: 000000014403adc9 (emu_timer::device_timer_expired(emu_timer&, void*, int)+0x0029)
  00000000001495b0: 000000014403bd53 (device_scheduler::timeslice()+0x0163)
  0000000000149710: 0000000144263718 (running_machine::run(bool)+0x0198)
  000000000014f350: 0000000147816a7e (mame_machine_manager::execute()+0x020e)
  000000000014f730: 000000014a78d61f (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)
  000000000014f9f0: 000000014a78dc2d (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)
  000000000014fa50: 0000000147813cf9 (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)
  000000000014fe20: 000000014b7a15c9 (main+0x0189)
  000000000014fef0: 00000001400013c1 (__tmainCRTStartup+0x0231)
  000000000014ff20: 00000001400014f6 (mainCRTStartup+0x0016)
  000000000014ff50: 00007ff9d3627c24 (BaseThreadInitThunk+0x0014)
  000000000014ffd0: 00007ff9d4e0d4d1 (RtlUserThreadStart+0x0021)
Github Commit
Flags
Regression Version
Affected Sets / Systems trs80l2 and clones
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.18694
Robbbert
Developer
31 days ago
Oddly, if you mount the new disk with NewUI, there's no crash and it can be formatted. The problem only happens with the File Manager.
User avatar
No.18703
Robbbert
Developer
30 days ago
edited on: 30 days ago
The crash has been fixed, however testing revealed further problems. Create works, format works slowly.

Copying files get stuck after a while, and MAME crashes on exit when it tries to save to the new disk.

Some of this could be due to emulation issues, but the crash should not happen.