<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wikiti.brandonw.net/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wikiti.brandonw.net/index.php?action=history&amp;feed=atom&amp;title=Z80_Routines%3AGraphic%3Aput16xBsprite</id>
		<title>Z80 Routines:Graphic:put16xBsprite - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wikiti.brandonw.net/index.php?action=history&amp;feed=atom&amp;title=Z80_Routines%3AGraphic%3Aput16xBsprite"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:put16xBsprite&amp;action=history"/>
		<updated>2026-04-05T16:04:45Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:put16xBsprite&amp;diff=9179&amp;oldid=prev</id>
		<title>Galandros: /* Example */ fixed example</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:put16xBsprite&amp;diff=9179&amp;oldid=prev"/>
				<updated>2010-05-16T13:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Example: &lt;/span&gt; fixed example&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:03, 16 May 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 219:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 219:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ;...&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ;...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sprite:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sprite:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %11111111&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%11111111,&lt;/ins&gt;%11111111&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %10000001&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%10000001,&lt;/ins&gt;%10000001&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db %11111111&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  .db &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;%11111111,&lt;/ins&gt;%11111111&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Galandros</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:put16xBsprite&amp;diff=9177&amp;oldid=prev</id>
		<title>Galandros: created, lots of stuff</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:put16xBsprite&amp;diff=9177&amp;oldid=prev"/>
				<updated>2010-05-16T12:59:49Z</updated>
		
		<summary type="html">&lt;p&gt;created, lots of stuff&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Z80 Routines:Graphic|Put16xBsprite]][[Category:Z80 Routines|Put16xBsprite]]&lt;br /&gt;
&lt;br /&gt;
The '''put16xBsprite''' routine is used to plot a 16xB sized sprite.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Version ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
;2-byte (across) sprite xor routine by Jon Martin&lt;br /&gt;
;optimized to be faster than Joe Wingbermeuhle's largesprite routine&lt;br /&gt;
;based on the 1-byte xor routine from &amp;quot;learn ti 83+ asm in 28 days&amp;quot;&lt;br /&gt;
;inputs:&lt;br /&gt;
;a=xc&lt;br /&gt;
;e=yc&lt;br /&gt;
;b=height&lt;br /&gt;
;IX=sprite pointer&lt;br /&gt;
;destroys all except shadow registers&lt;br /&gt;
DoubleSprite:				&lt;br /&gt;
 ld h,0	 		;7		&lt;br /&gt;
 ld l,e			;4		&lt;br /&gt;
 ld d,h 		;4&lt;br /&gt;
 add hl,hl		;11&lt;br /&gt;
 add hl,de		;11&lt;br /&gt;
 add hl,hl		;11&lt;br /&gt;
 add hl,hl		;11&lt;br /&gt;
 ld de,plotsscreen	;10&lt;br /&gt;
 add hl,de		;11&lt;br /&gt;
 ld e,a			;4&lt;br /&gt;
 srl e			;8&lt;br /&gt;
 srl e			;8&lt;br /&gt;
 srl e			;8&lt;br /&gt;
 ld d,0			;7&lt;br /&gt;
 add hl,de		;11&lt;br /&gt;
 ld d,h			;4&lt;br /&gt;
 ld e,l			;4&lt;br /&gt;
 and 7			;4&lt;br /&gt;
 jp z,aligned		;10&lt;br /&gt;
 ld c,a			;4&lt;br /&gt;
 ld de,12		;10&lt;br /&gt;
rowloop:		;total: 194&lt;br /&gt;
 push bc		;11&lt;br /&gt;
 ld b,c 		;4&lt;br /&gt;
 xor a			;4&lt;br /&gt;
 ld d,(ix)		;19&lt;br /&gt;
 ld e,(ix+1)		;19&lt;br /&gt;
shiftloop:		;60 per loop&lt;br /&gt;
 srl d			;8&lt;br /&gt;
 rr e			;8&lt;br /&gt;
 rra			;4&lt;br /&gt;
 djnz shiftloop		;13/8,37 per loop&lt;br /&gt;
 inc hl&lt;br /&gt;
 inc hl&lt;br /&gt;
 xor (hl)&lt;br /&gt;
 ld (hl),a&lt;br /&gt;
 ld a,e&lt;br /&gt;
 dec hl&lt;br /&gt;
 xor (hl)&lt;br /&gt;
 ld (hl),a&lt;br /&gt;
 ld a,d&lt;br /&gt;
 dec hl&lt;br /&gt;
 xor (hl)&lt;br /&gt;
 ld (hl),a	&lt;br /&gt;
 pop bc			;10&lt;br /&gt;
 ld de,12		;10&lt;br /&gt;
 add hl,de		;11&lt;br /&gt;
 inc ix			;10&lt;br /&gt;
 inc ix			;10&lt;br /&gt;
 djnz rowloop		;13/8&lt;br /&gt;
 ret			;10&lt;br /&gt;
aligned:&lt;br /&gt;
 ld de,11 &lt;br /&gt;
alignedloop:&lt;br /&gt;
 ld a,(ix)&lt;br /&gt;
 xor (hl)&lt;br /&gt;
 ld (hl),a&lt;br /&gt;
 ld a,(ix+1)&lt;br /&gt;
 inc hl&lt;br /&gt;
 xor (hl)&lt;br /&gt;
 ld (hl),a&lt;br /&gt;
 add hl,de&lt;br /&gt;
 inc ix&lt;br /&gt;
 inc ix&lt;br /&gt;
 djnz alignedloop&lt;br /&gt;
 ret&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Masked Version ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
;Double Masked Sprite Routine by Jon Martin&lt;br /&gt;
;for placing a 16xn sprite with a mask on plotsscreen&lt;br /&gt;
;ANDs a sprite mask,1's are transperent, 0's are blank&lt;br /&gt;
;ORs a sprite where the mask was placed (all black parts of sprite must match 0's on the mask)&lt;br /&gt;
;inputs:&lt;br /&gt;
;a=column&lt;br /&gt;
;b=number of rows of sprite&lt;br /&gt;
;e=row&lt;br /&gt;
;ix=sprite pointer&lt;br /&gt;
;iy=sprite mask pointer&lt;br /&gt;
;outputs:&lt;br /&gt;
;sprite copied to plotsscreen&lt;br /&gt;
;destroys:&lt;br /&gt;
;all (including IY) except shadows&lt;br /&gt;
doublemaskedsprite:&lt;br /&gt;
	ld 		h,0	 		;multiply e by 12		&lt;br /&gt;
 	ld 		l,e					&lt;br /&gt;
 	ld 		d,h 		&lt;br /&gt;
 	add 		hl,hl		&lt;br /&gt;
 	add 		hl,de		&lt;br /&gt;
 	add 		hl,hl		&lt;br /&gt;
 	add 		hl,hl		 	;e*12=hl&lt;br /&gt;
 	ld 		de,plotsscreen		&lt;br /&gt;
 	add 		hl,de			;now hl is on correct row of plotsscreen&lt;br /&gt;
 	ld 		e,a			&lt;br /&gt;
 	srl		e			;divide e by8&lt;br /&gt;
 	srl 		e			&lt;br /&gt;
 	srl 		e			&lt;br /&gt;
 	ld 		d,0			&lt;br /&gt;
 	add 		hl,de			;now hl is at top-left byte of where sprite goes&lt;br /&gt;
 	and 		7			;check if row is multiple of 8, if it is not then a=bitmask&lt;br /&gt;
 	jp 		z,daligned		;if it is, then the sprite is aligned&lt;br /&gt;
 	ld 		c,a			;now c contains bitmask&lt;br /&gt;
drowloop:					;this loop will be done b times&lt;br /&gt;
 	push 		bc			;save bc for later&lt;br /&gt;
 	ld 		b,c			;b has bitmask&lt;br /&gt;
 	ld 		d,(ix)			;d is first byte of sprite&lt;br /&gt;
 	ld 		e,(ix+1)		;e is second&lt;br /&gt;
 	xor 		a			;a is 0&lt;br /&gt;
dshiftloop1:		&lt;br /&gt;
 	srl 		d			;rotate d into e, e into a&lt;br /&gt;
 	rr 		e&lt;br /&gt;
 	rra&lt;br /&gt;
 	djnz 		dshiftloop1		;do this as many times as bitmask says&lt;br /&gt;
 	push 		de			;now save sprite data&lt;br /&gt;
 	push 		af			&lt;br /&gt;
 	ld		b,c			;now b has bitmask again&lt;br /&gt;
 	ld 		d,(iy)			;d is first byte of sprite mask&lt;br /&gt;
 	ld 		e,(iy+1)		;e is second&lt;br /&gt;
	xor		a			;a is 0&lt;br /&gt;
dshiftloop2:					&lt;br /&gt;
 	srl 		d			;rotate d into e, e into a&lt;br /&gt;
 	rr 		e &lt;br /&gt;
 	rra&lt;br /&gt;
 	djnz 		dshiftloop2&lt;br /&gt;
 	inc 		hl			;move hl to byte for a&lt;br /&gt;
 	inc 		hl&lt;br /&gt;
 	and 		(hl)			;and logic a with that location&lt;br /&gt;
 	ld 		(hl),a			;now the byte is masked&lt;br /&gt;
 	pop 		af			;now use old a&lt;br /&gt;
 	or 		(hl)			;use or logic&lt;br /&gt;
 	ld 		(hl),a			;now the byte has been properly written&lt;br /&gt;
 	ld 		a,e			;go to e, 1 left of a&lt;br /&gt;
 	dec 		hl&lt;br /&gt;
 	and 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	dec 		hl&lt;br /&gt;
 	ld 		a,d&lt;br /&gt;
 	and 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	pop 		de&lt;br /&gt;
 	ld 		a,d&lt;br /&gt;
 	or 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	inc 		hl&lt;br /&gt;
 	ld 		a,e&lt;br /&gt;
 	or 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	pop		bc&lt;br /&gt;
 	ld 		de,11&lt;br /&gt;
 	add 		hl,de&lt;br /&gt;
 	inc 		ix&lt;br /&gt;
 	inc 		ix&lt;br /&gt;
 	inc 		iy&lt;br /&gt;
 	inc 		iy&lt;br /&gt;
 	djnz 		drowloop&lt;br /&gt;
 	ld 		iy,flags		&lt;br /&gt;
 	ret			&lt;br /&gt;
daligned:&lt;br /&gt;
  	ld 		de,11&lt;br /&gt;
dalignedloop:&lt;br /&gt;
 	ld 		a,(iy)&lt;br /&gt;
 	and 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	ld 		a,(ix)&lt;br /&gt;
 	or 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	inc 		hl&lt;br /&gt;
 	ld		a,(iy+1)&lt;br /&gt;
 	and 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	ld 		a,(ix+1)&lt;br /&gt;
 	or 		(hl)&lt;br /&gt;
 	ld 		(hl),a&lt;br /&gt;
 	inc 		ix&lt;br /&gt;
 	inc 		ix&lt;br /&gt;
 	inc 		iy&lt;br /&gt;
 	inc 		iy&lt;br /&gt;
 	add 		hl,de&lt;br /&gt;
 	djnz 		dalignedloop&lt;br /&gt;
 	ld 		iy,flags&lt;br /&gt;
 	ret&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
A example using the basic version of PutSprite16.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   ;...&lt;br /&gt;
   ld   e,8   ;y&lt;br /&gt;
   ld   a,16  ;x&lt;br /&gt;
   ld   b,8   ;height&lt;br /&gt;
   ld   ix,sprite&lt;br /&gt;
   call putsprite&lt;br /&gt;
   call fastcopy&lt;br /&gt;
   ;...&lt;br /&gt;
sprite:&lt;br /&gt;
   .db %11111111&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %10000001&lt;br /&gt;
   .db %11111111&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Galandros</name></author>	</entry>

	</feed>