• Please review our updated Terms and Rules here

Project to create an ATX 80286 mainboard based on the IBM 5170

rodney

Experienced Member
Joined
Jul 14, 2022
Messages
258
Hello everyone,

I am preparing my project to recreate a discrete 80286 AT PC based loosely on the IBM 5170.

I want to design an ATX form factor and ATX PSU powered 80286 mainboard which has an integrated design
for the usual interfaces such as floppy drive, IDE, serial, parallel, LAN, SCSI etc to be included onboard.

I recently bought a NCR PC-8 rev 0 mainboard which is very similar to the 5170, it was in bad shape and
a terrible factory soldering job. Unfortunately during testing I could get the mainboard running but not stable enough.
In fact, it was only getting worse and worse while there are no faulty components at all. Finally I have to conclude
that this 4 layer PCB is simply having broken traces caused by the terrible factory soldering quality. It's simply a waste
of my time to work on this PCB which doesn't even have a schematic. So I am abandoning this European made NCR PCB
as my reference for my project. I just don't trust this mainboard to be of any help through the process I am facing.
I will desolder the ICs and slot connectors so I can use them later.

So it's back to the drawing board for me. I can now do two things, either I find another 5170 or clone 5170 mainboard
which at least is working reliably, or I go from the IBM schematics completely. Which is possible, however it may
require more revisions to get it completely right which will be a whole lot more work for me. Designing a fully
integrated mainboard is really a not of work which I hope to not have to do too many times over. Even building and
testing will be a real challenge because of timing issues which I expect to come up. I hope I will still find a better
example mainboard to test and study in more detail and keep as a reference for testing certain circuits.

Anyway, I was wondering, are there some experts here on the 5170 who have experience repairing and troubleshooting
this system? I mean, are there any members of this forum who are closely familiar with the 5170 schematics and design?
Who have seen many symptoms of malfunctions and are familiar with those from back in the day, or even from working
on these systems recently?

And who would be willing to help me if I have some questions? If you are interested in my project and would like to see
it come to life, please reply here, I would appreciate it very much. I know that there is a definate chance that there is no
interest at all in what I am doing, if so, I can understand and will make it my personal project just for myself. I will probably
not need too much help or time of yours, but it may help if you are familiar with issues I may encounter.

One of the things I will do is to strip out all DRAM logic. I will simplify the design using SRAM memory. The memory will
not include any parity checking which I believe may even free up some CPU bus time. There are several programmable
logic ICs such as:
- U72 - 28S42 PROM
- U87 PAL 16L8
- U130 PAL 16L8A

Does anyone have the programing files for these?
Probably I will not be needing U72, but I would appreciate to have it anyway.

Basically what I want to do is to build a most basic AT system which I find to work reliably and 100% stable without any issues.
Probably it is only going to need a VGA card, soundcard and drives of choice to have a complete system, nothing else.

In the future I may want to try using a 386SX or a TI 486SLC CPU to develop an even faster discrete AT system based on those.
But I can't skip this first step with the 5170 based system before I can get further.
I just want to see how far I can get in building PC recreations without actually using a chipset.
I know using a chipset will surely function but that is not really a challanging or satisfying goal to me.

The 5170 is a strange and quirky design, but I have a feeling that I am going to love to use it once it's up and running in my
recreation. And after all, it was the industry standard anyway, so that's worth it for the experience to be able to run many
different classic software on it.

How long this project will take until completion really depends on how many steps I will need to take.
If I had a reference PCB, I could try to replace certain circuits, especially testing the new SRAM and redesigned memory
decoding logic. Being able to test this and other things first on a know working system will be a real help in preparing my own design stage.
So I will still keep an eye out for finding another mainboard. That is definately not going to be cheap.

Kind regards,

Rodney
 
I like this; I'd buy one and hope someday someone even takes on a reproduction ATX 486 board.
I don't have any the hardware skills to contribute, but I'd be good at things like troubleshooting the BIOS.
I note there are several ATX 8088 projects at this point; I bought one of the Homebrew8088 boards.

My understanding is that the biggest pain point for moving up to an 8086 or 80286 design is having to intercept accesses from the CPU to 8-bit peripherals and split them up appropriately, and that after the original AT the clones quickly moved to purpose built chipsets like the NEAT. I don't know if those PROMs and PALs on the IBM board have anything to do with this functionality.

I assume you'd have the ISA slots locked to the CPU speed like the AT, so an 8 MHz or 8.33 MHz design would be best.

If you're willing to move a bit away from a faithful reproduction I wonder how much of the "chipset" functionality can either be moved to lookup tables in ROM chips, FGPAs, or microcontrollers.
 
Hi Makefile,

It's nice to meet you here, and I appreciate your offer to help, thanks a lot.

About homebrew 8088 since you mention this I like to elaborate on that. I also saw some other projects, some with a chipset even.
And I saw some designs that made less sence to me, but perhaps it was simply the schematics not being very logical.
Well, mine is perhaps most similar to the Taiwanese clone turbo XT versions, but with some changes and additions of mine.
Like I replaced the turbo circuits to be keyboard controlled only, and I set all the clock frequencies of the PC keyboard, timer chip and DMA controller to fixed frequencies on a separate frequency divider of my own design to obtain 50% duty cycle clocks. Both are different in my design from the typical turbo XT clone machines which have rather strange clock circuits which I feel are needlessly complex. Turbo switching is stable at any moment without crashing the PC. Also I made my own RAM/ROM memory decoding circuits and I mapped UMB blocks with jumpers so the DOS TSR drivers can load into 128k of UMB area. The BIOS has two 64k pages switchable by jumper. I use those to switch two versions of the FDD BIOS by Sergey, one for a DD 5,25 inch drive and one for a HD 5,25 inch drive, becuse I have three floppy drives to be able to reliably use any type of floppy disks. Both versions use a 1,44 FDD as the primary floppy drive.
Further, my mainboard includes LAN, SCSI, FDD and IDE onboard. And I am not using any chipset or custom logic, only standard logic chips.
And I modified some of the IBM circuits, while staying true to the X-Bus operation to function exactly like an IBM XT.
Also I kept the traditional keyboard circuits of an XT just because I prefer to use those since it's an XT. I feel it's actually cool to control a keyboard without an actual keyboard controller chip on the mainboard. I feel the keyboard is very fast and responsive. Maybe it sounds strange but I simply like this design a lot and I have grown fond of this PC. It's convenient to use SCSI for large file transfers and backups, and I am using XT-IDE BIOS with a mechanical laptop large IDE harddisk, even though I only formatted 8GB of the drive, however I am able to access it using a USB to IDE adapter on my W10 PC so the XT-IDE BIOS is doing a great job to control the IDE harddisk in the standard expected way.
You can see my XT here.

I have tested many cards like soundcards, LAN adapters, SCSI adapters and various VGA cards, these all function properly on my XT so I feel that the design is quite compatible with the industry standard. The only downside is that not all DMA controllers work fully for formatting floppy disks. Only 3 of my 10 chips from China met the timing well. It's funny that the Intel ones didn't work well but some NEC ones did.

About the ISA clock frequency, I will see what's the best way to do it and what would be possible to do. I do want to get the maximum bandwidth in a stable way on the ISA bus, especially since it's now 16 bits wide. In a future 486 16 bit design, I could do some tests like for example to see how fast Doom could run on it. It could turn out slower though, who knows. I like it when a 16 bit system may support a 486 type CPU, even if it is a slower type. I mean, to get this system running without a chipset seems like a kind of challenge.

Anyway, I am at first planning to simplify the 5170 as much as possible, but I don't exclude that I may require some programmable logic for faster timing, especially on the DMA handshaking. As I said, I feel the 5170 is a quirky design, especially the DMA part of it. I read somewhere that the DMA controller is especially needed because it's better able to interface with a floppy drive controller's timing requirements. After all, a floppy drive controller is not exactly a super fast IO chip which needs DMA to keep up with the data flow due to the slower floppy data rates and timing which apparently is not so suitable when using an 8088. In some previous Z80 mainboard I made for example there is no DMA used at all and the floppy interface works fine.

I can live with IBM's 5170 "secret sauce" circuits being there in the system, though I will change some small things like changing logic and removing unnecessary areas, but I am not liking to use PROM chips for decoding purposes, I feel it's not so great, so I will try to remove those from the design and replace them with PAL, GAL or small CPLD etc. but I will still try to minimize those at first stage. However I may be needing some sort of references. Even if it's only the programming files for the programmable chips, so that's why I mentioned those. I also didn't like the NCR PC-8 because it uses different lines on the programmable chips, and all ICs are differently numbered, and there is no schematic. It's all rather difficult really and would have required much extra work. But if it were stable I would have used it anyway and just document the differences and continue from there. Also I wonder if I can replace the more rare 74LS logic like the 74LS646 and the 74LS612, that would be something I prefer to do.

I will wait to see how much interest there is for this project, I will keep you in mind for starters.

Thanks again, great to see your reply Makefile, troubleshooting a BIOS is a super useful skill!
Any help will be appreciated.
I am really not experienced in programming so it's a big plus and I am happy with your offer.
In the past I tried to change some options in the phatcode XT BIOS sources but many of the things you can configure will break the ROM image and not work.
So I just kept the original settings which compiled properly. I think the reason is that the BIOS will not be able to fit within an 8k block. Which is not really necessary anyway since we have a whole 64K area available in the XT system, I would be happy to dedicate 16k or more if it made sense.
When I look at the phatcode XT BIOS in operation, I am really liking it! Especially when I compare it with the limited phoenix BIOS which came with my Taiwanese XT clone mainboard, it's a huge difference.

Anyway, I am really looking forward to this AT project and I am willing to make several revisions to get the best results.
Just like I tried to make the best XT possible(in my view) before on my previous project.

Recently I found the GLaTICK project here on this forum by user 640K which is a great project too, if I could get this to work on my XT it would be an even more complete system. Even if I would put the RTC on a card. Like others who don't have a RTC on their XT, I am now using LAN and mTCP to sync my system time and date. I tried a DS12885 RTC before but it simply refused to work with any software I could find, and I tested many of them. Even though the datasheet claims it's a drop in replacement for the MC146818, in my NCR PC-8 it refused to complete posting! The PC-8 only produces screen messages using for example a ATI Small wonder card and a composite monitor where I was able to see the message about the CMOS error in POST. Strange enough, a 12887 with a dead internal battery was working on my PC-8 mainboard so it seems to be clock related, which is generated internally on the 12887.

kind regards,

Rodney.
 
I like your plans for this project too. It would be really great to be able to build a 286 PC from scratch. Unfortunately, I wouldn't be able to help on the hardware side of things. But, I wanted to show you there is interest in your project on this forum.

Also, regarding your XT PC project: I saw you used a vintage CPU because "there are no modern equivalents of course." Were you aware of @MicroCoreLabs' 8086/88 drop-in replacement?

https://forum.vcfed.org/index.php?threads/drop-in-8088-cpu-emulator-for-the-ibm-pc-mcl86.1237413/

It would allow you to use one less vintage component and provide you with more flexibility and options for diagnosing some of the compatibility problems you've run into with your design. All the plans for building one are here:

https://github.com/MicroCoreLabs/Projects
 
Hi acgs,

Nice to meet you here and thanks for your message.
A show of interest is also an encouragement for me, thanks.

What I commented om my website was about the CPU, and also about the DMA controller, interrupt controller, timer chip and intel support logic for clock and bus control.
I really hope that there can be some recreations in modern form so thanks for your suggestion about the CPU emulation project!

I have downloaded the project details you mentioned and read the descriptions.
I can see that only a few 3.3V 573 latch ICs are needed.
This project is really interesting, thanks! I will get some teensy PCBs and make an adapter PCB when I have time.
The MCL86+ project seems worth testing further!
I will study the project and read the forum page in more detail soon so I can know the operation more closely.

Recently with my testing work on the Rev 3 XT and broken AT PCB I again had a look at the 8237 DMA controller.
This chip is so sensitive and can lock the PC even by touching the plastic case of the chip. The timing is very delicate.
So I would be really happy to one day find the 8237 in emulated or FPGA form, and hopefully with much more stable operation and better timing response.
This may also benefit an AT 80286 mainboard later. The DMA controller is really the most critical and sensitive part of the XT and discrete AT design.

Thanks acgs!
 
Hello everyone,

An update on my project status:
Today I bought a new reference mainboard similar to the 5170.
It's the American Research Corporation X286 Model 12, I attached some photos.
I paid around 140 euro including shipping, which is a lot better than the horribly expensive prices for IBM 5170 boards I
have seen.

At first I was apprehensive and hesitated to buy this mainboard because of the small wires on the back of the PCB,
but when I saw other photos of the same mainboard which also had these wires, so it looks like a factory modification.
Which is also not great, but at least I don't need to worry about broken traces or bad desoldering work or anything.

This board is a lot more tidy and complete than my previous NCR mainboard with the bad soldering bath warps on the PCB.

The DRAMs are missing on this ARC one but that is not a big disaster I believe.
I have some DRAMs but I didn't have a method for testing them properly.
So I hope no problems there, we will see.

Once again I would like to ask the members who see this post, can you help me in any way with:
- schematics from American Research Corporation
- contents of the programmable logic ICs on this PCB
- experiences with the board?
- I saw an Intersil LED display interface chip, does anyone know the schematics of the plug in board for this?

Of course, I can figure everything out by myself, but this will delay my project with extra work.
I mean, drafting a whole schematic from this PCB first and then draw up a completely new schematic with my actual design
after that, I will do it if I must! But I prefer a different route which is slightly more comfortable to do.

For anyone interested in my project, please comment here and let me know, also if you can possibly help me with this new
reference mainboard.

Next step will be testing the mainboard when I receive it in the mail.
If all goes well, I will get on with first drafting an exact schematic of this PCB and documenting the programmable ICs I need
for reference.

I will be using that schematic as an inspiration for my own new version of this mainboard.
Of course in a ATX standard format which can be built with any modern or classic PC case which supports A full size ATX PCB.

I also need to buy a new hot air soldering and through-hole desoldering iron since my current cheap Chinese ones have died
from all the work. I crudely modified one desoldering nozzle which melts away after one day by integrating a Weller
desoldering tip into the nozzle. That "merged" tip has lasted well and still fine now even the desoldering station itself is dead.
The hot air soldering iron I killed it myself by accidentally leaving the heat setting high with too little airflow.
That will cause it to quickly overheat and die.

Thanks for your interest, see you next time!

Kind regards,

Rodney
 

Attachments

  • back_detail.jpg
    back_detail.jpg
    615.3 KB · Views: 43
  • Front.jpg
    Front.jpg
    529.2 KB · Views: 46
PS., I will be testing those Mitsubishi 8237 DMA controllers in my XT mainboard, I am very curious about the DMA handshake timing responses to see how compatible they turn out to be with my designs!
 
Why you don't just use schematics from IBM Technical Reference document? Maybe it's stupid question, I am sorry.
 
Why you don't just use schematics from IBM Technical Reference document? Maybe it's stupid question, I am sorry.

The IBM design would require changes to be made to use today's power supplies and fit properly in today's cases. The IBM PC/AT (model 5170) wasn't an ATX board. Also, this new project is planned to have floppy, hard drive, etc. interfaces built into it, which the original doesn't have.
 
Thanks for your interest and replies. The point Hpela raised is correct, I do view the IBM 5170 schematics as a valid source for my project.

However of course it's not that simple though, there are several issues involved in my project, as acgs also commented.

One of the biggest issues I have with the IBM 5170 is that it lacks a proper independant power on reset circuit, and depends on the power supply "power good" signal to provide a reset mechanism for the entire PC. I just feel that a proper independant reset circuit is a must-have for any computer design. When I did my ATX XT project I made a point of it to do a proper reset circuit, which keeps a steady fixed delay before releasing the reset line. Additionally there is a separate reset input which I feel is also a must have for any PC. After all, resetting a PC is much more gentle on the whole system than numerous power cycles, especially during the prototyping and debugging phase.

Another thing is, simply the schematic alone is not a complete design source, as there are also programmable logic ICs involved. IBM used those, and also several discrete AT clone mainboards clearly show a similar approach which depends on some PAL chips and PROM ICs for decoding purposes.

Having at least the IBM 5170 schematic(which we do have) and a working board is my absolute minimum situation I will be starting from.
Once I have found and bought a working and reliable mainboard that can pass all my tests and proves reliable, I will have enough for a starting point in my development process. I will then assemble a full schematic using methods I have seen which involve reading the PALs using a programmer in large ROM mode, and after saving the resulted code, using some software to analyze the results and assemble the logic formulas in the PALs. Only then I have a fully documented starting situation to work from. From the fully assembled schematic, including the PALs I will draft new improved versions which strip out the refresh and parity checking since I will be using SRAM memory. I will not even bother to include those refresh and parity circuits in any schematic draft because I already know it will not be used in my final design anyway. I did it the same way with my XT.

Having a reference mainboard is really something I will not skip. I even will not start the project at all until I find one. I will do a lot of checking and verification to rule out problems before hand, as I did on the XT design as well. Also I am hoping to find a slightly more modern and innovative design as a reference where already some improvements may be present. Just like for example having my Turbo XT mainboard example instead of a normal clocked mainboard. I just want to see some more ideas and variations to have some more inspirations for my new designs. But even if I can get an original 5170 mainboard, it will be sufficient to at least get started on my project.

I have been unlucky with the badly manufactured NCR PC-8 with a 4 layer PCB which was extremely warped by the soldering bath, and the ARC mainboard which at first seemed to be a great example and work very well, when only one unexpected power loss was enough to render it totally unreliable. I am just happy to having discovered that before being well into the process and then needing to start over.

My project will happen, however these early "discrete chipset" mainboards are extremely rare when you compare them to the countless chipset mainboards available everywhere. I have even done some deep searches on Ebay to find mass sellers and checking all their inventories on Ebay. So far I didn't find any promising example yet. Mostly it's overpriced boards which even weren't properly tested. Especially if it's from IBM, the price is often double or more. After two fails, I am down a lot of money and still can't start, so this third time I will not be gambling on untested mainboards en I will be holding out for a proper one.

My 286 project will also be released on GitHub after completion when I find it reliable and finished enough to release, just like I did with my XT.

Thanks for the responses,

kind regards,

Rodney
 
Hi Timo, thanks for your reply.

Definately to copy the whole design of any source is indeed not my plan. I want to do a more modern "wish list" version which includes all the interfaces to make using the PC conveniant and easy. And I will probably be using the MR BIOS for generic 286 mainboards. I know at least from testing the now defective ARC mainboard that this BIOS is compatible. So it also should work on any IBM 5170, though I know that many people don't want to do that.

For me, I just want to make a good and very complete mainboard which is a pleasure to use, and if there are options to make it a more functional design, I will explore all of those. I love IBM for setting the standards which was extremely important for history, but definately early IBM systems were not perfect either.

Back in the day, we didn't have harddisks with gigabytes of storage, but now we do, using XT-IDE universal BIOS team's excellent software.
I still prefer a mechanical harddisk over any SSD or CF card, it just feels cooler to use those.

So a resulting system will be much more capable than before, otherwise I don't feel it's worth my effort and work.
When I power up my ATX XT, I just feel it's a well rounded system, as comfortable as you can get with 8 bits.
Except perhaps using an emulated CPU but I am not sure I want to try that, maybe some day.

After getting my first 16 bit PC running, the path forward to faster CPUs may be available as well.
The ultimate limitation of 16 bits is of course in the ISA bus, but definately a faster 16 bit system is something I am planning to explore later.
It all depends on my prototype testing later what the test results will show.
For example a 16 bit 486SLC would also be an option for future designs based on the same 16 bit concept as the 5170.

Kind regards,

Rodney
 
None of that means that he can not use the 5170 schematics as a starting point. Using those does not mean he needs to use the same layout for the pcb.

Of course. I should have added that point, but I guess I thought it was obvious. I wasn't suggesting the PC/AT's schematics were valueless for the project. It seemed to me that Hpela was thinking Rodney's project would ONLY need to use the 5170's schematic.

However of course it's not that simple though, there are several issues involved in my project, as acgs also commented.

Thanks for the acknowledgment, Rodney. This was the point I was trying to make as concisely as possible.
 
As others had suggested, I'd go with the IBM AT schematic. Finding schematic for other boards will be difficult.
MAME seems to contain the dumps of the ROMs and PALs: https://ia902504.us.archive.org/vie...=/1/items/mame-merged/mame-merged/ibm5170.zip

I am not sure I understand the concern about the reset circuit. I am assuming you want a reset switch? In this case a simple RC circuit can be used to generate a long enough delay. Intel 80286 needs 16 clock cycles of active RESET, but it is safe to activate it for longer period. The output of the RC circuit, can be connected to a Schmitt trigger and then to an OR gate with POWER GOOD connected to the other input of the OR gate.
Or, if you want to get fancy, you can use a CPU supervisor circuit, such as MAX690 - MAX695. There are subtle differences between these ICs, mostly regarding the delays and threshold voltages. But all seem to generate RESET long enough for a 286. In this case you won't even need POWER GOOD.
 
Hi Sergey,

Thanks for your reply. And thanks for all your work you have done, very interesting and inspiring. And your HD floppy BIOS is super helpful, I always use it in my XT.
May I ask, how was your experience with the 8237? I seem to remember reading a comment on your site about it.

I also did my 8259s in cascade in my XT, but my BIOS can't initialize this method so for the moment I left out the second one.
Maybe 640KB, the developer of GLaBIOS can help me with this, I recently had a discussion with him about supporting my XT configuration.

Apparently an extended keyboard in XT mode needs some extra BIOS routines to fully work which was apparently already done in the phatcode XT BIOS, but I never realised it because I never had any issues until trying GLaBIOS.
The GLaBIOS will also contain the extended keyboard support in a future revision, he is aware of the issue and it's on his schedule.

Thanks for mentioning about the MAME files, that is a really great tip, very helpful!
I just checked the file list against the schematic and indeed all the PALs and PROMS are present, you are right. I already saved them for later use.

Indeed there are no schematics I have yet found of other simillar mainboards. After I find a suitable mainboard that's stable enough and if possible a little newer than the IBM 5170, I will simply use the IBM schematic as a starting point and verify each schematic area with the working reference mainboard, and work from the differences to compare what they changed and how I want to do it. I plan to make my own changes anyway when I find areas I want to do differently, but I prefer to know some more variations because I'm interested in what was changed and to see what their idea was. And there is another point, I have not yet personally verified that the 5170 circuits are 100% free of any issues as-is, which a working manufactured mainboard does guarantee. Rebuilding an IBM 5170 would also be an option but that's rather elaborate in any case, I prefer spending time on reaching the new design instead. Indeed, if I can only find a stable mainboard which is reasonably priced and that turns out to be an IBM, I will use that as a basis and then see what I want to change from that.

About the reset circuit, this is often something of which the importance is underestimated. Even I used to not pay any attention to that. True, in most cases it will probably not matter, but recently I found that an RC reset is not so perfect after all so I changed the reset to a timer using a counter and clock. The reset period is always 2 seconds. Using custom ICs is also another safe way you can go, but that is something I prefer to avoid if the same circuit could be done in a few standard parts. Later I simplified the power circuits more, but I still kept my reset circuit for good measure, because I feel it's better. I am not checking POWER GOOD anymore, just using the 2 second power on reset is enough for any situation, and more simple.

Great to get your reply and thanks for your input Sergey.

Kind regards,

Rodney
 
Hi Rodney,

The 8237 seems to be quite sensitive to clock frequency and duty cycle. It won't work well above 5 MHz or if the duty cycle is different from 50% (at least at that frequency).
If I recall correctly in the AT design, 8237 runs on half of the CPU clock - 3 MHz or 4 MHz?!
There are some other weirdnesses related to 8237 designed to work with only 16-bit addresses (64 KiB memory), so PC/XT and AT add page registers that generate upper 4-bits in case of PC/XT and 8-bits in case of AT
The other thing is the handshake between 8237 and 8086/8088 CPUs in maximum mode, but that is not relevant to an AT

Initialization sequence for two 8259s in a cascade is slightly different. See the code here. Also, you'll need to unmask interrupts for the devices connected to the second PIC: RTC, FPU, maybe PS/2 mouse. This is the relevant code.

You can always give my BIOS a try :) Let me know if you need anything to be adjusted for your board.

I agree about the importance of the reset circuit. And that is exactly why I'd use a CPU supervisor. CPU supervisors are a standard part at this point of time. They do ensure that your power supply voltage is at the right level, and they introduce enough delay to reset the CPU. A simple CPU supervisor, such as DS1233 EconoReset, costs just $1-$2. It completely replaces the complicated circuit that you have with 555 timer and two 4017, and several other logic. It provides the benefit of checking the right power supply voltage, and performing a proper reset in case of brownout (that is if the power supply drops below the threshold, even for a very short time).

Cheers,
Sergey
 
There is a thread on another forum discussing a 5170 clone board (Copam PC-501) with schematics available (photos, not scans).
 
fdc37c669 this IC looks very handy for this project. But i think you already know for it.
 
Hi Sergey,

Indeed, I remember that the 8237 needs a normal 50/50 symmetrical clock cycle. Which is what I did on my XT as well. I just used the 14.31818 Mhz OSC as a source, and divided it by 3, 6 and 12 to get the XT clock frequencies. So I have the 8237 running at 4,77 Mhz.

On my XT, not all 8237 ICs and variants work properly. (there are other IC types which are also functionally and pin compatible)
In fact, only a few of the recycled 8237s I bought work fully, though it may be a factor if there are defective or fake chips amongst them.

Apparently the timing variations are an issue, which are delicate and very different between different 8237 chips.
I am reasonably sure it's partially related to the handoff circuit gates. If those could be faster, probably the 8237s which now don't work well on my XT would work too.
When I switch certain ICs from HC to LS, it messes up the timing and the 8237 won't work at all.
I have mentioned this before, the ultimate 8237 test is to do a full floppy disk format in my experience.
If a PC can complete this, that means that DMA works perfectly.
I made 3 revisions of my XT, and with every new build, the DMA has been a sensitive area that I have had to look at.
I should do more testing and use a scope to check where the sentitivity is happening.
I only recently bought a cheap LCD scope which is fast enough to check PC circuits.

I am seeing your point about voltage checking of a reset/supervisor chip. Detecting a power drop might even save some chips from dying because of it.
Maybe I will do some testing and check some datasheets.
I have always kept in mind that at some point, I will want to switch to an FPGA version of my designs.
So with that in mind, I chose normal logic to make the circuits I needed, and my focus was never to reduce the number of ICs since I have plenty of board space.
But voltage supervision is something analogue, which FPGA's probably don't do.
I will consider your remarks and keep them in mind.

I am not sure where I will go with the AT design.
I am even not sure if I can make it work without programmable logic because of perhaps needing faster switching speeds.
I think I will at least try to make my first AT prototype with conventional logic ICs.
Just to see if it's possible, which I feel would be great to get a working AT without any programmable logic at all.

When I have the chance I will do some testing with your BIOS on my XT, thanks for the offer!
I think the biggest difference is that I have a 8255/LS322 keyboard circuit.
I used that circuit because I just wanted to see it working which just seemed cool to me since I never owned an XT before, and it's the original design.
Also I was concerned with BIOS support of course.
Though I do see advantages to using a 8242 or similar, because it could potentially also offer a PS/2 mouse port which would be great.

Kind regards,

Rodney
 
Hi Sharkcz,

Thanks for the tip! I will check out this thread and download the schematics. I saw he made photos of them which are not very sharp. I also saw some type-over corrections in the circuit diagrams, but perhaps it's not a real problem. It's always great to have more circuits and see possible variations.

I saw that he is dealing with a defective mainboard, which reminds me of my two defective AT clone boards too.
I am starting to think that possibly these discrete chipset AT mainboards are delicate.
I literally saw one turn bad after a single power drop, which previously worked fine up to that point.

Maybe it's the PAL chips or the PROMs which are very sensitive. I saw on my two mainboards that the PAL signals are at least in different order from the IBM designs.
Maybe when I am further along in my AT prototyping process and I have the time, I could revisit repairing the two defective mainboards, for example I could reproduce the PALs from the IBM equations which I now have thanks to Sergey's tip. Both mainboards display some level of posting, but have serious stability issues.

Hi hpela, thanks for mentioning this IC, it's interesting and I didn't see it before.
Though it's called an FDC chip, it's actually an integrated multi-IO controller.
I have some AT multi-IO cards which use similar chips.
It would be compatible to work in an AT, but at the moment I am not planning to use any chipset or integrated logic.
I will do the design with separate controller chips.
I saved the datasheet for future use, maybe later I will do a design where I want to save PCB space like in a small form factor.
Recently I found a chip which I desoldered long ago, I saved it into a parts box, I think it was a PC87306 which is similar to this one.

Kind regards,

Rodney
 
Back
Top