Yes, it was a TGP bug (in an opcode that only VF2 uses). Dual Move, mode 1: load RAM to A and External to B, the registers used to index these were swapped (A RAM must be indexed by r0+r2 and B External by r1+r3), that caused reading far beyond RAM size, reading garbage and actually looking quite good by chance . It was when I reordered some values in the context structure that caused it reading different values, and showed garbage polys when I realized where the problem was. I'm adding some assert to RAM access to check the limits to see if there is another wrong opcode somewhere else.