Advertisement
PhantomDevil

Unko

Oct 8th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; 習慣的に使われている
  2. ; SUB_OFF_SCREEN 及び GET_DRAW_INFO は省略
  3.  
  4.         dcb "INIT"
  5.         RTL
  6.  
  7.         dcb "MAIN"
  8.         PHB
  9.         PHK
  10.         PLB
  11.         LDA #$02    ;\ ストックをファイアに変更
  12.         STA $0DC2   ;/
  13.         JSR MainCode
  14.         PLB
  15.         RTL
  16.  
  17. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  18.  
  19. Return:     RTS
  20. MainCode:   JSR SubGFX
  21.         LDA $14C8,x     ;\  スプライト状態が通常以外の時
  22.         CMP #$08        ; | 以下の処理を実行しない
  23.         BNE Return      ;/
  24.         LDA $9D         ;\ ロック時停止
  25.         BNE Return      ;/
  26.         JSR SUB_OFF_SCREEN_X0   ; 画面外処理
  27.         LDA $14C8,x     ;\
  28.         CMP #$08        ; | 不要
  29.         BCC Return      ;/
  30.         LDA $1528,x     ; ファイアを食らった回数?
  31.         CMP #$01        ;\
  32.         BNE CheckCount      ; | 1の時カウントを取り消し、
  33.         INC $06B0       ; | 専用のカウンタをインクリメント
  34.         DEC $1528,x     ;/
  35. CheckCount: LDA $06B0       ;\
  36.         CMP #$5F        ; | 専用のカウンタが0x5F(95)に到達した時クリア
  37.         BEQ CallClear       ;/
  38.         JMP CheckContact
  39. CallClear:  JSR Clear       ; クリア用ルーチン
  40. CheckContact:   JSL $01A7DC     ; マリオとの接触判定ルーチン
  41.         RTS
  42.  
  43. Clear:      LDA #$0C
  44.         STA $1DFB
  45.         LDA #$FF
  46.         STA $1493
  47.         LDA #$00
  48.         STA $06B0
  49.         LDA #$02
  50.         STA $14C8,x
  51.         RTS
  52.  
  53. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54.  
  55. TileMap:    dcb $8C,$8E,$AC,$AE
  56.         dcb $8C,$8E,$AC,$AE
  57.         dcb $8C,$8E,$AC,$AE
  58.         dcb $8C,$8E,$AC,$AE
  59.  
  60. Xoffset:    dcb $08,$F8,$08,$F8
  61.         dcb $F8,$08,$F8,$08
  62.  
  63. Yoffset:    dcb $F0,$F0,$00,$00
  64.  
  65. SubGFX:     JSR GET_DRAW_INFO
  66.         LDA $157C,x
  67.         ASL A
  68.         ASL A
  69.         STA $02
  70.         LDA $14
  71.         LSR A
  72.         LSR A
  73.         LSR A
  74.         AND #$03
  75.         ASL A
  76.         ASL A
  77.         STA $03
  78.         PHX
  79.         LDX #$03
  80.  
  81. Loop:       PHX
  82.         TXA
  83.         CLC
  84.         ADC $02
  85.         TAX
  86.         LDA Xoffset,x
  87.         CLC
  88.         ADC $00
  89.         STA $0300,y
  90.         PLX
  91.         LDA Yoffset,x
  92.         CLC
  93.         ADC $01
  94.         STA $0301,y
  95.         PHX
  96.         TXA
  97.         CLC
  98.         ADC $03
  99.         TAX
  100.         LDA TileMap,x
  101.         STA $0302,y
  102.         PLX
  103.         PHX
  104.         LDX $15E9
  105.         LDA $15F6,x
  106.         LDX $02
  107.         BNE NoFlip
  108.         ORA #$40
  109. NoFlip:     ORA $64
  110.         STA $0303,y
  111.         PLX
  112.         INY
  113.         INY
  114.         INY
  115.         INY
  116.         DEX
  117.         BPL Loop
  118.         PLX
  119.         LDY #$02
  120.         LDA #$03
  121.         JSL $01B7B3
  122.         RTS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement