Emulator Development

Emulating the full NTSC stack

Creating objective video artefacts
D.emulator
Thomas Harte
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.
In the implementation discussed work is split between CPU and GPU and a range of emulated source machines are demonstrated, including in-phase machines such as the Atari 2600, machines that routinely generate sync errors such as the ZX80, machines that generate a colour signal in software such as the Apple II, and interlaced machines such as the Acorn Electron.

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
Steven Goodwin
D.emulator
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.
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
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.