~/talk

Running .NET on the NES

Talkat NDC Oslo 2024 · 2024-06-10..06-14· [dotnet, embedded-and-hardware]
slides:none on file

Builds a pipeline that compiles C# to MSIL then transpiles MSIL to 6502 assembly via a custom MSIL-to-6502 transpiler hooked into MSBuild, emits a valid 512 KB NES .nes image and launches an emulator. Uses System.Reflection.Metadata, a copied NES lib API (about 44 C functions), and 8bitworkshop.com for disassembly and testing. Demos show Hello World and sprite tinting running in an emulator and ROMs that can be flashed, with most samples working but no GC, limited method support and four unknown bytes recently resolved.

AI-written summary · about

  1. 0:00Introduction
  2. 1:54Overview
  3. 3:34Why
  4. 4:59Creating the project
  5. 9:02My thought process
  6. 10:15General pipeline
  7. 11:16Compilers
  8. 14:16Code
  9. 17:02Thought Process
  10. 24:11Writing the ROM
  11. 29:46MsBuild
  12. 34:45Disassembly
~/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.