Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by RetroGaming Roundup View Post
    I would too! And while forums are preferable for long term archival the majority of communities seem to be more vibrant on Facebook (yuck) so I created the Tandy 1000HX 1000EX Owners group on FB, might be useful for getting people in touch and swapping some information and hardware. So if you own one give it a search and join up.
    At this rate, I might just have to make a Facebook account . I've been holding off for years
    My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

    Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

    Comment


      Originally posted by blackepyon View Post
      I think I'd rather go for a discrete Dallas + battery than a potted one, especially considering the vertical space constraints. Preferably a more recent model that's still easy to get.
      Of course. I guess I used the word Smartwatch carelessly there because the discrete chips are API compatible. The "modern" option is the DS1315, which is what I bought. The 5v logic version is supposed to be pin compatible with the older 1215/16.

      Still waiting for the darn things. My RAM chips did finally arrive.
      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

      Comment


        Originally posted by dJOS View Post
        Fwiw I've sold at least 200 plus to isa adapters and about 75 plus to isa Riser card's.
        That is genuinely impressive. I figured there were probably plenty of these machines sitting in closets all over the world simply because Tandy did sell a ton of them, but that there's that many people actually actively using them and buying accessories is kind of a trip.

        Where I'm coming from is my main goal is *not* to go into business, just to have fun making a thing. If anything I come up with incidentally turns out to be useful to anyone else that's a bonus.
        My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

        Comment


          Originally posted by Eudimorphodon View Post
          That is genuinely impressive. I figured there were probably plenty of these machines sitting in closets all over the world simply because Tandy did sell a ton of them, but that there's that many people actually actively using them and buying accessories is kind of a trip.

          Where I'm coming from is my main goal is *not* to go into business, just to have fun making a thing. If anything I come up with incidentally turns out to be useful to anyone else that's a bonus.
          It continues to surprise me too - while I do have a Tindie store, it was only created because I had no nice way to manage the demand and track orders.

          The Tandy 1000 adapters are just a hobby for me*, they are largely self funding these days but tbh if I added in my screw-ups I suspect I might be in the negative (just dont tell my wife).

          *I'm a manager for a US based Software company during the day.
          My Retro Collection:
          CBM: C64, Amiga 500 x2, 600 & 1200
          Apple's: IIc, Mac SE, LCII, LC630 & Power Mac G3/233 Desktop
          PC's: K6-III+ 500 System + Roland MT-32 & Tandy 1000 EX 640kb, 3.5" FDD, CF-IDE 4GB HDD
          Visit my Tindie store for Tandy 1000 Adapters for EX, HX, SX, SL, TX & TL etc

          Comment


            Originally posted by Eudimorphodon View Post
            Of course. I guess I used the word Smartwatch carelessly there because the discrete chips are API compatible. The "modern" option is the DS1315, which is what I bought. The 5v logic version is supposed to be pin compatible with the older 1215/16.

            Still waiting for the darn things. My RAM chips did finally arrive.
            The term "SmartWatch" might be a bit generic. I know Tandy used it, but most of the time I hear it called the RTC or something else. The one that came with my HX was a stacked unit, like a DIP socket, that held the Dallas inside it, and onto which the BIOS ROM would sit on top, and was called the "SmartWatch" by Tandy.
            My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

            Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

            Comment


              Originally posted by Eudimorphodon View Post
              Where I'm coming from is my main goal is *not* to go into business, just to have fun making a thing. If anything I come up with incidentally turns out to be useful to anyone else that's a bonus.
              That's why OpenSource is a thing

              By the way, using the '00 works.
              My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

              Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

              Comment


                Originally posted by blackepyon View Post
                The term "SmartWatch" might be a bit generic. I know Tandy used it, but most of the time I hear it called the RTC or something else. The one that came with my HX was a stacked unit, like a DIP socket, that held the Dallas inside it, and onto which the BIOS ROM would sit on top, and was called the "SmartWatch" by Tandy.
                Yeah. I think another generic name for them was "Zero-Slot Clocks". The chips I ordered are the modern (well, more modern) version of the silicon that was covered by resin in the potted version of those stacked DIP dinguses. (There were also versions of those that weren't hermetically sealed; you could actually see the little DS121x chip through the top of the stacked socket.) To interface one all you need to do is bridge the chip enable line of the device you want to "pirate" through it and connect three lines to A0, A2, and D0. It's programmed by triggering a magic sequence of transitions on the address lines; the right sequence causes it to assert itself on the bus instead of the ROM (or whatever, apparently it's possible to hang them on I/O ports too) and the data is read serially.

                dJOS of course has on his store direct replacements of the piggyback variety that goes under a system ROM. My logic just goes if you're building a board with a ROM (eprom, flash, whatever) on it might as well just stick it there. (I might need to patch the software to look at the new location, although it sounds like there are already readers out there that let you set the base address.) Only needs the chip itself, a crystal, and some kind of battery holder.
                My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                Comment


                  Originally posted by blackepyon View Post
                  By the way, using the '00 works.
                  Excellent! If you're fine with not messing with UMBs that makes the circuit for a basic RAM card almost too easy.

                  I can't think of a solution for adding the UMBs that doesn't require less than two additional chips. (without programmable logic, that is) The minimal consumption version I laid out in the logic simulator needs both a 74x138 and a 74x08, the former to cut the top half of the address space into 8 64k slices, and the latter to both combine the two additional chip selects with the main one you get from the NANDs and to help pull off that "one weird trick" it does with A17 along with the gate from the 74x00. That's five chips all together; 1x SRAM, 1x buffer, 3x decoding logic.

                  (I suppose the baseline is a card based on the lo-tech design with parts that we don't need excluded (the logic that supplies slot 8 compatibility and lets you skip the first 16k when enabling the 0000h page), which adds up to 7; 2x SRAM, 1x buffer, 4x decoding logic.)

                  Again, I don't really know how relevant UMBs realistically are for a Tandy 1000. Because my plan involves putting Flash on the same card I think when I next poke at the every-changing thing I have in kicad I'll go ahead and try to have them, because the same hardware to decode the UMBs basically covers what I need to get the flash and calendar taken care of. Will need a couple switches/jumpers to disable them just in case. (Especially the E-page, in case anyone wants to use the design in an HX*.)

                  (* technically I think it would be possible to design the card to also allow moving the E-page UMB to the C-page to have C and D in an HX vs. D and E in an EX. That setup would basically rule out using a hard disk, network, or other card, though.)
                  My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                  Comment


                    The "slot-8" pin (B8, also known as "card select") is used on the Tandy for one of the DMA control lines for the DMA portion of the RAM card (don't remember which offhand, I'll have to dig up my notes), so any schematic that you're thinking of converting that has "slot-8" can be removed.

                    With what we've got here using the '00 as address selection, there isn't anything linking it to the Lo-tech card at all other than using the same RAM chip (the '245 buffer is standard for almost any expansion card, so that doesn't count).

                    A note about dJOS's SmartWatch board: the EX has the BIOS ROM located under the RF shield beneath the expansion cards, and his SmartWatch is designed to fit around the chips there. On the HX, that BIOS ROM is located in the middle of the board, so the way he has it sitting low profile won't work with an HX board without modifications. The HX shield also has an opening specifically for installing the stackable SmartWatch, so the BIOS can poke out of the shield (it also limits the length of the card in the middle slot to ~18cm).
                    My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

                    Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

                    Comment


                      Originally posted by blackepyon View Post
                      The "slot-8" pin (B8, also known as "card select") is used on the Tandy for one of the DMA control lines for the DMA portion of the RAM card (don't remember which offhand, I'll have to dig up my notes), so any schematic that you're thinking of converting that has "slot-8" can be removed.

                      With what we've got here using the '00 as address selection, there isn't anything linking it to the Lo-tech card at all other than using the same RAM chip (the '245 buffer is standard for almost any expansion card, so that doesn't count).

                      A note about dJOS's SmartWatch board: the EX has the BIOS ROM located under the RF shield beneath the expansion cards, and his SmartWatch is designed to fit around the chips there. On the HX, that BIOS ROM is located in the middle of the board, so the way he has it sitting low profile won't work with an HX board without modifications. The HX shield also has an opening specifically for installing the stackable SmartWatch, so the BIOS can poke out of the shield (it also limits the length of the card in the middle slot to ~18cm).
                      Quite true, I recommend folk use tin snips to enlarge the area to fit my clock board. I did consider making a dual PCB solution that stacked vertically but the hole in the shield still needed to be widened so I ditched the idea.

                      Putting it on a multi use expansion board is an even better idea.
                      My Retro Collection:
                      CBM: C64, Amiga 500 x2, 600 & 1200
                      Apple's: IIc, Mac SE, LCII, LC630 & Power Mac G3/233 Desktop
                      PC's: K6-III+ 500 System + Roland MT-32 & Tandy 1000 EX 640kb, 3.5" FDD, CF-IDE 4GB HDD
                      Visit my Tindie store for Tandy 1000 Adapters for EX, HX, SX, SL, TX & TL etc

                      Comment


                        Originally posted by blackepyon View Post
                        With what we've got here using the '00 as address selection, there isn't anything linking it to the Lo-tech card at all other than using the same RAM chip (the '245 buffer is standard for almost any expansion card, so that doesn't count).
                        Yes. I was just using it as a baseline example for a minimal-ish SRAM-based RAM card that provides UMBs. If you don't want UMBs then the single '00 for a decoder should be totally legit and then there's really no similarity between the cards. If you want UMBs, though, I can't think of quite such a low-count way to do the necessary slicing and dicing, so I figured it was fair to directly consider the part costs and tradeoffs.

                        Since this is a board targeted at a specific set of computers it's reasonable to trade away some of the flexibility of the lo-tech design. Obviously you don't need the slot 8 support or the specific extra decoding that board supplies to support original IBM PC 5150s with 16k soldered to the motherboard. That subtracts 2 chips from the lo-tech's full 9 (this is everything including two RAM chips and the buffer). Using the NAND technique to decode the 384k usable out of the bottom 512k cuts another chip. (Basically the low-tech card can be thought of as two independent 512k banks, each of which uses two ICs to decode and select from 8 64k slices. Using the NAND to hardcode for 384k gets rid of the 8-input AND gate for collating those slices together.) If you want UMBs, though, you'll need a separate decoder to slice up the top half, and the simplest way is *probably* to use the same 74138 with and AND gate behind it, so that's two chips if you want UMBs, no savings there.

                        At this point we're stuck at 6 chips unless you can get rid of the second RAM chip. And I think it's doable by using leftover gates, one from the NAND and one from the same 4-two-input AND gate used to collate the two chip UMB chip selects. That's what gets it down to 5 chips for 640k base RAM (384+256 built in) + 2 64k UMBs at D000 and E000.

                        A note about dJOS's SmartWatch board: the EX has the BIOS ROM located under the RF shield beneath the expansion cards, and his SmartWatch is designed to fit around the chips there. On the HX, that BIOS ROM is located in the middle of the board, so the way he has it sitting low profile won't work with an HX board without modifications. The HX shield also has an opening specifically for installing the stackable SmartWatch, so the BIOS can poke out of the shield (it also limits the length of the card in the middle slot to ~18cm).
                        Yes. Again, my reasoning is simply that if you have an EEPROM/flash chip on an expansion card like an XT-IDE you can just pair the DS1315 with that and not need to piggyback on the system board. It *may* require patching software if there isn't already software that searches in the expansion area for it, but I'm *reasonably* sure I've seen clients that let you specify the base address.
                        My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                        Comment


                          Originally posted by dJOS View Post
                          Quite true, I recommend folk use tin snips to enlarge the area to fit my clock board. I did consider making a dual PCB solution that stacked vertically but the hole in the shield still needed to be widened so I ditched the idea.

                          Putting it on a multi use expansion board is an even better idea.
                          Should be able to make it fit if you stick the Dallas inside the dimensions of the top socket, pretty much as the original did, and just have a couple wires leading to a separate battery holder. Use two-sided tape and stick it on top of the BIOS or something.

                          The original SmartWatch used two cells much smaller than the CR2032, and had them beneath, but the more oddball they are, the more expensive they are, and harder to find, so that's not necessarily ideal for a kit. On the other hand, you can go for well over a decade before needing to replace them.

                          I'll have to take a crack at it some day. Pretty sure there's IC sockets out there that would be ideal for this "stackable" design.
                          My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

                          Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

                          Comment


                            Poking around I found a link to a .ZIP file that has the .ASM sources for Radio Shack's Smartwatch reader. Poking through I found this:

                            ----------------------------------------------------------------------;
                            ; ;
                            ; ;
                            ; SmartWatch search routine ;
                            ; ;
                            ; ;
                            ;----------------------------------------------------------------------;
                            ; This routine searches for a SmartWatch in the address space ;
                            ; of the PC by performing the following series of actions: ;
                            ; ;
                            ; - Initialize segment search at A000 hex, increment 1000;
                            ; - Read watch using test segment ;
                            ; - If data read is invalid, then reselect ;
                            ; segment using an updated segment value. ;
                            ; ;
                            ; Invalid watch data is determined via the following criterion: ;
                            ; ;
                            ; - data of all 0s or all 1s is invalid ;
                            ; - data of 1s in areas which always return 0s is invalid;
                            ;----------------------------------------------------------------------
                            If I'm interpreting that correctly, which I suppose I might not, it looks for the Smartwatch chip at 64k intervals throughout the memory map above the 640k mark. That gives me something to think about because this means it might find a DS chip at C000h but not C800h. (Without patching.) Maybe I need to brush up on 8088 assembly.
                            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                            Comment


                              Originally posted by Eudimorphodon View Post
                              Poking around I found a link to a .ZIP file that has the .ASM sources for Radio Shack's Smartwatch reader. Poking through I found this:

                              If I'm interpreting that correctly, which I suppose I might not, it looks for the Smartwatch chip at 64k intervals throughout the memory map above the 640k mark. That gives me something to think about because this means it might find a DS chip at C000h but not C800h. (Without patching.) Maybe I need to brush up on 8088 assembly.
                              I've got scribbled in my notes that the SmartWatch resides at E0000h (that would be A17,A18,A19 high), but that doesn't make sense, because the BIOS ROM only uses A00-A16, residing at F200h. I don't remember where I saw it originally. Might be the SmartWatch utility itself that says that, but as my original died, I can't confirm why I have this written down... Unless it was supposed to be E000h and I accidentally added an extra 0? That would be A13, A14, A15 high.

                              dJOS, do you remember what it was supposed to be?
                              My vintage systems: Tandy 1000 HX, Tandy 1000 RSX, Tandy 1100FD, Tandy 64K CoCo 2, Commodore VIC-20, Hyundai Super16TE (XT clone), and some random Pentium in a Hewitt Rand chassis...

                              Some people keep a classic car in their garage. Some people keep vintage computers. The latter hobby is cheaper, and is less likely to lead to a fatal accident.

                              Comment


                                Originally posted by Eudimorphodon View Post
                                If you want UMBs, though, you'll need a separate decoder to slice up the top half, and the simplest way is *probably* to use the same 74138 with and AND gate behind it, so that's two chips if you want UMBs, no savings there.
                                If you are using two 512K chips with a 1:1 mapping of chip ram to physical memory space, and are ok with throwing away conflicting RAM, what you propose is fine.

                                I have a similar setup on the JR-IDE Rev A/B with two 512K chips. One feature I regret not initially adding (Rev.C adds it) is routing A14-A19 to both RAM chips via the CPLD and not directly. I've always had support for UMBs in the C segment at 16K enable boundaries and in the E/D segments at 64K enable boundaries. It would have be nice to remap segments that overlay with on-board peripherals like the upper half of B (CGA window), 0-3 (on-board 128K), F (system BIOS) and any occupied 16K option ROM windows in C to a page frame so that RAM could be used for other things. Expanded memory is the most obvious one. But it could also be used as a RAM disk in addition to UMBs. Those holes add up - 224 to 288 KB. Since I also have 512K of flash, it would enable a nice feature of copying flash content (eg. DOS in ROM) to RAM where the 'ROM-disk C:' would then be re-writable. A .COM utility could then make a BIOS call to snap-shot any modifications back to ROM on-demand. Would have been slick; especially since there is little value in EMS for a PCjr or T1K.
                                "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

                                Comment

                                Working...
                                X