Writing Emulators For Fun And Self Loathing

Rebecca Martin

NI Dev Conf 2020

Introductions

  • Parrot, software engineer at Flexera
  • Did I say I really like parrots?
  • Did I also say that I stan Dwayne "The Rock" Johnson and also you should stan as well?
  • stan twice and loona ;)
  • In all seriousness...
  • Send all hatemail, flames to @laches1sm on Twitter and Github

What we're going to talk about

  • What is emulation, exactly?
  • Why do we emulate?
  • Brief overview of Assembly and Game Boy/DMG processor
  • How to start building your own emulator

What is emulation?

  • Bascially, the process which a computer can emulate another processor or system, or behave like it
  • Emulators you may have heard of before:
    • Visual Boy Advance (GB/GBA -> Windows/MacOS/Linux)
    • Pizza Boy (GB/GBA -> Android)
    • Dolphin (GameCube -> Windows/MacOSLinux)
    • DOSBox (DOS -> Windows/MacOS/Linux)
    • ZSNES (SNES/Super Famicom -> Windows/MacOS/Linux)
  • Can also be used for simulating processors, terminals... etc

Why emulate in the first place?

  • Preservation - older hardware is becoming harder to find in a working condition
  • Ease of access - fan translations, ROM hacks...

Why emulate in the first place?

  • Preservation - older hardware is becoming harder to find in a working condition
  • Ease of access - fan translations, ROM hacks...
Made with Slides.com