Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //**********************************************
- // MMC1 to MMC3 hack for Zelda 1 (by Infidelity)
- // Disassembled by ShadowOne333
- //**********************************************
- //------------------------------------
- // iNES Header
- //------------------------------------
- // 0x00006 - 42
- db $4E,$45,$53,$1A // Header (NES $1A)
- db 08 // 08 x 16k PRG banks
- db 00 // 0 x 8k CHR banks
- db %01000010 // Mirroring: Vertical
- // SRAM: Not used
- // 512k Trainer: Not used
- // 4 Screen VRAM: Not used
- // Mapper: 5
- db %00000000 // RomType: NES
- db $00,$00,$00,$00 // iNES Tail
- db $00,$00,$00,$00
- //------------------------------------
- // ROM Start
- //------------------------------------
- bank 0; // HEADER change
- org $8006 // 0x00004
- db $42
- org $BF76 // 0x03F86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x03FBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x03FEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 1;
- org $AACB // 0x06ADB
- lda.b #$C0
- org $BF76 // 0x07F86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x07FBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x07FEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 2;
- org $BF76 // 0x0BF86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x0BFBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x0BFEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 3;
- org $BF76 // 0x0FF86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x0FFBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x0FFEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 4;
- org $BF76 // 0x13F86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x13FBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x13FEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 5;
- org $BF76 // 0x17F86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x17FBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x17FEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 6;
- org $BF76 // 0x1BF86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr $BF98
- lda.b #$00
- sta.w $8001
- jmp $BF90
- fill $00,$08
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $BFAC // 0x1BFBC
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- org $BFDF // 0x1BFEF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- //------------------------------------
- bank 7;
- org $E621 // 0x1E631
- jsr $FFC4
- org $E9BD // 0x1E9CD
- lda.b #$00
- sta.w $A000
- org $EB71 // 0x1EB81
- lda.b #$C0
- org $EBB2 // 0x1EBC2
- lda.b #$C0
- org $FF76 // 0x1FF86
- lda.b #$80
- sta.w $A001
- lda.b #$C0
- jsr label1
- label2:
- lda.b #$00
- sta.w $8001
- jmp label2
- label1:
- db $00,$00,$00,$02
- db $04,$05,$06,$07
- lda.b #$07
- jsr $FFAC
- jmp $FFCD
- sta.w $8000
- rts
- org $FFAC // 0x1FFBC
- FFAC:
- asl
- pha
- lda.b #$86
- sta.w $8000
- pla
- sta.w $8001
- ora.b #$01
- pha
- lda.b #$87
- sta.w $8000
- pla
- sta.w $8001
- rts
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
- FFCD:
- ldx.b #$05
- label3:
- stx.w $8000
- lda.w $FF8A,x
- sta.w $8001
- dex
- bpl label3
- jmp $E440
- db $FF
- sta.w $0302
- lda.b #$01
- sta.w $A000
- rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement