;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; File Name :   invDisp.asm
; Purpose   :   Space Invaders Wrist App Common Display Routines
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;DO NOT MODIFY THE FOLLOWING SUBROUTINE DEFINITION;;;;;;;;;;;;;;;;;

                IF @DEF('SUBROUTINE')
                    UNDEF SUBROUTINE
                ENDIF
                DEFINE  SUBROUTINE      "'invdisp'"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        GLOBAL  invDisplayShip

invDisplayShip:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                ld      A, [IY]
                ld      B, [IY+1]
                car     invDisplayPixel

                ld      A, [IY]
                inc     A
                ld      B, [IY+1]
                car     invDisplayPixel

                ld      A, [IY]
                inc     A
                inc     A
                ld      B, [IY+1]
                car     invDisplayPixel

                ld      A, [IY]
                dec     A
                ld      B, [IY+1]
                car     invClearPixel

                ld      A, [IY]
                add     A, #3
                ld      B, [IY+1]
                jr      invClearPixel


invDisplayPixel:
                LCD_DISPLAY_MAIN_DM_PIXEL
                ret



        GLOBAL  invClearShip

invClearShip:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                ld      A, [IY]
                ld      B, [IY+1]
                car     invClearPixel

                ld      A, [IY]
                inc     A
                ld      B, [IY+1]
                car     invClearPixel

                ld      A, [IY]
                inc     A
                inc     A
                ld      B, [IY+1]
                jr      invClearPixel


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


        GLOBAL  invDisplayAlien

invDisplayAlien:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                car     invDisplayShip
                ld      A, [IY]
                inc     A
                ld      B, [IY+1]
                inc     B
                car     invDisplayPixel

                ld      A, [IY]
                ld      B, [IY+1]
                inc     B
                car     invClearPixel

                ld      A, [IY]
                inc     A
                inc     A
                ld      B, [IY+1]
                inc     B
                jr      invClearPixel


        GLOBAL  invClearAlien

invClearAlien:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                car     invClearShip
                ld      A, [IY]
                inc     A
                ld      B, [IY+1]
                inc     B
                jr      invClearPixel


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


        GLOBAL  invDisplayMissile

invDisplayMissile:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                ld      A, [IY]
                ld      B, [IY+1]
                car     invDisplayPixel

;                ld      A, [IY]
;                ld      B, [IY+1]
;                inc     B
;                cp      B, #11
;                jr      Z, invRet
;                jr      invClearPixel
				ret


        GLOBAL  invClearMissile

invClearMissile:

                ; IY = address where to load the x and y coordinate of a ship
                ; [IY+0] = x coordinate
                ; [IY+1] = y coordinate

                ld      A, [IY]
                ld      B, [IY+1]
invClearPixel:
                LCD_CLEAR_MAIN_DM_PIXEL
invRet:
                ret

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

