More information about the Segmentation Fault issue. I ran dosbox through gdb, mounted the cdrom using the -usecd 0 parameter and reproduced the segfault:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1221731968 (LWP 13707)]
0x080b4c09 in CDROM_Interface_SDL::GetMediaTrayStatus (this=0x9ba6ce8,
mediaPresent=@0xbfffc0bd, mediaChanged=@0xbfffc0be, trayOpen=@0xffffffff)
at cdrom.cpp:116
116 mediaPresent = (cd->status!=CD_TRAYEMPTY) && (cd->status!=CD_ERROR);
Here is a backtrace:
#0 0x080b4c09 in CDROM_Interface_SDL::GetMediaTrayStatus (this=0x9ba6ce8,
mediaPresent=@0xbfffc0bd, mediaChanged=@0xbfffc0be, trayOpen=@0xffffffff)
at cdrom.cpp:116
#1 0x080b3693 in CMscdex::GetMediaStatus (this=0x9b9d9f8, subUnit=0 '\0',
media=@0xffffffff, changed=@0xffffffff, trayOpen=@0xffffffff)
at dos_mscdex.cpp:658
#2 0x080b36ff in CMscdex::GetDeviceStatus (this=0x9b9d9f8, subUnit=0 '\0')
at dos_mscdex.cpp:667
#3 0x080b3faa in MSCDEX_Interrupt_Handler () at dos_mscdex.cpp:775
#4 0x0804ca65 in Normal_Loop () at dosbox.cpp:127
#5 0x0804caf6 in DOSBOX_RunMachine () at dosbox.cpp:170
#6 0x0804d836 in CALLBACK_RunRealInt (intnum=33 '!') at callback.cpp:102
#7 0x080fd393 in DOS_Shell::Execute (this=0x9ba51a8,
name=0x4b00 <Address 0x4b00 out of bounds>,
args=0x53 <Address 0x53 out of bounds>) at shell_misc.cpp:434
#8 0x080f9e45 in DOS_Shell::DoCommand (this=0x9ba51a8,
line=0xbfffe478 " quickfades firsttime") at shell_cmds.cpp:98
#9 0x080f7a14 in DOS_Shell::ParseLine (this=0x9ba51a8,
line=0xbfffe470 "c2cdtool quickfades firsttime") at shell.cpp:146
#10 0x080f8a6a in DOS_Shell::Run (this=0x9ba51a8) at shell.cpp:215
#11 0x080f889d in SHELL_Init () at shell.cpp:418
#12 0x080db780 in main (argc=-1, argv=0xffffffff) at sdlmain.cpp:1127
Just to recap, when I mount castles cd without the -usecd 0 parameter, it loads up but gives me a blank black screen, with the -usecd 0 parameter, I get the above segfault.