Guest User

Untitled

a guest
Oct 4th, 2018
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;   Allows the player to go upside-down.
  3. ;
  4. ;   - MarioE
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6.  
  7. !RAM = $58              ;       Change this
  8.  
  9. org $00DC45
  10.         autoclean JSL y_speed
  11.         NOP
  12.  
  13. org $00ED37
  14.         autoclean JSL on_ceiling
  15.         NOP #15
  16.  
  17. org $00EF65
  18.         NOP #3
  19.         autoclean JSL on_ground
  20.         NOP #13
  21.        
  22. org $00F44D
  23.         autoclean JML interact_mod
  24.        
  25. freecode
  26.  
  27. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  28.  
  29. check_ceiling:
  30.         LDA !RAM
  31.         BNE .ud
  32.        
  33.         LDA $77
  34.         AND #$08
  35.         RTL
  36.        
  37.     .ud
  38.         LDA $77
  39.         AND #$04
  40.         RTL
  41.  
  42. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  43.            
  44. check_ground:
  45.         LDA !RAM
  46.         BNE .ud
  47.        
  48.         LDA $77
  49.         AND #$04
  50.         RTL
  51.        
  52.     .ud
  53.         LDA $77
  54.         AND #$08
  55.         RTL
  56.  
  57. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  58.  
  59. y_interact:
  60.         dw $0008
  61.        
  62.         dw $0018,$001A,$0016,$0010,$0020,$0020
  63.         dw $0018,$001A,$0016,$0010,$0020,$0020
  64.         dw $0012,$001A,$000F,$0008,$0020,$0020
  65.         dw $0012,$001A,$000F,$0008,$0020,$0020
  66.         dw $001D,$0028,$0019,$0013,$0030,$0030
  67.         dw $001D,$0028,$0019,$0013,$0030,$0030
  68.         dw $001A,$0028,$0016,$0010,$0030,$0030
  69.         dw $001A,$0028,$0016,$0010,$0030,$0030
  70.         dw $0018,$0018,$0018,$0018,$0018,$0018
  71.  
  72. interact_mod:
  73.         INX
  74.         INX
  75.         LDA !RAM
  76.         REP #$20
  77.         BNE .ud
  78.         JML $00F451
  79.        
  80. .ud
  81.         LDA $94
  82.         CLC
  83.         ADC $E830,x
  84.         STA $9A
  85.        
  86.         LDA $96
  87.         CLC
  88.         ADC.l y_interact,x
  89.         STA $98
  90.         SEP #$20
  91.         JML $00F461
  92.  
  93. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  94.  
  95. on_ceiling:    
  96.         LDA !RAM
  97.         BNE .ud
  98.        
  99.         LDA #$08
  100.         TSB $77
  101.        
  102.         LDA $1DF9
  103.         BNE +
  104.         INC $1DF9
  105.        
  106.     +
  107.         RTL
  108.  
  109. .ud
  110.         LDA #$04
  111.         TSB $77
  112.        
  113.         LDA $7D
  114.         BPL +
  115.         INC $13EF
  116.        
  117.     +
  118.         STZ $72
  119.         STZ $74
  120.         STZ $1406
  121.         STZ $140D
  122.         STZ $1697
  123.         STZ $18B5
  124.         RTL
  125.  
  126. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  127.  
  128. on_ground:
  129.         LDA !RAM
  130.         BNE .ud
  131.        
  132.         LDA #$04
  133.         TSB $77
  134.        
  135.         LDA $7D
  136.         BPL +
  137.         INC $13EF
  138.        
  139.     +
  140.         STZ $72
  141.         STZ $74
  142.         STZ $1406
  143.         STZ $140D
  144.         STZ $1697
  145.         STZ $18B5
  146.         RTL
  147.        
  148.     .ud
  149.         LDA #$08
  150.         TSB $77
  151.        
  152.         LDA $1DF9
  153.         BNE +
  154.         INC $1DF9
  155.        
  156.     +
  157.         RTL
  158.  
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  160.  
  161. y_speed:
  162.         LDA $18
  163.         AND #$10
  164.         BEQ +
  165.        
  166.         LDA #$0B
  167.         STA $1DF9
  168.         STZ $7D
  169.        
  170.         LDA !RAM
  171.         EOR #$01
  172.         STA !RAM
  173.        
  174.     +
  175.         LDA !RAM
  176.         REP #$20
  177.         PHP
  178.         BNE .ud
  179.         LDA $7D
  180.         BRA +
  181.        
  182.     .ud
  183.         LDA $7D
  184.         EOR #$FFFF
  185.         INC
  186.        
  187.     +
  188.         LSR
  189.         LSR
  190.         LSR
  191.         LSR
  192.         AND #$000F
  193.         CMP #$0008
  194.         BCC +
  195.         ORA #$FFF0
  196.        
  197.     +
  198.         PLP
  199.         ADC $96
  200.         STA $96
  201.         SEP #$20
  202.         RTL
Add Comment
Please, Sign In to add comment