script "Infinite Time"  
on:
    temp0=maincpu.rd@00B9F8
run:
    maincpu.rd@00B9F8=$1D7C0099
off:
    maincpu.rd@00B9F8=temp0
script "Unlock Secret Characters"  
on:
    temp0=maincpu.rd@01278A
    temp1=maincpu.rw@01278E
    temp2=maincpu.rd@0127A8
    temp3=maincpu.rw@0127AC
    temp4=maincpu.rd@02F520
    temp5=maincpu.rd@02F524
    temp6=maincpu.rd@02F528
    temp7=maincpu.rd@02F52C
    temp8=maincpu.rd@02F530
    temp9=maincpu.rw@02F534
run:
    maincpu.rd@01278A=$4EB90002
    maincpu.rw@01278E=$F520
    maincpu.rd@0127A8=$4EB90002
    maincpu.rw@0127AC=$F52A
    maincpu.rd@02F520=$53106A10
    maincpu.rd@02F524=$10BC000B
    maincpu.rd@02F528=$600A5210
    maincpu.rd@02F52C=$0C100C0B
    maincpu.rd@02F530=$63024210
    maincpu.rw@02F534=$4E75
off:
    maincpu.rd@01278A=temp0
    maincpu.rw@01278E=temp1
    maincpu.rd@0127A8=temp2
    maincpu.rw@0127AC=temp3
    maincpu.rd@02F520=temp4
    maincpu.rd@02F524=temp5
    maincpu.rd@02F528=temp6
    maincpu.rd@02F52C=temp7
    maincpu.rd@02F530=temp8
    maincpu.rw@02F534=temp9
script "Invincibility" \
 "0x01/P1 Only"\
 "0x02/P2 Only" 
on:
    temp0=maincpu.rd@02FCB4
    temp1=maincpu.rd@02F540
    temp2=maincpu.rw@02F544
    temp3=maincpu.rd@02F546
    temp4=maincpu.rd@02F54A
    temp5=maincpu.rd@039222
    temp6=maincpu.rw@039226
    temp7=maincpu.rd@03927E
    temp8=maincpu.rw@039282
    temp9=maincpu.rd@0392E6
    temp10=maincpu.rw@0392EA
    temp11=maincpu.rd@02F54E
    temp12=maincpu.rw@02F552
    temp13=maincpu.rd@02F554
    temp14=maincpu.rd@02F558
    temp15=maincpu.rd@02F55C
run:
    if (param==$01)
      maincpu.rd@02FCB4=$6000F88A
      maincpu.rd@02F540=$BDEDD094
      maincpu.rw@02F544=$6604
      maincpu.rd@02F546=$70014E75
      maincpu.rd@02F54A=$70004E75
      maincpu.rd@039222=$4EB90002
      maincpu.rw@039226=$F54E
      maincpu.rd@03927E=$4EB90002
      maincpu.rw@039282=$F54E
      maincpu.rd@0392E6=$4EB90002
      maincpu.rw@0392EA=$F54E
      maincpu.rd@02F54E=$B7EDD094
      maincpu.rw@02F552=$6708
      maincpu.rd@02F554=$082B0007
      maincpu.rd@02F558=$00124E75
      maincpu.rd@02F55C=$70014E75
    endif
    if (param==$02)
      maincpu.rd@02FCB4=$6000F88A
      maincpu.rd@02F540=$BDEDD098
      maincpu.rw@02F544=$6604
      maincpu.rd@02F546=$70014E75
      maincpu.rd@02F54A=$70004E75
      maincpu.rd@039222=$4EB90002
      maincpu.rw@039226=$F54E
      maincpu.rd@03927E=$4EB90002
      maincpu.rw@039282=$F54E
      maincpu.rd@0392E6=$4EB90002
      maincpu.rw@0392EA=$F54E
      maincpu.rd@02F54E=$B7EDD098
      maincpu.rw@02F552=$6708
      maincpu.rd@02F554=$082B0007
      maincpu.rd@02F558=$00124E75
      maincpu.rd@02F55C=$70014E75
    endif
off:
    maincpu.rd@02FCB4=temp0
    maincpu.rd@02F540=temp1
    maincpu.rw@02F544=temp2
    maincpu.rd@02F546=temp3
    maincpu.rd@02F54A=temp4
    maincpu.rd@039222=temp5
    maincpu.rw@039226=temp6
    maincpu.rd@03927E=temp7
    maincpu.rw@039282=temp8
    maincpu.rd@0392E6=temp9
    maincpu.rw@0392EA=temp10
    maincpu.rd@02F54E=temp11
    maincpu.rw@02F552=temp12
    maincpu.rd@02F554=temp13
    maincpu.rd@02F558=temp14
    maincpu.rd@02F55C=temp15
script " "  
script "P1 Infinite Energy"  
run:
    poke $((maincpu.pd@105094)+56) $64
script "P1 Drain All Energy Now!"  
on:
    poke $((maincpu.pd@105094)+56) $00
script "P1 Infinite Magic"  
run:
    poke $((maincpu.pd@105094)+6E) $3C
script "P1 Always No Magic"  
run:
    poke $((maincpu.pd@105094)+6E) $00
script "P1 Select Character" \
 "comm:Use these cheats on the selection screen only!!" \
 "0x08/Manto Ace"\
 "0x09/Karakuri"\
 "0x0A/Jyashinsai"\
 "0x0B/Lucifeller" 
change:
    poke $102E17 param
script " "  
script "P2 Infinite Energy"  
run:
    poke $((maincpu.pd@105098)+56) $64
script "P2 Drain All Energy Now!"  
on:
    poke $((maincpu.pd@105098)+56) $00
script "P2 Infinite Magic"  
run:
    poke $((maincpu.pd@105098)+6E) $3C
script "P2 Always No Magic"  
run:
    poke $((maincpu.pd@105098)+6E) $00
script "P2 Select Character" \
 "0x08/Manto Ace"\
 "0x09/Karakuri"\
 "0x0A/Jyashinsai"\
 "0x0B/Lucifeller" 
change:
    poke $102E18 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=maincpu.rd@C1315C
    temp1=maincpu.rd@C1314E
    temp2=maincpu.rd@C131E8
    temp3=maincpu.rd@C13184
    temp4=maincpu.rd@C1212E
    temp5=maincpu.rd@C134FA
run:
    if (maincpu.rd@C1315C==$51CFFFF2)
      maincpu.rd@C1315C=$6000EB08
    endif
    if (maincpu.rd@C1314E==$51CFFFF2)
      maincpu.rd@C1314E=$6000EB16
    endif
    if (maincpu.rd@C131E8==$51CFFFF2)
      maincpu.rd@C131E8=$6000EA52
    endif
    if (maincpu.rd@C13184==$51CFFFF2)
      maincpu.rd@C13184=$6000EAB6
    endif
    if (maincpu.rd@C1212E==$51CFFFF2)
      maincpu.rd@C1212E=$6000EB36
    endif
    if (maincpu.rd@C134FA==$51CFFFF2)
      maincpu.rd@C134FA=$6000E892
    endif
off:
    maincpu.rd@C1315C=temp0
    maincpu.rd@C1314E=temp1
    maincpu.rd@C131E8=temp2
    maincpu.rd@C13184=temp3
    maincpu.rd@C1212E=temp4
    maincpu.rd@C134FA=temp5
script "Infinite Credits" \
 "comm:Alternatively just set Free Play to ON in the Dip Switches menu"  
run:
    maincpu.rb@D00034=$99
