When running the time() function, suspending a cart using esc and then resuming it using resume causes the time to increment faster. I am able to reproduce this on both machines I have access to by printing the value in a draw loop:

@dw817, I'm reasonably sure you mean "by a 30th of a second" (0.0333) rather than a 3rd (0.333) - unless your machine/pico8 runs differently than mine.

"time / t

Returns the number of seconds elasped since the cartridge was run.

This is not the real-world time, but is calculated by counting the number of times _update or _update60 is called. Multiple calls of time() from the same frame return the same result." -source pico-8.txt

Because the frame rate (normally) is 30 per sec, time() returns a result a 30th of a second advanced from its previous state.

A short command line instruction seems to be interpreted as one frame, so a 30th of a "second" for time().

The following snippet uses stat(85) to get seconds and calculates a difference. The two numbers will be a little out of sync anyway, but when you do your esc, resume it shows quite clearly. You seem to be getting extra frames per second; interesting find. [Edit: seem - I don't believe them to be real, just that the count for time is going twice as often.]

function _init()
counter=0
last=-1 --an invalid value to start things off
pause=30
end
function _draw()
if not(last==stat(85)) then
if pause<=0 then
counter+=1
pause=30 --framerate
else
pause-=1
end
end
cls()
local a=flr(time())
print(a,1,1,7)
print(counter,1,8,7)
print("difference: "..(a-counter),1,15,7)
end

counter=0
last=-1 --an invalid value to start things off
pause=0
repeat
cls()
local a=time()-(1/30) --the first call advances it one thirtieth, so we can make it to 0 decimal places by deducting that amount
print("time: "..a,1,1,7)
print("stat(85) counter: "..counter,1,8,7)
print("difference: "..(a-counter),1,15,7)
for i=1,30,1 do
if not(last==stat(85)) then
if pause<=0 then
counter+=1
pause=30 --framerate
else
pause-=1
end
end
flip()
end
until (forever)