Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08900 Crash/Freeze Critical (emulation) Always Aug 3, 2024, 06:40 11 days ago
Tester Robbbert View Status Public Platform MAME (Self-compiled)
Assigned To AJR Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.268 Fixed in Version 0.270 Build 64-bit
Fixed in Git Commit 000cf3b Github Pull Request #
Summary 08900: oric1, telstrat, orica, prav8d, prav8dd: Floppy disks cause crash at start
Description Most floppy disks (over 90% of my collection) will cause MAME to dump at start.

Works with other emulator.
Steps To Reproduce An example disk

>mame oric1 -ext microdisc -flop e:\data\tangerine\dsk\aiglon.dsk
Additional Information -----------------------------------------------------
Exception at EIP=00007ff7c59c08cc (floppy_image_format_t::generate_track_from_levels(int, int, std::vector<unsigned int, std::allocator<unsigned int> > const&, int, floppy_image&)+0x005c): ACCESS VIOLATION
While attempting to read memory at ffffffffffffffff
-----------------------------------------------------
RAX=0000029cc6220590 RBX=fce6fd1efd3efd3c RCX=000000000000002b RDX=0000000000000000
RSI=0000000000000000 RDI=0000000000001020 RBP=00000000500003e8 RSP=000000aecd1772a0
 R8=000000aecd1773b0 R9=00000000000186a0 R10=0000029cc0c90000 R11=000000aecd1771a0
R12=0000029cc60b2b00 R13=0000000000000052 R14=0000029cc7251b10 R15=0000029cc71f0090
-----------------------------------------------------
Stack crawl:
  000000aecd177320: 00007ff7c59c08cc (floppy_image_format_t::generate_track_from_levels(int, int, std::vector<unsigned int, std::allocator<unsigned int> > const&, int, floppy_image&)+0x005c)
  000000aecd178d90: 00007ff7c54dc21e (oric_dsk_format::load(util::random_read&, unsigned int, std::vector<unsigned int, std::allocator<unsigned int> > const&, floppy_image&) const+0x01fe)
  000000aecd178eb0: 00007ff7c20638a1 (floppy_image_device::call_load[abi:cxx11]()+0x0161)
  000000aecd178f60: 00007ff7c228016e (device_image_interface::finish_load[abi:cxx11]()+0x026e)
  000000aecd179080: 00007ff7c596d4cb (image_manager::postdevice_init()+0x017b)
  000000aecd1790c0: 00007ff7c1f4981f (driver_device::device_start()+0x008f)
  000000aecd179200: 00007ff7c1f6c148 (device_t::start()+0x0698)
  000000aecd179350: 00007ff7c21034ba (running_machine::start_all_devices()+0x014a)
  000000aecd179470: 00007ff7c2107551 (running_machine::start()+0x0a91)
  000000aecd1795f0: 00007ff7c210aafc (running_machine::run(bool)+0x00cc)
  000000aecd17ebc0: 00007ff7c593ef4c (mame_machine_manager::execute()+0x024c)
  000000aecd17efb0: 00007ff7c9a7655a (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&)+0x03ea)
  000000aecd17f2c0: 00007ff7c9a76b8a (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> > > >&)+0x007a)
  000000aecd17f320: 00007ff7c5939cf7 (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> > > >&)+0x0027)
  000000aecd17f6f0: 00007ff7cb712951 (luaopen_lfs+0xc63151)
  000000aecd17f740: 00007ff7bd6f12ee (__tmainCRTStartup+0x016e)
  000000aecd17f770: 00007ff7bd6f1406 (mainCRTStartup+0x0016)
  000000aecd17f7a0: 00007ffe8ef17374 (BaseThreadInitThunk+0x0014)
  000000aecd17f820: 00007ffe9057cc91 (RtlUserThreadStart+0x0021)
Github Commit
Flags
Regression Version
Affected Sets / Systems oric1, telstrat, orica, prav8d, prav8dd
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.22261
Robbbert
Senior Tester
Aug 3, 2024, 06:52
edited on: Aug 3, 2024, 07:43
I'm not sure if the prav8d/prav8dd are compatible, but they still crash the same as the rest of them.

Tried some floppies on the "oricutron" emulator, and everything seems ok with it so far.
User avatar
No.22304
Robbbert
Senior Tester
22 days ago
It's been over a month and nobody could be bothered, so I'm confirming it.
User avatar
No.22320
AJR
Developer
14 days ago
edited on: 14 days ago
000cf3b50e9e4639dbc40276eba515fe3d152516 fixes the crash and allows at least AIGLON.dsk to load.

I'm not sure this fix is quite correct for Oric, since many users seem to refer to 3.5" discs.
User avatar
No.22323
Robbbert
Senior Tester
13 days ago
Thanks for looking at that. I'm able to run quite a few disks on the oric1. I have a bunch of disks with 99 tracks and of course they are all being rejected.

Additionally, telstrat crashes when a fdc is attempted to be attached, although I don't know if that was a problem before. I can raise a new report after the next release, unless you want to look at it now.
User avatar
No.22329
Robbbert
Senior Tester
11 days ago
Since the emulation no longer crashes I'll mark this as fixed - even though there's still related issues.