RISC OS 3.1x support is self-contained, simply run !CDFaker and it will configure a CD-ROM if required and load a CDFS stack.
Description
CDFaker is a CD-ROM emulator that supports ISO, BIN/CUE files and RedBook CD-Audio. Manually run !CDFaker as needed, or load in PreDesk if you want the CDFSFiler audio player to work.
Configuration
ISOImage (DF6) and CUE (A79) filetypes are associated with CDFaker, simply double-click them to mount the CD image. Games that support CD-Audio should play CD-Audio once a BIN/CUE image of the CD has been created with suitable software via Windows, Linux or Mac.
CDFaker has two *Configure options to set the size of the CD-Audio buffer and read ahead:
CDFakerAudioBuffer <sectors>
CDFakerAudioReadAhead <sectors>
Where <sectors> is the number of CD-Audio sectors to read. There are 75 sectors/second, 1 second of audio being 150Kb. By default the buffer is ~2 seconds of audio (156 sectors) and read ahead is ~1/3 second (26 sectors.)
By default CDFaker allocates the first free SCSI ID on card 3, this can be changed in !Run by modifying the relevant environment variable.
Known issues
- CDFSFilers’s inbuilt player may not detect CD changes
Games with CD-Audio
F10016 Ankh: The Tales of Mystery (1998) (R-Comp Interactive)
F10193 Heroes of Might and Magic 2: The Succession Wars (2000) (R-Comp Interactive)
F10194 Heroes of Might and Magic 2: The Price of Loyalty (2000) (R-Comp Interactive)
F10295 Quake Resurrection (2000) (R-Comp Interactive)
F10190 Towers of Darkness – Heretic, Hexen & Beyond (1999) (R-Comp Interactive)
Changes since 1.06
- Added CDFS stack from RISC OS 3.71, with minor tweaks so they work under RISC OS 3.1x
- SharedSound is now bundled with CDFaker
- CD-Audio read-ahead code is now 26/32bit neutral
- Tidied up the *Command help
- SCSI ID 7 is now skipped when choosing a SCSI device id, if CDFaker$SCSIID has the ID wildcarded
- CD_ReadSubChannel now returns the correct track no. (fixes !CDPlayer)
- SharedSound audio handler was corrupting the returned flags if it skipped calling the SharedSound data fill routine
- When removing the SharedSound handler it now silences the audio and waits for two audio buffer fills to work around SharedSound looping the final buffer on RISC OS 3.1x when an audio handler is removed
- Now checks at least one CD-ROM is configured. If not, it will configure one via "*Configure CDROMDrives" / the CMOS, as applicable and then restarts CDFSFiler
- Reduced the default CDFakerAudioReadAhead to 10 when running under RISC OS 3.1x
- When playing CD-Audio, it now avoids closing/reopening the CD image when skipping tracks
- Audio pre-caching is now done via CallBack, to avoid issues when CD SWI are called when threaded
- *CDFaker_Drives now lists the ID:CARD:LUN required to configure !CDPlayer, provided a CD image is mounted