Fix inverted check from my previous commit.
Don't start the Darwin media_thread if "nocdrom" pref is set. The media thread is currently only used to poll for CDROM devices and is not useful when "nocdrom" is set. This change also fixes the problem of the emulator preventing the CD to be ejected at the host level despite "nocdrom" being set in prefs. Thanks to Robert Munafo <mrob27@gmail.com> for investigating this problem!
[patch from Kelvin Delbarre] Previously, SheepShaver would usually hang if it was unable to access the ROM file on startup, due to a race between media_poll_func() and DarwinSysExit(). This change eliminates the race by ensuring that media_poll_func() always ends up waiting in CFRunLoopRun(), which allows us to terminate the polling thread in a consistent way.
Remove a few 'warning: NULL used in arithmetic'
Happy New Year!
cleanup: use get_device_path() since we already have it, instead of doing the same thing manually with duplicated code
ignore disks on which you can't get size
newline in error msgs
Rewrite MacOS X CD-ROM support. Other bugs fixed: - CD-ROM media are polled and now can be changed without rebooting - Buffer overflow, memory leak and extra wait in CD-ROM ejection code
Check for CoreFoundation framework (Darwin 8.0.1). Likewise for IOKit/storage/IOBlockStorageDevice.h which is not available there on x86
Happy New Year!
Working code to locate floppy drives
Can only use floppy location code on OS X 10.2 or above?
Special serial/floppy device locating code
Use correct (non-deprecated) names for some keys
Happy New Year! :)
Darwin-specific CD code.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.