Log In  

Just came across this recently. Fortunately I had backed my program up under a different name.

Bring up PICO-8.
Save filename, "my-8bit"

The entire system hangs and you must manually remove PICO-8 from the tasklist.

Any ideas as to what is causing this ?

P#55139 2018-08-14 13:22 ( Edited 2018-08-16 23:46)

:: Felice

Confirmed here, same result.

P#55176 2018-08-15 04:04 ( Edited 2018-08-15 08:04)
:: dw817

Where is our great white leader anyways ? There was a thread of new comments regarding the video of his live presentation of Pico-8 at a meeting of people and he never wrote back to that either.

P#55186 2018-08-15 11:50 ( Edited 2018-08-15 15:50)

maybe move this thread to "support" with a less broad title. zep might read it eventually.

in the meantime,

save "my-8bit"
P#55187 2018-08-15 12:31 ( Edited 2018-08-15 16:31)

Did some testing on this. It seems to be narrowed to the name containing ?b, where ? is a digit, but not all digits. So far, these names have frozen up:

  • 2b
  • 3b
  • 4b
  • 5b
  • 6b
  • 7b
  • 8b
  • 9b

But, oddly, these have not:

  • 0b
  • 1b

@zep, hope this helps in debugging!

EDIT: Just to further add, it doesn't need to just have ?b in the name anywhere to freeze up. Rather, you have to have ?b preceded by one of the following:

  • nothing (not the word, but meaning it's the beginning of the filename)
  • space (not the word, the character)
  • -
  • .
  • +
  • ,

And further, if you enclose your cart name in quotes, it will not freeze up. For example, save 4b will freeze, but save "4b" will not.

P#55194 2018-08-15 15:47 ( Edited 2018-08-15 19:56)

The fact that 0b and 1b don't hang makes me think it has something todo with how pico-8 handles binary notation 0b01101101 etc... which explains why they all work fine with quotes but without quotes pico-8 might be designed to try to ignore other #b combinations in an attempt to look for binary numbers?

P#55199 2018-08-15 16:54 ( Edited 2018-08-15 20:55)

merely parsing "2b" to "9b" is a deadlock anywhere in pico-8 (console or code). it also breaks syntax highlighting in code.

P#55203 2018-08-15 17:52 ( Edited 2018-08-15 21:52)
:: dw817

I think Cabledragon has it. Somehow a mathematical formula is being calculated instead of the actual save filename.

Came across another way to hang PICO. Did this accidentally in my new code, lost all my unsaved work.

BEWARE, running this will nastily hang PICO.

a=""
repeat
  a=a.." "
until forever

Now I know you guys are saying, well, don't run a loop forever, but in any other programming language I know there is ALWAYS a keystroke to exit an infinite loop when run.

in GWBasic and QBasic it is CTRL-BREAK, and no, that does not work here.

In BlitzMAX it is the ESC key.

Suggest there be SOMETHING, anything, to prevent this kind of lock.

I am understanding that all PICO code runs at the exact same speed, 30fps, or 60fps, so there is plenty of time to look for a CTRL-C, CTRL-BREAK, or ESC key even when incrementing a string to ridiculous proportions.

And there could be a limit for that, too. Say 2^15 since the highest calculated integer is 32767, that should be enough.

a=""
repeat
  if (#a<32767) a=a.." "
until forever

Works correctly, ESC will exit.

P#55212 2018-08-15 21:22 ( Edited 2018-08-16 01:24)
:: zep
1

Thanks everyone -- it was indeed the tokenizer tripping up on binary number notation. Fixed for 0.1.12

@dw817 -- I'm still lurking! Just a lot of code to write at the moment.

P#55262 2018-08-16 16:54 ( Edited 2018-08-16 20:54)
:: dw817

Good to hear from you Zep, glad to see you're on top of stuff ! Okay, I'll try not to be a bother - for a-while. 😉

P#55277 2018-08-16 19:46 ( Edited 2018-08-16 23:46)

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2020-04-10 00:24 | 0.020s | 2097k | Q:30