I have been reading on how to create proper 8 player movement and the following code does cover diagonal movement but at the end of the day I only can test for UP, Down, Left and Right.
How do I extrapolate for a Diagonal animation or firing a weapon?
MOVE_PLAYER:
OUT ($C0), A
NOP
NOP
NOP
IN A, ($FC)
LD C, A
BIT 0, C
JP NZ, SOUTH
LD A, (IY+02) ; Y Position
DEC A ; Move NORTH
LD (IY+02), A ; Y Position
SOUTH:
BIT 2, C
JP NZ, EAST
LD A, (IY+02) ; Y Position
INC A ; Move SOUTH
LD (IY+02), A ; Y Position
EAST:
BIT 1, C
JP NZ, WEST
LD A, (IY+03) ; X Position
INC A ; Move EAST
LD (IY+03), A ; X Position
WEST:
BIT 3, C
RET NZ
LD A, (IY+03) ; X Position
DEC A ; Move WEST
LD (IY+03), A ; X Position
RET