Log In  

Hi all,

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.

Light Version

It was also important to me to have a matching "Dark Mode" variant, as that's my go-to style πŸ•ΆοΈ

Dark Version

Main Features

  • πŸ–₯️ 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
  • +More!

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! πŸ€“

Downloads

Sources/Acknowledgements

Support

Change History

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.

P#134802 2023-09-29 16:29 ( Edited 2023-11-11 08:30)

2

Thank you for making this! We all needed it very much.

P#135135 2023-09-30 02:36
1

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:

should change

  • add peek2/poke2
  • peek(addr) -> peek(addr,[len]) (and 2/4 variants ofc)
  • add peek ops (@ % $)
  • fillp(mask) -> fillp([mask])
  • color(col) -> color([col])
  • add(t,v) -> add(t,v,[i])
  • add deli(t,[i])
  • bxor can be spelled as ~ too
  • count(t) -> count(t,[v])
  • chr(c) -> chr(c,[c2,c3,...])
  • ord(str) -> ord(str,[pos,[len]])
  • sspr - "draw text from spritesheet" -> "draw rect from spritesheet"?
  • "tables" - add a,b,c=unpack(t)
  • "shortcuts" - "search (curr tab) / search (all tabs) / search next" -> "search / next res (all tabs) / next res (curr tab)"
  • "col palettes" - add pal(table,[p])

maybe should change

  • "tables" - show access syntax (t.a, t["a"])
  • 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
  • print(...) -> x,y=print(...)
  • "debugging": what does stat(x) mean? should it be stat(110)?

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 help select
  • trace() is useful for coroutine debugging:
    local ok,dat=coresume(coro,...)
    if not ok then printh(trace(coro,dat)) end
  • coresume(c) -> ok,dat=coresume(c,[args...])
  • yield() -> args=yield(dat)
P#135427 2023-10-05 00:13
1

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! 😊

P#135436 2023-10-05 04:59 ( Edited 2023-10-14 14:58)
1

Thanks! Also....

2 typos I noticed:

  • There is a forward slash after peek2(addr) in memory functions
  • Also in memory functions, cstore and reload have and ending square bracket, without the beginning one.
P#135899 2023-10-14 19:08

@alanxoc3 Well spotted, thanks! πŸ‘
(Just refreshed it with the typos removed πŸ˜‰)

P#135916 2023-10-15 07:15

Hi!
I'm sure this has been asked millions of times: what are those constants in the bottom right corner of the image? (e.g. N = -25792.5)

Thank you!

P#137009 2023-11-06 11:27

Hi @Morusaka,
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...

str="β™ͺ"
print(str)

...you'll just see the glyph/picture.

But if you use the glyph itself like a constant...

num=β™ͺ
print(num)

This means you can do things like...

if(btnp(❎)) print("fire!")

...which is the same as doing...

if(btnp(5)) print("fire!")

...because ❎ has a constant value of 5.

Hope this helps explain things a bit better πŸ€“

P#137013 2023-11-06 13:20

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?

P#137025 2023-11-06 18:05

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) 🀷‍♂️

P#137026 2023-11-06 18:14 ( Edited 2023-11-06 18:15)
1

that is the right answer!

just like ⬆️ or πŸ…ΎοΈ are assigned numbers with meaning related to btn/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
doc: https://www.lexaloffle.com/dl/docs/pico-8_manual.html#FILLP
pattern: catalogue https://www.lexaloffle.com/bbs/?tid=52986
bits and binary: https://www.lexaloffle.com/bbs/?tid=38338

P#137030 2023-11-06 19:22
1

Thank you guys!
@Liquidream, @merwok

P#137034 2023-11-06 20:02
1

Thank you for this. Beautiful and wonderful layout!

Just FYI, I noticed Mute/Unmute is shown as "CTRL-M" instead of "CTRL+.." like everything else.

Thanks again @Liquidream

P#137726 2023-11-21 17:18

@kozm0naut Oh well spotted! What a silly typo 🀦
Will get sorted in next release (+thanks for the kind words!)

P#137730 2023-11-21 18:22

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2023-12-03 23:54:42 | 0.093s | Q:33