Great Hierophant
Veteran Member
All my Tandy 1000s have a DMA chip built in which cannot be disabled. I have never experienced a DMA-less Tandy, which are the 1000/A/HD/EX/HX. I would like to know if there are any differences between a DMA and a DMA-less system.
The Tandy was derived from the PCjr., which eliminated the DMA chip found in the IBM PC. In the IBM PC, the DMA chip served two purposes. First, it was programmed to access the memory every so often to refresh the contents of the DRAM chips using DMA Channel 0. DMA Channels 1, 2 and 3 were available for use by expansion cards on the ISA bus. IBM's floppy controller used DMA Channel 2 to allow the floppy drive controller to transfer data to and from RAM with minimal CPU intervention, so essentially that channel was reserved.
On the IBM PCjr., RAM refresh is handled by the video controller for the internal RAM and a refresh controller for expansion RAM. This causes internal RAM performance to be very poor because the CPU and the Video Controller are always in contention for access. Expansion RAM is not affected by this issue. As far as the floppy controller goes, the CPU must devote its attention to data transfers due to the lack of DMA. It ignores keyboard input during a floppy controller to ensure it has enough time to service the floppy controller's datastream. In another machine, this may not have been an issue, but in the PCjr., the CPU must also deserialize the keyboard data. This function was performed by a serial to parallel decoding chip in the IBM PC. Upgrades that offer DMA functionality are not the most reliable on a PCjr.
The Tandy 1000's video controller is designed to refresh the 128KB on its motherboard. I believe that the video controller on the EX, HX and SX can refresh 128KB or 256KB. Tandy indicates that any memory upgrade above 128KB must have a DMA controller, which takes over the refresh for the extra RAM. If you only have DMA-less memory expansions, they may not work reliably in the absence of a regular refresh signal provided by the DMA chip. However, an upgrade like this : http://www.ebay.com/itm/Duo-Slot-51...00-1000A-or-1000HD-Memory-Board-/272770380504 should not be affected because it uses SRAM, which can hold its contents as long as it has power.
The Tandy has dual ported RAM, so there are no issues with performance loss in a system that must share RAM access between CPU and DMA controller. It also does not need the CPU to deserialize keyboard data. I am not sure that DMA speeds up disk access, and given the single-task nature of DOS, if you are waiting on disk access, you are not doing much else. So is the only issue people likely to encounter some dropped keystrokes during disk access?
Obviously, some expansion cards, like 8-bit MFM and RLL hard drive controllers and Sound Blaster cards, are not going to work in a DMA-less Tandy. But a Sound Blaster does not fit in an EX or HX and XT-IDE does not require a DMA channel. There are only 3 expansion slots on an 1000/A/HD and there are better upgrades for a system of that speed.
The Tandy was derived from the PCjr., which eliminated the DMA chip found in the IBM PC. In the IBM PC, the DMA chip served two purposes. First, it was programmed to access the memory every so often to refresh the contents of the DRAM chips using DMA Channel 0. DMA Channels 1, 2 and 3 were available for use by expansion cards on the ISA bus. IBM's floppy controller used DMA Channel 2 to allow the floppy drive controller to transfer data to and from RAM with minimal CPU intervention, so essentially that channel was reserved.
On the IBM PCjr., RAM refresh is handled by the video controller for the internal RAM and a refresh controller for expansion RAM. This causes internal RAM performance to be very poor because the CPU and the Video Controller are always in contention for access. Expansion RAM is not affected by this issue. As far as the floppy controller goes, the CPU must devote its attention to data transfers due to the lack of DMA. It ignores keyboard input during a floppy controller to ensure it has enough time to service the floppy controller's datastream. In another machine, this may not have been an issue, but in the PCjr., the CPU must also deserialize the keyboard data. This function was performed by a serial to parallel decoding chip in the IBM PC. Upgrades that offer DMA functionality are not the most reliable on a PCjr.
The Tandy 1000's video controller is designed to refresh the 128KB on its motherboard. I believe that the video controller on the EX, HX and SX can refresh 128KB or 256KB. Tandy indicates that any memory upgrade above 128KB must have a DMA controller, which takes over the refresh for the extra RAM. If you only have DMA-less memory expansions, they may not work reliably in the absence of a regular refresh signal provided by the DMA chip. However, an upgrade like this : http://www.ebay.com/itm/Duo-Slot-51...00-1000A-or-1000HD-Memory-Board-/272770380504 should not be affected because it uses SRAM, which can hold its contents as long as it has power.
The Tandy has dual ported RAM, so there are no issues with performance loss in a system that must share RAM access between CPU and DMA controller. It also does not need the CPU to deserialize keyboard data. I am not sure that DMA speeds up disk access, and given the single-task nature of DOS, if you are waiting on disk access, you are not doing much else. So is the only issue people likely to encounter some dropped keystrokes during disk access?
Obviously, some expansion cards, like 8-bit MFM and RLL hard drive controllers and Sound Blaster cards, are not going to work in a DMA-less Tandy. But a Sound Blaster does not fit in an EX or HX and XT-IDE does not require a DMA channel. There are only 3 expansion slots on an 1000/A/HD and there are better upgrades for a system of that speed.