luascript "Console Mode [lua]" \
 "comm:Coin button is used for pause. In training mode, pause the game and then press start to select character."
run:
-- Start-up --
if (peek(0xFF80F6)==0x00) then
    poke(0xFF80F2,0x01) -- 1 coin 1 credit --
    poke(0xBBE9,"PRESS START")
    lpoke(0x1416,0x2B400064)
    lpoke(0x142C,0x1B410064)
    lpoke(0x1420,0x2B400068)
    lpoke(0x1438,0x1B400068)
    dpoke(0x209CE,0x3B40)
    p1char=0x00
    p1charbox=0x01
    p2char=0x01
    p2charbox=0x02
    if (peek(0xFF8001)>=0x12) and ((peek(0xFF8064)==0x01) or (peek(0xFF8064)==0x02)) then -- Start button start --
      poke(0xFF80F6,0x09) -- Max credit --
      poke(0x618001,0x00) -- Sound effect --
      if (peek(0xFF8111)==0x00) then
        poke(0x618003,0xD6)
      else
        poke(0x618003,0xCF)
      end
      poke(0x61801F,0x00)
    end
end
-- Title Screen --
if (dpeek(0xFF803E)==0x2641) and (peek(0xFF810D)==0x00) and (peek(0xFF8040)==0x00) and (dpeek(0xFFCB82)==0x2201) then -- Disable original start & service button --
    lpoke(0x1416,0x00000000)
    lpoke(0x142C,0x00000000)
    lpoke(0xFF8064,0x00000000)
    lpoke(0x1420,0x00000000)
    lpoke(0x1438,0x00000000)
    region=peek(0xFF8111)
    if (peek(0x804020)==0xFF) then
      poke(0xFF7010,0x01)
    end
end
if (dpeek(0xFF803E)==0x2641) and (peek(0xFF7010)==0x01) then -- Leaving title screen --
    if (peek(0x804020)==0xFE) or (peek(0x804020)==0xFD) then
       poke(0xFF7010,0x02)
       poke(0x618001,0x00) -- Sound effect --
       if (peek(0xFF8111)==0x00) then
         poke(0x618003,0xD6)
       else
         poke(0x618003,0xCF)
       end
       poke(0x61801F,0x00)
    end
end
-- Menu Screen --
if (dpeek(0xFF803E)==0x2641) and (peek(0xFF7010)==0x02) then
    -- Text display in menu --
    dpoke(0xFF802A,0x0940) -- Text and Logo shift --
    poke(0xFF8040,0x02)
    dpoke(0x90C800,0x000F) -- Text color --
    lpoke(0x90C840,0xFD81FEA4)
    lpoke(0x90C844,0xFFD5FFE9)
    lpoke(0x90C848,0xFFB8FE96)
    lpoke(0x90C8C0,0xF8F5F7E5)
    lpoke(0x90C8C4,0xF6D5F5C5)
    lpoke(0x90C8C8,0xF4B5F3A5)
    lpoke(0x907648,0x45620006) -- Battle Select --
    lpoke(0x907688,0x45610006)
    lpoke(0x9076C8,0x45740006)
    lpoke(0x907708,0x45740006)
    lpoke(0x907748,0x456C0006)
    lpoke(0x907788,0x45650006)
    lpoke(0x907808,0x45730006)
    lpoke(0x907848,0x45650006)
    lpoke(0x907888,0x456C0006)
    lpoke(0x9078C8,0x45650006)
    lpoke(0x907908,0x45630006)
    lpoke(0x907948,0x45740006)
    lpoke(0x907654,0x45610000+peek(0xFF7020)) -- Arcade Battle --
    lpoke(0x907694,0x45720000+peek(0xFF7020))
    lpoke(0x9076D4,0x45630000+peek(0xFF7020))
    lpoke(0x907714,0x45610000+peek(0xFF7020))
    lpoke(0x907754,0x45640000+peek(0xFF7020))
    lpoke(0x907794,0x45650000+peek(0xFF7020))
    lpoke(0x907814,0x45620000+peek(0xFF7020))
    lpoke(0x907854,0x45610000+peek(0xFF7020))
    lpoke(0x907894,0x45740000+peek(0xFF7020))
    lpoke(0x9078D4,0x45740000+peek(0xFF7020))
    lpoke(0x907914,0x456C0000+peek(0xFF7020))
    lpoke(0x907954,0x45650000+peek(0xFF7020))
    lpoke(0x90769C,0x45660000+peek(0xFF7021)) -- Free Battle --
    lpoke(0x9076DC,0x45720000+peek(0xFF7021))
    lpoke(0x90771C,0x45650000+peek(0xFF7021))
    lpoke(0x90775C,0x45650000+peek(0xFF7021))
    lpoke(0x9077DC,0x45620000+peek(0xFF7021))
    lpoke(0x90781C,0x45610000+peek(0xFF7021))
    lpoke(0x90785C,0x45740000+peek(0xFF7021))
    lpoke(0x90789C,0x45740000+peek(0xFF7021))
    lpoke(0x9078DC,0x456C0000+peek(0xFF7021))
    lpoke(0x90791C,0x45650000+peek(0xFF7021))
    lpoke(0x907724,0x45740000+peek(0xFF7022)) -- Training --
    lpoke(0x907764,0x45720000+peek(0xFF7022))
    lpoke(0x9077A4,0x45610000+peek(0xFF7022))
    lpoke(0x9077E4,0x45690000+peek(0xFF7022))
    lpoke(0x907824,0x456E0000+peek(0xFF7022))
    lpoke(0x907864,0x45690000+peek(0xFF7022))
    lpoke(0x9078A4,0x456E0000+peek(0xFF7022))
    lpoke(0x9078E4,0x45670000+peek(0xFF7022))
    lpoke(0x90776C,0x456F0000+peek(0xFF7023)) -- Option --
    lpoke(0x9077AC,0x45700000+peek(0xFF7023))
    lpoke(0x9077EC,0x45740000+peek(0xFF7023))
    lpoke(0x90782C,0x45690000+peek(0xFF7023))
    lpoke(0x90786C,0x456F0000+peek(0xFF7023))
    lpoke(0x9078AC,0x456E0000+peek(0xFF7023))
    if (peek(0xFF7000)==0x00) then -- Arcade Mode pointer --
       poke(0xFF7020,0x02)
       poke(0xFF7021,0x00)
       poke(0xFF7022,0x00)
       poke(0xFF7023,0x00)
    elseif (peek(0xFF7000)==0x01) then -- Versus Mode pointer --
       poke(0xFF7020,0x00)
       poke(0xFF7021,0x02)
       poke(0xFF7022,0x00)
       poke(0xFF7023,0x00)
    elseif (peek(0xFF7000)==0x02) then -- Training Mode pointer --
       poke(0xFF7020,0x00)
       poke(0xFF7021,0x00)
       poke(0xFF7022,0x02)
       poke(0xFF7023,0x00)
    elseif (peek(0xFF7000)==0x03) then -- Option pointer --
       poke(0xFF7020,0x00)
       poke(0xFF7021,0x00)
       poke(0xFF7022,0x00)
       poke(0xFF7023,0x02)
    end
    -- Control in menu --
    if ((peek(0xFF805D)==0x00) and (peek(0xFF8061)==0x00)) and (peek(0xFF7001)==0xFF) then
      poke(0xFF7001,0x00)
      poke(0xFF7012,0x00) -- Act as music 'stopper' --
    end
    if (peek(0xFF805D)==0x04) or (peek(0xFF8061)==0x04) then
       if peek(0xFF7012)==0x00 then -- Sound effect --
         poke(0x618001,0x04)
         poke(0x618003,0xD8)
         poke(0x61801F,0x00)
         poke(0xFF7012,0xFF)
       end
       if (dpeek(0xFF7000)==0x0000) then
         dpoke(0xFF7000,0x01FF)
       elseif (dpeek(0xFF7000)==0x0100) then
         dpoke(0xFF7000,0x02FF)
       elseif (dpeek(0xFF7000)==0x0200) then
         dpoke(0xFF7000,0x03FF)
       elseif (dpeek(0xFF7000)==0x0300) then
         dpoke(0xFF7000,0x00FF)
       end
    end
    if (peek(0xFF805D)==0x08) or (peek(0xFF8061)==0x08) then
       if peek(0xFF7012)==0x00 then -- Sound effect --
         poke(0x618001,0x04)
         poke(0x618003,0xD8)
         poke(0x61801F,0x00)
         poke(0xFF7012,0xFF)
       end
       if (dpeek(0xFF7000)==0x0000) then
         dpoke(0xFF7000,0x03FF)
       elseif (dpeek(0xFF7000)==0x0300) then
         dpoke(0xFF7000,0x02FF)
       elseif (dpeek(0xFF7000)==0x0200) then
         dpoke(0xFF7000,0x01FF)
       elseif (dpeek(0xFF7000)==0x0100) then
         dpoke(0xFF7000,0x00FF)
       end
    end
    -- Pre-Start game --
    if (peek(0xFF805C)==0x00) and (peek(0xFF8060)==0x00) then
       poke(0xFF7013,0x00)
    end
    if (peek(0xFF805C)>0x00) then -- P1 start game --
       poke(0xFF8100,0x00) -- Setup timer --
       poke(0x618001,0x04) -- Soud effect --
       poke(0x618003,0xD7)
       poke(0x61801F,0x00)
       poke(0xFF7010,0x03)
    end
    if (peek(0xFF8060)>0x00) then -- P2 start game --
       poke(0xFF8100,0x00) -- Setup timer --
       poke(0x618001,0x04) -- Soud effect --
       poke(0x618003,0xD7)
       poke(0x61801F,0x00)
       poke(0xFF7010,0x04)
    end
end
-- Start Game --
if (dpeek(0xFF803E)==0x2641) and (peek(0xFF7000)~=0x03) then
    if (peek(0xFF8100)>0x1A) and (peek(0xFF7010)==0x03) then -- P1 start game --
       poke(0xFF8064,0x01)
       poke(0xFF7010,0x00)
    end
    if (peek(0xFF8100)>0x1A) and (peek(0xFF7010)==0x04) then -- P2 start game --
       poke(0xFF8064,0x02)
       poke(0xFF7010,0x00)
    end
end
if (dpeek(0xFF803E)==0x2641) and (peek(0xFF810D)>0x00) then -- Restore value after start --
    dpoke(0xFF802A,0x0000)
    poke(0xFF8040,0x00)
    poke(0xFF7010,0x00)
    lpoke(0x1416,0x2B400064)
    lpoke(0x142C,0x1B410064)
    lpoke(0x1420,0x2B400068)
    lpoke(0x1438,0x1B400068)
end
-- Infinity Credit Script --
if (peek(0xFF80F6)>0x00) then
    poke(0xFF80F6,0x09)
end
-- Versus Mode Script --
if (peek(0xFF7000)==0x01) then
    if (dpeek(0xFF803E)==0x2641) and (peek(0xFF810D)>0x00) then -- Auto activate P1 & P2 --
       poke(0xFF810D,0x03)
       poke(0xFF8128,0x03)
       poke(0xFF8780,0x02)
       poke(0xFF8784,0x06)
       poke(0xFF879E,0x00)
       dpoke(0xFF8B80,0x0201)
       poke(0xFF8B82,0x01)
       poke(0xFF8B84,0x06)
       poke(0xFF8B9E,0x00)
    end
    if (peek(0xFF8009)==0x06) and (peek(0xFF800B)==0x6B) then -- Memorize characters --
       p1char=peek(0xFF8781)
       p1charbox=peek(0xFF8403)
       p2char=peek(0xFF8B81)
       p2charbox=peek(0xFF8803)
    end
    if (peek(0xFF800D)>=0x08) then -- Prevent continue? text & continue --
       poke(0xFF8780,0xFF)
       poke(0xFF8B80,0xFF)
    end
    if (dpeek(0xFF800E)==0x0168) then -- Return to char screen prepare --
       poke(0xFF7003,0x01)
    end
    if (peek(0xFF800D)==0x04) and (peek(0xFF7003)==0x01) then -- Return to char screen --
       poke(0xFF8005,0x00)
       poke(0xFF8009,0x00)
       poke(0xFF800D,0x00)
       poke(0xFF8001,0x00)
       poke(0xFF7003,0x00)
    end
    if (peek(0xFF800D)==0x02) and (peek(0xFF800F)==0x3B) then -- Load last match characters --
       poke(0xFF8781,p1char)
       poke(0xFF8B81,p2char)
       poke(0xFF8403,p1charbox)
       poke(0xFF8803,p2charbox)
    end
end
-- Training Mode Script --
if (peek(0xFF7000)==0x02) then
    if (dpeek(0xFF803E)==0x2641) and (peek(0xFF810D)>0x00) then -- Auto activate P1 & P2 --
       poke(0xFF810D,0x03)
       poke(0xFF8128,0x03)
       poke(0xFF8780,0x02)
       poke(0xFF8784,0x06)
       poke(0xFF879E,0x00)
       dpoke(0xFF8B80,0x0201)
       poke(0xFF8B82,0x01)
       poke(0xFF8B84,0x06)
       poke(0xFF8B9E,0x00)
    end
    if (dpeek(0xFF803E)==0x2461) then
       if (peek(0xFF8405)==0x04) and (peek(0xFF8805)<0x04) and (peek(0xFF805C)==0x00) then -- Switch control --
         poke(0x1A68E,0x0B)
         poke(0x1A69C,0x07)
       end
       if (peek(0xFF8805)==0x04) and (peek(0xFF8405)<0x04) and (peek(0xFF8060)==0x00) then -- Switch control --
         poke(0x1A68E,0x0B)
         poke(0x1A69C,0x07)
       end
       if (peek(0xFF8405)==0x04) and (peek(0xFF8805)==0x04) then
         poke(0x1A68E,0x07) -- Restore control --
         poke(0x1A69C,0x0B)
       end
    end
    if (peek(0xFF800D)==0x0A) then -- Memorize characters --
       p1char=peek(0xFF8781)
       p1charbox=peek(0xFF8403)
       p2char=peek(0xFF8B81)
       p2charbox=peek(0xFF8803)
    end
    if (peek(0xFF8009)==0x04) and (peek(0xFF800D)==0x06) then
       poke(0xFF818A,0x28) -- Infinity time --
       poke(0xFF8441,0x90) -- P1 infinity enery --
       poke(0xFF8841,0x90) -- P2 infinity enery --
       poke(0xFF8594,0x09) -- P1 Infinite Super Stocks --
       poke(0xFF8994,0x09) -- P2 Infinite Super Stocks --
       if (peek(0xFF8000)==0x0F) and ((peek(0xFF8064)==0x01) or (peek(0xFF8064)==0x02)) then -- Return to char screen --
         poke(0xFF8005,0x00)
         poke(0xFF8009,0x00)
         poke(0xFF800D,0x00)
         poke(0xFF8001,0x00)
         poke(0xFF8000,0x00)
       end
    end
    if (peek(0xFF800D)==0x02) and (peek(0xFF800F)==0x4B) then -- Load last match characters --
       poke(0xFF8781,p1char)
       poke(0xFF8B81,p2char)
       poke(0xFF8403,p1charbox)
       poke(0xFF8803,p2charbox)
    end
end
-- Option Mode Script --
if (peek(0xFF7000)==0x03) then
    if (dpeek(0xFF803E)==0x2641) and (peek(0xFF7010)>=0x03) and (peek(0xFF8100)>0x1A) then -- Step 1 --
       poke(0xFF8111,0x02) -- English menu --
       poke(0xFF8068,0x02) -- Enter test menu --
       poke(0xFF7011,0x01)
    end
    if (peek(0xFF8001)==0x02) and (peek(0xFF7011)==0x01) then -- step 2 --
       lpoke(0x1420,0x2B400068)
       lpoke(0x1438,0x1B400068)
       dpoke(0x209CE,0x0000)
       poke(0xFF7011,0x02)
    end
    if (peek(0xFF8001)==0x06) and (peek(0xFF7011)==0x02) then -- step 3 --
       poke(0xFF7010,0x02)
       poke(0xFF8111,region)
       poke(0xFF80F6,0x09) -- Max credit --
       poke(0xFF8003,0x00)
       poke(0xFF8025,0x00) -- Hide warning text --
       dpoke(0x209CE,0x3B40)
       poke(0xFF7011,0x00)
       lpoke(0x1416,0x00000000)
       lpoke(0x142C,0x00000000)
       lpoke(0xFF8064,0x00000000)
       lpoke(0x1420,0x00000000)
       lpoke(0x1438,0x00000000)
    end
end
-- Pause Function Script --
    if (peek(0xFF8009)==0x04) and (peek(0xFF800D)==0x06) then
       if (peek(0xFF8064)==0x00) then
       poke(0xFF7002,0x00)
       end
       if (peek(0xFF8000)==0x00) and ((peek(0xFF8064)==0x10) or (peek(0xFF8064)==0x20)) and (peek(0xFF7002)==0x00) then
       poke(0xFF8000,0x0F)
       poke(0xFF7002,0xFF)
       end
       if (peek(0xFF8000)==0x0F) and ((peek(0xFF8064)==0x10) or (peek(0xFF8064)==0x20)) and (peek(0xFF7002)==0x00) then
       poke(0xFF8000,0x00)
       poke(0xFF7002,0xFF)
       end
    end
off:
    poke(0xBBE9,"INSERT COIN")
    lpoke(0x1416,0x2B400064)
    lpoke(0x142C,0x1B410064)
    lpoke(0x1420,0x2B400068)
    lpoke(0x1438,0x1B400068)
    dpoke(0x209CE,0x3B40)

script "Infinite Time"
run:
    poke $FF8188 $99
script "Select next round" \
 inter=1,8,1
change:
    poke $FF8193 (param-$1)
script "Move Round Announce"
run:
    poke $FF818E $00
script "Background always =" \
 "0x00/Capcom Cafe"\
 "0x02/Shopping Center"\
 "0x04/Slopes"\
 "0x06/Dock"\
 "0x08/Chinatown"\
 "0x0A/Fireplace"\
 "0x0C/Morrigan's Castle"\
 "0x0E/Demitri's Castle"
run:
    poke $FF8181 param
script "Hit Anywhere (Both Players)"
on:
    temp0=dpeek($015554)
run:
    dpoke $015554 $6006
off:
    dpoke $015554 temp0
script " "
script "P1 Infinite Energy"
run:
    poke $FF8441 $90
script "P1 Always have Max Power"
run:
    poke $FF8595 $60
script "P1 Infinite Super Stocks"
run:
    poke $FF8594 $09
script "P1 Max Red Gem Attack"
run:
    poke $FF85A3 $60
script "P1 Max Yellow Gem Attack"
run:
    poke $FF85A5 $60
script "P1 Max Blue Gem Attack"
run:
    poke $FF85A7 $60
script "P1 Air Moves"
run:
    poke $FF844F $00
script "P1 No Hit Stop"
run:
    poke $FF844C $00
script "P1 No Shot Limit"
run:
    poke $FF8570 $00
script "P1 Endless Shot Hit"
run:
    poke $FF9841 $63
    poke $FF9941 $63
script "P1 Action Speed Up"
run:
    poke $FF8419 $01
script "P1 Max Guard Crush"
run:
    poke $FF8539 $3C
script "P1 No Flash Combo"
run:
    poke $FF859B $00
    poke $FF859A $01
    poke $FF859D $00
script "P1 Display 99 Hits"
run:
    poke $FF8944 $63
script "P1 Gem (A) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF85F0 param
script "P1 Gem (B) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF85F1 param
script "P1 Gem (C) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF85F2 param
script "P1 Infinite Select Time" \
 "comm:Turn this OFF during fights"
run:
    poke $FF840E $14
script "P1 Select Character" \
 "0x00/Ryu"\
 "0x01/Ken"\
 "0x02/Chun-Li"\
 "0x03/Sakura"\
 "0x04/Morrigan"\
 "0x05/Lei-Lei (Hsien-Ko)"\
 "0x06/Felicia"\
 "0x07/Tabasa (Tessa)"\
 "0x08/Ibuki"\
 "0x09/Zangief"\
 "0x0A/Dan"\
 "0x0B/Gouki (Akuma)"
run:
    poke $FF8781 param
script "P1 Select Player Colour" \
 "comm:This cheat will have effect everywhere but the character selection screen" \
 "0x00/Punch"\
 "0x01/Kick"\
 "0x02/Special"\
 "0x03/PKS"
run:
    poke $FF879F param
script " "
script "P2 Infinite Energy"
run:
    poke $FF8841 $90
script "P2 Always have Max Power"
run:
    poke $FF8995 $60
script "P2 Infinite Super Stocks"
run:
    poke $FF8994 $09
script "P2 Max Red Gem Attack"
run:
    poke $FF89A3 $60
script "P2 Max Yellow Gem Attack"
run:
    poke $FF89A5 $60
script "P2 Max Blue Gem Attack"
run:
    poke $FF89A7 $60
script "P2 Air Moves"
run:
    poke $FF884F $00
script "P2 No Hit Stop"
run:
    poke $FF884C $00
script "P2 No Shot Limit"
run:
    poke $FF8970 $00
script "P2 Endless Shot Hit"
run:
    poke $FF9441 $63
    poke $FF9541 $63
script "P2 Action Speed Up"
run:
    poke $FF8819 $01
script "P2 Max Guard Crush"
run:
    poke $FF8939 $3C
script "P2 No Flash Combo"
run:
    poke $FF899B $00
    poke $FF899A $01
    poke $FF899D $00
script "P2 Display 99 Hits"
run:
    poke $FF8544 $63
script "P2 Gem (A) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF89F0 param
script "P2 Gem (B) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF89F1 param
script "P2 Gem (C) always =" \
 "0xFF/None"\
 "0x00/Flame"\
 "0x01/Water"\
 "0x02/Lightning"\
 "0x03/Skull"\
 "0x04/Banana"\
 "0x05/Bomb"\
 "0x06/Petrify"
run:
    poke $FF89F2 param
script "P2 Infinite Select Time" \
 "comm:Turn this OFF during fights"
run:
    poke $FF880E $14
script "P2 Select Character" \
 "0x00/Ryu"\
 "0x01/Ken"\
 "0x02/Chun-Li"\
 "0x03/Sakura"\
 "0x04/Morrigan"\
 "0x05/Lei-Lei (Hsien-Ko)"\
 "0x06/Felicia"\
 "0x07/Tabasa (Tessa)"\
 "0x08/Ibuki"\
 "0x09/Zangief"\
 "0x0A/Dan"\
 "0x0B/Gouki (Akuma)"
run:
    poke $FF8B81 param
script "P2 Select Player Colour" \
 "comm:This cheat will have effect everywhere but the character selection screen" \
 "0x00/Punch"\
 "0x01/Kick"\
 "0x02/Special"\
 "0x03/PKS"
run:
    poke $FF8B9F param
script " "
script "No Background Music"
run:
    cpu audio
    dpoke $F026 $0000
    cpu main
script "Hide Background"
on:
    temp0l=lpeek(01E970)
    temp0h=lpeek($1e974
    temp1=lpeek($01D3D6)
    temp2=dpeek($01C15C)
    temp3=dpeek($01C328)
run:
    lpoke $01E970 temp0l
    lpoke $1e974 temp0h
    lpoke $01D3D6 temp1
    dpoke $01C15C temp2
    dpoke $01C328 temp3
    if (dpeek($FF8189)!=$0anddpeek($FF818E)==$0)
      lpoke $01E970 $4E714E71
      lpoke $1e974 $4E714E71
      lpoke $01D3D6 $4E714E71
      dpoke $01C15C $4E71
      dpoke $01C328 $4E71
    endif
off:
    lpoke $01E970 temp0l
    lpoke $1e974 temp0h
    lpoke $01D3D6 temp1
    dpoke $01C15C temp2
    dpoke $01C328 temp3
