This is fascinating to me because it reminds me of when I tried to program a Zork-style text adventure game.
I had the advantage of using an actual programming language, with built-in functions for dealing with text strings, input/output, and so forth.
I got it so that it could split apart a sentence into individual words, and compare these words to a list of words it had stored. It could then deduce if these were nouns, verbs, and so forth.
I think I finally started having trouble with more advanced grammar.
But you... you're trying to do it purely with logic circuits. No programming language, no hash tables, no easy input/output... every time you make a mistake, it involves
rewiring the thing on the physical level. As opposed to a programming language, when you can just delete a few lines and retype your mistakes.
It's astonishing and an amazing achievement that you've managed to get the display working. I'm not sure you realize how amazing that is. Just being able to display different characters when you pull different levers is remarkable.
The main advantage DF seems to have in the computing department is that you can connect
any lever to
any number of gears without building physical connections between the two. You have wireless technology in your fort! Just imagine for a while what it would be like if you had to
physically connect each of your logic circuits to each other, and your controls, with some sort of wiring.
The main disadvantage is that it needs in-game power to function. You are spending a huge amount of time and space making sure your batteries are charged, so to speak.
But again, you're using pure logic. It is a far cry short of a proper computer, with the capacity to perform
operations, store results, and process input and output.
I don't want to bring up the irritating arguments about DF vs. Minecraft, but there are things people are doing in the Minecraft world that would fascinate you, if you are truly interested in in-game computer design. Check this out:
LinkA google search will turn up even more. They're getting crazy, with actual RAM and CPUs performing calculations.
What I'm finding interesting is the similarities in design. If you zoom out, and look at your device and theirs on a sort of macro level, you'll see that there are very similar patterns developing. Minecraft has the disadvantage of requiring actual physical circuitry to connect all the bits, and the circuits cannot cross each other or they will literally short-circuit. The wireless connecting of levers and gears gives DF a big advantage there. But Minecraft
does allow very simple, easy logic circuits to be built that take up very little in-game space and time to hook together and get working. And while the physical wires make space and organization a problem, you have the ability to
see where things are connected without reams of notes.
It might give you some ideas for your computer to see how the Minecraft engineers have confronted and solved similar problems. For example, how to store 16-bit information in an actual RAM-style memory bank with proper addresses for each location. Imagine what your computer could do if it not only responded to sentences, but remembered things you asked it previously! "Wait, weren't we talking about Magma a few minutes ago?"
Your big advantage, as I mentioned before, is that each lever can connect to as many gears as you like. And another lever can connect to as many other gears as you like,
including ones the first lever is already connected to. Few input, many outputs -- that sounds a lot like it has neural net possibilities. And you don't have to worry about the wires crossing! So you don't have the physical limitations of working in 3 dimensions.
This is a fascinating project and I am interested in seeing what comes from it. Keep up the !!WORK!!