Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Burn Time

slydogstudios Mar 26th, 2012 88 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. ; Simple loop to burn time in a program
  2. ; Syntax used is for ca65
  3.  
  4. ; The three bytes needed in RAM
  5. nmi_wait:       .res 1
  6. one_second:     .res 1
  7. big_seconds:    .res 1
  8.  
  9. ; The routine nmi_wait
  10. nmi_wait:
  11.         lda nmi_num
  12. :       cmp nmi_num
  13.         beq :-
  14.         rts
  15.  
  16. ; Must have one_second and big_seconds already setup.
  17. ; Use #$3c in one_second to wait 60 frames
  18. ; Use the number of seconds you want to use in big_seconds
  19. loop:
  20.         lda one_second                  ; Subtract one_second by one
  21.         sec                             ;  and if it's not zero, branch
  22.         sbc #$01                        ;  over
  23.         sta one_second                  ;
  24.         bne @end                        ;
  25.                 lda #$3c                ; When one_second reaches zero,
  26.                 sta one_second          ;  reset it to #$3c and subtract
  27.                 lda big_seconds         ;  big_seconds by one. Test if
  28.                 sec                     ;  big_seconds is zero. If not,
  29.                 sbc #$01                ;  we wait for another NMI and
  30.                 sta big_seconds         ;  start the loop over. If zero,
  31.                 bne @end                ;  jmp over the nmi_wait...
  32.                         jmp @finally    ;
  33. @end:                                   ;
  34.         jsr nmi_wait                    ;
  35.         jmp loop                        ;
  36. @finally:                               ; Here we begin setup for the next
  37.                                         ;  loop in the program
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top