• Please review our updated Terms and Rules here

Tandy 1000 SL what is using DMA 3?

kubilus1

Member
Joined
Aug 10, 2016
Messages
42
Location
Tampa, FL
I have a Tandy 1000 SL and I'm attempting to get a Sound Blaster 16 (CT1770) to play nice in. I understand I ought to be able to set this up on DMA 3, however, that appears to be taken. Not sure what by.

I have this running with a lo-tech ISA compact flash card. This is in 8bit PIO mode, so I understand this should not take a DMA channel.

Any ideas?
 
Judging from what Checkit is showing me, it would appear the the lo-tech CF adapter is using DMA3. Any ideas on how to prevent this from stealing a DMA channel?
 
You have to ask yourself exactly how the use of DMA 3 is detected. There is no BIOS service to reserve/release a DMA channel, so how is it divined by a program?

Well, you might at first think that the easiest way would be to inspect the 8237 DMA controller mask register--but you can't--all operations pertaining to it are write-only. So, the only registers available for reading are the current address and count registers for a given channel. However, just because these don't contain their original initialized values, it might or might not mean that the DMA channel is in use.

This is one of the weaknesses of using an old 8-bit 8085-era peripheral chip on a 16-bit setup--you have to kludge a lot.

The bottom line is that code may write to a DMA controller register, but never use it. So don't count on check-it or diagnose telling the absolute truth about a DMA channel.
 
That sounds like a completely reasonable explanation. What is odd though is that the Sound Blaster card I'm attempting to use on DMA 3 works unless something attempts to use the DAC, which locks up the computer.

I'm not entirely convinced there aren't other issues using this particular card on my particular system, but it does seem to confirm that there is something going on with DMA channel 3. I'm going to attempt to get a hold of another card to test some more scenarios.
 
Well, then why not boot from a floppy, with the IDE card removed? That would seem to be a reasonable way to verify that the HD is using DMA 3.
 
...And this goes to the 'there may be issues with the sound card on my system'. The floppy drive behaves, well, strangely when the sound card is installed. CF works fine. Once I have some more hardware to test with I should know more.

With the CF adapter removed (and sound card removed), checkit shows DMA3 as free. BUT as you mention, this might not really mean anything at all.
 
The bottom line is that code may write to a DMA controller register, but never use it. So don't count on check-it or diagnose telling the absolute truth about a DMA channel.

Seconded. (Especially since the XTIDE card kubilus1 is using does not use DMA at all.)

What is odd though is that the Sound Blaster card I'm attempting to use on DMA 3 works unless something attempts to use the DAC, which locks up the computer.

That could also be an IRQ issue.

I'm not entirely convinced there aren't other issues using this particular card on my particular system, but it does seem to confirm that there is something going on with DMA channel 3. I'm going to attempt to get a hold of another card to test some more scenarios.

Hardly any software is going to work on DMA 3; you really should have the card set to DMA 1. As for IRQs, set the SB16 to use an IRQ not already used by the system. 5 and 7 are good choices (7 is LPT1, but you're not going to print and play audio at the same time).

The floppy drive behaves, well, strangely when the sound card is installed.

Did you mistakenly set IRQ on the sound card to 6? That's the floppy controller.
 
This is a Tandy 1000 SL so the Tandy DAC is on DMA 1. It's recommended to set a soundblaster to DMA3 for this setup.

I've tried pretty much every IRQ setting on the card so far to no avail. This is a CT1770 Sound Blaster 16 - The non PNP kind with a ton of jumpers. It's a 16 bit long ISA card that is *assumed* to work on 8 bit slots, but who knows really. I've set the high DMA to match to the low DMA which should prevent other issues, still no dice.

Last run I was on IRQ7, after having disable the parallel port. AFAICT I can't set the card to IRQ6.

It is really odd to me that having the sound card in the system makes the floppy controller behave badly. This issue presents itself as the floppy controller responding erratically. Sometimes it will work sometimes not. Just running 'dir' may give varying byte amounts for the files. Some sub directories will show random characters. That kind of stuff. I was beginning to think the controller itself was dying, but removing the soundblaster the floppies now work fine. Go figure.

What is also odd is that the sound blaster works fine when running programs from the CF adapter, as long as DMA is not used. So there is the impression that it works on this system, but apparently not fully. I suppose I'll set the card aside for a 486 or Pentium build down the line or something.
 
It sounds as if the SB DMA has a timing issue that's messing things up.

The floppy controller doesn't put high demands on DMA bandwidth, but does demand that DMA servicing be prompt--there's no internal buffering of the data, as there is, say, on a UART.

A logic analyzer would get to the bottom of the picture, but I understand that for most hobbyists, that's a rather exotic bit of equipment.
 
This is a Tandy 1000 SL so the Tandy DAC is on DMA 1.

Whoops, you're right, I forgot the SLs have the DAC. I've only ever owned TLs.

It's a 16 bit long ISA card that is *assumed* to work on 8 bit slots, but who knows really.

Well, now we know. Try finding something more suited to an 8086, like a Sound Blaster Pro? That has settings for DMA 3.

Because there isn't very much 8086 software that uses the digitized audio of a sound card, and your Tandy has both the DAC and 3-voice audio, why do you want to add a sound card? Is it for Adlib/FM capability? If so, you might want to track down an Adlib or clone (or a clone that lets you disable the digitized audio portion), as Adlib has no IRQ or DMA at all.
 
For now I'll stick with the Tandy sound. I think partially I wanted to see what I could make this system do and it seems to be easier to get a hold of non PnP soundblaster cards than Adlib cards from what I can find. It's also one of those things where this *should* work, but doesn't. Bugs me!

Question about there being a DMA issue between the SB and floppy. The floppy uses DMA2 and the SB is set as DMA3. I could see that if I was having the card attempting to play through the DAC while hitting the floppy perhaps causing timing issues, but I'm seeing that at the DOS prompt while doing nothing.

I'm going to see if I can disable the DAC on the SB altogether. This will make the card behave like an Adlib, essentially. Assuming it stop interfering with the floppy drives!

And yes, a logic analyzer would be nice to have, but ALAS, I haven't seen one of those since electronics lab in college some time ago.
 
This might be a dumb idea, but the CT-1770 has a SCSI controller onboard. The SCSI interface on the card is intended for CD-ROMs and has no boot ROM, but is not otherwise crippled. It does use an IRQ and a DMA, but only of the AT kind which your SL does not have. Even still, maybe this extra bit is screwing up your system.

I would suggest trying to make an Adlib clone from a PCB if you can't find a cheap Pro.
 
I'm starting to think there is something funny going on with my particular system. Playing a longer sample on the Tandy DAC causes the box to freeze! Bad RAM perhaps?
 
It isn't impossible that your SL may have bad RAM. When the SL boots, it does not really test the RAM, which allows it to boot very fast. You can enable the RAM test by running the SETUPSL program off the system's DOS disk.
 
I have enabled that RAM test, but how thorough is it? Are there any other recommended diagnostic programs other than 'checkit'? It seems to me there are certain operations that are causing some odd issues on this system:

* Transferring data between floppy drives will sometimes cause the monitor to go blank
* Small DAC samples mostly seem to work (Outrun and SimCity seem fine, for instance) but longer samples cause issues (Stellar 7 intro). Playing a WAV file with DMSound *will* cause my system to either lockup, blank the monitor, or show garbage on the screen after playing for about 10 seconds.
* I've tried to rule-out the CF card and I can reproduce the DMsound issue from floppy, so I think that is okay.
* Prince of Persia is unplayable if I enable Tandy Sound. Seems fine otherwise.

I've gone through and re-seated all the socket chips, but no difference.
 
If you remove the lo-tech card -- in fact, if you remove ALL cards from the system -- do you still get the DAC problems (like the longer sample in Stellar 7)? Because what you're describing sounds like an IRQ conflict ("short sounds work but longer ones don't" is the typical result of the card generating an interrupt but some other routine is hooked instead of the one that services the sound card).

The screen blanking on floppy transfers is bizarre! I've never seen that before, although that sounds like a timing problem.
 
Back
Top