How do I start learning about FILT tech?

  • Svetlec
    18th December Member 0 Permalink

    I've been wondering about how to make a better RAM, as I've made my 90 bit RAM I've realized that wasn't enough memory, and I wanted to learn FILT tech a few years ago too. So where (and how) do I start learning about FILT tech?

  • Jerehmia
    19th December Member 2 Permalink

    First you need to understand how color works in TPT, that color consists of a mix of 30 predefined wavelengths that can either be on or off. Each of the 30 wavelengths has its own unique number (a power of 2), and a color value is the sum of the wavelength numbers that are present in the color. This is explained on the Wiki's wavelengths page.

     

    Note that light (like PHOT or BRAY) in TPT has to have at least one wavelength set (it has to have a color) and if a BRAY or PHOT loses its last wavelength by some process it gets annihilated, a PHOT particle gets removed and a BRAY stops at the point of annihilation. This is important later because we use annihilation to extract information from light.

     

    Because color consists of 30 wavelengths that can either be on or off, we can use color to encode 30 signals that can either be on or off (in other words encode 30 bits of information) with the caveat that at least 1 of the 30 signals/bits must be on or else light that transports the information will get annihilated. To make things easier and make sure light will only get annihilated if we want it to, we'll always have one wavelength on (the wavelength with the highest number is most practical for this), in other words we'll use 1 of the 30 wavelengths as a carrier and the other 29 wavelengths to store or transport information.

     

    Second you need to learn how FILT works, how you can use it to change the wavelengths of incoming light. When you shine a light through a FILT the FILT combines its wavelengths with the wavelengths of the incoming light according to its filter mode. We can use FILT's SET mode to set the color of the outgoing light, OR mode to add wavelengths to the outgoing light, and AND mode to filter out wavelengths. "No effect" mode is surprisingly useful too because you can use it to set a value in absence of an BRAY.

     

    The third an final part of information you need is that LDTC or DTEC can be used to read wavelengths and store them in a FILT.

     

    Once you've got that covered (and I know it's a lot) you should be able to understand howto encode and decode signals with FILT:

  • Svetlec
    19th December Member 0 Permalink

    omg thank you so much! (I'm a practical learner, which means I need a demo to learn) This is actually very nicely explained! I'll try experimenting with this kind of tech

  • Jerehmia
    19th December Member 1 Permalink

    Thanks, feel free to ask questions if things are unclear. Also there is more to learn about FILT (how to build memory for example) so let me know if you're ready for that.

     

    A practical tip: use the "Subframe Chipmaker Script" to easily read FILT and BRAY values (in the HUD when you hover over the FILT/BRAY), and a visual way to configure LDTC properties (after pressing the C key to enter Configure mode and clicking on the LDTC) instead of messing with tmp and life values. You can use it to easily layer/stack particles too.

  • Svetlec
    19th December Member 0 Permalink

    Well I'd say I'm ready for memory, I've made something with this tech ID:3188312, it basically sends the bits you input through a single BRAY laser. Also I'm gonna try that mod.

  • Jerehmia
    21st December Member 1 Permalink

    Because we need to address our memory (we need to tell it from which memory location to read) and a memory address is just a number, it's useful to have a basic understanding of binary numbers.

     

    The save below demonstrates how to built the simplest form of FILT ROM. Once you've got that down we'll construct a serialization based ROM, and then graduate to RAM.

     

     

    (You get nice link to your save if you precede its ID number with a ~ )

    Edited 2 times by Jerehmia. Last: 21st December
  • Svetlec
    21st December Member 0 Permalink

    Cool, so we use binary to adress a specific pixel of FILT we want to read, also I think this is very similar to this thingy I made 

    https://powdertoy.co.uk/Browse/View.html?ID=3188726

    Edited 2 times by Svetlec. Last: 21st December
  • Jerehmia
    21st December Member 1 Permalink

    This save demonstrates how to construct two versions of serialization based FILT ROM, one realtively easy to understand and one that uses every trick in the book (except for subframing) to make it as fast as it gets (1 frame delay).

  • Jerehmia
    24th December Member 1 Permalink

    If you're still interested let me know, I was planning to explain 2D ROM, RAM and possiblly how the fast incrementor (and decrementor and two's complement) work.

  • Svetlec
    24th December Member 0 Permalink

    @Jerehmia (View Post)

     yes i am interested! sorry i was just busy with work and i had to go to my doctors for an eye checkup, sorry if you thought i lost interest.