The Tandy 1000 ISA sound card brainstorm thread.

Discussion about old PC hardware.

The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-26 @ 15:11

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. :cool:
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Beegle » 2015-2-26 @ 17:30

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.
User avatar
Beegle
Member
 
Posts: 388
Joined: 2013-12-01 @ 02:15
Location: Canada

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-26 @ 18:37

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Great Hierophant » 2015-2-27 @ 05:35

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-2-28 @ 00:26, edited 1 time in total.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog
User avatar
Great Hierophant
l33t
 
Posts: 2342
Joined: 2003-4-27 @ 08:20

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby NJRoadfan » 2015-2-27 @ 05:44

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.
NJRoadfan
Oldbie
 
Posts: 854
Joined: 2012-5-26 @ 03:54
Location: Northern NJ

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 12:56

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Beegle » 2015-2-27 @ 14:33

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.
User avatar
Beegle
Member
 
Posts: 388
Joined: 2013-12-01 @ 02:15
Location: Canada

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 14:47

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Great Hierophant » 2015-2-27 @ 15:37

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-2-28 @ 00:25, edited 1 time in total.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog
User avatar
Great Hierophant
l33t
 
Posts: 2342
Joined: 2003-4-27 @ 08:20

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 15:55

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

Code: Select all
;°±²ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ²±°
;°±²Û         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

@@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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 16:07

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. :lol:
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Great Hierophant » 2015-2-27 @ 16:58

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
User avatar
Great Hierophant
l33t
 
Posts: 2342
Joined: 2003-4-27 @ 08:20

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby sliderider » 2015-2-27 @ 18:49

Great Hierophant wrote: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.
User avatar
sliderider
l33t++
 
Posts: 5754
Joined: 2010-6-25 @ 13:02

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 19:45

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Cloudschatze » 2015-2-27 @ 21:18

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.
User avatar
Cloudschatze
Oldbie
 
Posts: 956
Joined: 2005-6-16 @ 14:32

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-27 @ 22:11

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. :depressed:
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Great Hierophant » 2015-2-28 @ 01:06

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-2-28 @ 01:34, edited 1 time in total.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog
User avatar
Great Hierophant
l33t
 
Posts: 2342
Joined: 2003-4-27 @ 08:20

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-28 @ 01:28

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby Great Hierophant » 2015-2-28 @ 02:13

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
User avatar
Great Hierophant
l33t
 
Posts: 2342
Joined: 2003-4-27 @ 08:20

Re: The Tandy 1000 ISA sound card brainstorm thread.

Postby carlostex » 2015-2-28 @ 10:16

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.
User avatar
carlostex
Oldbie
 
Posts: 1993
Joined: 2010-4-03 @ 21:39
Location: Portugal

Next

Return to General Old Hardware

Who is online

Users browsing this forum: Hamby, KCompRoom2000, xjas, zyga64 and 14 guests