Newsdee wrote: βMon Dec 12, 2022 4:20 am
Now that the PCXT core is finally "done", I can't help but wonder what it would take to create a core for an AT-class architecture
(I know Spark will take a hyatus; this is by no means a request but rather a thought experiment for my own curiosity)
This would be best suited for a new core to avoid breaking the use cases of PCXT (and also simplifying design),
and allow running games that need a little more speed (beyond the 4Mhz AT equivalent max speed of PCXT).
I can think of the following changes:
-
upgraded CPU to 80186 class (or better) with a 24-bit RAM bus (allowing up to 16MB of RAM)
-
ISA bus support (16bit bus)
-
Enhance chipset (one extra 8259A and 8237A, plus 82288 ?)
-
Upgrade video to VGA/EGA card (removing support for CGA/MDA but ideally keeping TGA for later Tandy machines)
-
Use a new BIOS compatible with new chipset
Obvious caveat / counter-argument for this is that we'd probably could achieve something similar by a custom build of ao486 with lower clock frequencies; but since there are already a couple of 80x86 CPUs written from scratch (next186 and 80x86), it may be interesting to check how they fare. They would not be cycle accurate like the MCL86, though.
This also assumes we might achieve one day a full 286 replacement (at least a compatible instruction set).
If you want a 286, just add 186 instructions to the 8088 cpu, and modify the 8088 ones to be faster like the 286 ones (this might be easy).
Then add the VGA/EGA part from the ao486 SVGA card, and that's it. It won't be cycle accurate, but you can tweak it to be very similar to a real 286, and you'll have a cool 286 clone. I'd love to do it, if I knew something more about FPGAS.
As I said in the other thread, I don't think any games/programs for 286 need cycle accuracy, or specific speeds, there were several 286 clones, and also they can be 6-24 Mhz, so it really doesn't matter, it's like taking the 8088 and making it very fast.
The only benefit of the 286 I found, is the compatibility with games up until 1994, (and it would be easier to remove the few 286 instructions they use, than creating the 286 core), and the possibility to use windows 3.1 without using the 640k of conventional ram (using the protected mode).
I think ao486 does a good job for this, but if you really want the 286, create the ega/vga card for the pcxt core, add 186 instructions, and make it very fast.
For me, adding an EGA card to the pcxt, would be more than enough, much more than I expected from this awesome core .
Anyway, some day we might have schemes from 286 or 8086 systems, who knows. But they are not as popular as other systems (arcades) so I think it will be difficult.