Hi,
Trying to find a simple way to track scanlines,
so I can JSR something every scanline!
Is there a way to IRQ easly using the ppu ? Any ideas?
I need to do that without interfering with my music. counting to 241 in a loop seems to slow.
.segment "CODE"
INFLOOP:
;JSR PLAY_MUSIC1
;JSR REST_QUARTERSEC
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY2
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY3
;JSR FOLLOWUP_MELODY
;JSR REST_QUARTERSEC
;JSR PLAY_MUSIC1
;JSR REST_QUARTERSEC
;JSR BIG_BOOM_SOUND
JSR PLAY_MUSIC2
JSR REST_QUARTERSEC
JSR PLAY_MUSIC2
JSR REST_QUARTERSEC
JSR PLAY_MUSIC3
JSR REST_QUARTERSEC
JSR PLAY_MUSIC3
JSR REST_QUARTERSEC
JMP INFLOOP
; Jump back to the start of the loop
; Jump back to the start of the loop
NMI:
;Disable sound IRQ (set the corresponding bit)
LDX #%11000000
STX APU_PAD2
;; Backup A, X, Y registers
PHA ; Push A to the stack
TXA ; Transfer X to A
PHA ; Push X (now in A) to the stack
TYA ; Transfer Y to A
PHA ; Push Y (now in A) to the stack
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INC frame_counter ; Increment the frame counter
INC sound_frame_counter ; Increment the counter every NMI
INC RANDOM_SEED
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JSR HEARTS_CHECK
(rest of nmi)
RTI
Trying to find a simple way to track scanlines,
so I can JSR something every scanline!
Is there a way to IRQ easly using the ppu ? Any ideas?
I need to do that without interfering with my music. counting to 241 in a loop seems to slow.


.segment "CODE"
INFLOOP:
;JSR PLAY_MUSIC1
;JSR REST_QUARTERSEC
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY2
;JSR REST_QUARTERSEC
;JSR PLAY_MELODY3
;JSR FOLLOWUP_MELODY
;JSR REST_QUARTERSEC
;JSR PLAY_MUSIC1
;JSR REST_QUARTERSEC
;JSR BIG_BOOM_SOUND
JSR PLAY_MUSIC2
JSR REST_QUARTERSEC
JSR PLAY_MUSIC2
JSR REST_QUARTERSEC
JSR PLAY_MUSIC3
JSR REST_QUARTERSEC
JSR PLAY_MUSIC3
JSR REST_QUARTERSEC
JMP INFLOOP
; Jump back to the start of the loop
; Jump back to the start of the loop
NMI:
;Disable sound IRQ (set the corresponding bit)
LDX #%11000000
STX APU_PAD2
;; Backup A, X, Y registers
PHA ; Push A to the stack
TXA ; Transfer X to A
PHA ; Push X (now in A) to the stack
TYA ; Transfer Y to A
PHA ; Push Y (now in A) to the stack
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INC frame_counter ; Increment the frame counter
INC sound_frame_counter ; Increment the counter every NMI
INC RANDOM_SEED
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JSR HEARTS_CHECK
(rest of nmi)
RTI
Statistics: Posted by v.depatie — Sat Dec 21, 2024 9:09 pm — Replies 3 — Views 139