• 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.

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
I know I am pretty late to the party here, but I actually just finished designing one of these. It is basically a modification of the XT-CF-Lite V4.1 to use the PLUS bus instead. I just sent the design off for fabrication of some prototype boards earlier today.

Does your XT-CF Tandy board layout include a RAM expansion, or is it just the IDE circuitry?

I'm about finished with a Kicad layout for a brain-dead three chip RAM backfill board (sans DMA, of course) using a circuit I came up with that I suspect is pretty close to that RAM card for an original Tandy 1000 that was brought up a page or so ago. Currently dithering whether I want to send it off to a PCB mill as-is or indulge in a probably failed attempt given my level of experience to try to merge the memory circuit with an XT-CF on one grand board.
 

rkrenicki

Experienced Member
Joined
Jun 21, 2016
Messages
87
It is nothing more than a XT-CF-Lite board adapted to fit into the PLUS slot. Memory was next on my "to-do" list, and I am open to trying to combine the designs to one board.
20190601_010705057_iOS.jpg

20190601_140030671_iOS.jpg
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
Some quick constructive criticism, if I may:

PLUS boards have the back panel connectors on the bottom side, and the bracket itself is mounted facing the bottom, so ideally you'd move the CF slot to the bottom side. Not an uncommon mistake, but you can only use two slots like this. If you're just doing this for yourself, it may not be an issue, and it's not something that everybody has to worry about. I notice because I've got all three slots on my HX populated, so precise alignment is critical in my case.

Otherwise, you've got the copyrights listed, and everything looks good!
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
I blew my evening tonight trying to lay out a PCB that didn't look like it was routed by a monkey for my latest design iteration, which I might actually build up the courage to send to a PCB mill after I see if someone I know who should have some good advice will consent to look over it. Here's KiCad's 3D rendering:

Tandy-RAM-CF.jpg

This board has a 512k SRAM for backfilling to either 640k or 704k (there's a jumper just in case), 32k of flash at C8000, and a Dallas 1315 clock-calendar chip. My idea, which may be a terrible one, is to use stacking headers like used for Arduino, etc, shields to carry the Plus bus directly through instead of using the offset connectors like the original Plus RAM board. Then if this board works phase 2 is a board that has the CF support circuitry/header and a serial port on it. (And the board can be simpler because the flash memory is already taken care of, it'll only have port I/O devices.) Stacked together that would give me most of what I want in my EX, but if I also use a stacking header on that board it wouldn't foreclose sticking another layer on top.

That's the bad idea, anyway. There are probably a lot of things I haven't thought of.
 

rkrenicki

Experienced Member
Joined
Jun 21, 2016
Messages
87
Some quick constructive criticism, if I may:

PLUS boards have the back panel connectors on the bottom side, and the bracket itself is mounted facing the bottom, so ideally you'd move the CF slot to the bottom side. Not an uncommon mistake, but you can only use two slots like this. If you're just doing this for yourself, it may not be an issue, and it's not something that everybody has to worry about. I notice because I've got all three slots on my HX populated, so precise alignment is critical in my case.

Otherwise, you've got the copyrights listed, and everything looks good!

Yep, I did not originally realize that, and flipping the board over will require essentially redesigning the entire layout which I have not yet done. This is essentially an off-the-shelf XT-CF-Lite mated to a PLUS-to-ISA adapter built onto one board.
 

rkrenicki

Experienced Member
Joined
Jun 21, 2016
Messages
87
My idea, which may be a terrible one, is to use stacking headers like used for Arduino, etc, shields to carry the Plus bus directly through instead of using the offset connectors like the original Plus RAM board.

Have you found a single 2x31 or 2x32 version of these stackthrough connectors? I was having a hard time finding anything big, so I have a 2x15 and 2x16 connector in my eBay cart at the moment.
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
The Dallas is a good idea. The SmartWatch on my HX just died recently (the chip itself, not the battery), and unless you've got one of dJOS's SmartWatch boards, the EX doesn't have any options for one other than that one obscure PLUS card (think it was a modem) that happened to have a calendar chip.

I'm not sold on the stacking header idea, but that's just me, I like to match the format of the original if I can.
Video RAM is mapped to B800h, so you've got at least up to there to play with, and after C000h is open for ROMs.
I say spin a board out and see how it works!
 

dJOS

Veteran Member
Joined
Apr 5, 2017
Messages
621
Location
Melbourne, Australia
The Dallas is a good idea. The SmartWatch on my HX just died recently (the chip itself, not the battery), and unless you've got one of dJOS's SmartWatch boards, the EX doesn't have any options for one other than that one obscure PLUS card (think it was a modem) that happened to have a calendar chip.

I'm not sold on the stacking header idea, but that's just me, I like to match the format of the original if I can.
Video RAM is mapped to B800h, so you've got at least up to there to play with, and after C000h is open for ROMs.
I say spin a board out and see how it works!

Using the DS1315 is a great idea - my SmartWatch+ board design is pin compatible with the DS1315-5+ and I'm considering switching from the DS1216's for future boards. The big downside is the cost, while the DS1315 is readily available, it's almost triple the price of the DS1216's that I buy - even accounting for the 30-50% failure rate of the latter part. The latest supplier I found just gives me a refund for the DoA chips without dicking me around, so I buy 20 at a time from them. My last order was the worst yet, fully 50% were dead despite them being NOS chips and not fake remarks AFAIK.

I'm interested in which mode @Eudimorphodon you are using - are you using the DS1315 in ROM mode against the XT-IDE Rom?

PS. I don't mind the Stacking idea - if you don't have the Tandy PLUS RAM expansion it would make a lot of sense - the only issue is getting the clearances correct as normal ISA slots have ~18.1 mm between each Card.
 
Last edited:

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
Have you found a single 2x31 or 2x32 version of these stackthrough connectors? I was having a hard time finding anything big, so I have a 2x15 and 2x16 connector in my eBay cart at the moment.

I've bookmarked a source that has stacking headers in 2x13 and 2x18 sizes as standard items so, yeah, basically the same solution you found. The other option seems to be to buy 1x wide and double them the other way, but I think that would involve buying longer and cutting to length.
 

dJOS

Veteran Member
Joined
Apr 5, 2017
Messages
621
Location
Melbourne, Australia
I've bookmarked a source that has stacking headers in 2x13 and 2x18 sizes as standard items so, yeah, basically the same solution you found. The other option seems to be to buy 1x wide and double them the other way, but I think that would involve buying longer and cutting to length.

I buy the 64 pin headers and cut them down with a micro-saw. The 62 Pin headers are only available if you are willing to order at least 1,000 - then Sullins will make another batch for digi-key.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
The Dallas is a good idea. The SmartWatch on my HX just died recently (the chip itself, not the battery), and unless you've got one of dJOS's SmartWatch boards, the EX doesn't have any options for one other than that one obscure PLUS card (think it was a modem) that happened to have a calendar chip.

The 1000 EX tech manual has information about a combination DIGI-Mouse and calendar board based on an 8042 microcontroller and a Phillips SAB3019 clock chip (which is a serial device not much like the DS products, and I *think* it's slaved off the 8042.). I kind of wonder if an interesting approach might be to emulate the API the 8042 presents to the Tandy using a modern MCU driving a PS/2 or USB mouse and an i2c clock chip, but I think pulling off that is pretty far above my fighting class at the moment.

I'm not sold on the stacking header idea, but that's just me, I like to match the format of the original if I can.

Yeah, I'll admit it's kind of a hack, but it lets me cut a lot of effort out of the PCB layout. I am wondering how hard it's going to be to get them soldered in without crudding up the stacking part. (I'll freely admit, I'm not fantastic at soldering.) There also seems to be issues with finding the right sort of header for the "Tall" passthrough?

Video RAM is mapped to B800h, so you've got at least up to there to play with, and after C000h is open for ROMs.

Yeah, I figure I'm probably safe to use the A000h page, I just included a disable jumper in the design because some black holes in my understanding of the description of how memory mapping works for the video chip in the manual leave me *just* leery enough to want to have the option available. (Optimistically I could probably go all the way up the 736k mark, but my sparse addressing circuitry only has 64k resolution for that region.) I suppose there's also the remote possibility if anyone else ever used this design they'd want to be able to use it with an EX/HX VGA card, but that would just be silly. ;)

I say spin a board out and see how it works!

For laughs here's the link to the other thread I had going about this to ask some elementary questions about designing TTL logic from scratch that goes into the basic operational theory I have in mind. I've... almost convinced myself I might have a workable thing at this point.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
Using the DS1315 is a great idea - my SmartWatch+ board design is pin compatible with the DS1315-5+ and I'm considering switching from the DS1216's for future boards. The big downside is the cost, while the DS1315 is readily available, it's almost triple the price of the DS1216's that I buy - even accounting for the 30-50% failure rate of the latter part. The latest supplier I found just gives me a refund for the DoA chips without dicking me around, so I buy 20 at a time from them. My last order was the worst yet, fully 50% were dead despite them being NOS chips and not fake remarks AFAIK.

Wow, that is a depressingly bad failure rate. You're right that the DS1315 is pretty dear, Mouser's quantity one price of $15.20 is between $3 and $9 more than the eBay prices I found for DS1215/16s, but some of those auctions looked *really* sketchy and I figured for a quantity one build it might be worth just sucking it down. That kind of DOA rate even from real NOS parts sort of reinforces my decision. :/

I don't think that there's anything in my design that would prevent a DS1215/6 from going in instead, though.

I'm interested in which mode @Eudimorphodon you are using - are you using the DS1315 in ROM mode against the XT-IDE Rom?

For the schematic I followed the "ROM" schema from the datasheet and piggybacked it off the C800h line I decoded for the 32k of flash memory. (I elected to go with a SST39SF010A FLASH chip instead of smaller EEPROM, my reasoning being that if at some point I came up with some other need for a BIOS I could just share it since the XT-IDE BIOS will only use 8k of it. Also it was easy to get 32k resolution chip selects for the C-F pages just by tacking a 74138 after the two-chip decoder design I came up with for RAM.) I think it should work.

I kind of wonder if it would be legit to map it with the unused B-page select I have available with the ROMless design I started with if I didn't want the BIOS chip, but there are things about that idea that make me leery, least of which is there probably isn't any smartwatch software that would think to look at B000h for one.

PS. I don't mind the Stacking idea - if you don't have the Tandy PLUS RAM expansion it would make a lot of sense - the only issue is getting the clearances correct as normal ISA slots have ~18.1 mm between each Card.

Yeah, I have this suspicion that I'll have trouble finding headers that don't put me out of register with the defined slot openings, at least. I don't think I care much since the only real Plus card I have is a basically useless modem card, as long as they give me enough to clear the components on any DIY boards.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
I kind of wonder if it would be legit to map it with the unused B-page select I have available with the ROMless design I started with if I didn't want the BIOS chip, but there are things about that idea that make me leery, least of which is there probably isn't any smartwatch software that would think to look at B000h for one.

... actually, it just occurred to me that I could probably put one on the C-F000h select of the ROMless version and it would probably work with the original Tandy software since should activate if the key sequence were thrown at *any* BIOS chip location in the top of memory. Man, that's messy, though....

No, wait, since it wouldn't control the chip select it *wouldn't* work and it might try activating at the same time as a legit ROM chip. Super bad idea. I think I'm back to wanting it specifically glued to a real device.

(It probably shows that reading the datasheet for those DS chips gave me a headache.)
 

dJOS

Veteran Member
Joined
Apr 5, 2017
Messages
621
Location
Melbourne, Australia
... actually, it just occurred to me that I could probably put one on the C-F000h select of the ROMless version and it would probably work with the original Tandy software since should activate if the key sequence were thrown at *any* BIOS chip location in the top of memory. Man, that's messy, though....

No, wait, since it wouldn't control the chip select it *wouldn't* work and it might try activating at the same time as a legit ROM chip. Super bad idea. I think I'm back to wanting it specifically glued to a real device.

(It probably shows that reading the datasheet for those DS chips gave me a headache.)

The software does need to know what address the DS1315 is at so if you put it with a different rom you need to recode the smartwatch software with the correct address.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
Yeah. I have vague memories of there being clock reader software for DOS back in the day that would probe common locations for a DS chip automatically, but even if said memories are true there's no guarantee the C800 block will be on the list. Second place hope is there might be one that takes a command-line argument, but if that fails creating or patching something shouldn't be too hard.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
Hah! I guess it pays to double-check your work. I just tracked down and downloaded the 1000 HX service manual because I wanted to see what its memory map looked like (in the name of making sure what I was building I didn't step on the HX's built-in DOS ROMs, just in case) and its clearer diagrams produced a forehead-slapper; I'd assumed that table J12 on page 6 of the EX manual actually reflected the physical layout of the expansion connector. It turns out it has the columns reversed. Aaaargh! :curse:

Better to find that out now than after having some test cards made. But it does mean I have to go back and fix my custom library footprints that took like an hour and a half to make. (not to mention having to reroute the PCB) :roll:
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
The big downside is the cost, while the DS1315 is readily available, it's almost triple the price of the DS1216's that I buy - even accounting for the 30-50% failure rate of the latter part.

@dJOS : I don't know if this eBay listing might be of any interest to you. 25 DS1315 for $100. It looks like it's the 5v version. I'd take a chance on it but I'm pretty sure I don't need that many.

https://www.ebay.com/itm/1-Tube-25pcs-DS1315-Real-Time-Clock-Phantom-Time-Chip/390956133582
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
Yeah, I'll admit it's kind of a hack, but it lets me cut a lot of effort out of the PCB layout. I am wondering how hard it's going to be to get them soldered in without crudding up the stacking part. (I'll freely admit, I'm not fantastic at soldering.) There also seems to be issues with finding the right sort of header for the "Tall" passthrough?

Well, if you've got everything you need on that set of stacked cards, then you'd be fine that way, it just means that you're committed to that setup unless you can match the clearances if you decide to use another PLUS board on top of that stack (remember the PLUS boards have the back panel connectors on the bottom side). I've found tall male headers on Digi-key, but you'd need to make a shroud for it with a 3D printer, because those pins will splay apart without it (I ended up cutting a piece of perfboard to keep them together on my protoype).

The female 62 pin PLUS header I use is here: https://www.digikey.ca/product-detail/en/samtec-inc/SSW-131-01-T-D/SAM1212-31-ND/1112225
This one mates pretty tightly though. They had another that's since gone out of stock that wasn't so tight, but it works.
 

Eudimorphodon

Veteran Member
Joined
May 9, 2011
Messages
4,599
Location
Upper Triassic
remember the PLUS boards have the back panel connectors on the bottom side

Do you happen to know if there's an official recommendation of how much of a "neutral zone" you should leave on the component side of a Plus Board to be absolutely sure you don't have interference with the backside connectors from the next board? Measuring my modem card to see how much room the RJ-11 jacks I see a nearly 3/4" gutter before the tall components start but the RJ-11 jacks themselves stop about half an inch deep. I've committed to at least trying to stick an IDE connector onto my memory board layout now (Although I did fix the PCB layout for the RAM/ROM/Clock version last night) and my tentative plan is to try to place a right-angle 40 pin header exiting the slot area so either a direct-plug CF/SD card adapter or a cable can exit the back. There's *almost* enough room ahead of the slot area where the keyboard starts sloping down I'm wondering if I could let the CF hang in that space and keep it all internal, in which case I'd definitely need the header on the *component* side.

Applying a ruler to the outside of the EX I find that each slot location is about 18mm, or .7 inches wide. That's about a tenth of an inch narrower than standard PC slot spacing, isn't it? Total board area of my modem card is about 90x140mm. As a visual aid I tried to create an exact scale printout of the PCB art of the Plus board in the Tandy manual, and that measures about 105x145mm, so I'm taking that as the absolute max I have to work with. (And of course that would mean placing the PCB connector at the location of the *middle* connector on the Plus board, right?)

I've found tall male headers on Digi-key, but you'd need to make a shroud for it with a 3D printer, because those pins will splay apart without it (I ended up cutting a piece of perfboard to keep them together on my protoype).
Some of the Raspberry Pi "extra tall" stacking headers come with a couple pieces of black plastic punched with .1" spaced holes that can be slid around/off the header pins to adjust the ride height before soldering. I wonder if that stuff is purchase-able as an off-the-shelf item, because the pieces on said headers look like they've been broken off a continuous strip, not cast. If you could track it down you could either put a tall stack of that around the wimbly pins or possibly glue a hunk at the right height?
 

blackepyon

Veteran Member
Joined
Feb 20, 2017
Messages
566
Location
Chilliwack, BC, Canada
I don't know of there is an official recommendation for a neutral zone, but .75" sounds reasonable. Or at least make sure any components on the top side are low profile, like resistors, etc. An external-facing CF slot would exceed that length, but shouldn't be tall enough to interfere with whatever's beneath.

Yes, the PLUS slots are just a hair shorter in height than PC slots, as I found out when I kludged together a bracket for my ISA-CF PLUS card. On top of which, I've also got an ISA I/O card for it's COM ports (with a wonderfully fabri-cobbled PLUS-ISA ribbon), so while everything just fits, emphasis is on the word "just." There is NO wiggle room here.
IMG_20190128_111518706.jpg

You've got a front-back clearance of 6" in either the top or the bottom slot (at least on the HX, where the BIOS/SmartWatch stack gets in the way of the bottom slot), and about 7" in the middle slot (15cm/18cm). The EX might have a bit longer on the bottom slot, but I don't have one to measure. If you were going for proper PLUS standard, you'd have at least 0.35" (0.9cm) extra clearance to either side of the external connectors, and 3 screw holes on either side with the same spacing to make room for the offset when installed on either of the headers on the Tandy DMA/RAM card. The modem card will be a good measure for your tollerances (I'm having to figure those out the hard way), since it has the relevant screw holes for installation in any slot. Obviously you wouldn't need to worry about that spacing if you're just doing a custom stack.

For examples you could try, this is a PLUS adaptation of Glitch's XT-IDE rev.4 that I'm working on (adapted from his open-source GitHub files), still a work in progress.
PLUS-IDE WIP top.jpgPLUS-IDE WIP bottom.jpg
You can see the break-off section of PCB to be soldered in at a right-angle in lieu of a proper bracket, with exposed pads for that purpose. You'd need to be careful to make sure that this gets soldered on at precisely 90 degrees (still need to put the screw holes in there), but it should work.
I've also got an external-facing IDE header in addition to the internal one (with a cable-select jumper, should it be needed). My idea is that you could have a DOM installed internally, and plug in a CF adapter to the back for easy file transfers, etc. Or have a standard hard drive in an external enclosure if you're really nerdy and just want to hear the thing spin-up and tick. The internal header is recessed like this to allow enough clearance to have a CF adapter installed internally on that header if it's installed in the middle slot, or a DOM if in the top or bottom slot.

Another thing I'm incorporating is headers for both an active-high and active-low LEDs. The latter to be put in place of the power LED above the keyboard, (stays on normally like the Power LED, but blinks during access), so that I don't have to drill a hole in the case to mount an LED. Some people are fine with drilling a hole, but I don't like destructive mods on retro stuff. I prefer that any mods be reversible.

I've also thought of just soldering the tall headers on upside down, to take advantage of the plastic base of the header, but you'd need to be very precise to make sure the thing is perfectly square and at the correct height when you solder it, or it will misalign the card. So that's probably not a good idea.
 
Top