From 84163371917ea8dcc49eadb57840af33e5f4b150 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 25 Jun 2021 12:39:42 -0400 Subject: [PATCH] Start write-up on audio generation. --- The-Enterprise.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/The-Enterprise.md b/The-Enterprise.md index 229e41a..06ae769 100644 --- a/The-Enterprise.md +++ b/The-Enterprise.md @@ -63,4 +63,24 @@ The unexpanded 64kb machine divides this up as: The 128kb machine adds a further four banks of RAM at F8–FB; further expansion RAM usually populates the 4mb address space downward from there. -At reset all four paging registers are cleared to 0, making the first 16kb of the EXOS ROM visible in all four segments of the Z80's addressing space. \ No newline at end of file +At reset all four paging registers are cleared to 0, making the first 16kb of the EXOS ROM visible in all four segments of the Z80's addressing space. + +### Audio Generation + +IstvánV provides detailed Hungarian notes [http://ep128.hu/Ep_Konyv/Exos.htm#242a](here). The following is a result of machine translating those via a couple of different online translators and synthesising the results. + +#### Sound Generators + +Each channel has a flip flop specifying its current state — high or low. + +Standard operation: a 12-bit counter counts downwards from the specified reload value at a rate of 250 kHz (on a 4 Mhz machine, if bit 1 of port BFh is clear). It is reloaded when it overflows, and: +* if no distortion is specified, the output switches state; +* otherwise the specified polynomial output is sampled and becomes the generator's new state. + +The polynomial counters run continuously at 250 kHz. + +If high-pass filtering is enabled, any falling edge on the linked channel's output resets this channel's state. + +If ring modulation is enabled, the channel's actual output is the XNOR of its output and that of the other channel. + +In both cases, the other channel's output is that after the application of distortion, high-pass filtering and ring modulation. \ No newline at end of file