7 ms·
80286 ATX mainboard based on the IBM 5170 AT PC
- magicalhippo 2y agoStumbled over this project, which features schematics and details for a 286 motherboard and an ISA memory add-on board. From the readme: Current status(okt 2024): This project is built, fully functional, now able to operate at 20MHz CPU speed. There's still stock out there of original 286 CPUs, as Intel licensed several manufacturers[1]. [1]: https://en.wikipedia.org/wiki/List_of_x86_manufacturers#Manufactured_and_sold_under_its_own_name_of_x86-processors_designed_by_others https://en.wikipedia.org/wiki/List_of_x86_manufacturers#Manu...
- ForOldHack 2y agoBut can it boot SCO Xenix v2.3.2d?
- lproven 2y agoI was wondering much the same... Xenix and Concurrent DOS 286 were the two most capable 286-native OSes. Followed, quite some way behind, by OS/2 1.3.
- Suppafly 2y agoIs the "based on the IBM 5170 AT PC" bit because he started with a 5170 design and updated to 286 piecemeal instead of cloning a 286 design directly?
- magicalhippo 2y agoFrom what I gathered the 5170 was[1] a 286 design? In any case, from the description: Luckily I found an Ebay auction which offered an IBM 5170 mainboard for a very reasonable price. I proceeded to draft modern KiCad schematics for the 5170 and subsequently modified the IBM designs to suit this project as much as possible. [1]: https://en.wikipedia.org/wiki/IBM_Personal_Computer_AT https://en.wikipedia.org/wiki/IBM_Personal_Computer_AT
- Suppafly 2y agoYeah I was confused, I assumed all the 51xx were the older 8088 models.
- m3galinux 2y ago5170 (IBM AT) was a 286 design. The 5150 (IBM PC) and 5160 (IBM PC XT) were the previous 8088-based systems. Sounds like it's described as "based on" because it's heavily reverse engineered, modified to use more readily available components where possible, and then improved to 20MHz capability over the original 5170's 6/8MHz. Lots of info on the 51xx series of machines is here: https://www.minuszerodegrees.net/index.htm https://www.minuszerodegrees.net/index.htm
- Suppafly 2y agoAh, thanks I misunderstood.
- shiroiushi 2y ago>Sounds like it's described as "based on" because it's heavily reverse engineered, modified to use more readily available components where possible, and then improved to 20MHz capability over the original 5170's 6/8MHz. I wonder if he looked at any clone motherboards from that time, or a few years later? 16MHz and 20MHz 286s were quite common before the 386 took over, and they probably had to make some changes too (and came a few years after the PC AT, and so probably had a lot of improvements; the AT came out in 1984, but the clone 286s were still pretty strong in the late 80s).
- Suppafly 2y agoI was thinking 286's were faster than was being mentioned, but I suppose his design was speeding up a design from the beginning of the era instead of copying a later design.
- shiroiushi 2y ago286s were quite fast for DOS applications in their later days; they were actually faster than the newer 386SX systems that were competing against them, but of course they couldn't do 32-bit operations.
- userbinator 2y ago
- forkedlabrinthe 2y agoTaking an 80286 and reclocking it in order to get an 8-bit CPU to work as a 16-bit 80486 processor. Ambitious project. The IBM 286 can operate at frequencies below 20MHz as well. >http://www.machine-information-systems.com/286_Processor.html http://www.machine-information-systems.com/286_Processor.htm... Link to separate repository: https://github.com/rodneyknaap/atx-486at-mainboard https://github.com/rodneyknaap/atx-486at-mainboard
- mikepurvis 2y agoI'd be fascinated to have a breakdown of what all the ICs are on the motherboard. Like are they mostly ASICs, or mostly discrete logic, like level shifters, gate drivers, shift registers and the like? Either way, it's amazing to think that basically every non-power related chip on that board is now inside a modern chipset IC.
- gary_0 2y agoThe schematic is right there in the repo so I randomly googled some of the part numbers: LS125 - 3-state bus buffers - https://www.ti.com/lit/ds/symlink/sn54ls125a.pdf?ts=1731481090480 https://www.ti.com/lit/ds/symlink/sn54ls125a.pdf?ts=17314810... LS612 - Memory mappers - https://media.digikey.com/pdf/Data%20Sheets/Rochester%20PDFs/SN54LSS61x_SN74LS61x.pdf https://media.digikey.com/pdf/Data%20Sheets/Rochester%20PDFs... 8259 - Interrupt controller - https://en.wikipedia.org/wiki/Intel_8259 https://en.wikipedia.org/wiki/Intel_8259 27C256 - ROM - https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/11001N.pdf https://ww1.microchip.com/downloads/aemDocuments/documents/O... Most of it is somewhat more high-level than the 7400-series ICs and such you might find in something older like the early 6502-based microcomputer motherboards.
- rob74 2y agoNot sure about the rest, but I thought it was funny that the 80286 CPU is among the smallest chips on the board - that's probably due to the PLCC (?) packaging, while most of the others are DIP, but still... The only other PLCC-packaged chips are two ATF1508AS, which are indeed ASICs (CPLDs) - oh, and the 53C400, which is... a SCSI controller (probably added as a bonus?!).
- shiroiushi 2y ago>I thought it was funny that the 80286 CPU is among the smallest chips on the board - that's probably due to the PLCC (?) packaging, while most of the others are DIP That's basically it. The 286 has a much larger wafer inside than a typical DIP, and DIPs are extremely inefficient packages. It would be interesting to see how much you could shrink this board down if all these chips were replaced with BGAs (using the same wafers inside). Obviously, that's not really feasible (no one is selling a BGA version of an 8259 interrupt controller, much less an 80286), but it would be interesting to see the dramatic size reduction, just from packaging waste. Also interesting would be if you designed a board using BGA versions of all these chips, but fabbed on modern IC processes (thus yielding much smaller wafers. and therefore somewhat smaller BGA packages). Of course, the whole thing could probably just be implemented with a single FPGA these days.
- rkagerer 2y agoThis is awesome. I miss the ISA bus and its simplicity. People raved about PCI's Plug and Play, but in practice I found it very straightforward to set IRQ jumpers and the experience was free of the quirky issues I encountered with PnP (especially in the early days). I recall wiring an LED display and some very simple logic (like a buffer IC or something enabled by an address line in a non-existent memory segment) directly to an ISA wire wrap card and getting it to work on the first try. One of the reasons I love working with microcontrollers (especially the relatively clean 8-bit architectures like AVR) is they lack so many layers of abstractions. One major aspect of PCI which I do respect is it's incredible backwards compatibility. I still use a 20 year old Adaptec PCI SCSI card via an adapter carrier in in my latest PC (drivers were fun but it works).
- burnt-resistor 2y agoI don't miss it because the resources and choices were extremely limited. PnP (ISA, VLB, AGP, PCI/-X, and to some degree MCA and EISA) was revolutionary because it automated the mundane.
- contingencies 2y agoMy first machine was a 286, so they have a special place in my heart. It should be pointed out that the clock speed of an ATMega328P (original Arduino / Arduino nano) is nearly exactly the same as an 80286. Two of the same could easily outcompute a 286! You can buy them for ~$3 at the moment... I've put plenty of AVRs on ethernet - and once, a 386, using an ancient DOS TCP/IP stack, but never a 286. Linux doesn't support it due to requiring an FPU. It'd be fun to design the electronics for an old-style computer, but IMHO it'd be far more amusing to do it from scratch with an original architecture than try recreating a third party motherboard using a similar layout scheme. Something with parallelism and auto-scaling would be quaint.
- einr 2y agoI've put plenty of AVRs on ethernet - and once, a 386, using an ancient DOS TCP/IP stack, but never a 286. Linux doesn't support it due to requiring an FPU. mTCP (http://brutmanlabs.org/mTCP/ http://brutmanlabs.org/mTCP/) is a currently-maintained TCP/IP stack for MS-DOS that will run on any PC, 8088 and up. You also need a packet driver for your NIC. 286 machines are easy; nearly any 16-bit ISA NIC will work. XT-class machines are slightly trickier because not all NICs will work in 8-bit ISA slots and some packet drivers use 186/286 instructions.
- WarOnPrivacy 2y agoFull nostalgia for me: The keyboard bios bricks itself, if I unplug the keyboard while the system is up. Old days were hard before USB showed up.
- lproven 2y agoI do not understand why there's an ISA memory card. The 80286 can only address 16MB of RAM. Why not just fill the memory map as standard, then there's no need for SIMM slots or any other memory expansion? Give me a few Upper Memory Blocks for DOS, and provision for 32MB of EMS as well, and frankly for a DOS machine there is nothing left to add in terms of memory. How much is 48 _megabytes_ of RAM in 2024? 5¢? 10¢?
- NikkiA 2y agoI bought 16MB of SRAM for a Z80 project a few weeks back, they were £3/4MB(32Mb) chip
- lproven 2y agoThanks for that! More than I thought, but still, a relatively small amount for what will work out as a quite expensive retro build.
- rasz 2y ago>How much is 48 _megabytes_ of RAM in 2024? 5¢? 10¢? about $500-1000 https://eu.mouser.com/c/semiconductors/memory-ics/sram/?memory%20size=114%20Mbit~~1%20Gbit&rp=semiconductors%2Fmemory-ics%2Fsram%7C~Memory%20Size https://eu.mouser.com/c/semiconductors/memory-ics/sram/?memo... >Why not just he said the magic words!
- moosedev 2y agoThose are SRAMs. A 286 system wants DRAM, which is usually a lot cheaper. https://www.geeksforgeeks.org/difference-between-sram-and-dram/ https://www.geeksforgeeks.org/difference-between-sram-and-dr...
- rasz 2y ago286 doesnt want anything, CPU is ram agnostic. Project author didnt want to mess with implementing DRAM controller, not that its difficult. Here a simple 16 bit controller realized with ten 74xx chips https://amigaprj.blogspot.com/2013/05/amiga-fast-ram-expander-with-simm.html https://amigaprj.blogspot.com/2013/05/amiga-fast-ram-expande...
- NikkiA 2y agoI'm not so keen on putting the RAM on the ISA bus like that; assuming that the ISA bus is standard and thus 8MHz, it's going to slow the system down unnecessarily.
- PaulHoule 2y agoWhat I remember is clones of the IBM AT taking over because they delivered such unprecedented performance for the price. In the "8-bit" age of Apple and Commodore we looked up to minicomputers like the PDP-11 and Decsystem 20 but AT clones could surpass them and soon the 386 would surpass the VAX although it would take most of a decade for 32 bit OS to become mainstream. When I was in high school I developed some software for a teacher on my PC, was a little shocked to find she was still running CP/M. It was no problem at all because I could emulate a Z-80 on my AT clone at 3x speed!
- bombcar 2y agoPeople forget that the jump from "no computer" to "any computer" is so huge as to be unprecedented. It was very common to find ancient computers just being used for work and word-processing, etc, up to and into the Internet era. The Internet was what mainly pushed those aside; once that really took off it became a question of "can you connect" and if you couldn't, an upgrade started looking really good.
- Brian_K_White 2y agoThe license needs work. It claims to be GPL3 but then includes terms which completely violate GPL3, and GPL is not really applicable to hardware in any event. It's really some form of CC-BY-SA-NC plus some more limits about "safety" which is impossible to define and prove or disprove and none of the creators business. Basically it's almost untouchable until the terms are actually defined and made sensible. Even the simple "only for hobby/personal/educational use" is internally inconsistent because education is itself a commercial activity. Trying to say too much in the license is just wasting an exceptionally cool project. Just make it CC-BY-SA, add the warnings and disclaimers, and leave it at that. Only add the -NC if you want to sell them and be the only one allowed to sell them. If you aren't planning to sell them as an important part of your own livlihood, then don't add -NC, it doesn't make the world a better place.
- _hyn3 2y agoNot sure why you're getting down voted, but you're absolutely right. Cool project though.
- asveikau 2y agoI'm not a lawyer, but what about those ubiquitous statements about how things are "provided without warranty"? It's clear that this guy is concerned about being liable for what could go wrong. Also, I'm not sure if laws and expectations are different in Germany where he seems to be based. Edit: sorry, his domain is .NL, but I thought otherwise because it seems a lot of people he cites working with in the readme have a .de domain.
- snvzz 2y ago>no warranty Even the simplest, most straightforward licenses (like MIT) take care of that much. Nobody would ever want liability for a project they donate to the world as open source.
- Brian_K_White 2y agoThe disclaimers are fine.
- 2y ago
- PaulRobinson 2y agoInteresting side point: I know for a fact of at least one nuclear power station where the control systems are all 286s. They spend a fortune getting replacement parts. Sometimes nostalgia for some retro computing has a potentially useful, practical customer use case.
- leeter 2y agoAFAIK they are required to use very specific certified parts. So while they could in theory use motherboard replacements cleanly I believe that's prohibited because they haven't undergone certification. That said... I think this is very valid and a company that made extremely high quality parts for this purpose could serve both. But, it would mean getting a modern board through FCC and cert and that is an extremely non-trivial process IIRC. If I was going to go down that route I'd reach out to the utilities to see if they will fund it.
- rodneyknaap 2y agoI am the designer of this project, and would like to thank magicalhippo who originally posted here about my work, I appreciate that my work can reach more people in that hopefully some might enjoy seeing and possibly even building it. This reply is for people here interested in the design, who feel a certain nostalgia because I noticed there were some questions which I feel I would like to comment on to make a few things more clear, for interested users here. I started out doing Z80 stuff since the 90s, and did a Z80 PC mainboard. It got me interested in also designing an XT system to learn from this and possibly it could benefit a later revision Z80 system because that was my favorite CPU. I did that until I found that the XT design was sufficiently user friendly and complete. The original XT schematics were relatively complete in terms of the schematics. I have seen some bare PCBs of my design being sold of my XT on a Russian website, which I was happy to see because I hope that anyone enthousiastic, feeling nostalgic about the XT machine and able to do so could have the chance to also build one. Usually you get 5 pieces from for example JLCPCB so there will be some excess boards left over. All the mainboards are not easy and require some skill level and understanding in order to be able to debug any timing related issues. It could be interesting for students for a school project. Next I decided to look at the AT which is a completely different machine, and yet shared many similarities. The big appeal of the AT to me was the fact that the IBM team involved had the great foresight to make the 16 bit AT completely hardware and software compatible to the 8 bit XT machine. When you study the complete design, you can find that this is not a trivial matter and goes deeply into the core of the technology in order to be able to really have true backward compatibility. In doing this, the PC/AT paved the way for the industry standard to successfully evolve from it. The 16 bit 286 is limited but it deserves respect and served its role in giving humanity the PC technology. The clone builders then took off with the standard which has in it's core kept the original 5170 functionality inside it. It's pretty amazing for this machine to have survive in so many iterations of PC technology! To me this is a level of legendary invention by IBM and particularly thanks to Don Estridge. The 5170 is a severely limited machine because it consists of a lot of TTL circuits which are vulnerable to timing problems and difficult to scale up in that configuration. The 5170 and similar TTL chipset boards are vulnerable and error prone in my experience, I tested 4 of these old boards and they all had some issues. In order to get the functionality I needed, I had to say goodbye to the TTL graveyard approach and venture into programmable logic. Initially I didn't want to do this because it's not open, but when I recreated more circuits hidden in the PAL chip U87, the scale of the whole design started to grow beyond what I am comfortable with integrating into a single mainboard, and being able to include some useful integrated I/O. The design files are shared so technically it's also openly known technology just in a programmable form. The CPLD chips are a little large, however they have the advantage of through hole sockets being possible. This makes the design more accessible for people who don't like SMD. There is a LAN chip on the board but it should be left out, my tests were not great, it seems to cause stability issues in the system so I took the chip off again. My design does support the 80287 math coprocessor, I have tested this. Please keep in mind, this was literally my first prototype PCB concept of an AT design, and took me more than a year to develop. Before my work, the AT design was only partially known openly to the world. You can see some MAME files and some previous failed attempts to reverse engineer the U87 PAL. A big and important part was hidden inside PAL chip U87, which is now openly known in a functional schematic finally. Without knowing the logic inside U87, there is no chance to fully know the system and how it works. After the 5170 it's mostly all chipset based AT PCs and these chipsets are not known. After I had replicated a functional 5170, the next goal was clock speed above the original 8MHz. I progressed into 16MHz and then targeted to replace the 82284 and 82288 control chips inside the existing system controller CPLD. This required some level of rewiring finally to patch in an oscillator IC for the new clock signal. A lot of the development work I have done so far is the same as what chipset developers have done before. So I could learn and understand the issues they had faced before in order to get to higher clock speeds and reduce the design in size. Simply replicating the logic in a CPLD comes with a lot of timing related challenges and issues which I have had to overcome in my development. Please note, the original 5170 used a S-BUS or system bus. Directly behind this bus on the mainboard is the M-BUS or memory bus. So in principle it's possible to move the M-BUS onto a card into the ISA slot which is what I have done. Also note, the ISA bus is simply a CPU/system bus and has no real clock operation. It's only limited looking at the system as a whole in terms of how fast the entire system is able to operate. And that limit is not 8MHz. It's much higher, at least 18 to 20MHz, depending on the configuration. My design was originally intended to be a recreation of the 5170, however it turned out to have much bigger potential far beyond that design thanks to the CPLD chips. My design is not DRAM based, it's SRAM based. So no CAS/RAS involved and no refresh. I removed all refresh functions which are not needed and to some extent free up the CPU for a few more useful cycles per second. The next step I am working on now is a combined 286/486 system which can swap the CPU. The 486 function will be at some level in 32 bit so it is planned to support all the faster DX2 and DX4 CPUs which evolved. I will use BGA FPGA chips which have much higher integration capability and higher clock rating. This design is in the same spirit as the first revision prototype, to redo the development which was done in the 90s, however I am using more modern technology which was not available at the time. However it's about the technology at its core to be openly known and published finally, and not being lost in time because of original machines dying off. Doing this design can preserve the historic technology in a reproducable form, it's fun to me and also allows to explore the further limits and efficiency of these CPUs, hopefully the FPGAs used will be able to do this in previously unseen levels. I will be using some modern RAM like DDR or such and let the FPGA control it and interface to the legacy CPU. That's the idea. Imagine running a 486 with the full memory in the same speed as cache chips. I don't know if that's possible but I will attempt it. For more details, check out the VCF thread. The new 286/486 development follows in the same thread which started with my 286 PC/AT design. In GitHub there are separate projects published for each of my design iterations.
- burnt-resistor 2y agoNeat. I happen to have a collection of 25 MHz "brain-dead" 286 processors and 287XL and 287XLT coprocessors. I'm thinking about creating a board that puts all of the glue logic, bus transceivers, support peripherals, and BIOS into an FPGA so that board would be extremely minimal. While inauthentic compared to the original 5170 AT, it would be far more flexible.
- ForOldHack 2y agoWill it Boot Xenix 2.2.1e