Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation faults - MESS system expansion slots & other media #298

Open
TVsIan opened this issue Mar 24, 2022 · 1 comment
Open

Segmentation faults - MESS system expansion slots & other media #298

TVsIan opened this issue Mar 24, 2022 · 1 comment

Comments

@TVsIan
Copy link

TVsIan commented Mar 24, 2022

[edit] A more pressing issue - CD-i causes a segfault and won't load.

I checked SAME_CDI, they had a commit to fix the issue, but the same fix doesn't work for MAME.

libretro/same_cdi@65b2e00

Their retromain.cpp was identical, but applying the same fix still results in a segmentation fault.

The below text was the original segfault that I found before this one.


This is a pretty specific problem, but standalone MAME doesn't exhibit the issue, only the Libretro version.

For certain emulated Mac models, there is a nuBus "card" that can be added to read disk image files created for other emulators (basically oversized floppy images). These images aren't bootable, since the disk isn't mounted until after Mac OS boots, so it needs to either be loaded from the MAME menu or from the command line with another disk. An example command line, using a bootable chd from the mac_hdd software list and one of the common MinivMac boot disks would be:

mame maciix -nba image -hard mac701.chd -disk MinivMacBoot.dsk

For explanation, maciix is one of the models with a nuBus slot, -nba image installs the nuBus image reader card to slot A, and the -disk command line option is only available if the card is installed.

In standalone MAME, the emulated Mac will boot from the chd, and the mounted disk will appear on the desktop a moment later.

When trying this same command in libretro mame (via writing it to a text file and loading that as the ROM), it fails with a segmentation fault. Trying various combinations of things:

  • Loading JUST the chd works fine.
  • Loading JUST the disk image will leave the Mac on the ? disk "no bootable disk" screen, the MAME menu shows that the image file is mounted so the -disk option seems to be working.
  • Loading the chd plus a standard floppy disk (using -flop1 instead of -disk) works as expected, it will boot and show the disk on the desktop.
  • Attempting to load the MinivMac disk image via -flop1 does NOT work, but this is expected because it's not a true disk image.
  • Booting from the chd, then loading the disk image to the nuBus image device via the MAME menu also works, even if you restart the machine from the menu.
  • Trying to boot from a floppy image (disk tools.img, extracted from sys701 in the mac_flop software list) and use the MinivMac disk also fails with a segmentation fault.

As far as I can tell, the exact issue is loading a disk to the image reader device and a hard drive or floppy from the command line causes a crash.

This is happening for me in Linux, specifically Batocera Linux. I'm currently working on allowing disk images to be loaded from the frontend and it works using standalone MAME, but not for Libretro after trying every variation on the command line that I could think of.

@TVsIan TVsIan changed the title Segmentation fault loading specific disk types on Mac driver from command line Segmentation faults - Mac w/disk image, CD-i Mar 31, 2022
@TVsIan
Copy link
Author

TVsIan commented Nov 16, 2022

I've found some additional issues, with the Apple 2 (apple2p, apple2e, apple2ee), if you add a hard drive card from the command line using -sl7 cffa202, then try loading a hard drive image (.csv or .hdv) using -hard1 [filename], it will segfault. If you use the same command but load a floppy instead, then open the MAME menu to remove the floppy and insert the hard drive then restart the machine, it loads fine.

Based on this and the Mac Image driver, I suspect that loading from the command line has issues if you're trying to load to a media type that doesn't exist without the slot device being loaded, possibly it's processing in the wrong order.

@TVsIan TVsIan changed the title Segmentation faults - Mac w/disk image, CD-i Segmentation faults - MESS system expansion slots & other media Nov 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant