Log In  

Cart #23744 | 2016-06-27 | Code ▽ | Embed ▽ | No License

So this is just a little hack making use of the new 60Hz mode introduced in recenlty released 0.1.8

It uses 60Hz interlace to display 32 colours on pico-8. The downside is that the HTML build will only show one of the two images, so please view this on a 'real' pico-8 :)

Of course one can get a lot more than 32 colours using this method, but I opted to keep it simple and just use extra 16 colours that are halfway between the default ones. This also made it easier to write a custom export script that would convert a 32 col image to two pico-8 images.

Enjoy :)

P#23745 2016-06-27 10:43 ( Edited 2017-01-03 01:38)


P#23746 2016-06-27 10:57 ( Edited 2016-06-27 14:57)

Yeah, interlace - makes me want a 120hz version of Pico-8 ;)

P#23747 2016-06-27 11:04 ( Edited 2016-06-27 15:04)

Aww man, I quickly noticed and realized something like this was possible when 0.1.8 came out, but I'm still a novice at PICO-8 and wasn't able to make something to show it in time. :(
It's still cool to see that at least someone did something cool with it though. :)

P#23762 2016-06-27 17:49 ( Edited 2016-06-27 21:49)

@JeremyRedhead, well it's not exactly a race, you can still do something nice with it :)

P#23764 2016-06-27 18:13 ( Edited 2016-06-27 22:13)

Sorry, how does interlacing affect color quality?

P#23769 2016-06-27 20:24 ( Edited 2016-06-28 00:24)

I dunno about you guys, but on Win7 I find that PICO-8 doesn't stay sync'ed to the actual display vsync very well, even in fullscreen mode on a 60hz display.

Makes interlace colors pretty ugly. I've been using them to increase the gray ramp in my little raytracer:

Zep, is it possible to sync it a little better?

P#23918 2016-06-29 21:33 ( Edited 2016-06-30 01:49)

@Felice -- could you try setting fullscreen_method to 2? (in config.txt or running "pico8.exe -fullscreen_method 2"). You could also set show_fps to 1 to check it is actually displaying at 60fps.

P#23994 2016-06-30 16:09 ( Edited 2016-06-30 20:09)


Okay, I did that, but unfortunately the performance stats are bouncing around a lot in both cases and are not accurate at all. I turned on my driver's own OSD to get extra info:

FSM=2 gives pretty steady results, but only to the extent of one or two blips per second or so. FSM=1 gives very erratic results (both driver's and pico's stats) and tends to hold frames randomly all over the place. It's not like a harmonic beat you'd get due to expecting 60Hz and getting 59.94Hz; it's really pretty random.

Windowed mode has similar results, but sometimes it tears instead of holding.

As I recall, it was a little unsteady even at 30Hz, it's just that it was less noticeable since the flip was only being delayed by half of a 30fps frame.

BTW, I confirmed that every monitor is set to 60Hz... oh, wait a minute...

I think I see the problem. I have a multimon setup and tend to use the center monitor for editing and the side monitor for running it. The center monitor is the primary monitor. As I recall, you have PICO-8 hardwired to associate itself with the primary display and not the one the window is located on. I bet that's the problem. They're all set to 60Hz, but there's probably some subtle timing difference between the monitor it thinks it's on and the monitor it's really on.

Any chance you could look at re-associating the app with the appropriate display when the window is moved/resized? I was wanting that anyway to make it easier to run it on a small form factor display I have, rather than full-size monitors.

P#24010 2016-06-30 17:10 ( Edited 2016-06-30 21:30)

So this actually now works in the browser, so I updated the top post to reflect that :)

P#34791 2017-01-02 20:38 ( Edited 2017-01-03 01:38)

[Please log in to post a comment]