writing part 1

This commit is contained in:
host12prog 2025-09-17 21:16:48 +07:00
parent a8782a5f92
commit 7276911d27

View file

@ -0,0 +1,32 @@
---js
const title = "Aerations - Hacking Furnace to do stuff";
const description = "Some ramblings about timers";
const date = "2025-09-17";
const tags = ["atari st", "timer fx", "timers", "demoscene"];
const draft = true;
---
[comment]: # (god the depresso is getting to me i'm going to write something to soothe the nerves, but well this is a hidden comment you're not supposed to see this in the final post - 09/17/2025 @ 8:57 pm)
back in July this year, we released "Aerations" at the Sommarhack 2025 demoparty. with it, we
demonstrated the ability to compose Atari ST music, with classic timer effects like PWM and
SyncBuzzer, and the ability to export it under a format usable on real hardware (thanks Natt!)
developing the tech required for it was a real pain in the arse... it turns out that the ST is
janky, and therefore also has janky audio, and we needed to emulate this jankness in the tracker
# timer effects: what?
generally speaking, a timer is a mechanism that lets an action be done at a preset time. on
computers, it lets the CPU do things periodically, and if it is able to interrupt the CPU, allows
actions to be executed automatically at regular, periodic intervals.
on every Atari ST ever made is a chip called the *MC68901: Multi-Function Peripheral (MFP)*,
and this chip provides an USART, an interrupt controller, and most notably, 4 timers. these
timers are at the heart of *timer effects* (hereby called *timer FX*).
what is *timer FX*? on the Atari ST, it means any effect that messes with the YM2149 sound registers.
this means it can be used to write to a register at regular intervals, producing
audible effects (like frequency modulation, amplitude modulation, etc...). although there are a
variety of effects that can be done with this, for Aerations in particular, we only used 2:
- PWM (Pulse Width Modulation)
- SyncBuzzer