script "Console Mode Plus" \
"comm:On the level select screen, press left or right to select modes.
In practice mode, pause the game then press start to change character."
run:
#Menu Screen Script#
if (dpeek($102144)==$1312)and(peek($101099)==$32)
  poke $FBF $96 #Restore rom#
  poke $FD5 $9C
  poke $22CA1 $0B
  poke $22CAF $2B
  if (peek($10FFF1)==$FF)and((peek($10FD95)==$00)and(peek($10FD9B)==$00))
    poke $10FFF1 $00
  endif
  if (dpeek($10FFF0)==$0000)and((peek($10FD95)==$08)or(peek($10FD9B)==$08))
    dpoke $10FFF0 $01FF
    poke $320000 $62
  endif
  if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$08)or(peek($10FD9B)==$08))
    dpoke $10FFF0 $02FF
    poke $320000 $62
  endif
  if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$08)or(peek($10FD9B)==$08))
    dpoke $10FFF0 $00FF
    poke $320000 $62
  endif
  if (dpeek($10FFF0)==$0000)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $02FF
    poke $320000 $62
  endif
  if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $01FF
    poke $320000 $62
  endif
  if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $00FF
    poke $320000 $62
  endif
  if (peek($10FFF0)==$00) #Normal#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $7320 # value
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
  endif
  if (peek($10FFF0)==$01) #VS#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $7320 # value
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7356
    dpoke $3C0002 $7353
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
    dpoke $3C0002 $7320
  endif
  if (peek($10FFF0)==$02) #Practice#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $7350 # value
    dpoke $3C0002 $7352
    dpoke $3C0002 $7341
    dpoke $3C0002 $7343
    dpoke $3C0002 $7354
    dpoke $3C0002 $7349
    dpoke $3C0002 $7343
    dpoke $3C0002 $7345
  endif
  if (peek($10FD96)==$10)or(peek($10FD9C)==$10)
     if (peek($10FFF0)>=$01)
        poke $380000 peek($380000)|$70 #Disable memory card#
     endif
  endif
endif
if (dpeek($102144)==$136C)
   poke $380000 peek($380000)&$8F #Restore memory card#
endif
#Skip cutscene for boss in story mode#
if (peek($10FFF0)==$00)
   if (dpeek($102144)==$1750)and(peek($100A93)<$0C)
      poke $100AA7 $00
   endif
endif
#VS Mode Script#
if (peek($10FFF0)==$01)
   if (dpeek($102144)==$136C)
      poke $10100A $01 #Activate players#
      poke $10102A $01
      dpoke $100008 $9999 #Prevent hi-score screen for time#
      lpoke $10000A $99999999
      lpoke $10000E $99999999 #Prevent highest score#
      lpoke $10001E $99999999
      lpoke $10002E $99999999
      lpoke $10003E $99999999
      lpoke $10004E $99999999
   endif
   if (dpeek($102144)==$13B8)
      if (peek($10100D)==$01)and(peek($10102D)==$00)
         poke $22CA1 $2B #Stage from P2#
      endif
      if (peek($10100D)==$00)and(peek($10102D)==$01)
         poke $22CAF $0B #Stage from P1#
      endif
   endif
   if (dpeek($102144)==$17C2)
      poke $22CA1 $0B #Restore rom#
      poke $22CAF $2B
      poke $10100D $00 #Deselect characters#
      poke $10102D $00
   endif
   if (dpeek($102144)!=$1312)
      poke $10100A $01 #Activate players#
      poke $10102A $01
      dpoke $10FDB6 $0101
   endif
endif
#Practice Mode Script#
if (peek($10FFF0)==$02)
   if (dpeek($102144)==$136C)
      poke $10100A $01 #Activate players#
      poke $10102A $01
   endif
   if (dpeek($102144)==$13B8)
      if ((peek($10100D))!=(peek($10102D)))and(peek($10FD96)==$00)and(peek($10FD9C)==$00) #Control interchange#
         poke $FBF $9C
         poke $FD5 $96
      endif
      if (peek($10100D)==$01)and(peek($10102D)==$00)
         poke $22CA1 $2B #Stage from P2#
      endif
      if (peek($10100D)==$00)and(peek($10102D)==$01)
         poke $22CAF $0B #Stage from P1#
      endif
      if (peek($10100D)==$01)and(peek($10102D)==$01)
         poke $FBF $96 #Restore control#
         poke $FD5 $9C
      endif
   endif
   if (dpeek($102144)==$17C2)
      poke $22CA1 $0B #Restore rom#
      poke $22CAF $2B
   endif
   if (dpeek($102144)==$1844)
      dpoke $100A08 $0055 #Infinite time#
      poke ((lpeek($100A0A))+$A5) $80 #Infinite HP#
      poke ((lpeek($100A0E))+$A5) $80
      if (dpeek($10214A)==$FFFF)and((peek($10FDAC)==$01)or(peek($10FDAC)==$04))
         poke $100A85 $00
         dpoke $10214A $0000
         poke $10100D $00 #Deselect characters#
         poke $10102D $00
         dpoke $102144 $19A0 #Return#
      endif
   endif
endif

script "Infinite Time"
run:
    poke $100A09 $63
script "Finish this Round Now!" \
 "comm:Disable Infinite Time before activating this cheat"
on:
    poke $100A09 $00
script "Goto Boss Fight Screen Now!" \
 "comm:The Goto Boss Fight Screen should be activated on the character selection screen. If you activate it during any fight however you will see the ENDING after you win that match!"
on:
    poke $100A93 $0C
script "Hit Anywhere (Both Players)"
on:
    temp0=dpeek($0071A8)
run:
    dpoke $0071A8 $6002
off:
    dpoke $0071A8 temp0
script " "
script "P1 Infinite Energy"
run:
    poke ((lpeek($100A0A))+$A5) $80
script "P1 Drain All Energy Now!"
on:
    poke ((lpeek($100A0A))+$A5) $00
script "P1 Select Character" \
 "comm:Free player selection. Activate between rounds or just after selection." \
 "0x00/Haohmaru"\
 "0x01/Nakoruru"\
 "0x02/Hanzo"\
 "0x03/Galford"\
 "0x04/Wang-Fu"\
 "0x05/Ukyo"\
 "0x06/Kyoshiro"\
 "0x07/Gen-An"\
 "0x08/Earthquake"\
 "0x09/Jubei"\
 "0x0A/Tamtam"\
 "0x0B/Charlotte"\
 "0x0C/Amakusa"
run:
    poke $10100B param
script " "
script "P2 Infinite Energy"
run:
    poke ((lpeek($100A0E))+$A5) $80
script "P2 Drain All Energy Now!"
on:
    poke ((lpeek($100A0E))+$A5) $00
script "P2 Select Character" \
 "comm:Free player selection. Activate between rounds or just after selection." \
 "0x00/Haohmaru"\
 "0x01/Nakoruru"\
 "0x02/Hanzo"\
 "0x03/Galford"\
 "0x04/Wang-Fu"\
 "0x05/Ukyo"\
 "0x06/Kyoshiro"\
 "0x07/Gen-An"\
 "0x08/Earthquake"\
 "0x09/Jubei"\
 "0x0A/Tamtam"\
 "0x0B/Charlotte"\
 "0x0C/Amakusa"
run:
    poke $10102B param
script " "
script "No Background Music"
run:
    cpu audio
    poke $FE2D $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
