Log In  

I'm loving messing around picotron and the sounds I'm discovering~
But I think I stumbled into a bug!

The sfx data, most specifically the notes in the individual patterns as well as the spd and loop data, are getting jumbled up as I insert new notes, and behave in strange ways...

Undo (ctrl+z) is not working to undo these glitches either, unfortunately :<

P#143597 2024-03-17 23:47

'load' bug

Issue: load fails to properly load cartridges from the BBS after the first one.


  1. boot picotron
  2. > load #nights
  3. ctrl+r: #nights plays. stop.
  4. > load #util_new (or any other cart)
  5. ctrl+r: #nights plays again
  6. repeat as many times as you'd like to keep seeing nights instead of what you want to see.

Fix: whenever you load a BBS cart it seems you have to manually delete the temporary bbs cart (rm /ram/bbs_cart.p64.png) before issuing another load command. Doing so will have your desired second cart load and run properly.

Anyone else having this issue?

P#143602 2024-03-18 00:11 ( Edited 2024-03-18 00:11)

This one's doesn't reproduce after a bit but when you load up the sprite editor after a clean boot, the brush tool doesn't work at first until you change the brush size.

P#143608 2024-03-18 00:52 ( Edited 2024-03-18 00:52)

Yep @ahrotahn, I am having the same issue.

P#143609 2024-03-18 00:52

Pretty niche one, but: Touchpad taps don't seem to register as more than selection clicks. Can't execute on tap, only with clicks,

P#143614 2024-03-18 01:15

@The V Man - i can also reproduce this issue and find it quite annoying, though i found that very well timed (kind of longer than you'd expect) double taps will do it. i have been resorting to loud touchpad manual clicks to double click stuff as well on my laptop.

(PS: how do i properly @ someone who has a space in their name?)

P#143616 2024-03-18 01:30 ( Edited 2024-03-18 01:31)

Dragging a file into a folder on the desktop, where it opens a new window, and then dropping the file over the window as soon as it opens causes picotron to freeze. It can still be closed via the close button on the title bar normally.

P#143624 2024-03-18 02:23

Glad to find that we've got a bug reporting thread going! I keep running code with mget (guessing that this has been retired, but I'm not 100% sure), and each time I absent-mindedly do, Picotron crashes. Code like this:


Running a Mac M1, if it helps.

P#143627 2024-03-18 02:53

Ooh, but if I define it in a variable then run the code ->


I get a proper runtime error. 'attempt to call a nil value'. Love the error reporting popup, by the way!

P#143629 2024-03-18 02:59

Escape sequences like this are marking the colors of what is a string and what is code in a weird way but only the colors the rest works right:

P#143631 2024-03-18 03:09

Using a non-default video mode (e.g. vid(4)) and falling back to rendering at lower than 60fps results in truly horrible flashing.

P#143645 2024-03-18 05:03 ( Edited 2024-03-18 05:10)

calling assert(false,vec(0)) crashes picotron, as well any userdata as far as I can tell. I get around it by calling :__tostring() on whatever userdata variable I'm checking

P#143655 2024-03-18 07:52 ( Edited 2024-03-18 07:52)

I closed all the workspaces from boot just for curiosity sake. I got stuck in the console with nothing on the alt toolbar besides the current terminal. Desperate for a way to get a desktop UI again, I found system/startup.lua, running this at first seems to restore/restart the UI.

But if I run the "ps" command to check running software, there are now duplicates of all the operating system programs, like multiple copies of eyes, wm, etc. This can be repeated indefinitely to eat ever more memory and make the UI basically super confusing to use.

I don't see a way to get back out of this state without closing and restarting the program.

I realize this is probably just the emulated consequence of the OS boot sequence and being silly enough to go run startup.lua instead of restarting the whole OS.

Still, maybe there should be a "safe mode" or "newbie mode" safety feature to keep us from doing super dumb things out of the box.

I think such a feature would need to toggle off, since the whole point is to let us hack the system too.

But I would love if the system broke character and helped a bit with situations like this, instead of leaving the user stranded. This could be very rough for someone without pico8, lua, or even computer console command knowledge. I got here in like 5 minutes just poking it, lol.

P#143670 2024-03-18 09:36

Oh, there was also a full freeze on the first time I typed "save testcart" into the console after installing. I haven't been able to recreate yet.

I believe it was caused by my backup software running and checking the hard drive while Picotron tried to save a new file?

If I can find the steps to recreate, I will report more. Unfortunately, since the picotron boots up full screen, I couldn't get to the rest of windows to see anything else without terminating the application. And of course, now that I set it to windowed mode my scanner is done and saving works fine.

I am on windows 10 64 bit, my backup software is idrive, it was scanning files for changes.

P#143673 2024-03-18 09:43

Absolutely loving the support of copy and paste between code editor and notepads/etc. within the OS itself, by the way! I can make cheat sheets with all my functions ready to paste into new apps without leaving Picotron, it's awesome!

P#143675 2024-03-18 09:46

I've got way broken key mapping on a PC on Windows 11 (with the standalone version):

  • up maps to a small value on the left and down axis
  • down maps to a full down + slight left nudge
  • left maps to full left + slight down nudge
  • right maps to a small down value
  • up + left maps to full left
  • up + right maps to full right
  • down + left maps to down-left diagonal
  • down + right maps to down-right diagonal
  • Opposite directions cancel each other

EDIT: Damnit, I didn't notice I had a gamepad on. If you have an active controller, using the keyboard might skip the controller's deadzone (or it's just merging both inputs methods into something unpredictable).

P#143686 2024-03-18 11:47 ( Edited 2024-03-18 11:51)

The layer order looks reversed the layer below in the list is showing the object above. At moment is not possible to drag or change layer order too

P#143694 2024-03-18 13:37

Since it sounds like some folks are not experiencing constant crashing: I'm seeing constant crashes, even when not really doing much (like reading code for a minute or two) on my M1 Mac running MacOS 14.3.1. Starting to sound like this might be an issue specific to the Mac build?

P#143710 2024-03-18 15:29 ( Edited 2024-03-18 16:39)

@luchak I'm also on a Mac M1 and experiencing a lot of crashes, often when running small programs. Excited for future updates with patches. For the time being it's exciting using Picotron in its buggy state, feels like the wild west!

P#143712 2024-03-18 15:53

@luchak Maybe running the x86 build through rosetta would solve it? I'll try it to see, it could just be related to the architecture not macOS in general

The M series chips have stricter security and a stricter obj-c method calling convention, and probably more subtle differences

Sadly still crashes, but it was worth a try

P#143719 2024-03-18 17:02 ( Edited 2024-03-18 17:18)

@TeamPuzel Oh, interesting, that seems plausible. I'd be curious to know if that works!

P#143720 2024-03-18 17:03

/system is valid as a mount point in picotron_config.txt

Doing some stuff like

mount /system c:/tmp/picotron_system

Makes that folder persist across Picotron reboots and gets a full copy of the system's folder the first time you launch Picotron after setting up this mountpoint, leaving you free reign to mod the OS the way you want with little restriction.

I have an inkling that this is a way to allow custom runtime setups and/or persistent specific configurations (like a kiosk mode) but the way it is right now allows for customization in an unpredictible way in multiple forms:

  • The OS state, now permanent, can be broken across reboots more easily than just a configuration or a startup daisy chain error.
  • The OS state probably won't change across updates, so you might end up easily in unsupported situations where you're getting an outdated OS running on a newer runtime.

The plus? You can tune the default apps the way you want, like adding features like jump-to-top/bottom in the code editor, making fix patches or basically "rice" your system up to the way the window frame is drawn.

Is that a planned feature, an accidental feature? This sounds pretty wild, given that by default Picotron's OS is supposed to be "read-only".

P#143743 2024-03-18 19:03
  • Some when save card first time (win10) with save **** on console, it crash!
  • We need Mget and Mset and any pico-8's map function back. So I can continue working on my game in #picotron.
  • As long as Map functions and pget not works properly, I suspend my platformer game dev and use of #picotron, for now, this new fantasy workstation it's a joke. :P
P#143745 2024-03-18 19:07 ( Edited 2024-03-18 22:52)

Trying to delete a folder does nothing, additionally trying to move a folder creates a duplicate in the target directory, but fails to remove the original copy, essentially copying the folder (these functions work as intended on files, just not folders)

I am using windows 11

P#143786 2024-03-19 00:37

@TetraPengwin I have had something similar happen with files and not folders, perhaps it is related and we can figure out how to fix this. In my case, I was trying to move a lua file from name1.lua to name2.lua, but while name2.lua would appear, name1.lua kept remaining - or rather, coming back almost instantaneously. It turns out I had name1.lua open in the code editor, and the editor would automatically and immediately re-save the file. Once I closed name1.lua I was able to just rm it. Is there something that might be trying to use /desktop/test that would be recreating it on access if it's missing, do you think?
Worst-case, I suppose you could folder to open your OS file browser and navigate in to delete it... does that work, or does it reappear if you do that?

P#143788 2024-03-19 00:51
  • Changing video mode via vid() function in a terminal window on the desktop switches the whole desktop to a fullscreen terminal that, as far as I can tell, can't be exited.

  • In 'Battery Saver' mode, in the instrument creator, if I add an oscillator, mod or fx to the first carrier the background will flicker rapidly. In the regular mode, it just dims the background a bit.

  • Also, on my 2015 macbook pro, it takes several clicks of the trackpad to register a single left click. It's definitely not an issue with the computer as Picotron is the only app that does this.
P#143792 2024-03-19 01:08 ( Edited 2024-03-19 01:47)

It's impossible to include a file that includes other files because it does not preserve the relative path within each

P#143835 2024-03-19 14:35

@TeamPuzel I might be misunderstanding what you're saying, but it works fine for me! I have a lib folder in my 3d renderer thingy and a few of the lua files in there include other files from the same path, but in the include statement, they all start from the base cartridge path (so all the files in the lib folder would still say "lib/example.lua" if that makes sense)

P#143839 2024-03-19 14:55

@Maeve Yeah I understand how it works, it just forces the library to be aware of it's absolute path ahead of time — not very convenient, if I wanted to then move it somewhere I'd not only have to correct the path to it but also all the paths within it :(

And once the library also contains a library it gets too confusing to even be worth trying anymore

P#143840 2024-03-19 15:06

@Legno I also didn't get a redeemable key with my purchase. I already contacted Lexaloffle but didn’t get an answer so far.

P#143850 2024-03-19 15:44

@eggnog but there are no built in mget() in picotron...

P#143856 2024-03-19 15:59

Does the web player builds count as candidates for bug reports? The task bar can be triggered and clicking on Files in its menu crashes the console.

Also looks like having multiple versions of the cart in a thread doesn't work? Luchak's rain wallpaper has two different behaviors in both versions but only the most recent is loaded even though Luchak tried to show both carts.\

EDIT: Task Monitor just crashes on load because theme is nil. Is there plans for different types of carts like Vox had?

EDIT2 : Valden's Mode7 demo seems stuck, the performance might look fine my my desktop but the sound is definitely broken.

P#143871 2024-03-19 18:50 ( Edited 2024-03-19 19:18)

@maleficmax You are correct! A runtime error like "attempt to call a nil value" would be the proper result of a typed mistake like this, not a crash.

P#143874 2024-03-19 18:58

When i add a modulator in the instrument editor (when i click the +mod button), the background of the editor starts flickering. This makes the instrument editor unusable for me because flickering graphics trigger my migraine and make me sick to the point of vomiting. I would love to see this fixed! :)

P#143877 2024-03-19 19:04

@Sorm - have you got Battery Saver disabled?
See: https://github.com/ace-dent/picotracker/issues/13

P#143885 2024-03-19 19:30

@Eiyeron I can fix that, I'm slowly moving Task Monitor and Minesweeper to my own ui library, so I could use a theme wrapper class that just returns defaults if a theme isn't in /ram/shared for some reason

But it would be nicer if the web version was just compatible with the desktop and had a basic theme selection, the blue background will make playing windowed games like minesweeper visually unpleasant for me anyway :/

Sound is really messed up in the browser for me, sounds somewhat distorted (using Safari 17.4)

Website not picotron issue, and more subjective, but the font seems to have changed, and I find it very hard to read :(
Could there be an option to use a normal sans serif font like before?

P#143887 2024-03-19 19:39 ( Edited 2024-03-19 19:53)

@aced When i enable the battery save mode the flickering is just slower. ^^

P#143888 2024-03-19 19:40

Regarding the GUI lib, The GUI's field element doesn't let me delete the first character of its field.

P#143890 2024-03-19 19:55

Picotron carts are currently using the PICO-8 icon on the BBS:

P#143891 2024-03-19 20:24

The web player's frame rate appears to be tied to the refresh rate of your monitor. My laptop's screen runs at 144hz, so games run much faster than they're supposed to.

P#143911 2024-03-20 00:21

> The web player's frame rate appears to be tied to the refresh rate of your monitor.

@bluswimmer It doesn't seem to be tied to the refresh rate, but it's definitely too fast. I posted a cart in another thread that shows it's going way too fast:

Cart #time_check-0 | 2024-03-19 | Embed ▽ | License: CC4-BY-NC-SA

Even on my monitor running at 60hz, it's going at way above 60fps.

P#143912 2024-03-20 00:35

@MBoffin What browser are you using? I'm on a 120hz MacBook, using Safari, and it appears to run at 59fps instead (and it messes up sound too).

P#143932 2024-03-20 07:49

If you are running the web player of Picotron on a 120hz monitor, it will run twice as fast as intended (144hz will run 2.4 times as fast, etc.). This also happened in the playground.

EDIT: Looks like other people already said this, oops

P#143942 2024-03-20 10:17 ( Edited 2024-03-20 10:18)

If you're running a slow cart, there are at least two big issues:

  1. Framerate convergence. If you're close to a framerate boundary, Picotron is really indecisive about picking one, and this sometimes seems to lead to settling on a lower framerate than you would get if the cart ran just a little bit slower.
  2. There's tons of palette flickering, where the palette gets reset to the default quite often. This seems to happen more when the framerate changes.
P#143958 2024-03-20 17:02 ( Edited 2024-03-20 17:08)

Also, possibly related to the above: I have some carts that run at a solid 0.71-0.73 CPU at 60fps when all the code is in _draw(). But if I partition some of the code out into _update(), the cart then drops to ~20fps and reports CPU usage in the ~1.5 range.

If the code couldn't run at 60fps I'd get why bad things might happen, but as-is I'm not sure what's going on.

P#143960 2024-03-20 17:12

There's a couple bugs with fetch (M1 Mac, Picotron 0.1.0b & 0.1.0c):

  1. I can reliably crash Picotron when calling fetch() containing a remote URL with a query string that is 60+ characters long:
-- Works
local c = cocreate(function()
while (costatus(c) != "dead") do coresume(c) end

-- Crashes Picotron 0.1.0b & 0.1.0c
local c = cocreate(function()
while (costatus(c) != "dead") do coresume(c) end

But, if there's a / immediately before the ?, it works again:

-- Works now with the /
local c = cocreate(function()
while (costatus(c) != "dead") do coresume(c) end
  1. fetch() forces remote URLs to lowercase / is case insensitive, which breaks requests to some sites (like Fandom; its URLs are case sensitive)

Can confirm it yourself with this testing API that just echos back the requested URL:

local c = cocreate(function()
while (costatus(c) != "dead") do coresume(c) end
P#144002 2024-03-21 00:27 ( Edited 2024-03-25 11:17)

Another macOS issue: on top of not remembering the last window position and size (which is annoying but not too bad) the window's behavior breaks in multi-monitor macOS.
A window should open on the last display it was on, which doesn't work, but it gets even more annoying;
When the active display already has something in fullscreen, and there is another monitor currently on a desktop space, that takes precedence and the new window ignores its last position and opens on the desktop monitor, to avoid shuffling the user's tiled/fullscreen spaces around.
Picotron is hardcoded to just appear centered on the primary display and will just move my fullscreen space out of the way, even when there's an empty desktop on my other monitor :(
Please consider using NSWindow correctly (something SDL is apparently incapable of)

P#144032 2024-03-21 12:25 ( Edited 2024-03-21 12:29)

Is the map editor currently not capable of selecting different sprite sheets or am I missing a menu or something? I expected "open file" within the map editor to differentiate between map and gfx files but it doesn't, it runs the graphics editor instead which is confusing.

P#144159 2024-03-22 19:36 ( Edited 2024-03-22 19:37)


I have a couple of small bugs.
One is that the command ls (with the space) causes an error:

/system/util/ls.lua:25 attempt to concatenate a nil value (local 'path')
stack traceback:

The other one is that somehow, while using the terminal it started always scrolling up/only printing on the top line, even when space was available. I would cd system and then use ls on various subdirectories of system (wallpapers, util, wm) when it happened both times, though I haven't figured out how to consistently cause this. (E: This seems like it might just be a scroll feature, so nevermind.)

Adding to the other mentions of right modifier keys failing, the right Alt key does not work for me (testing with Alt+Enter, it works with the left one and not the right one)

This was on version picotron_0.1.0b2_amd64.zip on Linux (Debian 12).

This software looks very cool. Looking forward to seeing it develop :)

P#144169 2024-03-22 22:00 ( Edited 2024-03-22 22:28)

Thanks for all the hard work zep! Not sure if this is a bug but I get the attached error message when I try to save a cart with a dash ("-") in the filename.

P#144170 2024-03-22 22:32

[Please log in to post a comment]