public bool Equals(SpriteGeneratorState other)
 {
     // Two states are equal if the bytes are the same and all registers are the same
     return(Closed.SetEquals(other.Closed) &&
            A.Equals(other.A) &&
            X.Equals(other.X) &&
            Y.Equals(other.Y) &&
            D.Equals(other.D) &&
            S.Equals(other.S) &&
            P.Equals(other.P) &&
            AllowModeChange == other.AllowModeChange
            );
 }