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

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.

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.

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.

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

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

GW-SDK80-1: A Slightly Modernized Intel SDK-80 Workalike

  • Filter
  • Time
  • Show
Clear All
new posts

    GW-SDK80-1: A Slightly Modernized Intel SDK-80 Workalike

    I just finished testing the prototype for a new project last night:

    This is the GW-SDK80-1, a slightly modernized Intel SDK-80 workalike! I wanted to make a board that "felt" as much like a SDK-80 as possible, but I decided not to go with a 1:1 reproduction due to some aspects I saw as problems with the SDK-80 design:

    * Intel 8111/2111 SRAMs aren't super easy to find and IMO should be used on actual old hardware
    * Memory and I/O are minimally decoded on the SDK-80, meaning they "repeat" through address space
    * Some of the parts on the SDK-80 are hard to find or very expensive nowadays
    * The SDK-80 puts silkscreen directly on copper, and it's not aligned well, which gets clipped in modern board manufacture
    * Early revisions of the SDK-80 have layout errors in power distribution

    So, rather than just scan a board and reproduce it, I decided to use this project as a testbed for an idea I'd had. I stripped down a rev A SDK-80 that was in really bad condition to start with, had it scanned at Mile High Test, and then imported the scanned artwork into KiCAD as non-mechanical layers. I used those layers to match my component placement and trace routing to the original. Pretty much everything to the left of the prototype area follows original routing, or as close as I could get with the modifications I'd made.

    Speaking of modifications, this is the majority of what's changed:

    * Conversion to 2716 EPROMs and 6116 SRAMs
    * Use of 74LS244s as address buffers, instead of 8212s
    * I/O addressing is now fully decoded
    * RAM addressing is fully decoded, with extra outputs for easy expansion
    * ROM is fully decoded, plus it can be relocated to 0xF000 and/or disabled
    * Bitrate selection switch footprint set up to work with any available switch
    * Reset switch changed to lower cost part with standard spacing
    * Power connector footprint standardized for a Molex connector
    * Power routing issues fixed
    * Ground pour under 7905 -5V regulator removed (shorting hazard)
    * DB25F connector footprints changed to a common modern connector
    * Silkscreen cleanup to minimize clipping

    The address decoding section is where the biggest changes happened. Here's a closeup:

    I kept the same layout in this area as on the original SDK-80. It supports 8K of memory devices onboard. The first 24-pin socket pretty much has to be ROM to bring the board up, but the other three can be RAM or ROM. If you use RAM in the empty socket and add another 2K SRAM in the prototype area, you can run 8K BASIC!

    One of the 74LS138s (same function as Intel 8205/3205) serves as I/O decode now, fully decoding the I/O addresses used for the PPIs and USART. The USART does repeat once (occupies 4 I/O ports instead of just 2), this made the logic a lot simpler. There are 5 extra decoded I/O select outputs for use with the prototype area, which should make prototyping a lot easier. The other 74LS138 does RAM address decoding, as in the original SDK-80; however, it fully decodes RAM addressing, and provides 6 extra select outputs. RAM is automatically disabled when ROM is being addressed, and if ROM is relocated or switched out, RAM can infill where it used to be. This was done to make running common 8080 software, like BASIC, easier.

    ROM decode is essentially a modified version of what I used on my GW-SDK80-RAM1 mezzanine. It comes up with ROM at 0x0000 - 0x1000, but ROM can be relocated to 0xF000 or disabled completely. Relocation and switching out require jumpering to some of the PPI pins, just like the RAM mezzanine.

    The upper-left corner contains the rest of the changes:

    The switch is a more common (but still kind of expensive -- it's really nice, though) C&K part. The Intel original choice was a reversed pinout switch with a little circuit board on the back to match it to Intel's chosen spacing. This is still a standard C&K part but is about 50% more expensive than the part I went with. I also put a Molex KK-100 footprint for the external reset switch header. The bitrate selection area was changed to accommodate 11-pin rotary switches, so that any available rotary switch can be used, if desired.

    Note that the silkscreen legend for the PPI outputs has been cleaned up a lot. The originals were poorly aligned and would have been severely clipped if run at a modern board house.

    In the above picture, the 93S16 4-bit counter has been replaced with a 74LS163. They're not 100% same-spec compatible, but the 74LS163 works in this circuit (it will also work on an original SDK-80). That saves a lot of expense and is *much* easier to source.

    So, that's the prototype! There are a few small errors (switch pinout was wrong for reset being the biggest). I have a little more testing to do, but I have a ROM image made up with Intel's MCS-80 monitor and a special version of GWMON. The MCS-80 monitor occupies the first half of the ROM. A bootloader and GWMON occupy the second half. If you jump to 0x0400, the bootloader copies a small jumper program into RAM, switches ROM up to 0xF000, and then runs out of ROM in high memory. This requires one jumper wire on the back of the board, but sets the stage for being able to easily load and run 8K BASIC on the GW-SDK80-1.

    I'll have this prototype, along with my original Intel SDK-80, at VCF Midwest!
    Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

    Looks great Glitch!
    I will have to nab one I know I have plenty of parts to build one out laying around minus a few of the odd parts like the baud rate switch and stuff.
    Can't wait to see it in person at VCF MW hopefully?


      Nicely done!


        Originally posted by Conmega View Post
        Looks great Glitch!
        I will have to nab one I know I have plenty of parts to build one out laying around minus a few of the odd parts like the baud rate switch and stuff.
        Can't wait to see it in person at VCF MW hopefully?
        Yep! It'll be there, up and running, with a vintage terminal attached.

        Originally posted by tingo View Post
        Nicely done!

        I added 4K additional SRAM to replace the ROM when it's moved up to 0xF000, and now have Palo Alto Tiny BASIC running for VCF Midwest! One of the SRAMs is installed in the empty ROM socket, the other is added in the prototype area. As soon as ROM is relocated or switched out, the RAM decode circuitry automatically backfills with the added SRAM, giving 8K of RAM from 0x0000 to 0x1FFF.

        I wrote a little bootloader for GWMON-80 that moves a piece of code into RAM, switches the ROM up to 0xF000, and the jumps into GWMON-80 at the new high memory location. That lives in the second half of a 2716 2K EPROM, the first half contains the regular MCS-80 monitor. That way, you can do a `G0400` from the MCS-80 monitor to automatically run with GWMON-80 (which has an Intel HEX loader) and have RAM in low memory for BASIC.
        Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More


          History question: What and when was the first CPU board that used the Multibus? One of the iSBC 80 CPU boards? What Multibus CPU board did the first INTELLEC MDS use? Was the SDK-80 released roughly at the same time as the first Multibus CPU boards?


            This project hasn't been forgotten about This is what has been holding it up:

            It's a little module that allows expansion to 64K of static RAM without having to modify the GW-SDK80-1 or add a bunch of stuff in the prototype area. It's just two 62256-type SRAMs and bypass caps. Mounting is Mill-Max pressfit pins:

            The Mill-Max pins have a smaller diameter than the usual machine pin male:male strip headers and are much easier to remove from the sockets, while still being secure. The board mounts where the two 6116 RAMs usually go:

            On the final GW-SDK80-1, the connections to socket A24 will be on the board (requires no additional chips), but on the prototype run #1 board pictured, I'll have to wire it in by hand. Haven't gotten to test it yet!
            Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More


              Looks great. Really nice work here!
              OSI Forum and Archive at

              Unified Retro Keyboard Project on Github