According to [0], input clock 0 should divide by 1024=2¹⁰, not 2¹². This caused audio to run at quarter-speed in one game I tried. [0] https://gbdev.io/pandocs/#ff07-tac-timer-control-r-w --- diff 07a27ca966dafa2cf22d97ccb2519d16604bdc81 7d37c636636253b74d3d2260e991cd78664ce1e9 --- a/sys/src/games/gb/ev.c Fri Jan 29 01:31:59 2021 +++ b/sys/src/games/gb/ev.c Wed Feb 3 00:46:52 2021 @@ -8,7 +8,7 @@ extern Event evsamp, chev[4]; Event *events[NEVENT] = {&evhblank, &evtimer, &evenv, &evsamp, &chev[0], &chev[1], &chev[2], &chev[3]}; Event *elist; -static int timshtab[4] = {12, 4, 6, 8}, timsh; +static int timshtab[4] = {10, 4, 6, 8}, timsh; ulong timclock; Var evvars[] = {VAR(timsh), VAR(timclock), {nil, 0, 0}};