Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;-------------------------------------------------------------------------------
- _SpriteFlipVert:
- ; Flip an array vertically about the center horizontal axis
- ; Arguments:
- ; __frame_arg0 : Pointer to 2D byte array input
- ; __frame_arg1 : Pointer to 2D byte array output
- ; __frame_arg2 : Width
- ; __frame_arg3 : Height
- ; Returns:
- ; __frame_arg0 : Pointer to 2D array output
- ld iy,0
- add iy,sp
- xor a,a
- sub a,(iy+9)
- ld (_FlipVertDelta_ASM),a \.r
- neg
- ld (_FlipVertWidth_ASM),a \.r
- ld l,(iy+12)
- dec l
- ld h,a
- mlt hl
- ld de,(iy+3)
- add hl,de
- ld de,(iy+6)
- push de
- _FlipVertWidth_ASM =$+1
- _: ld bc,0
- ldir
- _FlipVertDelta_ASM =$+1
- ld bc,-1
- add hl,bc
- add hl,bc
- dec a
- jr nz,-_
- pop hl
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement