contributed by Michael P./WASEO/ABBUC 27.06.2007
(* Invert l chars at x,y, PD, Author:Michael P./WASEO/ABBUC 27.06.2007 *) (* max 255 chars, needs the PEEK function from the Kyan lib/docu *) Procedure InvertXY(x,y,l:Integer); var adrinv:integer; begin adrinv:= peek(88)+peek(89)*256+(y*40)+x; #A LDY #5 ;OFFSET ADRINV:L LDA (_SP),Y STA _T LDY #6 ;OFFSET ADRIV:H LDA (_SP),Y STA _T+1 LDY #7 ;OFFSET LENGTH:L LDA (_SP),Y STA _T+2; ;Length TO _T+2 LDY #0 L1 LDA (_T),Y ;LOAD CHAR TO ACCU EOR #128 ;INVERT CHAR STA (_T),Y ;STORE CHAR BACK INY ;Increase Counter CPY _T+2 ;Length reached? BNE L1 ;NO: Back to L1 # end;