Ha! Figured out what the _smc suffix means... Self Modifying Code

This commit is contained in:
Rob McMullen 2017-06-30 21:51:23 -07:00
parent c7defdfa81
commit 9725c1bfd4
2 changed files with 8 additions and 8 deletions

View File

@ -33,10 +33,10 @@ restorebg_init
restorebg_driver restorebg_driver
ldy #0 ldy #0
lda (bgstore),y lda (bgstore),y
sta restorebg_jsr+1 sta restorebg_jsr_smc+1
iny iny
lda (bgstore),y lda (bgstore),y
sta restorebg_jsr+2 sta restorebg_jsr_smc+2
iny iny
lda (bgstore),y lda (bgstore),y
sta PARAM0 sta PARAM0
@ -44,7 +44,7 @@ restorebg_driver
lda (bgstore),y lda (bgstore),y
sta PARAM1 sta PARAM1
iny iny
restorebg_jsr restorebg_jsr_smc
jsr $ffff jsr $ffff
clc clc

View File

@ -65,9 +65,9 @@ initsprites
renderstart renderstart
lda #sprite_l - sprite_active lda #sprite_l - sprite_active
sta RENDERCOUNT sta RENDERCOUNT
inc renderroundrobin+1 inc renderroundrobin_smc+1
renderroundrobin renderroundrobin_smc
ldy #0 ldy #0
sty PARAM3 sty PARAM3
@ -78,15 +78,15 @@ renderloop
lda sprite_active,y lda sprite_active,y
beq renderskip ; skip if zero beq renderskip ; skip if zero
lda sprite_l,y lda sprite_l,y
sta jsrsprite+1 sta jsrsprite_smc+1
lda sprite_h,y lda sprite_h,y
sta jsrsprite+2 sta jsrsprite_smc+2
lda sprite_x,y lda sprite_x,y
sta PARAM0 sta PARAM0
lda sprite_y,y lda sprite_y,y
sta PARAM1 sta PARAM1
jsrsprite jsrsprite_smc
jsr $ffff ; wish you could JSR ($nnnn) jsr $ffff ; wish you could JSR ($nnnn)
renderskip renderskip
inc PARAM3 inc PARAM3