Mixer

The mixer allows the mono sound produced by each separate virtual CoCo to be routed to a Right or Left channel as is or mixed with another sound source.

The Mixer Outputs are routed to the 3.5 mm jack on the back of the CoCo5 labeled Audio on the CoCo case and labeled "Stereo Audio Out" in the figure above.

The Figure below is a block diagram that  outlines Mixer Operation.


The analog inputs i1 and i2 are connected by to two points on Terminal Block like device that accepts a screwed down wire in one side and connects to the iX trace on the other. So for instance you could take a stereo audio wire like the one that would connect an ORC90 to headphones  and cut it, separating the Right and Left Chanel signal wires. This would allow an ORC90 cartridge in the internal cartridge slot to route it's audio into the Mixer you only need to connect the Right Channel Wire to i1 and the Left Channel Wire to i2 which would then let you mix the ORC90 sound with whatever is playing on the virtual CoCo's. 

To best understand the Mixers capability's lets look at the X prompt commends for mixer configuration.

Mixer configuration commands at X prompt.

X>HRDMAN MIX  OUT RIGHT = i1+#2+F
This command sends the mixture of the weighted value of Analog input i1 virtual cpu#2's audio and the audio from the cpu currently in focus out the right channel (R.C.O).

X>HRDMAN MIX  VOLUME(i1) = 5
This sets the weight  of  analog input i1 to 3db  above it's base value see table below for weight values.

X>HRDMAN MIX  SHOW
This shows the mixer settings in a system overlay window SHOW is written in grey because typing it is optional just MIX by itself does the same thing..

X>HRDMAN MIX  IN  ="in","in",..  RESET   ( MAX | MIN )
This command resets the mixer volume of all inputs to base values unless "in" is used to specify which inputs if the MAX or MIN  parameters the volume is set to MINIMUM or FULL.

X>HRDMAN MIX IN="in","in"..  OFF
The Mixer cannot be completely  shut off but mixer inputs can be shut off for example MIX i1,i2 OFF would turn off all analog inputs to the mixer.

X>HRDMAN MIX  V SAVE
This command saves mixer settings to MIX.TXT on  /u1 if V is specified only the Volume settings are changed.

X> HRDMAN MIX  V RESTORE
This command restores the settings from MIX.TXT if the V option was specified only the volume settings are restored.


Note each of these commands starts with HRDMAN if you are in Dual CoCo mode you can instead use the Tandy code to put CPU#1 which is in Hardware Management mode in Focus that will put the H> at the bottom of the screen. At the H prompt these commands become the following in NOT VERBOSE format.

  1. MIX  OUT RIGHT = i1+#2+F
  2. MIX  V(i1) = 5
  3. MIX
  4. MIX  IN="in","in",..  RESET   ( MAX | MIN )
  5. MIX  "in","in"..  OFF
  6. MIX  V S
  7. MIX  V R

OK so lets look at the commands again in more detail.

  1. MIX  OUT RIGHT and MIX  OUT LEFT are the commands that describe what combinations of inputs are to be sent to the RIGHT and LEFT channel outputs at the back of the CoCo5, these inputs are as follow.

    Questions: What is meant by "CPU currently in Focus"?
    Calling the CPU currently in Focus X then X becomes in Focus by using the [TANDY] key which cycles through X= CPU's 3,2,1,0,3... or 0,1,2,3,0... with the [SHIFT] key held down or by clicking on a Window who's TOP(Foreground) level is  owned by virtual CPU #X with the USB Mouse 

  2. MIX V(x) where x is the input i1,i2,#3,#2,#1 or F
    in the case of  i1 and i2 the assigned value can be 0 for OFF or 1 to 7 with volume increasing in 3dB increments and 4=Standard Volume.
    in the case of #3,#2 & #1 the assigned value can be 0 for OFF or 1 to 32 with volume increasing in 1dB increments and 16=Standard Volume.
    the case of F the  assigned value can be 0 no change or 1 to 10 where the number indicates what number of dB to increase the Volume of the in Focus sound stream by.
  3. MIX or   MIX SHOW causes a pop up System Info Window to open showing the mixer settings.


    The window closes as soon as the keyboard is touched.
    If S or s was pressed the message comes back "MIXER SETTINGS SAVED TO NVRAM".
  4. MIX  IN="in","in",.. RESET   ( MAX | MIN )
    The command MIX IN RESET simply sets all inputs to there standard base value 4 for i1 and i2 and 31 for #3 ,#2 and #1.
    The command MIX I=i2,i1  would set only the analog inputs to there base value and leave the other input settings as they are.
    The command MIX I=#3 MAX  would set only virtual CPU #3's sound output to the maximum volume = 31.
    The command MIX I=#2 MIN would set only virtual CPU #2's sound output to the minimum volume = 1.
  5. MIX  "in","in"..  OFF
    MIX  #2  OFF would mute virtual CPU #2's sound output.
    MIX  #2,3  OFF
    would mute both virtual CPU #2 and #3.
  6. MIX  V S
    MIX  S would save the mixer settings currently in use to the file MIX.TXT this file is located on uDisk#0 and the program is able to locate and save this data regardless of format as long as it is a RS-DOS OS9 or PC-DOS floppy format. If the format is not RS-DOS then the file must be saved in the NVR directory.    
    MIX  V S
    would change only the volume settings in MIX.TXT to match currently used settings.
  7. MIX  V R
    MIX   R sets all input gains and output mixes according to the contents of the MIX.TXT file on uDisk Zero.
    MIX  V R sets only input gains according to the contents of the MIX.TXT file on uDisk Zero.

The MIX.TXT file is searched for on uD0 by CPU#0 or CPU#1 when a command such as MIX R is issued. This file is either found in the ROOT directory in the case of RSDOS or in the /NVR directory if uD0 is formatted as either the OD-9 /ud0 or the MS-DOS A: drive. An example of the contents of this file is listed below.

MIXER SETTINGS
INPUTS
  ANALOG
    i1=4
    i2=4
  DIGITAL
    #3=16
    #2=16
    #1=16
OUTPUTS
   LCO=/i1+F
   RCO=/i1+F
END
// OPTIONAL COMMENTS.

Some sources for the analog inputs might be an internally mounted ORC90 or Speech N' Sound Pack or perhaps a board interfaced to the advanced adapter.

One possibility would be to use this connection to add the Texas Instruments  SN76489 chip for a Tandy 3 Voice sound comparable system.

In addition to the two standard stereo jack outputs two further outputs bA and bB are available and require codes in MIX.TXT to enable .
These outputs can provide either stereo sound for one Bluetooth channel or Mono Sound for both. To implement  stereo for both Bluetooth channels the setting Audio-Tee must be turned on in settings memory in that case b2 gets sent a copy of the audio jack sound.