PC 386 and 286 Core Setup Ideas
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
PC 386 and 286 Core Setup Ideas
Creating a new thread to not pollute other topics.
With the (very promising) XT core underway, and the existing capabilities of ao486, I've been wondering which gaps would remain for DOS gaming on MiSTer.
The XT core has a 8088 CPU. It plans to support real CGA (inc. the 16 color modes), MDA, and Tandy graphics modes, and a Turbo mode for 7Mhz (and maybe more). This core will be a great platform for adding Hercules graphics support one day.
The ao486 core supports a much beefier CPU (close to a 486DX33), and supports MIDI, SB16, SVGA, VGA, EGA, and a bunch of other features. It can even run Windows. But it is too fast out of the box to run 286 / AT era games. There are options to slow it down (lower CPU clock, disable CPU caches) but it's not obvious how to match accurate speeds of a 286 era machine.
Perhaps sometime in the future somebody will write a 386 CPU implementation in HDL, which could be used as a base for a new core between XT and ao486.
But in the interim, I wonder if the ao486 could be tweaked to accurately present itself as a 286 or 386?
For example, the code could have a compiler flag that allows to build a "ao386" with settings adjusted by default to match in speed a computer of that era. To test that, we'd need to find bemchmark programs and games to verify the setup.
It's also possible that there may be gaps and games that refuse to work properly (eg. if there are undocumented EGA featires that ao486 doesnt have). For those cases, it would be good to identify them to serve as test for any improvements to one of the cores.
With the (very promising) XT core underway, and the existing capabilities of ao486, I've been wondering which gaps would remain for DOS gaming on MiSTer.
The XT core has a 8088 CPU. It plans to support real CGA (inc. the 16 color modes), MDA, and Tandy graphics modes, and a Turbo mode for 7Mhz (and maybe more). This core will be a great platform for adding Hercules graphics support one day.
The ao486 core supports a much beefier CPU (close to a 486DX33), and supports MIDI, SB16, SVGA, VGA, EGA, and a bunch of other features. It can even run Windows. But it is too fast out of the box to run 286 / AT era games. There are options to slow it down (lower CPU clock, disable CPU caches) but it's not obvious how to match accurate speeds of a 286 era machine.
Perhaps sometime in the future somebody will write a 386 CPU implementation in HDL, which could be used as a base for a new core between XT and ao486.
But in the interim, I wonder if the ao486 could be tweaked to accurately present itself as a 286 or 386?
For example, the code could have a compiler flag that allows to build a "ao386" with settings adjusted by default to match in speed a computer of that era. To test that, we'd need to find bemchmark programs and games to verify the setup.
It's also possible that there may be gaps and games that refuse to work properly (eg. if there are undocumented EGA featires that ao486 doesnt have). For those cases, it would be good to identify them to serve as test for any improvements to one of the cores.
Re: PC 386 and 286 Core Setup Ideas
I think there's already one in progress for the wip FM Towns core. We'll probably have to wait until that's done to see how feature complete it is and if it's able to be used easily for other cores or not.
-
- Posts: 148
- Joined: Fri Jun 04, 2021 5:19 am
- Location: Kuala Lumpur, Malaysia
- Has thanked: 47 times
- Been thanked: 14 times
Re: PC 386 and 286 Core Setup Ideas
I thought the ao486 core replicates something closer to the 486 DX2 66MHz... of course, it's likely I am wrong.
Definitely would love to see 286 and 386 cores... although I don't know if there's any major differences between the two. I had an 80386 DX40 back in the day, and whatever games I had on it worked on my friend's 80286 SX25 machine.
Definitely would love to see 286 and 386 cores... although I don't know if there's any major differences between the two. I had an 80386 DX40 back in the day, and whatever games I had on it worked on my friend's 80286 SX25 machine.
-
- Posts: 102
- Joined: Thu Aug 19, 2021 4:07 am
- Has thanked: 2 times
- Been thanked: 41 times
Re: PC 386 and 286 Core Setup Ideas
I'm of two minds about the idea. I think of games like Wing Commander that are pretty particular about what speed the computer is and I like the idea. But I also don't want to see the IBM PC cores get too separated with too many drive images to worry about. Changing up the speed and cache can be a true to life situation if you pick up a machine with adjustable BIOS settings. Since the ao486 core lets you change on the fly, I think it strikes a good balance. Anyone that digs into MS-DOS is used to a bit of config diving. And the assembled packs like the eXo/Flynn Top 300 are programmed to change the CPU settings in the core for each game so the less experienced people are already covered. If there is a benefit to be seen for another branch off like what's happening with the XT core, I'm definitely all for it. I just don't see what at this time.
Re: PC 386 and 286 Core Setup Ideas
In the case of a "prince of persia" game, more than 286 pc (286 to pantium III) have normal speed. There is no problem with these kinds of games. But I prefer the XT core because the prince of persia game has memories of having fun with the XT monochrome monitor and hercules. For "Wing Commander, Test Drive III", I think the 386sx to 386dx is the most suitable. I don't think the 486 is the right speed. Ao486 is a bit confusing to see that it's an FPGA. First of all, there are quite a few games that don't work normally. "lion king" can't run yet. opl3 sound is also different from the actual one. The pc internal speaker sound is also different from the actual one (Dangerous Dave1 rocket sound). I didn't find a way to make the normal speed work on the 286 game (Death track) on ao486. Do you guys knowDevilHunterWolf wrote: ↑Thu Jul 14, 2022 6:25 am I'm of two minds about the idea. I think of games like Wing Commander that are pretty particular about what speed the computer is and I like the idea. But I also don't want to see the IBM PC cores get too separated with too many drive images to worry about. Changing up the speed and cache can be a true to life situation if you pick up a machine with adjustable BIOS settings. Since the ao486 core lets you change on the fly, I think it strikes a good balance. Anyone that digs into MS-DOS is used to a bit of config diving. And the assembled packs like the eXo/Flynn Top 300 are programmed to change the CPU settings in the core for each game so the less experienced people are already covered. If there is a benefit to be seen for another branch off like what's happening with the XT core, I'm definitely all for it. I just don't see what at this time.
Re: PC 386 and 286 Core Setup Ideas
I think if sorgelig modify the ao486 core, it will be possible to implement the speed 286 and 386 properly, but the sorgelig, who is responsible for the ao486 core, doesn't seem to be very interested. I just want to fully implement 486sx on the ao486 core and hope there are no games that can't run.Newsdee wrote: ↑Thu Jul 14, 2022 5:29 am Creating a new thread to not pollute other topics.
With the (very promising) XT core underway, and the existing capabilities of ao486, I've been wondering which gaps would remain for DOS gaming on MiSTer.
The XT core has a 8088 CPU. It plans to support real CGA (inc. the 16 color modes), MDA, and Tandy graphics modes, and a Turbo mode for 7Mhz (and maybe more). This core will be a great platform for adding Hercules graphics support one day.
The ao486 core supports a much beefier CPU (close to a 486DX33), and supports MIDI, SB16, SVGA, VGA, EGA, and a bunch of other features. It can even run Windows. But it is too fast out of the box to run 286 / AT era games. There are options to slow it down (lower CPU clock, disable CPU caches) but it's not obvious how to match accurate speeds of a 286 era machine.
Perhaps sometime in the future somebody will write a 386 CPU implementation in HDL, which could be used as a base for a new core between XT and ao486.
But in the interim, I wonder if the ao486 could be tweaked to accurately present itself as a 286 or 386?
For example, the code could have a compiler flag that allows to build a "ao386" with settings adjusted by default to match in speed a computer of that era. To test that, we'd need to find bemchmark programs and games to verify the setup.
It's also possible that there may be gaps and games that refuse to work properly (eg. if there are undocumented EGA featires that ao486 doesnt have). For those cases, it would be good to identify them to serve as test for any improvements to one of the cores.
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: PC 386 and 286 Core Setup Ideas
The 286 is broken and brain-dead. It's a terrible chip. It addresses 16 megs of RAM, but only if when switched into protected mode, which doesn't run DOS programs anymore. And once it switches into protected mode, it can't switch back.retro wrote: ↑Thu Jul 14, 2022 6:24 am I thought the ao486 core replicates something closer to the 486 DX2 66MHz... of course, it's likely I am wrong.
Definitely would love to see 286 and 386 cores... although I don't know if there's any major differences between the two. I had an 80386 DX40 back in the day, and whatever games I had on it worked on my friend's 80286 SX25 machine.
Intel thought everyone would rewrite all their apps to work with the new protected mode; they were hideously incorrect. Instead, to access the higher memory, the BIOS would switch into protected mode, move a chunk of the data into the first megabyte where it's accessible in real mode (aka DOS mode), and then reset the CPU. The machine wrote a magic value in low RAM somewhere, rebooted, jumped into the BIOS startup, and the very first thing it did was check for the magic value. If it was there, it jumped to the resume point and continued running like the reset never happened.
This is terribly slow, so it mostly got used for drive caching; doing dozens of CPU resets per second is still faster than reading data in from the spinning rust of the time.
Early Windows used 80286 protected mode, but it couldn't run DOS apps, so it wasn't very popular. For most people, RAM past 1MB on an AT was either drive cache or just not used.
Enter the 386, which can safely exit protected mode. This allowed it to run DOS programs, transparently switch into 32-bit mode, do any operations it wanted as a 32-bit chip, and then return to DOS safely. This caused an explosion of new games that took advantage of the nice easy programming of 32-bit mode; they'd use a 32-bit DOS runtime, like DOS4GW. DOS4GW gave 32-bit apps safe access to DOS facilities, and in many cases wrote its own 32-bit versions of that code. In 32-bit space, it would read or write from disk or load directories of whatever, but also update 16-bit DOS's tracking structures so it knew what was going on.
This meant you could launch a sophisticated game or application that used multiple megabytes, and then just exit out and be back at the DOS prompt with everything still working. It was a huge step forward.
An even bigger step forward was Virtual 86 mode, which allowed the 386 to use the MMU to change how DOS saw memory. Early on, this allowed for software expanded memory drivers (duplicating what used to take a hardware board.) Later, it offered the ability to multitask well-behaved DOS apps.
The 80386 totally upended everything for the PC. In many ways, it defined what our computers were going to look like right now. The 286 was utter weaksauce in comparison, a dead branch of the 86 family tree. Its only real feature is running games that explicitly expect an 8 or 12MHz, 16-bit chip.
-
- Top Contributor
- Posts: 622
- Joined: Fri Jan 22, 2021 4:36 pm
- Has thanked: 80 times
- Been thanked: 324 times
Re: PC 386 and 286 Core Setup Ideas
386 could be plausible but between XT and AO486 I personally don't really see too much of a gap. The 286 and 386SX chips were compromises at the time. Games were starting to deal with variations in CPU speeds. Generally speaking I'd rather see a complete 486DX that can be clocked down as needed, than accurate 286 or 386 chips. Just my 2 cents.
- thisisamigaspeaking
- Posts: 244
- Joined: Mon May 23, 2022 12:28 am
- Has thanked: 80 times
- Been thanked: 23 times
Re: PC 386 and 286 Core Setup Ideas
Thanks for moving this off the PCXT thread, we were really distracting from its purpose.Newsdee wrote: ↑Thu Jul 14, 2022 5:29 am Creating a new thread to not pollute other topics.
With the (very promising) XT core underway, and the existing capabilities of ao486, I've been wondering which gaps would remain for DOS gaming on MiSTer.
The XT core has a 8088 CPU. It plans to support real CGA (inc. the 16 color modes), MDA, and Tandy graphics modes, and a Turbo mode for 7Mhz (and maybe more). This core will be a great platform for adding Hercules graphics support one day.
The ao486 core supports a much beefier CPU (close to a 486DX33), and supports MIDI, SB16, SVGA, VGA, EGA, and a bunch of other features. It can even run Windows. But it is too fast out of the box to run 286 / AT era games. There are options to slow it down (lower CPU clock, disable CPU caches) but it's not obvious how to match accurate speeds of a 286 era machine.
Perhaps sometime in the future somebody will write a 386 CPU implementation in HDL, which could be used as a base for a new core between XT and ao486.
But in the interim, I wonder if the ao486 could be tweaked to accurately present itself as a 286 or 386?
For example, the code could have a compiler flag that allows to build a "ao386" with settings adjusted by default to match in speed a computer of that era. To test that, we'd need to find bemchmark programs and games to verify the setup.
It's also possible that there may be gaps and games that refuse to work properly (eg. if there are undocumented EGA featires that ao486 doesnt have). For those cases, it would be good to identify them to serve as test for any improvements to one of the cores.
It seems like the Next186 core (viewtopic.php?t=4533) will fill the gap between PCXT and ao486. I doubt there are many games that wouldn't run on either Next186 (once it's working) or ao486.
- thisisamigaspeaking
- Posts: 244
- Joined: Mon May 23, 2022 12:28 am
- Has thanked: 80 times
- Been thanked: 23 times
Re: PC 386 and 286 Core Setup Ideas
The 286 enables XMS which would open up some games (not saying it is worth a core). EMS was also used by a number of games but that doesn't require a 286. As I said above, I don't think there is much that would not run on a working Next186 core that would also not run on ao486. I won't know until this weekend when I try it out myself what the current situation is on ao486 as far as 386 era games, are they not working?Malor wrote: ↑Thu Jul 14, 2022 8:30 am The 80386 totally upended everything for the PC. In many ways, it defined what our computers were going to look like right now. The 286 was utter weaksauce in comparison, a dead branch of the 86 family tree. Its only real feature is running games that explicitly expect an 8 or 12MHz, 16-bit chip.
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: PC 386 and 286 Core Setup Ideas
Well, kind of. Again, the 286 could only access memory above 1MB by switching into protected mode, and coming back from that required a CPU reset, which was very slow. XMS memory existed, but it was so horrible on the 286 that just about the only clients were disk caches.thisisamigaspeaking wrote: ↑Thu Jul 14, 2022 12:43 pmThe 286 enables XMS which would open up some games (not saying it is worth a core). EMS was also used by a number of games but that doesn't require a 286. As I said above, I don't think there is much that would not run on a working Next186 core that would also not run on ao486. I won't know until this weekend when I try it out myself what the current situation is on ao486 as far as 386 era games, are they not working?Malor wrote: ↑Thu Jul 14, 2022 8:30 am The 80386 totally upended everything for the PC. In many ways, it defined what our computers were going to look like right now. The 286 was utter weaksauce in comparison, a dead branch of the 86 family tree. Its only real feature is running games that explicitly expect an 8 or 12MHz, 16-bit chip.
However, the 286 had a major bug in it that turned out to be of great utility. Memory addressing on the 8086/8088 is segment:offset, each of which is treated as a 16-bit value. This means that most memory locations have multiple aliases. I don't remember the exact details, and I'm too lazy to look it up, but a vague handwavy explanation is that segment 26 offset 31000 might also be segment 34 offset 63something.
So, on the 8088, when you set the segment high enough, it wraps around to the first page, starting at memory location zero. Quite a bit of DOS software took advantage of this wraparound, and would set the segment far enough into F000 so it would expose the I/O addresses in the first 1K. This let them make BIOS calls and also twiddle hardware bits without changing the segment pointer, so code ran faster.
But! On the 80286, high segment values didn't wrap. Instead, they read values from extended memory. If you set the segment register to maximum, you could read an additional 64K minus 16 bytes. Magic almost-64K from nothing.
So IBM needed a way to toggle that wraparound behavior on and off, and ended up putting the switch on the A20 line for the keyboard chip, because that was where they had room for a toggle. The first 64K above 1MB ended up being called the High Memory Area. DOS was updated to load a lot of stuff up there, turning off A20 while it was mucking around, and then turning it back on before returning to user programs.
The High Memory Area was one of the most useful hardware bugs ever. All subsequent x86 chips have preserved that behavior and the A20 toggle, although I don't think modern operating systems use it anymore.
tl;dr: the one really good thing about the 80286 was a design mistake.
edit: oh, also, the 286 added more IRQs. PCs desperately needed them, since XTs had only 7 total, and only a couple actually free. The AT's IRQ design lasted a really long time, well into the 486 era. I don't think they started to really improve that system until, um, maybe Windows 95? I think about the time Plug and Play started being a thing, new interrupt chips started to hit the market. I'm very unclear on the details.
Modern systems have hundreds, it's not even vaguely a problem anymore.
edit: I reworded this very heavily.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
That's what I'm wondering too. From various answer in this (and the other thread), I get the impression that one issue is being able to know what settings to use to match some specific 286 and 386 speeds. I suppose it's also possible that some things still go too fast even with minimum ao486 settings. I'd have to try a few examples and benchmarks to find out.thisisamigaspeaking wrote: ↑Thu Jul 14, 2022 12:43 pm I won't know until this weekend when I try it out myself what the current situation is on ao486 as far as 386 era games, are they not working?
There are also some bugs being reported (see above e .g. lion king not running) but perhaps those could be fixed in ao486.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
So I've done some benchmarks with Landmark System Speed Test, and I see the problem...
Of all the possible combinations, only one specific setup gets close to an original AT speeds at slightly less than 10 Mhz.
All the rest are too fast, or way too slow!
I need to try playing that game (Death track).
According to my results it may work OK with L1 off, L2 on, and 15Mhz core clock:
-
Re: PC 386 and 286 Core Setup Ideas
I saw the ao486 speed-related ticket you organized. However, the "Death track" moderate speed is 10 to 12 MHz, not 8.93Mhz. I don't think ao486 is a core with the right speed for XT and AT pcs.Newsdee wrote: ↑Thu Jul 14, 2022 4:44 pmSo I've done some benchmarks with Landmark System Speed Test, and I see the problem...
Of all the possible combinations, only one specific setup gets close to an original AT speeds at slightly less than 10 Mhz.
All the rest are too fast, or way too slow!
I need to try playing that game (Death track).
According to my results it may work OK with L1 off, L2 on, and 15Mhz core clock:
-
ao498_AT_speeds_ranked.PNG
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: PC 386 and 286 Core Setup Ideas
I also am a fan of Death Track. It works well on a 286/12, and is a tiny bit too fast but still usable on a 286/16. It was way too fast on my 386 DX 33. This is one of the games that I highly prefer the Adlib for music over the MT/32. It is just too obnoxious on the MT/32. The 30MHz Off/On above might work well enough, but I haven't tried it yet. Remember to send those terminators sailing around the track in different spots but stay out of their way when they catch up to you!
Wing Commander was about perfect on my 386/33. I am not sure if the above chart will help or not since it is not an "AT" computer.
Wing Commander was about perfect on my 386/33. I am not sure if the above chart will help or not since it is not an "AT" computer.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: PC 386 and 286 Core Setup Ideas
My 2 cents about ao486: It is really great for what it is, and I am thankful to have it, but what it is underneath, is not great IMO. From my understanding, it is a bloated mess due to the way it was originally generated and then tons of cache was thrown at it to make it a lot faster. I would much prefer a proper core that replicates real hardware for each CPU generation that runs at normal MHz ratings (33, 66, etc.). I think PCXT is doing it right. It is using real BIOS chips and hopefully will recreate a real IDE controller, etc. Attention to making it as accurate as possible is paramount in that core, and it should be the same for a 286 core. Once that is completed, the parts that are reusable can be the beginnings of a 386 core, and then a 486 core. I don't think a Pentium core will fit, but I think a 486 DX3/100 would be possible and run a lot of things that require a Pentium. Heck, even a 386 core would meet most needs if it could be overclocked. If a 286 core was skipped, a really good 386 core that could be underclocked could work well as a substitute. I have no idea if Next186 is faithfully recreating a 286, or if it is more like ao486 in that it is not really anything that ever existed.
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: PC 386 and 286 Core Setup Ideas
There are LOADALL-based XMS managers that don't require switching to protected mode to access all memory; among others, HIMEM.SYS (starting at a certain version, see link).Malor wrote: ↑Thu Jul 14, 2022 2:05 pm Well, kind of. Again, the 286 could only access memory above 1MB by switching into protected mode, and coming back from that required a CPU reset, which was very slow. XMS memory existed, but it was so horrible on the 286 that just about the only clients were disk caches.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
Re: PC 386 and 286 Core Setup Ideas
It needs to be remembered though that the PCXT core is being assembled almost completely from assets that already existed.
There is no FPGA 80286 CPU implementation.
There is no FPGA EGA implementation.
There is no FPGA implementation for the IBM AT framework.
All of that is way more complex than the PCXT equivalents and there's a limited number of people working on this project that could be capable of taking on the creation of such a core. It could be years before we see it.
I think it's actually more likely we could see a 80386 core first using assets from the WIP FM Towns core.
There is no FPGA 80286 CPU implementation.
There is no FPGA EGA implementation.
There is no FPGA implementation for the IBM AT framework.
All of that is way more complex than the PCXT equivalents and there's a limited number of people working on this project that could be capable of taking on the creation of such a core. It could be years before we see it.
I think it's actually more likely we could see a 80386 core first using assets from the WIP FM Towns core.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
Not right now, but I wonder if we could get it to run at 10Mhz or 12Mhz AT-equivalent speeds with a bit of tweaking on ao486.
Perhaps we can try using a slowdown TSR?
Or maybe we can change ao486 code to slow it down a bit, as an optional flag that doesn't affect the main release. That won't be simple but it's easier than writing another core from scratch.
Exactly - this is why I'm trying to see what we can squeeze out of ao486 for now. Not doing it won't make a new core magically appear
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: PC 386 and 286 Core Setup Ideas
Huh, I never knew about that. Sounds like that undocumented instruction actually makes XMS memory worthwhile on a 286.pgimeno wrote: ↑Fri Jul 15, 2022 12:31 amThere are LOADALL-based XMS managers that don't require switching to protected mode to access all memory; among others, HIMEM.SYS (starting at a certain version, see link).Malor wrote: ↑Thu Jul 14, 2022 2:05 pm Well, kind of. Again, the 286 could only access memory above 1MB by switching into protected mode, and coming back from that required a CPU reset, which was very slow. XMS memory existed, but it was so horrible on the 286 that just about the only clients were disk caches.
Man, someone must have been really bored to find that.
Re: PC 386 and 286 Core Setup Ideas
I don't expect the ao486 core to be speed control. Because sorgelig sees ao486 as already completed core and is no longer interested in it. And the improvement of ao486 hasn't been going well for quite a long, even though ao486 has been reported multiple errors.Newsdee wrote: ↑Fri Jul 15, 2022 1:12 amNot right now, but I wonder if we could get it to run at 10Mhz or 12Mhz AT-equivalent speeds with a bit of tweaking on ao486.
Perhaps we can try using a slowdown TSR?
Or maybe we can change ao486 code to slow it down a bit, as an optional flag that doesn't affect the main release. That won't be simple but it's easier than writing another core from scratch.
Exactly - this is why I'm trying to see what we can squeeze out of ao486 for now. Not doing it won't make a new core magically appear
I think pcxt's direct hdd ide mount can also be easily done if sorgelig helps. But he's not very interested. I think it's more likely to make it similar to the 80286 core if the next186 core is completed.
Re: PC 386 and 286 Core Setup Ideas
I suppose because for most things it is capable enough, it runs most 386 and 486 games well enough. For anything from the beginning of the IBM PC that'll be where PCXT will step in (hopefully), only really leaving that hole of that 286 and early 386 era that are still speed dependent. Anything late 486 and pentium era starts to be too much for the de-10 as it only reliably hits 90mhz anyway.suww37 wrote: ↑Fri Jul 15, 2022 6:17 am
I don't expect the ao486 core to be speed control. Because sorgelig sees ao486 as already completed core and is no longer interested in it. And the improvement of ao486 hasn't been going well for quite a long, even though ao486 has been reported multiple errors.
Maybe I'm an outlier but I've always seen Mister as a pretty poor device for anything IBM PC as there is just too many different bits of hardware, different memory amounts, graphics architectures, CPU speeds to make it manageable for hobbyists, at least beyond the XT and AT stuff.... Especially when you consider dosbox is just so good.
-
- Top Contributor
- Posts: 552
- Joined: Sun May 24, 2020 8:07 pm
- Has thanked: 185 times
- Been thanked: 310 times
- Contact:
Re: PC 386 and 286 Core Setup Ideas
FYI Lion King works in the ao486 core, here are my notes:Newsdee wrote: ↑Thu Jul 14, 2022 4:12 pmThat's what I'm wondering too. From various answer in this (and the other thread), I get the impression that one issue is being able to know what settings to use to match some specific 286 and 386 speeds. I suppose it's also possible that some things still go too fast even with minimum ao486 settings. I'd have to try a few examples and benchmarks to find out.thisisamigaspeaking wrote: ↑Thu Jul 14, 2022 12:43 pm I won't know until this weekend when I try it out myself what the current situation is on ao486 as far as 386 era games, are they not working?
There are also some bugs being reported (see above e .g. lion king not running) but perhaps those could be fixed in ao486.
use dos32a, run with no memory manager loaded, and other details below.
echo.
echo This game requires CLEAN, 16MB Memory, no L2, and lower MHZ.
dos32a LIONKING
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: PC 386 and 286 Core Setup Ideas
You could say the same for Mame or any other emulator. The idea that the MiSTer is emulating a PC and all its components in FPGA hardware is way cooler to me than running games in DosBox.Blitzwing wrote: ↑Fri Jul 15, 2022 7:09 pm Maybe I'm an outlier but I've always seen Mister as a pretty poor device for anything IBM PC as there is just too many different bits of hardware, different memory amounts, graphics architectures, CPU speeds to make it manageable for hobbyists, at least beyond the XT and AT stuff.... Especially when you consider dosbox is just so good.
Re: PC 386 and 286 Core Setup Ideas
I tried it your way and the lionking runs, but normal play is impossible. The frame is broken a lot and it doesn't work well.flynnsbit wrote: ↑Fri Jul 15, 2022 11:28 pmFYI Lion King works in the ao486 core, here are my notes:Newsdee wrote: ↑Thu Jul 14, 2022 4:12 pmThat's what I'm wondering too. From various answer in this (and the other thread), I get the impression that one issue is being able to know what settings to use to match some specific 286 and 386 speeds. I suppose it's also possible that some things still go too fast even with minimum ao486 settings. I'd have to try a few examples and benchmarks to find out.thisisamigaspeaking wrote: ↑Thu Jul 14, 2022 12:43 pm I won't know until this weekend when I try it out myself what the current situation is on ao486 as far as 386 era games, are they not working?
There are also some bugs being reported (see above e .g. lion king not running) but perhaps those could be fixed in ao486.
use dos32a, run with no memory manager loaded, and other details below.
echo.
echo This game requires CLEAN, 16MB Memory, no L2, and lower MHZ.
dos32a LIONKING
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: PC 386 and 286 Core Setup Ideas
It's a shame Sorgelig doesn't want to work on AO486 any more... if someone could nail down the memory bug and improve the IDE controllers, it would work with almost anything that ran on a real 486-33 machine.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
I've tried making a monochrome mode for ao486.
It's a long shot ... and I may not merge it (I'm by no means a core developer), but it's an interesting experiment.
The rbf attached use the same algo as the PCXT core but extended to 8-bit color. It doesn't work well with EGA or VGA yet - I'm probably missing something - but CGA converts nicely, and if you add scanlines it does look quite similar to my old Apple II monochrome monitor.
The difference between setA and setB are coefficients used in the algo, which give different results in contrast between CGA colors.
Which one do you guys like best?
(EDIT: removed links as they were buggy - use the later build further down this thread)
- spark2k06
- Core Developer
- Posts: 876
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 969 times
Re: PC 386 and 286 Core Setup Ideas
Unless he has changed his mind, sorgelig will not accept it, I proposed it at the time:Newsdee wrote: ↑Sat Jul 16, 2022 4:27 amI've tried making a monochrome mode for ao486.
It's a long shot ... and I may not merge it (I'm by no means a core developer), but it's an interesting experiment.
The rbf attached use the same algo as the PCXT core but extended to 8-bit color. It doesn't work well with EGA or VGA yet - I'm probably missing something - but CGA converts nicely, and if you add scanlines it does look quite similar to my old Apple II monochrome monitor.
The difference between setA and setB are coefficients used in the algo, which give different results in contrast between CGA colors.
Which one do you guys like best?
-
green486_setA.zip
green486_setB.zip
ddragon.png
https://github.com/MiSTer-devel/ao486_MiSTer/pull/94
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
Maybe so; still I'm hoping to have a small independent module that could be easily recompiled into ao486.
I might even send you a pull request if I make it modular enough so it could be used in PCXT as well
In other news, I fixed a bug that was corrupting the graphics, now EGA and VGA look good.
I'm going to try to support more than one color mode next...
-
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: PC 386 and 286 Core Setup Ideas
Here is a first unofficial build release of a monochrome mode for ao486.
Don't expect it to be merged ... but I've included the HDL changes in the zip file, if anybody wants to tinker with it.
I sacrificed some OSD flags to have space for the Display Mode menu;
there are now a few monochrome options, including the original four and some others added for fun that look quite good.
- -
Don't expect it to be merged ... but I've included the HDL changes in the zip file, if anybody wants to tinker with it.
I sacrificed some OSD flags to have space for the Display Mode menu;
there are now a few monochrome options, including the original four and some others added for fun that look quite good.
- -