Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

User avatar
luishg
Posts: 31
Joined: Sun May 24, 2020 7:21 pm
Been thanked: 3 times
Contact:

Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

Unread post by luishg »

ao486 Cache 34
Windows 98 SE (no drivers or extra configuracion required)

As you already know this is completely out of the a486 core scope - all these games and software are designed for Pentium processors - but is a good example of the stability and the great work done by the team developing the ao486.

Windows 98 SE works flawlessly with default windows drivers 8000x600 16k colors. You just have to skip the Windows HW check process with the parameter /nm "win98se\install /nm".

Full video: https://www.youtube.com/watch?v=Vux9ZPHRAwk

Games tested:

Diablo II https://youtu.be/Vux9ZPHRAwk?t=165
Starcraft https://youtu.be/Vux9ZPHRAwk?t=592
Full Tilt Pinball https://youtu.be/Vux9ZPHRAwk?t=877
Diablo https://youtu.be/Vux9ZPHRAwk?t=998
Age of Empires https://youtu.be/Vux9ZPHRAwk?t=1291
Simcity 3000 https://youtu.be/Vux9ZPHRAwk?t=1491
F16 (loads, not playable) https://youtu.be/Vux9ZPHRAwk?t=1891
Golf 98 (loads, not playable) https://youtu.be/Vux9ZPHRAwk?t=2491
User avatar
Caldor
Top Contributor
Posts: 930
Joined: Sat Jul 25, 2020 11:20 am
Has thanked: 112 times
Been thanked: 111 times

Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

Unread post by Caldor »

Nice... yeah that is my experience as well. Except I did not install using Cache 34 but... 27 or earlier. And it did not go smoothly, and that is probably why I now have trouble getting installing Daemontools... so I probably have to install Windows 98 again.
DecoySports
Posts: 3
Joined: Wed Jul 22, 2020 2:57 pm

Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

Unread post by DecoySports »

Diablo II is blowing my mind right now, thank you for sharing!
User avatar
Sorgelig
Site Admin
Posts: 886
Joined: Thu May 21, 2020 9:49 pm
Has thanked: 2 times
Been thanked: 212 times

Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

Unread post by Sorgelig »

for PC there is basically no limits. Try counter strike. So this thread is pretty much useless.
core is for 320x200 early-486 DOS games and some point and click Windows/SVGA games.
friendly.joe
Posts: 20
Joined: Mon May 25, 2020 5:16 am
Has thanked: 5 times

Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

Unread post by friendly.joe »

    Sorgelig wrote: Mon Aug 03, 2020 4:30 am for PC there is basically no limits. Try counter strike. So this thread is pretty much useless.
    core is for 320x200 early-486 DOS games and some point and click Windows/SVGA games.
    Thank you for the clarification --- we are having so much fun with this core.

    What a great community we are in :)
    Glaurung
    Posts: 9
    Joined: Sun Aug 02, 2020 3:02 pm

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Glaurung »

    Amazing core!!
    A lot of working win-dos stuff right now
    User avatar
    Coffea
    Posts: 32
    Joined: Thu May 28, 2020 8:35 pm
    Has thanked: 6 times
    Been thanked: 5 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Coffea »

    Sorgelig wrote: Mon Aug 03, 2020 4:30 am for PC there is basically no limits. Try counter strike. So this thread is pretty much useless.
    core is for 320x200 early-486 DOS games and some point and click Windows/SVGA games.
    I feel like you're missing the point when it comes to PC gaming.

    It's never been about enjoying the games that run perfectly, it's about fishing for sympathy over all the ones that don't! :D
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    Sorgelig wrote: Mon Aug 03, 2020 4:30 am for PC there is basically no limits. Try counter strike. So this thread is pretty much useless.
    core is for 320x200 early-486 DOS games and some point and click Windows/SVGA games.
    Both Diablo and Starcraft are playable now though. Not full speed, but very impressive to say the least.

    We can of course keep finding games that wont run with this core, but the best games for testing the progress of the core I think is the games like these, the games that are right at the limit of what the core can currently do, and see if they run better.

    Like Duke Nukem 3D just a few beta core updates ago. It went from 5fps to 20fps. Amazing stuff :)
    User avatar
    Reed_Solomon
    Posts: 65
    Joined: Sun May 24, 2020 7:37 pm
    Has thanked: 40 times
    Been thanked: 8 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Reed_Solomon »

    Caldor wrote: Mon Aug 03, 2020 11:10 pm We can of course keep finding games that wont run with this core, but the best games for testing the progress of the core I think is the games like these, the games that are right at the limit of what the core can currently do, and see if they run better.
    I was amused by the attempt but at a certain point its not very likely you'll be able to run games that require things like a pentium with its FPU and MMX so you're not really going to get great results in that scenario. Need to keep your expectations realistic to some degree. It's hard to say what is the best thing to test at this time since things are so in flux. Probably games with a realistic expectation of running but that have strange glitches are a good candidate for testing.
    akeley
    Top Contributor
    Posts: 1318
    Joined: Mon May 25, 2020 7:54 pm
    Has thanked: 430 times
    Been thanked: 419 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by akeley »

    Caldor wrote: Mon Aug 03, 2020 11:10 pm We can of course keep finding games that wont run with this core, but the best games for testing the progress of the core I think is the games like these, the games that are right at the limit of what the core can currently do, and see if they run better.

    Like Duke Nukem 3D just a few beta core updates ago. It went from 5fps to 20fps. Amazing stuff :)
    I wouldn't agree with that, though I might be wrong because I don't know enough about the internals. But it seems to me that Pentium/Windows-era will present completely new challenges and heaps of new bugs. And time dealing with these problems would be better spent perfecting the 486 side of things.

    Of course it's nice, and certainly impressive, that the core can do all these seemingly out-of-reach things, but, as the previous poster said it's just amusing. Definition of "playable" also varies - personally I wouldn't bother with any game with inferior performance when it's possible to run it full-speed on any ol' PC via Dosbox or some such.
    Glaurung
    Posts: 9
    Joined: Sun Aug 02, 2020 3:02 pm

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Glaurung »

    Anyway,its amazing see running Diablo II,a pentium-win game from 2000-20001
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    akeley wrote: Tue Aug 04, 2020 8:32 am
    Caldor wrote: Mon Aug 03, 2020 11:10 pm We can of course keep finding games that wont run with this core, but the best games for testing the progress of the core I think is the games like these, the games that are right at the limit of what the core can currently do, and see if they run better.

    Like Duke Nukem 3D just a few beta core updates ago. It went from 5fps to 20fps. Amazing stuff :)
    I wouldn't agree with that, though I might be wrong because I don't know enough about the internals. But it seems to me that Pentium/Windows-era will present completely new challenges and heaps of new bugs. And time dealing with these problems would be better spent perfecting the 486 side of things.

    Of course it's nice, and certainly impressive, that the core can do all these seemingly out-of-reach things, but, as the previous poster said it's just amusing. Definition of "playable" also varies - personally I wouldn't bother with any game with inferior performance when it's possible to run it full-speed on any ol' PC via Dosbox or some such.
    Problem is, pretty much ALL of these games run inferior to DOSBox, same deal with running on original hardware. Its just not as good as having an emulator that takes care of issues these systems had. ScummVM is another example... making the game run with no load times, no stuttering or anything. If you want the game to run at its best performance, then FPGA is probably not the best bet. FPGA cores when they are perfected, should at best make it run like the original hardware... although I guess it would be possible to also make it run better than the original hardware. FPGA gives accuracy, and maybe sometimes better compatibility. Often DOSBox will probably also be overall more compatible though.

    DOS hardware did not have cache for audio-playback, so digital sound often get some... crackling in the audio. Afaik, that is just how it is to play these games on the original hardware. It would even be better to run many of them in Windows using VDMS sound, even on AO486.

    I do agree that getting the 486 stuff to run as good as possible is the priority, but a good 486 could run Pentium stuff. Like Diablo and Starcraft. Windows 95 is supposed to run well on a 486, and it uses more of the 486, so I consider it a good test of the hardware. Windows does seem to actually help with some of the... I think it must be memory problems, the AO486 core has. I also found that using a 32bit DOS extension, I can get Warcraft 2 to run in DOS, and otherwise it has a problem with DOS4GW, but in Windows 95 it runs perfectly.

    Another test I use is Game Wizard, because it uses the memory differently from many other games and apps as it makes itself memory resident, and adds a shortcut key to going into the Game Wizard interface while in other games. As it is right now, Game Wizard 32 Pro (full version) fails to run on AO486 cores that are used with any other VGA bios than the old one the current release version of AO486 is using. Not sure what that means.

    But we have a lot of ways to test the core, and I think they are probably all relevant. Disk speed, compatibility, memory performance, MIDI, CPU speed, CPU cache... so on and so forth. Games just make for a good way to see the difference with audio and video. Duke Nukem 3D has an FPS counter, making it nice for performance testing as well I think.
    softtest9
    Posts: 161
    Joined: Thu May 28, 2020 7:13 pm
    Has thanked: 3 times
    Been thanked: 22 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by softtest9 »

    Caldor wrote: Problem is, pretty much ALL of these games run inferior to DOSBox, same deal with running on original hardware. Its just not as good as having an emulator that takes care of issues these systems had. ScummVM is another example... making the game run with no load times, no stuttering or anything. If you want the game to run at its best performance, then FPGA is probably not the best bet.
    Out of the games that work properly in ao486, I can't think of any that work better in DOSBox. DOSBox has always had weird speed issues because of its inaccurate CPU emulation where you have to always select a specific amount of cycles for the CPU, and getting Vsync or proper scaling seems to be impossible. Audio isn't great either. Now, if you set up a Pentium 4-era PC with an SSD and MS-DOS, will there be any slowdown or load times which DOSBox on modern hardware would solve?

    ScummVM is of course a different topic entirely. ScummVM reimplements the entire engine of a game, requiring only the original assets. It would be no surprise if some games run better in ScummVM since the developers can change the entire game in whatever way they want.
    Caldor wrote: DOS hardware did not have cache for audio-playback, so digital sound often get some... crackling in the audio. Afaik, that is just how it is to play these games on the original hardware. It would even be better to run many of them in Windows using VDMS sound, even on AO486.
    Never heard of this before. What is this audio cache on modern systems that somehow benefits DOS games specifically?
    Glaurung
    Posts: 9
    Joined: Sun Aug 02, 2020 3:02 pm

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Glaurung »

    Dosbox has a lot of performance issues.And weird.speed changes along the game.

    486dx runs games much better than dosbox
    akeley
    Top Contributor
    Posts: 1318
    Joined: Mon May 25, 2020 7:54 pm
    Has thanked: 430 times
    Been thanked: 419 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by akeley »

    softtest9 wrote: Tue Aug 04, 2020 11:18 am Out of the games that work properly in ao486, I can't think of any that work better in DOSBox. DOSBox has always had weird speed issues because of its inaccurate CPU emulation where you have to always select a specific amount of cycles for the CPU, and getting Vsync or proper scaling seems to be impossible. Audio isn't great either. Now, if you set up a Pentium 4-era PC with an SSD and MS-DOS, will there be any slowdown or load times which DOSBox on modern hardware would solve?
    Agreed, and that's my idea in general. The scaling issues in Dosbox are one of the main reasons I set up a P3 based DOS/Win 98 system. Also, I did not mean QoL improvements that come with emulators...sure, they also exist, but I'm just after a 1:1 representation that FPGAs make possible.

    And I've never really had problems with DOS games on original hardware. After the occasional initial memory hassle they run just fine.

    Again, there's nothing wrong with having fun in the Pentium zone, I'm just hoping it won't affect the process of perfecting the 486 side (it's what it says on the box after all :)

    I also guess I should do some testing of the early DOS games myself, I've just been stuck in the 8-bit micros for now.
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    We already know a few things:

    - Current performance hovers right around the 486SX/33 mark overall
    - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance

    Thus, if a game didn't run well on a 33MHz 486 without an FPU, don't expect anything more from ao486. Quake is never going to (reasonably) happen, for example. Games *requiring* Pentium 90 performance aren't going to be playable, and I don't see much value in just proving that x86 instructions can be executed...if the framerate is below 20FPS, it doesn't matter that it _runs_. It's not impressive, any more so than it's impressive that a C64 can calculate Pi...of course it can, it's all just instructions, but whether it can do so _at a reasonable speed_ is the question.
    ZigZag
    Posts: 99
    Joined: Sun Jun 28, 2020 7:05 am
    Has thanked: 1 time
    Been thanked: 5 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by ZigZag »

    There's always something fascinating about pushing something to it's limits & beyond. The MiSTer itself is a good example of hardware constantly being pushed farther & farther. Look at what the humble c64 can do in 2020 - modern demo's would've seemed impossible back in 1982 (& wouldn't have been).

    If you get you're kicks out of just using games & software designed for a system that's good & I'm happy for you. For some, the "game", the fun & the excitement comes from seeing just how far they can push a system or a piece of hardware. Seeing exactly what is possible, rather than simply what is expected from it. That's a valid and extremely useful pastime, it's how discoveries are made & boundaries broken.

    If that's not your cup of tea fine, but there's no harm in the streak of curiosity that makes some of us want to see what something CAN do, not just what it was designed to do. It's why I got my c64 hooked up to the internet. I know it's not a practical daily use computer in 2020, but it's still damn cool & a lot of fun!
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    IMO, you're confusing functionality and performance.

    Yes, it's awesome when new and unexpected functionality (like having wifi on a C64!) is created, but I don't see the pleasure in expecting *raw performance* to come from nowhere. There's no miracle forthcoming - ever - that's going to allow the DE10-Nano to run games from 2000, because the limit is inherent in the very DNA of the technology - the fixed clock ceiling of the gates themselves.

    That being said, if that's what trips your trigger, have at it! =)
    softtest9
    Posts: 161
    Joined: Thu May 28, 2020 7:13 pm
    Has thanked: 3 times
    Been thanked: 22 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by softtest9 »

    @akeley
    Yep. I got a couple of PC's with MS-DOS and Windows 9x as well. The only issues on my end with DOS games are the speed-sensitive games and games that require specific hardware (in particular, ISA sound cards).

    rhester72 wrote: - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance

    Thus, if a game didn't run well on a 33MHz 486 without an FPU, don't expect anything more from ao486. Quake is never going to (reasonably) happen, for example. Games *requiring* Pentium 90 performance aren't going to be playable,
    And we "know" this how? I got the MiSTer right around when the SNES core was released. This was a huge accomplishment that few thought were possible. Now we're about to get a PlayStation core (which btw doesn't seem to be struggling to fit on the DE-10 nano). Keep in mind that the CPU softcore isn't the typical Verilog or VHDL softcore, it was converted from C code. The recent improvements barely touch the original code, they just add a cache.

    Now if somebody replaced the CPU softcore itself with a softcore made from scratch (and only kept the cache), there would likely be a big performance increase again. And of course the amount of space on the FPGA chip matters for performance as well. With more powerful FPGA chips, the core can probably be made to run at much higher clockspeeds even if there are no other changes.

    rhester72 wrote: and I don't see much value in just proving that x86 instructions can be executed...if the framerate is below 20FPS, it doesn't matter that it _runs_. It's not impressive, any more so than it's impressive that a C64 can calculate Pi...of course it can, it's all just instructions, but whether it can do so _at a reasonable speed_ is the question.
    Well, what would be impressive then? An FPGA core with a Core i9 CPU and GTX 2080? Like, what are you comparing it to? I should also add that there is not a single PC emulator that can emulate a Pentium or better, at full speed, without a dynamic recompiler.
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    softtest9 wrote: Tue Aug 04, 2020 3:30 pm
    rhester72 wrote: - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance

    Thus, if a game didn't run well on a 33MHz 486 without an FPU, don't expect anything more from ao486. Quake is never going to (reasonably) happen, for example. Games *requiring* Pentium 90 performance aren't going to be playable,
    And we "know" this how? I got the MiSTer right around when the SNES core was released. This was a huge accomplishment that few thought were possible. Now we're about to get a PlayStation core (which btw doesn't seem to be struggling to fit on the DE-10 nano). Keep in mind that the CPU softcore isn't the typical Verilog or VHDL softcore, it was converted from C code. The recent improvements barely touch the original code, they just add a cache.
    Because #physics. No matter how clever your core implementation may be, you aren't going to make the DE10 itself reliably switch gate states any faster.
    softtest9 wrote: Tue Aug 04, 2020 3:30 pm Now if somebody replaced the CPU softcore itself with a softcore made from scratch (and only kept the cache), there would likely be a big performance increase again. And of course the amount of space on the FPGA chip matters for performance as well. With more powerful FPGA chips, the core can probably be made to run at much higher clockspeeds even if there are no other changes.
    It does tend to be true that bigger FPGA dies are also faster (because they represent overall technological advancements), but no, the amount of space on a FPGA in and of itself has absolutely no impact whatsoever on performance.
    softtest9 wrote: Tue Aug 04, 2020 3:30 pm
    rhester72 wrote: and I don't see much value in just proving that x86 instructions can be executed...if the framerate is below 20FPS, it doesn't matter that it _runs_. It's not impressive, any more so than it's impressive that a C64 can calculate Pi...of course it can, it's all just instructions, but whether it can do so _at a reasonable speed_ is the question.
    Well, what would be impressive then? An FPGA core with a Core i9 CPU and GTX 2080? Like, what are you comparing it to? I should also add that there is not a single PC emulator that can emulate a Pentium or better, at full speed, without a dynamic recompiler.
    I'm _already_ impressed with what FPGA brings to the table as it is. But you rather illustrate the point I was trying to make - beyond a certain point, it's simply more practical (and sane) to just use actual hardware versus FPGA reimplementation.

    If I want to play 2000s era games, I'll just play them, full out. As others have noted, the ao486 core shines in two specific areas - consistency (in terms of performance, unlike DOSBox) and edge compatibility (for example, Apollo 18 from AIM Software/Take Two Interactive - a Windows 95 video-based game that offered compatibility with a VERY narrow range of video cards that won't run at all under any kind of existing emulation but works on ao486).

    Beyond that, I view people expecting miracles from this core like I view people clamoring for Dreamcast emulation - good effing luck. :) The complexity is just FAR too high to anything beyond a joke, ever. (And given the thermal wall processors hit a decade ago, I mean that sincerely - EVER. There's no fantasy technology going to change that.)
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    softtest9 wrote: Tue Aug 04, 2020 11:18 am
    Caldor wrote: Problem is, pretty much ALL of these games run inferior to DOSBox, same deal with running on original hardware. Its just not as good as having an emulator that takes care of issues these systems had. ScummVM is another example... making the game run with no load times, no stuttering or anything. If you want the game to run at its best performance, then FPGA is probably not the best bet.
    Out of the games that work properly in ao486, I can't think of any that work better in DOSBox. DOSBox has always had weird speed issues because of its inaccurate CPU emulation where you have to always select a specific amount of cycles for the CPU, and getting Vsync or proper scaling seems to be impossible. Audio isn't great either. Now, if you set up a Pentium 4-era PC with an SSD and MS-DOS, will there be any slowdown or load times which DOSBox on modern hardware would solve?

    ScummVM is of course a different topic entirely. ScummVM reimplements the entire engine of a game, requiring only the original assets. It would be no surprise if some games run better in ScummVM since the developers can change the entire game in whatever way they want.
    Caldor wrote: DOS hardware did not have cache for audio-playback, so digital sound often get some... crackling in the audio. Afaik, that is just how it is to play these games on the original hardware. It would even be better to run many of them in Windows using VDMS sound, even on AO486.
    Never heard of this before. What is this audio cache on modern systems that somehow benefits DOS games specifically?
    By cache I meant buffer. Could not remember the correct word when I wrote it. My point with DOSBox is that I think it often improves loadtimes, as it does not have the restrictions of the original hardware. If you want games to be playing as good as they possibly can, then hardware accuracy is not always an advantage. But some games might run well on a Pentium, some games might run well on the AO486 core, overall DOSBox runs them all well. Whether its old 8086 games that did not take CPU speed into account, or whether it is games requiring some of the most high end hardware... (except maybe 3DFX).
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    rhester72 wrote: Tue Aug 04, 2020 3:41 pmBecause #physics. No matter how clever your core implementation may be, you aren't going to make the DE10 itself reliably switch gate states any faster.
    Physics is not in the way of the MiSTer running Quake in the AO486 core. It comes down to core implementation, its not like its impossible for FPGAs to have the speed of a Pentium machine. The physics of the switches is not going to limit it, its whether runs out of logic space that will.

    Getting FPU is not impossible for AO486. It might not be something it will get, but not sure why you would bash people to test the limits of the core and try to find out how far it might be able to get. I have not seen anything that suggests the switching of the FPGA gates was somehow going to limit it from doing f.ex. what a Pentium CPU could have done. If its possible to fit on the core, and people managed to get the logic required in the core, then I do not see physics being in the way of it.

    The FPGA is configured when you load the core. Then all the switches has been set, and the system will run the way its setup to, limited by the configuration, not some physical limitation of the FPGA. Pentium CPUs are 20 years old now. The technology the Cyclone FPGA is based on is much smaller than the chipsets from back then. So the physics of it is not going to be the limitation stopping it from being possible, that would not make any sense.

    I am not sure why you mention 486SX 33Mhz performance... the performance has already reached then point of a 75Mhz Pentium, when it comes to raw CPU power. It still lacks Pentium features like FPU and MMX, but its clearly not unreasonable to begin looking at some of the games in this video. Especially with the performance we now see in Diablo and Starcraft.
    User avatar
    Chris23235
    Top Contributor
    Posts: 869
    Joined: Sun May 24, 2020 8:45 pm
    Has thanked: 115 times
    Been thanked: 181 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Chris23235 »

    rhester72 wrote: Tue Aug 04, 2020 2:34 pm We already know a few things:

    - Current performance hovers right around the 486SX/33 mark overall
    - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance
    This depends heavily on the game, the Doom timedemo is more or less where a 486DX/66 was.
    User avatar
    SuperBabyHix
    Posts: 152
    Joined: Sun May 24, 2020 8:26 pm
    Has thanked: 44 times
    Been thanked: 36 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by SuperBabyHix »

    Chris23235 wrote: Tue Aug 04, 2020 9:27 pm
    rhester72 wrote: Tue Aug 04, 2020 2:34 pm We already know a few things:

    - Current performance hovers right around the 486SX/33 mark overall
    - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance
    This depends heavily on the game, the Doom timedemo is more or less where a 486DX/66 was.
    I wonder how fast the ao486 cores VGA implementation is. I know on real hardware if you paired a fast 486 with a really slow ISA graphics card it would perform much worse in games compared to a system with a much faster VLB or PCI graphics chip. It could very well be that the CPU part of the core itself performs closer to a 33Mhz 486 but the VGA performance is much higher than graphics cards of the day? That could possibly explain why it benchmarks higher in game tests than in pure CPU benchmarks.

    As for Pentium like performance, a Pentium 75 is quite a bit more powerful than what we are working with. Adding things like an FPU or MMX wont make up that speed difference either. The Pentium was a different architecture than the 486, which is why it performed much better clock for clock. Not to mention the front side bus was twice as fast. Not quite double, but a 66Mhz Pentium performed well against a 100Mhz 486. MMX itself really didn't do much for the Pentium's performance either. The reason the MMX capable Pentiums (P55C) performed better than the non-MMX (P54C) models was because of increased cache.
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    SuperBabyHix wrote: Tue Aug 04, 2020 9:48 pm
    Chris23235 wrote: Tue Aug 04, 2020 9:27 pm
    rhester72 wrote: Tue Aug 04, 2020 2:34 pm We already know a few things:

    - Current performance hovers right around the 486SX/33 mark overall
    - There isn't likely to be a HUGE performance improvement in any respect beyond this, so even if performance was _doubled_ somehow from today, you're still looking at 486SX/66 levels of performance
    This depends heavily on the game, the Doom timedemo is more or less where a 486DX/66 was.
    I wonder how fast the ao486 cores VGA implementation is. I know on real hardware if you paired a fast 486 with a really slow ISA graphics card it would perform much worse in games compared to a system with a much faster VLB or PCI graphics chip. It could very well be that the CPU part of the core itself performs closer to a 33Mhz 486 but the VGA performance is much higher than graphics cards of the day? That could possibly explain why it benchmarks higher in game tests than in pure CPU benchmarks.

    As for Pentium like performance, a Pentium 75 is quite a bit more powerful than what we are working with. Adding things like an FPU or MMX wont make up that speed difference either. The Pentium was a different architecture than the 486, which is why it performed much better clock for clock. Not to mention the front side bus was twice as fast. Not quite double, but a 66Mhz Pentium performed well against a 100Mhz 486. MMX itself really didn't do much for the Pentium's performance either. The reason the MMX capable Pentiums (P55C) performed better than the non-MMX (P54C) models was because of increased cache.
    Well, the cache is one area where AO486 now shines, pretty sure it now has more cache than a Pentium. MIPS shows the CPU to perform... exceptionally in all areas but the general instructions. Which seems to be one thing that is bottlenecking the core.
    SysInfo sees the CPU as performing like a 100mhz Cyrix, or in the area of a 486DX 33Mhz. But taking MIPS into account, it seems like it might be just a few things that stop this core from performing much better than it already is.

    Then some benchmarks run into a "EMM386 DMA not supported". I am guessing this might be causing some of the problems the core currently has. One of the cache benchmarks tests the CPU as being close to 1Ghz. Which I think shows that when it comes to cache, the core is doing great.

    But we might see some of the extreme performance go away, as the areas that are lacking get fixed. I think that is to be expected, but we will see.
    Attachments
    SysInfoCPU.png
    SysInfoCPU.png (200.58 KiB) Viewed 9981 times
    MIPS_bench.png
    MIPS_bench.png (298.13 KiB) Viewed 9981 times
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    Caldor wrote: Tue Aug 04, 2020 8:46 pm
    rhester72 wrote: Tue Aug 04, 2020 3:41 pmBecause #physics. No matter how clever your core implementation may be, you aren't going to make the DE10 itself reliably switch gate states any faster.
    Physics is not in the way of the MiSTer running Quake in the AO486 core. It comes down to core implementation, its not like its impossible for FPGAs to have the speed of a Pentium machine. The physics of the switches is not going to limit it, its whether runs out of logic space that will.
    This is completely, dead wrong. That's precisely what is in the way, unless you're looking for a 10MHz Pentium.
    Caldor wrote: Tue Aug 04, 2020 8:46 pm Getting FPU is not impossible for AO486. It might not be something it will get, but not sure why you would bash people to test the limits of the core and try to find out how far it might be able to get. I have not seen anything that suggests the switching of the FPGA gates was somehow going to limit it from doing f.ex. what a Pentium CPU could have done. If its possible to fit on the core, and people managed to get the logic required in the core, then I do not see physics being in the way of it.
    You haven't seen it, for the most part, because people who actually know how FPGA works aren't going to deliberately target an architecture that they can't reach. I'm floored that a) you think gates in FPGA approach anything near the speed of dedicated silicon and b) don't seem to understand that *absolutely* limits total performance in much the same way that the speed of light limits travel. :P
    Caldor wrote: Tue Aug 04, 2020 8:46 pm The FPGA is configured when you load the core. Then all the switches has been set, and the system will run the way its setup to, limited by the configuration, not some physical limitation of the FPGA. Pentium CPUs are 20 years old now. The technology the Cyclone FPGA is based on is much smaller than the chipsets from back then. So the physics of it is not going to be the limitation stopping it from being possible, that would not make any sense.
    With respect, you really need to research what a FPGA is and how it works under the hood. You are talking about it as if it's software, and it's absolutely not.
    Caldor wrote: Tue Aug 04, 2020 8:46 pm I am not sure why you mention 486SX 33Mhz performance... the performance has already reached then point of a 75Mhz Pentium, when it comes to raw CPU power. It still lacks Pentium features like FPU and MMX, but its clearly not unreasonable to begin looking at some of the games in this video. Especially with the performance we now see in Diablo and Starcraft.
    If you think the existing core has the performance characteristics of a Pentium 75, you sir are smoking crack. It's not even in the same *league*.

    I'm delighted to have any sort of real, intellectual discussions about the capabilities (and lack thereof) of Cyclone V, but you're going to have to step back from the rampant fanboyism and educate yourself about what FPGA is and how it works first. Your claims are just off the charts.
    User avatar
    Caldor
    Top Contributor
    Posts: 930
    Joined: Sat Jul 25, 2020 11:20 am
    Has thanked: 112 times
    Been thanked: 111 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by Caldor »

    You have to come up with something better than ad hominem attacks to defend your argument. FPGAs have already been used to run as a Pentium CPU, so why are you claiming that its impossible for the Cyclone FPGA of the DE10-Nano if its not its logic capacity that should be the issue, or the complexity of developing it? By logic space I am referring to the number of switches the FPGA can be configured to have. They get configured and then they act like physical hardware, because they practically are.

    You seem to be arguing there is some kind of physical distance, or resistance or something physical like that limiting the capabilities of FPGAs. That argument seems to fall short since it is possible to run an FPGA as a Pentium. Even a 200Mhz Pentium. Such CPUs are old and relevatively weak compared to what we have today. That they should be a problem physically for the way FPGAs work... well, I would have to see some documentation of some sort. If there is to be a limit to what an FPGA can do, it would more likely be something like at least a 1ghz CPU.
    User avatar
    SuperBabyHix
    Posts: 152
    Joined: Sun May 24, 2020 8:26 pm
    Has thanked: 44 times
    Been thanked: 36 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by SuperBabyHix »

    I believe what rhester72 is getting at is that FPGAs have different speed grades. While there may be an FPGA that can emulate a Pentium the Cyclone V may not be one of them.
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    @SuperBabyHix nailed it. The existing core already struggles to hit 100MHz of _internal_ speed due to this, and that nets about a 33MHz real-world equivalent. The idea of getting to Pentium 90 levels, even with hand-crafted optimal code, on the DE10-Nano is pure fantasy.

    I don't understand why we can't appreciate the beauty of a thing for what it is without having to pretend it's also made of rainbows and unicorn poop. :/
    rhester72
    Top Contributor
    Posts: 1128
    Joined: Thu Jun 11, 2020 2:31 am
    Has thanked: 13 times
    Been thanked: 172 times

    Re: Pushing ao486 core to its limits: Diablo II, Age of Empires, Simcity 3000, Starcraft -Win98SE

    Unread post by rhester72 »

    Because my mind literally wobbled at the thought, I actually bothered to look up the Pentium FPGA thing:

    https://www.researchgate.net/publicatio ... top_system

    So...someone did indeed implement a Pentium core at 25MHz on a $900 (US) Xilinx Virtex-4 FPGA in a lab setting with heavy-duty cooling. They go on to say that if manufactured in silicon with a 90nm process, you could extrapolate and say it's the equivalent of a 760MHz Pentium...which is like saying that if you could scale an ant up to human scale, they could carry 750,000 lbs of weight. It's true - at human scale. The trouble is, ants aren't human scale, and the Virtex-4 isn't anywhere in the same ballpark as 90nm silicon fabrication.

    So the moral of the story, such as it were, is that if you had a FPGA three times faster than the Cyclone V, you could achieve 25 MHz Pentium performance, which I fully believe.
    Post Reply