Page 1 of 1

a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 8:23 am
by luishg
Hi all,

This week I got my MiSTer and I plan to test my 180 DOS game collection to help with the development of any DOS related project. I will focus on potential problems and offer some information about the current state and actual performance of this awesome core.

This is a first impression video that includes an initial benchmark of the CPU and a few - not so demanding - games.

Settings:

MiSTer fpga + 128 SDRAM Board.
Fresh DOS 6.22 install (ES).

voODspR.png
voODspR.png (141.43 KiB) Viewed 10116 times
wTnc8dA.png
wTnc8dA.png (1.26 MiB) Viewed 10116 times

CPU BENCHMARK: https://youtu.be/VeDfTqAUDK4?t=110

LOOM: https://youtu.be/VeDfTqAUDK4?t=219
BATTLE CHESS: https://youtu.be/VeDfTqAUDK4?t=362
BUDOKAN: https://youtu.be/VeDfTqAUDK4?t=496 (video glitches)
FLASHBACK: https://youtu.be/VeDfTqAUDK4?t=592
GOBLIIINS: https://youtu.be/VeDfTqAUDK4?t=735
INDIANAPOLIS 500: https://youtu.be/VeDfTqAUDK4?t=829
INDY 3: https://youtu.be/VeDfTqAUDK4?t=928
MANIAC MANSION: https://youtu.be/VeDfTqAUDK4?t=1048
SYSTEM SHOCK: https://youtu.be/VeDfTqAUDK4?t=1204
SUPAPLEX: https://youtu.be/VeDfTqAUDK4?t=1363 (sound problems, probably because bad setting from my side)
TETRIS CLASSIC: https://youtu.be/VeDfTqAUDK4?t=1465
SIMON THE SORCERER: https://youtu.be/VeDfTqAUDK4?t=1588
WINDOWS 3.1: https://youtu.be/VeDfTqAUDK4?t=1767
THE DAY OF TENTACLE: https://youtu.be/VeDfTqAUDK4?t=1897 (problem with the voices, probably because bad setting from my side)
WOLFENSTEIN 3D: https://youtu.be/VeDfTqAUDK4?t=2048
PSYCHOPINPALL: https://youtu.be/VeDfTqAUDK4?t=2216

As you can see in the video, the performance is really good for a late 80s DOS computer so at this moment I would focus on stability and compatibility (ie. memmaker is not able to change the memory configuration, a few olds games like "Livingston Supongo" halt after some time, etc.).

I will try a more extensive test by game category next time.


Best,

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 8:31 am
by KnC
luishg wrote: Sat May 30, 2020 8:23 am Hi all,

This week I got my MiSTer and I plan to test my 180 DOS games collection to help with the development of any DOS related project. I will focus on potential problems and offer some information about the current state and real performance of this awesome core.

I will try a more extensive test by game category next time.
It would be nice if you could compile a list of games that are working well in the core as you test them

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 8:49 am
by luishg
Thanks KnC,

Sure, I will share a comprehensive list of working games on the ao486 MiSTer here. Perhaps we could move it to the ao486 wiki to help following future core improvements.

Best,

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 9:14 am
by Cebion
Luishg, I appreciate your effort but I don't know if it is even worth the effort with this uncomplete core in this current state. So many missing implementations and the core doesn't deserve the name 486. Once basic core functions are out we can go ahead and create a compatibility chart.

In my opinion doesn't make sense right now.

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 10:06 am
by luishg
I agree Cebion,

Sorgelig mentioned the ao486 implmentation is mostly based on scripts, so the performance is quite limited without a refactoring. From the Jotego patreon, this kind of complex processor would need some "hardcore" work and probably a team:

Jotego -"En algún momento quisiera mirar las CPU de Intel, pero seguramente es un trabajo que requiera montar un pequeño equipo unos meses para hacerlo".

But this is the only thing we have at this moment, and actually not so bad for a starting point. ~286/386 cpu performance would cover a lot of content and if we are able to fix a few things getting some stability would be a great solution for a DOS retro machine.

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 10:37 am
by Grabulosaure
I have been trying to make a i486-class CPU, but it's a a long and complex task. So far I have written a first version of most of the integer unit microcode. It gives a good idea of what execution units need to do, the number of temporary and hidden registers...

AO486 was written from BOCHS source code (which is a great idea) and a bit automatically converted. Still an impressive feat. I'd like to make a CPU with a more low level description where all complex operations are explicitly sequenced (something like a CALL FAR with all tasks and gates and register saves is >30 micro-ops). Making it hopefully smaller than AO486. All normal code is still 1 or 2 µOPs long, so not slower for what matters.

For cache and paged MMU I'd like to get hints from some parts of another CPU l've done as x86 isn't peculiar for that (just handle coherency between data, instructions and DMA). Segmentation is handled in microcode (which is separate from paging in x86).
For the FPU, I have a single/double FPU which needs to be extended to 80bits, complex math operations is "just" more microcode (and eventually a CORDIC unit, and a decimal conversion unit).

Another entirely different core with a cycle accurate 8086 and 8088 CPU would be useful for 16bits PCs, PCjr, Tandy1000...

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 10:41 am
by Heuristics
I sometimes attempt to play day of the tentacle on original cd on real pc hardware and it there are often audio problems there as well, this might be correctly emulated behaviour. You often need a machine that is very slow in order to play it correctly.

Re: a0486 Benchmark (180 DOS games)

Posted: Sat May 30, 2020 2:25 pm
by NightShadowPT
Grabulosaure wrote: Sat May 30, 2020 10:37 am I have been trying to make a i486-class CPU, but it's a a long and complex task. So far I have written a first version of most of the integer unit microcode. It gives a good idea of what execution units need to do, the number of temporary and hidden registers...
Very happy to learn you are working on this topic.

Always had the impression that this core never got much love and no one was actively developing for it.

These are great news.

Looking forward to see the fruits of your labor.

Thanks

Re: a0486 Benchmark (180 DOS games)

Posted: Sun Jun 07, 2020 2:40 am
by PikWik
i would love to one day be able to play some of the more popular DOS games (all the sierra stuff, maniac mansion, & secret of monkey island in particular)

i understand this core will see gradual progression, and possibly never get to a point of playing stuff like warcraft 2, xcom, & quake.
but it will be nice when the mister can properly play classic DOS games via FPGA :)

Re: a0486 Benchmark (180 DOS games)

Posted: Sun Jun 07, 2020 3:26 am
by bbond007
PikWik wrote: Sun Jun 07, 2020 2:40 am i would love to one day be able to play some of the more popular DOS games (all the sierra stuff, maniac mansion, & secret of monkey island in particular)
Most classic VGA (320x200) Sierra and Lucasfilm games mentioned already run perfectly well in the ao486 core. Early Sierra games tend to have issues on the faster 486 and Pentium CPUs anyway :)

For the newer SVGA (640x480) adventure game stuff you do have the option of using ScummVM (today)...

Re: a0486 Benchmark (180 DOS games)

Posted: Sun Jun 07, 2020 11:02 am
by lomdar67
PikWik wrote: Sun Jun 07, 2020 2:40 am i would love to one day be able to play some of the more popular DOS games (all the sierra stuff, maniac mansion, & secret of monkey island in particular)
Why not use SummVM?

https://github.com/bbond007/MiSTer_ScummVM

Re: a0486 Benchmark (180 DOS games)

Posted: Mon Jun 08, 2020 7:32 am
by Newsdee
lomdar67 wrote: Sun Jun 07, 2020 11:02 am Why not use SummVM?
https://github.com/bbond007/MiSTer_ScummVM
I heard that approach has audio lag issues, have they been fixed?

Re: a0486 Benchmark (180 DOS games)

Posted: Mon Jun 08, 2020 1:51 pm
by akeley
You can play many DOS games (including the aforementioned adventures) on Amiga.

But having a robust 486 core would be of course awesome. The 286-486 years were the best period in gaming, IMO

Re: a0486 Benchmark (180 DOS games)

Posted: Tue Jun 09, 2020 3:43 am
by bbond007
Newsdee wrote: Mon Jun 08, 2020 7:32 am
lomdar67 wrote: Sun Jun 07, 2020 11:02 am Why not use SummVM?
https://github.com/bbond007/MiSTer_ScummVM
I heard that approach has audio lag issues, have they been fixed?
If you regularly updated your MiSter then the issue was probably fixed back in 2019.

If you still experience audio lag or irregularities, then I'd suggest checking the overall compatibility for that specific game here:
https://www.scummvm.org/compatibility/

Re: a0486 Benchmark (180 DOS games)

Posted: Sun Jul 12, 2020 8:53 pm
by bigern77
bbond007 wrote: Sun Jun 07, 2020 3:26 am
PikWik wrote: Sun Jun 07, 2020 2:40 am i would love to one day be able to play some of the more popular DOS games (all the sierra stuff, maniac mansion, & secret of monkey island in particular)
Most classic VGA (320x200) Sierra and Lucasfilm games mentioned already run perfectly well in the ao486 core. Early Sierra games tend to have issues on the faster 486 and Pentium CPUs anyway :)

For the newer SVGA (640x480) adventure game stuff you do have the option of using ScummVM (today)...
The earlier AGI-based CGA/EGA Sierra adventure games - Space Quest 1/2, King's Quest 1/2/3, etc. - don't work. The games start but the text characters are garbled nonsense.

Re: a0486 Benchmark (180 DOS games)

Posted: Thu Jul 16, 2020 3:35 pm
by luishg
Right bigern77,

I think it's solved: https://github.com/MiSTer-devel/ao486_MiSTer/issues/20

But I'm not sure if you will find the fix on the regular scripts (if you would get the last bios/code through update_all, etc.).

Re: a0486 Benchmark (180 DOS games)

Posted: Fri Jul 17, 2020 6:11 am
by lroby74
bbond007 wrote: Sun Jun 07, 2020 3:26 am
PikWik wrote: Sun Jun 07, 2020 2:40 am i would love to one day be able to play some of the more popular DOS games (all the sierra stuff, maniac mansion, & secret of monkey island in particular)
Most classic VGA (320x200) Sierra and Lucasfilm games mentioned already run perfectly well in the ao486 core. Early Sierra games tend to have issues on the faster 486 and Pentium CPUs anyway :)

For the newer SVGA (640x480) adventure game stuff you do have the option of using ScummVM (today)...
I prefer to use ScummVM for all old graphic adventures, Maniac Mansion, Secret of Monkey Island too.
Really don't understand why going mad on 486 while are perfect on ScummVM

Re: a0486 Benchmark (180 DOS games)

Posted: Fri Jul 17, 2020 7:02 am
by Cebion
And the other 90% of games that don't run on ScummVM? :D

Re: a0486 Benchmark (180 DOS games)

Posted: Fri Jul 17, 2020 7:35 am
by luishg
Sure,

ScummVM and emulators are great for certain games, but here we are looking for the full experience of having a working DOS computer and all its content running on it.

BTW I am trying to group some common glitches to report, as you can see here Budokan and Capitan Trueno shows a very similar "sprite" off-set and dirty trails:

https://github.com/MiSTer-devel/ao486_MiSTer/issues/19

If you find something similar on any other game perhaps we can find the problem with our ao486 graphics.

Re: a0486 Benchmark (180 DOS games)

Posted: Fri Jul 17, 2020 12:45 pm
by rhester72
Similarly, there are ghost mouse pointers on many earlier EGA Gold Box games.

Re: a0486 Benchmark (180 DOS games)

Posted: Sun Jul 19, 2020 4:28 pm
by Kidpanda
Just want to say, Day of the Tentacle runs fine for me with voices on the main release of ao486.

Re: a0486 Benchmark (180 DOS games)

Posted: Mon Jul 20, 2020 10:56 pm
by bengmo
great work, thanks for testing games!

Re: a0486 Benchmark (180 DOS games)

Posted: Tue Sep 22, 2020 12:51 am
by bigern77
luishg wrote: Thu Jul 16, 2020 3:35 pm Right bigern77,

I think it's solved: https://github.com/MiSTer-devel/ao486_MiSTer/issues/20

But I'm not sure if you will find the fix on the regular scripts (if you would get the last bios/code through update_all, etc.).
Thanks luishg, I can confirm that using the latest vga bios fixed the text problem in those games for me.