I had several complaints as there was no bullet. Well, after this step there is still none, but you do get a flash ;)
When shooting we add this:
lda #5
sta PLAYER_RELOAD_FLASH_POS
lda #1
sta VIC_BACKGROUND_COLOR
Below the call to ObjectControl we add this snippet to update the flash via the color fade table:
;shot flash
lda PLAYER_RELOAD_FLASH_POS
beq +
dec PLAYER_RELOAD_FLASH_POS
lda VIC_BACKGROUND_COLOR
and #$0f
tay
lda COLOR_FADE_OUT_TABLE,y
sta VIC_BACKGROUND_COLOR
+
And the color fade table itself:
COLOR_FADE_IN_TABLE
!byte 11,1,10,1,10,13,14,1,7,8,1,12,15,1,1,1
COLOR_FADE_OUT_TABLE
!byte 0,15,9,14,6,6,11,10,9,11,2,0,11,5,6,12