Guest User

Untitled

a guest
Oct 3rd, 2018
247
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.         JSR $F44D
  17.  
  18. org $00EF68
  19.         autoclean JSL on_ground
  20.         NOP #13
  21.        
  22. org $00F44D
  23.         autoclean JML interact_mod
  24.        
  25. freecode
  26.  
  27. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  28.  
  29. y_interact:
  30.         dw $0008
  31.        
  32.         dw $0018,$001A,$0016,$0010,$0020,$0020
  33.         dw $0018,$001A,$0016,$0010,$0020,$0020
  34.        
  35.         dw $0012,$001A,$000F,$0008,$0020,$0020
  36.         dw $0012,$001A,$000F,$0008,$0020,$0020
  37.        
  38.         dw $001D,$0028,$0019,$0013,$0030,$0030
  39.         dw $001D,$0028,$0019,$0013,$0030,$0030
  40.        
  41.         dw $001A,$0028,$0016,$0010,$0030,$0030
  42.         dw $001A,$0028,$0016,$0010,$0030,$0030
  43.        
  44.         dw $0018,$0018,$0018,$0018,$0018,$0018
  45.  
  46. interact_mod:
  47.         INX
  48.         INX
  49.         LDA !RAM
  50.         REP #$20
  51.         BNE .ud
  52.         JML $00F451
  53.        
  54. .ud
  55.         LDA $94
  56.         CLC
  57.         ADC $E830,x
  58.         STA $9A
  59.        
  60.         LDA $96
  61.         CLC
  62.         ADC.l y_interact,x
  63.         STA $98
  64.         SEP #$20
  65.         JML $00F461
  66.  
  67. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  68.  
  69. on_ceiling:
  70.         LDY #$08
  71.         LDA !RAM
  72.         BEQ .not_ud
  73.  
  74.         STZ $18B5
  75.         STZ $72
  76.         STZ $74
  77.         STZ $1406
  78.         STZ $140D
  79.         LDY #$04
  80.        
  81.         LDA $7D
  82.         BMI +
  83.         STZ $7D
  84.         BRA +
  85.        
  86.     .not_ud
  87.         LDA $7D
  88.         BPL +
  89.         STZ $7D
  90.        
  91.         LDA $1DF9
  92.         BNE +
  93.         INC $1DF9
  94.     +
  95.         TYA
  96.         TSB $77
  97.         RTL
  98.  
  99. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  100.  
  101. on_ground:
  102.         LDY #$08
  103.         LDA !RAM
  104.         BNE .ud
  105.        
  106.         STZ $18B5
  107.         STZ $72
  108.         STZ $74
  109.         STZ $1406
  110.         STZ $140D
  111.         LDY #$04
  112.         BRA +
  113.        
  114.     .ud
  115.         LDA $1DF9
  116.         BNE +
  117.         INC $1DF9
  118.     +
  119.         TYA
  120.         TSB $77
  121.         RTL
  122.  
  123. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  124.  
  125. y_speed:
  126.         LDA $18
  127.         AND #$10
  128.         BEQ +
  129.        
  130.         LDA #$0B
  131.         STA $1DF9
  132.         STZ $7D
  133.        
  134.         LDA !RAM
  135.         EOR #$01
  136.         STA !RAM
  137.        
  138.     +
  139.         LDA $7D
  140.         ASL
  141.         ASL
  142.         ASL
  143.         ASL
  144.         CLC
  145.         ADC $13DC
  146.         STA $13DC
  147.  
  148.         LDA !RAM
  149.         REP #$20
  150.         PHP
  151.         BNE .ud
  152.         LDA $7D
  153.         BRA +
  154.        
  155.     .ud
  156.         LDA $7D
  157.         EOR #$FFFF
  158.        
  159.     +
  160.         LSR
  161.         LSR
  162.         LSR
  163.         LSR
  164.         AND #$000F
  165.         CMP #$0008
  166.         BCC +
  167.         ORA #$FFF0
  168.        
  169.     +
  170.         PLP
  171.         ADC $96
  172.         STA $96
  173.         SEP #$20
  174.         RTL
Add Comment
Please, Sign In to add comment