I would love to play Goodboy Galaxy and that Super Crate Box port when they're finished. Good to know that there's talented devs out there working with beloved old hardware
Ah, what I meant here is that this prevents you from doing "var x = bgofs[0].x" but it doesn't prevent you from doing "var p = bgofs[0]" (trying to read both registers into a point variable at once). The real way to prevent this would be to simply not expose the register at all, for example you could make a template or procedure such as "setBgOfs(bg, x, y)". But I got way too obsessive about the consistency of my API - we already exposed all the other registers, why hide this one? ;)