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)==$E71E)
   poke $CC71 $95 #Restore control#
   poke $CCA1 $9B
   dpoke $5B5B6 $1B7C #Restore original HP function#
   poke $5B477 $FF
   dpoke $5B47A $6100
 #Shift original text and add own text in menu#
   dpoke $1951C $71FF #Shift original text#
   dpoke $1953A $71FF
    dpoke $3C0000 $71F9 # 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 $721A # 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 $721B # 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 $723C # 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 $10A8CF $00 #Game Start#
      poke $380000 peek($380000)&$8F #Restore memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $71F9 # 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 $10A8CF $00 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $721A # 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 $10A8CF $00 #Game Start#
      poke $380000 peek($380000)|$70 #Disable memory card#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $721B # 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 $10A8CF $01 #Option#
      if (peek($10FD9F)>=$05)
         dpoke $3C0000 $723C # 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)==$E802)
   dpoke $1951C $71F9 #Restore original text#
   dpoke $1953A $71F9
endif
#VS Mode Script#
if (peek($100040)==$01)
   if (dpeek($100002)==$EA94)
      poke $100024 $03 #Activate both player#
      dpoke $10FDB6 $0101
   endif
   if (dpeek($100002)==$EC06)
      if (peek($100026)==$01) #Music form P2#
         poke $100025 $02
      endif
      if (peek($100026)==$02) #Music from P1#
         poke $100025 $01
      endif
    endif
    if (dpeek($100002)==$F532)
       poke $100025 $03
    endif
   if (dpeek($100002)==$F908) #Back to char screen step 1#
      dpoke $100002 $F9A8
   endif
   if (lpeek($100000)==$00010122) #Back to char screen step 2#
      dpoke $10FDB6 $0101
      poke $100024 $03
      dpoke $100026 $0003
      lpoke $100000 $0000EB90 #Return#
   endif
endif
#Practice Mode Script#
if (peek($100040)==$02)
   if (dpeek($100002)==$EA94)
      poke $10E024 $03 #Infinity time#
      poke $10E018 $AA
      poke $100024 $03
      dpoke $10FDB6 $0101
      dpoke $5B5B6 $4E75 #Change original HP function#
      poke $5B477 $00
      dpoke $5B47A $4E75
   endif
   if (dpeek($100002)==$EC06)
      if (peek($100026)==$01) #P1 as main player#
         poke $CC71 $9B
         poke $CCA1 $95
         poke $100025 $02
      endif
      if (peek($100026)==$02) #P2 as main player#
         poke $CC71 $9B
         poke $CCA1 $95
         poke $100025 $01
      endif
      if (peek($100026)==$03) #Restore original control#
         poke $CC71 $95
         poke $CCA1 $9B
      endif
   endif
   if (dpeek($100002)==$F55A) #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)==$F55A)and(peek($1041D2)==$FF)and((peek($10FDAC)==$01)or(peek($10FDAC)==$04)) #Back to char screen step 1#
      poke $1041D2 $00
      dpoke $100002 $F9A8
   endif
   if (lpeek($100000)==$00010122) #Back to char screen step 2#
      dpoke $10FDB6 $0101
      poke $100024 $03
      dpoke $100026 $0003
      lpoke $100000 $0000EB90 #Return#
   endif
endif
off:
   dpoke $1951C $71F9 #Restore original text#
   dpoke $1953A $71F9
   poke $CC71 $95 #Restore control#
   poke $CCA1 $9B
   dpoke $5B5B6 $1B7C #Restore original HP function#
   poke $5B477 $FF
   dpoke $5B47A $6100

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 $107C28 $99
script "Finish this Round Now!" \
 "comm:Disable Infinite Time before activating this cheat"  
on:
    poke $107C28 $00
script " "  
script "Stage Selection. Activate during a match."  
script "Win the match for cheat to take effect."  
script " "  
script "Fight Krauser Next Now!"  
on:
    poke $107BB5 $08
script "Fight Geese Next Now!"  
on:
    poke $107BB5 $09
script "Fight Alfred Next Now!"  
on:
    poke $107BB5 $0A
script "Goto Ending Next Now!"  
on:
    poke $107BB5 $B
script " "  
script "Once you activate Easy Supers you can do all the SDMs of any"  
script "Character, regardless of life or power conditions. All you"  
script "have to do is do d,d+A (DM)or d,d+C (SDM). Franco and Billy"  
script "can use d,d+B for their second DM, while Geese and Krauser"  
script "can use d,d+D for their second SDM. Xiangfei's second DM must"  
script "still be input manually (as it must be comboed into)."  
script " "  
script "Always have Easy Supers"  
on:
    temp0=peek($10E001)
run:
    poke $10E001 $01|(peek($10E001)&~$01)
off:
    poke $10E001 temp0
script "Select Backdrop" \
 "comm:Free Backdrop Selection. Activate between rounds. First character listed with each selection uses Variation 0, 2nd character listed uses Variation 1, and if applicable 3rd character listed uses Variation 2." \
 "0x01/Tree [Mai, Sokaku, Andy]"\
 "0x02/Billboard (1 Line) [Cheng, Yamazaki]"\
 "0x03/Square [Kim, Tung]"\
 "0x04/Geese Tower [Geese, Billy]"\
 "0x05/Strolheim Castle [Krauser, Laurence]"\
 "0x06/Crosswalk [Duck, Mary]"\
 "0x07/Fighting Ring [Bob, Franco, Joe]"\
 "0x08/Jin Chamber [Chonshu, Chonrei]"\
 "0x09/Rest Stop [Terry, Rick, Alfred]"\
 "0x0A/Street (1 Line) [Xiangfei, Hon-Fu]" 
run:
    poke $107BB1 param
script "Select Stage Variation" \
 inter=0,2,1 
run:
    poke $107BB7 (param)
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 Select Rounds Won" \
 inter=0,2,1 
run:
    poke $107C0C (param)
script "P1 Select Streak Count" \
 inter=0,99,1 
run:
    poke $107C1B tobcd(param)
script "P1 Motion blur for" \
 "comm:This cheat is futile but it permits you to make out the differences between normal and special moves"  
run:
    poke $1004CD $5F
script "P1 Select Character" \
 "comm:Free player selection - Activate between rounds or after selection." \
 "0x01/Terry Bogard"\
 "0x02/Andy Bogard"\
 "0x03/Joe Higashi"\
 "0x04/Mai Shiranui"\
 "0x05/Geese Howard"\
 "0x06/Sokaku Mochizuki"\
 "0x07/Bob Wilson"\
 "0x08/Hon-Fu"\
 "0x09/Blue Mary"\
 "0x0A/Franco Bash"\
 "0x0B/Ryuji Yamazaki"\
 "0x0C/Jin Chonshu"\
 "0x0D/Jin Chonrei"\
 "0x0E/Duck King"\
 "0x0F/Kim Kaphwan"\
 "0x10/Billy Kane"\
 "0x11/Cheng Sinzan"\
 "0x12/Tung Fu Rue"\
 "0x13/Laurence Blood"\
 "0x14/Wolfgang Krauser"\
 "0x15/Rick Strowd"\
 "0x16/Li Xiangfei"\
 "0x17/#Alfred#" 
run:
    poke $107BA5 param
script "P1 Select Character Colour" \
 "comm:Lifebar portrait colours will not change" \
 "0x00/A Colour"\
 "0x01/D Colour" 
run:
    poke $107BAC param
script "P1 Max Kaiser Wave"  
run:
    poke $1004FB $03
script "P1 Select Yamazaki Drill SDM Level" \
 "00/Level 1: Punch Combo"\
 "01/Level 2: Kick Combo"\
 "02/Level 3: Headbutt Combo"\
 "03/Level 4: Snake Tamer Combo"\
 "04/Level 5: Double Return Combo" 
run:
    if peek($100494)<param
      poke $100494 param
    endif
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 Select Rounds Won" \
 inter=0,13,1 
run:
    poke $107C0C (param)
script "P2 Select Streak Count" \
 inter=0,99,1 
run:
    poke $107C1D tobcd(param)
script "P2 Motion blur for" \
 "comm:This cheat is futile but it permits you to make out the differences between normal and special moves"  
run:
    poke $1005CD $5F
script "P2 Select Character" \
 "comm:Free player selection - Activate between rounds or after selection." \
 "0x01/Terry Bogard"\
 "0x02/Andy Bogard"\
 "0x03/Joe Higashi"\
 "0x04/Mai Shiranui"\
 "0x05/Geese Howard"\
 "0x06/Sokaku Mochizuki"\
 "0x07/Bob Wilson"\
 "0x08/Hon-Fu"\
 "0x09/Blue Mary"\
 "0x0A/Franco Bash"\
 "0x0B/Ryuji Yamazaki"\
 "0x0C/Jin Chonshu"\
 "0x0D/Jin Chonrei"\
 "0x0E/Duck King"\
 "0x0F/Kim Kaphwan"\
 "0x10/Billy Kane"\
 "0x11/Cheng Sinzan"\
 "0x12/Tung Fu Rue"\
 "0x13/Laurence Blood"\
 "0x14/Wolfgang Krauser"\
 "0x15/Rick Strowd"\
 "0x16/Li Xiangfei"\
 "0x17/#Alfred#" 
run:
    poke $107BA7 param
script "P2 Select Character Colour" \
 "comm:Lifebar portrait colours will not change" \
 "0x00/A Colour"\
 "0x01/D Colour" 
run:
    poke $107BAD param
script "P2 Max Kaiser Wave"  
run:
    poke $1005FB $03
script "P2 Select Yamazaki Drill SDM Level" \
 "00/Level 1: Punch Combo"\
 "01/Level 2: Kick Combo"\
 "02/Level 3: Headbutt Combo"\
 "03/Level 4: Snake Tamer Combo"\
 "04/Level 5: Double Return Combo" 
run:
    if peek($100594)<param
      poke $100594 param
    endif
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($017306)
run:
    dpoke $017306 temp0
    if ((peek($107C22)==$38)and(peek($107BB9)==$01))
      poke $107C22 $33
    endif
    if ((peek($107C22)!=$00)and(peek($107BB9)==$01))
      dpoke $017306 $6004
      poke $107762 $00
      poke $107765 $01
      dpoke $401FFE $8F8F
    endif
off:
    dpoke $017306 temp0
    poke $107762 $FF
    poke $107765 peek($107764)&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
