[Advanced combinators] Help needed for 'call-able' alphabet

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Post Reply
Xeteth
Fast Inserter
Fast Inserter
Posts: 158
Joined: Tue Feb 17, 2015 6:06 am
Contact:

[Advanced combinators] Help needed for 'call-able' alphabet

Post by Xeteth »

I am hoping someone might be able to point me in the right direction in terms of creating a setup whereby I can make an alphabet for lamps that I can call on given an input signal.

That makes no sense does it? Let me try to explain:

I have a row of grids of lamps that are in a 5x7 shape with the intention of each grid being able to display a letter. This is done by setting each lamp to light up given a different signal type (eg. An 'A' might consist of Wooden box, Smart inserter, Storage tank... Etc. signals). So each letter might consist of 5-10 signals that make up that total letter.

What I want to be able to do is then assign each letter an identifying signal. So for example let's make letter 'a' correspond to signal 1, letter 'b' correspond to signal 2, etc. this is done so that a single grid can be made a letter just by inputting a single signal, rather than a whole bunch.

Now here comes the hard part; it's easy enough to do the detection for a single grid (constant combinator outputting signal 1, then this goes to a bunch of decider combinators one of which will be set to detect signal 1 and once that's triggered it can output all the signals that are associated with letter 'A'). I've got this far just fine.

Here's where the question comes in; is it possible to make a 'letter bank' and 'brain' which detects incoming signals (there are 200 'grids' and therefore 200 incoming signals) and is then able to output the desired signals onto different wires going to each grid?

My issue at the moment is an effective way of running the input signals through this 'test' system and having 200 output wires without having to make 200 individual 'test' banks.

I hope this has made some sense, it's quite difficult to explain. Let me know if I can provide more details.
Cheers.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3705
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: [Advanced combinators] Help needed for 'call-able' alphabet

Post by DaveMcW »

No, you can't run more than one signal through a test bank in 1 tick.

But you can run 200 tests in 200 ticks over a single wire. 0.3 FPS is acceptable for slowly changing output.

You will want to add a memory cell on each grid to save the result while the other 199 are being calculated.
Last edited by DaveMcW on Wed Oct 14, 2015 3:35 am, edited 1 time in total.

Xeteth
Fast Inserter
Fast Inserter
Posts: 158
Joined: Tue Feb 17, 2015 6:06 am
Contact:

Re: [Advanced combinators] Help needed for 'call-able' alphabet

Post by Xeteth »

DaveMcW wrote:No, you can't run more than one signal through a test bank in 1 tick.

But you can run 200 tests in 200 ticks over a single wire. 0.3 FPS is acceptable for slowly changing output.
How would I achieve this? I don't really care if there's a delay of 0.3 FPS in the change. Do I have to add a counter to 200 that cycles through and each 'grid' is assigned a number in between in which it runs the test in? Is this the easiest way to do it?

Lupoviridae
Fast Inserter
Fast Inserter
Posts: 155
Joined: Mon Apr 20, 2015 6:26 pm
Contact:

Re: [Advanced combinators] Help needed for 'call-able' alphabet

Post by Lupoviridae »

You need to create an address enable switch for each grid. Its a single combinator per grid that sits between the bank and grid, preventing any data from entering that grid unless a chosen address enable signal is also on the wire. For example if you use "A" as your address enable signal, the first switches would be:

When "A" == 1, output everything (input count) to grid 1
When "A" == 2, output everything (input count) to grid 2
etc...

Combine this with a signal that selects the character to be used, which I will call "B" and you get a format like this.

"A" == 1, "B" == 1 (a is written to grid 1)
"A" == 5, "B" == 3 (c is written to grid 5)
etc.....

In computers this is called a data bus. One signal selects the data source, a second signal controls data destination. But the actual wires are shared.
You will also need a basic memory cell for each grid to remember the values.
How you set up the timing depends on how you plan to input the data.

Post Reply

Return to “Gameplay Help”