lorom header !Location = $938000 ;Code location in SNES address !FreeRAM = $7EC120 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; !MAIN_CODE_SIZE = END_OF_FILE-CodeStart org $05DA24 JML CodeStart org $05DAAC JML CodeStart2 org $00A692 JML CodeStart3 org $00C870 JML CodeStart4 org !Location db "STAR" ;RATS tag dw !MAIN_CODE_SIZE-$01 dw !MAIN_CODE_SIZE-$01^$FFFF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CodeStart: ; REP #$30 LDA $0E AND #$01FF TAX SEP #$20 LDA #$00 STA !FreeRAM LDA E_DATA,x SEP #$10 BNE .Skip_00 LDA #$01 STA $1B9B .Return JML $85DAD7 ;0...yoshi禁止無効 .Skip_00 CMP #$01 BNE .Custom LDX #$04 LDY #$04 JML $85DA28 ;1..通常の振る舞い .Custom LDY #$03 LDX #$04 LDA $141A ;2..カスタム BNE .Return LDA $141D BNE .Return LDA $141F BNE .Return LDA #$AB STA !FreeRAM ;JML $85DA65 LDA #$60 STA $96 LDA #$01 STA $97 LDA #$30 STA $94 STZ $95 LDA #$C0 STA $1C STA $20 STZ $192A JML $85DA8A CodeStart2: LDA !FreeRAM CMP #$AB BEQ .Custom2 TXA ;通常の振る舞い ASL CLC ADC $00 JML $85DAB1 .Custom2 REP #$30 LDA $0E AND #$01FF TAX LDA E_DATA,x AND #$00FF STA $00 ASL CLC ADC $00 TAX SEP #$20 LDA $85E000,x ;levelPtr1 STA $65 LDA $85E001,x STA $66 LDA $85E002,x STA $67 LDA $85E600,x ;levelPtr2 STA $68 LDA $85E601,x STA $69 LDA $85E602,x STA $6A REP #$20 LDA $00 ASL TAX SEP #$20 LDA $85EC00,x ;levelPtrS STA $CE LDA $85EC01,x STA $CF LDX $00 LDA $8EF100,x STA $D0 SEP #$10 LDY #$04 LDA [$65],y AND #$0F STA $1931 LDA $85F200,x AND #$C0 CLC ASL ROL ROL STA $1BE3 STZ $141D STZ $141A STZ $141F STZ $13CF LDX #$05 JML $85DAD7 ;$00A6C5あたりを気をつける CodeStart3: LDY #$01 LDX $1931 LDA !FreeRAM CMP #$AB BEQ .Custom3 JML $80A697 .Custom3 STZ $1497 JML $80A6B6 CodeStart4: STZ $13E2 ;A=7; LDX $1931 LDA !FreeRAM CMP #$AB BEQ .Custom4 LDA #$07 JML $80C876 .Custom4 JML $80C88D E_DATA: incsrc Data.asm END_OF_FILE: ; $141D,$141A,$141F,$13CFが全て0でなければならない ; Tileset$1931から得られるデータが02以上でなければならない ; ; ;$96F4があやしい ;LoadLevelにはL1,L2のロードしか含まれない 02A751がスプライト? ;その中でも特に01808C ; ;EnterCastleAniがあやしい ; ;Sprite dataはコースに読み出す必要が無い!? ;$CEから直接読んでいる ;よって無効化されているのはそっち