A graphical programming toy for Monday
April 18, 2016 8:18 AM   Subscribe

BOX-256 BOX-256 is a 8-bit fantasy computer, with 256 bytes of memory, 16 color 16x16 display. It is also a programming game, where the player tries to pass the graphics tests and optimize the code to perfection. The ultimate goal is to use as little CPU cycles as possible, by employing multithreading and other optimization tricks. A manual is available.
posted by boo_radley (19 comments total) 40 users marked this as a favorite
 
Cool! Looks like a more complex version of TIS-100. I love stuff like this that emulates the basics of computing.
posted by brentajones at 8:36 AM on April 18, 2016 [1 favorite]


Nifty. If you enjoy that, you may also like TIS-100 by Zachtronics. (It's a commercial game, but you can read the manual for free to see what you're getting into.)

TIS-100 one has a very limited, somewhat pathological instruction set and relies heavily on parallelism. You can try to solve the puzzles, then having done so, optimize for speed, space and/or number of cores, and compare your results to scores for other users.

I program for food (and have done for decades), and TIS-100 made me think in ways I wasn't used to thinking.

(On preview: Yep. Though TIS-100 is off on a weird branch that real computing never took -- and they have a framing story that sort of explains why.)
posted by sourcequench at 8:41 AM on April 18, 2016


As *few* CPU cycles.
posted by GallonOfAlan at 8:43 AM on April 18, 2016 [1 favorite]


GallonOfAlan: "As *few* CPU cycles."

Or whom.
posted by boo_radley at 8:55 AM on April 18, 2016 [2 favorites]


Visual Brainfuck++?
posted by ostranenie at 9:05 AM on April 18, 2016 [1 favorite]


so we're back tp trs-80s and atari 800s (+threads)?
posted by j_curiouser at 9:08 AM on April 18, 2016


Couldn't you just write a small program that launches 128 threads, each thread in turn reads the pixel counter, reads the value from memory for that pixel, advances the pixel counter and then displays the pixel?

As far as I can see from the accounting method of clocks it still executes all threads in the same clock but sequentially.
posted by Talez at 9:22 AM on April 18, 2016


Fun, I was just about to buy a copy of Human Resource Machine, which seems to use managing an HR inbox as a metaphor for managing a stack with a limited instruction set.
posted by furtive at 10:05 AM on April 18, 2016


Do people still play Core War?
posted by acb at 10:35 AM on April 18, 2016


Jeff Atwood at Coding Horror muses on the TIS-100 and similar works, and how it harks back to some very influential games like Rocky's Boots and Robot Odyssey.

He also discusses the future of these games by mentioning Starfighter and their first game StockFighter. While StockFighter looks like a fun little series of challenges, there is an agenda to the games. Those GenXers out there might get the spoiler by thinking about that company name. I won't wreck it for the rest of you.
posted by JoeZydeco at 10:58 AM on April 18, 2016 [2 favorites]


I think it's a bit of a shame that our basic computers are now so highly specified that there's no point in building custom hardware to explore new computing concepts, or just for fun - you just build them in software. I know you could build a physical BOX-256 quite easily, and perhaps someone will if the thing gets enough traction, but it's not the same. It's quite hard to think up something you could usefully do in ground-up hardware that's not better in software+whatever existing hardware platform is most suited.

There's just something magical in taking raw hardware in its most basic form and making it compute. It feels like a special form of creation, almost infusing life, which you don't get by taking an existing computer and making it jump through different hoops. I would very much like to have been a microcoder - it really is creating the soul of a new machine.
posted by Devonian at 11:54 AM on April 18, 2016 [3 favorites]


I agree, and I lament the fact that kids these days (btw: off the lawn, please) can take a Raspberry Pi for $50 and emulate an arcade hardware set that used to cost thousands to build, and they they throw it in a drawer and forget about it because BOOORING.

But it's also a miraculous time to be alive. Hardware has turned into software for a lot of the things we'd like to play and experiment with. There are FPGAs, obviously. And then you also get quirkly little things like the Cypress PSoC, which has all kind of pieces of analog hardware burned into it (ADCs, DACs, Opamps, comparators, capacitive charge/discharge thingies) and then you can connect and disconnect them any way you like, all in software and on the fly. I've worked with the PSoC and I get that same magical feeling you describe. So it's still out there, just...um...different.
posted by JoeZydeco at 12:23 PM on April 18, 2016 [5 favorites]


and then you push the button and out barfs some verilog. What a time to be alive.
posted by boo_radley at 12:58 PM on April 18, 2016 [1 favorite]


The system this is most like isn't TRS 80 or Atari 800, of course, but Atari VCS/2600, which had half this much RAM and a method of graphic generation that depended on "racing the beam," directly manipulating the video signal in real time.

Anyway, I love systems and games like this, and only wish I had time to play with them. TIS-100 has been waiting in my Steam library for at least half a year now.
posted by JHarris at 1:37 PM on April 18, 2016 [2 favorites]


Oh, quite - my particular love is radio, and what you can do for pennies in DSP that you couldn't begin to approach in hardware at any price is just magical, at all sorts of scale. Wouldn't have it any other way.

But... none of that is the same as the almost mystical experience of hooking up a piece of wire to a hand-wound coil, a capacitor made from tin foil and paper, and a speck of germanium in a glass tube, and hearing voices from a thousand miles away. As Maxwell kept asking as a child - what's the go of it? It's when you have a bunch of stuff that you know to just be electrical switches, things whose only trick is to change from one simple state to another, and realise that they're now capturing and executing your thoughts, your logic, a part of what makes you intimately you. You can begin to approach the sublime genius of Turing and catch some of the strange, powerful paradoxes of Godel, all through a handful of sandgrains.

You just can't get there when you're operating at a higher level of abstraction - well, I can't. The higher orders of magic do have their own wow-moments when you realise what you're commanding (I remember when I diagnosed and fixed a problem with a simple TTL combinatorial circuit, only afterwards realising that I was casually dealing with timings of a few nanoseconds, on my desk in my bedroom with nothing more than a ten quid multimeter and a soldering iron. Heady stuff for a fifteen year old.)

It's that scratching away at something simple and hitting something sublime that I miss, and I think that's harder to approach these days.
posted by Devonian at 2:35 PM on April 18, 2016 [4 favorites]


On the subject of challenges, I just signed up for StockFighter but haven't gotten the free & inclined time to start poking at it.
posted by phearlez at 6:07 PM on April 18, 2016


This is totally fun! If you like this, you may also enjoy Manufactoria.
posted by ourobouros at 5:25 AM on April 19, 2016 [1 favorite]


As *few* CPU cycles.

No, no. You're trying to make each cycle tinier and tinier. You want to use CPU cycles that are as little as possible.
posted by straight at 9:56 AM on April 19, 2016


the tiniest cycles! So adorable!
posted by boo_radley at 12:07 PM on April 19, 2016


« Older A Journey to the Medical Netherworld   |   What Does It Owe Their Descendants? Newer »


This thread has been archived and is closed to new comments