Log In  

Ran the same cartridge on high-end PC and low-end PC.
I found that stat(1) returns almost same value.

I suspected PICO-8 limits "cycle" of execution, e,g, rectfill() consumes XXX cycles or so. Is this guess correct? If so, is that specification public?


P#61798 2019-02-12 07:49 ( Edited 2019-02-12 07:49)

:: qnl

I found wikipage and close this topic.

P#61799 2019-02-12 08:12

Yes, PICO-8 purposefully slows itself down so that individual instructions take approximately the same amount of time regardless of the host platform.

Most games sync their behavior to a frame counter (_update() for 30 fps, _update60() for 60 fps), but the amount of computation available between frames should also stay about the same so that a given cart doesn't accidentally run "better" on one platform than on another. You don't want to develop a cart on a beefy machine only to have it not work correctly on a lesser machine.

I think the CPU doc is based on experimentation. (Looks like Hocevar did this. I believe Felice did some work in this area as well.) It's a great doc, but it's not an official published spec.

P#61835 2019-02-13 03:23 ( Edited 2019-02-13 03:26)

[Please log in to post a comment]

About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-08-26 10:14 | 0.050s | 2097k | Q:13