.nolist
    #include    "ti83plus.inc"
.list
.org    $9D93
.db    t2ByteTok, tAsmCmp
	LD DE,PlotSScreen
	LD B,12
	XOR A
blankloop:	;blanks the first row
	LD (DE),A
	INC DE
	DJNZ blankloop
	
	
	;prepare for main loop
	LD HL, PlotSScreen
	LD DE, PlotSScreen+12
	LD BC, 756
	LD (HL), %10000000	;this sets the first bit
	
	;unset carry flag
	SCF			
	CCF
	
	PUSH AF		;save carry flag
	
triloop:
	POP AF		;retrieve carry flag
	LD A, (HL)	;get current byte
	RRA			;shift current byte
	PUSH AF		;save carry flag for next byte in loop
	XOR (HL)	;generate byte for row below current
	LD (DE), A	;save to screen buffer
	INC HL
	INC DE
	DEC BC
	
	;if 756 bytes computed, we're done
	LD A, B
	OR C
	JP NZ, triloop
	
	
	
	;never mind other things waiting to be graphed
	LD A,(IY + GraphFlags)
	RES GraphDraw, A
	LD (IY + GraphFlags), A
	
	b_call(_GrBufCpy)	;ta-da!
	POP AF		;don't forget this!
	
 RET
.end
.end