@@ -260,6 +260,35 @@ Editor with egui.
260
260
[ "Editors (2/3): Editing entries" ] : https://thegrimsey.net/2023/03/12/Bevy-Five-Editor-Two.html
261
261
[ "Editors (3/3): Selection dialog & new entries" ] : https://thegrimsey.net/2023/03/21/Bevy-Six-Editor-Three.html
262
262
263
+ ### [ Writing NES assembly programs in a Rust DSL] [ writing-nes-programs-in-rust-video ]
264
+
265
+ [ ![ Title slide from presentation about writing NES assembly programs in Rust] ( nes-programming-in-rust-cover.jpg )
266
+ _ Video: Talk about writing NES assembly programs in Rust_ ] [ writing-nes-programs-in-rust-video ]
267
+
268
+ This is a talk about writing a program for the Nintendo Entertainment System
269
+ that exposes all of its audio processor registers through an interface that lets
270
+ the user flip bits using the controller and hear the result in real time. The
271
+ program is written in Rust using an Embedded Domain-Specific Language. The talk
272
+ demonstrates the features of the language and how they can be used to help
273
+ express NES assembly programs in Rust.
274
+
275
+ Some features of the EDSL:
276
+
277
+ - defining and calling assembly functions by string labels
278
+ - using Rust as a powerful macro language (e.g. generate code inside a for-loop)
279
+ - using Rust's type system to catch invalid combinations of instruction and
280
+ addressing mode
281
+
282
+ The source code for the NES program described in the talk is
283
+ [ here] [ nes-audio-playground-github ] and there is a [ demo of the tool on
284
+ youtube] [ nes-audio-tool-demo-video ] . The PDF of the slides from the talk are
285
+ [ here] [ writing-nes-programs-in-rust-pdf ] .
286
+
287
+ [ writing-nes-programs-in-rust-video ] : https://www.youtube.com/watch?v=hs-MrEoOX5Y
288
+ [ nes-audio-playground-github ] : https://github.com/gridbugs/nes-audio-playground
289
+ [ writing-nes-programs-in-rust-pdf ] : https://raw.githubusercontent.com/gridbugs/nes-programming-in-rust-sydney-rust-meetup-2023-03-01/main/slides.pdf
290
+ [ nes-audio-tool-demo-video ] : https://www.youtube.com/watch?v=QHoISiWdPXo
291
+
263
292
## Tooling Updates
264
293
265
294
### Tiger
0 commit comments