script "Console Mode Plus" \
"comm:In practice mode, start button can restore HP, during pause, press up/down to select power option or press start to select character."
run:
#Menu Screen Script#
if (dpeek($108006)==$C5A4)
   poke $B60F $94 #Restore control#
   poke $B625 $9A
   poke $28DF5 $42 #Restore HP function#
   poke $28E1B $42
   poke $4224F $30
 #Shift original text and add own text in menu#
   dpoke $15E6A $71FF #Shift original text#
   dpoke $15EA4 $71FF
   dpoke $15EDE $71FF
   dpoke $15E86 $71FF
   dpoke $15EC0 $71FF
   dpoke $15EFA $71FF
    dpoke $3C0000 $71F6 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $3347 # value
    dpoke $3C0002 $3341
    dpoke $3C0002 $334D
    dpoke $3C0002 $3345
    dpoke $3C0002 $3320
    dpoke $3C0002 $3353
    dpoke $3C0002 $3354
    dpoke $3C0002 $3341
    dpoke $3C0002 $3352
    dpoke $3C0002 $3354
    dpoke $3C0000 $7217 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $3356 # value
    dpoke $3C0002 $3353
    dpoke $3C0002 $3320
    dpoke $3C0002 $3320
    dpoke $3C0002 $334D
    dpoke $3C0002 $334F
    dpoke $3C0002 $3344
    dpoke $3C0002 $3345
    dpoke $3C0000 $71F8 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $3320 # value
    dpoke $3C0002 $3350
    dpoke $3C0002 $3352
    dpoke $3C0002 $3341
    dpoke $3C0002 $3343
    dpoke $3C0002 $3354
    dpoke $3C0002 $3349
    dpoke $3C0002 $3343
    dpoke $3C0002 $3345
    dpoke $3C0000 $7239 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $334F # value
    dpoke $3C0002 $3350
    dpoke $3C0002 $3354
    dpoke $3C0002 $3349
    dpoke $3C0002 $334F
    dpoke $3C0002 $334E
 #Control in menu#
   if (peek($10FFF1)==$FF)and((peek($10FD95)==$00)and(peek($10FD9B)==$00))
      poke $10FFF1 $00
   endif
   if (dpeek($10FFF0)==$0000)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $10FFF0 $01FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $10FFF0 $02FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $10FFF0 $03FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0300)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $10FFF0 $00FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0000)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF0 $03FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0300)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF0 $02FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF0 $01FF
      poke $320000 $70
   endif
   if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF0 $00FF
      poke $320000 $70
   endif
 #Hightlighted mode display#
   if (peek($10FFF0)==$00) #Arcade#
      dpoke $108034 $0000 #Game Start#
      poke $380000 peek($380000)&$8F #Restore memory card#
      if (peek($10FD9F)>=$03)
         dpoke $3C0000 $71F6 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $5347 # value
         dpoke $3C0002 $5341
         dpoke $3C0002 $534D
         dpoke $3C0002 $5345
         dpoke $3C0002 $5320
         dpoke $3C0002 $5353
         dpoke $3C0002 $5354
         dpoke $3C0002 $5341
         dpoke $3C0002 $5352
         dpoke $3C0002 $5354
      endif
   endif
   if (peek($10FFF0)==$01) #VS#
      dpoke $108034 $0000 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$03)
         dpoke $3C0000 $7217 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $5356 # value
         dpoke $3C0002 $5353
         dpoke $3C0002 $5320
         dpoke $3C0002 $5320
         dpoke $3C0002 $534D
         dpoke $3C0002 $534F
         dpoke $3C0002 $5344
         dpoke $3C0002 $5345
      endif
   endif
   if (peek($10FFF0)==$02) #Practice#
      dpoke $108034 $0000 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$03)
         dpoke $3C0000 $71F8 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $5320 # value
         dpoke $3C0002 $5350
         dpoke $3C0002 $5352
         dpoke $3C0002 $5341
         dpoke $3C0002 $5343
         dpoke $3C0002 $5354
         dpoke $3C0002 $5349
         dpoke $3C0002 $5343
         dpoke $3C0002 $5345
      endif
   endif
   if (peek($10FFF0)==$03) #Option#
      dpoke $108034 $FFFF #Option#
      if (peek($10FD9F)>=$03)
         dpoke $3C0000 $7239 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $534F # value
         dpoke $3C0002 $5350
         dpoke $3C0002 $5354
         dpoke $3C0002 $5349
         dpoke $3C0002 $534F
         dpoke $3C0002 $534E
      endif
   endif
endif
#Restore rom when leaving menu#
if (dpeek($108006)==$DC3A)
   dpoke $15E6A $71F6 #Restore original text#
   dpoke $15EA4 $71F6
   dpoke $15EDE $71F6
   dpoke $15E86 $71F8
   dpoke $15EC0 $71F8
   dpoke $15EFA $71F8
endif
#VS Mode Script#
if (peek($10FFF0)==$01)
   if (dpeek($108006)==$C860)
      dpoke $10FDB6 $0101 #Prevent push start text#
   endif
   if (dpeek($108006)==$C8FC)
      poke $1080CC $03 #Activate players#
      poke $1080CF $03
      dpoke $108320 $FFFF #Human control for 1P&2P#
      dpoke $10FDB6 $0101
      if (peek($1080D0)==$01)
         poke $1080CD $02 #Music from P2#
      endif
      if (peek($1080D0)==$02)
         poke $1080CD $01 #Music from P1#
      endif
    endif
   if (dpeek($108006)==$D2EE)or(dpeek($108006)==$C8FC) #Prevent continue text#
      dpoke $1002C2 $0000
      dpoke $1002C8 $0000
      dpoke $1002E2 $0000
      dpoke $1002E8 $0000
   endif
   if (dpeek($108006)==$D352)
      poke $1080D0 $00 #Deselect characters#
      dpoke $10FDB6 $0101 #Prevent push start text#
      dpoke $108006 $C8B2 #Return to Char. Screen#
   endif
endif
#Practice Mode Script#
if (peek($10FFF0)==$02)
   if (dpeek($108006)==$C860)
      dpoke $10FDB6 $0101 #Prevent push start text#
   endif
   if (dpeek($108006)==$C8FC)
      poke $1080CC $03 #Activate players#
      poke $1080CF $03
      dpoke $108320 $FFFF #Human control for 1P&2P#
      if (peek($1080D0)==$01)
         poke $1080CD $02 #Music from P2#
      endif
      if (peek($1080D0)==$02)
         poke $1080CD $01 #Music from P1#
      endif
      if (peek($1080D0)==$01)or(peek($1080D0)==$02)or(peek($1080D0)==$07)or(peek($1080D0)==$0B)or(peek($1080D0)==$1F)or(peek($1080D0)==$2F)
         poke $B60F $9A #Switch control#
         poke $B625 $94
      endif
      if (peek($1080D0)==$03)or(peek($1080D0)==$0F)or(peek($1080D0)==$3F)
         poke $B60F $94 #Restore control#
         poke $B625 $9A
      endif
      poke $10E016 $FF #Infinite time#
   endif
   if (dpeek($108006)>=$D03E)and(dpeek($108006)<=$D076)
      if (peek($10FFF2)==$01) #Infinite Power#
         poke $10844C $40
         poke $10864C $40
      endif
      poke $28DF5 $F0 #Change HP function#
      poke $28E1B $F0
      poke $4224F $DE
    #P2 HP Recovery#
      if (dpeek($1086F0)>$FF00)
         dpoke $1086F0 $0000 #Set HP to 0 when it is -ve#
      endif
      if ((dpeek($1086F0)==$0000)and(peek($108619)==$00))or(peek($10FDAC)==$01)
         dpoke $108654 $00FF #HP recovery#
      endif
      if (dpeek($1086F0)>$00FC)and(dpeek($1086F0)<$FF00) #When over-recover#
         dpoke $108654 $0000 #Stop recovering#
         dpoke $1086F0 $00FC #Back to normal full HP#
      endif
    #P1 HP Recovery#
      if (dpeek($1084F0)>$FF00)
         dpoke $1084F0 $0000 #Set HP to 0 when it is -ve#
      endif
      if ((dpeek($1084F0)==$0000)and(peek($108419)==$00))or(peek($10FDAC)==$04)
         dpoke $108454 $00FF #HP recovery#
      endif
      if (dpeek($1084F0)>$00FC)and(dpeek($1084F0)<$FF00) #When over-recover#
         dpoke $108454 $0000 #Stop recovering#
         dpoke $1084F0 $00FC #Back to normal full HP#
      endif
    #Remove menu text when resume#
      if (peek($10FFF4)==$01)
         dpoke $3C0000 $723C # address
             dpoke $3c0004 $20   # modulo
         for i=0 i<=$5 i=i+$1 dpoke $3C0002 $5320
         poke $10FFF4 $00
      endif
   endif
endif
#Practice Menu Script#
if (peek($10FFF0)==$02)and(dpeek($108006)>=$D03E)and(dpeek($108006)<=$D076)and(peek($10830E)==$80)
   poke $10FFF4 $01
 #To character select#
   if (peek($10FDAC)==$01)or(peek($10FDAC)==$04)
      poke $10830E $00
      poke $1080D0 $00
      dpoke $108006 $C8B2
      poke $10FFF4 $00
      poke $28DF5 $42 #Restore HP function#
      poke $28E1B $42
      poke $4224F $30
   endif
 #Control in menu#
   if (peek($10FFF3)==$FF)and((peek($10FD95)==$00)and(peek($10FD9B)==$00))
      poke $10FFF3 $00
   endif
   if (dpeek($10FFF2)==$0000)and((peek($10FD95)==$02)or(peek($10FD9B)==$02)or(peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF2 $01FF
      poke $320000 $70
   endif
   if (dpeek($10FFF2)==$0100)and((peek($10FD95)==$02)or(peek($10FD9B)==$02)or(peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $10FFF2 $00FF
      poke $320000 $70
   endif
 #Add text#
   if (peek($10FFF2)==$00) #Normal#
      dpoke $3C0000 $723C # address
          dpoke $3c0004 $20   # modulo
      dpoke $3C0002 $534E # value
      dpoke $3C0002 $534F
      dpoke $3C0002 $5352
      dpoke $3C0002 $534D
      dpoke $3C0002 $5341
      dpoke $3C0002 $534C
   endif
   if (peek($10FFF2)==$01) #Max#
      dpoke $3C0000 $723C # address
          dpoke $3c0004 $20   # modulo
      dpoke $3C0002 $5320 # value
      dpoke $3C0002 $5320
      dpoke $3C0002 $534D
      dpoke $3C0002 $5341
      dpoke $3C0002 $5358
      dpoke $3C0002 $5320
   endif
endif
#Bosses's Stage in VS & Practice Mode#
if (peek($10FFF0)==$01)or(peek($10FFF0)==$02)
   if (peek($1080CD)==$02)
      if (peek($108323)==$0B) #Amakusa's stage#
         poke $108B2B $09
      endif
      if (peek($108323)==$0D) #Zankuro's stage#
         poke $108B2B $0A
      endif
   endif
   if (peek($1080CD)==$01)
      if (peek($108322)==$0B) #Amakusa's stage#
         poke $108B2B $09
      endif
      if (peek($108322)==$0D) #Zankuro's stage#
         poke $108B2B $0A
      endif
   endif
endif
off:
   poke $B60F $94 #Restore control#
   poke $B625 $9A
   poke $28DF5 $42 #Restore HP function#
   poke $28E1B $42
   poke $4224F $30
   dpoke $15E6A $71F6 #Restore original text#
   dpoke $15EA4 $71F6
   dpoke $15EDE $71F6
   dpoke $15E86 $71F8
   dpoke $15EC0 $71F8
   dpoke $15EFA $71F8

script "Infinite Time"
run:
    poke $108368 $61
script "Select Backdrop" \
 "comm:Changes between matches" \
 "0x00/Arie"\
 "0x01/Obama"\
 "0x02/Kuchinotsu"\
 "0x03/Koga"\
 "0x04/Kushiyama"\
 "0x05/Dohsaki"\
 "0x06/Funatsu"\
 "0x07/Fukae"\
 "0x08/Kusenbutake"\
 "0x09/Amakusa Castle (vs Amakusa)"\
 "0x0A/Amakusa Castle (vs Zankuro)"\
 "0x0B/Amakusa Castle (vs Rival)"
run:
    poke $108B2B param
script " "
script "P1 Infinite Energy"
run:
    poke $108443 $FC
script "P1 Drain All Energy Now!"
on:
    poke $108443 $00
script "P1 Infinite Power"
run:
    poke $10844C $40
script "P1 Always Have Power Gauge"
run:
    poke $108558 $00
script "P1 Never Have Power Gauge"
run:
    poke $108558 $FF
script "P1 Select Rounds Won" \
 inter=0,2,1
run:
    poke $108462 (param)
script "P1 Select Character" \
 "comm:Use this in-between rounds" \
 "0x00/Haohmaru"\
 "0x01/Nakoruru"\
 "0x02/Rimururu"\
 "0x03/Hanzo Hattori"\
 "0x04/Galford"\
 "0x05/Kyoshiro Senryou"\
 "0x06/Ukyo Tachibana"\
 "0x07/Genjuro Kibagami"\
 "0x08/Kubikiri Basara"\
 "0x09/Shizumaru Hisame"\
 "0x0A/Gaira Kafuin"\
 "0x0B/Amakusa Shirou Tokisada"\
 "0x0C/Jubei Yagyu"\
 "0x0D/#Zankuro Minazuki"\
 "0x0E/Charlotte"\
 "0x0F/Tam Tam"\
 "0x10/Kazuki Kazama"\
 "0x11/Sogetsu Kazama"
run:
    poke $108322 param
script "P1 Select Colour" \
 "0x00/A Colour"\
 "0x01/B Colour"
run:
    poke $10832A param
script "P1 Select Playing Style" \
 "0x00/Slash"\
 "0x01/Bust"
run:
    poke $108324 param
script "P1 Select Character Difficulty" \
 "0x00/Beginners Class"\
 "0x01/Medium Grade"\
 "0x02/Upper Grade"
run:
    poke $108326 param
script "P1 Select Control" \
 "0xFF/Human Control"\
 "0x00/CPU Control"
run:
    poke $108320 param
script " "
script "P2 Infinite Energy"
run:
    poke $108643 $FC
script "P2 Drain All Energy Now!"
on:
    poke $108643 $00
script "P2 Infinite Power"
run:
    poke $10864C $40
script "P2 Always Have Power Gauge"
run:
    poke $108758 $00
script "P2 Never Have Power Gauge"
run:
    poke $108758 $FF
script "P2 Select Rounds Won" \
 "comm:Use this in-between rounds" \
 inter=0,2,1
run:
    poke $108662 (param)
script "P2 Select Character" \
 "0x00/Haohmaru"\
 "0x01/Nakoruru"\
 "0x02/Rimururu"\
 "0x03/Hanzo Hattori"\
 "0x04/Galford"\
 "0x05/Kyoshiro Senryou"\
 "0x06/Ukyo Tachibana"\
 "0x07/Genjuro Kibagami"\
 "0x08/Kubikiri Basara"\
 "0x09/Shizumaru Hisame"\
 "0x0A/Gaira Kafuin"\
 "0x0B/Amakusa Shirou Tokisada"\
 "0x0C/Jubei Yagyu"\
 "0x0D/#Zankuro Minazuki"\
 "0x0E/Charlotte"\
 "0x0F/Tam Tam"\
 "0x10/Kazuki Kazama"\
 "0x11/Sogetsu Kazama"
run:
    poke $108323 param
script "P2 Select Colour" \
 "0x00/A Colour"\
 "0x01/B Colour"
run:
    poke $10832B param
script "P2 Select Playing Style" \
 "0x00/Slash"\
 "0x01/Bust"
run:
    poke $108325 param
script "P2 Select Difficulty" \
 "0x00/Beginners Class"\
 "0x01/Medium Grade"\
 "0x02/Upper Grade"
run:
    poke $108327 param
script "P2 Select Control" \
 "0xFF/Human Control"\
 "0x00/CPU Control"
run:
    poke $108321 param
script " "
script "Hide Background" \
 "comm:Activate before match start"
on:
    temp0=dpeek($003140)
    dpoke $003140 $4E71
    temp1=dpeek($00314C)
    dpoke $00314C $4E71
    temp2=lpeek($003152)
    lpoke $003152 $4E714E71
    temp3=lpeek($028CFE)
    lpoke $028CFE $60464E71
run:
    if dpeek($1080C4)==$B
      dpoke $108314 $0000
      poke $109179 $02
      lpoke $109180 $8F8F8F8F
      poke $10C72E $00
    endif
off:
    dpoke $003140 temp0
    dpoke $00314C temp1
    lpoke $003152 temp2
    lpoke $028CFE temp3
script "No Background Music"
run:
    cpu audio
    poke $FDE0 $00
    cpu main
script "Select Cartridge/NeoGeo Type" \
 "comm:Use in conjunction with the 'Skip RAM/ROM Checks' cheat for the best effect, then enable it and reset. The Home (NEOGEO) setting may open up other aspects of the game or it may even make the game unplayable." \
 "0x80/Arcade (MVS)"\
 "0x00/Home (NEOGEO)"
run:
    poke $10FD82 param
script "Skip RAM/ROM Checks" \
 "comm:Also allows a quicker start-up without the green screens."
on:
    temp0=lpeek($C1315C)
    temp1=lpeek($C1314E)
    temp2=lpeek($C131E8)
    temp3=lpeek($C13184)
    temp4=lpeek($C1212E)
    temp5=lpeek($C134FA)
run:
    if (lpeek($C1315C)==$51CFFFF2)
      lpoke $C1315C $6000EB08
    endif
    if (lpeek($C1314E)==$51CFFFF2)
      lpoke $C1314E $6000EB16
    endif
    if (lpeek($C131E8)==$51CFFFF2)
      lpoke $C131E8 $6000EA52
    endif
    if (lpeek($C13184)==$51CFFFF2)
      lpoke $C13184 $6000EAB6
    endif
    if (lpeek($C1212E)==$51CFFFF2)
      lpoke $C1212E $6000EB36
    endif
    if (lpeek($C134FA)==$51CFFFF2)
      lpoke $C134FA $6000E892
    endif
off:
    lpoke $C1315C temp0
    lpoke $C1314E temp1
    lpoke $C131E8 temp2
    lpoke $C13184 temp3
    lpoke $C1212E temp4
    lpoke $C134FA temp5
script "Infinite Credits" \
 "comm:Alternatively just set Free Play to ON in the Dip Switches menu"
run:
    poke $D00034 $99
