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 Eudimorphodon View Post
    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.
    A bad PCB in the batch? That's rare.

    My logic analyzer is an HP 16500 mainframe with a 16510 card installed. Picked it up at my local retro-computer meetup where one guy was trying to thin out his collection a bit. Offered him $100 for it, he said, "sold!" The on-screen display doesn't have the fastest refresh rate (like two frames/second when it's capturing, but it's from the late '80's, so I ain't arguing), but I'm glad I got it. The one thing you'll want to consider if you run across one for a good price is that this thing is MASSIVE! Takes up a 6U's of rack space (or just stick it on your bench and stack stuff on top of it).

    I was originally thinking of picking up one of the USB ones, but looking at the specs, I notice that the speed you can capture goes down the more channels you have going. But even with all 16 channels capturing, yours should still be capturing at 12.5MHz, if I'm reading the specs right, which should be plenty for the EX/HX. The advantage of having a high number of channels (20+ if your analyzer happens to have) is that you can capture the entire address bus and read it as hexadecimal and compare that with another series of inputs.

    So if you can think of a reading I can take with the 80 channels that the 16510 card has available, let me know, and I'll try to get it.
    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


      My Saleae is the original bottom-end Logic 8 model with only eight channels, so.... man, I wish I had 16 to play with. It was really useful when I was resurrecting a dead Commodore PET years ago so I can't slag on it too much, but even back then there were times I was cursing under my breath wishing it had just one more input so I could watch a full 8-bit data bus and still have a line to use as the trigger.

      I didn't really have anything specific in mind for running logic traces, other than perhaps trying to get a picture as to how much delay there is between the high (top four) address bits changing and the RAM/245 selects triggering, and also keeping an eye on the MEMW/R signals to see if they're triggered before or after the chip selects stabilize. It might also be interesting to compare the state of the inverted A17 to the other address lines to see if there's any sign of glitching when chip select is asserted? Unfortunately reading timing diagrams are not my specialty, at least ones as complicated as that giant mess in the Tandy manual, so with the board working I'm not sure what I'd be looking for when trying to find something "suspicious".

      I found this interesting PDF:

      https://www.ti.com/lit/an/scla011/scla011.pdf

      That talks about HCT relative to ALS and HC. The TL;DR seems to be that the only "iffy" part about about mixing HCT with TTL is that a mixed TTL/HCT circuit is more sensitive to noise/crosstalk effects than pure TTL but I don't think there are any parallel runs on this board that are long enough to raise a red flag. (It does say that there can be issues reliably driving HCT with HC, but that's not a factor here.) According to the Tandy schematics the 244 and 245 drivers/buffers in front of the expansion connector are HCT.

      It does look like I do have an LS '08 and '00 in the junk box, I guess I can try swapping them when I have a chance.
      My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

      Comment


        In jealous, all I have is a decent logic probe and a 2 ch DSO.
        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
          It does look like I do have an LS '08 and '00 in the junk box, I guess I can try swapping them when I have a chance.
          I just yanked the '00 and '08 from my test rig and replaced them with the LS versions. It says some bad things about how badly I thrashed the sockets on the board with my jumpering experiments that I was able to pop them easily with a pair of tweezers without pulling the board out of the computer... and I guess I'll be getting back to that, because I stopped mid-writing this to poke a couple more things and...

          The short version is it seems to work fine with the LS instead of the HCT, it didn't freeze at 640k or at the beep. The longer version is that the board is working better, because with the LS installed (again, only LS '00 and '08, the '138 and '245 are still HCT) I was able to flash the ROM chip. Short version of the chain of events:

          1: After swapping the chips and seeing that the system still booted I decided it was worth booting from the DOS 3.2 I need to access the mutant 2.something megabyte HFS images I use with the Flashfloppy/Gotek as my poor man's HD substitute to see if the UMBs were working and recognized by Checkit3's memory map display.

          2: The 128k RAMdisk driver on that bootdisk worked, so I used the opportunity to do some file swapping, like copying the SMWCLOCK.COM and RAM disk driver around. After that I ran Checkit3...

          3: And Checkit3 identified a "Mystery ROM" in the C000 space, which it didn't before. So I exited Checkit... and just for laughs copied the ROM flasher and image to the RAM disk and try to flash from there, because... reasons. (short version: I think I might be having thumb drive compatibility issues with gotek/flashfloppy.) And this time flashing totally worked:

          flash.jpg

          4: I'm getting the XT-IDE boot message now. Of course it's not detecting any drives because the physical connector isn't on this board.

          boot.jpg

          5: And Checkit3 shows a disk ROM at C800, along with the expected UMBs:

          checkit.jpg

          I'm running a RAM test now for completeness' sake.

          So it doesn't look like mixing LS and HCT should be a problem here? As to why stuff *started* working when I swapped the chips I strongly suspect has nothing to do with the change in chip types; my guess is that I was probably getting a lousy connection on one of the lines on either the '00 or '08 because my sockets are so trashed. I should probably cut them off the board and solder new ones.

          Anyway, for the moment at least I'm jazzed. Technically my test board is running in a feature complete configuration!!!
          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

          Comment


            FWIW, just completed a full-cycle CheckIt extended RAM test with no errors.

            Edit: That's Check-It 2. Check-It 3's extended test continues to hate my computer. I'm leaving a pin in that for now.
            Last edited by Eudimorphodon; August 12, 2019, 04:13 PM.
            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

            Comment


              Originally posted by dJOS View Post
              In jealous, all I have is a decent logic probe and a 2 ch DSO.
              You can do basic logic probing with an oscilloscope as well, even an analogue one. And unlike with a logic analyzer, you can use an oscilloscope to measure voltages too!
              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
                I just yanked the '00 and '08 from my test rig and replaced them with the LS versions. It says some bad things about how badly I thrashed the sockets on the board with my jumpering experiments that I was able to pop them easily with a pair of tweezers without pulling the board out of the computer... and I guess I'll be getting back to that, because I stopped mid-writing this to poke a couple more things and...

                The short version is it seems to work fine with the LS instead of the HCT, it didn't freeze at 640k or at the beep. The longer version is that the board is working better, because with the LS installed (again, only LS '00 and '08, the '138 and '245 are still HCT) I was able to flash the ROM chip.
                ...

                Anyway, for the moment at least I'm jazzed. Technically my test board is running in a feature complete configuration!!!
                Well, that means whatever is going on, it's on my end. I'm gonna yank all the chips and test them in the programmer just to make sure it's not something stupidly simple.
                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
                  You can do basic logic probing with an oscilloscope as well, even an analogue one. And unlike with a logic analyzer, you can use an oscilloscope to measure voltages too!
                  True, but being able to clip over the top of multiple IC's at once and watch them interact in real-time is beyond cool!
                  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
                    Well, that means whatever is going on, it's on my end. I'm gonna yank all the chips and test them in the programmer just to make sure it's not something stupidly simple.
                    It seems like has to be a bad chip or something at this point unless somehow you did end up with a bad board, which is probably really unlikely. (This is my first and only order from PCBWay, but they did sort of go out of their way to convince me that they're a professional outfit that tests their work?)

                    Everything is still working after being powered off for a few hours and the clock is still keeping time, so... starting to optimistically think I should get off my butt and finish laying out the companion board with the CF socket. (And getting back to agonizing over whether I should play it safe and make a board that *just* has the CF socket, or go for the gold and try the CF + 16550 schematic I was chunking together.)
                    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                    Comment


                      I happen to have an old UART chip kicking around. That was a future project I had in mind, but wanted to finish the current stuff first. But I can pretty much guarantee that there'll be a demand for that, if only just for running a serial mouse. My idea was to have that on a third card, or maybe put it on the memory card if I can't get the DMA working. Or maybe do RAM+DMA+UART together if there's somehow space for it? That might be a bit ambitious at this point, and would likely require at least a few PLAs.
                      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 dJOS View Post
                        True, but being able to clip over the top of multiple IC's at once and watch them interact in real-time is beyond cool!
                        It was just luck that the guy brought the HP 16500 into the club around the time I was thinking of buying one off Amazon. He already had another one at home. Probably end-of-service surplus from his old job or something, because these beasts were NOT cheap when they were being made.

                        They're still pretty popular on eBay though. eBay Link
                        This is the cheapest one they have atm, but look at the shipping!
                        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 happen to have an old UART chip kicking around. That was a future project I had in mind, but wanted to finish the current stuff first. But I can pretty much guarantee that there'll be a demand for that, if only just for running a serial mouse. My idea was to have that on a third card, or maybe put it on the memory card if I can't get the DMA working. Or maybe do RAM+DMA+UART together if there's somehow space for it? That might be a bit ambitious at this point, and would likely require at least a few PLAs.
                          Yeah, basically my thinking has been if I could get at least one serial port on the same card as the CF connector then I'd have a two-board sandwich would provide most of what someone who's stuck with a bare 256K EX or HX would need to turn it into a fully capable XT-class machine.

                          (Minus the DMA, of course, but back in the day I think the only common device someone might want in a Tandy 1000 that would need it would be an XT hard disk controller. XTIDE sidesteps that need. Lacking it does rule out things like Soundblaster cards, but... my opinion is unmoved that if you want Soundblaster you'd be better off starting with an AT clone. DMA is useful for driving the floppy controller as well, but I remember seeing a discussion where doubt was expressed that the Tandy BIOS routines switch to using DMA if it's present. If they don't then the only software that would benefit would be a rare subset of programs that drive the floppy from bare metal?)

                          I have a mostly completed PCB layout for a board with a DIP-packaged UART and the CF connector, but I'm not happy with it; the signal layout for the 40 pin package seems really awkward and of course you also need a MAX232 and an oscillator, so the result is a really crowded board when trying to stick to my constraint of a 100x100mm board. (And also arranging it so the IDE-to-CF adapter sled I bought to work with fits in the space available inside the machine. I should probably suck it up and learn how to solder surface mount so I could use a CF connector directly.) I'm thinking of switching to PLCC to see if that's any easier, but that opened up another rabbit hole: I found Digi-Key has the dual-UART 16552 in the same PLCC socket. Two serial ports would be awesome, one for a mouse and one for other things... but I haven't yet found an example schematic for using one on a PC card. The datasheet looks straightforward enough but the example in there does use a different crystal than the 1.8something Mhz that's standard for PC UARTs so I'm worried there may be some incompatibility there I'm not aware of.

                          (And such a card would need *two* MAX232s, which gets back to the space issues...)
                          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                          Comment


                            They do make through-hole sockets for PLCCs, thankfully, so there's no need to worry about DIP adapters or surface-mount soldering. Digi-Key PN ED90008-ND

                            The total card clearance for the second slot is about 17-18cm (needed that measurement for one of mine), so I'm reasonably certain the CF sled will fit.

                            nztdm's NuXT board has serial on it, and he's got the schematics up on GitHub. He uses two 74LS138's for address selection on /CS2. It can also be done with a 16V8 (programmable on the TL866 USB thinggie) or a similar PLA on a single chip (See here, about 2/3rds of the way down) . The question is how to do that using the DUART chip.

                            Apparently DMA operations can be used for UART as well, so it's not just SoundBLASTER. I'm surprised RetroGaming Roundup hasn't tried a SoundBLASTER on his HX Max Performance Build. You can use many 16-bit cards in an 8-bit slot if you set them to use the lower IRQs.
                            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 wonder if someone has made a Kicad symbol for the PLCC version of the 16550 (or 16552). There's only a symbol for the 40 pin DIP version in the default library; I haven't gone through to see what important pinout differences there are. I guess it's not that big of a deal to clone the existing one and make the necessary changes. Semi-coincidentally I actually had a 44 pin PLCC through-hole socket in my hot little hand today; stopped at the local electronics hole at lunchtime to get a couple more female bus connectors and other incidental parts and found one on the socket rack. It is *far* smaller than a 40 pin DIP; I'm sure I'll still have fun routing traces but it definitely would save real estate.

                              The circuit I lifted for the schematic I have in the work queue came from a Sergey design for a... I think it was a combo floppy/serial controller. I suspect it's the same as the NuXT board, or close to it. (Likewise has two 74LS138s.) Going solely from memory I *think* adapting the decode for the 16552 might be as simple as adding an AND gate; my possibly flawed recollection is that the way chip select works on that chip is that there's a CE line which has to be asserted for either port, and then there's a "channel select" that's pulled low when you want the second channel; otherwise channel one is used. If that's all then all you need is a gate to assert CE if either of COM1 or COM2 was active. (The COM2 line would of course also be tied to the channel select.) That one extra gate means an extra chip unless you can steal it from something else already on the board. That's an argument for a PLA, I guess...

                              But, anyway, if everything else is actually compatible it *should* be just that easy? If it is I'm kind of surprised nobody's used it yet.

                              I'll break out the ruler and see just how far my CF sled would project forward from a 100x100mm board if I align it for maximum non-obstructed component area. (An irksome aspect of that size limit is the placement of the Plus connector means you can't quite align that size board with the normal rear extension into the slot cover/port area and still fit the plus connector. You end up about a quarter inch short, so if you plan to put ports directly on the card to be accessed from the rear they either need to be a style that overhang towards the back or they're going to be recessed. I was thinking of working around that by putting the board further inward, about where the RAM card sits, and using standard AT-style header-plug-to-DA9 cables that could be screwed to a simple separate port cover. Header plugs on the board would also save a tiny amount of real estate compared to a DA9 port.

                              RE: DMA and UARTs, my impression was that you couldn't exactly use DMA just for serial data transfers, but you *could* leverage DMA to do things like continuing to accept/transmit data during disk transfers. (IE, serial transfers can benefit from DMA but themselves don't participate in DMA.) PC serial ports don't have DREQ lines on them so I don't know how they could themselves request a DMA channel... but I'll admit that this is a subject upon which my ignorance may be vast and unyielding.
                              My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                              Comment


                                Not likely the library symbol itself, but all the PLCC chip and socket footprints are in the default libraries. One thing that I liked about Altium CircuitMaker was the cloud library (don't like that you can't export your project FROM the cloud though, which is why I switched to KiCad).
                                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