~/talk

Writing a Gameboy emulator in Ruby

Talkat RubyConf AU 2017 · on Thursday, 2017-02-09· [ruby]
slides:none on file

A Game Boy emulator written in Ruby with one tiny C SDL interface reproduces CPU, MMU, PPU and cartridge behavior; the Sharp LR35902 runs at 4.19 MHz 8‑bit CPU with ~256 opcodes, 64 KB address space and a tile-based 160×144 display that the PPU renders line‑by‑line at 60 Hz. Cartridge banking handles games up to 2 MB with 16 KB banks; timing uses CPU cycles (OAM 80 cycles, vblank 4560). Playability: Tetris fully playable, Zelda and Mario have rendering bugs.

AI-written summary · about

  1. 0:00Intro
  2. 0:29Demo
  3. 4:14What is an emulator
  4. 6:17Registers
  5. 9:10Instructions
  6. 12:36Execution
  7. 14:02Cycles
  8. 15:03Memory
  9. 17:59Memory registers
  10. 19:59Picture processing units
  11. 24:43Visualisation
  12. 25:26Tile system
  13. 27:34Display system
  14. 29:34Cartridge
~/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.