The listing and every number on this site come from the binary and are reproducible with make. Nothing here was measured by eye.
openmsx -machine Philips_VG_8020 -cart hyperrally.rom
An MSX1 machine is enough; the cartridge maps into page 1 and drives everything from the frame interrupt.
To confirm a state or a timing, put a breakpoint and watch the RAM the notes name: 0xE000 is the main state, 0xE060 the stage, 0xE085 the speed. The per-frame cost of a routine is the difference of machine_info time between a breakpoint at its entry and one at its ret, times 3579545 for Z80 cycles.
Output paths in any Tcl script must be Windows paths, never /tmp.