Log In  

A while back, joshmillard posted Pico Jr, a fantasy-console-within-a-fantasy-console based on these specs:

"- 48*48 pixel four-tone greyscale graphics (so, colors 0, 5, 6, and 7 in the PICO 8 palette)

  • 2 channel sound
  • dpad and one button (other button could be reserved for meta-game/menu stuff)
  • 1 page of sprite sheet
  • standard sprite size of 6x6 pixels
  • dodgy slow-refresh LCD screen (could simulate this by checking screen buffer every frame and only allowing pixels to move one shade of grey toward whatever the target is)"

I extended Josh's prototype by overwriting most of the Pico-8 functions with wrappers that enforce the Pico Jr limits. For example, if you use pget(12,5), it will give you the value of pixel 12,5 on the Pico Jr screen instead of the Pico-8 screen. It will also give you a color from the Pico Jr palette of {0,1,2,3} instead of the actual Pico-8 values of {0,5,6,7}.

Some functions have been disabled entirely, for example:

  • No map support in Pico Jr
  • No direct memory access (poke, peek, memcpy, etc.). Sorry tweet-jammers.
  • No custom menus
  • No cart data (for the time being)

If you try to use any of the disabled functions, like memcpy() or map(), your code will crash with a syntax error.

Other limitations to be aware of:

  • I have hardly tested this at all. It's probably full of bugs.
  • Put your code into the usual _init(), _update() and _draw() functions. Bare loops won't render correctly. (Sorry again, tweet-jammers.)
  • Keep your code between the "your code below" / "your code above" blocks.
  • Avoid using function or variable names that begin with two underscores (__). That's how all of the backend functions are named, and if you use that pattern yourself, you might end up overwriting something important.
  • I didn't build in Josh's suggestion of 6x6 sprites. All the sprite functions are still based on standard 8x8 sprites.

Here's Josh's original Jump Guy, updated for the new dev kit.

Cart #29416 | 2016-09-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

And here's an empty cart, ready for your next portable game:

Cart #30036 | 2016-10-05 | Code ▽ | Embed ▽ | No License

I hope to come back to this and make an Asteroids clone or something. In the meantime, I hope this makes it easier to make more of these goofy mini-games.

P#29418 2016-09-26 02:09 ( Edited 2016-10-08 20:20)


Cart #29422 | 2016-09-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Be the God of Cellular Automata in AutoCell!
Press the buttons and unfold unique patterns created with algorithmic magic!!

Buttons do things, try them!

LRP, I love it!!!

P#29423 2016-09-26 05:23 ( Edited 2016-09-26 09:39)

yo dawg I herd you like consoles so I put a console in your console so you can play games while you play games.

play on pocketchip for best effect ;)

Cart #29977 | 2016-10-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Cart #29863 | 2016-10-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #29453 | 2016-09-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

@LRP: found two bugs: sget() calls __pget() and sspr() has weird params

v1.2: alternate palettes + tagline (for some reason)
v1.1: latest devkit version + blips & blops

P#29457 2016-09-26 20:09 ( Edited 2016-10-04 16:44)

Here I am wanting a 480x272 screen and you guys are shrinking the base on me ! :D

P#29459 2016-09-26 20:19 ( Edited 2016-09-27 00:19)

Thanks, ultrabrite. New cart uploaded with those bugs fixed (probably).

P#29467 2016-09-26 20:47 ( Edited 2016-09-27 00:47)

Good work was done here today. Good work was done.

P#29477 2016-09-27 00:24 ( Edited 2016-09-27 04:24)

I've updated the base cart with some fixes for sfx, pal, palt.

Also, here's a racing game. For some reason the other cars disappear a lot. I don't know why.

Cart #29759 | 2016-10-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#29762 2016-09-30 21:05 ( Edited 2016-10-01 01:06)

@LRP: too bad you ditched the idea of alt palettes, an option for gray/green/blue/amber (0,4,9,10) would have been nice :)

P#29864 2016-10-03 05:54 ( Edited 2016-10-03 09:54)

the phony is pico jr jr

P#29885 2016-10-03 14:18 ( Edited 2016-10-03 18:18)

ultrabrite: Main post updated with a new dev kit for you. This fixes the alt palette. You should now be able to update pj.plt and pj.p8plt to use whatever colors you want. I really like the amber palette you suggest. I'm tempted to make it the default, but I'll leave the colors as-is for now.

P#29933 2016-10-03 23:55 ( Edited 2016-10-04 03:55)

@LRP: great! I made a few palettes, I think gray, green (0,1,3,11) and amber work best.
also I noticed that cls(c) doesn't always actually use color c...

P#29979 2016-10-04 12:52 ( Edited 2016-10-04 16:52)

Diagonal is a possible keystroke. I tried it above and it just showed the fingers animate like I was pushing a single arrow and not two at once like Up/Left, Up/Right, Down/Left, and Down/Right.

P#29994 2016-10-04 14:20 ( Edited 2016-10-04 18:20)

Yeah, looks like I broke cls(c) when I fixed alt palette support. I've uploaded a new version that should fix it.

P#30037 2016-10-04 21:08 ( Edited 2016-10-05 01:08)

Phony is beautiful, now we need to run phony as a pixel layer in voxatron, so we can have a fantasy phone(phony) in a fantasy console(jr) in a fantasy console(pico) in a fantasy console!(vox). Further more I can run it in a VM just for shits and giggles lol.

P#30174 2016-10-07 04:59 ( Edited 2016-10-07 08:59)


P#30322 2016-10-08 16:20 ( Edited 2016-10-08 20:20)

[Please log in to post a comment]