VOGONS


The Tandy 1000 ISA sound card brainstorm thread.

Topic actions

First post, by carlostex

User metadata
Rank l33t
Rank
l33t

Recently there seems to exist a lot of interest in replicating/reengineering hacks, new boards, convwerters, new tools etc...

As far as sound cards, no one can complain. There is the MIF-IPC replica, to give new life to the otherwise useless old MPU-401 BOB's, the very recent but extremely successful Innovation SSI-2001 project and even shock__'s DSS/Covox all in one replica. Other projects are in the loom, including the Covox Sound Master and the newer GUS PnP replica.

What's a Tandy 1000 card, why and what is this all about?

On the early days of IBM PC there was nothing but PC Speaker. Clones started to appear but since the IBM PC was focused into the business market there was no need for a more complex and capable sound device. Clone makers just need to make their clone work run DOS, Lotus 1-2-3 and Wordstar. (Yes i know it was more than that).
Fortunately, although badly executed, IBM did enter the home market while keeping (arguably) compatibility with their own IBM PC standard. Because it was a home computer, it needed better graphics and it needed sound. So they expanded on CGA and used a rather simple (but far superior to the PC Speaker) 3 voice generator chip, the TI SN76489. his was the PCjr.
Although the PCjr failed, Tandy had cloned the PCjr, carrying over the enhanced graphics and sound (albeit with slight changes) and where IBM failed Tandy succeeded. Tandy Radio Shack being extremely popular at the time, provided a line of computers of their own that could be sold and supported in virtually every single store.

How is this important on an historical context? A lot of game publishers released games with both support for IBM PC and Tandy, supporting these computers out of the box. If you had a Tandy you would enjoy the enhanced graphics and sound if not... well some people got Tandy's later while others "suffered" with their IBM PC's and/or clones. Point is if you didn't have a Tandy, you couldn't enjoy such enhancements.

Why didn't Tandy release a card themselves for IBM PC's and clones?
Apparently they did have development boards, including the PSSJ and SN74689 (or should it be the NCR clone?). Commercially, i don't think they did.

So what's the goal here?
The goal would be at minimum provide SN76489 sound output via an ISA card installed on your normal XT or AT system. A little further would be to provide some way this board could provide Tandy graphics and BIOS extensions, via hardware or a TSR.
A complete but much more difficult would be all of the above, including PSSJ capability. This would be nearly impossible, short of maybe cannibalizing or harvesting PSSJ circuitry fro dead Tandy 1000's.
This hypothetical card would allow to enjoy Tandy 3 voice at minimum, Tandy Graphics and sound if going a little further or the complete Tandy multimedia capabilities for the last but nearly impossible choice.

The most realistic goal at the moment, is to consider only basic 3 voice sound chip, at least for starters.

Is this possible to achieve?

Theoretically yes, as mentioned by users here and other forums, it would be a simple circuit for the SN76489 sound generator, and probably cheap to produce. At the same time we would most likely need some software to complete the functionality.

So what are the problems/challenges this would present?

As mentioned on this forum some problems arise:

1 - Tandy sound is accessed through port C0h, which unfortunately is where the second DMA controller resides for AT systems;
2 - Some games need to detect Tandy specific BIOS extensions, or absolutely need Tandy Graphics to run;
3 - Some games will be speed sensitive;

How would you solve/go around those problems?

1- Either place the hardware directly on port 0xC0h which wouldn't be a problem for XT systems, or place it somewhere else and then redirect the calls via a TSR. EMM386 is not an option, though. Either way, Japael makes a good point about C0h and the possibility of it still working even without any redirection.

2 - Tandy BIOS extensions shouldn't be hard to emulate? Probably games just look for a specific string? Tandy graphics could also be emulated, as they are just CGA extensions. How it would be emulated is the question.

3 - For XT or even low end AT systems this wouldn't be a huge problem. I think these systems are slow enough and/or have still a margin to be slowed down further.
For faster systems such as 386's and even faster, it could be likely that some games would be unplayable, but still this does not invalidate the project IMO.

So what do we need to do this?

At first we need brains. Or if you prefer brain power, but then it also needs dedication.
First decision would be what we are going to do? Only simple 3 voice chip support or more than that?

Then we would need an engineer that would design the circuit for the ISA card. How complex the work would be would depend on decisions made.
Then someone really well versed in assembly so that we could have an effective TSR that would do all the artificial stuff we would eventually need.

What's the point of this if we have DOSBox or even TandEM?

Because the point is exactly not use any kind of emulation whatsoever. Even if some layer of own emulation might be needed in order to make the actual hardware work, the point of this would effectively be to create real hardware Tandy 1000 sound card and not just emulating Tandy sound.

All in all, i wold like to at least have a discussion about this without any unecessary derailing. Let the brainstorm begin. 😎

Reply 1 of 114, by Beegle

User metadata
Rank Member
Rank
Member

First thing that pops to my (not super technical) mind, is the dev boards.
I'd like to contact Mark Seibert from Sierra, with your permission of course.
He composed/edited music for games starting from the late 80s, and a few of the DOS ones supported Tandy/PCjr/Tandy 3 voice sound.

I would like to know what was the music composition pipeline, in an era where all sound devices functioned in radically different ways.
Then I would ask him if he recalls how the music was adapted/transposed to legacy sound devices, like the Tandy 3-voice, and what tools they had at their disposition at the time to do this.

The more sound cards, the better.
AdLib documentary : Official Thread
Youtube Channel : The Sound Card Database

Reply 2 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t

That's a great idea Beegle. And you or anyone does not need my permission for anything, if we want to learn anything every help we need is good. And its quite obvious that this is for all good of the retro community.

Anyway, its a great idea. I can start asking some questions on Twitter as well. Stuff gets retweeted and maybe we can get some answers/info.

Reply 3 of 114, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

In my opinion, this project will be extremely difficult to pull off.

First, the Tandy sound chip can be found at C0-C7, the port is present at eight different addresses. Unless you test the 1,500 or so games that support Tandy graphics, how will you ensure that a game does not write to a Tandy sound/DMA register that can screw up the system? Which sound chip do you use? Do you use the original TI SN76496, found in the IBM PCjr. and Tandy 1000s or the NCR 8496 often found in the EX, SX, HX and TX? They do not always sound the same. The only way you are likely to find spare PSSJ chips for use are the ones you harvest from the Tandy systems that have them. Then you will need to add BIOS functions for the digital sound function from scratch. The PSSJ chips use an IRQ and a DMA channel, complicating the board design.

Second, there are some Tandy games like Skate or Die and Kings of the Beach that will not support Tandy sound without Tandy graphics. To be all-encompassing, you will need to include Tandy graphics support on the card. This will greatly increase the board design complexity. You will need to harvest video chips from existing Tandys if you don't want to design a graphics controller chip. Also, do you support basic Tandy Video or Enhanced Tandy Video? As mentioned previously, you will need to add a BIOS extension for the extra video functions, but you have a great start to that with the PCjr. Technical Reference.

Third, many Tandy games detect a Tandy 1000 by reading the system identification byte, 21 at FC00:0000. They may also look for a "TANDY" string somewhere in the BIOS as well. You will need to find a way to intercept those memory reads. I do not believe you can disable and replace motherboard BIOS chips via an ISA card.

In conclusion, I believe that creating a Tandy card would be a huge endeavor, more frustrating than it would be worth and probably not within the resources of a single individual or two.

Last edited by Great Hierophant on 2015-02-28, 00:26. Edited 1 time in total.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 4 of 114, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie

Something like Tand-Em would be good to study.

http://www.oldskool.org/pc/tand-em

It emulates the enhanced graphics (via VGA) and sound (via a soundcard with OPL). Plus it handles intercepting the hardware calls on a 386 by virtualized I/O calls.

Reply 5 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

Unless you test the 1,500 or so games that support Tandy graphics, how will you ensure that a game does not write to a Tandy sound/DMA register that can screw up the system?

This is supposed to be simple at first, so only 3 voice SN76496 games will be supported.
Then we're supposed to have a TSR to redirect everything safely just for sure.
Another possibility would be using a parallel port dongle like a Covox instead of the ISA bus.

Great Hierophant wrote:

Which sound chip do you use? Do you use the original TI SN76496, found in the IBM PCjr. and Tandy 1000s or the NCR 7496 often found in the EX, SX, HX and TX? They do not always sound the same.

Whatever we can get. If TI SN76496 is plentiful and others not that's what should be used. If people are gonna nitpick about the sound chip being used not being exactly the same used on a Tandy 1000 then just get a Tandy. This about achieving what we can achieve. It's better than nothing.

Great Hierophant wrote:

The only way you are likely to find spare PSSJ chips for use are the ones you harvest from the Tandy systems that have them. Then you will need to add BIOS functions for the digital sound function from scratch. The PSSJ chips use an IRQ and a DMA channel, complicating the board design.

That's what i mentioned in the first post! If you go back up, you'll notice that i mentioned that a full Tandy compatibility card is extremely difficult.

Great Hierophant wrote:

Second, there are some Tandy games like Skate or Die and Kings of the Beach that will not support Tandy sound without Tandy graphics. To be all-encompassing, you will need to include Tandy graphics support on the card. This will greatly increase the board design complexity. You will need to harvest video chips from existing Tandys if you don't want to design a graphics controller chip. Also, do you support basic Tandy Video or Enhanced Tandy Video? As mentioned previously, you will need to add a BIOS extension for the extra video functions, but you have a great start to that with the PCjr. Technical Reference.

We know that. It's been mentioned several times before, including other threads. The idea at first is that ONLY games that can play 3 voice sound and that allow command line switches to run in EGA/VGA would be supported.

Great Hierophant wrote:

Third, many Tandy games detect a Tandy 1000 by reading the system identification byte, 21 at FC00:0000. They may also look for a "TANDY" string somewhere in the BIOS as well. You will need to find a way to intercept those memory reads. I do not believe you can disable and replace motherboard BIOS chips via an ISA card.

Again you should have read the first post. This can be done via a TSR.

Great Hierophant wrote:

In conclusion, I believe that creating a Tandy card would be a huge endeavor, more frustrating than it would be worth and probably not within the resources of a single individual or two.

Of course it is a huge endeavour, that's why this is a brainstorm thread. If enough people are interested and we have all the required brain power and resources, who can say that we won't be able to pull it off?

NJRoadfan wrote:

Something like Tand-Em would be good to study.

http://www.oldskool.org/pc/tand-em

It emulates the enhanced graphics (via VGA) and sound (via a soundcard with OPL). Plus it handles intercepting the hardware calls on a 386 by virtualized I/O calls.

TandEM is great but unfortunately it doesn't allow executing from the hard drive. This is an annoying drawback.

Reply 6 of 114, by Beegle

User metadata
Rank Member
Rank
Member
carlostex wrote:

Another possibility would be using a parallel port dongle like a Covox instead of the ISA bus.

Wasn't there a sound card by Media Vision that had been ported to a parallel port dongle?
I think it was called the Audioport and was a direct implementation of the Thunderboard. With batteries to power the amp.

There it is :
http://ejneary.home.comcast.net/~ejneary/mv.html
I wonder what kind of TSR they used for that device, if any.
John Neary who worked at Media Vision for a while (and was assigned the Audioport design), would be a good point of contact about this.

The more sound cards, the better.
AdLib documentary : Official Thread
Youtube Channel : The Sound Card Database

Reply 7 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t

Yes the Audioport by Media Vision. About John Neary i actually already tried to contact him for something else but got no response.

Anyway Audioport did use some kind of port trapping. Probably via TSR. It is mentioned here that it needs at least a 386SX (the TSR probably used EMM386 or equivalent) but would be limited to software that could run if the processor was in V86 mode. My guess is that if software require real mode the TSR wouldn't do its job.

A parallel port dongle is a possibility, although it obviously would require additional port redirection. The problem is that we cannot use EMM386 or QEMM(i think) as these do not allow port redirection on the C0h range.

What could be used as model would be TEMU, which emulates Tandy sound on Covox and specifically requires the CPU to be in real mode.

Reply 8 of 114, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

TEMU requires a 386SX or better. In the readme the author talks about "protected mode technique" and "VM86 supervisor" and conflicts with any software running in V86 mode like EMM386, 386MAX, QEMM or CEMM. What I take from that is that it is using V86 or utilizing the virtualization abilities of the 386 in a way that is incompatible with the expanded memory managers.

Essentially I think it would be best to have the chip on a card and selectable at C0-C7 or 1E0-1E7. 8088/8086s and 286s without a 2nd DMA chip can access the card directly. 386s and above can access the card at the alternative address to avoid nasty random noises from the card when a 16-bit DMA transfer is done.

I would also advise using an NCR 8496 if you can find them in sufficient quantities. The PSG core in the Tandy PSSJ chips are based on this chip, not the TI SN76496. The changeover from the TI to the NCR chips occured in the EX and SX machines, so it was somewhat early in the line's lifespan. The majority of Tandys would therefore use the NCR sound. My post discussing the differences between the two (but not the samples unfortunately) can be found here : http://queststudios.com/smf/index.php/topic,3642.0.html

With the limited goals of the project, it is a worthy endeavor.

Last edited by Great Hierophant on 2015-02-28, 00:25. Edited 1 time in total.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 9 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t

The following is the port handling ASM source code of TEMU:

;°±²ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ²±°
;°±²Û Disney Sound Source emulator for Covox & PC-Squeaker Û²±°
;°±²Û (C)opyleft 1993 by FRIENDS software Û²±°
;°±²Û Port handler Û²±°
;°±²ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ²±°


PortHandler proc near
cmp ah,0EEh
je OutDX_AL
cmp ah,0E6h
je Out@@_AL
cmp ah,0ECh
je InAL_DX
cmp ah,0E4h
je InAL_@@
jmp TooBad

OutDX_AL: push dx
CheckPort: cbw
add [ebp],ax
mov al,byte ptr [ebp-4]
cmp dx,0378h
je @@DSSport
ja @@AllRight
cmp dx,0C0h
jae @@TandyPort
cmp dx,43h
je @@Timer_Control
cmp dx,40h
je @@Timer_Ch0
jmp @@AllRight

@@DSSport: xor al,80h
sar al,1
mov bx,ss:BuffEnd ; Put byte into queue
mov ss:DSSbuffer[bx],al
inc bx
and bx,DSSbufferMask
cmp bx,ss:BuffStart
je @@AllRight
mov ss:BuffEnd,bx

@@AllRight: pop dx
pop ebp
pop ds
pop ebx
pop eax
iretd

@@TandyPort: call OutC0_AL
jmp @@AllRight

@@Timer_Control:test dl,11000000b
jne @@NoCh0
mov ss:FlipFlop,0
jmp @@AllRight
@@NoCh0: out dx,al
jmp @@AllRight

Show last 43 lines
@@Timer_Ch0:    movzx   bx,cs:FlipFlop
inc ss:FlipFlop
mov byte ptr ss:IRQ0Freq[bx],al
and ss:FlipFlop,1
jne @@AllRight
mov ax,cs:IRQ0Freq
call SetVirtualIRQ
mov ax,cs:TimerFreq
call SetTimerFreq
jmp @@AllRight

Out@@_AL: push dx
movzx dx,byte ptr [ebx]
inc al
jmp CheckPort

InAL_DX: push dx
ReadPort: cbw
add [ebp],ax
cmp dx,379h
jne DirectRead
mov al,byte ptr cs:BuffEnd
sub al,byte ptr cs:BuffStart
and al,DSSBufferMask
cmp al,16
jae @@Full
mov byte ptr [ebp-4],0
jmp @@AllRight
@@Full: mov byte ptr [ebp-4],40h
jmp @@AllRight

DirectRead: in al,dx
mov byte ptr [ebp-4],al
jmp @@AllRight

InAL_@@: push dx
inc al
movzx dx,byte ptr [ebx]
jmp ReadPort

TooBad:
PortHandler endp

It's interesting to see on the CheckPort section there are 4 comparisions for 4 different ports with the data register. One is the parallel port 378h, other is port C0h (Tandy SN76489) and then 2 for Programmable Interval Timer on port 40h and 43h.

Theoretically it should be possible even if leaving an hypothetical card with the SN76489 at port 1E0h (if leaving it a C0h is a concern) and then use a similar method like TEMU does to redirect the C0h writes into wherever the SN76489 chip is sitting. The TSR would be relatively simple if the SN76489 sits on an ISA card or just a little more complex if a parallel port dongle is preffered.
Every method has its advantages and disadvanges, a parallel port would be preferred as the dongle wouldn't take an ISA slot, but on the other hand the chip on an ISA card would require only a rather simpler TSR.
The idea above would only work for games with only 3 voice chip support (no PSSJ) and no mandatory Tandy graphics.

I tested TEMU on my Socket 7 system and it works. Unfortunately i don't have a Covox with me but i selected PC Speaker support and it works. Although it sounds like crap on the PC Speaker i could make Grand Prix Circuit run with CGA and Tandy sound.

Reply 10 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

Essentially I think it would be best to have the chip on a card and selectable at C0-C7 or 1E0-1E7. 8088/8086s and 286s without a 2nd DMA chip can access the card directly. 386s and above can access the card at the alternative address to avoid nasty random noises from the card when a 16-bit DMA transfer is done.

If the choice is to place the chip on a card yes, then a good idea would be selecting via jumper C0h range for XT and 1E0h for AT's. I'm not very familiar with Tandy games but it wouldn't make sense to limit AT's to only be compatible with games with direct Tandy 1000 RSX support. The whole point of this is that we can play games on our PC's with at least Tandy sound when the PC speaker is the only choice.

So this still forces us to have a TSR. Which i think should do the job well and wouldn't be overly complicated. Should actually be simpler than TEMU.

Great Hierophant wrote:

I would also advise using an NCR 7496 if you can find them in sufficient quantities. The PSG core in the Tandy PSSJ chips are based on this chip, not the TI SN76496. The changeover from the TI to the NCR chips occured in the EX and SX machines, so it was somewhat early in the line's lifespan. The majority of Tandys would therefore use the NCR sound. My post discussing the differences between the two (but not the samples unfortunately) can be found here : http://queststudios.com/smf/index.php/topic,3642.0.html

With the limited goals of the project, it is a worthy endeavor.

The NCR clone is obviously preffered. I'm not sure if it's possible to find it, but within the limited scope of the project i think around 50 would be more than enough. Unless the whole of VOGONS wants a card. We could also include both the NCR clone and the SN76489 and also make them selectable via jumper, or maybe use 2 chips at the same time to try and give some pseudo stereo effect. 🤣

Reply 11 of 114, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

The problem with a IBM PC AT, IBM PC XT/286 and similar machines is that it has a 286 and a 2nd DMA controller. So you cannot use C0-C7 and you do not have access to the 386 features unless there is an accelerator the machine. Maybe it would be best to limit the board to working in a 386 or better.

One drawback about the parallel port dongle is that you will need an external +5v power supply. On the other hand, it should also be easier to design. You would need a 3.58MHz crystal, the NCR or TI chip and a LM358 for the amplifier. You wouldn't need to worry about address decoding, clock division or ISA development boards.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 12 of 114, by sliderider

User metadata
Rank l33t++
Rank
l33t++
Great Hierophant wrote:
In my opinion, this project will be extremely difficult to pull off. […]
Show full quote

In my opinion, this project will be extremely difficult to pull off.

First, the Tandy sound chip can be found at C0-C7, the port is present at eight different addresses. Unless you test the 1,500 or so games that support Tandy graphics, how will you ensure that a game does not write to a Tandy sound/DMA register that can screw up the system? Which sound chip do you use? Do you use the original TI SN76496, found in the IBM PCjr. and Tandy 1000s or the NCR 7496 often found in the EX, SX, HX and TX? They do not always sound the same. The only way you are likely to find spare PSSJ chips for use are the ones you harvest from the Tandy systems that have them. Then you will need to add BIOS functions for the digital sound function from scratch. The PSSJ chips use an IRQ and a DMA channel, complicating the board design.

Second, there are some Tandy games like Skate or Die and Kings of the Beach that will not support Tandy sound without Tandy graphics. To be all-encompassing, you will need to include Tandy graphics support on the card. This will greatly increase the board design complexity. You will need to harvest video chips from existing Tandys if you don't want to design a graphics controller chip. Also, do you support basic Tandy Video or Enhanced Tandy Video? As mentioned previously, you will need to add a BIOS extension for the extra video functions, but you have a great start to that with the PCjr. Technical Reference.

Third, many Tandy games detect a Tandy 1000 by reading the system identification byte, 21 at FC00:0000. They may also look for a "TANDY" string somewhere in the BIOS as well. You will need to find a way to intercept those memory reads. I do not believe you can disable and replace motherboard BIOS chips via an ISA card.

In conclusion, I believe that creating a Tandy card would be a huge endeavor, more frustrating than it would be worth and probably not within the resources of a single individual or two.

Please do not start destroying Tandy computers for this project. If the chips can't be gotten any other way, then please drop the idea.

Reply 13 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

The problem with a IBM PC AT, IBM PC XT/286 and similar machines is that it has a 286 and a 2nd DMA controller. So you cannot use C0-C7 and you do not have access to the 386 features unless there is an accelerator the machine. Maybe it would be best to limit the board to working in a 386 or better.

If some sacrifices are needed so be it. Still, a 16-bit 286 system user would have to select 1E0h on the board and enjoy the games that support it natively, and patch the games we can to look on 1E0h instead.

Great Hierophant wrote:

One drawback about the parallel port dongle is that you will need an external +5v power supply. On the other hand, it should also be easier to design. You would need a 3.58MHz crystal, the NCR or TI chip and a LM358 for the amplifier. You wouldn't need to worry about address decoding, clock division or ISA development boards.

This is the whole question, every solution has advantages and drawbacks. A parallel port dongle would be useless for XT systems. Unless there's a way to port trap via software on 8088/8086 computers... Even so and even considering doing the stuff very low level i suspect there could be a slight performance drop on 8088 systems which would introduce problems with speed sensitive games. And it would be good not to limit this only to 386 and up systems.

I like the dongle idea, but it presents its own challenges.
I think an ISA card with some configurable options would be the best.

Since its not likely we're going to find any source for NCR 7496 chips, the ideal would be to have a board with 2 sockets for 2 chips. This would allow the user to choose between NCR 7496 or SN76489/96 or 2 identical chips at the same time for a pseudo stereo effect(if this would be too difficult the idea could be just as easily dropped). All of this selectable via jumpering.

Reply 14 of 114, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie
carlostex wrote:

About John Neary i actually already tried to contact him for something else but got no response.

You won't ever receive a response, I'm afraid. John Neary had been battling cancer for several years, and passed away just a few weeks ago. Really nice guy. I'd corresponded with him briefly in 2009, and again in 2011, and he was always very gracious.

Reply 15 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t
Cloudschatze wrote:

You won't ever receive a response, I'm afraid. John Neary had been battling cancer for several years, and passed away just a few weeks ago. Really nice guy. I'd corresponded with him briefly in 2009, and again in 2011, and he was always very gracious.

I don't know where i got the idea, maybe by reading his website, but i thought he had won the battle. I even mentioned this on my email to him. I don't know what to say. 😢

Reply 16 of 114, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Even though they are from Chinese sellers, the TI SN76489 is comparatively plentiful. TI SN76489 = TI SN76496 for the purposes of this board. I think it will be extremely hard to find the NCR 8496 without taking them from Tandy systems. Because they are usually socketed (but never easily accessible), this is not a particular cruelty to the machine and they can be interchanged with 76496s just with a chip swap and a resistor replacement.

A basic ISA card would not be difficult to make. In fact here is a BOM :
LM358
TI SN76489/76496 or NCR 8496
3.579MHz crystal
74LS688 8-bit Comparator
2 x 2-pin headers (to select C0/1E0)
2 x 100k resistor
1 x 10uF electrolytic capacitor
1 x 100uF electrolytic capacitor
3 x .01uF ceramic capacitor
330pF ceramic capacitor
1000pF ceramic capacitor
Stereo mini-jack connector
Bracket with hole

If you wanted a stereo solution, your best bet would be to use VDPs from Sega Game Gears, as they have stereo panning enabled for their integrated SN776489s.

Last edited by Great Hierophant on 2015-02-28, 01:34. Edited 1 time in total.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 17 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t

Stereo is not important, the main idea should be that the board is compatible with just replacing the TI chip for the NCR one. I never saw the NCR clone datasheet so i'm not aware of other changes needed. You mention only a resistor replacement. Different values?

For only a resistor we could include both resistors needed on the board and then in case of sound generator change just change a jumper.

Reply 18 of 114, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

On a Tandy motherboard, you need to change the resistor because the PC speaker's output is mixed with the 76496/8496's output through the 76496/8496's audio input pin. This is not going to happen with this ISA card, so you don't have to worry about it. In fact, the more common 76489, which doesn't have an audio input pin, can also be used on an ISA card.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 19 of 114, by carlostex

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

On a Tandy motherboard, you need to change the resistor because the PC speaker's output is mixed with the 76496/8496's output through the 76496/8496's audio input pin. This is not going to happen with this ISA card, so you don't have to worry about it. In fact, the more common 76489, which doesn't have an audio input pin, can also be used on an ISA card.

Got it, i found this it has a part of the 8496 technical manual, it seems it is not complete though.

OK i just had a wild thought. Like Japael has suggested, C0h is indeed where the DMA channel 4 starts. But DMA 4 is cascade! So although we agree it would be a good idea to have C0h and 1E0h selectable via jumper, maybe the C0h won't present a challenge like thought before afterall. It could be possible that the card would work on AT machines without any need for TSR's. On the worst case scenario maybe high DMA cards wouldn't work but that's not a heavy price to pay if you just wanna play some Tandy games.

Still the TSR could be useful, just in case, to redirect the C0h writes to 1E0h in case the former presents problems if accessed natively. On a wilder thought, what exactly prevents us from trying to emulate the Tandy DAC via a Sound Blaster? Sound Blasters are so cheap that te TSR could also optionally intercept for DAC calls and redirect them to a Sound Blaster.