v15 & new recompiler update

Discussion of development and patch submission.
User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

v15 & new recompiler update

Post by SarahWalker » Sun 23 Dec, 2018 11:20 am

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!

jznomoney
Posts: 93
Joined: Sat 06 Dec, 2014 9:11 pm

Re: v15 & new recompiler update

Post by jznomoney » Sun 23 Dec, 2018 12:41 pm

Merry Christmas

terub56
Posts: 25
Joined: Mon 23 Jan, 2017 12:31 pm

Re: v15 & new recompiler update

Post by terub56 » Sun 23 Dec, 2018 1:37 pm

Thanks for all these improvements and Merry Christmas to everyone.

User avatar
te_lanus
Posts: 93
Joined: Tue 28 Jul, 2015 4:47 am

Re: v15 & new recompiler update

Post by te_lanus » Sun 23 Dec, 2018 1:42 pm

Thanx Sarah and Merry Christmas all

User avatar
Martin_Riarte
Posts: 30
Joined: Mon 12 Nov, 2018 7:27 pm

Re: v15 & new recompiler update

Post by Martin_Riarte » Sun 23 Dec, 2018 6:12 pm

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!!!.

shermanp
Posts: 122
Joined: Sat 18 Feb, 2017 2:09 am

Re: v15 & new recompiler update

Post by shermanp » Sun 23 Dec, 2018 9:41 pm

Thanks for the update Sarah! Merry Christmas!

User avatar
leilei
Posts: 696
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v15 & new recompiler update

Post by leilei » Mon 24 Dec, 2018 12:06 am

SarahWalker wrote:
Sun 23 Dec, 2018 11:20 am
ARMv7 and v8 recompilers work
Ooh!
SarahWalker wrote:
Sun 23 Dec, 2018 11:20 am
486/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)

rex_c
Posts: 9
Joined: Sun 03 Jun, 2018 10:23 am

Re: v15 & new recompiler update

Post by rex_c » Mon 24 Dec, 2018 5:01 pm

Happy & Merry Christmas
I have nothing to lose now.

MiraiMiracle
Posts: 20
Joined: Fri 06 Jul, 2018 4:42 pm

Re: v15 & new recompiler update

Post by MiraiMiracle » Tue 25 Dec, 2018 10:47 am

Thank you!

User avatar
omarsis81
Posts: 722
Joined: Thu 17 Dec, 2015 6:20 pm

Re: v15 & new recompiler update

Post by omarsis81 » Tue 25 Dec, 2018 6:06 pm

Thank you for the update and merry christmas!

User avatar
Araripe
Posts: 12
Joined: Tue 16 Oct, 2018 11:07 am

Re: v15 & new recompiler update

Post by Araripe » Tue 25 Dec, 2018 8:26 pm

Thanks and Merry Christmas!!!

User avatar
gen_angry
Posts: 80
Joined: Sat 25 Feb, 2017 6:48 am

Re: v15 & new recompiler update

Post by gen_angry » Wed 26 Dec, 2018 12:17 am

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?

User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v15 & new recompiler update

Post by SarahWalker » Thu 27 Dec, 2018 9:16 am

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.

User avatar
dreamer
Posts: 37
Joined: Wed 28 Dec, 2016 11:56 am

Re: v15 & new recompiler update

Post by dreamer » Mon 31 Dec, 2018 9:12 am

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 :)

vorob
Posts: 46
Joined: Wed 03 Aug, 2016 7:28 am

Re: v15 & new recompiler update

Post by vorob » Wed 16 Jan, 2019 1:03 pm

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?

User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v15 & new recompiler update

Post by SarahWalker » Wed 16 Jan, 2019 6:32 pm

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.

Danfun64
Posts: 3
Joined: Mon 18 Dec, 2017 9:39 pm

Re: v15 & new recompiler update

Post by Danfun64 » Tue 12 Feb, 2019 11:23 pm

So, which of the two v15 dev recompilers is faster, the x86 or x86_64 one?

User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v15 & new recompiler update

Post by SarahWalker » Wed 13 Feb, 2019 7:39 pm

x86, just like in older versions. x86-64 is only for if you can't use the x86 version.

teppic
Posts: 44
Joined: Tue 20 Jun, 2017 12:31 pm

Re: v15 & new recompiler update

Post by teppic » 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.

User avatar
omarsis81
Posts: 722
Joined: Thu 17 Dec, 2015 6:20 pm

Re: v15 & new recompiler update

Post by omarsis81 » 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

User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v15 & new recompiler update

Post by SarahWalker » Mon 25 Mar, 2019 6:33 pm

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.

User avatar
SarahWalker
Site Admin
Posts: 1726
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v15 & new recompiler update

Post by SarahWalker » Mon 25 Mar, 2019 6:33 pm

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.

User avatar
dreamer
Posts: 37
Joined: Wed 28 Dec, 2016 11:56 am

Re: v15 & new recompiler update

Post by dreamer » Tue 26 Mar, 2019 7:57 pm

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!

Cheez
Posts: 28
Joined: Tue 19 Dec, 2017 4:08 am

Re: v15 & new recompiler update

Post by Cheez » 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.

User avatar
omarsis81
Posts: 722
Joined: Thu 17 Dec, 2015 6:20 pm

Re: v15 & new recompiler update

Post by omarsis81 » 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

User avatar
ppgrainbow
Posts: 468
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: v15 & new recompiler update

Post by ppgrainbow » Wed 27 Mar, 2019 2:34 am

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.

altheos
Posts: 66
Joined: Wed 24 Feb, 2016 7:27 pm

Re: v15 & new recompiler update

Post by altheos » 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.

User avatar
omarsis81
Posts: 722
Joined: Thu 17 Dec, 2015 6:20 pm

Re: v15 & new recompiler update

Post by omarsis81 » Wed 27 Mar, 2019 2:02 pm

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

User avatar
gen_angry
Posts: 80
Joined: Sat 25 Feb, 2017 6:48 am

Re: v15 & new recompiler update

Post by gen_angry » Sat 30 Mar, 2019 11:11 pm

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.

tk421
Posts: 59
Joined: Sat 18 Jun, 2016 6:57 am

Re: v15 & new recompiler update

Post by tk421 » Mon 01 Apr, 2019 6:59 pm

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?

Post Reply