[A83] Re: Shading


[Next][Index][Thread]

[A83] Re: Shading





>>You mean grayscale, right?  Thats (at least in 4-layer grayscale) where
you
>>have 4 shades of pixels: white, light gray, dark gray and black.  This is
>>achievable by switching between to buffers, each one containing a picture.
>>You display the first buffer for 1/3 of the time, and the second buffer
for
>>2/3 of the time.  So if a pixel is off in both buffers, the pixel on the
>>screen would be white.  If the pixel is on in the first one but off in the
>>second one, the pixel on the screen would be light gray (Since it is on
for
>>1/3 of the time but off for 2/3 of the time, you get the effect of it
being
>>1/3 the darkness of a black pixel).  If a pixel is off in the first buffer
>>but on in the second, it would be dark gray.  If a pixel is on in both
>>buffers, it would be black.
>>Thats my explanation, somebody can probably do better =)
>
>
>That's pretty concise, except for this:  You need huge amounts of memory
to 
>store extra screens.  If you worte the plotscreen fro one, you still need 
>another, most likely saferam1, and then a rountine to plot saferam1 to the 
>screen, as ionfastcopy only does plotscreen (I think . . .) 
>
Well, you would just need two 768 byte buffers to store each "side" of the
picture.  You could do this easily with plotsscreen and savesscreen (for
83+).  And as to needing another ionfastcopy routine to display the 2nd
buffer, all you really need to do is change the pointer for HL that
ionfastcopy uses i.e. 


copy_buf_1:
	ld	hl,plotsscreen-12-(-(12*64)+1)		; 10
	jr	fastCopy
copy_buf_1:
	ld	hl,savescreen-12-(-(12*64)+1)		; 10
fastCopy:
	di
	ld	a,$80				; 7
	out	($10),a				; 11
	ld	a,$20				; 7
	ld	c,a				; 4
	inc	hl				; 6 waste
	dec	hl				; 6 waste
fastCopyAgain:
	ld	b,64				; 7
	inc	c				; 4
	ld	de,-(12*64)+1			; 10
	out	($10),a				; 11
	add	hl,de				; 11
	ld	de,10				; 10
fastCopyLoop:
	add	hl,de				; 11
	inc	hl				; 6 waste
	inc	hl				; 6 waste
	inc	de				; 6
	ld	a,(hl)				; 7
	out	($11),a				; 11
	dec	de				; 6
	djnz	fastCopyLoop			; 13/8
	ld	a,c				; 4
	cp	$2B+1				; 7
	jr	nz,fastCopyAgain		; 10/1
	ret					; 10


_____________________________________________
Free email with personality! Over 200 domains!
http://www.MyOwnEmail.com