Log In  

Hey All -- PICO-8 0.1.9 builds are now live on Lexaloffle and Humble!

Posting Carts via Clipboard

The handiest new feature is being able to post cartridges to the bbs via the clipboard, without ever saving it as a png. Use "SAVE @CLIP" to copy to the clipboard as text, and then paste it into a post (hit Preview to make sure it worked and to get rid of the wall of text). You can also copy carts from the BBS (look for 'Copy' under each cart) and paste it back into PICO-8 with "LOAD @CLIP")

Posting GFX via Clipboard

You can also do the same thing with sprites. Using CTRL-C in the sprite editor also stores a copy of the sprites as text in the clipboard, and can be pasted back and forth to BBS posts. Here's an example: (click the 40x8 and then CTRL-C the text to copy&paste it back into a cart)



There's a new category in the BBS called Jam, which shows up in SPLORE. The Jam sub-forum (along with clipboard cart&gfx pasting) will be useful for things like the Tweetjam thread and for having a natural place to discuss / post ideas for external jams like Ludumdare.

I originally envisaged Jam-related stuff going in Collaboration, but I think Jam can grow into something quite worthwhile and separate. Collaboration will also be extended at some point to include a 'snippet library' of re-useable pieces of code/gfx/audio, which feels quite different from jamming.

Raspberry Pi GPIO

If you have a Raspberry Pi and an LED, try jamming one end into GPIO1, and the other one into GND, and you can make it blink on and off with POKE(0x5f81,255) and POKE(0x5f81,0). Note that you'll need to run PICO-8 as root: sudo pico8


Exported html can now run at 60fps. To improve performance, the web player now always runs on a 128x128 rather than performing the scaling in software. If you are writing your own html shell for the exported .js, you'll need to do an unfiltered scale of the canvas to the desired size. (See the default exported 0.1.9 html shell for an example).

Pixel-Perfect Scaling

When changing the window size of PICO-8, or swapping from a window to fullscreen, PICO-8 now chooses the largest integer scaling factor that will fit inside the window to avoid blurry filtered pixels. For example, on a 1920x1080 real-world display, the largest scale is 8 which gives a 1024x1024 PICO-8 display.

PocketCHIP Update

We're working on it! I still can't give an eta on the PocketCHIP update, but the latest build is in testing and looks good across kernel versions, including GPIO access (so will likely skip to 0.1.9). It still needs to be coordinated with other things happening at Next Thing Co. though, so I'll keep you updated here.

Coming Up

There are still a bunch of small issues with the editors I'd like to improve, but PICO-8 is starting to look pretty close to beta! Next up will be website improvements to complement the clipboard & Jam category additions, and also long overdue support for touch devices. The main feature missing for beta is being able to login and submit scores from carts using SCORESUB(LEVEL, SCORE).

The next Voxatron update also has some new PICO-8 stuff -- the first version of the Voxatron API is a superset of PICO-8's and allows mapping one slice of Voxatron's display to PICO-8 video memory. (The display is basically a stack of 64 PICO-8 screen). So you'll be able to load PICO-8 cartridges into a Voxatron cartridge and make wee arcades and weird 3d ports and whatnot. It's fantasy consoles all the way down!



    Added: Copy and paste sprites and whole cartridges directly to BBS posts 
    Added: JAM category in splore
    Added: GPIO support for Raspberry Pi
    Added: Read clipboard using stat(4) after user presses CTRL-V
    Added: printh() can optionally write to a file or the host clipboard
    Added: Editor tool information and tips shown on mouseover
    Added: Set desktop path with -desktop (screenshots and gifs are saved here)
    Added: Warning on saving .p8 when compressed code size exceeds .p8.png limit
    Added: Alternative editor colours // config.txt: gui_theme 1
    Added: Dotted line every 8 rows in song view
    Added: -screenshot_scale (default: 3) and -gif_scale (default: 2)
    Added: Can use ctrl-up, ctrl-down to jump to start and end of code
    Added: CTRL-M to mute/unmute sound
    Added: HTML5-exported carts support 60fps
    Added: Timeout switch for splore downloads: -timeout
    Changed: Glyph characters typed with alt + a..z 
    Changed: stat(0) does not include allocations waiting to be garbage collected
    Changed: Unfiltered screen stretching at integer scales by default
    Changed: Removed -aspect and -scale settings (use draw_rect instead)
    Fixed: -home has no effect under Windows
    Fixed: Sometimes frame skipping starts before CPU useage has reached 100%
    Fixed: Double-speed BTNP() timing in 60fps mode
    Fixed: Exported HTML fails when _update60 is used instead of _update
    Fixed: Can't copy and paste button glyphs
    Fixed: Lines containing glyphs do not scroll far enough horizontally 
    Fixed: Loading .p8 renamed as .p8.png from splore freezes
    Fixed: Bucketfill in map doesn't sync to shared memory
    Fixed: fset fails when de-setting flags
    Fixed: Syntax error when beginning with the form: IF (..) [OR|AND]\n  
    Fixed: cls() costs twice as much cpu as it should
    Fixed: wav file exporter missing some data / writing truncated buffers
    Fixed: Entering new notes in song view doesn't observe current volume, instrument
    Fixed: alt-tab sometimes generates alt character text entry event
    Fixed: Resuming a cancelled download in splore causes crash
    Fixed: Controller attributes in log.txt always shown as -1  

P#28326 2016-09-11 15:55 ( Edited 2016-11-29 10:48)

Awesome, zep - thank you!

P#28327 2016-09-11 16:06 ( Edited 2016-09-11 20:06)
P#28329 2016-09-11 16:52 ( Edited 2016-09-11 20:52)

Great job as always, thanks a lot!

P#28333 2016-09-11 17:05 ( Edited 2016-09-11 21:05)



P#28338 2016-09-11 17:37 ( Edited 2016-09-11 21:37)
P#28346 2016-09-11 19:06 ( Edited 2016-09-11 23:06)

Very nice! Thanks!

P#28348 2016-09-11 19:18 ( Edited 2016-09-11 23:18)

Resizing the window too small crashes PICO-8 with "Floating point exception"

P#28365 2016-09-11 23:44 ( Edited 2016-09-12 03:44)

Very cool

P#28369 2016-09-12 00:43 ( Edited 2016-09-12 04:43)

May be a graphics section on the web site soon ? Thanks

P#28370 2016-09-12 01:38 ( Edited 2016-09-12 05:40)

I updated the wiki with some of these changes, as appropriate. I'm looking forward to trying out the RaspPi GPIO stuff next week (and eventually PocketCHIP).

P#28371 2016-09-12 02:39 ( Edited 2016-09-12 06:39)

:D :D :D

P#28372 2016-09-12 03:27 ( Edited 2016-09-12 07:27)

lovely work as usual zep!

P#28375 2016-09-12 04:18 ( Edited 2016-09-12 08:18)

Oops found a problem: resizing the window too small makes Pico-8 crash on Windows. :x

P#28378 2016-09-12 05:13 ( Edited 2016-09-12 09:13)

Yay ! My first update. THIS is the main reason I bought PICO ...

UPDATES ! This marvelous little game programming language can only get better over time !

I was going to mention that if you make a BATCH command with PICO thus:

"pico8-engine.exe" -scale 5

You will scale up to the next pixel level as default on my computer and likely yours, it is 4.

It appears, however, this is now covered with PIXEL PERFECT scaling.

Looking forward to further future updates, ZEP !

P#28394 2016-09-12 10:57 ( Edited 2016-09-12 14:57)

C.H.I.P. should get GPIO support, also @zep you didn't mention wide characters in code.
But still, great update! Can't wait for the PocketC.H.I.P. release.

edit: alt glyphs don't work on my computer

P#28425 2016-09-12 17:12 ( Edited 2016-09-12 21:25)

Those are amazing additions!!


P#28426 2016-09-12 17:46 ( Edited 2016-09-12 21:46)

Woo! Flags can be unset programmatically.


P#28430 2016-09-12 18:44 ( Edited 2016-09-12 22:44)

I asked over on the Next Thing Co forums about this, but maybe here's a good place too:

Would it be possible to add a command-line option to Pico-8 that skips the "Press 0 (zero) to start" splash screen on the PocketC.H.I.P. version?

I want to use the PocketC.H.I.P. to display a series of Pico-8 carts as desktop eye-candy. I have a script that runs through carts in a directory, starts & stops Pico-8. But, it won't work automatically because I have to manually press the button to start.

P#28434 2016-09-12 19:28 ( Edited 2016-09-12 23:28)


Love the new graphics export feature

P#28448 2016-09-13 00:08 ( Edited 2016-09-13 04:08)


This is awesome! :D Thank you!

P#28466 2016-09-13 16:42 ( Edited 2016-09-13 20:42)

@lmorchard If you could send a keyboard signal with the script, you could make it send 0 after PICO-8 starts and it should boot into PICO-8 fine, though you might need a delay since PICO-8 will take some time to start.

EDIT: Try this:

sudo apt-get install xdotool

and in the bash script

run pico-8 with eyecandy p8 files on this line

xdotool key 0

EDIT2: Testing this now.
EDIT3: apparently it dosen't work because pico-8 seizes up any other command, trying it with xdotool at the top.
EDIT4: dosen't work either way trying this: pico8 | xdotool key 0
EDIT5: it will need a delay to run at the launch of the PICO-8 window, i'm not that experienced in bash so I can't figure out the rest. xdotool does work though.

P#28469 2016-09-13 17:15 ( Edited 2016-09-13 21:31)

seconding funrezy: can't enter glyphs on my mac now; no alt key

P#28488 2016-09-14 01:15 ( Edited 2016-09-14 05:15)

Glyphs don't seem to work over here on Windows 10.

P#28502 2016-09-14 09:46 ( Edited 2016-09-14 13:46)

I think zep broke the glyphs when he added the alt key.

P#28511 2016-09-14 16:20 ( Edited 2016-09-14 20:20)

funzrey: Oh, I haven't played with xdotool before! Got my little script working with that, and updated my thread over on the PocketCHIP forums. Rotating nicely though the carts, now!

P#28547 2016-09-15 12:12 ( Edited 2016-09-15 16:12)

It's not possible to post cartridges from the clipboard into the carts categories. On the instructions page, clicking the links to create a new thread in one of the four subcategories just redirects back to the same page.

P#28653 2016-09-17 00:46 ( Edited 2016-09-17 04:46)

Heh this is a nice way to show off sprites and share them, nice thinking.

P#28657 2016-09-17 03:41 ( Edited 2016-09-17 07:47)

@zep You may also want to consider adding "LOAD/SAVE @CLIP" to the HELP command reference?
I couldn't remember the exact command and my first thought was to run HELP... but it didn't! ;)

P#28658 2016-09-17 03:51 ( Edited 2016-09-17 07:51)

Cartridge pasting is so convenient! (at least for the tiny carts I've tried it with so far)

P#28671 2016-09-17 13:58 ( Edited 2016-09-17 17:58)

almost a side effect, you can copy/paste gfx between instances of pico-8! neat!

how about also copying screenshots to the clipboard?

is the label also copied when you paste a cart ?
speaking of which, import/export of labels would be great, and/or saving it to .p8

P#28702 2016-09-17 17:45 ( Edited 2016-09-17 21:45)


P#31649 2016-10-24 06:39 ( Edited 2016-10-24 10:39)


P#31655 2016-10-24 08:23 ( Edited 2016-10-24 12:23)

Now if we can add copy current screen to HEX clipboard, then we won't need to save off a file and upload each time.

(during program)
Press SHIFT F6
Message: "Current screen copied to clipboard."

In BBS message, press CTRL-V.

Mass of hex data appears.

Save message. Clipboard image appears.

P#31660 2016-10-24 11:24 ( Edited 2016-10-24 15:24)

Looking forward to the android port :B
I wanna make games on my tablet damn it!

P#32822 2016-11-29 05:48 ( Edited 2016-11-29 10:48)

[Please log in to post a comment]