Cubic Player

Update Infopage

OpenCP 2.6.0 PRERELEASE 4 (WIN32!!)
OpenCP 2.5.1
OpenCP 2.5.0 RELEASE
OpenCP 2.0q-Pre
OpenCP 2.0p 31337
Cubic Player 2.0a++ (enhanced)
Cubic Player 2.0 alpha
Cubic Player 2.-1 Wired´96 PRE-RELEASE
Cubic Player "Gravis Ultrasound PnP" player device v1.7g
Cubic Player WSS and GUS Driver Update v1.7f
Cubic Player .IT Loader PRE-RELEASE v1.7e
Cubic Player .XM Loader Update v1.7d
Cubic Player "SoundBlaster AWE" wavetable device driver v1.7c
Cubic Player "Gravis UltraSound" player device driver v1.7b
Cubic Player "Gravis UltraSound" player device driver v1.7a
Cubic Player 1.7
Cubic Tiny XM Player 1.5



OpenCP 2.6.0pre4 *eliteonly*

-   For all newskool-, non-SB-, non-GUS, non-EWS-, non-WSS-people out there using Win9x:
    finally, you can use *every* soundcard supported by windows if you
    start the CP in a dos-box, using the devpVXD.
    (it's like the VSOUND-driver for the IT)
    devpVXD bringing you the following advantages:
+  no more incompatible soundcard. almost every soundcard should work,
    assuming that there exists a direct-sound-driver.
+  no more soundcard-blocking. you can play other (DirectSound-)sources,
    they will be mixed (by windows or by your soundcard, if it's capable
    of doing this.)
+  a bit better background playing, even in "fullscreen"-background
    keep in mind that devpVXD is a DEVP, not a DEVW.
    read the FAQ for more information.
-   completely new mixer device, making massive use of the CPU's Floating
    Point Unit and bringing you the following advantages:
+  16777216x linear or 256x cubic spline oversampling (or none)
+  a theoretical 3000dB of Signal/Noise ratio (can your sound card
    handle this?)
+  sample-exact volume ramping (optional)
+  special anti-click mechanism which does NOT soften up the samples
    (also optional if you REALLY want your .ITs being messed up like
    in the tracker)
+  native postprocessor plug-in interface for maximum quality plug-ins
+  about THREE times faster than the Quality Mixer on Pentium and above machines 
(and far better sound quality)

Of course, there are also some disadvantages:
-   on 386/486 and equivalent machines (K5, Cx6x86) better forget realtime
    performance, but you can still use it for diskwriting
-   the mixer sucks a lot of memory (stores all samples in 32bit
    format), so be prepared for having about four times the free mem the
    size of the tune you want to play is
-   configurable software reverb/chorus plugin for the FPU mixer...
    consider this the replacement for the good ole Echo Editor ;)
    (use ctrl-f5/f6 to control the reverb and ctrl-f7/f8 to control the
-   software reverb (not as configurable, tho) for the normal and
    Qualiy mixers
-   updated arcUMX.
-   MDZ-scan in archives (.ZIP right now) is back.
-   upgraded to new ampg. (and new binfile, but that's unimportant for the masses).
    should solve some problems regarding skipping.
-   WMA support. not yet fully working (not really seek, not all ASFs.)
-   new compiler switch /dRASTER enables raster lines showing the cpu usage of the mixing routines
-   Vesa 2.0 LFB support, try it or disable it (section [screen], uselfb=NO) (spectrum analyser now ~50% faster...)
-   more debug-output on crash (this is no improvement for cubic player *never* crashes!)
-   if called with a file as command line parameter, the player will now exit as soon playing ended (assumed looping is off)
-   number keys enable/disable channels again instead of soloing them
-   IT: * instrument names are now shown correctly (thanks to Phoenix for telling me why)
-   XM: * another nasty player bug fixed which you would never find anyway, it's just TOO special ;)
* note retrig/multi retrig fixed

back to the top

OpenCP 2.5.1

-   included new hypertext help system by Fabian Giesen (Ryg/Chrome Design)
-   MID: everything's much easier now. The original Gravis ULTRASND.INI
    is included in the program and all non-GUS-owners can now simply
    make a MIDI subdir in opencp's dir and copy the patches into it.
    (This should solve a LOT of problems for you people out there)
-   MOD: * samples of some modules won't get messed up anymore
-   XM: * the samples of modules saved with ModSuck, ehrm, ModPlug Tracker
    will now hopefully have correct loops (MP doesnt save 'em correctly)
*   Speaking of ModPlug, XMs will now be played with up to 256 chans
*   also, several severe replay bugs fixed which were errationally introduced in 2.5.0 (oops ;)
*   Envelope handling fixed (a BIG thank to Psychad for this)
-   IT: * now plays modules having a "+++" in the first order(s)
*   note retrig fixed
*   vibratos hopefully fixed
*   implemented carry envelopes (new in IT2.14 patch 4)
*   underground feature added by removing overground feature
-   MP3: * now recognizes/plays MP3s starting with the ID3 tag or other data
    (if it still doesn't (because of too long trader messys at the
    beginning of the file) simply try forcing the file type to MPx)
*   Cubic (!! ;) Spline interpolation when pitch is changed (enjoy)
-   WAV: * also implemented Cubic Spline interpolation (16bit waves only)
-   Interface: * doesn't crash/show garbage anymore when switching back
    from Würfel Mode
*   new, faster analyser FFT code by Doj/Cubic
*   new background picture loader (by Doj):
-> GIF background pictures are supported
-> pictures will now change randomly when modes are switched
*   new feature:
->  volume control ('m'), works only with sb atm, for songmessage type 'M' (in uppercase ;)
-   devwiw: * removed Step C panning again, the old code really seemed to work better (i need DOCS on this!)
*   completely rewritten memory handling, it was pure luck if the old one worked at all.
-   devpdisk/devpmpx: MP3 to WAV and various other things should now work
    (a bloody hack, but who does care)
-   Again a slight speed increase of quality mixer
-   general stability improved again
-   many memory leaks found and eliminated
-   removed CPLAUNCH.EXE again, making the archive somewhat bigger and
    loading somewhat slower, but the whole thing is a LOT more stable now
-   various minor but important fixes/modifications in some dlls
-   source: * improved makefile, doesnt link the default libs into the dlls anymore
*   now compiles correctly under Watcom 10.6
*   pre-alpha Win32 version for experimental purposes

back to the top

OpenCP 2.5.0

- major raise in the version number... hey, when EMagic can do this
    with Logic Audio, why shouldn't I? ;)
  - InterWave: * added correct panning for InterWave Step C or higher
               * fixed timing a bit
               * effects can now be turned off ;)
  - fileselector: choosing devices and soundcard inputs now works again ...
                  ... files submitted via the command line automatically
                  get played now again ...
                  ... and also, console output is no more written onto
                  the interface screen
                  (honestly, was I DRUNK when implementing that playlist
                   shit? ;)
  - included new ESS688 player device by Oleg Prokhorov (thanks!)
  - added "palette" setting to IW.INI to let you design your own ugly
    color scheme (tho, this is just a simple remapping, you can't change
    every single color)
  - bpm display is now finally DECIMAL :)
  - XM: notes with instrument number set some rows before will now
        play correctly
  - Mixer: nasty volume calculation bug causing hard-left panned samples
           to be phase-inverted removed (char? short? long? oh come on,
           what's the fuckin' difference? :)
  - IT: Pattern loader fixed (did crash/suck on some ITs)

back to the top

OpenCP 2.0q_pre

- fileselector: maybe there are no more LFN lookup bugs when using
                  DOS 6.x or certain 4DOS versions (feedback req'd!!!)
  - SID: now reads SMS $xx20 song info as song title when the file is
         in RAW format. Also characterizes SIDPlay infofiles as such
         in fileselector
  - new archive formats: LHA and ACE (thanks to tmbinc for this)
  - IT: doesn't confuse Kxx and Lxx effects anymore (oopsie :)
  - XM: made vibrato effect (4xx) somewhat weaker (never believed that
        they were to strong - until i found it out myself with my own
        MC6 entry :)
  - new WšRFEL MODE ][ (finally 320x200 ;)
  - included tool "Wrfel Animator Professional" by Felix Domke (tmbinc)
    to generate your OWN Wrfel Mode Animations
  - IT: portamentos "fixed" again (wonder which modules it NOW plays wrong)
  - fileselector: now shows some infos on various internal data files
  - restructured file selector a bit. the results:
    * .M3U AND .PLS PLAY LIST SUPPORT! YEAH! you can now simply select
      any .m3u or .pls play list from the file selector and all files
      it containeth will be loadeth! ;)
      (Beware, if your playlists contain long file names, they will of
       course only be loaded when you're running win95, i didn't include
       a "guess-the-right-filename" routine ;)
    * also reads MikIT .PLT play lists (thanks to Lemm for this)
    * In fileselector, you can now save a WinAmp-compatible .PLS play
      list with Alt-P
    * As a little side effect the actual playing module is now continued
      while eg. un-zipping the next (decreasing the pause between two
      modules a bit, but i may remove this again, as it MAY cause problems
      in win95 background between two modules. well, as always, i need
      feedback ;)
  - LAST "eval" release before the REAL one - Houston, the Eagle is just
    about, uhm, like, landing ;))

back to the top

OpenCP 2.0p_31337:

  - increased the Quality Mixer's speed AND sound quality - now does fine on my P133 and those volume problems finally belong
    to the past
  - MP3: changed win95 bg playing scheme a bit - should now produce less
         (or maybe no?) clicks on some machines when running in foreground
  - MOD: the player now (hopefully) plays exactly like PT1.1B does -
         so DON'T blame me if OpenCP now plays your FT2-made MODs wrong.
         (if anyone could tell me how to recognize MODs saved by FT2,
          just contact me)
  - Therefore, new filetype added: MODf for FastTracker-made MODs
  - MOD: modt and m15t file types work again
  - XM: "set finetune" (E5x) command implemented (was ignored before)
  - CDA: re-enabled (was a typo in one of the sources, sorry ;)
  - new module type: MXM (from pascal's Tiny GUS Player) (EXPERIMENTAL!)
    * this format is size optimized, so don't expect any module or instrument
      names therein, it's just pure music ;)
    * in some converted .XMs, the loops seem incorrect, but i don't know
      if it's the fault of opencp or xm2mxm.exe
  - SID: RAW sidfile support, now supports raw C64 data files which follow
         the inofficial SMS ("Scene Music Standard") way of putting two
         JMPs to the Init and Play routine in front of the file
  - hopefully vastly increased stability when using wave table cards. At
    least with my IW, OpenCP, uhm, almost never crashes anymore :) (feedback
    on this required!!!)

back to the top

Cubic Player v2.0a++

v2.0à++  29.4.97  (Still lacking good .IT support! :( )
          2.5.97  enhanced version
-mpeg 2 audio layer 1/2/3 playback (enhanced only)
-PTM Nxx command support. (enhanced only)
-AMS loader now included. (simply forgot it (: ) (enhanced only)
-mpeg 1 audio layer 1/2/3 playback.
   -preloads the file
   -quick hack of the wav player
   -maplay's fdct routines used
-audio mpeg layer 1/2 recording (devpMPx).
   -works like diskwriter device.
-new mode: phase graphs:
-ESS AudioDrive 688 support (thanks to Ilya Naumov for sources)
-some fixes

back to the top

Cubic Player 2.0 Alpha

v2.0à  28.12.96  (The Party 6 release)

-2 years of cp!!!
-sdk available later at tp6 (though not yet complete)
-cplaunch.exe is a dos4gw.exe replacement using pmode/w 1.32
   to use dos4gw make sure cplaunch.exe cannot be found (ie. delete it!)
-new xm player. plays more accurately, but display not too good.
   (you can modify cp.ini to use the old player)
   (thanks to Tammo Hinrichs and Hungarian guys for testing
    and finding the (hopefully) last bugs)
   xm player also used as a new mod player.
-Move files in fileselector: ALT-M (also to, from and between arcs)
-better crash exit (this is no improvement for cubic player *never* crashes!)
-OS4GW.EXE bug fixed (_searchenv is buggy in wc 10.6 16-bit dos libaray))
-amplification can be set up to 800% due to murder threats from the
   Hungarian scene!
-textmodes fixed
-instruments in MDL fixed (hiho FK)
-MTM fixed
-AMS fixed
-volumes fixed
-some ini settings fixed

back to the top

Cubic Player 2.-1 Wired´96 PRE-RELEASE

v2.-1  03.11.96  (Wired '96 PRE-release)
the FIXED Wired RELEASE is coming the next DAYS with SDK !

-some minor bigfixes & improvements
-new internal system with "additional plugins" (SDK will be released soon)
-"wuerfel" & some non-important but nice features are temp. removed
-see the cp.ini for new config-words, or wait for the final documentation
-this version is for professionals _ONLY_ don't annoy us with questions !
-alpha version of a .IT loader
-new GUS PnP Driver (by Tammo Hinrichs)
-MMCMP TSR support
-AMS & MTM temp. removed, they are comming back _VERY_ soon !
-minor cosmetical bug with the text-mode-windows

v2.-2  XX.XX.XX  FAKE

Cubic Player 1.7 - What's new?
v1.7 31.3.96 mekka release

-WAV player... :) (not yet on std. gus)
-stereo and 16 bit bug removed
-pattern lock (alt-l) (hiho alpha...)
-samples >512k cause no more problems with the mixer
-background TGA colors now shifted automatically
-pattern loop to order 0, row 0 fixed -position jump & pattern break protracker compatibility improved ((r)ok?)
-delete the quality mixer from your cp directory to avoid conflicts!!!  

back to the top  

Cubic Player "SoundBlaster AWE" wavetable device driver v1.7c

(for cubic player v1.7 and above)

This is a new version of the wavetable device driver for the SoundBlaster AWE.
It initializes the card correctly and no longer has the bug, that on some card the right or the left channel is missing or completely wrong.
To install this driver just copy the file DEVWSB.FDO in your CP directory.

back to the top  

Cubic Player "Gravis UltraSound" player device driver v1.7b

(for cubic player v1.666 and above)  

This is a player devices driver for the standard Gravis UltraSound.
It should now work with every GUS. The 1.7a release did not work on every GUS.
You can now do the following with every Gravis UltraSound (not only Max):
   -play .WAVs
   -use the Mixer (echos, mods>1MB, surround)
   -use the Quality Mixer
Warning:   If you use CP 1.666 the settings for stereo and 16bit are inverted!
Turn OFF stereo and 16bit to get stereo and 16bit sound!!!
To install this driver just copy the files DEVPGUS.FDO in your CP directory and add the following lines to
    [devpGUS] link=devpgus
Then add "devpGUS" to the "playerdevices=" list in the [sound] section.
Note that CP will use the first driver in this list. The others can be accessed via @:\DEVICES\DEVPxxxx.DEV

back to the top

Cubic Player "Gravis UltraSound" player device driver v1.7a
(for cubic player v1.666 and above)This is a player devices

driver for the standard Gravis UltraSound.You can now do the following with
every Gravis UltraSound (not only Max):
  -play .WAVs
  -use the Mixer (echos, mods>1MB, surround)
  -use the Quality MixerWarning:
If you use CP 1.666 the settings for stereo and 16bit are inverted!
Turn OFF stereo and 16bit to get stereo and 16bit sound!!!
To install this driver just copy the files DEVPGUS.FDO in
your CP directory and add the following lines to CP.INI:

Then add "devpGUS" to the "playerdevices=" list in the [sound] section.
Note that CP will use the first driver in this list. The others can be
accessed via @:\DEVICES\DEVPxxxx.DEV

back to the top

Cubic Player XM loader v1.7d (for cubic player v1.7)

This is a new version of the XM loader.
it now always uses volume fadeout, even if the volume envelope is
Thanks for info to LioZ.
To install this loader just copy the file LOADXM.FDO in your CP

back to the top

Cubic Player IT loader v1.7e PRE-RELEASE (for cubic player v1.7)

This is an .IT (Impulse Tracker Module) loader for cubic player 1.7.
Since it is only a *loader* it can only use the internal features of
cp 1.7 and therefore has limitations:

  32 channels max.
  16 samples / instrument
  no stupid NNAs
  no sustain loops
  some missing effects
So don't write your complaints to or they'll be
ignored. For real IT support wait for future versions.
Thanks for testing and help to rabbi_cd / Grandpa Smurf.
To install this loader copy the files LOADIT.FDO and PMODTYPE.FDO
to your CP directory and add IT to the moduleextensions list in CP.INI

back to the top

cubic player "Windows Sound System" player/sampler device driver v1.7f
  (for cubic player v1.7 and above)

On some WSS cards (like GUS MAX / PNP) you can play and sample with
54857Hz and 64000Hz. (Thanks go to Tammo Hinrichs for info)
These are new device drivers which will no longer limit the rate to 48000Hz
if you specify "options=8" for the driver. (see below)
If it does not work remove the options=8 lines.
To install these drivers just copy the files DEVPWSS.FDO and DEVSWSS.FDO in
your CP directory and add the following line to the sections [devpWSS] and
[devsWSS] in CP.INI:

You should then set the rate to 64000Hz. ie: rate=64000 in section [sound]
or -sr64000 at command line. Also set rate32 to a good value for your system.

back to the top

cubic player "GUS InterWave" wavetable device driver v1.7g
  (for cubic player v1.7 and above)

Driver was done with the help of the InterWave driver for MIDAS by Jarno
Heikkinen and the stupid DDK. Final code, testing, bugfixes and improvements
were done by KB / Tammo Hinrichs. Without his help a buggy driver would
be sleeping on my HD for another months.. :)
This is a wavetable device driver for Gravis UltraSound PnP and compatibles
using the AMD InterWave chip.
The INTERWAVE environment variable must be set, in order to let cp detect it.
The port is determined via the ULTRASOUND variable. The card must be
correctly initialized in UltraSound mode.
GUS PnP users can now:
  -stop asking for support
  -play 32 channel modules with 44100Hz in GUS quality
  -play modules > 1 MB without loss of sample quality
   (assuming they have more than 1 MB ram... :) )
  -use finer panning
  -make water boil
Little bad things :-( :
  -does only support up to 4MB InterWave RAM (or even less iff you
   got a strange SIMM configuration)
  -does not use the GUS timer IRQ, so it actually won't run in the Win95
  -Reverb/Chorus not included - will be fixed as soon AMD is a little more
   generous with information
To install this driver just copy the files DEVWIW.FDO in
your CP directory and add the following lines to CP.INI:

Then add "devwIW" to the "wavetabledevices=" list in the [sound] section.
Note that CP will use the first driver in this list. The others can be
accessed via @:\DEVICES\DEVWxxxx.DEV
The GUS PnP CODEC is compatible to the GUS MAX CODEC, so add the following
line to AUTOEXEC.BAT to use it in CP as well as in FT2:
SET ULTRA16=3xC,d2,i1,1,0
where x is the second digit of the GUS port, d2 is the 2nd dma and
i1 the 1st irq. (ULTRASND=2x0,d1,d2,i1,i2)
back to the top

cubic Tiny XM Player 1.5

This is a MOD and XM player package for the GUS in flat mode.
  It was optimized for size not for speed. The size is about 5.6k or 3.8k
  if you pack it with PMWLITE, but the size can be reduced by excluding
  unused effects. It was designed for the compo version of 64k intros,
  originally for the Lasse Reinb0ng Intro by cubic team & $een presented at
  the Party 5 held in the end of December'95 in Fredericia/Denmark.
  It supports nearly all XM effects and features. You can also play S3Ms,
  but the player will only play what FastTracker II makes of it.
  It supports the GUS and no device.
  It supports at least DOS/4G(W), PMODE/W, DOS32 and EOS. It will also work
  with PMODE if you set up a flat memory model (see section MXMPLAY.ASM...)
  or make "gates" to the functions, that make a temporary flat model
  (flat stack and flat code, ie: cs=ds=es=ss).
  It supplies timer and music syncronisation functions for your production.
  If you find any incompatibilities with FT2 please tell me.
  Please ONLY use MXMPLAY if the size of the executable matters.
  If not use a real soundsystem like MIDAS!
  I'd also like to encourage you to make a final version of your production
  if you use a GUS-only player like MXMPLAY, because there are still so
  many guys, who do not own a GUS and demos/intros without sound are soooooo
  If you make changes to mxmplay to make it work with different systems or
  add new features to it, please send me a copy and a *description* your
  changes. I will then include it in the official package (with credits,
  of course), and you don't have to change new versions.
  I am especially interested in:
    -SB series support (this will give BIIIIG creds! :) )
    -screen sync
    -a pmode example
    Revision history:

  1.5: 15.9.96

    -xmpInit now only accepts the GUS port
    -xmpGetGUSPort gets the GUS port from an environment near ptr
    -xmpGetEnvPtrDPMI gets the environment near ptr from the PSP seg
    -xmpGetEnvPtrDOS32 gets the environment near ptr for DOS 32 progs
    -volume fadeout is used even if volume envelope is disabled.
     i'm not quite sure about it, but it seems to be like that in FT 2.05
     (if not, change it back to what it was before in xm2mxm.cpp)
  1.4: 30.6.96

    -defines at the top of MXMPLAY.ASM to exclude unused effects
    -XM2MXM generates include files for MXMPLAY.ASM to exclude unused effects
  1.3: 10.4.96

    -set envelope position
    -if sustain is off no instrument changes are allowed
    -relocation free code
    -clean patterns fixed
  1.2: 30.1.96

    -source included
    -sample offset corrected
    -volume/global volume/panning slide corrected
    -starting order adjustable

  1.1: 21.12.95

    -automatic gus detect, xmpInit changed
    -global variable "__psp" needed for detect
    -names have changed, underscores now after function names
    -delta sample values for better compression
    -sync now works :), thanks go to the one who told me...

  1.0:  4.12.95

    -first release

back to the top  

last modification 10. February 2000 by Michael Baekow- Cubic Team Internet Staff