Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05792 Crash/Freeze Critical (emulator) Always Dec 8, 2014, 21:30 Apr 30, 2022, 02:24
Tester demotester View Status Public Platform
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.156 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 05792: osborne1: Use some of floppy from software causes crash
Description see steps below:
Steps To Reproduce mess osborne1 -flop1 sysconf
Additional Information Stack crawl (from 0.156)

Exception at EIP=00000000016FE120 (floppy_image_format_t::generate_track_from_le
vels(int, int, unsigned int*, int, int, floppy_image*)+0x0230): ACCESS VIOLATION

While attempting to write memory at 0000000000000001
-----------------------------------------------------
RAX=00000000000001F4 RBX=0000000000000000 RCX=00000000000001F4 RDX=0000000000000
3E8
RSI=0000000000000001 RDI=00000000500003E8 RBP=0000000000226930 RSP=0000000000226
8B0
 R8=0000000000000001 R9=000000000E1CFEF0 R10=0000000000000001 R11=00000000FFFFF
FFF
R12=0000000000000020 R13=0000000000000000 R14=000000000E200C30 R15=0000000000000
670
-----------------------------------------------------
Stack crawl:
  00000000002268B0: 00000000016FE120 (floppy_image_format_t::generate_track_from
_levels(int, int, unsigned int*, int, int, floppy_image*)+0x0230)
  0000000000226A00: 00000000017042E2 (floppy_image_format_t::build_pc_track_fm(i
nt, int, floppy_image*, int, int, floppy_image_format_t::desc_pc_sector const*,
int, int, int, int)+0x11a2)
  0000000000228320: 00000000016D9A71 (imd_format::load(io_generic*, unsigned int
, floppy_image*)+0x0351)
  00000000002283C0: 00000000014B9C75 (floppy_image_device::call_load()+0x00e5)
  0000000000228400: 00000000014D7CF7 (device_image_interface::finish_load()+0x00
e7)
  00000000002284C0: 0000000001550B3C (image_postdevice_init(running_machine&)+0x
008c)
  0000000000228520: 0000000001444F55 (driver_device::device_start()+0x0085)
  00000000002285E0: 000000000143E708 (device_t::start()+0x0168)
  0000000000228640: 00000000014D1557 (running_machine::start_all_devices()+0x006
7)
  0000000000228780: 00000000014D25FD (running_machine::start()+0x0b0d)
  00000000002287E0: 00000000014D5345 (running_machine::run(bool)+0x00c5)
  000000000022F420: 00000000014CB74A (machine_manager::execute()+0x022a)
  000000000022F610: 0000000001559460 (cli_frontend::execute(int, char**)+0x0b60)

  000000000022FDF0: 00000000009384C8 (utf8_main(int, char**)+0x01a8)
  000000000022FE50: 00000000018291BE (wmain+0x007e)
  000000000022FF20: 00000000004013CA (__tmainCRTStartup+0x024a)
  000000000022FF50: 00000000004014F8 (mainCRTStartup+0x0018)
  000000000022FF80: 0000000077245A4D (BaseThreadInitThunk+0x000d)
  000000000022FFD0: 000000007737BA01 (RtlUserThreadStart+0x0021)
Github Commit
Flags
Regression Version 0.155
Affected Sets / Systems osborne1
Attached Files
 
Relationships
related to 05791Confirmed  bigboard: Use of any floppy from software causes crash 
Notes
4
User avatar
No.11289
Osso
Developer
Dec 11, 2014, 11:46
Probably related to flopimg changes in August 2014.
User avatar
No.18524
Osso
Developer
Mar 8, 2021, 08:14
This started working again in 0.208, but since 0.228 it now stops with boot error after pressing enter to start disk loading.
User avatar
No.18618
Osso
Developer
Mar 30, 2021, 17:06
Regressed between 21/01/10 and 21/01/11, suspected regression commit: https://git.redump.net/mame/commit/src/lib/formats/imd_dsk.cpp?id=73618d95dedeef48cc0f3e212826095ddca79c32

Works again if changing line 261 of drivers\osborne1.cpp from
device.option_add("525ssdd", FLOPPY_525_QD); // SSDD) // MPI 52(?), custom Osborne electronics
to
device.option_add("525ssdd", FLOPPY_525_DD); // SSDD) // MPI 52(?), custom Osborne electronics

I don't feel comfortable committing this and I'd like it to be checked by someone else.
User avatar
No.20131
cuavas
Administrator
Apr 30, 2022, 02:24
Current behaviour as of MAME 0.243 is to throw a fatal error on attempting to mount the image. This is due to MAME’s inability to mount a double-sided image in a single-sided drive. It’s still a mystery as to why this is a double-sided image at all, as the Osborne-1 only used single-sided drives. Perhaps it was a flippy disk, or perhaps there was just stray data on the other side. At any rate, MAME should be able to read the top side of a double-sided disk in a single-sided drive.