Emulator Development

FEX-Emu: Fast(-er) x86 emulation for AArch64

How we're creating a better gaming experience on ARM
<p>QEmu is a great project but it isn't really designed around high performance gaming. Let's create a new project that is specifically designed for running x86 and x86-64 games on AArch64. With FEX-Emu now off the ground let's talk about the problems of translating x86 and x86-64 to AArch64. Translating 32-bit games to a 64-bit process encounter a bunch of fun issues. On top of that, translating x86/x64 to Arm has issues that you wouldn't really expect. Come along for the ride with all the problems we encountered and where our future plans lie with FEX-Emu.</p>

Weitere Infos

Format devroom

Weitere Sessions

06.02.22
Emulator Development
Roland van Laar
D.emulator
<p>ScummVM reached a milestone with the release of 2.5.0. Version 0.0.1 was released 20 years ago. The latest release was also the first release that included support for a few Director games.</p> <p>MacroMedia Director, later Adobe Director, was a multimedia application authoring platform. Its ease of use led to a huge number of graphic adventure games being written with it. This was the late 90's. Some well known games are the Journeyman Project, Total Distortion and Spaceship Warlock.</p> ...
06.02.22
Emulator Development
Anisse Astier
D.emulator
<p>While writing a Z80 emulator, you might ask yourself: should it be 100% accurate ? Maybe not, if you just want to run old software. But what if you're not and this old software accidentally depends on undocumented behavior ? In this talk we'll explore how, 30 years after its design, a few people on a Russian retro-computing forum reverse engineered an undocumented Z80 register: MEMPTR. And how 6 years later, another even less known secret register was discovered.</p>
06.02.22
Emulator Development
Stefanos Kornilios Mitsis Poiitidis
D.emulator
<p>Emulators, especially ones targeting real time performance, can become very complex, and can present unique debugging challenges - more akin to cpu, operating system and compilers than typical software projects.</p> <p>In this talk I will cover common and not-so-common classes of bugs that manifest themselves in a vast range of emulators (gameboy, dreamcast, x86/64 usermode will be used as examples), and strategies and heuristics I've used over the years to identify, prevent, mitigate, fix ...
06.02.22
Emulator Development
Alexandro Sanchez Bach
D.emulator
<p>The PlayStation 3 features one of the most ambitious and fascinating architectures among video game consoles. Once deemed near-impossible to emulate in real-time, we now celebrate the 10th anniversary of its most popular emulator: RPCS3, a free and open-source software capable of running two thirds of the console's catalogue on PC.</p> <p>This talk describes the hardware and software stack of the PlayStation 3, covering the IBM Cell/B.E. CPU, Nvidia RSX GPU and Sony's CellOS operating system ...
06.02.22
Emulator Development
Thomas Harte
D.emulator
<p>Most emulator authors will have encountered a test suite; a series of compliance tests that indicate whether their implementation matches original hardware. But these suites tend to assume a lot of working functionality beyond the part they are specifically testing, often being designed by an intelligent human being to test finished emulators.</p> <p>This presentation covers an alternative source and target of tests: random numbers, to test individual processor instructions, so that future ...
06.02.22
Emulator Development
Stephanie Gawroriski
D.emulator
<p>SquirrelJME is a from-scratch and clean-room built Java Virtual Machine implementation which targets the J2ME/Java ME runtimes which have been historically used for mobile applications such as those running on flip phones. The presentation will go over the unique challenges of implementing a JVM along with differences compared to traditional CPUs. Additionally due to the rapidly changing nature of traditional desktop Java Virtual Machines, backwards compatibility with older byte codes is not ...
06.02.22
Emulator Development
Thomas Harte
D.emulator
<p>A disadvantage of many emulators is that they require the user to know how they should configure a machine — which model, which expansions and peripherals — and what they need to type before they can use their desired classic software. Wouldn't it be nice if the emulator could just figure all that stuff out for you?</p> <p>This presentation covers three means of doing so: ahead-of-time static analysis, runtime dynamic analysis, and brute-force try-them-all parallel execution.</p>