Session
FOSDEM 2021 Schedule
Emulator Development

Emulation 101: How anyone can do it

D.emulator
Steven Goodwin
Ever wanted to write an emulator? Or understand how they work? In this talk you learn how to start writing your own emulator from the ground up. You'll see the basic methods used to emulate CPUs, memory, and graphics cards. For the keen, we'll also cover advanced emulation techniques, licensing issues, and history.
There are a lot of old machines in the world, many are literally falling apart, and out of the consciousness of the programmers who once built them. But all deserved to be remembered. That's why we need more emulators developed in the open, so the knowledge isn't lost to history. By showing how easy it is, we hope to encourage others to do the same, regardless of their language of choice or which old computer they want to resurrect. With worked examples, live demos, and new games, there is a lot of easily accessible code to see, and advice on how (and where) to start writing emulators. The speaker is prolific developer Steven Goodwin who created the EMF emulator framework, and wrote 9 emulators during 2020. He is also a computer historian and part of the Centre for Computing History in Cambridge, England.

Additional information

Type devroom

More sessions

2/6/21
Emulator Development
Vasantha Crabb
D.emulator
The open source emulation landscape is littered with abandoned projects. MAME has survived stock market crashes, a pandemic, major internal refactoring, half a dozen leadership changes, and persistent rumours of the project’s imminent death. Why is MAME still here? How does MAME continue to attract contributors? What are some of the issues a project this size faces?
2/6/21
Emulator Development
Gauvain Roussel-Tarbouriech
D.emulator
The PlayStation 2, being the best-selling game console of all time, is a surprisingly complex beast. So, isn't it only fitting that its emulation in software is equally complicated? With PCSX2 developer GovanifY, we carefully peel back the layers of the world's most popular game console, and its most popular emulator. See why, twenty years later, it's now easier than ever to PL△︎Y IN Y◯︎UR W╳︎RL□.
2/6/21
Emulator Development
Panayiotis Talianos
D.emulator
Even to this day, there's something utterly captivating about bringing to life a piece of software effectively frozen in time, designed to run on what was originally a black box, by means of a device that one uses to check up on cat facts. Adding to this, it can even be enhanced and possibly perform better than its developers ever hoped for. If you also got to play around with your first computer in the early 2000s, chances are that console emulators were amongst the first pieces of software ...
2/6/21
Emulator Development
Thomas Harte
D.emulator
Many emulators offer a CRT filter, an artist's rendition of classic video. This presentation describes emulation of the an entire NTSC or PAL video device, to produce an engineer's rendition — starting from sync discrimination and separation, through PLLs into scan placement and via QAM to extracting colour.
2/6/21
Emulator Development
Rob Loach
D.emulator
RetroArch is a free, open-source and cross-platform frontend for emulators, game engines, video games, media players and other applications. The libretro API is designed to be fast, lightweight, portable, and without dependencies. Due to the number of systems and games it can play under a single user interface, RetroArch has grown immensely over the years, and has been well adopted by the emulation scene.
2/6/21
Emulator Development
Will Hawkins
D.emulator
I will demonstrate how to write a vectorized (parallel) Caesar cipher in RISC-V (in assembler) using the project's emulator. Using the emulator is necessary at this point for such an application because the vectorized extension to the RISC-V ISA is not standardized. I will further demonstrate how the emulator itself is able to emulate the execution of a single user-space application when it is actually designed to emulate an entire system. This will involve a demonstration and explanation of ...
2/6/21
Emulator Development
Thomas Harte
D.emulator
Emulator authors often like to measure themselves by invoking the concept of cycle perfection. In practice that under- or over-samples many real machines. This talk instead floats a bus-centric model of emulation.