system
menuitem
menuitem( index, [label], [callback] )
index | A number (1-5) for the order of the menu item in the pause menu. |
label | (optional) A string up to 16 characters long that will be displayed in the pause menu. |
callback | (optional) A function that will be called after the menu item is clicked. |
This function will add or remove additional options in the Pause Menu of the game. You can add up to 5 additional items in the menu.
This is the default pause menu (press "P" on the keyboard, or start button on a controller while a game is running):
This is an example adding all 5 slots in the pause menu:
menuitem( 1 , "item 1" )
- add new menu item at the top-most slot of the pause menu, under "continue" labeled "item 1"
menuitem( 3 )
- remove the menu item at slot 3
menuitem( 2, "invert Y", invert )
- add a menu item at slot 2, with the label "invert Y" and call a function named "invert" when clicked
menuitem( 5, "difficulty: "..diff, change_mode )
- add a menu item at slot 5, with the label "difficulty: ___" using a variable named "diff", and run the function named "change_mode" when clicked.
776
20 Oct 2023
676
22 Jan 2023
632
22 Jan 2023
backup
backup
This command will save a backup .p8 file of the currently loaded game in your backups folder. It will save under the current filename, or as "untitled_#.p8" if you haven't yet saved and given the data a filename.
After using this command, you will be notified in PICO-8 that it has been saved and under what name:
To open the backups folder, either navigate to {appdata}/pico-8/backup or use the folder command and specify "backup":
The above command will not notify you in PICO-8, but it will open the backups folder in your file explorer and should look like this (in Windows):
474
4 Nov 2023
505
22 Jan 2023
Anytime inside of PICO-8, whether you are in-game or in an editor, you can take a screenshot by pressing Ctrl+6 (Cmd+6):
This will saves a screenshot to your the folder specified in your config file (Default location is $HOME/Desktop). You can change this behavior by editing the PICO-8 config.txt file. See Customize Configurations on how to do that.
This also works in the PICO-8 Education Edition, as well as any online PICO-8 player in a browser. However, it does not automatically download. There may be a pause of the game while it is working, then a small thumbnail preview of the image you just captured will be presented in a popup window at the top left of the PICO-8 player. You must right-click on this image and choose Save image as.. to download.
Alternatively, you can press F6:
Warning: This hotkey does not work in your browser.
471
4 Nov 2023
541
22 Jan 2023
Anytime inside of PICO-8, whether you are in-game or in an editor, you can take a video (animated .gif file) by pressing Ctrl+9 (Cmd+9):
This will save a .gif video to your the folder specified in your config file (Default location is $HOME/Desktop). You can change this behavior by editing the PICO-8 config settings. See Customize Configurations on how to do that.
This also works in the PICO-8 Education Edition, as well as any online PICO-8 player in a browser. However, it does not automatically download. There may be a pause of the game while it is working, then a small thumbnail preview of the gif you just captured will be presented in a popup window at the top left. You must right-click on this gif and choose Save image as.. to download.
Alternatively, you can press F9:
Warning: This hotkey does not work in your browser.
Set a Starting Point
PICO-8 is always recording the screen, with a default duration of the last 8 seconds. You can increase this duration up to 120 seconds using the config settings. See Customize Configurations on how to do that. So by using the above command to save the gif, it will save the full duration of video based on this setting. However, you can also save shorter videos and control when the gif starts recording without changing these settings.
To specify a video recording starting point, first press Ctrl+8 (Cmd+8):
Alternatively, you can press F8 (again, does not work in a browser):
567
4 Nov 2023
430
22 Jan 2023
513
22 Jan 2023
"PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. It feels like a regular console, but runs on Windows / Mac / Linux. When you turn it on, the machine greets you with a commandline, a suite of cartridge creation tools, and an online cartridge browser called SPLORE." - PICO-8 Homepage
Official Homepage
Console Specs | |
---|---|
Display | 128x128 16 colours |
Cartridge Size | 32k |
Sound | 4 channel chip blerps |
Code | P8 Lua |
CPU | 4M vm insts/sec |
Sprites | 256 8x8 sprites |
Map | 128x32 tiles |
Made by Lexaloffle Games LLP.
Developer: Joseph White ("Zep")
Contact: hey@lexaloffle.com
470
31 Mar 2023
You may have heard of something called "ASCII" (American Standard Code for Information Interchange). It is an ordered sequence of numbers to represent individual characters in computers. The characters could be letters, numbers, punctuation marks, symbols, etc. In ASCII, each character is assigned a unique numeric value or "character code". For example, the ASCII code for the uppercase letter 'A' is 65, while the code for the lowercase letter 'a' is 97.
PICO-8 has its own sequence of characters in its own order. We call these "P8SCII" for fun. Below is the full list of P8SCII characters from 0 to 255, separated into their groups.
You can use chr()
and ord()
to switch between the P8SCII characters and their ordinal number values.
(0-15) Control Codes
From numbers 0 to 16, the P8SCII "characters" are actually control codes rather than symbols. These are advanced options that you can use inside of print()
to change certain settings. See more about how to use these in the Special Control Commands page.
"Ord" = Ordinal Number Value
Ord | Code | Control |
---|---|---|
0 | \0 | terminate printing |
1 | \* | repeat next character this number of times. |
2 | \# | draw solid background with this color number. |
3 | \- | shift cursor horizontally by a value minus 16 pixels |
4 | \| | shift cursor vertically by a value minus 16 pixels |
5 | \+ | shift cursor by two values minus 16 pixels on X and Y axes. |
6 | \^ | special commands (more below) |
7 | \a | audio commands (more below) |
8 | \b | backspace |
9 | \t | tab |
10 | \n | newline |
11 | \v | decorate previous character (more below) |
12 | \f | set foreground colour (text color) |
13 | \r | carriage return (move cursor to start of same line) |
14 | \014 | switch to custom font (memory 0x5600) |
15 | \015 | switch to default font |
(16 - 31) Symbols
"Ord" = Ordinal Number Value | "Chr" = Character
Ord | Chr |
---|---|
16 | ▮ |
17 | ■ |
18 | □ |
19 | ⁙ |
20 | ⁘ |
21 | ‖ |
22 | ◀ |
23 | ▶ |
24 | 「 |
25 | 」 |
26 | ¥ |
27 | • |
28 | 、 |
29 | 。 |
30 | ゛ |
31 | ゜ |
(32 - 126) ASCII Numbers, Letters, and Punctuation
"Ord" = Ordinal Number Value | "Chr" = Character
These all correspond to the standard ASCII numbers and characters. Note that the uppercase letters (A-Z) are actually puny font in PICO-8, while the lowercase letters (a-z) are printed as the normal PICO-8 font which looks like all caps.
Ord | Chr |
---|---|
32 | (space) |
33 | ! |
34 | " |
35 | # |
36 | $ |
37 | % |
38 | & |
39 | ' |
40 | ( |
41 | ) |
42 | * |
43 | + |
44 | , |
45 | - |
46 | . |
47 | / |
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
58 | : |
59 | ; |
60 | < |
61 | = |
62 | > |
63 | ? |
64 | @ |
65 | A |
66 | B |
67 | C |
68 | D |
69 | E |
70 | F |
71 | G |
72 | H |
73 | I |
74 | J |
75 | K |
76 | L |
77 | M |
78 | N |
79 | O |
80 | P |
81 | Q |
82 | R |
83 | S |
84 | T |
85 | U |
86 | V |
87 | W |
88 | X |
89 | Y |
90 | Z |
91 | [ |
92 | \ |
93 | ] |
94 | ^ |
95 | _ |
96 | ` |
97 | a |
98 | b |
99 | c |
100 | d |
101 | e |
102 | f |
103 | g |
104 | h |
105 | i |
106 | j |
107 | k |
108 | l |
109 | m |
110 | n |
111 | o |
112 | p |
113 | q |
114 | r |
115 | s |
116 | t |
117 | u |
118 | v |
119 | w |
120 | x |
121 | y |
122 | z |
123 | { |
124 | | |
125 | } |
126 | ~ |
(127 - 153) PICO-8 Glyphs
These are special characters unique to PICO-8. You can manually type these glyphs into PICO-8 by holding Shift while pressing a certain letter. Here are the glyphs with the corresponding letter to use with Shift. The arrow and button keys are even recognized in btn()
and btnp()
functions.
"Ord" = Ordinal Number Value | "Chr" = Character
Ord | Chr |
---|---|
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 - 203) Japanese Hiragana
"Ord" = Ordinal Number Value | "Chr" = Character
Ord | Chr |
---|---|
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 - 253) Japanese Katakana
"Ord" = Ordinal Number Value | "Chr" = Character
Ord | Chr |
---|---|
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) Arcs
"Ord" = Ordinal Number Value | "Chr" = Character
Ord | Chr |
---|---|
254 | ◜ |
255 | ◝ |
785
4 Dec 2023