From 1a156c9cb5e44d27f27d8ff906407d9f5e20b865 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Fri, 10 Apr 2026 16:12:58 +0200 Subject: sound: write down a README.md file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- sound/README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'sound') diff --git a/sound/README.md b/sound/README.md index 90fc84e..7ff7580 100644 --- a/sound/README.md +++ b/sound/README.md @@ -1,3 +1,14 @@ -TBD -Reference nerdynights: https://nerdy-nights.nes.science/#audio_tutorial-0 -square channels sometimes called pulse channels +These examples showcase how to produce sound on the NES/Famicom. This is a +complex topic, but here I'm trying to showcase it at a very fundamental +level. It's basically the same as to follow the guide from +[NerdyNights](https://nerdy-nights.nes.science/#audio_tutorial-0), which I read +extensively, mixing with things I learned by browsing the NESDev wiki. All in +all we have: + +- [beep.s](./beep.s): the most basic example. It constantly sends a C# note to + the square 1 channel (mind that square channels are also called "pulse" + channels). +- [select.s](./select.s): same as `beep.s` but while also using the square 2, + triangle and noise channels. Note that now everything is muted, and you can + unmute each channel by pressing A, B, Start or Select. +- [scale.s](./scale.s): reproduce a scale of notes over and over. -- cgit v1.2.3