Guest User

Zelda Optimum (MMC5) disassembly

a guest
May 17th, 2020
187
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //**********************************************
  2. // MMC1 to MMC5 hack for Zelda 1 (by RetroRain)
  3. //**********************************************
  4.  
  5. bank 0;     // HEADER change
  6. org $8004   // 0x00004
  7.     db $40,$80,$52
  8.  
  9. org $8000   // 0x00010
  10.     lda.b #$02
  11.     sta.w $5101
  12.     lda.b #$50
  13.     sta.w $5105
  14.     lda.b #$00
  15.     sta.w $5113
  16.     lda.b #$0F
  17.     sta.w $5015
  18.     lda.b #$FE
  19.     sta.w $5117
  20.     lda.b #$00
  21.     sta.w $5127
  22.     sta.w $5130
  23.     ldx.b #$00
  24. lbl1:
  25.     lda.w $8034,X
  26.     sta.w $0100,X
  27.     inx
  28.     cpx.b #$06
  29.     bne lbl1
  30.     lda.b #$00
  31.     sta.w $2000
  32.     rts
  33.  
  34.     db $00,$01,$02,$03,$02,$03
  35.  
  36. org $BF7B   // 0x03F8B
  37.     fill $15,nop
  38.  
  39. org $BF98   // 0x03FA8
  40.     fill $13,nop
  41.  
  42. org $BFAC   // 0x03FBC
  43.     jsr $FF43
  44.     fill $10,nop
  45.  
  46. //---------------------------
  47.  
  48. bank 1;
  49. org $8DB4   // 0x04DC4
  50.     fill $1108,$00
  51.  
  52. org $BF7B   // 0x07F8B
  53.     fill $15,nop
  54.  
  55. org $BF98   // 0x07FA9
  56.     fill $13,nop
  57.  
  58. org $BFAC   // 0x07FBC
  59.     jsr $FF43
  60.     fill $10,nop
  61.  
  62. //---------------------------
  63.  
  64. bank 2;
  65. org $807F   // 0x0808F
  66.     ldx.b #$00
  67. lbl2:
  68.     lda.w $8092,X
  69.     sta.w $0100,X
  70.     inx
  71.     cpx.b #$06
  72.     bne lbl2
  73.     lda.b #$00
  74.     sta.w $0607
  75.     rts
  76.  
  77.     db $00,$04,$05,$06,$05,$06
  78.  
  79. org $8098   // 0x080A8
  80.     fill $0EC6,$00
  81.  
  82. org $A5DF   // 0x0A5EF
  83.     jsr $807F
  84.     nop
  85.     nop
  86.  
  87. org $BF7B   // 0x0BF8B
  88.     fill $15,nop
  89.  
  90. org $BF98   // 0x0BFA8
  91.     fill $13,nop
  92.  
  93. org $BFAC   // 0x0BFBC
  94.     jsr $FF43
  95.     fill $10,nop
  96.  
  97. //---------------------------
  98.  
  99. bank 3;
  100. org $8065   // 0x0C075
  101.     dw $811B
  102.  
  103. org $811B   // 0x0C12B
  104.     ldx.b #$00
  105. lbl3:
  106.     lda.w $8149,X
  107.     sta.w $0102,X
  108.     inx
  109.     cpx.b #$04
  110.     bne lbl3
  111.     ldx.b $16
  112.     lda.w $062D,X
  113.     beq lbl4
  114.     jmp $813D
  115. lbl4:
  116.     ldx.b $10
  117.     lda.w $814C,X
  118.     sta.w $0101
  119.     jmp $8145
  120.     ldx.b $10
  121.     lda.w $8155,X
  122.     sta.w $0101
  123.     jsr $8080
  124.     rts
  125.  
  126.     db $08,$09,$08,$09,$07,$07,$0A,$0B
  127.     db $0C,$0B,$07,$0A,$0D,$07,$07,$0A
  128.     db $0B,$0C,$0B,$07,$0A,$0D,$00,$00
  129.  
  130. org $815F   // 0x0C16F
  131.     fill $2A78,$00
  132.  
  133. org $BF7B   // 0x0FF8B
  134.     fill $15,nop
  135.  
  136. org $BF98   // 0x0FFA8
  137.     fill $13,nop
  138.  
  139. org $BFAC   // 0x0FFBC
  140.     jsr $FF43
  141.     fill $10,nop
  142.  
  143. //---------------------------
  144.  
  145. bank 4;
  146. org $BF7B   // 0x13F8B
  147.     fill $15,nop
  148.  
  149. org $BF98   // 0x13FA8
  150.     fill $13,nop
  151.  
  152. org $BFAC   // 0x13FBC
  153.     jsr $FF43
  154.     fill $10,nop
  155.  
  156. //---------------------------
  157.  
  158. bank 5;
  159. org $859D   // 0x145AD
  160.     ldx.b #$00
  161. lbl5:
  162.     lda.w $85AE,X
  163.     sta.w $0100,X
  164.     inx
  165.     cpx.b #$06
  166.     bne lbl5
  167.     jsr $EBA3
  168.     rts
  169.  
  170.     db $00,$04,$05,$06,$05,$06
  171.  
  172. org $B1D3   // 0x171E3
  173.     dw $FFCE
  174.  
  175. org $B548   // 0x17558
  176.     dw $859D
  177.  
  178. org $BF7B   // 0x17F8B
  179.     fill $15,nop
  180.  
  181. org $BF98   // 0x17FA8
  182.     fill $13,nop
  183.  
  184. org $BFAC   // 0x17FBC
  185.     jsr $FF43
  186.     fill $10,nop
  187.  
  188. //---------------------------
  189.  
  190. bank 6;
  191. org $BF7B   // 0x1BF8B
  192.     fill $15,nop
  193.  
  194. org $BF98   // 0x1BFA8
  195.     fill $13,nop
  196.  
  197. org $BFAC   // 0x1BFBC
  198.     jsr $FF43
  199.     fill $10,nop
  200.  
  201. //---------------------------
  202.  
  203. bank 7;
  204. org $C000
  205.     fill $FFFF,$00  // 0x1C010
  206.     fill $FFFF,$00  // 0x2C00F
  207.     fill $FFFF,$00  // 0x3C00E
  208.     fill $FFFF,$00  // 0x4C00D
  209.     fill $FFFF,$00  // 0x5C00C
  210.     fill $FFFF,$00  // 0x6C00B
  211.     fill $FFFF,$00  // 0x7C00A
  212.     fill $FFFF,$00  // 0x8C009
  213.     fill $FFFF,$00  // 0x9C008
  214.     fill $FFFF,$00  // 0xAC007
  215.     fill $FFFF,$00  // 0xBC006
  216.     fill $FFFF,$00  // 0xCC005
  217.     fill $FFFF,$00  // 0xDC004
  218.     fill $FFFF,$00  // 0xEC003
  219.     fill $0E,$00    // 0xFC002
  220.  
  221.     incbin code/mmc5gfx.bin
  222.  
  223.     fill $FFFF,$00  // 0x107010
  224.     fill $FFFF,$00  // 0x11700F
  225.     fill $FFFF,$00  // 0x12700E
  226.     fill $FFFF,$00  // 0x13700D
  227.     fill $FFFF,$00  // 0x14700C
  228.     fill $FFFF,$00  // 0x15700B
  229.     fill $FFFF,$00  // 0x16700A
  230.     fill $FFFF,$00  // 0x177009
  231.     fill $FFFF,$00  // 0x187008
  232.     fill $FFFF,$00  // 0x197007
  233.     fill $FFFF,$00  // 0x1A7006
  234.     fill $FFFF,$00  // 0x1B7005
  235.     fill $FFFF,$00  // 0x1C7004
  236.     fill $FFFF,$00  // 0x1D7003
  237.     fill $FFFF,$00  // 0x1E7002
  238.     fill $900F,$00  // 0x1F7001
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×