• Please review our updated Terms and Rules here

Interesting sounds from Tandy sound chip noise channel

This has me wondering about something. Per the Tandy TL technical reference (downloaded from Trixter's site):

Jacksboro Specification (PSSJ Sound Chip)

6.0 Modifications to the 76496

6.1 Extra Bit of Division by each channel.

When clocked by a 3.579545 MHz signal, the lowest frequency generated by the 76496 (with its 10 bit dividers) is 109.24 Hz. It is desired to be able to generate lower frequencies. An extra bit of division will allow frequencies down to 54.62 Hz, or an octave lower than the lowest note currently available. Since there is an extra bit in the frequency update register (second byte), it makes sense to implement this feature here. However, to maintain backwards compatibility, since it is not known what is programmed in this bit, there needs to be a way of defeating the extra bit of division. Therefore, there is a signal (SEDE), which enables the extra bit for all three channels. This bit defaults to a logic zero (low) on reset. When it is set, by writing to port C4 with bit 6 high, the extra divider will be enabled.


Was anything ever programmed to take advantage of this feature?

Not that I'm aware of, but let me know exactly which document you got that from and I'll try to add support for it to MONOTONE. This means I need to come up with a way to detect whether or not I'm running on a Tandy 1000 series of a TL/SL/RL series...
 
Not that I'm aware of, but let me know exactly which document you got that from and I'll try to add support for it to MONOTONE.

ftp://ftp.oldskool.org/pub/tvdog/tandy1000/documents/tltech.zip

(Probably the same one you mentioned earlier in the thread.) :)

This means I need to come up with a way to detect whether or not I'm running on a Tandy 1000 series of a TL/SL/RL series...

Have you seen Frank Durda IV's PSSJ Digital Sound Toolkit? There seem to be quite a few USENET posts between he and Jeffrey Hayes that make mention of a detection routine (that might be usable for MONOTONE).
 
Something else of interest, from TANDAC.DOC, found in Jeffrey Hayes' tspak181.zip archive:

Tandy offered some enhancements over the PCjr 3-voice chip, including the capability of using the DAC as a 4th tone channel and the ability to play tones an octave lower than the TI chip.

This is the first and only reference I've seen that describes using the DAC as a 4th tone channel. Is he referring to playback of a PCM "tone" via the DAC, or actual SN76496 functionality...?
 
This is the first and only reference I've seen that describes using the DAC as a 4th tone channel. Is he referring to playback of a PCM "tone" via the DAC, or actual SN76496 functionality...?

Hmm, nevermind. The aforementioned document and the TL technical reference both provide explanation (not that I understand any of it...).

So, really, you might be able to eek five voices out of a PSSJ-containing Tandy with Monotone (if the PIT can be used?).

Wait, or is that six voices, if you count the noise generator...? :)
 
Last edited:
So that would indicate that you can have 3-voice as well as the PC speaker, at least for the TL series.

I am finishing up effects for MONOTONE and after I'm done I'll add Tandy/PCjr support and investigate if this is possible on the 1000.

Zeliard allows you to do exactly this - play the music through the 3-voice, and effects through the "PC speaker." It worked fine on an RL; I've not tried it on anything earlier (SX).
 
Not that anyone should care, but I stumbled upon an example where the PC speaker is leveraged musically (primarily for lower-frequency tones) along with concurrent use of the SN76496 core channels - in Sega's "Joe Montana Football."
 
Bisqwit's player and conversions are certainly impressive enough. I suggested to him years ago that the extra synth channel in the PSSJ-bearing Tandy systems could be used to more accurately reproduce NES music, and while I've since made the same suggestion to others working on similar conversions, I'm yet disappointed to see that there just isn't any interest.
 
Not that anyone should care, but I stumbled upon an example where the PC speaker is leveraged musically (primarily for lower-frequency tones) along with concurrent use of the SN76496 core channels - in Sega's "Joe Montana Football."

That game also supports the Innovation :-O as well as the Game Blaster for digital audio... Nice!

Also, it holds the distinction of being the first game to have real compressed full-motion video for DOS, if you have VGA/MCGA enabled. It's displayed on the title screen. The method was invented specifically for the game, and is similar to MSV1 (Microsoft Video 1). I have a very old email somewhere in my archives that describes the method from the original programmer.

EDIT: Regarding PSSJ capabilities: I've just looked at both the tech ref and the port summary documents from earlier in this thread, and I think what I'm seeing is that the DAC can be programmed to be the "4th" sound channel -- instead of playing back digitized audio, it can generate a pulse, ramp, or triangle waveform at the specified frequency. TANDAC shows this as mode "sound channel". Unfortunately it looks like there's no BIOS mode for this, so banging on the hardware may be the only way to enable this. On the upside, the duty cycle can be chosen, so this could easily be used to fully emulate an "NES" channel.

Another cute thing in the docs is the ability to synchronize the frequency dividers. There is very little application for this, but if you were trying to generate a very specific phased sound, this would let you do it.
 
Last edited:
Last year I ported my VIC-20 music player to the creatiVision and implemented the LFSR sound so now I'm fully aware how the SN76489 operates. I don't know if it is the same on a Tandy, but I found that the frequency in channel 2 doesn't at all tune with the LFSR sound (periodic noise) in channel 3 generated from the channel 2 frequency. That is, I only get to use two channels of classic square wave and one channel of narrow bass, with the option to switch to white noise now and then for drum effects.

However as the creatiVision is clocked at 2 MHz, lower than most Z80, TMS9900 and 8088 systems, I seem to be able to get lower frequencies from the square wave channels than those 110 Hz so I don't really need the LFSR. I don't know if this is true for the BBC Micro/Electron too, gotta check that for myself as they're also 2 MHz 6502 systems but perhaps the sound chip can get its clock from various sources so it may differ.
 
Also, it holds the distinction of being the first game to have real compressed full-motion video for DOS, if you have VGA/MCGA enabled.

I didn't know about the compressed video fact, but even without that knowledge, if I had to list what I consider to be the most "technically-impressive" DOS-based games, "Joe Montana Football" would surely be present. It's also easily one of the best looking Tandy-graphics-supporting titles that I've yet come across, and remains playable even on the 8086-based RL. Likewise, MST's earlier, "Face Off!" title is a similar story, with smooth, full-screen scrolling, and fluid gameplay, even on lesser systems.

(As with "Joe Montana Football," "Face Off!" also uses the PC speaker as a melodic channel, in tandem with the SN76496.)

Another cute thing in the docs is the ability to synchronize the frequency dividers. There is very little application for this, but if you were trying to generate a very specific phased sound, this would let you do it.
The application, as I understand it, is that you'd specifically want to synchronize the frequency dividers when using the DAC as a fourth (synth) sound channel, with the implication that it and the SN76496 channels might otherwise be out-of-phase.
 
Last year I ported my VIC-20 music player to the creatiVision and implemented the LFSR sound so now I'm fully aware how the SN76489 operates. I don't know if it is the same on a Tandy, but I found that the frequency in channel 2 doesn't at all tune with the LFSR sound (periodic noise) in channel 3 generated from the channel 2 frequency. That is, I only get to use two channels of classic square wave and one channel of narrow bass, with the option to switch to white noise now and then for drum effects.

However as the creatiVision is clocked at 2 MHz, lower than most Z80, TMS9900 and 8088 systems, I seem to be able to get lower frequencies from the square wave channels than those 110 Hz so I don't really need the LFSR. I don't know if this is true for the BBC Micro/Electron too, gotta check that for myself as they're also 2 MHz 6502 systems but perhaps the sound chip can get its clock from various sources so it may differ.

Hi, i was wondering if anyone may have heard of the ALF MC16 from 1978 for the Apple II?
It was the first Personal Computer music expansion and it seems that TI designed the SN76489 based on this card.
The MC16 has 3 square wave sound channels based on the 8253 Timer IC. The Timer offers 3 16 bit timers that were routed through a 8bit (companding) DAC.
As the timer was driven by a 1.782Mhz crystal, very exact tuning was possible.

In 1980 ALF began selling the ALF MC1 that used 3 SN76489 to produce 9 independent sound channels.
The chips were driven by a 2mhz master clock (Q3 from the Apple II bus).

The ALF MC1 was one of the best selling accessories for the Apple II (until 1983) besides the floppy controller. One of the Key-features was the very well designed graphical note entering system. you did not need fundamental computer knowledge to 'program' a song. Interestingly ALF would later make their money with disc copy stations as the song-disks (mostly composed of songs that were sent to ALF by customers) were very well bought and needed to be 'massproduced'.

@carlsson: if you would be interested to port your music player to the Apple II platform, i could provide you with a Apple II computer and a 9 channel sound card (which i have already cloned for myself). As the Apple II has a 1mhz 6502 CPU and a straight forward memory map, it should be easy to tinker with it if you already have some experience with 6502 programming ;-) There are several 100s of songs for the ALF MC1 (and MC16) that used between 3 and 9 voices (available online). The song format is consists of notes and some (not?) processor specific commands (loop-, envelope-, ...-controls).

This thread was very interesting to read so far, pleas give me more :p

STUFF FOR THE EARS:

Apple II with 2x Mockingboard (=4x 8913) + Midi card recorded directly from a real Apple II:
http://www.applefritter.com/content/ultima-5-fat-tunes

Some 70s and 80s Synthesizer Songs recorded from Tape, LP ... very bad quality...at the time i did not have the recording equipment i used for the Ultima 5 tracks:
http://www.applefritter.com/content/apple-compote-side-b
http://www.applefritter.com/content/apple-compote-music-casette
http://www.applefritter.com/content/test-mp3s-not-finished
http://www.applefritter.com/content/alf-mc1-songs

As you may have realized: Im an Apple II collector ;-) ... but i like all vintage computers the same.

-Jonas
 
Last edited:
Likewise, MST's earlier, "Face Off!" title is a similar story, with smooth, full-screen scrolling, and fluid gameplay, even on lesser systems.

I had forgotten about that one. I fired it up tonight and was reminded that some of the music was reused in another game (I want to say Tongue of the Fatman or maybe Deathtrack). I swear I've heard that title screen (Adlib) in one other game.
 
Jonas: I've already got a Basis 108 but I suppose its built in sound is rather on the beeper stage. I've also got a few BBC Micro and Electrons, so I believe my current code should with just some massage be runnable on those systems. I just need to find time and reason to go ahead with it.

Nine channels sounds like a lot. Are we still talking about SN chips?
 
Jonas: I've already got a Basis 108 but I suppose its built in sound is rather on the beeper stage. I've also got a few BBC Micro and Electrons, so I believe my current code should with just some massage be runnable on those systems. I just need to find time and reason to go ahead with it.

Nine channels sounds like a lot. Are we still talking about SN chips?

Yes, 3 of them. The ALF MC1 has 3 SN76489 ICs.
I have a Basis 108 as well. But i haven't tested any sound system with it.
Here you can find some MC1 songs i have recorded...
Of them i like the Toccata song most.

-Jonas
 
I’ve often wondered why “Tandy sound” usually had inferior sound effects as compared to the master system which used the same chip, I have to guess less expertise and budget?
 
Interesting thread. I'd wager that there aren't too many 8-bit 'mono' sound cards around these days. But I have one in my 1000SX. Probably even precedes the SoundBlaster. Problem is that it's now difficult to interface to mono speaker without tearing up a stereo cable and I don't have just a single speaker handy anymore.
 
Back
Top