UBER: jlSpriteCompile: 1 call in <= 1 frame

UBER: audioInit OK

UBER: showcase cells: 0=pixels 1=lineH 2=lineV 3=diag 4=rect 5=fillRect 6=circle 7=fillCircle 8=tiles 9=sprite 10=flood 11=scene

UBER: ----- begin -----

UBER: jlSurfaceClear: 16 iters / 17 frames = 65 ops/sec | hash=428CEE42

UBER: jlPaletteSet: 3505 iters / 16 frames = 15334 ops/sec | hash=5267FFB1

UBER: jlScbSetRange: 1889 iters / 16 frames = 8264 ops/sec | hash=5267FFB1

UBER: jlDrawPixel: 3985 iters / 16 frames = 17434 ops/sec | hash=75D75161

UBER: jlDrawLine H: 1329 iters / 16 frames = 5814 ops/sec | hash=1E97E361

UBER: jlDrawLine V: 81 iters / 16 frames = 354 ops/sec | hash=A0474D91

UBER: jlDrawLine diag: 33 iters / 24 frames = 96 ops/sec | hash=69471D91

UBER: jlDrawRect 100x100: 81 iters / 16 frames = 354 ops/sec | hash=5CAFF471

UBER: jlDrawCircle r=16: 85 iters / 16 frames = 371 ops/sec | hash=7F1F5531

UBER: jlDrawCircle r=80: 19 iters / 16 frames = 83 ops/sec | hash=B249C9AB

UBER: jlFillRect 16x16: 609 iters / 16 frames = 2664 ops/sec | hash=F4BD4B0B

UBER: jlFillRect 80x80: 81 iters / 16 frames = 354 ops/sec | hash=7C952E5F

UBER: jlFillRect 320x200: 13 iters / 16 frames = 56 ops/sec | hash=6467AFB1

UBER: jlFillCircle r=40: 29 iters / 16 frames = 126 ops/sec | hash=6467AFB1

UBER: jlSamplePixel: 8321 iters / 16 frames = 36404 ops/sec | hash=6467AFB1

UBER: jlTileFill: 2081 iters / 16 frames = 9104 ops/sec | hash=6467AFB1

UBER: jlTileCopy: 1569 iters / 16 frames = 6864 ops/sec | hash=6467AFB1

UBER: jlTileCopyMasked: 545 iters / 16 frames = 2384 ops/sec | hash=6467AFB1

UBER: jlTilePaste: 1825 iters / 16 frames = 7984 ops/sec | hash=6467AFB1

UBER: jlTileSnap: 2993 iters / 16 frames = 13094 ops/sec | hash=6467AFB1

UBER: jlSpriteSaveUnder: 1937 iters / 16 frames = 8474 ops/sec | hash=CA673FB1

UBER: jlSpriteDraw: 1393 iters / 16 frames = 6094 ops/sec | hash=82B9646B

UBER: jlSpriteRestoreUnder: 1297 iters / 16 frames = 5674 ops/sec | hash=CA673FB1

UBER: jlSpriteSaveAndDraw: 961 iters / 16 frames = 4204 ops/sec | hash=82B9646B

UBER: jlStagePresent full: 81 iters / 16 frames = 354 ops/sec | hash=82B9646B

UBER: jlInputPoll: 705 iters / 16 frames = 3084 ops/sec | hash=82B9646B

UBER: jlKeyDown: 17441 iters / 16 frames = 76304 ops/sec | hash=82B9646B

UBER: jlKeyPressed: 16897 iters / 16 frames = 73924 ops/sec | hash=82B9646B

UBER: jlMouseX: 35105 iters / 16 frames = 153584 ops/sec | hash=82B9646B

UBER: joeyJoyConnected: 17601 iters / 16 frames = 77004 ops/sec | hash=82B9646B

UBER: jlAudioFrameTick: 13377 iters / 16 frames = 58524 ops/sec | hash=82B9646B

UBER: jlAudioIsPlayingMod: 29041 iters / 16 frames = 127054 ops/sec | hash=82B9646B

UBER: surfaceMarkDirtyRect (via jlFillRect 32x32): 305 iters / 16 frames = 1334 ops/sec | hash=D2B9E46B

UBER: ----- end -----

UBER-CHK: ----- begin -----

UBER-CHK: edge-pixels: hash=5267FFB1

UBER-CHK: edge-drawRect: hash=BC75D707

UBER-CHK: edge-circles: hash=20674FB1

UBER-CHK: edge-lines: hash=D4F5BCA7

UBER-CHK: sprite-clipped: hash=D922E4B4

UBER-CHK: sprite-clip-roundtrip: PASS

UBER-CHK: tilePasteMono: hash=B0829554

UBER-CHK: floodFill: hash=780DC48B

UBER-CHK: drawText: hash=80B5264B

UBER-CHK: drawText-offgrid: hash=9435DA4B

UBER-CHK: palette-roundtrip: PASS

UBER-CHK: random-golden: PASS

UBER-CHK: arena-churn: PASS

UBER-CHK: sprite-from-surface: PASS

UBER-CHK: sprite-from-surface-draw: hash=5F4394C9

UBER-CHK: tilePasteMonoAll: hash=30C3A2C9

UBER-CHK: floodFillBounded: hash=EF6B6F51

UBER-CHK: ----- end -----

UBER: total wall time: 20928 ms (1465 frames @ 70 Hz)

UBER: press any key to exit

