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($10F2DC)==$543C)
   #Restore control#
   if (dpeek($C1852C)==$1A39) #For Unibios#
      poke $C1852F $34
      poke $C18537 $30
      poke $C1854B $34
      poke $C18553 $30
   endif
   if (dpeek($C16F46)==$1A39) #For Japan AES#
      poke $C16F49 $34
      poke $C16F51 $30
      poke $C16F65 $34
      poke $C16F6D $30
   endif
   if (dpeek($C16BFA)==$1A39) #For Asia AES#
      poke $C16BFD $34
      poke $C16C05 $30
      poke $C16C19 $34
      poke $C16C21 $30
   endif
   poke $29B1E $60 #Restore rom#
   poke $512E0 "JUST A MOMENT"
   poke $512F2 "PUSH  START"
   poke $536A8 $67
  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 $EE
  endif
  if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$08)or(peek($10FD9B)==$08))
    dpoke $10FFF0 $02FF
    poke $320000 $EE
  endif
  if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$08)or(peek($10FD9B)==$08))
    dpoke $10FFF0 $00FF
    poke $320000 $EE
  endif
  if (dpeek($10FFF0)==$0000)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $02FF
    poke $320000 $EE
  endif
  if (dpeek($10FFF0)==$0200)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $01FF
    poke $320000 $EE
  endif
  if (dpeek($10FFF0)==$0100)and((peek($10FD95)==$04)or(peek($10FD9B)==$04))
    dpoke $10FFF0 $00FF
    poke $320000 $EE
  endif
  if (peek($10FFF0)==$00) #Normal#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $0520 # value
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
  endif
  if (peek($10FFF0)==$01) #VS#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $0520 # value
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $8556
    dpoke $3C0002 $8553
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
    dpoke $3C0002 $0520
  endif
  if (peek($10FFF0)==$02) #Practice#
    dpoke $3C0000 $721D # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $8550 # value
    dpoke $3C0002 $8552
    dpoke $3C0002 $8541
    dpoke $3C0002 $8543
    dpoke $3C0002 $8554
    dpoke $3C0002 $8549
    dpoke $3C0002 $8543
    dpoke $3C0002 $8545
  endif
  if (peek($10FFF0)>=$01)
     poke $380000 peek($380000)|$70 #Disable memory card#
  endif
  if (peek($10FFF0)==$00)
     poke $380000 peek($380000)&$8F #Restore memory card#
  endif
endif
if (dpeek($10F2DC)==$1C0A)
   poke $380000 peek($380000)&$8F #Restore memory card#
endif
#VS Mode Script#
if (peek($10FFF0)==$01)
   if (dpeek($10F2E2)==$0360)or(dpeek($10FDB6)>$0101) #Activates players#
      poke $10B408 $03
      poke $106003 $01
      lpoke $106102 $00010001
      dpoke $10FDB6 $0101
      poke $512E0 "JUST A MOMENT" #Restore#
      poke $512F2 "PUSH  START"
      poke $536A8 $67
   endif
   if (peek($10F2D6)==$B9)or(peek($10F2D6)==$BA) #No text on winner screen#
      poke $512E0 "             "
      poke $512F2 "           "
      poke $536A8 $66
   endif
   if (dpeek($10F2E2)==$4888)
      if (dpeek($10C330)==$0001)
         poke $29B1E $61 #Stage from P2 characters#
      endif
      if (peek($10F2DB)==$02)
         poke $29B1E $60 #Restore#
      endif
   endif
endif
#Practice Mode Script#
if (peek($10FFF0)==$02)
   if (dpeek($10F2E2)==$0360)or(dpeek($10FDB6)>$0101) #Activates players#
      poke $10B408 $03
      poke $106003 $01
      lpoke $106102 $00010001
      dpoke $10FDB6 $0101
   endif
   if (dpeek($10F2E2)==$4888)or(dpeek($10F2E2)==$48F6)
      poke $148A5 $40 #Restore rom#
      if ((dpeek($10C330)==$0001)or(dpeek($10C330)==$0101)or(peek($10C331)==$02))and(peek($10FD96)==$00)and(peek($10FD9C)==$00) #Switch control#
         if (dpeek($C1852C)==$1A39) #For Unibios#
            poke $C1852F $30
            poke $C18537 $34
            poke $C1854B $30
            poke $C18553 $34
         endif
         if (dpeek($C16F46)==$1A39) #For Japan AES#
            poke $C16F49 $30
            poke $C16F51 $34
            poke $C16F65 $30
            poke $C16F6D $34
         endif
         if (dpeek($C16BFA)==$1A39) #For Asia AES#
            poke $C16BFD $30
            poke $C16C05 $34
            poke $C16C19 $30
            poke $C16C21 $34
         endif
      endif
      if (dpeek($10C330)==$0003)or(dpeek($10C330)==$0100) #Restore control#
         if (dpeek($C1852C)==$1A39) #For Unibios#
            poke $C1852F $34
            poke $C18537 $30
            poke $C1854B $34
            poke $C18553 $30
         endif
         if (dpeek($C16F46)==$1A39) #For Japan AES#
            poke $C16F49 $34
            poke $C16F51 $30
            poke $C16F65 $34
            poke $C16F6D $30
         endif
         if (dpeek($C16BFA)==$1A39) #For Asia AES#
            poke $C16BFD $34
            poke $C16C05 $30
            poke $C16C19 $34
            poke $C16C21 $30
         endif
      endif
      if (dpeek($10C330)==$0103)
         poke $10C13B $00 #Auto select status#
      endif
      if (dpeek($10C330)==$0001)
         poke $29B1E $61 #Stage from P2 characters#
      endif
      if (peek($10F2DB)==$02)
         poke $29B1E $60 #Restore#
      endif
   endif
   if (dpeek($10F2E2)==$4538)
      poke $10C109 $9A #Infinite time#
      dpoke $10600C $6060 #Infinite HP#
      dpoke $10610C $6060
      if (peek($10B40A)==$FF)and((peek($10FDAC)==$01)or(peek($10FDAC)==$04))
         poke $10B40A $00
         poke $10B004 $04 #Join in#
         poke $148A5 $00 #Shorten wait time#
      endif
   endif
endif

script "Infinite Time"
run:
    if peek($10C109)>01
      poke $10C109 $9A
    endif
script "Finish this Round Now!"
on:
    poke $10C109 $01
script "Always Round 1"
run:
    poke $10C121 $01
script " "
script "P1 Infinite Energy"
run:
    dpoke $10600C $6060
script "P1 Drain All Energy Now!"
on:
    dpoke $10600C $0000
script "P1 Select Character" \
 "comm:Free player selection, Use BETWEEN rounds" \
 "0x01/Dragon"\
 "0x02/Hanzou"\
 "0x03/Muscle"\
 "0x04/J. Carn"\
 "0x05/Janne"\
 "0x06/Rasputin"\
 "0x07/Fuuma"\
 "0x08/Brocken"\
 "0x09/Shura"\
 "0x0A/Ryoko"\
 "0x0B/C. Kidd"\
 "0x0C/Mudman"\
 "0x0D/Erick"\
 "0x0E/J. Max"\
 "0x0F/Jack"\
 "0x10/Ryofu"\
 "0x11/Zeus"
change:
    poke $106004 param
script "P1 Always have Wins = 0"
run:
    poke $10C122 $00|(peek($10C122)&~$03)
script "P1 Always have Wins = 2" \
 "comm:As long as P2 wins LT 2 then P1 wins the battle automatically at the end of round"
run:
    poke $10C122 $03|(peek($10C122)&~$03)
script "P1 Set Wins = 0 Now!"
on:
    poke $10C122 $00|(peek($10C122)&~$03)
script "P1 Set Wins = 1 Now!"
on:
    poke $10C122 $01|(peek($10C122)&~$03)
script "P1 Set Wins = 2 Now!" \
 "comm:As long as P2 wins LT 2 then P1 wins the battle automatically at the end of round"
on:
    poke $10C122 $03|(peek($10C122)&~$03)
script "P1 Always have Won 3 Rounds [Tournament]"
run:
    poke $10C123 $15|(peek($10C123)&~$3F)
script " "
script "P2 Infinite Energy"
run:
    dpoke $10610C $6060
script "P2 Drain All Energy Now!"
on:
    dpoke $10610C $0000
script "P2 Select Character" \
 "comm:Free player selection, Use BETWEEN rounds" \
 "0x01/Dragon"\
 "0x02/Hanzou"\
 "0x03/Muscle"\
 "0x04/J. Carn"\
 "0x05/Janne"\
 "0x06/Rasputin"\
 "0x07/Fuuma"\
 "0x08/Brocken"\
 "0x09/Shura"\
 "0x0A/Ryoko"\
 "0x0B/C. Kidd"\
 "0x0C/Mudman"\
 "0x0D/Erick"\
 "0x0E/J. Max"\
 "0x0F/Jack"\
 "0x10/Ryofu"\
 "0x11/Zeus"
change:
    poke $106104 param
script "P2 Always have Wins = 0"
run:
    poke $10C122 $00|(peek($10C122)&~$0C)
script "P2 Always have Wins = 2" \
 "comm:As long as P2 wins LT 2 then P1 wins the battle automatically at the end of round"
run:
    poke $10C122 $0C|(peek($10C122)&~$0C)
script "P2 Set Wins = 0 Now!"
on:
    poke $10C122 $00|(peek($10C122)&~$0C)
script "P2 Set Wins = 1 Now!"
on:
    poke $10C122 $04|(peek($10C122)&~$0C)
script "P2 Set Wins = 2 Now!" \
 "comm:As long as P1 wins LT 2 then P2 wins the battle automatically at the end of round"
on:
    poke $10C122 $0C|(peek($10C122)&~$0C)
script "P2 Always have Won 3 Rounds [Tournament]"
run:
    poke $10C123 $15|(peek($10C123)&~$3F)
script " "
script "Deathmatch Player 'Downs' always 0"
run:
    poke $106111 $00
script "Deathmatch CPU 'Downs' always 6"
run:
    poke $106011 $06
script " "
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
script "Mute All Music" \
 "comm:Fully mutes all music, including BIOS music"
on:
    if peek($0109)==$03
      temp0=$04AC
    endif
    if peek($0109)==$05
      temp0=$D2A4
    endif
    if peek($0109)==$09
      temp0=$CEBD
    endif
    if peek($0109)==$12
      temp0=$04AC
    endif
    if peek($0109)==$17
      temp0=$04AC
    endif
    if peek($0109)==$22
      temp0=$CEC0
    endif
    if peek($0109)==$24
      temp0=$04C2
    endif
    if peek($0109)==$37
      temp0=$03ED
    endif
    if peek($0109)==$38
      temp0=$03ED
    endif
    if peek($0109)==$50
      temp0=$03ED
    endif
    if peek($0109)==$53
      temp0=$03FE
    endif
    if peek($0109)==$54
      temp0=$03ED
    endif
    if peek($0109)==$57
      temp0=$040D
    endif
    if peek($0109)==$64
      temp0=$0408
    endif
    if peek($0109)==$74
      temp0=$0408
    endif
    if peek($0109)==$90
      temp0=$04AC
    endif
run:
    cpu audio
    if peek(temp0)==$32
      poke temp0 $C9
    endif
    cpu main
off:
    cpu audio
    if peek(temp0)==$C9
      poke temp0 $32
    endif
    cpu main
