summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordmlunar <md.node.0@gmail.com>2026-01-18 20:11:12 +0200
committerGitHub <noreply@github.com>2026-01-18 20:11:12 +0200
commitff26cfe74cbf5ddcb51996a768f8fe209489ba66 (patch)
tree76a4008f8bd424d59eda851fea39c2b88c100bab
parent895cfee3dbe91a955702bf27d4433efb1094bab3 (diff)
downloademu8910-ff26cfe74cbf5ddcb51996a768f8fe209489ba66.tar.gz
emu8910-ff26cfe74cbf5ddcb51996a768f8fe209489ba66.zip
Update README.md
-rw-r--r--README.md11
1 files changed, 10 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7ff1ff4..3619572 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
/___/_/ /_/\____/\___/___/_/\___/
```
-This repository contains a single file `Typescript` implementation of General Instrument's [`A-3-8910`](https://en.wikipedia.org/wiki/General_Instrument_AY-3-8910) `PSG` (programmable sound generator) in
+This repository contains a single file `Typescript` implementation of General Instrument's [`AY-3-8910`](https://en.wikipedia.org/wiki/General_Instrument_AY-3-8910) `PSG` (programmable sound generator) in
less than `1K` lines and without any magic constants!
The emulator allows for fine tuning of the `DAC` look-up table though modification of the following variables:
@@ -26,6 +26,15 @@ The offical datasheet for the `PSG` can be found [`here`](http://map.grauw.nl/re
Sound output is achieved in the browser through an `AudioContext()` hook. <br>
This `emulator` also adds interrupt support (with a user defined frequency) for updating the `PSG's` registers.
+`AY8910` emulators naturally generate high frequency content which must be suppressed. This is achieved with a FIR low pass filter using a procedurally generated `Blackman-Harris` window.
+
+The `FIR` response can be changed through modifications of the following constants:
+
+```
+const FIR_CUTOFF = 2500; // Hz
+const FIR_TAPS = 100; // N taps
+```
+
> Note: `FIR` LPF (Low-Pass Filter) data is generated procedurally.
Compile with `tsc emu8910.ts`.