`,]']>S}Wup8d%qy)6o;]AsVl3S}Wup8d%qy)6o;]AsVl3>>>>>>>>>k@HH @E@H @ J @` H`` H` @` E` @` H`` ` @` J`?,"w,"w,"w̪̌̌̌ ̪ ̪ ̪̪̪̪̪ ̪̪ ̪̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ ̪ |w̪ ̪ |w̪ ̪ |w̪̪:3̪ f̪̪:3̪ f̪̪:3̪ f̪ ̪ ̪ ̪JD̪ ̪JD̪ ̪JD̪ ̪̪̬ ̪̪̬ ̪̪̬ }w }w _}w ____?3Uw____?3Uw____?3Uw__ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDU_____UU____U_U_UUUUUUUU___U_UU__U_____UUU_U__U_U_"/"/""/"/"//////""/"///"///"///"///"//"////""///""//////////"/"/""""/"/"////"//)4-- title: TIC Corruptor -- author: MegaBits21 -- desc: Corrupt your Purpose! -- version: 1.0-final (23 & 24th August 2023) -- Made On: Android Mobile -- input: keyboard -- script: lua t=0 x=96 y=24 state=0 GUI={ --BDR_RAM_ADDR=0x3FF8, TitleName="TIC Corruptor", Version="1.0", ChooseRAMList= {"VRAM","MAP","INPUT", "SFX","MUSIC","FONT", "PERSIST. MEM","PALETTE","ALL"}, ChooseRAMState=0, ShowUI=1, } corrupt={ run_corrupt=0, intensely=2, pokemode=poke, --mode_textstate=0, sync_cart=false, } ram={ -- VRAM & MAP: tiles={0x4000,0x5fff}, sprites={0x6000,0x7fff}, map={0x8000,0xff7f}, palette={0x3fc0,0x3fef}, -- INPUT RAM: gamepad={0xff80,0xff83}, mouse={0xff84,0xff87}, keyboard={0xff88,0xff8b}, -- SOUND RAM: sfx={0x100e4,0x11163}, waveform={0xffe4,0x100e3}, mus_pattern={0x11164,0x13e63}, -- ETC. RAM: persist_mem={0x14004,0x14403}, font={0x14604,0x149fb}, font_param={0x149fc,0x14a03}, } buttons={ EnableCorrupt=49, -- TAB SelectList={9,11}, -- I = UP | K = DOWN AdjustIntense={10,12}, -- J = LEFT | L = RIGHT HideUI=53, -- INSERT SyncCart=27, -- 0 } function corrupter(apimode,min,max,intensely) for i=1,intensely do apimode(math.random(min,max),time()/1) end end function OVR() vbank(0) --vbank(1) -- for GUI main use --poke(GUI.BDR_RAM_ADDR,1) -- set transparent of pick one color -- Draw GUI if GUI.ShowUI==1 then rect(5,60,200,73,15) print(GUI.TitleName.." ==================",58,62,12,false,1,1) print("v"..GUI.Version,188,62,13,false,1,1) line(7,79-10,202,79-10,14) line(62,82-10,62,139-10,14) line(53,62,53,66,14) --print(GUI.ChooseRAMList[1],10,83,10,false,1,1) --print(GUI.ChooseRAMList[2],10,83*1.08,10,false,1,1) --print(GUI.ChooseRAMList[3],10,83*1.15,10,false,1,1) --print(GUI.ChooseRAMList[4],10,83*1.22,10,false,1,1) --print(GUI.ChooseRAMList[5],10,83*1.3,10,false,1,1) --print(GUI.ChooseRAMList[6],10,83*1.37,10,false,1,1) --print(GUI.ChooseRAMList[7],10,83*1.44,10,false,1,1) --print(GUI.ChooseRAMList[8],10,83*1.51,10,false,1,1) if GUI.ChooseRAMState==0 then print("> "..GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[1],66,72,4,false,2,1) print("VRAM are used for both of Tiles and\nSprites.",66,87,12,false,1,1) line(65,84,202,84,14) --print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.tiles[1],ram.tiles[2],corrupt.intensely) corrupter(corrupt.pokemode,ram.sprites[1],ram.sprites[2],corrupt.intensely) end end if GUI.ChooseRAMState==1 then print("> "..GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[2],66,72,4,false,2,1) print("Map's memory address is used for\n0x8000.",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) --print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.map[1],ram.map[2],corrupt.intensely) end end if GUI.ChooseRAMState==2 then print("> "..GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[3],66,72,4,false,2,1) print("Input are used for both of mouse and\ngamepad or keyboard.",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) --print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.gamepad[1],ram.gamepad[2],corrupt.intensely) corrupter(corrupt.pokemode,ram.keyboard[1],ram.keyboard[2],corrupt.intensely) corrupter(corrupt.pokemode,ram.mouse[1],ram.mouse[2],corrupt.intensely) end end if GUI.ChooseRAMState==3 then print("> "..GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[4],66,72,4,false,2,1) print("SFX's memory address is used for\n0x100E4.\n(+ Included: Wavefrom)",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) --print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.sfx[1],ram.sfx[2],corrupt.intensely) corrupter(corrupt.pokemode,ram.waveform[1],ram.waveform[2],corrupt.intensely) end end if GUI.ChooseRAMState==4 then print("> "..GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[5],66,72,4,false,2,1) print("Music Pattern's memory address is\nused for 0x11164.",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) --print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.mus_pattern[1],ram.mus_pattern[2],corrupt.intensely) end end if GUI.ChooseRAMState==5 then print("> "..GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[6],66,72,4,false,2,1) print("These are main system font of two\nmemory address:\n- It has Font: 0x14604\n- It has Font Params: 0x149FC\n(DON'T USE ALT FONT MAY CAUSE RUIN UI!)",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) --print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.font[1],ram.font[2],corrupt.intensely) corrupter(corrupt.pokemode,ram.font_param[1],ram.font_param[2],corrupt.intensely) end end if GUI.ChooseRAMState==6 then print("> "..GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[7],66,72,4,false,2,1) print("Persistent Memory's memory address is\nused for 0x14004.",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) --print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.persist_mem[1],ram.persist_mem[2],corrupt.intensely) end end if GUI.ChooseRAMState==7 then print("> "..GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[8],66,72,4,false,2,1) print("Palette's memory address is used for\n0x3FC0.",66,87,12,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) --print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,ram.palette[1],ram.palette[2],corrupt.intensely) end end if GUI.ChooseRAMState==8 then print("> "..GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) print(GUI.ChooseRAMList[9],66,72,4,false,2,1) print("All of Memory Address.\nFor everything!",66,87,12,false,1,1) --print("WARNING: Don't set too much intensely\nit will may cause crash the TIC-80.",66,100,3,false,1,1) line(65,84,202,84,14) print(GUI.ChooseRAMList[1],10,72,10,false,1,1) print(GUI.ChooseRAMList[2],10,72*1.09,10,false,1,1) print(GUI.ChooseRAMList[3],10,72*1.17,10,false,1,1) print(GUI.ChooseRAMList[4],10,72*1.26,10,false,1,1) print(GUI.ChooseRAMList[5],10,72*1.34,10,false,1,1) print(GUI.ChooseRAMList[6],10,72*1.43,10,false,1,1) print(GUI.ChooseRAMList[7],10,72*1.50,10,false,1,1) print(GUI.ChooseRAMList[8],10,72*1.59,10,false,1,1) --print(GUI.ChooseRAMList[9],10,83*1.51,11,false,1,1) if corrupt.run_corrupt==1 then corrupter(corrupt.pokemode,0x0,0xfffff,corrupt.intensely) end end print("Intensely: "..corrupt.intensely.." <[J]/[L] to Adjust>",66,125,2,false,1,1) print("Press 0 to Sync Cart & Exit ",66,118,5,false,1,1) --[[if corrupt.mode_textstate==0 then print("Mode: poke()".." <[=] to Change Mode>",66,125,5,false,1,1) elseif corrupt.mode_textstate==1 then print("Mode: poke1()".." <[=] to Change Mode>",66,125,5,false,1,1) elseif corrupt.mode_textstate==2 then print("Mode: poke2()".." <[=] to Change Mode>",66,125,5,false,1,1) elseif corrupt.mode_textstate==3 then print("Mode: poke4()".." <[=] to Change Mode>",66,125,5,false,1,1) end]] -- Corrupt Power On/Running Modes: -- OFF if corrupt.run_corrupt==0 then print("Corrupt:",7,62,12,false,1,1) print("OFF",6*6.5,62,14,false,1,1) end -- ON if corrupt.run_corrupt==1 then print("Corrupt:",7,62,12,false,1,1) print("ON",6*6.5,62,5,false,1,1) end -- Sync the Cart if corrupt.sync_cart then sync(0,0,true) trace("\nTIC Corruptor by MegaBits21\n(C) 2023 MegaBits21",13) trace("The Cartridge is Synced Sucessfully!",5) exit() end end -- Buttons if keyp(buttons.SelectList[1],50,8) then GUI.ChooseRAMState=GUI.ChooseRAMState-1 end if keyp(buttons.SelectList[2],50,8) then GUI.ChooseRAMState=GUI.ChooseRAMState+1 end --if keyp(38,50,8) then corrupt.mode_textstate=corrupt.mode_textstate+1 end if keyp(buttons.EnableCorrupt) then corrupt.run_corrupt=corrupt.run_corrupt+1 end if keyp(buttons.AdjustIntense[1],30,1) then corrupt.intensely=corrupt.intensely-1 end if keyp(buttons.AdjustIntense[2],30,1) then corrupt.intensely=corrupt.intensely+1 end if keyp(buttons.HideUI) then GUI.ShowUI=GUI.ShowUI+1 end if keyp(buttons.SyncCart) then corrupt.sync_cart=true end end function Limits() -- Limits -- Choosing the List if GUI.ChooseRAMState<0 then GUI.ChooseRAMState=8 end if GUI.ChooseRAMState>8 then GUI.ChooseRAMState=0 end -- Selecting the mode --if corrupt.mode_textstate<0 then corrupt.mode_textstate=0 end --if corrupt.mode_textstate>3 then corrupt.mode_textstate=0 end -- Intensely if corrupt.intensely>32768 then corrupt.intensely=32768 end if corrupt.intensely<0 then corrupt.intensely=0 end -- Corrupt Power if corrupt.run_corrupt<0 then corrupt.run_corrupt=0 end if corrupt.run_corrupt>1 then corrupt.run_corrupt=0 end -- Toggle UI if GUI.ShowUI<0 then GUI.ShowUI=0 end if GUI.ShowUI>1 then GUI.ShowUI=0 end end function MainCart_Program() if state==0 then if btn(0) then y=y-1 end if btn(1) then y=y+1 end if btn(2) then x=x-1 end if btn(3) then x=x+1 end cls(13) spr(1+t%60//30*2,x,y,14,3,0,0,2,2) print("HELLO WORLD!",84,84) print("Welcome to the Test Area!\n Press A to Next.",84/1.6,10) end if state==1 then map() end if state==2 then cls(13) print("Music Test!",3,3,15,false,2) print("Press B to Play the music.",3,15,15,false,1) if btnp(5) then music(0)end end if state<0 then state=0 elseif state>2 then state=0 end if btnp(4) then state=state+1 t=0 music() end t=t+1 end function TIC() MainCart_Program() Limits() end