Log In  
[ :: Read More :: ]

Cart #worms_toy-1 | 2021-06-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

No, not that one. Paterson's worms, which those of a certain age may have come across as Worms? (aka IQ) for the Atari 8-bits and C64.

Left and right to change the number of worms (up to 4), Z to randomize the ruleset again, and X to toggle fast-forward.

P#92990 2021-06-03 21:49 ( Edited 2021-06-08 18:11)

[ :: Read More :: ]

Cart #streets_pcm-0 | 2021-04-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Heavily inspired by this

A Master System/Game Gear sound chip emulator in Pico8 using the PCM channel. Features 4 songs from SOR1&2 for the Game Gear (use left/right to select)

How it works:
VGM files are logs of register writes. I wrote a program to decode them, save what the reg settings were every 60th of a second, and RLE compress them into strings. The sound chip is basic enough to write a simple emulator for Pico8.


  • Not really an audio guy, may still be glitches
  • Looping only goes back to the start of the tune, rather than part-way-through as in some songs. Probably would need to decompress the songs to pico8 memory to do that, instead of my "clever" on-the-fly RLE decoding
  • Noise channel is emulated (apart from the "periodic" noise feature), but I didn't bother recording the register from the VGM file so it only uses frequency setting zero.
  • Bit loud
  • Scope placement/colouration makes it look like Alex and Blaze are having some sort of Electric Urine Battle
P#90940 2021-04-22 17:39

[ :: Read More :: ]

Cart #wotozofuzi-0 | 2020-11-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Short Amiga-inspired demo concentrating on palette and bitmasking trickery. As such, has strobing and flashing.

P#84091 2020-11-10 18:16

[ :: Read More :: ]

There's been quite a bit of chat on the discord about bitplanes. So:

Cart #somuneyetu-0 | 2020-09-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Unmangled source:


function _init()

function radfunc(off)
    --added 0.1 to avoid an unsightly blip at 1.0
    return cos((off&0xff)/256+0.3)*10+20

function xfunc(off)
    return 64+(30+10*sin(frame/600))*cos((off&0xff)/256+0.1)

function yfunc(off)
    return 64+(20+5*sin(frame/600))*cos((off&0xff)/256+0.2)

function _draw()
    local off=frame

    for c=0,2 do
     poke(0x5f5e,0x11 << c)

function _update()
P#82260 2020-09-25 14:12

[ :: Read More :: ]

Someone was asking about how to encode multiple text images as smaller multicolour images on the discord. Well:

Cart #jogitomoso-0 | 2020-09-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#82239 2020-09-25 00:29

[ :: Read More :: ]

Cart #bobumayuto-1 | 2020-08-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

[SHOCKING] Local Man Uses Obscure Meme To Test Raycaster

P#80681 2020-08-12 19:46 ( Edited 2020-08-13 13:55)

[ :: Read More :: ]

Something I stumbled across when looking for a way to compress an End-of-Game image for Impulse. Low on tokens (but heavily recursive, don't know if that's an issue for Pico8). May suit you more than anything RLE based if you're working with dithering-heavy images.

Cart #yudabegaba-0 | 2020-08-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Press X to cycle pictures. The reported size is a bit misleading as it doesn't include the fixed-length "left" and "right" strings.

Images are:

  • A messily converted picture of Bananaman
  • An image from Bladerunner (by far the worst compressed, and anything more fancy than simple ordered dithering made it worse)
  • The Utah teapot
  • Wizball (was interested to see what it made of the C64's 2x1 pixels)
  • Whatever you do, don't
  • A self-made dithering test (compressed very well)
  • Jet Set Willy
  • An image from the Amiga demo Eon by Black Lotus

Scrappy C++ PPM-image-converter code here

P#80278 2020-08-02 21:34

[ :: Read More :: ]

Cart #suditotaki-0 | 2020-07-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Remake of Thrust, an old C64 game (although I first came across it on the school BBC Micros). The first game I ever saw that had anything approaching "proper" physics, I owe it a lot.

Z shoots
X fuel scoop/tractor beam/shield (burns fuel)
Up to thrust, L/R to rotate

-Grab the pod using your tractor beam when you're close enough and escape the level
-Active your fuel scoop (X) when near fuel to pick it up
-X also activates a shield, but it burns up fuel
-Shoot the reactor (but not too much...) to temporarily disable the turrets
-Or just shoot the turrets
-Later level have switches. Shoot them, too
-Extra life every 10000 points
-Extra bonus points if you escape with the pod and destroy the planet...
-Features possibly the worst version of Rob Hubbard's music ever "composed"


Don't play around with the level wraparound too much, especially after you've grabbed the pod
SCORE: 00. Gosh, I wonder what's going on under the hood there
Only 6 levels. The original stared playing around with reverse gravity and invisible levels after that
You can't shoot fuel (or your own pod...) unlike the original

Devs might find my Byte-pair compression for the endgame screen (tab 3, "DRAWEND") of interest.

P#80058 2020-07-28 22:22 ( Edited 2020-10-01 15:51)

[ :: Read More :: ]

Colour cycling like it's 1984.

Cart #pohengama-0 | 2020-07-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#79461 2020-07-16 22:21