Log In  


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

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 :)

12


spoiler:


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


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. :)


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


Sorry, how does interlacing affect color quality?


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?


@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.


@zep:

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.


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



[Please log in to post a comment]