` 𠪪j3333 `j3333 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UUU_UUU_UUUUUUU_UUUUUUUUUUUUUUU_U_UUUUUUUUUUUUUUUUUUUUUUUUU_U_U__U__U_UUUUUU_UU__UUUUUU_UU_UUUUUUUUU____U_UU____UUUUUUU_U_U__U_UU__UUUUU_UU_UUUUUUUUUUUUUUUUUUUUUUUUUUUU_UUUUUUUUUUU_UUUUUUUUUUUU_UUUUUUUUUUU_UUUUUUUUUUUU__UUUU__UUUUUUUUUUUUU_UU_U_U_UU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UU_UUUUUUUUUUUUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UU_UUUUUUUUUU_UUUU_UUUU_UUUUUUUUUUU________UUUUUUU_UU_U_UU_UU_UU_UU_UUUUUUU__UU_UUUU_UUUU_UUUUUU__UU_UUUU___UUUUUUUUUU_UUU_UUUUUUUUUU__UUUUU_UU___UUUUUUUUUUU_UUU____UUUUUU_UU_UU_UUUU_UU_UU_UUUUUUU____UU____UUUUUUUU____U_UU_UUUU_UUUUUUUUUU_UU_UUUUUUUUUU_UU_UUUUUUUUUU_UU_UUUUUUUUUU_UU_UUUUUUUUUU_U_U_UUU_UUU_UUUUUUUUUUUUUUUU_UUUU_UUUUUUUUUUUUUUUU_UUU_UUU_U_U_UUUUUUUUUUUU__UU_UUUU_UUUUUU_UUUUUUU________UUUUUUUUUUU__UU_UU__UU__UUUUUUUUUUUUUUUUU__UUUUU__UUUUUUUUUUUUUUUUU_UU_UUU_UUU_UUU_UUUUUUUUUUUUUUUUU__UU__UU__UUUUUUUUUUUUUUUUU_UU_UUU_UU_UUU_UUUUUUUUUUUUUU_UU_UUUUUU_UUU_UUUUUUUUUUUUUUUUU_UUU_UU_UUUUUUUUUUUUUUUU__UU__UU_UU__UU__UUUUUUUUUUUUUU_UUUUUUUUUUU_UUUUUUUUUUUUUU_UUU_UUU_UU__UUUUUUUUUUUUUUUUU__UU__UUUUU__UU__UUUUUUUUUUUUUU_UUU_UUU_UUU_UUU_UUUUUUUUUUUUUU_U_U_U___U___U___UUUUUUUUUUUUU_UUUU_UU_UU_UUUUUUUUUUUUUU_UU_UU_UU_UU_UUUUUUUUUUUUUUUUU__UUUUU_UUU_UUUUUUUUUUUUUUU_UU_UU_UU_UU__UUUUUUUUUUUUUUUU__UUUUU__UU__UUUUUUUUUUUUUU_UU_UUUUUUU_UUUUUUUUUUUUUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUU_UU_UU_UU_UU_UUUUUUUUUUUUUU_U_U_U_UUUUUU_UUUUUUUUUUUUUU_U_U_U_U___U___UUUUUUUUUUUUUUU_U_UUUU_UUUU_U_UUUUUUUUUUUUU__UU__UUUUUUUUUUUUUUUUUUUUUUU_UUU_UUUUU_UUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UUUUUU_UUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UUU__UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_U___U_UUUU_UU_UUU______UUUUUUUUUUUUUUU_UU_UU_UUUUUUUUUU_UU_U_______U_UUUUUUUUUUUUUU____UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_____U_UU_UU_UU_UUU________UUUUU_UUUUUU_UU_UU_UU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_U_UU_UU___U_U_U__UUUUU_UU_UU_UU_UU_UU_UUUUUUUUUUUUUUUU_U__U_U_UUUUUUUUUUUUU________UUUUUUUUUUUUUU______UUUUUUUUUUUUUUU____U_UU_UUUUUUUUUUU_____U_UU_UU_UUUUUUUUU___UU_UU_UUUUUUUUUUUUUUUU_UUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU________U_UUUUUUUUUUUU______UUU_UUUUUUUUUUUUUU_U____UUUUUUUUUUUUUU__UU_U_UU_UUUUUUUUUUUU______UUU_UUUUUUUUUUUU_UUUU_UUUU_UUUUUUUU_UU_UUUUU_UU_UUUUUUUUU_UU_UU_UU_UU_UU_UU_UUUUUUUUU_UU_UUUUU_UU_UUUUUUUUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU """aaaaaaaaaaa"""!!!aa aaafaafaafaaffaaaaaaaaa faaaaa aaaaaaaaaa aaaaafaaaaaaaaaf aaaaaaaaaaaa aaaaaaaaafaaafaaaaa """afaaaaaa!!!"a"" -- title: Upscaled 64x64 (Lua) -- author: nickifr -- desc: Upscaled 64x64 resolution with working background -- script: lua -- input: gamepad -- This is a demo for using a scaled 64x64 resolution for TIC-80. -- It was originally made for my own use in the LOWREZJAM 2017 (where 64x64 is the max resolution). -- To use the 64x64 resolution simply copy the function Scale64() and call it after everything you want to render. -- Note: This does obviously require some processing power, -- expect a medium performance hit. t=0 x=32 y=32 function Scale64() -- Function for showing 64x64 screen as 128x128, fully centred and with functioning background -- Function made by nickifr -- Fetching Background Color and making it usable bgrColour=string.format(string.sub(string.format(peek(0x03FF8)),1,2)) bgrColour=tonumber(string.sub(string.format("%x",bgrColour*256),1,1)..string.sub(string.format("%x",bgrColour*256),1,1),16) for ramPosLine = 0, 135 do ramPosLine=135-ramPosLine for ramPosChange = 0, 119 do if ramPosChange <= 31 and ramPosLine<=63 then -- Get Original Values value=string.format("%x", peek(((ramPosLine)*120)+ramPosChange) * 256) if string.len(value) < 4 then value = "0"..value end -- Convert Original to New valueL=tonumber(string.format(string.sub(value,1,1)..string.sub(value,1,1)), 16) valueR=tonumber(string.format(string.sub(value,2,2)..string.sub(value,2,2)), 16) -- Remove Original Values poke(((ramPosLine)*120)+ramPosChange, bgrColour) -- Write New Values poke(((((ramPosLine*2)+2)*120)+(ramPosChange*2)+2)+387, valueL) poke(((((ramPosLine*2)+1)*120)+(ramPosChange*2)+2)+387, valueL) poke(((((ramPosLine*2)+2)*120)+(ramPosChange*2)+1)+387, valueR) poke(((((ramPosLine*2)+1)*120)+(ramPosChange*2)+1)+387, valueR) else poke(((ramPosLine)*120)+ramPosChange, bgrColour) end end end end function TIC() -- RUN YOUR NORMAL PROGRAM HERE 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 -- Use background color as usual -- (It's fully supported) if t%25==0 then poke(0x03FF8,math.random(0,15)) end -- Render everything as usual -- (Keep in mind you only have 64x64 resolution) cls(0) spr(388,0,0,-1,1,0,0,8,8) spr(1+(t%60)/30,x,y,-1,1) -- USE SPECIAL FONT -- (Normal font is too large for 64x) -- (I recommend using a 5x5 font) -- (An improvised 5x5 font is included) -- (...but only has UPPERCASE characters) font("HELLO WORLD!",7,28,5,5,6,false,1) -- USE FUNCTION Scale64() TO ACTIVATE 64x MODE Scale64() -- TO SHOW NORMAL RESOLUTION GRAPHICS ABOVE 64x64 SIMPLY RENDER THEM AFTER THE FUNCTION print("A demo of a working 64x resolution!",27,0) print("X"..x.." Y:"..y,100,130) t=t+1 end > 0 2TvͫgE#2Tv2Tv0 D$404mNJNL04e$FHuqaY}},m,Ҫm^9 GIF89a w !NETSCAPE2.0 ! , m,04mFHD$4NJN HpÇHaÈ+HƏ3.ѢH(+6<ɐ# Ex$ƒ2[fsA79̣D{FlО+YgG1]Iaә^n|I٤L˦TͳbzfԹ>mRݫ'VEŒ VҐb,|X+XJ%iT+ޥO-k箃C;XӧHu֪[f-q: =mƓ떨ZIFYW. vO|شͫ_~ wˏO~ NUh:tZkV^5 g$ `%6a0旡4b/ƨz3g(jBW)ۏL %J"^4%JN_ZdRaReКCNY .Iv|DgmhxgΙ睋>I^I"R蠗6"QڧjF)iy'qJRn* i+{檫J]"[^)ˢIjU{k͆Zv;.xk^*onh;0&+°[ K*t*_"Yw#hr.j27k2si:74GmjҺ.`{4R/HB` Ғ-%rsxHZwvt
UvSź;~O;)/|^G3~;3r[=yg'Ӈyo}F~n㧇/ ̟ =qπ+WC ~{x#(P' d_dA#`1(9 U82@&á pO,m8A8S"ANDP4O;X+/ZeHЍy P !vģ @07"!W4dCLQGͱw@%>Fc\(2Cny1]yhG c缪Ǔde(IDJT,ƱRHbSs%4K`n:4;eM<튙cP6In\fƙ2+Y'!Nh'(Kf)Tf NpuI%@E)PBhηr\X=#Ma439 (M"&-RLOҾQF{k3ojs<"ׂ*ԤX)RvolĦRC99F;Muޓrʹ^5N\]WDJe=YkZkE_zʋ^.(GvY"RVHK׀ɯ*n50uLyg`SfY*M5c:R˳$m@ٯ$4=!a]kf6RR;Һ<,\zN?l.k[Bua"Lj|iI%ox] 15o)qP; :֪opӶ.P+^%l&4@fR-" (Ù{p}yDmpsul VNls3{8r̚ u&{0Z9Oc.yu\e/K[eq+}r]$2Y ;