Prev: 26860 Up: Map Next: 26896
26870: Draw Sprite
Used by the routines at DrawSpriteObject and DrawLargeSprite.
Input
BC Sprite data pointer
HL Screen buffer address
HL' Sprite background buffer
DrawSprite 26870 LD A,(HL) Read the current screen data (row 1).
26871 EXX Switch to the shadow registers.
26872 LD (HL),A Save row 1 background data to the sprite background buffer.
26873 INC HL Move to the next position in the background buffer.
26874 EXX Switch back to the normal registers.
26875 LD A,(BC) Write sprite pixel data to row 1 of the screen buffer.
26876 LD (HL),A
26877 INC BC Move to the next sprite data byte.
26878 INC H Move to row 2 in the screen buffer.
26879 LD A,(BC) Write sprite pixel data to row 2 of the screen buffer.
26880 LD (HL),A
26881 INC BC Move to the next sprite data byte.
26882 INC H Move to row 3 in the screen buffer.
26883 LD A,(HL) Read the current screen data (row 3).
26884 EXX Switch to the shadow registers.
26885 LD (HL),A Save row 3 background data to the sprite background buffer.
26886 INC HL Move to the next position in the background buffer.
26887 EXX Switch back to the normal registers.
26888 LD A,(BC) Write sprite pixel data to row 3 of the screen buffer.
26889 LD (HL),A
26890 INC BC Move to the next sprite data byte.
26891 INC H Move to row 4 in the screen buffer.
26892 LD A,(BC) Write sprite pixel data to row 4 of the screen buffer.
26893 LD (HL),A
26894 INC BC Move to the next sprite data byte.
26895 RET Return.
Prev: 26860 Up: Map Next: 26896