Page 1 of 3

v15 & new recompiler update

Posted: Sun 23 Dec, 2018 11:20 am
by SarahWalker
Just a quick end-of-year update to let you know the status of v15 and the new dynamic recompiler I've been working on since v14. The new recompiler has finally hit feature and performance parity with the v14 recompiler. I've not done exhaustive performance comparisions, but it looks like the new x86 recompiler is perhaps slightly faster than the old on modern CPUs (i7-7700k and Ryzen 5 something-or-other), but I've seen up to 25% uplift on older systems, eg Core 2 Duo. x86-64 is faster than the old, and the new design means it's less likely to have functional regressions that occasionally plagued the old. ARMv7 and v8 recompilers work, though you'll need a fairly meaty system; a Raspberry Pi 3 (Cortex-A53 @ 1.3 GHz) struggles to get beyond about 486/20, an Arndale (Cortex-A15 @ 1.7 GHz) can hit 486/100 running Quake, though there's more work to be done on both.

There are still numerous optimisations to be done, so I'm hopeful the eventual v15 release will give a decent performance uplift on all systems. It appears that it's on track for a release sometime in the spring, though as ever please don't hold me to that.

Have a good Christmas everyone!

Re: v15 & new recompiler update

Posted: Sun 23 Dec, 2018 12:41 pm
by jznomoney
Merry Christmas

Re: v15 & new recompiler update

Posted: Sun 23 Dec, 2018 1:37 pm
by terub56
Thanks for all these improvements and Merry Christmas to everyone.

Re: v15 & new recompiler update

Posted: Sun 23 Dec, 2018 1:42 pm
by te_lanus
Thanx Sarah and Merry Christmas all

Re: v15 & new recompiler update

Posted: Sun 23 Dec, 2018 6:12 pm
by Martin_Riarte
Thank you Sarah for your dedication and for creating a product that not only serves me to satisfy my desire for nostagia,
but also for the usefulness that it represents for a programmer of yesteryear that with the economic problems that my
country suffers, still, although you do not believe it , there are people who have a Pentium 90 ...

From Argentina, THANKS, Many thanks!

and happy Christmas to all!

Feliz navidad mi país querido y mucho amor para todos!!!.

Re: v15 & new recompiler update

Posted: Sun 23 Dec, 2018 9:41 pm
by shermanp
Thanks for the update Sarah! Merry Christmas!

Re: v15 & new recompiler update

Posted: Mon 24 Dec, 2018 12:06 am
by leilei
SarahWalker wrote: Sun 23 Dec, 2018 11:20 amARMv7 and v8 recompilers work
Ooh!
SarahWalker wrote: Sun 23 Dec, 2018 11:20 am486/20
Assuming the AMIBIOS recompiler hang isn't present with 486s that slow, that's great!

My curiosity is if there's proper treatment of the VC4 as the video drivers are pretty slow and would likely bottleneck. PCem for Pi would need either EGL output or use OpenMAX for best possible video performance. It's a problem that affects about everything that isn't Minecraft Pi. Chocolate-Doom above 20fps is even a struggle.

(For more Pi3B performance context, DOSBox SVN with the arm dynarec can't seem to break past 486DX2/66 levels of performance)

Re: v15 & new recompiler update

Posted: Mon 24 Dec, 2018 5:01 pm
by rex_c
Happy & Merry Christmas

Re: v15 & new recompiler update

Posted: Tue 25 Dec, 2018 10:47 am
by MiraiMiracle
Thank you!

Re: v15 & new recompiler update

Posted: Tue 25 Dec, 2018 6:06 pm
by omarsis81
Thank you for the update and merry christmas!

Re: v15 & new recompiler update

Posted: Tue 25 Dec, 2018 8:26 pm
by Araripe
Thanks and Merry Christmas!!!

Re: v15 & new recompiler update

Posted: Wed 26 Dec, 2018 12:17 am
by gen_angry
Thanks :) sounds great. Can't wait to give it a try! I have quite a game library that I can use to put it through it's paces once you feel comfortable releasing it.

Will the weirdness that sometimes happens with slower 486s be fixed?

Re: v15 & new recompiler update

Posted: Thu 27 Dec, 2018 9:16 am
by SarahWalker
leilei wrote: Mon 24 Dec, 2018 12:06 am My curiosity is if there's proper treatment of the VC4 as the video drivers are pretty slow and would likely bottleneck.
At present I'm using a Gentoo variant which uses entirely software based composition, so the answer is currently no ;) Video performance isn't too bad though, since all blitting is pushed off to a separate thread.

On Raspbian there are further problems, as SDL won't play nicely with X11 there. A proper Pi release would most likely need a separate render backend, and possibly a fullscreen UI. But that's a further project on top of what I'm already doing.

Re: v15 & new recompiler update

Posted: Mon 31 Dec, 2018 9:12 am
by dreamer
Good job on the continued progress! Even though I am unable to add anything to the development I am always excited to see news and features coming out. Happy holidays and best of luck for the coming 2019 :)

Re: v15 & new recompiler update

Posted: Wed 16 Jan, 2019 1:03 pm
by vorob
Thank you for your work! I already said once, but will repeat and repeat that you are doing fascinating work, I've ever seen. With your emulator, we can enjoy old software and games the way they were back then, without any compromises.

Didn't see, you have any sort of donation option?

Re: v15 & new recompiler update

Posted: Wed 16 Jan, 2019 6:32 pm
by SarahWalker
No. Here's my view on that from a previous thread :
I've tried accepting donations in the past on another project (RPCemu). My experience was that it just put pressure on me to force myself to work on the project when I was burnt out, or otherwise not in a state to work on it. That's something I really don't want to happen again.

Re: v15 & new recompiler update

Posted: Tue 12 Feb, 2019 11:23 pm
by Danfun64
So, which of the two v15 dev recompilers is faster, the x86 or x86_64 one?

Re: v15 & new recompiler update

Posted: Wed 13 Feb, 2019 7:39 pm
by SarahWalker
x86, just like in older versions. x86-64 is only for if you can't use the x86 version.

Re: v15 & new recompiler update

Posted: Mon 25 Mar, 2019 10:24 am
by teppic
Hey Sarah, I was just wondering if you'd decided to make development private until release, as I noticed the repository hasn't had many updates at all for quite a while. Seems we're just getting towards spring so I'm looking forward to seeing what v15 has.

Re: v15 & new recompiler update

Posted: Mon 25 Mar, 2019 6:04 pm
by omarsis81
Sarah: do you still think it is possible to have a high end Pentium II or Katmais with current hardware? Based on the optimisations you been doing

Re: v15 & new recompiler update

Posted: Mon 25 Mar, 2019 6:33 pm
by SarahWalker
teppic wrote: Mon 25 Mar, 2019 10:24 am Hey Sarah, I was just wondering if you'd decided to make development private until release, as I noticed the repository hasn't had many updates at all for quite a while. Seems we're just getting towards spring so I'm looking forward to seeing what v15 has.
It's currently private due to the major potential for performance and compatibility regressions during development. I'm hoping to merge it back to trunk in the next few weeks.

Re: v15 & new recompiler update

Posted: Mon 25 Mar, 2019 6:33 pm
by SarahWalker
omarsis81 wrote: Mon 25 Mar, 2019 6:04 pm Sarah: do you still think it is possible to have a high end Pentium II or Katmais with current hardware? Based on the optimisations you been doing
No. K6-2 if you have a _very_ fast machine and choose your software carefully.

Re: v15 & new recompiler update

Posted: Tue 26 Mar, 2019 7:57 pm
by dreamer
SarahWalker wrote: Mon 25 Mar, 2019 6:33 pm It's currently private due to the major potential for performance and compatibility regressions during development. I'm hoping to merge it back to trunk in the next few weeks.
It's nice to hear that progress is still ongoing. Waiting patiently for new updates, hope things are working out smoothly!

Re: v15 & new recompiler update

Posted: Wed 27 Mar, 2019 12:42 am
by Cheez
I feel that after a certain point you no longer need to be emulating machines, because basic virtualization will cover those bases for everything but the "it's slow" part. There shouldn't be much in the Pentium 2 age that needs an "accurate" emulator to be able to do everything it needs to do.

Re: v15 & new recompiler update

Posted: Wed 27 Mar, 2019 2:20 am
by omarsis81
Cheez wrote: Wed 27 Mar, 2019 12:42 am I feel that after a certain point you no longer need to be emulating machines, because basic virtualization will cover those bases for everything but the "it's slow" part. There shouldn't be much in the Pentium 2 age that needs an "accurate" emulator to be able to do everything it needs to do.
I disagree. Pentium II covers 1998/99 gaming and most game won't work in virtual machines
Not because we need accurate CPU timings, but because those game work only in Windows 9x, and I believe there are no virtualization programs for those OS.
You do get with virtualization with games that run fine on Windows XP onwards.
Also, in 1998/99 we still have plenty of Glide games, and virtualization and wrappers do not fully work, and this is where PCem comes into scene

Re: v15 & new recompiler update

Posted: Wed 27 Mar, 2019 2:34 am
by ppgrainbow
omarsis81 wrote: Wed 27 Mar, 2019 2:20 am
Cheez wrote: Wed 27 Mar, 2019 12:42 am I feel that after a certain point you no longer need to be emulating machines, because basic virtualization will cover those bases for everything but the "it's slow" part. There shouldn't be much in the Pentium 2 age that needs an "accurate" emulator to be able to do everything it needs to do.
I disagree. Pentium II covers 1998/99 gaming and most game won't work in virtual machines
Not because we need accurate CPU timings, but because those game work only in Windows 9x, and I believe there are no virtualization programs for those OS.
You do get with virtualization with games that run fine on Windows XP onwards.
Also, in 1998/99 we still have plenty of Glide games, and virtualization and wrappers do not fully work, and this is where PCem comes into scene
The Pentium II processor was produced from May 7, 1997 to February 28, 1999. It wasn't until early 1998 when the first PCs started using the Pentium II processor.

I don't think that PCem has the capability to emulate machines with either the Pentium Pro nor Pentium II processors at this time.

Re: v15 & new recompiler update

Posted: Wed 27 Mar, 2019 7:27 am
by altheos
SarahWalker wrote: Mon 25 Mar, 2019 6:33 pm No. K6-2 if you have a _very_ fast machine and choose your software carefully.
K6-2 means a nice improvement for high-end machine. And does it means OOO execution too ?
Thanks for all the efforts put in this.

Re: v15 & new recompiler update

Posted: Wed 27 Mar, 2019 2:02 pm
by omarsis81
altheos wrote: Wed 27 Mar, 2019 7:27 am
SarahWalker wrote: Mon 25 Mar, 2019 6:33 pm No. K6-2 if you have a _very_ fast machine and choose your software carefully.
K6-2 means a nice improvement for high-end machine. And does it means OOO execution too ?
Thanks for all the efforts put in this.
Indeed it is! I'm very pleased with that
Many thanks in advancement for Sarah for a year of hard work

Re: v15 & new recompiler update

Posted: Sat 30 Mar, 2019 11:11 pm
by gen_angry
omarsis81 wrote: Wed 27 Mar, 2019 2:20 am I disagree. Pentium II covers 1998/99 gaming and most game won't work in virtual machines
Not because we need accurate CPU timings, but because those game work only in Windows 9x, and I believe there are no virtualization programs for those OS.
You do get with virtualization with games that run fine on Windows XP onwards.
Also, in 1998/99 we still have plenty of Glide games, and virtualization and wrappers do not fully work, and this is where PCem comes into scene
Microsoft Virtual PC 2007 is old af but I used to have some decent luck in getting Win98SE with DOS/Win9x games working on it at a decent speed. It emulates a Pentium II iirc, not nearly as accurate as PCem but it did the trick for me. It's not very supported in Win10 though :( so you'd have to do some fuckery to get it working but it works great in Win 7.

Between GOG and PCem using a Pentium MMX 233, I've covered all the bases for the games that I'm personally interested in. Anything newer works fine either natively or in VirtualBox with an XP guest.

Re: v15 & new recompiler update

Posted: Mon 01 Apr, 2019 6:59 pm
by tk421
I am sure v15 will be a big success. I am not sure which kind of CPU speed I would need to run a K6-2 cpu, but that would be really interesting to know. I am currently waiting for the new 9th gen laptops to be available for purchase. I would have purchased the new Alienware area 51m laptop by now, but it is only available in a 17 inch form factor, and typically I only buy 15 inch laptops.

gen_angry, have you succeeded in running Virtual PC 2007 on Win10 64 bit? It is nowhere near as good as PCem (it will never come close to the perfection that is PCem), but I know I would love to get it working on Windows 10 64 bit. If so, may I ask how you got Virtual PC 2007 working on Windows 10?