diff options
| author | dmlunar <md.node.0@gmail.com> | 2026-01-18 20:11:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-18 20:11:12 +0200 |
| commit | ff26cfe74cbf5ddcb51996a768f8fe209489ba66 (patch) | |
| tree | 76a4008f8bd424d59eda851fea39c2b88c100bab /README.md | |
| parent | 895cfee3dbe91a955702bf27d4433efb1094bab3 (diff) | |
| download | emu8910-ff26cfe74cbf5ddcb51996a768f8fe209489ba66.tar.gz emu8910-ff26cfe74cbf5ddcb51996a768f8fe209489ba66.zip | |
Update README.md
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -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`. |
