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

    I was using CheckIt 3. There's also a possibility that some of your onboard chips could be bad. The reason I started this project to begin with was because I was encountering RAM errors, and it looked for all the world like they were on the expansion memory until I changed out the 8 memory chips on the motherboard. CheckIt 3 needs more than the base 256K though, which is why it took me so long to narrow it down. Knowing that the machine maps the expansion memory before the onboard, it now makes sense what CheckIt was reporting to me when I was getting memory errors.
    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


      I hate to invoke the somewhat overused "bad caps?" canard, but maybe its applicable given the errors aren't reproducible. *Sigh* The joys of thirty year old hardware.

      I guess here's another reason why you building up your copy of the board is a useful exercise.
      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

      Comment


        In my case, simply replacing the onboard chips solved the issue, and I tried this set of chips on another motherboard to be sure (I ended up buying a spare HX motherboard for an unrelated screwup that I might have mentioned earlier). While old X-class capacitors from this period are notorious for going bad and releasing the magic smoke (which is why I recommend replacing those before even powering the machine on when you first get it), I've never seen a bad electrolytic cap from this time period, though that could change as my collection grows.
        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


          Back to this again after a vacation hiatus...

          I've succeeded in verifying that the SMWCLOCK.COM binary in the Tandy archives can set/read a Maxim DS1315 mapped at C000. Here's the program running on my Tandy 1000 EX fitted with the prototype combo RAM/Calendar/Flash board:

          smwclock.jpg

          This is it setting the time after a cold boot; no special command line switches or anything were needed, it just finds the chip with no drama, and although I've only had it running for about half an hour it does seem to keep reasonably accurate time. There's a minor cosmetic Y2K bug in the program's output but the DOS DATE command shows the correct value.

          Getting it working was a huge hassle because I was a bonehead and accidentally ordered surface-mount DS1315s instead of thru-hole from a very cheap Chinese eBay listing. At least the chips are good, but I really put the poor victim I installed through the ringer adapting it to the board. Witness the pain here:

          ds1315.jpg

          It's the tape-covered chip under the battery, of course.

          So, yeah, it looks like it's perfectly legit to incorporate one of these chips into a Plus add-on card.

          In the not so good news I'm having much less luck with the Flash chip I installed. I tried to make the board compatible with the lo-tech CompactFlash Adapter rev. 2b, with the exception that the board gives a whole 64k starting at C000 to the flash chip instead of 32k at C800. (The documentation implies at least that a 64k flash should be supported, though.) I tried padding the 8k IDE_XT BIOS file on the Lo-Tech site with a leading 32k's worth of zeros and running "flash padded.bin C000", but it hangs indefinitely at "Calibrating delay loops".

          I did try one of the flash chips I ordered (stupidly) from a Chinese eBay listing, I have a couple from Digi-Key, I'll swap it out and see if it changes anything. But it's still good news about the calendar chip.

          (Granted it could be my s*** soldering on the calendar chip is the problem, being that chip select for the flash chip passes through it.)

          Edit: Also, I've noticed an oddity. I tried running the extended RAM test from Check-It version 2 instead of Check-It version 3, and my machine passes that reliably. I'm not sure what to think about that, other than the fact that when it fails it's always blaming "Parity", which is odd because the Tandy 1000 series doesn't have Parity RAM. According to the Tandy manual the I/O port addresses the PC uses for signaling parity errors (and enabling/disabling reacting to them) are used for other purposes or reserved in the 1000EX, so... yeah, I don't know what's up, whether the test is just getting spurious results from tickling registers that don't do what it expects, or if the version 3 test is somehow hitting a legitimate edge case version 2 doesn't.
          Last edited by Eudimorphodon; August 10, 2019, 10:35 PM.
          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

          Comment


            Speaking of DS1315's, I got my 20 of them from the cheap seller I found and not a single dud amongst them! 100% working! They are chip pulls but they've done a decent job of refurbishing them IMO.

            here's the link:

            https://www.aliexpress.com/item/3283...AbTest=ae803_5
            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


              Sheesh, that's a heck of a deal. (Nearly 1/10th the quantity one price from digikey or the like.) The surface mount ones I got were about $3 each. They *look* new, they came on a sealed plastic tray/tape segment, but I can't be sure.

              Wonder how reliable a source that is... and what they're pulling them from.
              My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

              Comment


                Originally posted by Eudimorphodon View Post
                Sheesh, that's a heck of a deal. (Nearly 1/10th the quantity one price from digikey or the like.) The surface mount ones I got were about $3 each. They *look* new, they came on a sealed plastic tray/tape segment, but I can't be sure.

                Wonder how reliable a source that is... and what they're pulling them from.
                Considering I'd been getting a 50% failure rate with DS1216's I'm genuinely shocked that these all worked perfectly. The legs on all the chips were really nicely tinned which is how you can tell they are chip pulls.
                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


                  Well, at least you're faring better than I am. I wonder if I might have a bad socket and one of the wipes isn't making proper contact? I can't get your board to work. It detects 640K, and immediately hangs there, even when I try to jumper/bypass the '08. You've got the MemW bodged on the bottom side, yes? Or did you only lift pin 1 on the '245 and wire that directly?
                  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


                    For the bodge I just bent pin 1 of the '245 out of the socket and jumpered it to MemR on the expansion bus on the upper side. Initially I did this with a removable jumper, but as of last night I've made it permanent, tacking to the back side of the female Plus connector landing. (The bodge is visible in my last picture, it's the white wire winding around the inner bus connector.) This seemed like a better idea than cutting the traces because (unfortunately) as laid out MemW goes to the '245 socket first on its way to the RAM chip, so cutting the socket landing loose will orphan everything downstream and require a double-bodge.

                    I genuinely can't fathom what difference there'd be between an EX and an HX that'd let the board work in one and not the other so it seems like there must be something pear-shaped somewhere? Did you use LS or HCT for the logic? It looks like the difference in gate delay is negligible between the two but... ? I have HCT fitted.
                    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                    Comment


                      Originally posted by Eudimorphodon View Post
                      For the bodge I just bent pin 1 of the '245 out of the socket and jumpered it to MemR on the expansion bus on the upper side. Initially I did this with a removable jumper, but as of last night I've made it permanent, tacking to the back side of the female Plus connector landing. (The bodge is visible in my last picture, it's the white wire winding around the inner bus connector.) This seemed like a better idea than cutting the traces because (unfortunately) as laid out MemW goes to the '245 socket first on its way to the RAM chip, so cutting the socket landing loose will orphan everything downstream and require a double-bodge.

                      I genuinely can't fathom what difference there'd be between an EX and an HX that'd let the board work in one and not the other so it seems like there must be something pear-shaped somewhere? Did you use LS or HCT for the logic? It looks like the difference in gate delay is negligible between the two but... ? I have HCT fitted.
                      The '00 and '08 are LS, the '245 and '138 are HCT. The speeds are around 10 and 12ns, I think? The main difference between them is how much current and voltage they can receive and drive, but that will be the next thing to check.

                      I did the double bodge. I tried jumping the MemW signal straight to pad 24 on the RAM chip, and so far as I can tell, the MemR and MemW signals are where they're supposed to be, and nothing's shorted. I tried removing the 74LS00, and it boots to 256K without it, so I'm pretty sure that the MemR and MemW signals aren't conflicting anywhere, but that it's likely a conflict between the LS and HCT series. Sometimes it gets as far as the beep after the RAM check, sometimes it just displays 640K, so it well could be the slight difference in rise/fall time that's causing the lockup. Thing is that with just the 3-chip solution I tried, I used a 74HCT245 and 74LS00, and it worked just fine. On the logic analyzer, I'm getting a rise/fall delay of +/- 10ns per gate on on either the '00 or '08 (not something you'd worry about on an LED array or the like). So having the address go through both LS chips is enough to slow it? Or maybe there's enough of an error bar with the LS series that it's not meshing properly on a few cycles or something.

                      I should add some more HCTs to my next Digi-Key order. Was thinking of just building up a selection of the most common chips to have on hand for breadboarding anyways, but I also need to inventory and sort the random assortment of chips I've collected over the years. In the mean time, I'm going to try undoing that bodge and redoing it with just the pin-1 lifted on the '245 and see what that does.
                      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
                        Back to this again after a vacation hiatus...

                        This is it setting the time after a cold boot; no special command line switches or anything were needed, it just finds the chip with no drama, and although I've only had it running for about half an hour it does seem to keep reasonably accurate time. There's a minor cosmetic Y2K bug in the program's output but the DOS DATE command shows the correct value.
                        Btw, have you tried the Y2K patched version?

                        http://ftp//ftp.oldskool.org/pub/tvd...ies/smwy2k.zip

                        It works very well and the date displays correctly:

                        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
                          The '00 and '08 are LS, the '245 and '138 are HCT. The speeds are around 10 and 12ns, I think? The main difference between them is how much current and voltage they can receive and drive, but that will be the next thing to check.

                          I did the double bodge. I tried jumping the MemW signal straight to pad 24 on the RAM chip, and so far as I can tell, the MemR and MemW signals are where they're supposed to be, and nothing's shorted. I tried removing the 74LS00, and it boots to 256K without it, so I'm pretty sure that the MemR and MemW signals aren't conflicting anywhere, but that it's likely a conflict between the LS and HCT series. Sometimes it gets as far as the beep after the RAM check, sometimes it just displays 640K, so it well could be the slight difference in rise/fall time that's causing the lockup. Thing is that with just the 3-chip solution I tried, I used a 74HCT245 and 74LS00, and it worked just fine. On the logic analyzer, I'm getting a rise/fall delay of +/- 10ns per gate on on either the '00 or '08 (not something you'd worry about on an LED array or the like). So having the address go through both LS chips is enough to slow it? Or maybe there's enough of an error bar with the LS series that it's not meshing properly on a few cycles or something.
                          It's really a headscratcher. The base memory decoding for this board is the same as the three chip version (IE, using two layers of NAND gates). The difference after that is instead of the enable signal going straight to the RAM chip and the '245 "simultaneously" the RAM chip gets its enable one AND gate later, and the '245 gets its signal a second AND later still. (Menable is defined by the union of the bottom 384k decoding and the AND-combined signals from the UMB decoding, and the '245's enable is the union of menable and the flash enable.) So the total time consumed by this decoding is twice that of the three chip version. But I don't think that should be unreasonable because the datasheet for a '138 shows its "address to output" time is about twice that of an '00 gate. Which means that worst case the totality of the decoding on this board is just one gate slower than the Lo-tech RAM board, which has a '138 in front of an AND gate for each RAM chip. ('30 in that case). Maybe that's oversimplifying it? But this should still be substantially faster than the original RAM card, given how that has to time-multiplex the address lines into RAS/CAS signals, etc. The number I could suss out of the manual for the total memory cycle time for the 1000 EX was... 279ns, something in that ballpark? Even with the one additional gate delay my (very ignorant) take on it is the decoding in this board should be sorted out before MEMR/MEMW would even be asserted.

                          There is a two-gate delay in A17 compared to the other address lines, and I was worried if that might be a problem, but how the gates are arranged A17 should still be stabilized before chip select is asserted because its state is decided (IE, via the AND gate that can force A17 to zero) a minimum of one gate before menable.

                          Bleah. I have one of those Saleae Logic USB logic analyzers in my box of tricks, maybe I should hook it up and see if it's fast enough to give me some useful traces of when menable and the '245 gate are stable compared to when the read cycle starts. Maybe it could be something "analog" that's going on with your mix of LS and HCT? I *may* have an LS '00 and '08 handy, perhaps it's worth swapping them and see if it recreates that zombie state you're seeing.

                          Edit: I hope I didn't send you the one bad PCB out of my run of 10, I suppose that's always a possibility.
                          Last edited by Eudimorphodon; August 11, 2019, 06:12 PM.
                          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                          Comment


                            Originally posted by dJOS View Post
                            Btw, have you tried the Y2K patched version?

                            http://ftp//ftp.oldskool.org/pub/tvd...ies/smwy2k.zip

                            It works very well and the date displays correctly
                            No, I'll give that a try. There's almost certainly no reason it won't work.

                            I do have to admit that I'm amused by the display bug in the non-patched version; seeing 2019 rendered as "19B9" made me laugh. I need to test and see if it will display 2070 as "2000"...
                            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                            Comment


                              Originally posted by Eudimorphodon View Post
                              No, I'll give that a try. There's almost certainly no reason it won't work.

                              I do have to admit that I'm amused by the display bug in the non-patched version; seeing 2019 rendered as "19B9" made me laugh. I need to test and see if it will display 2070 as "2000"...
                              that "bug" is quite amusing.
                              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


                                Well, I reversed my dual bodge, and did it as you did, but still locks up after detecting 640K. Either I've got a bad chip, or the LS and HCT aren't playing nice.
                                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

                                Working...
                                X