I decided to create my own take on the PICO-8 Cheet Sheet. 👨💻🖼️
Inspired by @LightBWK's version - I wanted to try to make a 4K one using a clean, modern look.
It was also important to me to have a matching "Dark Mode" variant, as that's my go-to style 🕶️
- 🖥️ 4K (3840x2160) Resolution
- 🔠 Clear, Monospaced JetBrains Mono Font
- 🔷 PICO-8 API up to v0.2.5g
- 🎨 Full PICO-8 Palette (inc. "Secret" cols)
- 🦓 Matching "Light" and "Dark" variants
- ⌨️ All Major PICO-8 Keyboard Shortcuts
- 🖌 FILLP() Mask + Glyph Patterns
- 🔄 Turn-Based Angle + Trigonometry Primer
- 🈂️ Full Character Set
- 😺 Glyph List + Constant Values
- 🐛 System + Debugging
Please let me know what you think (...especially if you spot any errors! 😬)
Below you will find links to high-res .PNG + .PDF exports of my cheat sheets, enjoy! 🤓
- PICO-8 Cheat Sheet (4k).PNG
- PICO-8 Cheat Sheet (4k).PDF
- PICO-8 Cheat Sheet (4k - Dark).PNG
- PICO-8 Cheat Sheet (4k - Dark).PDF
- Enhanced PICO-8 cheat sheet by @LightBWK
- PICO-8 Manual
- Pico-8 API Cheatsheet (iiviigames)
- Pico-8 API Cheatsheet (neko250/Carlos Aguilar)
- Orig PICO-8 Cheatsheet PDF by @ztiromoritz
- Nerdy Teachers PICO-8 Guide
- PICO-8 Wiki
- JetBrains Mono (font)
- Canva (designed with)
v1.4 - Added SYSTEM FLAGS section Added STAT values Added Tracker Instruments Added Comments Added more Shortcuts Condensed SPRITES + other additions/tweaks (thx @pancelor) v1.3 - Added MAP section (thx @eskil) Fixed inconsistent quotes("”) (thx @thomaswm) Added IPAIRS (thx @picoretro) Added BREAK v1.2 - Fixed dupe `repeat..until` (Thx @Ulquiro) + added new "Debugging" section v1.1 - Updated char map to include top-row of P8SCII chars. v1.0 - Initial release.
this looks very nice! dark mode and all the images are excellent additions. I have two personal reference images that look incredibly similar to the two font images in the bottom-right :D
I have some idea for changes, if these are helpful to you:
peek(addr,[len])(and 2/4 variants ofc)
- add peek ops (
@ % $)
bxorcan be spelled as
sspr- "draw text from spritesheet" -> "draw rect from spritesheet"?
- "tables" - add
- "shortcuts" - "search (curr tab) / search (all tabs) / search next" -> "search / next res (all tabs) / next res (curr tab)"
- "col palettes" - add
maybe should change
- "tables" - show access syntax (
for i in all(t)->
for v in all(t)
- "vars and types" and "strings and types" and "text" sections could be rearranged into "vars and types" and "strings"?
- "pixels" can merge into "screen" section
- "debugging": what does
stat(x)mean? should it be
maaaaaybe should change?
- "command line" section -- newlines confuse me. maybe extra spaces would help?
- "functions" -- add() already exists! maybe rename to sum()?
- "functions" - add a varags example, e.g.
function foo(...) x=select(1,...) end-- see
trace()is useful for coroutine debugging:
local ok,dat=coresume(coro,...) if not ok then printh(trace(coro,dat)) end
Thanks for the great (+thorough) feedback @pancelor - this is very helpful. 🙏
Will digest this and incorporate into the next update.
Alas, I'll probably have to compromise due to limited space (
trace was cut prev for this very reason). But I'll be happy if I can find a good balance of including all the "essentials" (e.g. for 80% of the audience) - anything more I'll consider a bonus 😉
UPDATE: I ended up re-arranged things and actually squeezed lots more in! 😊
Basically, the glyphs (A..Z) along with having a symbol/picture when used in a string ALSO have a predefined numberic value.
So, if you do...
...you'll just see the glyph/picture.
But if you use the glyph itself like a constant...
This means you can do things like...
...which is the same as doing...
...because ❎ has a constant value of 5.
Hope this helps explain things a bit better 🤓
Thank you @Liquidream for your reply!
I'm fairly new to Pico8, but this makes a lot of sense, at least for LEFT, RIGHT, UP, DOWN and the other 2 buttons.
Even 0.5 (the letter A) has some meaning on its own (even if I would argue its is much less readable than 0.5), but where all the other constants come from? They don't seem to encode any kind of bit pattern, neither mathematical constants... maybe something that has to do with notes frequencies?
You're welcome, @Morusaka.
"...where all the other constants come from?"
TBH, that's one for @zep (PICO-8 creator) to confirm - as I'm afraid I don't know.
I believe they are linked to the
fillp pattern presets,
but I'm not 100% sure (nor could I confidently explain it), sorry.
Perhaps someone else here can? (as I'd like to know also) 🤷♂️
that is the right answer!
🅾️ are assigned numbers with meaning related to
btnp, other variables defined with 1-character names like
♥ are assigned numbers which work for the
fillp function to create patterns looking similar to the characters themselves. in other words they are pre-defined shortcuts that are useful in tweetcarts for example.
about fill patterns
pattern: catalogue https://www.lexaloffle.com/bbs/?tid=52986
bits and binary: https://www.lexaloffle.com/bbs/?tid=38338
[Please log in to post a comment]