I've been thinking about what to do with this thing. Sure, it works as a clock, as long as something sets the time over wireless once every few days to adjust for clock drift. And it has a number of fancy light show modes that are interesting. But that, apparently, is not enough. The purposeless display wants a purpose.
Brainstorming with a colleague, I came up with three ideas for interesting functionality.
The first two are interactive game modes where two players play head-to-head. If I'm going to write those then I need some remotes so that the players can, umm, *play*. So, parts on order, and I'll get to that eventually.
The third idea is a less interactive game mode: I'm thinking it would be interesting to have this thing play Core War.
There are just a few problems with that. How do we submit programs to it? With just an 8x24 display, how do we display the state? And with a generally expected core size of 8k (where each core "memory cell" is comprised of an opcode, some flags, and two potentially large integers - let's call it 8 bytes of data) how do we address all that in a device that only has 2k of RAM, most of which is already committed?
Hmm.
Well, the first two of those are tractable. Submission via wireless, clearly. Which suggests I could have a precompiler on my laptop generate RedCode bytecode of some sort and upload that. And the display is probably just a matter of having each pixel represent a large chunk of memory space, with some averaging of color or something-I-can-address-when-I-get-to-it. But the RAM would seem to be a show stopper.
Or WOULD it?
Step 1: brainstorm crazy idea. Check.
Step 2: make crazy idea feasible.
I've got some serial RAM DIPs sitting around somewhere. The 23LC1024 has 128KB (1024 Kilobits) of static ram. I could totally do something like
... yeah, that! - to throw it on the SPI bus of the driver, and then I just need to write some code to test that it works, spend a half hour wondering why it doesn't, and finally realize that - if you look at the photo really closely you'll see - I've put in a 23A1024 instead of the 23LC1024.
Sigh.
Bonehead maneuver accomplished. Probably destroyed that chip by putting +5v on the maximum-of-2.2v-as-specified-on-the-datasheet chip. Ah well, the price of progress! Onward...
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.