Saturnus Posted March 10, 2020 Share Posted March 10, 2020 Let's start with the counter. If set to 1 and the output connected to the reset it functions as a replacement for the old positive edge detector NOT-AND set up. If set to 2 and the reset not connected it functions as a replacement for the old toggle switch NOT-AND-XOR set up The ribbon writer functions as a bit shifter if connected across the ribbon and set to 2 You can use this to write the same logic output on all lines at the same time provided it's not time sensitive since there is a propagation delay. If it is time sensitive then use 4 ribbon writers instead. The AND, OR, XOR, and NOT gates all work directly with ribbons so you can have 4 gates in one essentially. Here's an AND gate as an example. Here's another example. This time a double AND gate on one ribbon using a ribbon writer (bit shifter) set to 3. In this case the input 1 and 3 is paired and the input line 2 and 4 is paired, and outputs on line 3 and 4 respectively. So that also means that the counter does not work with ribbons so in cases where you need positive edge detectors on all 4 lines it is an advantage to use the old set up like this (sorry for the stuttering in the gif). Similarly if you need multiple toggle switches you can do the same Note memory toggles do not work with ribbons but since they are NOT-AND-OR S-R latches that we used to build before memory toggles was introduced in the game and those work with ribbons you can make the set up much more compact than having 4 memory toggles and various ribbon inputs and outputs. Here's the equivalent circuit of a memory toggle And here it is working with ribbons What is your interesting (and useful) discovery in regards to the new automation and ribbons? EDIT: added double AND example. Link to comment Share on other sites More sharing options...
Soulwind Posted March 10, 2020 Share Posted March 10, 2020 I am sooooo bad with the more complex automations. OK, so with the new stuff that's available, is there a better/more compact/easier to hide/etc way to setup the automation for a door pump? Here's what I currently use: Not gate to first door, then a buffer to each other door but the last, then a filter to the last door, and another buffer back to the not gate. Link to comment Share on other sites More sharing options...
kbn Posted March 11, 2020 Share Posted March 11, 2020 I was waiting for someone to build a topic to put together the ribbon logic. Almost all the useful information I know is already introduced, but I would like to introduce two new information. 1. Bit judgment using buffer / filter The buffer / filter works if any one of the input bits has green. So the buffer / filter set to 0.1s can be used to determine the bit presence of the ribbon cable. For example, by sandwiching between NOT gates in this way, if all bits are green, a circuit that outputs a single cable green signal can be created. 2.Ribbon cable information amount is 32bit instead of 4bit There is a vacancy in the upper bits, so if you shift by 4 bits with Ribbon Writer, you can combine up to 32 bits (8 ribbons) into one. By the way, it is not clear whether all logic gates process up to 32 bits. After a bit of testing, - The AND / OR / XOR gate seemed to process up to the 32-bits. - The filter / buffer seemed to be responding if there was at least one green including the 32 bits. - The NOT gate seemed to process only up to 4 bits. There is not much evidence, so if you are interested, please check it yourself. However, the fact that this 32 bit can be used may be a bug in the first place. It is personal feeling that we want you to keep it as 32-bit because it is interesting in various ways. (Of course, I won't complain if it gets modified) Link to comment Share on other sites More sharing options...
Saturnus Posted March 11, 2020 Author Share Posted March 11, 2020 2 hours ago, kbn said: 2.Ribbon cable information amount is 32bit instead of 4bit That is indeed very interesting. I don't have any immediately obvious uses for 32 bit beyond slow memory but maybe something will come up.. The upper 16 bits is for most uses prohibitively slow and spacious to encode and decode but a 16 bit display decoder can be built into a 4x4 pixel pack with a 2 tile wide border on one side so you can drive it with a single ribbon cable. Put two top and bottom, and as many as you need side by side and you can have a real 8 pixel high display as wide as you like in 4 pixel steps. Link to comment Share on other sites More sharing options...
Risu Posted March 11, 2020 Share Posted March 11, 2020 Most I've done with them is make a 4-bit full adder. Can't think of any good use for it. Link to comment Share on other sites More sharing options...
kbn Posted March 11, 2020 Share Posted March 11, 2020 4 hours ago, kbn said: 2.Ribbon cable information amount is 32bit instead of 4bit In connection with the use of 32bit, I noticed a bug in the automation wire that I could not miss a bit ... If the 32nd bit is green, the automation wire will not be overloaded. This is a guess, but you may be overloading the automation wire with a program like "if (signal_value> 1)". In other words, overload can be avoided by setting the most significant bit to True and making the signal negative. This makes it possible to send the same signal as the ribbon without breaking the wire. I post this on a bug tracker because I think this is a bug exploit. I don't know how the developers will work on bugs, but it may even make it impossible to use 32bit on the ribbon. 4 hours ago, kbn said: It is personal feeling that we want you to keep it as 32-bit because it is interesting in various ways. After saying this, I never imagined that I would help myself disable it ... Link to comment Share on other sites More sharing options...
Saturnus Posted March 11, 2020 Author Share Posted March 11, 2020 Another one which is also of ancient origin is the 4 bit random number generator. It's just gaseous element sensors in a room with oxygen and polluted oxygen taking advantage of the fact that oxygen and polluted oxygen exchange place at random horizontally but never vertically. Link to comment Share on other sites More sharing options...
BT_20 Posted March 11, 2020 Share Posted March 11, 2020 18 hours ago, Soulwind said: I am sooooo bad with the more complex automations. OK, so with the new stuff that's available, is there a better/more compact/easier to hide/etc way to setup the automation for a door pump? Here's what I currently use: Not gate to first door, then a buffer to each other door but the last, then a filter to the last door, and another buffer back to the not gate. Use a weight plate at the end of the door pump to reset the automation it’s easier. Link to comment Share on other sites More sharing options...
Soulwind Posted March 11, 2020 Share Posted March 11, 2020 Thanks, but it's sealed and never has any Dupe interaction. I use it to keep the geyser vent from over pressurizing (along with an infinite gas storage room). Link to comment Share on other sites More sharing options...
Badpip Posted March 11, 2020 Share Posted March 11, 2020 i found a way to make a compact pulse delayer who can delay signal to 3400 second: Link to comment Share on other sites More sharing options...
DonDegow Posted March 11, 2020 Share Posted March 11, 2020 @Badpip You can go way overboard with the new timer instead of filter/buffer/not. Put it in cycle mode, enjoy ! Link to comment Share on other sites More sharing options...
Saturnus Posted March 11, 2020 Author Share Posted March 11, 2020 11 minutes ago, DonDegow said: @Badpip You can go way overboard with the new timer instead of filter/buffer/not. The timer is not resetable with automation so not very useful, and it certainly isn't a replacement for the posted circuit in any way. Link to comment Share on other sites More sharing options...
Badpip Posted March 11, 2020 Share Posted March 11, 2020 6 minutes ago, DonDegow said: @Badpip You can go way overboard with the new timer instead of filter/buffer/not. Put it in cycle mode, enjoy ! the problem with the new timer is there is no reset port so the delay can't be the same every time Link to comment Share on other sites More sharing options...
DonDegow Posted March 11, 2020 Share Posted March 11, 2020 I thought you simply wanted a very slow pulse maker. Connected to an AND with the memory output it would read the timer only when on, approximating a reset on it. I apparently misunderstood, my bad Link to comment Share on other sites More sharing options...
Badpip Posted March 11, 2020 Share Posted March 11, 2020 3 minutes ago, DonDegow said: I thought you simply wanted a very slow pulse maker. Connected to an AND with the memory output it would read the timer only when on, approximating a reset on it. I apparently misunderstood, my bad it don't make a pulse it delay an existing pulse , when a pulse is send to the circuit, it start the clock and when 9 is reached ( or another number, depend of the duration you want) it send a pulse in the output and reset the clock Link to comment Share on other sites More sharing options...
Saturnus Posted March 11, 2020 Author Share Posted March 11, 2020 It's basically a variation of the cycle counter I posted last month in which it might be easier to see what is going on. The difference between a counter and the timer is that you can reset it and that it starts counting from that precise moment. The timer can't be reset with automation so you have no way of automating anything based on it that requires a specific time frame. Link to comment Share on other sites More sharing options...
Risu Posted March 12, 2020 Share Posted March 12, 2020 Figured I'd try out that bit shifting exploit. 1000+500=1500 1000-500=500 Guess it's neat and all but god is I/O a pain. Link to comment Share on other sites More sharing options...
kbn Posted March 12, 2020 Share Posted March 12, 2020 I improved this 4-bit memory circuit. Each time an input is added, it is stacked by shifting by 4 bits, and up to 32 bits can be recorded. By the way, the right shift by Ribbon Reader seems to be an arithmetic shift. If you shift right when the 32nd bit is True, True will be added. Link to comment Share on other sites More sharing options...
TheEvilMango Posted March 13, 2020 Share Posted March 13, 2020 This stuff is all really cool but I understand next to none of it? What does it do and what is its purpose and what can they be used for? Link to comment Share on other sites More sharing options...
KittenIsAGeek Posted March 13, 2020 Share Posted March 13, 2020 4 minutes ago, TheEvilMango said: What does it do and what is its purpose and what can they be used for? That is a very simple question that has a very complex answer. Bit shifting has a very large number of uses in computers In the context above, it basically means that you can send 32 bits of data down a ribbon cable. 1 bit is either TRUE or FALSE, green or red, on or off. Multiple bits can be used in groups to represent numbers, letters, or pixels on a display. In the examples above, the bits are being sent to pixel packs, so they're basically representing individual pixels within a display. Therefore, one answer to your question is that "They can be used to make an automated display that can be seen by the player." Link to comment Share on other sites More sharing options...
Alexander Block Posted March 15, 2020 Share Posted March 15, 2020 How the bit shifting of ribbon writers works? Is there any logic, or is it a pure bug? Link to comment Share on other sites More sharing options...
Risu Posted March 15, 2020 Share Posted March 15, 2020 12 minutes ago, Alexander Block said: How the bit shifting of ribbon writers works? Is there any logic, or is it a pure bug? The expectation is that it would mask out all but the first bit in the input, then shift that single bit into the new position, and finally mask the output value to the bit width of the output wire, but most of the logic devices ignore the bit width of all connections. Link to comment Share on other sites More sharing options...
Alexander Block Posted March 15, 2020 Share Posted March 15, 2020 Сonnection of a automation wire with a ribbon connect wire with 1 bit of ribbon? Green signal on automation wire write 1 byte on ribbon. Writer write 2 byte. How to get writed 3,4 bytes? Ribbon writer with 3/4 byte setup damages wire. Link to comment Share on other sites More sharing options...
ZanthraSW Posted April 9, 2020 Share Posted April 9, 2020 Here is a SerDes that can pack up to 32 bits from one ribbon onto a single line at 2.5 bits per second and turn it back into the ribbon on the other side, the example only does 16 bits, but with 2 counters 32 is easy.. Synchronization is achieved by holding the clock high for at least 0.3 seconds to reset the counters.Hidden automation wires behind the new counters were indicated manually. One of these can run on each wire of the ribbon cable, along with the clock that's 32 * 31 or 991 bits of data theoretically capable on one ribbon, each additional ribbon would be 1024 bits if the clock is shared, and you can share the space with static signals, or place these serdes units where they are needed. Data out will be bit reversed from data in. Least significant bit becomes most significant bit. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.