Software is commonly advertised as portable across hardware. However, the promises of portability fall short in practice and most software are to various degrees dependent on their hardware. This was especially true at the beginning of the personal computing era. As older hardware fades out and disappears from the market, programs designed for these systems are lost. Or are they?
This talk will explore cycle-accurate hardware emulation and how to emulate systems and programs based on the 6502 processor, famously used in the Apple II, Atari 2600, and the Nintendo Entertainment Systems. The main topics that will be discussed are the basic architecture of an emulator and how it interprets programs, memory device emulation, challenges of achieving cycle accurate emulation, system emulation with multiple processing units (including video and audio), and debugging.
Dr. Thierry Lavoie is a former senior engineer turned manager in the Software Integrity Group at Synopsys. He holds a Bachelor of computer engineering, and a Master's degree and a Ph.D. in static program analysis from the University of Montreal, where he also lectured on compilers and data structures for several years. He is currently the principal voter on the ISO C++ Standard Committee for Synopsys. He has implemented parsers for PHP, Java, and C/C++, has a knack for exotic data structures, and loves designing software for complex problems.
800 - 6 Ave. S.W.
Plus-15 Conference Room
There is $2 parking after 16:00 one block north-east of the meeting location, in the underground parkade at McDougall Centre.
Snacks at 17:30. Meeting begins at 18:00.
Attendance is free for CUUG members, or $10 (cash only) at the door for non-CUUG members.
See the main CUUG web page for general information about CUUG.