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

8 bit IDE (XTA) Replacement Project

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

    #46
    Originally posted by JayesonLS View Post
    What environment do you use to program your AVRs?
    I can hear the booing from the rafters already: I’m currently building my stuff out of the Arduino IDE with the MCUdude “MightyCore” add-ons for bare-metal AVR-ing on bigger chips. I’ve been meaning to port over to Atmel AVR Studio, I actually used that to learn the basics of AVR assembly (which I’m embedding chunks of in my Arduino sketches) and it has a good simulator but inertia is a thing and it’s so easy to mix C and ASM code in the Arduino IDE that I haven’t felt the need to actually get to it.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

    Comment


      #47
      Originally posted by Eudimorphodon View Post

      I can hear the booing from the rafters already: I’m currently building my stuff out of the Arduino IDE with the MCUdude “MightyCore” add-ons for bare-metal AVR-ing on bigger chips. I’ve been meaning to port over to Atmel AVR Studio, I actually used that to learn the basics of AVR assembly (which I’m embedding chunks of in my Arduino sketches) and it has a good simulator but inertia is a thing and it’s so easy to mix C and ASM code in the Arduino IDE that I haven’t felt the need to actually get to it.
      Same, I have only ever used the Arduino IDE. It has been fine for most small projects and I have been able to do the lower level things I have needed. I find it and a Teensy 2.0/2.0++ great for making test jigs for other projects. I did try to use it for a USB joystick adapter once and things got difficult when I didn't want it presenting itself as an Arduino.

      I think I will keep with Arduino for the moment while I am experimenting. I will probably make a board up with a CPLD and an ATMEGA. Is it easy to use the ATMEGA324 with the environment?

      Comment


        #48
        It seems some 8 bit PICs do have a 8 bit single parallel slave port. There must be some kind of black art to navigating the PIC range because I can't figure out how to select parts that have that feature.

        Comment


          #49
          The eight bit ones don’t appear to have the addressable version of it, which makes it less attractive for this, but I guess I won’t say that definitively because the PIC ecosystem confusing me is one reason I went with AVR.
          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

          Comment


            #50
            Originally posted by JayesonLS View Post
            I think I will keep with Arduino for the moment while I am experimenting. I will probably make a board up with a CPLD and an ATMEGA. Is it easy to use the ATMEGA324 with the environment?
            The docs for MightyCore have all the info you need. With just a few components you can set up a 324 so it’s in-circuit programmable with a TTL serial adapter once you get the boot loader on the chip.
            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

            Comment


              #51
              Well.... 286 outperforms 486 in this case. I put the Seagate ST05X XTA card into my TL/2 and did another scope capture. For the fastest code (REPNZ OUTSB), the ~IOW's are only 9 of the 8MHz clock cycles apart. I am going to assume that 10MHz 286's will be 1.25x faster. In the image below, the top trace is the 8MHz CLK and the bottom is ~IOW.

              This limits the options a bit. Definitely no serial clocking of the data into a micro. I think 18 AVR clocks would be enough to service an interrupt and read an external 8 bit register through a port. We can control what the AVR is executing while it is waiting for the interrupt. An ATF15xx CPLD Is starting to make most sense to me now since one CPLD and one microcontroller does everything. Microchip are still supplying the software and programmers for these so I think they mean it when they say they are still in production. An ATF1502 with 32 macrocells will probably be sufficient.

              I am less keen on trying the PIC32 micros. The 4 addressable registers sound great but we don't know how the micro can respond to the registers being written to. And with at least a GAL and two level shifters, we would have as many ICs as if the CPLD solution was broken out into 3 GAL22V10's.

              Also I am definitely not getting a ~CS on the built in XTA bus on my TL/2. This might explain why the original drive stopped working. I assumed the drive was bad but the issue is perhaps on the TL/2 side.

              NewFile2.png

              Comment


                #52
                Originally posted by JayesonLS View Post
                This limits the options a bit. Definitely no serial clocking of the data into a micro. I think 18 AVR clocks would be enough to service an interrupt and read an external 8 bit register through a port. We can control what the AVR is executing while it is waiting for the interrupt. An ATF15xx CPLD Is starting to make most sense to me now since one CPLD and one microcontroller does everything. Microchip are still supplying the software and programmers for these so I think they mean it when they say they are still in production. An ATF1502 with 32 macrocells will probably be sufficient.
                All these calculations are still based on a clock frequency of 20 MHz, right?
                The ATxmage devices run at 32 MHz and IIRC the SwinSID SID replacements even use an ordinary ATmega overclocked to 32 MHz. So that would be another option if or when the timing gets a little tight.

                Comment


                  #53
                  Originally posted by JayesonLS View Post
                  What environment do you use to program your AVRs?
                  Since I've still got a parts bin full of various AVR chips, but rarely use them, I use a JDM programmer (hooks to a serial port) and PonyProg under XP. How's that for old-school?

                  Given the low cost of 3.3V parts with 5V tolerant I/O, I prefer to use a sledgehammer to pound carpet tacks.

                  Reach me: vcfblackhole _at_ protonmail dot com.

                  Comment


                    #54
                    Going the opposite way... could it be possible to add support for 8-bit IDE-XT drives to a modern XT-IDE interface card? The IDE-XT interface cards, like the Western Digital WD-XT150 shown below, are all very simple, with just a few off-the-shelf 74LS-series chips and a ROM.

                    Comment


                      #55
                      You know of a working stash of XTA hard drives? At first blush, it would seem to be mostly a firmware issue to support them on an XTIDE.
                      Last edited by Chuck(G); September 10, 2021, 10:25 AM.
                      Reach me: vcfblackhole _at_ protonmail dot com.

                      Comment


                        #56
                        Originally posted by Chuck(G) View Post
                        You know of a working stash of XTA hard drives?




                        Comment


                          #57
                          Originally posted by vwestlife View Post
                          Going the opposite way... could it be possible to add support for 8-bit IDE-XT drives to a modern XT-IDE interface card? The IDE-XT interface cards, like the Western Digital WD-XT150 shown below, are all very simple, with just a few off-the-shelf 74LS-series chips and a ROM.
                          If you're short on the cards it would probably make more sense to just make a card specific to them than try to double it up on a card that also supports "real" IDE drives. The main problem is the XTA cards want DMA and IRQ lines running straight from the bus to the drive, which XTIDE cards don't do, and the address bits on pins 33 and 35 are 1 and 0 instead of 2 and 1. You could do a mess of jumpers but... there's also the fact that to drive this it'd make way more sense to copy the ROM off of one of the old cards than try to build support for these into the XTIDE BIOS, unless someone also wants to sub the XTIDE BIOS for the BIOS on actual MFM/RLL WD1002-adjacent hard disk controllers. (Which I guess I could imagine a use case for but man, that opens up a can of worms.)

                          If you really wanted to make one here's my three minute take on how:
                          • Start with this schematic: https://www.lo-tech.co.uk/wiki/Lo-te...er_revision_2b
                          • Reroute A2 and A1 on the IDE connector to A1 and A0. Also scratch everything on the other side of the connector, it looks like that's entirely grounds
                          • Route pins 27 through 31 to the needful bus lines as specified here
                          • I think you can ditch that circuit that generates *CS0 and *CS1 from *CS-IDE, just connect that straight to pin 37.
                          • Configure the IDE decode '688 so *CS-IDE triggers on 0x320
                          • If RESET still needs to be inverted just do it with a 7404 and ditch the '139.
                          • Use the flash decode circuitry unmodified, burn a copy of the ROM from one of your existing XTA host adapters into it.
                          Everything I said above could be wrong, take it with a giant grain of salt.
                          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                          Comment


                            #58
                            Originally posted by Benedikt View Post
                            IIRC the SwinSID SID replacements even use an ordinary ATmega overclocked to 32 MHz. So that would be another option if or when the timing gets a little tight.
                            I've heard the ATmegas are pretty tolerant of overclocking *within reason* if you use a good quality external oscillator. It's on my list to try running a 324 at 25.175 mhz, AKA standard 60hz 640x480 pixel clock, when I can lay hands on the right oscillator.
                            My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                            Comment


                              #59
                              I'd be surprised if you couldn't interface an XTA board to a bidirectional printer port with minimum circuitry. After all, all of these beasties have a sector buffer that can be read and written using PIO. DMA isn't necessary.
                              Reach me: vcfblackhole _at_ protonmail dot com.

                              Comment


                                #60
                                It mostly comes down to if you want to write your own driver for it. A single 22v10 GAL would probably suffice for the logic on a dedicated board to run it with the original ROM image, if you skip any external buffering that’s two chips.
                                My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                                Comment

                                Working...
                                X