script "Console Mode Plus" \
"comm:On the title screen, hightlight 'Game Start', press left or right to select modes.
In practice mode, start button can restore HP, pause the game and then press start to select character."
run:
#Menu Screen Script#
if (dpeek($100002)==$A13C)
   poke $8D2D $95 #Restore control#
   poke $8D5D $9B
   dpoke $71EB4 $1B7C #Restore original HP function#
   poke $71DA1 $FF
   dpoke $71DA4 $6100
 #Shift original text and add own text in menu#
   dpoke $1C60C $71FF #Shift original text#
   dpoke $1C62A $71FF
    dpoke $3C0000 $71F6 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $2F47 # value
    dpoke $3C0002 $2F41
    dpoke $3C0002 $2F4D
    dpoke $3C0002 $2F45
    dpoke $3C0002 $2F20
    dpoke $3C0002 $2F53
    dpoke $3C0002 $2F54
    dpoke $3C0002 $2F41
    dpoke $3C0002 $2F52
    dpoke $3C0002 $2F54
    dpoke $3C0000 $7217 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $2F56 # value
    dpoke $3C0002 $2F53
    dpoke $3C0002 $2F20
    dpoke $3C0002 $2F20
    dpoke $3C0002 $2F4D
    dpoke $3C0002 $2F4F
    dpoke $3C0002 $2F44
    dpoke $3C0002 $2F45
    dpoke $3C0000 $7218 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $2F50 # value
    dpoke $3C0002 $2F52
    dpoke $3C0002 $2F41
    dpoke $3C0002 $2F43
    dpoke $3C0002 $2F54
    dpoke $3C0002 $2F49
    dpoke $3C0002 $2F43
    dpoke $3C0002 $2F45
    dpoke $3C0000 $7239 # address
	dpoke $3c0004 $20   # modulo
    dpoke $3C0002 $2F4F # value
    dpoke $3C0002 $2F50
    dpoke $3C0002 $2F54
    dpoke $3C0002 $2F49
    dpoke $3C0002 $2F4F
    dpoke $3C0002 $2F4E
 #Control in menu#
   if (peek($100041)==$FF)and((peek($10FD95)==$00)and(peek($10FD9B)==$00))
      poke $100041 $00
   endif
   if (dpeek($100040)==$0000)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $100040 $01FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0100)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $100040 $02FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0200)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $100040 $03FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0300)and((peek($10FD95)==$02)or(peek($10FD9B)==$02))
      dpoke $100040 $00FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0000)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $100040 $03FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0300)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $100040 $02FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0200)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $100040 $01FF
      poke $320000 $60
   endif
   if (dpeek($100040)==$0100)and((peek($10FD95)==$01)or(peek($10FD9B)==$01))
      dpoke $100040 $00FF
      poke $320000 $60
   endif
 #Hightlighted mode display#
   if (peek($100040)==$00) #Arcade#
      poke $109741 $00 #Game Start#
      poke $380000 peek($380000)&$8F #Restore memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $71F6 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $3F47 # value
         dpoke $3C0002 $3F41
         dpoke $3C0002 $3F4D
         dpoke $3C0002 $3F45
         dpoke $3C0002 $3F20
         dpoke $3C0002 $3F53
         dpoke $3C0002 $3F54
         dpoke $3C0002 $3F41
         dpoke $3C0002 $3F52
         dpoke $3C0002 $3F54
      endif
   endif
   if (peek($100040)==$01) #VS#
      poke $109741 $00 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $7217 # address
	      dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $3F56 # value
         dpoke $3C0002 $3F53
         dpoke $3C0002 $3F20
         dpoke $3C0002 $3F20
         dpoke $3C0002 $3F4D
         dpoke $3C0002 $3F4F
         dpoke $3C0002 $3F44
         dpoke $3C0002 $3F45
      endif
   endif
   if (peek($100040)==$02) #Practice#
      poke $109741 $00 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $7218 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $3F50 # value
         dpoke $3C0002 $3F52
         dpoke $3C0002 $3F41
         dpoke $3C0002 $3F43
         dpoke $3C0002 $3F54
         dpoke $3C0002 $3F49
         dpoke $3C0002 $3F43
         dpoke $3C0002 $3F45
      endif
   endif
   if (peek($100040)==$03) #Option#
      poke $109741 $01 #Option#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $7239 # address
	     dpoke $3c0004 $20   # modulo
         dpoke $3C0002 $3F4F # value
         dpoke $3C0002 $3F50
         dpoke $3C0002 $3F54
         dpoke $3C0002 $3F49
         dpoke $3C0002 $3F4F
         dpoke $3C0002 $3F4E
      endif
   endif
endif
#Restore rom when leaving menu#
if (dpeek($100002)==$A1F4)
   dpoke $1C60C $71F6 #Restore original text#
   dpoke $1C62A $71F6
endif
#VS Mode Script#
if (peek($100040)==$01)
   if (dpeek($100002)==$A43C)
      poke $100024 $03 #Activate both player#
      dpoke $10FDB6 $0101
   endif
   if (dpeek($100002)==$A562)
      if (dpeek($106A2C)==$00FF) #Music form P2#
         poke $100025 $02
      endif
      if (dpeek($106A2C)==$FF00) #Music from P1#
         poke $100025 $01
      endif
    endif
    if (dpeek($100002)==$AC0E)
       poke $100025 $03
    endif
   if (dpeek($100002)==$B5C0) #Back to char screen step 1#
       dpoke $100002 $B084
   endif
   if (dpeek($100002)==$B75E) #Back to char screen step 2#
      dpoke $10FDB6 $0101
      poke $100024 $03
      dpoke $100026 $0003
      poke $100002 $BE #Return#
   endif
endif
#Practice Mode Script#
if (peek($100040)==$02)
   if (dpeek($100002)==$A43C)
      poke $10E01E $03 #Infinity time#
      poke $10E016 $AA
      poke $100024 $03
      dpoke $10FDB6 $0101
      dpoke $71EB4 $4E75 #Change original HP function#
      poke $71DA1 $00
      dpoke $71DA4 $4E75
   endif
   if (dpeek($100002)==$A562)
      if (dpeek($106A2C)==$00FF) #P1 as main player#
         poke $8D2D $9B
         poke $8D5D $95
         poke $100025 $02
      endif
      if (dpeek($106A2C)==$FF00) #P2 as main player#
         poke $8D2D $9B
         poke $8D5D $95
         poke $100025 $01
      endif
      if (dpeek($106A2C)==$0000)or(dpeek($106A2C)==$0100)or(dpeek($106A2C)==$0001) #Restore original control#
         poke $8D2D $95
         poke $8D5D $9B
      endif
   endif
   if (dpeek($100002)==$AC5C) #Battle parameters#
      poke $1004BC $3C #Infinite Power#
      poke $1005BC $3C
      if (peek($100025)==$02) #P1 as main player#
         poke $10048B $60 #P1 red blood#
         #P2 HP Recovery#
         if ((peek($10058B)==$00)and(dpeek($100560)<=$0001))or(peek($10FDAC)==$01) #Condition to restore#
            poke $100051 $01
         endif
         if (peek($100051)==$01)and(peek($10058B)<$C0) #Restore HP#
            poke $10058B peek($10058B)+$1
         endif
         if (peek($10058B)==$C0) #Finish restore#
            poke $100051 $00
         endif
      endif
      if (peek($100025)==$01) #P2 as main player#
         poke $10058B $60 #P2 red blood#
         #P1 HP Recovery#
         if ((peek($10048B)==$00)and(dpeek($100460)<=$0001))or(peek($10FDAC)==$04) #Condition to restore#
            poke $100050 $01
         endif
         if (peek($100050)==$01)and(peek($10048B)<$C0) #Restore HP#
            poke $10048B peek($10048B)+$1
         endif
         if (peek($10048B)==$C0) #Finish restore#
            poke $100050 $00
         endif
      endif
   endif
   if (dpeek($100002)==$AC5C)and(peek($1041D2)==$FF)and((peek($10FDAC)==$01)or(peek($10FDAC)==$04)) #Back to char screen step 1#
      poke $1041D2 $00
      dpoke $100002 $B084
   endif
   if (dpeek($100002)==$B75E) #Back to char screen step 2#
      dpoke $10FDB6 $0101
      poke $100024 $03
      dpoke $100026 $0003
      poke $100002 $BE #Return#
   endif
endif
off:
   dpoke $1C60C $71F6 #Restore original text#
   dpoke $1C62A $71F6
   poke $8D2D $95 #Restore control#
   poke $8D5D $9B
   dpoke $71EB4 $1B7C #Restore original HP function#
   poke $71DA1 $FF
   dpoke $71DA4 $6100

script "Enable Boss" \
 "comm:Enable before Character Select Screen.
When using neogeo unibios, it affects the activation of other dip-switch"
run:
   if (dpeek($100002)==$A552)
      poke $10E001 $80
   endif
   if (dpeek($100002)==$A562)
      poke $10E001 $00
   endif
off:
   poke $10E001 $00

script "Enable Stage Select" \
"comm:When using neogeo unibios, it affects the activation of other dip-switch"  
run:
   poke $10E000 $04
off:
   poke $10E000 $00

script "Infinite Time"  
run:
    poke $106AB4 $9A
script "Finish this Round Now!" \
 "comm:Disable Infinite Time before activating this cheat"  
on:
    poke $106AB4 $00
script "Select Stage" \
 "0x01/Japan"\
 "0x02/Korea"\
 "0x03/Brazil"\
 "0x04/Hong Kong"\
 "0x05/China"\
 "0x06/USA (Beach)"\
 "0x07/USA (Stage)"\
 "0x08/Germany (Day)"\
 "0x09/Germany (Night)"\
 "0x0A/Geese Tower" 
run:
    poke $106A31 param
script " "  
script "The Goto Boss Fight Screen should be activated on the character"  
script "selection screen. If you activate it during any fight however"  
script "you will see the ENDING after you win that match!"  
script " "  
script "Goto Boss (Krauser) Now!"  
on:
    poke $106A35 $09
script "Goto Secret Boss (Geese) Now!"  
on:
    poke $106A35 $0A
script " "  
script "Once you activate Easy Supers you can do all the SDMs of any"  
script "character (even the hidden SDMs), all you have to do usually"  
script "is during play press down,down + A (DM),down,down + C (SDM),"  
script "some characters that have more than 2 SDMs can use the B or D"  
script "buttons as well."  
script " "  
script "Always have Easy Supers" \
 "comm:Debug DIP"  
run:
    poke $10E001 $01
script " "  
script "P1 Infinite Energy"  
run:
    poke $10048B $C0
script "P1 Drain All Energy Now!"  
on:
    poke $10048B $00
script "P1 Infinite Power"  
run:
    poke $1004BC $3C
script "P1 Quick Action"  
run:
    poke $10046F $00
script "P1 Infinite Select Time"  
run:
    poke $102588 $0A
script "P1 Select Character" \
 "comm:Free player selection, use anytime after the selection screen (may cause some glitches)." \
 "0x01/Terry B."\
 "0x02/Andy B."\
 "0x03/Joe H."\
 "0x04/Mai S."\
 "0x05/#Geese Howard#"\
 "0x06/Sokaku M."\
 "0x07/Bob Wilson"\
 "0x08/Hon Fu"\
 "0x09/Blue Mary"\
 "0x10/Franco Bash"\
 "0x11/R. Yamazaki"\
 "0x12/Jin Chonshu"\
 "0x13/Jin Chonrei"\
 "0x14/Duck King"\
 "0x15/Kim Kaphwan"\
 "0x16/Billy Kane"\
 "0x17/Cheng S."\
 "0x18/Tung Fu Rue"\
 "0x19/Laurence B."\
 "0x20/#W. Krauser#" 
change:
    if (param==$01)
      poke $100411 $01
      poke $106A25 $01
    endif
    if (param==$02)
      poke $100411 $02
      poke $106A25 $02
    endif
    if (param==$03)
      poke $100411 $03
      poke $106A25 $03
    endif
    if (param==$04)
      poke $100411 $04
      poke $106A25 $04
    endif
    if (param==$05)
      poke $100411 $05
      poke $106A25 $05
    endif
    if (param==$06)
      poke $100411 $06
      poke $106A25 $06
    endif
    if (param==$07)
      poke $100411 $07
      poke $106A25 $07
    endif
    if (param==$08)
      poke $100411 $08
      poke $106A25 $08
    endif
    if (param==$09)
      poke $100411 $09
      poke $106A25 $09
    endif
    if (param==$10)
      poke $100411 $0A
      poke $106A25 $0A
    endif
    if (param==$11)
      poke $100411 $B
      poke $106A25 $B
    endif
    if (param==$12)
      poke $100411 $0C
      poke $106A25 $0C
    endif
    if (param==$13)
      poke $100411 $0D
      poke $106A25 $0D
    endif
    if (param==$14)
      poke $100411 $0E
      poke $106A25 $0E
    endif
    if (param==$15)
      poke $100411 $0F
      poke $106A25 $0F
    endif
    if (param==$16)
      poke $100411 $10
      poke $106A25 $10
    endif
    if (param==$17)
      poke $100411 $11
      poke $106A25 $11
    endif
    if (param==$18)
      poke $100411 $12
      poke $106A25 $12
    endif
    if (param==$19)
      poke $100411 $13
      poke $106A25 $13
    endif
    if (param==$20)
      poke $100411 $14
      poke $106A25 $14
    endif
script "P1 Activate #EX# Flag" \
 "comm:This code only works with the following characters- Andy Bogard, Billy Kane, Blue Mary, Tung Fu Rue"  
on:
    temp0=peek($1004D8)
run:
    poke $1004D8 $81
off:
    poke $1004D8 temp0
script "P1 Select Control Type" \
 "0x00/-NOTHING-"\
 "0x01/1P (Human)"\
 "0x02/2P (Human)"\
 "0x03/CPU (AutoPlay)" 
run:
    poke $100412 param
script "P1 Select Colour" \
 "0x00/A Colour"\
 "0x01/D Colour" 
run:
    poke $106A2C param
script " "  
script "P2 Infinite Energy"  
run:
    poke $10058B $C0
script "P2 Drain All Energy Now!"  
on:
    poke $10058B $00
script "P2 Infinite Power"  
run:
    poke $1005BC $3C
script "P2 Quick Action"  
run:
    poke $10056F $00
script "P2 Infinite Select Time"  
run:
    poke $102688 $0A
script "P2 Select Character" \
 "comm:Free player selection, use anytime after the selection screen (may cause some glitches)." \
 "0x01/Terry B."\
 "0x02/Andy B."\
 "0x03/Joe H."\
 "0x04/Mai S."\
 "0x05/#Geese Howard#"\
 "0x06/Sokaku M."\
 "0x07/Bob Wilson"\
 "0x08/Hon Fu"\
 "0x09/Blue Mary"\
 "0x10/Franco Bash"\
 "0x11/R. Yamazaki"\
 "0x12/Jin Chonshu"\
 "0x13/Jin Chonrei"\
 "0x14/Duck King"\
 "0x15/Kim Kaphwan"\
 "0x16/Billy Kane"\
 "0x17/Cheng S."\
 "0x18/Tung Fu Rue"\
 "0x19/Laurence B."\
 "0x20/#W. Krauser#" 
change:
    if (param==$01)
      poke $100511 $01
      poke $106B25 $01
    endif
    if (param==$02)
      poke $100511 $02
      poke $106B25 $02
    endif
    if (param==$03)
      poke $100511 $03
      poke $106B25 $03
    endif
    if (param==$04)
      poke $100511 $04
      poke $106B25 $04
    endif
    if (param==$05)
      poke $100511 $05
      poke $106B25 $05
    endif
    if (param==$06)
      poke $100511 $06
      poke $106B25 $06
    endif
    if (param==$07)
      poke $100511 $07
      poke $106B25 $07
    endif
    if (param==$08)
      poke $100511 $08
      poke $106B25 $08
    endif
    if (param==$09)
      poke $100511 $09
      poke $106B25 $09
    endif
    if (param==$10)
      poke $100511 $0A
      poke $106B25 $0A
    endif
    if (param==$11)
      poke $100511 $B
      poke $106B25 $B
    endif
    if (param==$12)
      poke $100511 $0C
      poke $106B25 $0C
    endif
    if (param==$13)
      poke $100511 $0D
      poke $106B25 $0D
    endif
    if (param==$14)
      poke $100511 $0E
      poke $106B25 $0E
    endif
    if (param==$15)
      poke $100511 $0F
      poke $106B25 $0F
    endif
    if (param==$16)
      poke $100511 $10
      poke $106B25 $10
    endif
    if (param==$17)
      poke $100511 $11
      poke $106B25 $11
    endif
    if (param==$18)
      poke $100511 $12
      poke $106B25 $12
    endif
    if (param==$19)
      poke $100511 $13
      poke $106B25 $13
    endif
    if (param==$20)
      poke $100511 $14
      poke $106B25 $14
    endif
script "P2 Activate #EX# Flag" \
 "comm:This code only works with the following characters- Andy Bogard, Billy Kane, Blue Mary, Tung Fu Rue"  
on:
    temp0=peek($1005D8)
run:
    poke $1005D8 $81
off:
    poke $1005D8 temp0
script "P2 Select Control Type" \
 "0x00/-NOTHING-"\
 "0x01/1P (Human)"\
 "0x02/2P (Human)"\
 "0x03/CPU (AutoPlay)" 
run:
    poke $100512 param
script "P2 Select Colour" \
 "0x00/A Colour"\
 "0x01/D Colour" 
run:
    poke $106A2D param
script " "  
script "No Background Music"  
run:
    cpu audio
    poke $FDE0 $00
    cpu main
script "Hide Background" \
 "comm:Activate before match start; works in round 1 only"  
on:
    temp0=dpeek($011158)
run:
    dpoke $011158 temp0
    if ((peek($106AAE)==$38)and(peek($106A37)==$01))
      poke $106AAE $33
    endif
    if ((peek($106AAE)!=$00)and(peek($106A37)==$01))
      dpoke $011158 $6004
      poke $1065E3 $00
      poke $1065E5 $01
      dpoke $401FFE $8F8F
    endif
off:
    dpoke $011158 temp0
    poke $106AAE $38
    poke $1065E3 peek($1065E2)&0F
    poke $1065E5 peek($1065E4)&0F
    dpoke $401FFE $0000
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
