Invert Char at X/Y Position#

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;