Skip to content

Releases: vorvek/uCDD

Beta 0.9.4-a2

Beta 0.9.4-a2 Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 19 Oct 12:37

Beta 0.9.4-a2

Changes in 0.9.4-a2

  • Accept CD-ROM requests with a short or zero length field when the command uses only the static header, and accept play requests with a zero length field. This fixes the missing CD music in Tunnel B1.
  • Mount CD images whose ISO volume descriptor states a volume larger than the image or has a nonstandard root directory record. This fixes the mount of The City of Lost Children, FX Fighter, and Hexen.
  • Support word reads of the Sound Blaster mixer index and data ports, and byte reads of the mixer index port. This fixes the startup crash in Hexen.
  • Play Sound Blaster PCM from DMA buffers above 1 MB for 8-bit and 16-bit, mono and stereo, single-cycle and auto-initialize transfers. Accept detection blocks that are longer than their DMA buffer. This fixes the sound initialization error in MadSpace.
  • Pass display configuration, palette, and VBE mode and window calls (INT 10h) from 16-bit protected-mode programs to the BIOS. This fixes the "not VGA" error in MadSpace.
  • Report a pending DMA request and the terminal count in the DMA status registers. This fixes the sound initialization error in Earth 2140.
  • Support the DSP silence command (80h). This fixes the stopped sound effects in The Varginha Incident.
  • Add a Vector Balls visualization to UCDDPLAY. A gold and a chrome strand of shaded balls turn as a double helix. Louder frequency bands make the helix wider and the balls larger.
  • Use a 128-frame audio output period instead of 32 frames. Sound no longer crackles or stops while a mouse driver holds the mouse interrupt for several milliseconds. The resident driver uses about 1.5 KB more conventional memory.
  • Add Earth 2140, Extreme Assault, Grand Theft Auto, Hexen: Beyond Heretic, Ignition, Iron Man and X-O Manowar in Heavy Metal, MadSpace, Mass Destruction, Network Q RAC Rally Championship, Nihilist, Nitro Racers, Power F1, Redneck Rampage, Roketz, Shadow Warrior, Star General, Syndicate Wars, Tempest 2000, The City of Lost Children, The Varginha Incident, Tunnel B1, X-Men: The Ravages of Apocalypse, XS, Z.A.R., and the English edition of Dráscula to the list of working Redbook-audio games.

Beta 0.9.4-a1

Beta 0.9.4-a1 Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 19 Oct 08:04

Beta 0.9.4-a1

Changes in 0.9.4-a1

  • Extend bounded protected-mode instruction decoding for stack operations, address calculations, zero-extension loads, and register arithmetic.
  • Skip virtual debug-register scans when no client breakpoints are enabled.
  • Run protected-mode code with the virtual interrupt flag off at full speed. The host marks these regions with the NT flag and steps the program only while an interrupt waits. Settlers II missions load in about 19 seconds instead of about 115 seconds.
  • Start CD-Audio tracks faster. A play request reads 32 KB before it returns, and the timer fills the rest of the queue. A play request in Fascination takes about 34 ms instead of about 550 ms, and the mouse no longer stops at each track start.
  • Move the command parser, help text, and CUE and MDM code of UCDD.EXE into a second segment. This gives about 19.5 KB of room for resident code. The resident size does not change.
  • Keep the interrupted program's stack frame when a raw mode switch returns to protected mode during a host real-mode call. This fixes the crash on the table load in Absolute Pinball, a regression from 0.9.3a.
  • Seek and the location IOCTL now work on ISO images. Data reads accept Red Book addresses.
  • An application eject on a multi-disc set no longer releases the whole set.
  • UCDD -unmount accepts the CUE file name. CUE files with a UTF-8 byte-order mark or with INDEX 02 and higher now mount.
  • Apply the game volume once to direct DAC output. Reject invalid DSP sample rates and drop the remaining bytes of a rejected DSP command.
  • UCDDSET keeps the old UCDD.CFG when a save fails, ignores Ctrl+Break, and stops the capture of the key that started it.
  • UCDDPLAY: fix the calendar click on track 10, discs that start after track 1, and the READ LONG request length.
  • Show the version in the startup notice of UCDD, UCDDSET, and UCDDPLAY, and in the installation message.
  • Recommend that the mouse driver loads before uCDD.

Beta 0.9.4

Beta 0.9.4 Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 18 Oct 15:03

Beta 0.9.4

Changes in 0.9.4

  • Add a Cubes visualization to UCDDPLAY. Eight rotating wireframe cubes change size with the frequency levels.

  • Support the Borland runtime used by Super Street Fighter II Turbo. Translate its protected-mode DOS buffers and PSP queries, supply its vendor API, and accept unchanged CR0 writes.

  • Clear the direction flag before preparing DOS register frames and preserve interrupted registers across protected-mode hardware handlers. This fixes startup and gameplay crashes in Super Street Fighter II Turbo.

  • Add Super Street Fighter II Turbo to the list of working Redbook-audio games. Start SF2TURBO directly to bypass MAKESWP.

  • Grow the DPMI memory-block table in extended memory when needed. This fixes false out-of-memory errors in Carmageddon's high-resolution and 3dfx modes when the game needs more than 256 memory blocks.

  • Add MechWarrior 2: 31st Century Combat and MechWarrior 2: Mercenaries to the list of working Redbook-audio games.

  • Forward real-mode BIOS timer callbacks to protected-mode DPMI handlers.

  • Support demand-mode DMA and PIC special mask mode used by Wipeout. Use a specific EOI for the output IRQ so that the mixer can run when the game masks an interrupt.

  • Accept word and dword PIC acknowledgements used by the Wipeout intro. Keep the interrupt mask unchanged and preserve real IRQ acknowledgement ownership.

  • Preserve deferred physical IRQs when a protected-mode program ends. Complete them on the restored real-mode interrupt chain, and keep pending IRQs when a child returns to its parent. This fixes ignored keyboard input after the Wipeout intro.

  • Decode simple 16-bit register instructions in bounded groups, and read the code size again for each instruction.

  • Add The Settlers II: Veni, Vidi, Vici (DOS Gold Edition 1.51) to the list of working Redbook-audio games.

  • Add Wipeout to the list of working Redbook-audio games.

  • Preserve the saved real-mode interrupt chain when a protected-mode handler returns through the same hardware interrupt bridge. This fixes the Fatal Racing intro startup freeze.

  • Hide VCPI detection from child programs while a protected-mode parent is active. This keeps movie sound inside the audio host and fixes the return from movies in Fatal Racing and Worms United.

  • Accept Sound Blaster playback requests made before the game programs its masked DMA channel. Read the selected DMA mode port through the physical backend. This fixes missing sound effects and the sound setup error in Manic Karts.

  • Add Fatal Racing and Manic Karts to the list of working Redbook-audio games.

  • Add Hyper 3-D Pinball to the list of working Redbook-audio games.

  • Add Earthworm Jim to the list of working Redbook-audio games.

  • Add Earthworm Jim 2 to the list of working Redbook-audio games.

  • Put the CD-ROM device header at offset zero. This fixes the driver entry address used by Mortal Kombat 3 during startup.

  • Add Mortal Kombat 3 to the list of working Redbook-audio games.

  • Add Worms United to the list of working Redbook-audio games.

  • Add World Rally Fever: Born on the Road to the list of working Redbook-audio games.

  • Add Rise 2: Resurrection (Director's Cut DOS edition) to the list of working Redbook-audio games.

  • Add Eradicator (DOS Release Version 1.0) to the list of working Redbook-audio games.

  • Add Shattered Steel (DOS 1.14) to the list of working Redbook-audio games.

  • Accept a CLTS instruction in virtual-8086 mode when the task-switched bit is already clear. This fixes the first startup fault in the DOS4GW 1.6 runtime used by Diggers 2.

  • Hide VCPI detection through simulated real-mode interrupts. Keep VCPI access available for the host's own startup query.

  • Preserve virtual interrupt flags when a CLI call uses different return paths. This fixes the timer wait during Diggers 2 startup.

  • Accept stereo DMA blocks with an odd number of 16-bit samples. This fixes missing sound effects in Surface Tension.

  • Add Surface Tension to the list of working Redbook-audio games.

  • Add Heroes of Might and Magic II: The Succession Wars (DOS base game from Deluxe Edition) to the list of working Redbook-audio games.

  • Add Diggers 2: Extractors to the list of working Redbook-audio games.

Beta 0.9.3d

Beta 0.9.3d Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 17 Oct 19:03

Changes in 0.9.3d

  • Add a Landscape visualization to UCDDPLAY. Frequency levels form wireframe ridges that move from the horizon toward the listener.
  • Correct DPMI free-memory information. This fixes false insufficient-memory errors in Warcraft and Warcraft II.
  • Accept the fixed CD-ROM control blocks used by Warcraft II and the short control request headers used by SuperKarts.
  • Support Sound Blaster interrupt detection with high DSP time constants and 16-bit audio through an 8-bit DMA channel. This fixes sound card detection and sound effects in The Horde.
  • Improve conversion of low-rate Sound Blaster PCM with linear interpolation. This reduces distortion in The Horde.
  • Keep CD audio refills active when games stop the BIOS timer, as SuperKarts does. Prevent retrace timing from delaying an urgent refill, which caused gaps in The Horde.
  • Grow DPMI memory blocks in place when the adjacent address range is free. This fixes a page fault in Inferno.
  • Support unsigned 8-bit Sound Blaster 16 single-cycle audio commands with and without FIFO. This fixes sound effects in Inferno.
  • Add Alien Logic: A Skyrealms of Jorune Adventure, Inferno, Quarantine, Quarantine II: Road Warrior, SuperKarts, The Horde, and Warcraft II: Tides of Darkness to the list of working Redbook-audio games. Add a note about Alien Logic's CD music behavior.

Beta 0.9.3c

Beta 0.9.3c Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 17 Oct 03:40

Beta 0.9.3c

Changes in 0.9.3c

  • Add a Lissajous visualization to UCDDPLAY. The stereo channels draw an XY trace with fading trails.
  • Preserve interrupt ownership when protected-mode programs call real-mode interrupt handlers. This prevents unrelated BIOS interrupt acknowledgments from clearing the virtual Sound Blaster interrupt state and fixes silent or repeating sound effects in Batman Forever.
  • Use 16-bit interrupt and callback stacks for 16-bit DPMI programs. This fixes the startup failure in Chasm: The Rift.
  • Return the data-read status expected by SHSUCDX while CD audio plays. This fixes the CD check in affected Carmageddon editions with a full installation.
  • Add Alpha Storm and Chasm: The Rift to the list of working Redbook-audio games.
  • Add a Carmageddon compatibility note for the European editions' SHSUCDX requirement and the high-resolution font repair.

Beta 0.9.3b

Beta 0.9.3b Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 29 Sep 00:27
  • Allow a DPMI program to start another 16-bit or 32-bit DPMI program and resume when it exits. This lets the Batman Forever installer run its video test and lets Battle Arena Toshinden SETUP start SSETUP.
  • Preserve the driver information passed through interrupt E9h by 32-bit programs. This fixes the "DLL load aborted" error when 3dfx games load GLIDE2X.OVL.

Beta 0.9.3a

Beta 0.9.3a Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 27 Sep 12:37
  • Add physical audio CD playback to UCDDPLAY.EXE through digital audio extraction. Select a compatible CD drive in Open and use the equalizer, track controls, volume, and eject without an internal audio cable.
  • Add a Plasma visualization to UCDDPLAY and rename Stars to Warp Speed.
  • Show bordered buttons in UCDDSET and make the virtual-card setup instruction clearer.
  • Accept PRE, DCP, 4CH, and SCMS flags in CUE sheets. This lets Destruction Derby mount its CUE sheet without removing the flags.
  • Apply CD de-emphasis to audio tracks marked PRE.
  • Reduce loading delays caused by protected-mode timer calibration loops, including those in Rayman By His Fans and Rayman Designer.
  • Support debug-register access and exception reflection in protected-mode games. This fixes the startup failure in Rayman.
  • Support CUE images with a MODE1/2048 data track followed by raw audio tracks. This fixes mounting the CD edition of Betrayal at Krondor.
  • Support protected-mode CPU checks used by Little Big Adventure 2 and word writes to the Sound Blaster mixer used by Little Big Adventure.
  • Allow larger parameter lists for DPMI real-mode calls. This fixes VESA initialization in Little Big Adventure.
  • Fix real-mode interrupt chaining from protected-mode programs. This fixes the startup freeze in Soccer Kid.
  • Correct Sound Blaster mixer detection, volume steps, and CD volume control used by Corridor 7.
  • Add Betrayal at Krondor, Corridor 7: Alien Invasion, Destruction Derby, Destruction Derby 2, Little Big Adventure, Little Big Adventure 2, Rayman, Rayman 60 Levels, Rayman By His Fans, Rayman Designer, Return to Zork, and ShadowCaster to the list of working Redbook-audio games.

Beta 0.9.3

Beta 0.9.3 Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 26 Sep 22:02

Beta 0.9.3

This update adds support for 16-bit DPMI programs, changes how protected-mode games use DPMI and VCPI, and moves all sound card settings into UCDDSET. It adds UCDDPLAY, a CD player for uCDD drives. It also fixes CD-Audio and game sound in many protected-mode games.

Changes

  • Keep all settings in a new version of UCDD.CFG. UCDD -install runs UCDDSET, which must be in the directory of UCDD.EXE. UCDDSET loads the settings, copies them into the driver, and sets BLASTER for the virtual Sound Blaster. It keeps the other BLASTER fields. UCDD no longer reads BLASTER. UCDDSET opens its menu when UCDD.CFG is missing, from an older version, or not valid.
  • Initialize the physical card before UCDD -install. uCDD no longer sets the IRQ and DMA channels of Sound Blaster 16 and WSS cards.
  • Redesign UCDDSET with settings for the physical card, the virtual Sound Blaster, and the virtual WSS codec, and with Hotkeys and Mixer pages.
  • Detect the physical card. UCDDSET finds Sound Blaster 16 cards through the mixer, older Sound Blaster cards through an interrupt and DMA test, and WSS codecs. BLASTER supplies only the values that the tests cannot find.
  • Select the virtual Sound Blaster model: Sound Blaster 16, Sound Blaster Pro, or Sound Blaster 1.5/2.0. The model sets the DSP version and the BLASTER type. Set the port and the start IRQ of the virtual WSS codec.
  • Select the hotkey modifiers, including the Windows key, the disc keys (1 to 0 or F1 to F10), and keys for the next disc, the previous disc, eject, and the CD-Audio volume. Eject and insert discs with a hotkey, for MDM lists and single images.
  • Set the start level of CD-Audio, the wave output level, the master volume of the physical card, and the step of the volume hotkeys.
  • Fix a crash after UCDDSET returned when UCDD.CFG was missing at installation.
  • Shorten the command help of UCDD and UCDDSET.
  • Add UCDDPLAY, a VGA CD player for uCDD drives. It has a 10-band equalizer for CD-Audio, a spectrum analyzer, VU meters, shuffle and repeat modes, mouse support, and a requester that mounts and ejects images and MDM lists.
  • Support 16-bit DPMI programs, including DOS call translation for Borland Pascal 7 programs, and allow more protected-mode selectors. This fixes the startup failure in Chasm: The Rift.
  • Hide the JEMMEX VCPI interface from protected-mode games while uCDD provides DPMI, so that game sound goes through uCDD. Add the -vcpi install option for programs that need VCPI. This fixes missing sound and music in Cyberball and Amazing Learning Games with Rayman, and the freeze at the name prompt in An Elder Scrolls Legend: Battlespire.
  • Reduce the cost of interrupt-flag emulation for protected-mode games. This removes the slowdown during file access in DOS/4GW games such as Bust-A-Move 2.
  • Stop single-stepping protected-mode interrupt and exception handlers.
  • Support nested raw mode switches and preserve FS and GS across them. Let disk interrupts reach the BIOS during background CD reads. Accept CD IOCTL input requests with a zero transfer count. This fixes the startup freeze in Absolute Pinball.
  • Report the busy status during CD-Audio playback on every request. This fixes repeated music restarts in Batman Forever: The Arcade Game.
  • Report the DMA current address and page registers, and accept DSP command 42h. This fixes the startup exception and slow sound setup in Blood.
  • Deliver Sound Blaster interrupts during real-mode calls from protected-mode games, and keep interrupt vectors that sound drivers change during a host call. This fixes the freeze at the loading screen in Bust-A-Move 2.
  • Accept short auto-initialize blocks, and blocks longer than the DMA buffer. This fixes missing table sounds in Cyberball and missing effects in Cyber Police.
  • Support Sound Blaster 16 mixer resets and voice volume registers. This fixes quiet effects in Battle Race.
  • Accept Sound Blaster output rates up to 48000 Hz. Support 16-bit mono and unsigned 16-bit game sound.
  • Apply the voice level and the wave output level to direct DAC output.
  • Support MODE2/2352 Form 1 data tracks in CUE sheets.
  • Keep free conventional memory contiguous when DOS loads UCDD into conventional memory and uCDD moves the audio service into upper memory.
  • Add Absolute Pinball, Amazing Learning Games with Rayman, An Elder Scrolls Legend: Battlespire, Batman Forever: The Arcade Game, Battle Race, Blood, Bust-A-Move 2 Arcade Edition, Chasm: The Rift, Cyber Police (CYBERPO1.EXE), and Cyberball to the list of working Redbook-audio games.

Beta 0.9.2c

Beta 0.9.2c Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 25 Sep 19:06

Beta 0.9.2c

Changes

  • Support advisory CD prefetch requests used by Gobliiins and Gobliins 2.
  • Support Sound Blaster direct DAC speech and effects. Support single-cycle 8-bit mono DMA samples above 1 MiB with the JEMM audio backend.
  • Prevent a lockup when background CD reads interrupt hardware interrupt handlers.
  • Accept contiguous CD reads with a nonzero interleave size and allow reads beyond the ISO volume size within the data track. This fixes resource reads in Fascination.
  • Preserve CD information buffer counts and report active CD playback correctly. This fixes repeated music restarts in Future Wars.
  • Improve Sound Blaster detection and short-sample interrupt response for The Secret of Monkey Island.
  • Correct the DOS startup stack layout for larger executables.
  • Keep free conventional memory contiguous when loading the audio service into upper memory.
  • Add Fascination, Future Wars, Gobliiins, Gobliins 2: The Prince Buffoon, Goblins Quest 3, and Lost in Time to the list of working Redbook-audio games.
  • Add Descent II: Vertigo Series, The Manhole, The Secret of Monkey Island, Realms of Arkania III: Shadows over Riva, and the German CD editions of Realms of Arkania: Blade of Destiny and Star Trail to the list of working Redbook-audio games.
  • Add Alien Trilogy, Battle Arena Toshinden, BC Racers, Big Red Racing, and Blam! Machinehead to the list of working Redbook-audio games.

Beta 0.9.2b

Beta 0.9.2b Pre-release
Pre-release

Choose a tag to compare

@vorvek vorvek released this 25 Sep 00:03

Beta 0.9.2b

Changes

  • Support PREGAP in CUE sheets, with silent gaps and corrected track positions. This lets Loom use its original disc layout and play complete voice prompts.
  • Preserve the physical audio interrupt handler when real-mode games write interrupt vectors directly under JEMMEX. This fixes stalled playback and sustained tones in the Alone in the Dark games.
  • Add Loom and Alone in the Dark 1, 2, and 3 to the list of working Redbook-audio games.