949C: Sprite plotter for back buffer, up to 64px wide, 15px high, no mask, no flip
| plot_sprite |
949C |
SRL A |
|
949E |
JP C,ps_odd |
|
94A1 |
LD IX,$94C8 |
|
94A5 |
CPL |
|
94A6 |
ADD A,$05 |
|
94A8 |
LD C,A |
|
94A9 |
RLCA |
|
94AA |
RLCA |
|
94AB |
ADD A,C |
|
94AC |
LD C,A |
|
94AD |
LD B,$00 |
|
94AF |
ADD IX,BC |
| plot_sprite_entry |
94B1 |
LD ($94BF),SP |
|
94B5 |
LD BC,$0F10 |
|
94B8 |
EXX |
|
94B9 |
JR ps_even_body |
| ps_even_loop |
94BB |
EXX |
| ps_even_continue |
94BC |
DJNZ ps_even_next |
|
94BE |
LD SP,$0000 |
|
94C1 |
RET |
| ps_even_next |
94C2 |
ADD HL,DE |
| ps_even_body |
94C3 |
LD SP,HL |
|
94C4 |
EXX |
|
94C5 |
LD A,L |
|
94C6 |
JP (IX) |
| ps_jumptable |
94C8 |
POP DE |
|
94C9 |
LD (HL),E |
|
94CA |
INC L |
|
94CB |
LD (HL),D |
|
94CC |
INC L |
|
94CD |
POP DE |
|
94CE |
LD (HL),E |
|
94CF |
INC L |
|
94D0 |
LD (HL),D |
|
94D1 |
INC L |
|
94D2 |
POP DE |
|
94D3 |
LD (HL),E |
|
94D4 |
INC L |
|
94D5 |
LD (HL),D |
|
94D6 |
INC L |
|
94D7 |
POP DE |
|
94D8 |
LD (HL),E |
|
94D9 |
INC L |
|
94DA |
LD (HL),D |
|
94DB |
LD L,A |
|
94DC |
LD A,H |
|
94DD |
DEC H |
|
94DE |
AND B |
|
94DF |
JP NZ,ps_even_loop |
|
94E2 |
LD A,H |
|
94E3 |
ADD A,C |
|
94E4 |
LD H,A |
|
94E5 |
LD A,L |
|
94E6 |
SUB $20 |
|
94E8 |
LD L,A |
|
94E9 |
JP NC,ps_even_loop |
|
94EC |
LD A,H |
|
94ED |
SUB C |
|
94EE |
LD H,A |
|
94EF |
JP ps_even_loop |
| ps_odd |
94F2 |
INC A |
|
94F3 |
LD IX,$951A |
|
94F7 |
CPL |
|
94F8 |
ADD A,$05 |
|
94FA |
LD C,A |
|
94FB |
RLCA |
|
94FC |
RLCA |
|
94FD |
ADD A,C |
|
94FE |
LD C,A |
|
94FF |
LD B,$00 |
|
9501 |
ADD IX,BC |
|
9503 |
LD ($9511),SP |
|
9507 |
LD BC,$0F10 |
|
950A |
EXX |
|
950B |
JR ps_odd_body |
| ps_odd_loop |
950D |
EXX |
| ps_odd_continue |
950E |
DJNZ ps_odd_next |
|
9510 |
LD SP,$0000 |
|
9513 |
RET |
| ps_odd_next |
9514 |
ADD HL,DE |
| ps_odd_body |
9515 |
LD SP,HL |
|
9516 |
EXX |
|
9517 |
LD A,L |
|
9518 |
JP (IX) |
|
951A |
POP DE |
|
951B |
LD (HL),E |
|
951C |
INC L |
|
951D |
LD (HL),D |
|
951E |
INC L |
|
951F |
POP DE |
|
9520 |
LD (HL),E |
|
9521 |
INC L |
|
9522 |
LD (HL),D |
|
9523 |
INC L |
|
9524 |
POP DE |
|
9525 |
LD (HL),E |
|
9526 |
INC L |
|
9527 |
LD (HL),D |
|
9528 |
INC L |
|
9529 |
POP DE |
|
952A |
LD (HL),E |
|
952B |
LD L,A |
|
952C |
LD A,H |
|
952D |
DEC H |
|
952E |
AND B |
|
952F |
JP NZ,ps_odd_loop |
|
9532 |
LD A,H |
|
9533 |
ADD A,C |
|
9534 |
LD H,A |
|
9535 |
LD A,L |
|
9536 |
SUB $20 |
|
9538 |
LD L,A |
|
9539 |
JP NC,ps_odd_loop |
|
953C |
LD A,H |
|
953D |
SUB C |
|
953E |
LD H,A |
|
953F |
JP ps_odd_loop |