首先來簡單說明一下紅石模電是什麼,模電 (模擬電路/模擬電路) 是相對於數電 (數字電路) 的一個領域,跟數電只在 0 和 1 的信號強度下運算不同,模電是對連續強度的信號進行處理,而 Minecraft 中的紅石信號強度不只有 0 和 1 而已,也因此才會出現紅石模電這一領域。若某個紅石模電只處理 0~15 紅石強度的信號,則會將此模電稱作弱模電,反之若可處理超過 15 紅石強度的信號,則會稱作強模電,而本文章所討論的是弱模電。有一點需要特別說明的是,紅石模電中的信號強度是有能階的,這與現實世界中的模電並不相同,因此不該將兩者混為一談,兩者間的觀念更不該直接互通,由於作者我並沒有學習過現實世界中的模電,因此下面文章中的用詞與觀念可能會跟現實世界中的模電學有出入,所以不要太認真地將作者我說的東西去跟現實中模電學做比對。
除了 CMP 與 MINUS 外,還有三個重要的基本運算,分別是 “反轉 (REV)”、”取大 (MAX)”、”取小 (MIN)” 運算,REV 可以將弱信號轉換成強信號,強信號轉換成弱信號,且根據系統的進位數不同,轉換效果會有差異,以十六進位的系統來說,REV(A) = MINUS(15, A),也就是用最強的信號減掉輸入的信號,輸入的信號越強,輸出的信號就越弱。MAX 是以兩個輸入信號中較大的那個作為輸出,它的實現方式非常簡單,只需要將兩個輸入源相接即可,這是因為較強的紅石信號會覆蓋過較弱的信號。MIN 是以兩個輸入信號中較小的那個作為輸出,它的實現方式有兩種,第一種比較直觀,先將兩個輸入源反轉,取較大的後再反轉回來即可,也就是 MIN(A,B) = REV(MAX(REV(A),REV(B)))。
第二種方式需要稍微思考下,它就是 MIN(A,B) = MINUS(A,MINUS(A,B)) (或者寫作 A – (A – B)),但為什麼這會是對的呢?我們慢慢分析,先假設 A <= B,此時 A – B 的結果會是 0 (因為不會有小於 0 的信號強度),因此 A – (A – B) 可簡化成 A – 0 = A,所以輸出的會是 A,而當 A > B 時,A – B 的結果必定大於 0,所以算式不可簡化,但當我們把算式中的括弧拆開後,將會變成這樣 A – A + B = B,因此輸出的會是 B,這樣就證明了 MIN(A,B) = MINUS(A,MINUS(A,B))。
上面已經介紹了基本的模電運算,那接下來會介紹一些模電的簡單應用。第一個應用是信號延遲器,這設備也是作者我進入紅石模電這領域的一個重要契機,當初就是因為看到別人做了一個這樣的設備,才讓我領悟到紅石的真正潛力在模電運算,這個設備巧妙的地方在於它是一個循環運算,紅石信號每轉一圈,它的強度就減弱一階,直到強度為 0 時才輸出信號,哪怕是最小的循環,其延遲的時間長度也可以抵好幾個中繼器,若是增加迴轉單圈的時間長度,其增加的時間長度將會以乘倍成長,遠勝過增加中繼器數量的加法成長,小小一個循環就能有數十個中繼器才能達到的延遲效果。
此外這個設備還有一個特殊的應用,這必須從模電的信號傳輸說起,紅石模電在傳輸速度上一直是個劣勢,這是因為需要大量比較器來維持信號強度的關係,但在長程的模電信號傳輸中,有一種方式可增加傳輸速度,那就是先把模電信號轉成數電信號再進行傳輸,然後在信號接收端再轉換回模電,這就必須用到信號延遲器的循環運算原理,發出信號的一端是會逐漸減少信號強度的循環,而接收信號的一端是會逐漸增強信號強度的循環,最重要的是兩端循環的單圈迴轉時間必須相同,實際設備可參考下圖。

不知道各位有沒有注意到,在上面的信號接收端中有一個用來保存模電信號的電路,跟數電一樣,模電信號也是可以被保存的,根據信號的保存原理,大致可分為 “循環”、”正反器”、”電容” 三種類型,先來說最簡單也最直接的 “循環”,它其實就只是將信號保存在一個迴路中,信號會不斷在迴路中迴轉且不喪失強度,因此就可以用來保存信號。
再來介紹 “正反器”,它是由一對互減的比較器所組成,當對其中一個比較器進行減法時,它會影響到另一個比較器的輸出結果,而這改變又會回頭影響到第一個比較器,使得信號被保存下來。
最後就是 “電容” 了,其實電容又可分成許多細類,其設計更是五花八門,但不論是哪一種電容,它的基本原理都是使用容器 (例如儲物箱、界伏盒) 將信號保存下來,這邊只介紹兩種當作範例。第一種電容是由兩個對接的漏斗構成,當比較器對漏斗進行滿箱檢測的輸出信號強度,與要保存的信號強度不同時,則讓漏斗中的物品往某特定方向移動,而當信號強度相同時,則同時鎖住兩個漏斗來維持信號強度。
第二種電容是用界伏盒作為保存容器,與第一種電容不同的是,保存的信號強度是直接跟容器內物品的數量有關,具體來說是信號強度 = 物品數量 – 1 (減 1 是為了保存強度 0 的信號的關係),這種電容在不需讀寫數據時,可以將界伏盒存放在其他地方,只有在需要讀寫容器數據時,才需要將界伏盒搬到設備上。
最後再介紹一個實用的紅石模電設備,那就是紅石計數器,先來看一下電路圖。
這邊以 2 比特的計數器作為範例,每輸入一次信號,個位數計數器的信號強度就會增強一階,當個位數計數器的信號強度到達最大值時,下次接收到輸入信號後,將清空個位數計數器,並將十位數計數器的信號強度增強一階。