

As many of you may be aware, you can indeed load and save 256-bytes of data broken down to a storage of 64-numbers using conventional method commands of CARTDATA(), DSET(), and DGET().
However, if you want more than this, you will have to use unconventional method commands of CSTORE and RELOAD.
What follows is a sample program I wrote to demonstrate writing 8-bytes to an external file and reading it back again. You can actually load and save up to 🔺8192-bytes of storage this way so it is not to be overlooked !
Definition and instructions are below:
this fairly complex program will load data from an external binary file and display the results. after this, with the mode set to zero (0), it will save the select text to the select external file so the next time you run, you will be able to confirm it is loaded correctly. note ! this will not work as a true compiled exe or if you are attempting to run it directly from splore. you must save this .p8 to your local hard-drive and execute it -or- run it from an internet online page. if you have any questions or comments, please let me know! |




(08/23/18) CHANGED THE TOPIC TO "PICO-8: SUPPORT"
Was just trying out my Haunted House game as a Windows EXE. Although making high-score, it did not appear in the scoreboard. This is odd because score is kept when it's played either in HERE or as a raw HTML.
Here is the code:
if debug==0 then reload(8192,8192,180,"_hauntedhouse_dw817") end if peek(8192)+peek(8193)==0 or peek(17152)==254 then str2mem(defhs,8192) cstore(8192,8192,180,"_hauntedhouse_dw817") end |
Can someone confirm this on their own games that save data ?




It certainly is convenient to be able to compile a PICO program into a Windows and Macintosh & Linux executable with the command:
export program.bin |
To create an HTML you can use:
export program.html |
I was wondering if someone who was HTML savvy could post the absolute minimal code for an HTML to play and display JUST the .JS at a level of 100% screen height and ability to modify the default width of 100% with anything like 125% for a slightly longer across screen.
No code desired for external buttons just in this simple window.
Also, are there input values to that HTML which let you keep sharp pixels, dithered, or to reproduce like an old television with scan-lines ?
To create the screen, apparently you need more than just this:
<script type="text/javascript" src="program.js"></script> |

With the small size that PICO is, it should be possible to load and save state, much like you can do in a NES or SNES emulator.
In NESTOPIA you can even hold the backspace to run the game backwards, useful for getting out of a pit say in Super Mario Bros. But I think rewind may be just a bit more complex than save state.
If you're not familiar with what this is, by pressing F2 or F4 (you configure the keys) in the game, you can SAVE STATE.
By doing so, your game progress right up to there is saved to the pixel ! No need to save your game using a save-spot or even accessing menu options as part of the game.
Loading State is just as easy. You could shut down the game for instance, bring something else up, finally bring back up the original game and before the opening credits have even finished, you can press F4 or Load State and your game is returned exactly back where you left it.
Saving State in Pico means saving all variables, all memory, program line number being run, everything, to a binary file.
Loading State injects all that raw data right back in place again. As mentioned, this is very common in game emulators such as for Nintendo, Super Nintendo, Gameboy, and even Sony Pocket Playstation.
Naturally this would make platformers and other action games easier to play as you could SAVE STATE right at a part of the game where you knew you were safe.
What do you think - or do you think REWIND is possible as well ?


A few quick questions, mostly for sound.
[1] Can you play a SFX and have the ability to change the pitch of it before it plays ?
[2] Is there a way to COPY and PASTE SFX data from one PICO-8 app or Notepad to another ?
[3] When defining values for local variables, if you need to define more than one, it either requires 2-lines of code:
local a=1 local b=2 |
Or this unusual way:
local a,b=1,2 |
Is it possible someway to do it like this ?
local a=1,b=2 |
If you try this, you get an error.
If you try it this way:
local a=1 b=2 |
Then "b" value is set, but it is global.



Hey @zep, in case you see this:
If double pixel mode (0x5f2c) and devkit more are turned on, stat(32) and stat(33) values are correctly halved when running in PICO-8, so the mouse treats the screen as having a 64x64 resolution.
In the web player, however, pixel values are not halved and stat(32)/stat(33) treat the screen as 128x128.
My solution is to just manually divide stat(32) and stat(33) by 2 if stat(102)!=0, but this still seems like a bug.


Hello everyone,
I'm just wondering which of the handheld machines currently on the market are able to run Pico-8 and its games. I just saw that a couple of recent threads are already active about this topic (I'm referring to the ones about Gameshell and PocketCHIP) but I couldn't find any list.
Since I'm very interested in development for handheld consoles and I would like to start with something related to Pico-8, I'm asking you which are all of the known portable devices capable of running our fantasy console!
Thank you in advance for the answers :)





Hello ! It seems PICO-8 now has the ability to read the true keyboard, at least the normal keys, alphanumeric, ENTER, TAB, Backspace, and others.
So I thought I would post a working example of how to make use of this.
But does it have the ability to read raw keystrokes ? Where you can press an arrow key and the result is returned immediately - not requiring a delay as set by standard keyboard entries ?
pico-8 cartridge // http://www.pico-8.com version 16 __lua__ -- global+main ---------------- ins=[[ ** real keyboard input ** from the lab of dw817 http://writerscafe.org/dw817 thanks to tobiasvl for memory tweak locations! can you make improvements to this code or its functions ? please do ! it should benefit everyone ... ]] asci="\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31\32\33\34\35\36\37\38\39\40\41\42\43\44\45\46\47\48\49\50\51\52\53\54\55\56\57\58\59\60\61\62\63\64\65\66\67\68\69\70\71\72\73\74\75\76\77\78\79\80\81\82\83\84\85\86\87\88\89\90\91\92\93\94\95\96\97\98\99\100\101\102\103\104\105\106\107\108\109\110\111\112\113\114\115\116\117\118\119\120\121\122\123\124\125\126\127\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191\192\193\194\195\196\197\198\199\200\201\202\203\204\205\206\207\208\209\210\211\212\213\214\215\216\217\218\219\220\221\222\223\224\225\226\227\228\229\230\231\232\233\234\235\236\237\238\239\240\241\242\243\244\245\246\247\248\249\250\251\252\253\254\255" -- main program --------------- function main() cls() print(ins,8,8,5) spr(1,60,16) poke(24365,1) -- mouse+key kit t="" print("type in some text:",28,100,11) repeat grect(0,108,128,5) print(t,64-len(t)*2,108,6) grect(64+len(t)*2,108,3,5,8) flip() grect(64+len(t)*2,108,3,5,0) if stat(30)==true then c=stat(31) if c>=" " and c<="z" then t=t..c elseif c=="\8" then t=fnd(t) elseif c!="\13" then cls() color(7) print("raw key:") print(asc(c)) stop() end end until c=="\13" end --main() -->8 -- functions ------------------ -- grect: draw proper rectangle function grect(h,v,x,y,c) rectfill(h,v,h+x-1,v+y-1,c) end --grect(.) -- return string minus last chr function fnd(a) return sub(a,1,#a-1) end--fnd(.) -- len: return string length function len(a) return #a end -- len(.) -- return pos # of str b in a function instr(a,b) local r=0 if (a==null or a=="") return 0 if (b==null or b=="") return 0 for i=1,#a-#b+1 do if sub(a,i,i+#b-1)==b then r=i return r end end return 0 end --instr(.) -- return ascii id of character function asc(a) return instr(asci,a) end --asc(.) main() __gfx__ 00000000006060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000006060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00700700007060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00077000070006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00077000733333600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 007007006bbbbbd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000066666dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __label__ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000005050505000005550555055505000000050505550505055500550555055505500000055505500555050505550000050505050000000000000 00000000000000000500050000005050500050505000000050505000505050505050505050505050000005005050505050500500000005000500000000000000 00000000000000005550555000005500550055505000000055005500555055005050555055005050000005005050555050500500000055505550000000000000 00000000000000000500050000005050500050505000000050505000005050505050505050505050000005005050500050500500000005000500000000000000 00000000000000005050505000005050555050505550000050505550555055505500505050505550000055505050500005500500000050505050000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000606000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000606000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000706000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000007000600000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000073333360000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000006bbbbbd0000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000066666dd0000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000055505550055055500000555050505550000050005550555000000550555000005500505055505500555000000000000000000000 00000000000000000000000050005050505055500000050050505000000050005050505000005050500000005050505050500500005000000000000000000000 00000000000000000000000055005500505050500000050055505500000050005550550000005050550000005050505055500500005000000000000000000000 00000000000000000000000050005050505050500000050050505000000050005050505000005050500000005050555050500500005000000000000000000000 00000000000000000000000050005050550050500000050050505550000055505050555000005500500000005550555055505550005000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000505055505550555000000050005050505550555055505550555005500550555055505550000005505550055000505500505055505500555000000000 00000000505005000500505005000500050050505050050005005000505050005000505050005000000050505050500005005050505050500500005000000000 00000000555005000500555000000500050050505500050005005500550055505000555055005500000050505500500005005050505055500500005000000000 00000000505005000500500005000500050055505050050005005000505000505000505050005000000050505050505005005050555050500500005000000000 00000000505005000500500000005000500055505050555005005550505055000550505050005550050055005050555050005550555055505550005000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000005550505055505500505005500000555005500000555005505550555055500550505050000000555005505550000000000000000000000000 00000000000000000500505050505050505050000000050050500000050050505050050050505000505050000000500050505050000000000000000000000000 00000000000000000500555055505050550055500000050050500000050050505500050055505550505050000000550050505500000000000000000000000000 00000000000000000500505050505050505000500000050050500000050050505050050050500050555050000000500050505050000000000000000000000000 00000000000000000500505050505050505055000000050055000000050055005550555050505500050055500000500055005050000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000005550555055500550555050500000555050505550555050500000500005500550555055505550055055000550050000000000000000000000 00000000000000005550500055505050505050500000050050505000505050500000500050505000505005000500505050505000050000000000000000000000 00000000000000005050550050505050550055500000050050505500555055000000500050505000555005000500505050505550050000000000000000000000 00000000000000005050500050505050505000500000050055505000505050500000500050505000505005000500505050500050000000000000000000000000 00000000000000005050555050505500505055500000050055505550505050500000555055000550505005005550550050505500050000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000055055505500000050500550505000005550555050505550000055505550555055500550505055505550555055005550055000005550055000000000 00000000500050505050000050505050505000005550505050505000000005005550505050505050505050005550500050500500500000000500505000000000 00000000500055505050000055505050505000005050555055005500000005005050555055005050505055005050550050500500555000000500505000000000 00000000500050505050000000505050505000005050505050505000000005005050500050505050555050005050500050500500005000000500505000000000 00000000055050505050000055505500055000005050505050505550000055505050500050505500050055505050555050500500550000000500550000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000555050505550055000000550055055005550000005505550000055505550055000005550505055000550555055500550550005500000555000000000 00000000050050500500500000005000505050505000000050505050000005000500500000005000505050505000050005005050505050000000005000000000 00000000050055500500555000005000505050505500000050505500000005000500555000005500505050505000050005005050505055500000055000000000 00000000050050500500005000005000505050505000000050505050000005000500005000005000505050505000050005005050505000500000000000000000 00000000050050505550550000000550550055505550000055005050000055500500550000005000055050500550050055505500505055000000050000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000555050005550555005505550000055000550000005000000555055500000000005505050055050505000550000000000000000000000000000000000 00000000505050005000505050005000000050505050000005000000050005000000000050005050505050505000505000000000000000000000000000000000 00000000555050005500555055505500000050505050000005000000050005000000000055505550505050505000505000000000000000000000000000000000 00000000500050005000505000505000000050505050000000000000050005000000000000505050505050505000505000000000000000000000000000000000 00000000500055505550505055005550000055505500000005000000555005000000000055005050550005505550555000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000555055505500555055505550555000005550505055505550505005505500555000000000000000000000000000000000000000000000000000000000 00000000505050005050500050000500050000005000505050005050505050505050500000000000000000000000000000000000000000000000000000000000 00000000550055005050550055000500050000005500505055005500555050505050550000000000000000000000000000000000000000000000000000000000 00000000505050005050500050000500050000005000555050005050005050505050500000000000000000000000000000000000000000000000000000000000 00000000555055505050555050005550050000005550050055505050555055005050555000000500050005000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000bbb0b0b0bbb0bbb00000bbb0bb0000000bb00bb0bbb0bbb00000bbb0bbb0b0b0bbb000000000000000000000000000000000 00000000000000000000000000000b00b0b0b0b0b00000000b00b0b00000b000b0b0bbb0b00000000b00b000b0b00b000b000000000000000000000000000000 00000000000000000000000000000b00bbb0bbb0bb0000000b00b0b00000bbb0b0b0b0b0bb0000000b00bb000b000b0000000000000000000000000000000000 00000000000000000000000000000b0000b0b000b00000000b00b0b0000000b0b0b0b0b0b00000000b00b000b0b00b000b000000000000000000000000000000 00000000000000000000000000000b00bbb0b000bbb00000bbb0b0b00000bb00bb00b0b0bbb000000b00bbb0b0b00b0000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000066606660066060600000666060600000666006606060888000000000000000000000000000000000000000 00000000000000000000000000000000000000000060606060600060600000666060600000606060606060888000000000000000000000000000000000000000 00000000000000000000000000000000000000000066606660600066000000606066600000660060600600888000000000000000000000000000000000000000 00000000000000000000000000000000000000000060006060600060600000606000600000606060606060888000000000000000000000000000000000000000 00000000000000000000000000000000000000000060006060066060600000606066600000666066006060888000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 |



.png)

.png)
Simple code sample. [EDIT]: I really liked how Astorek86 is doing their slope / ramps code. So I'm changing these over to use that method.
https://www.lexaloffle.com/bbs/?tid=35211
Here is a version with some simply physics:


Hey everybody!
I'm starting a PICO-8 indexing project called PICO-ATE (www.pico-ate.com). It's a resource dump site for templates and tutorials that might be too niche or specific for our wiki or Github pages. Right now we've got a template for creating printable PICO-8 game manuals, as well as a game tutorial by @misato and a Newgrounds Medal tutorial by @Bigaston.
I'd love to host any tutorials, templates or weird one-offs that any of you might have! If anybody is interested, either dump your link in this thread, or hit me up on Twitter (@platformalist) and I'll review the content!



Hello. Long time no write. I'm the author of a few curious programs for an ever-curious programming language, Pico-8:
https://www.lexaloffle.com/bbs/?pid=32028
https://www.lexaloffle.com/bbs/?pid=31518
https://www.lexaloffle.com/bbs/?pid=30679
I just have one question.
Is it possible to convert PICO-8 to single .APK files for Androids and cellphones now ?
If so, I've got some new ideas for games and tools up my sleeve and would like to share them. :)




Simple little cart that tries to load random IDs from the BBS. Try something new. When you've had enough of a cart just select "new cart" from the pause menu. The number in brackets is the ID of the current post it has loaded.
Sadly though I'm seeing weird behaviour with that when I run through the BBS. It doesn't seem to display the correct number when you run this in browser, but it's correct when I run it locally. Sorry about that I have no idea what's going on there. But if you run it locally and want to find the thread the cart you're on is posted to just plug the number in here:
https://www.lexaloffle.com/bbs/?pid=######








Remove all 28 squares from the board in a neverending series of calm, randomized puzzles set in a dystopian, cyberpunk world.
Patrick’s Cyberpunk Challenge is fun for all ages. Are you ready for the challenge?
The object of the game is to move Patrick around the game board and remove all 28 squares. Squares with coloured balls will remove extra squares and can make the game trickier. The games are randomly generated, but you can also create your own games or input game codes made by others.
This is a fanmade sequel to the 1998 freeware sensation Patrick's Challenge II by Reldni Productions, for the Cyberpunk-themed "So bad it's good" Jam 2018.
The puzzle codes are compatible with Patrick's Challenge II. You can also go to Reldni's website to find more codes and play hand-crafted Reldni puzzles.
You currently have to use the devkit mouse to place the objects in the correct squares manually, but I hope to have proper gamepad support soon so you can type in the codes. I also plan to add support for saving puzzles, so you can make your own (limited) run of puzzles to get a high score in.