~/talk

Building a GameBoy emulator with Elixir and Scenic

Talkat WebCamp Zagreb 2019 · 2019-10-11..10-12· [elixir-and-erlang, creative-coding]
slides:none on file

Builds a working GameBoy emulator that decodes the full opcode set (256 plus a 256‑entry prefixed table), renders tiles and sprites via the Scenic texture API instead of drawing ~65,000 rectangles, and handles timing quirks like HBlank/VBlank and interrupt-driven callbacks so screens don’t show garbage. Uses Elixir and Scenic, targets the hardware’s 4 MHz CPU and its 65K memory, discovers precomputing every tile variants explodes to ~5 GB, and ends with a playable though not fully optimized emulator.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 2:58Why build a GameBoy emulator
  3. 6:10What is a GameBoy and emulator
  4. 8:17GameBoy hardware components
  5. 13:08Understanding GameBoy instructions
  6. 15:22Implementing CPU instructions
  7. 15:46Rendering the GameBoy screen
  8. 17:34What is Scenic library
  9. 20:23Rendering tiles with Scenic
  10. 22:31Optimizing tile rendering
  11. 24:40Demo of the emulator
  12. 25:36Debugging rendering issues
  13. 26:27GameBoy screen rendering mechanics
  14. 27:31Interrupts and CPU interaction
  15. 29:24Expanding the emulator with interrupts
  16. 31:19Challenges and edge cases
  17. 32:23Value of attending conferences
  18. 34:14Closing thoughts and thanks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.