~/talk

Emulating the Nintendo Game Boy CPU with Elm

Talkat Oslo Elm Day 2019 · on Saturday, 2019-02-16· [functional-programming, creative-coding]
links:none on file
slides:none on file

An Elm-based Game Boy CPU emulator compiles to JavaScript and runs ROMs in the browser with two ports: raw pixel canvas and Web Audio, successfully running games like Tetris and a demo Fibonacci program. Implementation uses opaque Word8/Word16 types, RAM as an Array of Word8, a 2000-line opcode map implementing roughly ~500 instructions, and a tight main loop targeting about one million cycles per second; performance tuning takes about half the development time, initial prototype runs at 1 FPS but becomes playable after optimization.

AI-written summary · about

  1. 0:00Introduction to project
  2. 1:53Why Elm for emulation
  3. 3:57Game Boy CPU basics
  4. 6:01Implementing registers in Elm
  5. 7:05CPU instructions overview
  6. 8:31Instruction encoding details
  7. 9:35Memory management unit
  8. 10:37Main emulation loop
  9. 11:40Fibonacci demo walkthrough
  10. 15:34Next steps for full emulator
  11. 16:58Resources and Q&A
~/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.