Back to the schedule
Previous: Emacs as a Highschooler: How It Changed My Life
Next: Welcome To The Dungeon

State of Retro Gaming in Emacs

Vasilij "wasamasa" Schneidermann

Download video

Download compressed .webm video (7.2M)

Many jokes have been made about the true nature of Emacs, such as it being a fully-fledged operating system. This talk will demonstrate its suitability for playing retro games, then explore the inner workings of a CHIP-8 emulator capable of smooth video game emulation.

Questions

Q5: Do you think would be possible to write some compiler in order to write chip-8 games on elisp?

It could be possible if you restrict yourself to some very limited Elisp subset or lispy assembler. For the latter, here's some projects to draw inspiration from:

Q4: What's the biggest perf bottleneck for your emulator? does it spend time executing your Lisp or something else in the Emacs infrastructure (eg redisplay)?

Redisplay was super slow, it's like 3-4x as slow as executing the CPU cycles.

  • Okay that's the reason why GCCEmacs does not help :)

Q3: Do you think that you make our tiny console based in the chip ATMega like Arduboy?

I'm sorry, I didn't quite understand the question, could you please clarify it? I'm not exactly a hardware person, might have to defer it to someone else.

I've looked at Arduboy and I believe the DEFCON CHIP-8 Badge is the closest to this: https://hackaday.io/project/19121-andxor-dc25-badge/log/53223-chip8-schip-game-emulation

Q2: Any tutorial to start? I want to make my game now, no, for chip8

I'm not aware of tutorials, but there's CHIP-8 resources online. You can of course study the assembly of existing games, that's how I figured out the tricks that broke my emulator :>

Q1: How did you manage to present a game engine without showing any game? :-) Show us!!

See the alt stream, it has several demos not shown due to time constraints.

Notes

Sunday, Nov 29 2020, ~ 1:16 PM - 1:26 PM EST
Sunday, Nov 29 2020, ~10:16 AM - 10:26 AM PST
Sunday, Nov 29 2020, ~ 6:16 PM - 6:26 PM UTC
Sunday, Nov 29 2020, ~ 7:16 PM - 7:26 PM CET
Monday, Nov 30 2020, ~ 2:16 AM - 2:26 AM +08

Back to the schedule
Previous: Emacs as a Highschooler: How It Changed My Life
Next: Welcome To The Dungeon