Register description can be found in page 257 / section 24.9 of the [datasheet](http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf). Some very quick-and-dirty PoC can be found here (basically, it always returns some random value when reading from the ADC): [AVR8JS Simon Game Demo](https://stackblitz.com/edit/avr8js-simon-game?file=execute.ts) (look at the constructor of the `AVRRunner` class, in `execute.ts`).