public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.RemoveWord((ushort)(offset + _.S.Value)); })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = _.S; })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.RemoveByte((ushort)(_.S.Value)); _.S = _.S.Add(-1); })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = Register.UNINITIALIZED; _.RemoveByte((ushort)(offset + _.S.Value)); })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = _.A.LoadConstant((_.A.Value & 0xFF00) | value); _.RemoveByte((ushort)(offset + _.S.Value)); })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.P |= 0x10; _.AllowModeChange = false; })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = _.A.Add(offset); _.S = _.A; _.AllowModeChange = true; })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = _.A.LoadConstant(value); // Need to be able to track high / low bytes independently... _.RemoveByte((ushort)(_.S.Value)); _.S = _.S.Add(-1); })); }
public override SpriteGeneratorState Apply(SpriteGeneratorState state) { return(state.Clone(_ => { _.A = _.A.LoadConstant(value); _.RemoveWord((ushort)(_.S.Value - 1)); _.S = _.S.Add(-2); })); }