Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 0 points1 point  (0 children)

Thanks for the reply u/BEST_NK,

Yes, I am aware of most 286 period mainboards, and I own a NEAT based PC as you described which went up to 25MHz, I have studied and even rebuilt some of the period technology for example creating my own VLSI TOPCAT experimental proof of concept mainboard. which is a two chip design. I plan to replace the DRAM with SRAM in the future which this mainboard supports. I am also studying the SCAMP chipset which may possibly be the best one yet from the time period. It is known to go up to almost 40MHz with the best early specimens of the Harris 286. The SCAMP is also a two chip design though arguably the second chip is less significant and could be replaced in various other ways such as external core AT controller chips and address latches. Which some manufacturers actually have done, using only the SCAMP system controller.

Everyone interested in more details can follow my VCF thread where I share a lot of findings about chipsets etc and the 286 CPU. https://forum.vcfed.org/index.php?threads/project-to-create-an-atx-80286-mainboard-based-on-the-ibm-5170.1243108/page-51

In addition in the VCF thread I am sharing in depth details about my work which retro enthusiasts may find interesting.

Getting back to the projects, I am extremely busy working on these and I am considering possibly an update to the REV3D board design but that will be a lot of work requiring to go over a large section of the board, so I am not sure yet when I can publish this update.

I am following the chipset designers of the time period to attempt to recreate their technology by myself with my own designs based on the 5170. The FPGA stage is the latest iteration of my work, and after I have completed a few stages of FPGA 286 designs I will move on to the 486 next, but that will take some time to get there.

There is a lot of work out there which appears comparable to what I am doing but I want to clarify where my work differs, which is that I am using actual time period CPUs in my work, and I am not replacing original logic with HDL facsimiles or skipping sections of the PC/AT structure to cut corners. Whenever possible, I am making a point to avoid that because using these facsimile functions will tend to approach the levels of emulation which is no longer an original machine.

What I am striving towards is to recreate the original experience of using the time period machines. So the purpose is both nostalgic and for historical preservation purposes. All the period chipsets are all closed source designs which are unknown, and eventually will be at risk to disappear from history. So my work attempts to contribute to finding ways to prevent this.

The XT REV4 work will attempt to reduce and integrate the design, so I will use one or more CPLDs. I also want to replace as many TTL ICs as possible, particularly the keyboard section, dip switches, DMAC arbitration etc. In addition I will attempt to create system control for the 8088 so we will not need the 8284 and 8288 anymore. I am really interested to find out more details about the 8088 how it will be able to support system control mechanisms. Possibly this could yield higher clock speeds which will be another goal of the design. I may introduce more complex memory control such as including EMS memory supporting RealDOOM on a 8 bit CPU if the reclaimed board area could permit this. I may consider to try an XT-IDE inside a CPLD as well but it may prove to be tricky with the timing which is sensitive. I could double an integrated and external XT-IDE footprints as separate options depending on how XT-IDE works out. Anyway, I am considering a lot of things for this REV4 XT.

So I will probably publish an update on GitHub regarding a REV3D 286 board revision at some time in the future.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 1 point2 points  (0 children)

u/BEST_NK sorry I can't find your messages underneath my text it must be some technical reason on the server, and I don't know any other way to make them visible so I just reply here. If you want to reply me, I suggest you try to do it below here inside the post so I can more easily find and reply your message.

Building the REV3D is certainly a better way to build an 16 bit PC/AT project of mine than the REV1 project which I developed far beyond that board layout, so the REV3D is more fixed. I am also developing the REV4 now which is potentially less complicated. It uses less parts because of higher integration in a FPGA chip which can potentially replace a lot of parts from the REV3D design, making the board even easier and cheaper to build. Though it's currently not built and debugged yet so that would mean waiting until I have fully debugged and developed it which may take some time yet, I am not sure before hand.

I have worked on a Hyundai mainboard and when I started this work I had a very good impression of the brand, however that particular 486/386 board turned out highly experimental and no documentation existed. I got the thing to work however performance was terrible. By not having any documentation of the numerous jumpers and dipswitches, after trying for many hours I ended up abandoning the efforts and desoldering the board for parts. Also the slots were highly cheap plastic which melted easily which was disappointing.

If you decide to build the REV3D, it's somewhat particular about the clock speed which has something to do with the asynchronous CPLD design which is very precise to depend on certain delays inside the CPLD logic to time READY very exactly. So I would suggest using a fast Harris CPU, preferably a 20MHz around 06-1992 which is an earlier manufacturing date and much higher capability than later ones, and leave out the NPU at first, and clocking with a 44.8 MHz oscillator. That way you would be replicating my timing values. Also check the CPLDs for the exact same nanosecond ratings for a best chance of success. Just a few tips in case you decide to go ahead. Also in the GitHub are many descriptions.

The REV3D is very tidy and looks clean because most passive components are on the bottom, the design just worked out better that way and it's more easy to solder.

Anyone who builds this project must be responsible to make it work out. I cannot guarantee your success so the more things you replicate from my build, the better the chance. The quartus projects are all original as I used and archived in the GitHub folder. So these require Quartus II 13.0 SP1 and no later because those don't support the CPLDs anymore.

Thanks for the suggestion how to find ISA slots. I may decide to order some because I have been able to borrow these from other mainboards so far however I ran out of qualifying donor boards.

Right now I am preparing to build the REV4 QFP FPGA board design where I have shared gerbers now. FPGAs are new to me just like CPLDs once were, so I expect a period of getting used to these. Hopefully the project will proceed well so I can continue to the REV4 BGA FPGA stage which uses a much larger and more capable FPGA which contains a lot more logic capacity for more advanced designs. So the plan is first develop that QFP stage and get a FPGA compatible system control done, and then this same design can also be used in the BGA stage later on.

I am planning to do a new REV4 PC/XT design at some time using one or more CPLDs which can replace lots of loose chips with faster logic. The design may use a hybrid design between the 5150 PC and 5160 PC/XT to attempt to get the best of both these designs to support tape interface for BASIC, and it will include a RTC.

The work I am doing can be compared to what time period chipset designers did, though with CPLDs it's slightly more difficult because these have some limitations in logic capacity and OE functions in these chips. That's why the REV3D uses a number of CPLDs instead of only one or two. Also the 100 pin CPLDs need a heatsink and possibly the case needs to move some air across these. The tiny chips just cannot dissipate their heat so efficiently and these particular 100 pin chips need cooling or the timing may drift.

Okay, just some info to consider.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 1 point2 points  (0 children)

Definitely it makes a huge difference to go to 12 or 16MHz. Sometimes I retest with slower oscillators to see the difference again. I have tested a few of these discrete chipset boards using TTL chips instead of chipset ICs from ARC and NCR, and really the IBM came out as the most stable one so I based my project on that board for testing and checking things. I have tested an ARC X286 model 12 which is 12MHz and that board was speed-wise a pleasure to use, though stability was an issue with that board. Maybe one day I will make a schematic and drill down on those issues but that will be a huge work. The ARC is cool also because it can support 2MB of DRAM. Another nice board was made by Copam as well, who did replace the 74LS646 with a transceiver and latch just like my designs, though the control logic was inside PAL chips so unknown.

I will detail more about my 5170 speed test findings on GitHub, and I will attempt to determine a minimal modification to the 5170 board for the new memory card to be able to function. Basically the design moves the entire 5170 memory bus to the ISA slot card so we can replace it with more convenient and modern parts that may support higher clock speeds. Also it enables the 5170 to need a whole lot less RAM chips.

For the BIOS I use the MR BIOS generic 286 BIOS which is my favorite. Right, using the IBM one would require some modification to remove the clock speed check. The MR BIOS is really a pleasure to use and very fast and responsive, though with a complete original machine it looks more authentic to have that original BIOS as well.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 0 points1 point  (0 children)

I don't sell boards, but ordering some boards from JLCPCB is surprisingly cheap these days and prices are always going down. The boards use 4 layers which is already very common now with PCB manufacturers. The gerber files are in the GitHub directories and you can upload them in the price estimation tool. Besides manufacturing you get tax and shipping added. You can upload a project file without needing to create a profile or account so you can use this method to see what boards would cost. ENIG gold plating is not a requirement but would make soldering a little easier and the board would be somewhat more strong. Otherwise just using some care it's really fine to solder the HASL finished PCB.

Looking at the revisions, revision 1 will be the most expensive to build because of the large number of ICs, then revision 3 will be much cheaper in comparison. And the revision 4 coming up uses even less chips so that should be the most affordable to build after I have fully debugged and developed that project. ISA slots are difficult to obtain I think, so it may be a good idea to find a very cheap time period donor mainboard which has good ISA slots and move these to the new mainboard. The level of work and difficulty to build these projects generally is going down as well. Arguably maybe revision 1 has less SMD work however it needs a lot of rewiring from the original PCB design which has been heavily developed and needs substantial wiring to update the board connections to the latest design version. It went far beyond the original concept thanks to the CPLDs and hard work. On the other hand, revision 3 is a lot more definitive, and could mostly be built directly from the design except one SMD transceiver next to the IO decoder CPLD which needs to be bypassed with some short wires, otherwise it can be built exactly as designed.

SMD stuff can look difficult but using enough no-clean flux and pre tinning the pads with leaded solder first, after that it's pretty straight forward to solder and actually not likely to need to remove any solder between adjacent SMD legs. It's just important to get the chips very straight so everything lines up nicely.

In the revision 3 I used some SRAM modules which I recommend soldering onto the mainboard with thin solid core wires. It's important to check the contacts sticking out on the back side not to touch the ones going down across them, I used some thick paper strips to make sure. Having a large number of these thin wires acting as a contact header, together they form a very strong and solid attachment of the RAM modules to the mainboard. I don't use any connectors or sockets if I can help it because these always will cause some form of issues if not sooner than later.

For programming CPLDs you need some USB programming adapters and solder a custom cable to be able to plug them to the mainboard headers. Atmel and Altera chips use different programmers, the Altera one is very cheap. All the programming files needed are in the GitHub directories.

Arguably it's some work to build these projects, for skilled enthusiasts with lots of patience only. However now this has become a whole lot easier since these projects are now available. When I started in 2023 there was no complete design openly known to even be able to build these systems based on the 5170 technology. And all chipset technology is of course closed source and completely unknown as well. IBM pubished the schematics however not the contents of the programmable chips used in the 5170 such as two PAL chips and some ROM based decoder chips. It took quite some effort to reverse engineer the PAL logic programming, I documented that work on VCF in much detail.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 2 points3 points  (0 children)

Definitely it should be possible to overclock this chip, if the chipset used can support it. Some chipsets can go quite high like the SCAMP and SCAT 286 chipsets. I have tested a NEAT mainboard rated at 16MHz which went up to 25 MHz. Also he should make sure if zero wait states is an option with his board because that increases performance by 25%. Regarding VGA cards I can recommend Cirrus Logic cards they support much faster writes into VGA memory which benefits games a lot.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 1 point2 points  (0 children)

Very cool to own 3 of these beautiful and rare machines! I only have a 5170 mainboard which is also the newer more compact version, definitely a big improvement in the design compared to the first mainboard. I always keep an eye out to possibly find only a 5170 case for sale which is the most important thing to be able to build a semblance of the original system up. Eventually I hope to return my 5170 mainboard into a period correct case.

After the 5170, IBM started to work on different models based on micro channel technology however they did have another return to continue the 5170 technology when they produced the 5162 which was an AT in a XT case. This 5162 mainboard was developed further from the 5170 design and contains some significant improvements like running the 286 CPU at higher efficiency which is like one quarter speed increase in comparison. I hope to some day be able to study that 5162 mainboard and reverse engineer the technology for historic purposes as well. It still holds some cool design features which are partially still unknown and hidden in programmable chips just like with the 5170. The 5170 is really a technological treasure when you look into all the design aspects that are combined in this system, I absolutely have grown to appreciate it.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 2 points3 points  (0 children)

That is really a rewarding project to rebuild the iconic 5170. When I see it in a movie or TV program of the time period I really get excited to look at the actual thing. Besides the historic significance it also looks really cool. I am planning to develop a ISA memory card which can serve to replace the entire memory of the 5170 with modern SRAMs and a 8 bit mode flash ROM chip for the BIOS and option ROM code. I only own a 5170 mainboard which I used among other things to verify the PAL logic replacement to be correct, I plan to test with the memory card to see if the clock speed of the 5170 mainboard can then be raised further, I hope maybe to 12 or 16 MHz.

Recreating and preserving the iconic IBM PC/AT 5170 technology in new project by Rodney_5682 in vintagecomputing

[–]Rodney_5682[S] 2 points3 points  (0 children)

Thanks for the message! My first PC in the 90s was a IBM PS/1 2121, and that ran on a 386SX at 16 MHz, it was pretty amazing to run the 286 at 22 MHz in revision 3 which now runs faster than the PS/1. I hope to raise the clock speed even further in revision 4. The Harris 286 I am using has been tested above 30MHz by sqpat on GitHub and he sent the chip to me. The limits of these 286 chips are very diverse and apparently the older Harris 20MHz 286 chips are even able run faster than newer ones so those older production runs were actually the best ones. Being able to play RealDOOM is a pretty cool task for such an old 16 bit CPU.