sway_offset is always the same value which is pointing to zero in SwayTable causing no visual change on the screen.
Code:
MainLoop:
...
LDA #$00
STA sway_offset
...
RTS
IRQ:
...
LDX #$00
LDY sway_offset; Y = 0
LDA (SwayTable), y; A = 0
STA scroll_x
STA PPUScroll; A = 0
STX scroll_y
STX PPUScroll; X = 0
...
RTI
SwayTable:
.db $00,$03,$06,$09,$0C,$0F,$12,$14,$15,$14,$12,$0F,$0C,$09,$06,$03
.db $00,$FC,$F9,$F6,$F3,$F0,$ED,$EB,$EA,$EB,$ED,$F0,$F3,$F6,$F9,$FC
also you have some addresses with incorrect names which could cause confusion later.
Code:
IRQLatch = $C000
IRQReload = $C001
Wiki.
Quote:
$C000: [IIII IIII] IRQ Reload value
$C001: [.... ....] IRQ Clear
$E000: [.... ....] IRQ Acknowledge / Disable
$E001: [.... ....] IRQ Enable