0 Users Online Chatting

  • No one

 

June 2010
S M T W T F S
« May   Jul »
 12345
6789101112
13141516171819
20212223242526
27282930  

Newest Files

Downloads Page

Archives


06/11/10: Designing The Ultimate Stereo Sound Pak For The Tandy Radio Shack TRS-80 Color Computer 1, 2 and 3 (CoCo 1, 2 and 3). by gimechip, | Tags: | Category: General | 4 comments

The following is a copy of my original WebPage detailing the design of the Stereo DAC Sound Card. Links have been updated to reflect the CoCo3.com downloads.

Stereo Sound And The TRS-80 Color Computers

Designing The Ultimate Stereo Sound Pak For The Tandy Radio Shack TRS-80 Color Computer 1, 2 and 3 (CoCo 1, 2 and 3).
By: J&R of GIMEchip.com

Phone HOME.

DISCLAIMER #1:
I am not a genius. As such, all of my writings are susceptible to errors and mistakes, due to the whole “being human” syndrome. I present this information to the Vintage Computing Community as a whole, and the Tandy Radio Shack TRS-80 Color Computer Community in particular. Please note that I am not responsible for any damages of any kind that you may incur from the use of this information. If you do not agree with this statement, please stop reading… now. Otherwise, I invite you to continue…
DISCLAIMER #2:
The following article is provided for informational purposes only. Any attempt to modify your computer without the proper skills to do so may void your computer. Any attempt to modify your computer without unplugging it first may void you. This Information is provided “as-is” with no guarantee of fitness for any purpose, either explicit or implied. We disclaim any and all responsibility for losses incurred through the use of this information. By using this information, you are deemed to have accepted these conditions of use, and you agree NOT to sue us.

CLARIFICATION:
The preceding disclaimers state as plainly as possible that if you decide to make use of any of the information contained within this document that you do so at your own risk. Designing hardware for the CoCo (ColorComputer) is a hobby of mine and is not motivated by any desire of profits. As this is a not for profit venture, obviously I can’t afford not to disclaim the use of this information.

This Article is Copyright ©23 February 2010, Gimechip.com, All Rights Reserved. (but, like all my other designs, you guys know you can use it if you want to ;-) .)

THE FOLLOWING TEXT WAS WRITTEN 23 FEBRUARY 2010:

Two days ago, during a rough thunderstorm, my internet connection was interrupted. In this day and age, what is there to do, if not browse the internet? Obviously, this resulted in almost immediate boredom. In an attempt to alleviate said boredom, I decided to design a CoCo hardware product. Way back in 1994, my Father designed a CoCo Stereo Sound Card that was compatible with the Tandy “Orchestra 90/CC” and the Speech Systems “Stereo Composer”. It had the added advantage of intercepting sound output to port $FF20 (the CoCo’s 6-bit DAC) and outputting this to both Stereo Channels Simultaneously. My Father basically used the Orchestra 90/CC Schematic, adding the required additional circuitry to decode the two Stereo Composer Channels and the Mono ($FF20) Channel. It was a bulky device, but functioned as intended. However, one caveat – If it was plugged into a Multi-Pak, the $FF20 channel would not work because the Multi-Pak’s data buffer is only enabled on $FF40-$FF7F. Dad had mentioned plans to alleviate this caveat, as well as adding support for the Single-Bit Sound Output (bit 1 of $FF22). I decided that I would do a complete re-design of Dad’s idea, without using the Orchestra 90/CC Schematic – after all, I would be using a GAL chip to reduce the circuitry required (I wanted to fit this on a 16 Sq. In. PCB). After working all night (my internet didn’t return until about 5:30 A.M.), I completed a design and board layout which I believe will function. Please note though, that none of this has been tested. I leave it up to my readers to point out any errors in this design, such that I may correct them.

To start the design, I first had to identify the audio output I/O addresses. This wasn’t too difficult, as my Dad provided me with the Orchestra 90/CC and Stereo Composer I/O addresses, and I knew the CoCo’s 6-bit DAC is mapped to address $FF20 and the single-bit sound output is bit 1 of $FF22. So, basically, the I/O map looks like this:

$FF20 – The CoCo’s standard audio output, via a 6-bit DAC, bits 2-7, with bit 2 being the LSB. Bit 1 is the RS-232 data output, and bit 0 is the Cassette Data Input. The Stereo Pak will activate both it’s LEFT and RIGHT Channels whenever a write to $FF20 occurs. This will allow the Stereo Pak to generate sound from ANY piece of CoCo software. Note that even though the CoCo’s internal sound routines, and most other software, only generate a 6-bit digital byte for the sound, most of the Music Composition Programs (commercial and otherwise) generate a full 8-bits (even though 2 bits are ignored by the CoCo’s 6-bit DAC.) These programs can now be heard through the Stereo Pak in their full 8-bit glory! It is important to note that bit 1 is the output for the RS-232 port – the stereo pak will therefore output noise while printing to the RS-232 port or communicating with equipment such as a modem. A jumper will be included to allow the $FF20 sound to be enabled or disabled in order to alleviate this “noise”.

$FF22 – The CoCo also has a single-bit sound output at bit 1 of $FF22. I could have designed the Stereo Pak to simply activate both Stereo Channels on any write to $FF22, but this wouldn’t be of much use since bit 1 wouldn’t make much of a difference in the amplitude of the output of the DAC’s. A better solution would be to apply bit 1 to all 8-bits of the DAC’s whenever a write to $FF22 is detected. This allows the toggling of bit 1 to toggle the output of the DAC’s between near zero volume and maximum volume. Of course this approach means two data bus buffers have to be added to the design – one only active on writes to $FF22, the other only active on writes to $FF20, $FF70, $FF72, $FF7A and $FF7B (these latter addresses are those for the Stereo Composer and Orchestra 90.) There will also be a jumper allowing the $FF22 sound to be enabled or disabled (as with $FF20, there are other uses of $FF22 which can generate noise.)

$FF70 and $FF72 – These are the LEFT and RIGHT outputs of the Speech Systems Stereo Composer. Again, jumpers allow either or both of these addresses to be enabled or disabled.

$FF7A and $FF7B – These are the LEFT and RIGHT outputs of the Tandy/Software Affair Orchestra 90/CC. Again, jumpers allow either or both of these addresses to be enabled or disabled.

With that I jumped right into the design, working all night until I ended up with the following schematics:

This part of the schematic is basically the cartridge “plug”, address decoding and the enable/disable jumpers for each of the memory addresses. Notice that a GAL 22V10 is employed to reduce the number of chips considerably.


This part of the schematic represents the two sets of data bus buffers. Note that if the $FF22 output were removed from the design, then this entire section of the schematic could be eliminated. The second set of buffers are responsible for feeding bit 1 of $FF22 to all 8-bits of the DAC’s.


This is the feedthrough header (CN1) which is used to allow the Disk Controller or the Multi-Pak to plug into the sound card. If the sound card were to be plugged into the M.P.I., then the $FF20 and $FF22 outputs would not function. Therefore, I have allowed for the M.P.I. to plug into the sound card. Also shown is a reset button that allows the CoCo to be reset by pressing the switch. There is a power L.E.D. and an EPROM – the EPROM can contain operating software for the Stereo Pak (such as the Orchestra 90/CC ROM). The Auto-Start Jumper will allow the EPROM software to auto-execute if the jumper is installed. The ROM enable jumper allows the ROM to be enabled or disabled completely (in case a Floppy Disk Controller is installed.)


These are the two (LEFT and RIGHT) DAC’s. Rather than use R2R’s as in the Orchestra 90/CC, I decided to use 7524 Multiplying DAC’s. This saves a lot of circuitry and should sound really awesome.


This is the initial P.C. Board Layout. It is completely routed by the auto-router and so many of the tracks are less than optimal.

THE “.ZIP” FILE CONTAINING THE WHOLE PROJECT MAY BE DOWNLOADED HERE:
Stereo DAC Sound Card (GIMEchip.com) Complete “.zip” file includes E.A.G.L.E. files

FavoriteLoadingAdd to Favorites

4 comments to Designing The Ultimate Stereo Sound Pak For The Tandy Radio Shack TRS-80 Color Computer 1, 2 and 3 (CoCo 1, 2 and 3).

  • Please note that some additional features are planned for a possible production unit. First, as designed above, the output is between .4 and .5 volts peak to peak. A couple of 2x Amplifying buffers need to be added to bring this up to about .8 to 1 volts peak to peak. A “mixer” is also planned to “mix” the left and right channels and capacitively couple this “mixed” signal back to the CoCo’s SND pin. The output level pots will be removed from the design also – they aren’t really needed. -John

  • CocoWal

    Thats awesome John ! Thank you so much for putting in so much effort and documenting your work so professionally . Looking forward to seeing your final design , and ultimately sitting back and listening to it on my stereo :)

    Cheers,

    Wal.

    • You’re welcome CocoWal. As soon as I add those last couple of features, I’ll make another post. If you would like to make and sell any of these once the design is finalized, I don’t mind. I love to share my work, and I don’t have time to manufacture everything I design (wish I did though – that would be cool). I also DO NOT require any royalties – just a little name recognition makes me smile :-) —John

    • CoCoWal – I have posted the improved (at least I think it’s improved – I still need to look over it) Stereo DAC Sound Card here:
      The Ultimate Stereo Sound Pak, Version 2.0
      Assuming that I’ve correctly calculated the component values for the op-amp buffer/amplifier circuits, then this version may be the “production” unit. -John

You must be logged in to post a comment.