funzione millis()

Più che la funzione millis, devi guardare tutto. Da come viene impostato il timer 0 a come vengono recuperati i valori.
Trovi tutto in hardware/arduino/cores/arduino/wiring.c

Ti consiglio di leggere anche il codice della mia libreria swRTC. Lì imposto il timer 2, ma è lo stesso identico principio e gli stessi valori (cambiano solo i nomi dei registri) perché sia il timer 0 che il timer 2 sono ad 8 bit.