Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;########################################
- ;8*16 masked sprites
- ;input: de = xy
- ; hl = pic start
- putmaskedSprite:
- push hl
- ld a, d
- ld d, 0
- ld h, 0
- ld l, e
- add hl, hl
- add hl, de
- add hl, hl
- add hl, hl
- ld e, a
- srl e
- srl e
- srl e
- add hl, de
- ld de, plotSScreen
- add hl, de
- pop ix
- and 7
- ld c, a
- ld b, 16
- maskedLp:
- push bc
- ld de, 0
- ld a, c
- or a
- ld b, c
- ld a, (ix + 16)
- ld c, (ix)
- jr z, aligned
- alignLp:
- rra ;neither side can bring a carry
- rr d
- srl c
- rr e
- djnz alignLp
- aligned:
- cpl
- and (hl)
- or c
- ld (hl), a
- inc hl
- ld a, d
- cpl
- and (hl)
- or e
- ld (hl), a
- ld de, 11
- add hl, de
- inc ix
- pop bc
- djnz maskedLp
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement