• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.

I wish to create a new DMA/RAM expansion card for the Tandy 1000 line.

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
I recently discovered that you can still get the Intel 8237A DMA chip at Jameco (or at least one of the knockoffs). I'm hoping to recreate the Tandy DMA/RAM card, either in the XT/ISA or PLUS variants (preferably both)

I'm trying to reverse engineer the schematics for the IBM 5150/5160 for the supporting logic for the DMA chip. There's plenty enough RAM cards out there, and the schematics are relatively simple. The issue I'm running into is that most of the control lines for the DMA don't exist on the XT bus. The supporting logic that would normally be on the motherboard needs to be created on the card to interface the DMA control lines with the XT bus.

I need to find out how Tandy resolved this. 74xxx series logic is jellybean parts and easy to come by, but I don't want to bring half the motherboard onto the card if I can avoid it (looks to be 8-10 ICs that are utilized for this on the Tandy cards). I can glean some information on the logic from the IBM schematics, but haven't figured enough yet to replicate the control lines from the XT bus.

If I can get detailed top-down scans of both sides of the Tandy DMA/RAM cards (laid on a flatbed scanner, preferably, with the mounting bracket removed and the capacitors standing up), I should be able to fill in what I'm missing and make a schematic to figure out how Tandy resolved this issue. I can find some pictures online of Tandy's XT versions of this card for the 1000, the 1000 SX, SL, TL, and so on, but they aren't top down, and don't include the other side of the board, so I can't see all the traces. I already have a PLUS card for the 1000 EX/HX, but I can't find any data on the custom ASIC they used (which has the DMA controller and the support logic built in), so that's a dead end.

---
I'm also working on an all-in-one PLUS CompactFlash storage card based on the XT-IDE/CF-IDE for the Tandy 1000 EX/HX. I would have just gotten one of dJOS's PLUS to ISA converters and a lotech CF-IDE, but my XT multi I/O card (for serial and a second parallel port) barely fits inside the 1000 HX, and there's no room for another PLUS to ISA converter with the way I had to mount it, so I built a PLUS version of the CF-IDE onto a perfboard. dJOS suggested that people would be interested and that I layout a proper PCB. I've already got a design for this laid out supporting up to two CF cards (one inside and one out the back) for transferring files to another XT class machine, I just need to refine the design and to a first run of PCBs to test it all out (...When I have the time. Work always takes priority :( ). This design also has extra options for the LED. For instance, allowing a bypass to the Power LED above the keyboard on the EX/HX, so that the LED turns off to indicate activity- potentially one could swap that LED for a 2 color as well, thereby avoiding destructive case mods, or just a simple LED at the mounting bracket so you can see it from the back for diagnostics.

My intention is to be able to make proper PCBs of both these cards once I get the designs finalized and tested, and sell them at the cost of PCB manufacture and shipping for whoever wants to assemble their own. For ease of assembly, I intend to make as much of it "through hole" as possible, and the CF-IDE will include a spot for an IDE header for anybody uncomfortable with surface mount soldering of the CF header. Work takes priority though, so it may still be a while before I can complete them.

For now though, I need detailed top-down pictures of both sides of the XT/ISA versions of the Tandy DMA/RAM cards, if anybody has one and can provide them. At the very least, I want to be able to put up schematics so those so inclined can try making their own.
 

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,920
Location
Massachusetts, USA
You can find a schematic for the original Tandy DMA/RAM Adapter on page 480 of the scan of the Tandy 1000 Technical Reference Manual. ftp://ftp.oldskool.org/pub/tvdog/tandy1000/documents/1ktech.zip Unfortunately Tandy used a programmable logic array chip for some of the DMA function. These chips can be dumped to get their logic arrangement, but you will need a board to get the chip.
 

HoJoPo

Veteran Member
Joined
Feb 4, 2012
Messages
763
Location
Northern Nevada
Not only is the schematic in the Tandy 1000 manual, the actual PCB silkscreen is in the Tandy 1000EX hardware reference manual...
 

eeguru

Veteran Member
Joined
Mar 14, 2011
Messages
1,618
Location
Atlanta, GA, USA
As you've probably already discovered if you chased GH's reference, the pinout of the Tandy ISA slots is non-standard. Tandy added the bus hold/hlda signals in place of some pins so the cards could support an 8237A.

Firstly, I don't know what the obsession is with adding DMA to Tandy's. I've started a whole thread on bench-marking with and without DMA. It seems there is about a 10% general speed up with it. The Tandy 1000 & A had DRAM on the motherboard. The speed up is presumably due to BIOS detecting the 8237A and leveraging it to perform periodic DRAM refresh instead of the CPU triggered by one of the 8253 PIT channels. The 1000 EX & HX have SRAM on the motherboard. So presumably there would not be a general processing speed up. Though it may also speed up floppy disk I/O speeds on both machines. I assume memory expansion card designers saw it as a way to easily add a DRAM refresh circuit with one chip since both ISA and PLUS memory cards used DRAM.

Also the Tandy ISA card used a genuine 8237A. However there appears to be a mistake in the schematic GH referenced. The schematic shows pin 7 of the 8237A going to AEN and pin 9 going to DMAEN. This seems incorrect. I would think pin 9 / AEN on the 8237A should go to AEN and pin 7 / HLDA on the 8237A should go to DMAEN. I'm guessing this is a numbering mistake in the schematic. I would ohm it out before going forward. The plus card used a Tandy ASIC containing an 8237A design. You can find the data sheet for the ASIC in the EX tech ref.

I did do a entirely integrated plus card for 2017's Tandy Assembly 1.0. Pictured here:

1230181311.jpg

It uses Tomi's standard XT-IDE (Chuck Mod) Universal BIOS and works well. The circuitry on the rear of the board is a failed 1.0 attempt at an optimized version of Scott Baker's enhanced HardMPU so I could connect a MT-32. The 11th hour dead-bugging fix didn't work either. I need to respin the board to get it working but lost interest after life caught up post-Assembly.

The card on top is a first proof of concept at a NE2000 add-on for a future plus board design (this one is a stand-alone NIC). It 'works' - in that the packet driver loads, I get link auto-negotiation, and the NIC lights the activity LED when it sees 802.1 frames. But it never throws an interrupt on packet reception - not even broadcast frames. I had a small SMT EEPROM on the board for the NIC settings and MAC address. As I never could program it in-circuit, it go laborious de-soldering, reprogramming and remounting. So I decided to table it until I could respin the board for a DIP EEPROM I could easily experiment with.

I even had some success making a custom PLUS I/O bracket: (10 points if you can spot the brain-fart)

bracket.jpg

If you are interested, I can post the schematics online as a starting point for you. Or with enough poking, I could pick both designs up again and push forward.

I would have released a PLUS memory expansion a long time ago (I have 6-8 other PLUS cards designed but not produced) if I could find a suitable solution to the high-stacking shrouded 62 pin IDC connectors. But, the ultimate board would be a two card stack with it's own mating system that would provide an upward facing PLUS connector for a 3rd card of choice. I was thinking IDE (or SD card), RAM, RTC, MPU-401, 1x serial, and NE2000.

-Alan
 
Last edited:

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
Thanks for the responses guys. I wish I thought to check the other reference manuals. The one for my HX didn't come with schematics for the I/O cards, so I presumed none of the others did either.

Heh. Eeguru, you put the RJ-45 on the wrong side of the board :p Now what's the hot-snot for? Did you make that bracket from scratch, or just modify an ISA bracket like I did? Either way, it looks well done! My thought was to have an appropriately sized PCB soldered on at a right angle (I've seen this done), but I'd have to do some testing to find out how strong it is in practice. Potentially, I could just get a local fab shop to do up a small sheet of 1.1mm steel on their CNC and bend the mounting tabs myself, but I'd want to have working boards before ordering that, especially if it's gonna cost money.

I have no idea why Tandy went with the stacking BERG assembly rather than just a riser card like everybody else, or why they chose to put the connectors on the opposite side of the components. It makes it harder to cram things onto that tiny board when you have to give allowance for the next board. Come to think of it, I wonder if the PC-Jr's sidecar is also just 8-bit ISA with a different header? If that were the case, it wouldn't be too hard to 3D print new sidecars.

Nice job on the t1kplusIDE board. I tried to look up the link on your website, but it returns a 404 error. I'd certainly be interested in seeing the schematics. I built mine due to space constraints, and I can imagine others have similar issues with using lo-tech's card with an PLUS-ISA adapter, so considering the success dJOS has had with his Tandy accessories, I'd consider it a worthwhile effort to produce a run or two of that card if you find the initiative. There's probably enough people on this forum alone who could use one, especially if it has RS232 integrated onto it! Now what one would want to talk to over a modern LAN network with an XT-class machine, I haven't the foggiest idea, but it'd still be cool to see.

As for why I want to put DMA on it, lets just say that I don't want to feel like loosing something that was once available, especially considering how rare it is to find these cards not already installed in a system. There's plenty enough Tandy 1000's floating around, even now. I've also heard rumours that some cards don't work without DMA, such as sound cards, though I don't have many 8-bit ISA cards left to test that hypothesis on (I foolishly got rid of most of them over a decade ago).

I already have the PLUS memory board from my HX, and I've been using it as a source of measurements. That custom ASIC is a lost cause (that would require much higher reverse-engineering skills than I have), but the bare 8237A can still be found here and there if you look for it, which is why I want to build around that. RAM chips these days pack a lot more into the same space, which makes fitting a paltry 384K or 512K of RAM onto a new card much easier. If somebody could figure out how to make new 8237A chips, even emulated ones, that be pretty cool.

As for the connectors, I haven't found anything shrouded yet, but Digikey has 64-pin unshrouded stacking board interface headers that might suffice if you snip off the last two pins. I was thinking of ordering some just to confirm how they fit. Just gotta be careful when you stack a card on top of it that you don't mis-align the pins. https://www.digikey.ca/products/en/...quantity=&ColumnSort=-2324&page=1&pageSize=25
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
I was thinking of using the same thing I had in mind for my CF-IDE design to solve the mounting bracket issue for the DMA/RAM card, that of a PCB soldered onto the main board at a right angle: http://www.mediafire.com/folder/enf5kenb1ifk1/Tandy_XT-IDE_interface_prototype (Don't mind the schematic not being organized according to "block" convention. I get lost easily when it's broken into discrete blocks that aren't connected. This is just the way it works out in my mind.)
There's supposed to be more holes along the break-off points, but I haven't figured out how to drill holes that aren't THP vias, and the "drill guide" layer doesn't seem to do it (I'm using Altium CircuitMaker). Do you have any thoughts on the right-angle PCB idea? Overall, I'd like to use the same format, if it proves reliable, until I can find a source of custom mounting brackets.

I don't think I can use this schematic for the final version of the CF-IDE PLUS. Initially, it was to fill my need to lay out the schematic for the Lo-Tech ISA-CF adapter in the way that made sense to me, so that I could wire up the perf-board PLUS version that space constraints forced me to make. I added my own tweaks and functions to that initial design to explore possibilities (mine has more addresses available than anybody would conceivably need in this chassis), but James Pearce technically holds the copyright for the core of the design mine is based on, so I think I'll have to redesign it based on the XT-IDE instead before spinning up boards for other people (and all the re-routing that entails). Besides, Lo-tech's ISA-CF adapter, while it supposedly supports most IDE drives, it hasn't been able to read any of the ones I've tried connecting (works with my CF card just fine), and the XT-IDE is supposed to be compatible with everything.

I'm not sure how necessary that "Chuck" delay line is unless you're using a much newer IDE drive, but best to include it anyways for maximum compatibility. There's probably a "proper" way to do it, but it would need almost as much logic to hold the word for that 20ns extra or whatever before releasing it. That's a job for somebody much smarter than me.

The first PLUS card can only be a maximum of 16cm from the mounting bracket before hitting the SmartWatch chip on the HX, or the inner face of the chassis in the 3rd position, but the second card can be up to 18cm long before it hits anything. I don't have any experience with making FPGAs, but I may have to start learning that to cram everything I want onto the board in a way that doesn't resemble a Tetris "game-over" scenario. Where would you suggest I start to learn about programming FPGAs? Mapping out the logic gates seems simple enough, but I don't know anything past that.
 

eeguru

Veteran Member
Joined
Mar 14, 2011
Messages
1,618
Location
Atlanta, GA, USA
Heh. Eeguru, you put the RJ-45 on the wrong side of the board

10 points!

Now what's the hot-snot for?

A failed dead bug of a CPLD to replace the botched latches.

Did you make that bracket from scratch, or just modify an ISA bracket like I did? Either way, it looks well done!

Milled from frontpanelexpress.com with the mounting stems bent up using a block-jig also from them.

Come to think of it, I wonder if the PC-Jr's sidecar is also just 8-bit ISA with a different header? If that were the case, it wouldn't be too hard to 3D print new sidecars.

I know something about that. :) [see JR-IDE on my site] The answer is yes to both.

Nice job on the t1kplusIDE board. I tried to look up the link on your website, but it returns a 404 error. I'd certainly be interested in seeing the schematics.

I'll try and get things posted during the weekend.

I've also heard rumours that some cards don't work without DMA, such as sound cards

Sound cards that playback PCM streams - almost all after and including the SoundBlaster 1.0 - require DMA. FM only cards like the Adlib & CMS/GameBlaster do not. But you are talking about a Tandy 1000. It's 3+ voice FM synthesis literally set a standard in PC audio (copied from Jr). Unless you are going to make a PLUS SB clone or adapt an ISA slot for a sound card which isn't going to fit anyway, again, why bother with DMA?

That custom ASIC is a lost cause (that would require much higher reverse-engineering skills than I have), but the bare 8237A can still be found here and there if you look for it, which is why I want to build around that. RAM chips these days pack a lot more into the same space, which makes fitting a paltry 384K or 512K of RAM onto a new card much easier.

It's already been pointed out twice. The ASIC specs can be found in the EX Tech Ref on page 283. From that document:

Code:
The DMA Chip is an Intel 8237A-5 (AMD 9517) DMA Controller plus
associated support circuity to integrate the TANDY 1000 External
Memory function into a single ASIC part. The support circuity is
divided into the five functional sections. The ADDRESS DECODE
MEMORY and ADDRESS DECODE-IO are independent of the DMA
function and interface directly into the bus. The TIMING and DMA
RDY sections are DMA support functions. The BUFFERS support
the in/out pins. The functional configuration of the 8237 for the
DMA Chip is a fixed subset of its total capability. It is configured
via the BIOS ROM for: normal timing, fixed priority, late write,
high DREQ sense, low DACK sense.

The ISA card has a discrete 8237A and it's design can be found in the 1000 tech ref. I would replicate that design as it is almost certainly what is inside the ASIC wire-for-wire.

As for the connectors, I haven't found anything shrouded yet, but Digikey has 64-pin unshrouded stacking board interface headers that might suffice if you snip off the last two pins.

I have seen those. They might also work with an SLA printed shroud. I still prefer the 2x card set with own stacking system and a single shrouded upper connector.

I'm not sure how necessary that "Chuck" delay line is unless you're using a much newer IDE drive, but best to include it anyways for maximum compatibility. There's probably a "proper" way to do it, but it would need almost as much logic to hold the word for that 20ns extra or whatever before releasing it. That's a job for somebody much smarter than me.

I was talking about the ChuckMod - which is the reorganization of register addresses so the 16-bit upper byte latch for the data register is at an address +1 from the lower byte. It allows you to do an in ax, dx (word move) at the data register address to grab the lower byte (while the card latches the upper) then have the processor BIU automatically issue another ISA 8-bit read for address+1 and put the combined result in AX in one instruction. I believe what you are referring to are the strobe delays added to Glitch's XT-IDE Rev.4 to improve compatibility with some IDE drives (one could call that the AlanMod) :).

I don't have any experience with making FPGAs, but I may have to start learning that to cram everything I want onto the board in a way that doesn't resemble a Tetris "game-over" scenario. Where would you suggest I start to learn about programming FPGAs? Mapping out the logic gates seems simple enough, but I don't know anything past that.

Simple PLDs are a good starting point (eg. 16v8 and 22v10s). They were ubiquitous in the mid-80s, allow combining several discrete 74xx/4xxx logic devices into one chip, and can be programmed in almost any modern EEPROM programmer. Past that, look at devices like ATF1508s (in my design above). Save FPGAs for waay later.

-Alan
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
The ISA card has a discrete 8237A and it's design can be found in the 1000 tech ref. I would replicate that design as it is almost certainly what is inside the ASIC wire-for-wire.
That's where I'm going now. Just wish I thought to check the other manuals sooner. As I said, the 1000HX manual only had the description and block diagrams, not the schematics for the expansion cards, so I didn't think to check the others. I've already downloaded the 1000 tech reference manual. Laser printers are nice for printing off manuals (I'd never attempt to print off a manual on an inkjet) :)

Re: the ASIC on the PLUS card, I already knew more or less what's inside it, but I needed the schematics to be able to replicate it (thanks to you guys, I now have them). Now if somebody was able to de-pot an 8237A and reconstruct it gate for gate, or build a replica from the block diagrams, they'd be a far better man that I, but I'm not going to trouble with that. As you say, the advantages are slight and select and don't provide enough of a boost to be worth an engineer's time. Why I bother with DMA? Just because. There's little practical benefit in playing around with old hardware that could be emulated in DOSBox (other than learning how make parts and mods for it), but we do it anyways. Nostalgia. Not sure there's much value in replicating the 300 baud modem either, unless one wanted to dial into a BBS or something. But integrating RS323C onto either of the cards though, is well worth the effort. The RAM card would work without the DMA regardless, so if I get it working, I can just leave that as an option if people want to go through the trouble.

Now that you mention it, I'm surprised nobody's tried to make a Sound Blaster replica yet (somebody already made an Ad-Lib clone). Most of the games capable of running on an 8088 are going to be looking either for a PC speaker or the Tandy 3-voice anyways, but there's certainly a market for Sound Blaster among the vintage gaming community, so that might be worth somebody looking into. I've held onto my SB Pro 2.0, and glad I did (they're pretty pricey on eBay). Using it in my 1000 RSX now, since the 3-voice chip was moved to a different address on that model, rendering it almost useless unless you modify the code for nearly every game that would have looked for it (none of the ones I have can see it)

I believe what you are referring to are the strobe delays added to Glitch's XT-IDE Rev.4 to improve compatibility with some IDE drives (one could call that the AlanMod) .
Yeah, I was definitely talking about the delay.

Milled from frontpanelexpress.com with the mounting stems bent up using a block-jig also from them.
There are people who specialize in this kinda thing? Learn something new every day. In that case, I won't bother with the right-angle mounted PCB (could have saved a lot of time on that). This is far cleaner.

I'll look into PLDs then. I was thinking of getting myself an entry level EEPROM programmer anyways, something like https://www.banggood.com/TL866A-USB...9Ch1I7Q23EAYYCSABEgL1v_D_BwE&cur_warehouse=CN
Know if these cheap ones are any good? I don't want to end up spending $800 or more on a programmer to support my hobby. If it came to that, I'd rather spend that money on a 3-D printer, because there's a lot of things that need repairing that it's hard to find new parts for.

They might also work with an SLA printed shroud.
I didn't think of that. The shroud is simple enough I wouldn't bother trying to send it in for scanning, just measure and make a CAD model, and have them do a print run from that. There are a couple 3D print fab shops out in my area I could look at. If their prices are reasonable, I might not need to bother getting a 3D printer. At least not yet. Even the entry-level ones cost money.

I still prefer the 2x card set with own stacking system and a single shrouded upper connector.
That's a project for another day once everything's been bugged out :)

Thanks for all the input. This should set me well on my way :)
 

eeguru

Veteran Member
Joined
Mar 14, 2011
Messages
1,618
Location
Atlanta, GA, USA
Could be a joint discovery then. I came across it during NetPi-IDE testing. It worked on a JR-IDE initially. When I moved it to a XT-IDE rev 3 board, it did not. I fixed it by using a local clock in my NetPi-IDE CPLD to hold the read data a bit longer after the read strobes were de-asserted. I fed that back to Jon and retested my setup with an early prototype of V4.
 

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,920
Location
Massachusetts, USA
How will you get around the two PLAs used by the ISA card? You will need the truth tables from those PLAs to generate the necessary DMA signals. I do not believe Tandy published those truth tables anywhere.

Oh, I believe the DMA + 512KB RAM ISA Expansion Board from Tandy used the same DMA ASIC that the EX and HX Plus Cards used.

I think that DMA chips are speed rated and use a clock, so an 8237-5 may not be a good fit for a system that runs at 7.16MHz by default.

There has been a recent hoembrew attempt at a Sound Blaster clone : https://www.vogons.org/viewtopic.php?f=62&t=61098
 

eeguru

Veteran Member
Joined
Mar 14, 2011
Messages
1,618
Location
Atlanta, GA, USA
How will you get around the two PLAs used by the ISA card? You will need the truth tables from those PLAs to generate the necessary DMA signals. I do not believe Tandy published those truth tables anywhere.

At least part of them are in the T1K tech ref. I'm not sure if they are complete.

Code:
RAS0B = /MCF1./MCF0./19./18./17./16./REFRESH.(MEMRB+MEMWB)
      + /MCF1. MCF0./19./18.        /REFRESH.(MEMRB+MEMWB)
      +  MCF1./MCF0./19./18.        /REFRESH.(MEMRB+MEMWB)
      +  MCF1. MCF0./19./18./17./16./REFRESH.(MEMRB+MEMWB)
      + REFRESH.MEMRB

RAS1B = /MCF1./MCF0./19./18./17. 16./REFRESH.(MEMRB+MEMWB)
      +  MCF1./MCF0./19. 18.        /REFRESH.(MEMRB+MEMWB)
      +  MCF1. MCF0./19./18./17. 16./REFRESH.(MEMRB+MEMWB)
      + REFRESH.MEMRB

RAS3B = MCFl. MCF0./19./18. 17 /REFRESH.(MEMRB+MEMWB)
      + MCFl. MCF0./19. 18./17 /REFRESH.(MEMRB+MEMWB)
      + REFRESH.MEMR

DMACSB = /A7./A6./A5./A4./AEN.(IORB + IOWB)

WPRCSB = A7./A6./A5./A4./A4./AEN.IOWB

DBDIR = DMACSB.IORB
      + /MCF1./MCFO./19./18./17./REFRESH.MEMRB
      + /MCF1. MCFO./19./18.    /REFRESH.MEMRB
      +  MCFl./MCF0./19.        /REFRESH.MEMRB
      +  MCFl. MCF0./19.(/18+18./17)./REFRESH.MEMRB

DBENB = DMACSB + WPRCSB
      + /MCFl./MCFO./19./18./17./REFRESH.MEM-B
      + /MCFl. MCF0./19./18.    /REFRESH.MEM-B
      +  MCFl./MCF0./19.        /REFRESH.MEM-B
      +  MCFl. MCF0./19.(/18+18./17)./REFRESH.MEM-B
Oh, I believe the DMA + 512KB RAM ISA Expansion Board from Tandy used the same DMA ASIC that the EX and HX Plus Cards used.

Maybe there are two. Tandy did market using the PLUS board with the ISA conversion bracket. But I do have a completely ISA based board from Tandy somewhere. I went down to the dungeon to find it, but couldn't. I remember it having a genuine 8237A. I think it's in my 1000. A little too much work to get to atm.

There has been a recent homebrew attempt at a Sound Blaster clone : https://www.vogons.org/viewtopic.php?f=62&t=61098

I get really critical when I see MCUs bit-banging ISA signals (this case DMA). I get even more critical when people try to etch/drill complex boards instead of a week at OSHpark et al. But it all seems to work well. And the choice of song at the end of the video redeemed the effort a great deal. Ryan is one of my favorite artists then and now. Maybe #2 in the #trax scene to Andy. Ah.. those were the days. :)
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
Well, I tried Front Panel Express's free designer program to get an idea of price, and managed to whittle a bracket down from $29 to $23 dollars using only 1 tool change. (I'm assuming this is USD). I save 76 cents a hole if I tap it myself (#6-32). How much did yours cost?
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
How will you get around the two PLAs used by the ISA card? You will need the truth tables from those PLAs to generate the necessary DMA signals. I do not believe Tandy published those truth tables anywhere.'
The PLAs you're referring to are the 82S153's, U5 and U9? I'm not certain that those are necessary. U5 seems to deal with the memory, and I'm not sure what U9 is for (it's 1 AM right now). I managed to snag a knockoff brand of that DMA/RAM ISA card from ebay that doesn't appear to have them (it's the ATD T512CLK). Once it arrives, I'll do a schematic of that and compare it.

Oh, I believe the DMA + 512KB RAM ISA Expansion Board from Tandy used the same DMA ASIC that the EX and HX Plus Cards used.
All the ISA DMA/RAM cards I've seen pictures of have discrete logic built around the 8235A-5, rather than an ASIC, but I think the card in the 1000 tech reference manual only had 256K on it. It wouldn't surprise me if they did come out with a later version once they had that ASIC in production. Is that what you're talking about?

I think that DMA chips are speed rated and use a clock, so an 8237A-5 may not be a good fit for a system that runs at 7.16MHz by default.
As far as I can tell, the ASIC in the PLUS card of my HX uses the 8237A-5, and according to the HX refrence manual in the DMA section, '
Code:
TIMING GENERATOR
The input clock is OSC (= 14.31818 MHZ).
1.) It is divided by three to recreate the 4.77 MHz
system processor clock which is used as the clock for
the 8237.
2.) It is used to delay the memory access strobe MEM-B
twice to create the timing for RAS-f MUX, and CAS.'
That divider would have to be part of the integrated support logic in the PLUS card's ASIC. The t1000's card wouldn't have needed it.

There has been a recent hoembrew attempt at a Sound Blaster clone : https://www.vogons.org/viewtopic.php?f=62&t=61098
THAT is cool. Complete kludge. I prefer perfboards myself, but hey, it works! I'm impressed.
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
Tandy did market using the PLUS board with the ISA conversion bracket.
I haven't seen the relevant kit, but I think that was to use a PLUS card on top of a ISA DMA/RAM card (like the one below).
t1000hd5.jpg
I can't imagine PLUS cards having been too popular outside of the EX/HX. The only incentive I can see to use them on an ISA system is if you already had the cards and didn't want to use them in the EX/HX any more.

Somewhat related: I don't know if you're familiar with this, but there was apparently a company back when that made accessories for the EX/HX http://www.mediafire.com/file/h14b1...nt_Specialists_-_Catalog_92B5_-_1992.pdf/file
 

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,920
Location
Massachusetts, USA
Tandy marketed three memory boards for the Tandy 1000/1000A.

The first board was the 25-1004 added the DMA chip and 128KB of 256KB of RAM. The 25-1009 was the second board and can add an additional 128KB or 256KB of RAM. The only difference between the 25-1004 and 25-1009 was the presence/absence of the DMA chip. With these boards you will take up two slots to maximize the RAM inside the Tandy 1000 or 1000A.

The third and final board for the Tandy 1000, which was included in the Tandy 1000HD was the 25-1011, which appears to be pictured in the previous post. That board comes with the DMA chip, allows up to 512KB of RAM and has the 62-pin header to install a PLUS card. The idea is that you could mount the serial, modem or calendar/mouse board on that card and save yourself a slot. The Tandy 1000, 1000A and 1000HD only have three ISA expansion slots.

All three boards have the two PLA chips on them, I believe the one of the PLA chips mainly generates memory address signals and the other deals with the DMA.
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
RAM must have come down in price considerably between the two (three) cards. 4x 8-chip banks at 8KB/chip on the first two cards, and 2x 8 banks of 32KB/chip on the latter card. Was it really cheaper to have two large boards with double the chips (minus one 8237A), than to have a quarter the RAM chips, but more expensive ones on a single board? I'm not sure exactly when the two systems were released.

All three boards have the two PLA chips on them, I believe the one of the PLA chips mainly generates memory address signals and the other deals with the DMA.
That's more or less what I've gotten so far from the schematics. U5 for memory bank selecting, but also has a pin going to U9 called "MemAdd." Not sure what MemAdd does. Might be related to the jumper pins that are referenced high when open? U9 might have another 5-input NOR gate programmed into it like the two in U8, but I'm not certain yet. I've found the verbal description of the function within the tech reference manual, but haven't located the truth table eeguru pasted yet (I think I'm reading the same manual?). Between the two I should be able to get something, when I have another moment to dedicate to it.

ta6.jpgThe ATD T512CLK that I snagged from eBay (supposed to be Tandy compatible) doesn't appear to have those PLA chips, just 74xx series logic supporting the 8237A. Once it arrives, I'll reverse engineer that and compare the two. This board could also take a RTC chip, which must have been convenient. I had to perform "surgery" on the Smartwatch chip on my HX when it's batteries finally died. It had been slowly loosing time over the past 5 years or so (that I had noticed anyways), but almost 30 years of service before the batteries died completely is pretty impressive for a device that was only guaranteed to work reliably for 10!
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
A thought occurred to me... Absent the truth table, it should be possible to reverse engineer a PLA (8 inputs and 10 outputs in this case) by feeding a binary count (0-255) into it and recording on a logic analyzer what comes out, would it not?
 

eeguru

Veteran Member
Joined
Mar 14, 2011
Messages
1,618
Location
Atlanta, GA, USA
A thought occurred to me... Absent the truth table, it should be possible to reverse engineer a PLA (8 inputs and 10 outputs in this case) by feeding a binary count (0-255) into it and recording on a logic analyzer what comes out, would it not?

As long as it's combinatorial only 'L' variant. If its an 'R' or 'V' registered variant (containing flip-flops), it becomes more difficult. If the security bits are not set, you could just read the fuse data out with a programmer.
 
Top