Humans Control by Flew/Flush

Released at the Shadow Party (France) in July 2026

An intro for the ATmega88, an 8-bit microcontroller from Atmel (now
Microchip), clocked at 20 MHz.

Available memory in the ATMega88:
- 8 KBytes Flash
- 512 Bytes EEPROM
- 1 KByte RAM

The MCU embeds 3 timers / PWM generators, 2 of which are used:
- one to generate the video HSync signal and an interruption to
  synchronize the CPU;
- one to generate a PWM audio signal.

The MCU (microcontroller) is naked, there is no graphic chip nor sound
chip.  I/O pins are connected to a VGA connector (for video) and a
jack (for audio), using a few resistors and capacitors.  The video
signals are generated on the fly by the CPU.  The audio signal is
driven by a PWM generator, whose frequency is set by the CPU.

The program has been written in assembly language for the embeded
8-bit AVR CPU.  The size of the program binary is 3 KBytes,
unoptimized.

This experiment has been largely inspired by [Linus Akesson's
Craft][1] (2008).  Delay routines (delays.i and delays.S) have been
used verbatim.

[1]: https://linusakesson.net/scene/craft/index.php



Notes on running the intro
==========================

Flash the program (using the main.hex file) in the ATMega88 with the
following command:

```
avrdude -v -p ATmega88A -c avrispmkII -U flash:w:main.hex:i
```

Fuse low byte must be set to use the external crystal oscillator (at
20 Mhz):

```
avrdude -v -p ATmega88A -c avrispmkII -U lfuse:w:0xe7:m
```

The ATMega88 based platform can be built from the schematic.txt file.
