Advertisement
Erik557

Untitled

Jan 17th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;; Directional Coin, adapted by mikeyk
  3. ;;
  4. ;; Description:
  5. ;;  
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7.          
  8.                     PLUE_POW_TIMER = $14AD                                              
  9.  
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11. ; sprite init JSL
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13.  
  14.                     dcb "INIT"
  15.                     RTL
  16.      
  17.  
  18. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  19. ; sprite code JSL
  20. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  21.  
  22.                     dcb "MAIN"                                    
  23.                     PHB                    
  24.                     PHK                    
  25.                     PLB                    
  26.                     JSR SPRITE_CODE_START  
  27.                     PLB                    
  28.                     RTL                    
  29.  
  30.  
  31. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  32. ; sprite main code
  33. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34.  
  35. TBL_E1F9            dcb $00,$00,$F0,$10
  36. TBL_E1FD            dcb $F0,$10,$00,$00
  37. TBL_E201            dcb $00,$03,$02,$00,$01,$03,$02,$00,$00,$03,$02,$00,$00,$00,$00,$00
  38. TBL_E211            dcb $01,$00,$03,$02
  39.  
  40. SPRITE_CODE_START   LDA $64    
  41.                     PHA        
  42.                     LDA $1540,x            ;check if coming out of block
  43.                     CMP #$30  
  44.                     BCC NO_SET_PRIORITY
  45.                     LDA #$10  
  46.                     STA $64    
  47. NO_SET_PRIORITY
  48.                     LDA $1C    
  49.                     PHA        
  50.                     CLC        
  51.                     ADC #$01  
  52.                     STA $1C    
  53.                     LDA $1D    
  54.                     PHA        
  55.                     ADC #$00  
  56.                     STA $1D    
  57.                     LDA PLUE_POW_TIMER
  58.                     BNE BLUE_POW_SET
  59.                     JSL $01C641
  60.                     BRA NO_BLUE_POW
  61.  
  62. BLUE_POW_SET        JSL $0190B2
  63.                     LDY $15EA,x
  64.                     LDA #$2E  
  65.                     STA $0302,y
  66.                     LDA $0303,y
  67.                     AND #$3F  
  68.                     STA $0303,y
  69.  
  70. NO_BLUE_POW
  71.                     PLA    
  72.                     STA $1D
  73.                     PLA    
  74.                     STA $1C
  75.                     PLA    
  76.                     STA $64
  77.  
  78.                     LDA $9D    
  79.                     BNE NO_GEN_TILE
  80.                     LDA $13
  81.                     AND #$03
  82.                     BNE LABEL02
  83.                     DEC $190C
  84.                     BRA LABEL02
  85. SUB_E271            STZ $190C  
  86.                     STZ $14C8,x
  87.                     LDA $14AD  
  88.                     ORA $14AE  
  89.                     BNE RETURN01
  90.                     LDA $0DDA
  91.                     BMI RETURN01
  92.                     STA $1DFB  
  93. RETURN01            RTS        
  94.  
  95. LABEL02             LDY $C2,x  
  96.                     LDA TBL_E1F9,y
  97.                     STA $B6,x  
  98.                     LDA TBL_E1FD,y
  99.                     STA $AA,x  
  100.                     JSR SUB_D294  
  101.                     JSR SUB_D288  
  102.                     LDA $15    
  103.                     AND #$0F  
  104.                     BEQ LABEL03
  105.                     TAY
  106.                     LDA TBL_E201,y
  107.                     TAY
  108.                     LDA TBL_E211,y
  109.                     CMP $C2,x  
  110.                     BEQ LABEL03
  111.                     TYA
  112.                     STA $151C,x
  113. LABEL03
  114.                     LDA $D8,x  
  115.                     AND #$0F  
  116.                     STA $00    
  117.                     LDA $E4,x  
  118.                     AND #$0F  
  119.                     ORA $00    
  120.                     BNE NO_GEN_TILE
  121.  
  122.                     LDA $151C,x
  123.                     STA $C2,x  
  124.                     LDA $E4,x  
  125.                     STA $9A    
  126.                     LDA $14E0,x
  127.                     STA $9B    
  128.                     LDA $D8,x  
  129.                     STA $98    
  130.                     LDA $14D4,x
  131.                     STA $99    
  132.                     LDA #$06  
  133.                     STA $9C    
  134.                     JSL $00BEB0            ;generate tile
  135. RETURN08            RTS
  136.  
  137. NO_GEN_TILE         JSL $019138
  138.                     LDA $B6,x  
  139.                     BNE LABEL04
  140.                     LDA $18D7  
  141.                     BNE LABEL05
  142.                     LDA $185F  
  143.                     CMP #$25        
  144.                     BNE LABEL05
  145.                     RTS              
  146. LABEL04
  147.                     LDA $1862  
  148.                     BNE LABEL05
  149.                     LDA $1860  
  150.                     CMP #$25            
  151.                     BEQ RETURN06
  152. LABEL05
  153.                     JSR SUB_E271
  154. RETURN06            RTS                
  155.  
  156.  
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158. ; D288
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  160.  
  161. SUB_D288            TXA      
  162.                     CLC      
  163.                     ADC #$0C
  164.                     TAX      
  165.                     JSR SUB_D294
  166.                     LDX $15E9
  167.                     RTS      
  168.  
  169. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  170. ; D294
  171. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  172.  
  173. SUB_D294            LDA $AA,x  
  174.                     ASL A      
  175.                     ASL A      
  176.                     ASL A      
  177.                     ASL A      
  178.                     CLC        
  179.                     ADC $14EC,x
  180.                     STA $14EC,x
  181.                     PHP        
  182.                     PHP        
  183.                     LDY #$00  
  184.                     LDA $AA,x  
  185.                     LSR A      
  186.                     LSR A      
  187.                     LSR A      
  188.                     LSR A      
  189.                     CMP #$08  
  190.                     BCC LABEL07
  191.                     ORA #$F0  
  192.                     DEY        
  193. LABEL07
  194.                     PLP        
  195.                     PHA        
  196.                     ADC $D8,x  
  197.                     STA $D8,x  
  198.                     TYA        
  199.                     ADC $14D4,x
  200.                     STA $14D4,x
  201.                     PLA        
  202.                     PLP        
  203.                     ADC #$00  
  204.                     STA $1491  
  205.                     RTS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement