-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3e966e2
commit 5313862
Showing
1 changed file
with
258 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,258 @@ | ||
@RULE Fusion | ||
******************************** | ||
**** COMPILED FROM NUTSHELL **** | ||
**** v0.6.3 **** | ||
******************************** | ||
|
||
Fusion is a rule I devised that is a 'fusion' of many different wire-like rules. It steals properties from: | ||
* Wireworld++ => tiny AND/XOR gates | ||
* NoTimeAtAll => stagnating signals | ||
* Digital => diagonal inputs, orthogonal outputs | ||
* DECA => tiny AND/ANDNOT gates | ||
|
||
States: | ||
|
||
0: background | ||
1: strong head | ||
2: strong tail | ||
3: strong wire | ||
4: weak head | ||
5: weak tail | ||
6: weak wire | ||
7: NTAA head 1 | ||
8: NTAA head 0 | ||
9: NTAA tail | ||
10: NTAA wire | ||
--------------NTAA Table---------- | ||
0: blank | ||
1: wire | ||
2: wire 0 | ||
3: wire 1 | ||
4: tail | ||
|
||
|
||
@TABLE | ||
neighborhood: Moore | ||
symmetries: rotate4reflect | ||
n_states: 11 | ||
|
||
var any.0 = {0,1,2,3,4,5,6,7,8,9,10} | ||
var any.1 = any.0 | ||
var any.2 = any.0 | ||
var any.3 = any.0 | ||
var any.4 = any.0 | ||
var any.5 = any.0 | ||
var any.6 = any.0 | ||
var any.7 = any.0 | ||
var anyNTAA.0 = {8,9,10,7} | ||
var anyNTAA.1 = anyNTAA.0 | ||
var _a0.0 = {1,7} | ||
var _a0.1 = _a0.0 | ||
var _b0.0 = {4,7} | ||
var _b0.1 = _b0.0 | ||
var notNTAAHead.0 = {0,1,2,3,4,5,6,9,10} | ||
var notNTAAHead.1 = notNTAAHead.0 | ||
var notNTAAHead.2 = notNTAAHead.0 | ||
var notNTAAHead.3 = notNTAAHead.0 | ||
var _e0.0 = {0,2,3,4,5,6,8,9,10} | ||
var _e0.1 = _e0.0 | ||
var _e0.2 = _e0.0 | ||
var _e0.3 = _e0.0 | ||
var _e0.4 = _e0.0 | ||
var _e0.5 = _e0.0 | ||
var _e0.6 = _e0.0 | ||
var _f0.0 = {0,1,2,3,5,6,8,9,10} | ||
var _f0.1 = _f0.0 | ||
var _f0.2 = _f0.0 | ||
var _f0.3 = _f0.0 | ||
var _f0.4 = _f0.0 | ||
var _f0.5 = _f0.0 | ||
var _f0.6 = _f0.0 | ||
var _g0.0 = {8,7} | ||
var _g0.1 = _g0.0 | ||
var _g0.2 = _g0.0 | ||
var _h0.0 = {0,1,2,3,4,5,6,7,8,9} | ||
var _h0.1 = _h0.0 | ||
var _h0.2 = _h0.0 | ||
var _h0.3 = _h0.0 | ||
var _i0.0 = {1,2,4} | ||
var _j0.0 = {8,7} | ||
var _j0.1 = _j0.0 | ||
var _k0.0 = {1,4} | ||
var _k0.1 = _k0.0 | ||
|
||
#### symmetries: permute | ||
# wireworld heads | ||
Fusion.ruel | ||
1, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 2 | ||
2, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 3 | ||
Fusion.ruel | ||
4, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 5 | ||
5, any.0, any.1, any.2, any.3, any.4, any.5, any.6, any.7, 6 | ||
# wireworld transitions | ||
Fusion.ruel | ||
3, _a0.0, _e0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, _e0.6, 1 | ||
3, _e0.0, _a0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, _e0.6, 1 | ||
3, _a0.0, _e0.0, _e0.1, _e0.2, _a0.1, _e0.3, _e0.4, _e0.5, 1 | ||
3, _e0.0, _a0.0, _e0.1, _a0.1, _e0.2, _e0.3, _e0.4, _e0.5, 1 | ||
3, _e0.0, _a0.0, _e0.1, _e0.2, _e0.3, _a0.1, _e0.4, _e0.5, 1 | ||
3, _a0.0, _e0.0, _e0.1, _a0.1, _e0.2, _e0.3, _e0.4, _e0.5, 1 | ||
3, _a0.0, _e0.0, _a0.1, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, 1 | ||
3, _a0.0, _a0.1, _e0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, 1 | ||
Fusion.ruel | ||
3, _b0.0, _f0.0, _f0.1, _f0.2, _b0.1, _f0.3, _f0.4, _f0.5, 1 | ||
3, _f0.0, _b0.0, _f0.1, _b0.1, _f0.2, _f0.3, _f0.4, _f0.5, 1 | ||
3, _f0.0, _b0.0, _f0.1, _f0.2, _f0.3, _b0.1, _f0.4, _f0.5, 1 | ||
3, _b0.0, _f0.0, _f0.1, _b0.1, _f0.2, _f0.3, _f0.4, _f0.5, 1 | ||
3, _b0.0, _f0.0, _b0.1, _f0.1, _f0.2, _f0.3, _f0.4, _f0.5, 1 | ||
3, _b0.0, _b0.1, _f0.0, _f0.1, _f0.2, _f0.3, _f0.4, _f0.5, 1 | ||
Fusion.ruel | ||
6, _a0.0, _e0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, _e0.6, 4 | ||
6, _e0.0, _a0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, _e0.6, 4 | ||
6, _a0.0, _e0.0, _e0.1, _e0.2, _a0.1, _e0.3, _e0.4, _e0.5, 4 | ||
6, _e0.0, _a0.0, _e0.1, _a0.1, _e0.2, _e0.3, _e0.4, _e0.5, 4 | ||
6, _e0.0, _a0.0, _e0.1, _e0.2, _e0.3, _a0.1, _e0.4, _e0.5, 4 | ||
6, _a0.0, _e0.0, _e0.1, _a0.1, _e0.2, _e0.3, _e0.4, _e0.5, 4 | ||
6, _a0.0, _e0.0, _a0.1, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, 4 | ||
6, _a0.0, _a0.1, _e0.0, _e0.1, _e0.2, _e0.3, _e0.4, _e0.5, 4 | ||
Fusion.ruel | ||
6, _b0.0, _f0.0, _f0.1, _f0.2, _f0.3, _f0.4, _f0.5, _f0.6, 4 | ||
6, _f0.0, _b0.0, _f0.1, _f0.2, _f0.3, _f0.4, _f0.5, _f0.6, 4 | ||
# NoTomeAtAll | ||
#### symmetries: rotate4reflect | ||
Fusion.ruel | ||
10, _g0.0, any.0, any.1, any.2, any.3, any.4, any.5, any.6, 10 # A wire with an adjacent head never turns to a head | ||
Fusion.ruel | ||
_g0.0, _h0.0, any.0, _h0.1, any.1, _h0.2, any.2, _h0.3, any.3, 9 # A head only becomes tail if there is no wire | ||
Fusion.ruel | ||
9, notNTAAHead.0, any.0, notNTAAHead.1, any.1, notNTAAHead.2, any.2, notNTAAHead.3, any.3, 10 # A tail only becomes wire if there is no head | ||
# use NTAA heads as DECA red/green blocker states | ||
Fusion.ruel | ||
8, _i0.0, any.0, notNTAAHead.0, any.1, notNTAAHead.1, any.2, notNTAAHead.2, any.3, 7 # toggle when next to strong head, strong tail, or weak head and no NTAA neighbors | ||
7, _i0.0, any.0, notNTAAHead.0, any.1, notNTAAHead.1, any.2, notNTAAHead.2, any.3, 8 | ||
# NTAA XOR/Onehot gates | ||
#### symmetries: rotate4reflect | ||
Fusion.ruel | ||
10, 0, any.0, _j0.1, any.1, 10, any.2, _j0.1, any.3, 8 | ||
10, 10, any.0, _j0.0, any.1, 10, any.2, _j0.0, any.3, 10 | ||
Fusion.ruel | ||
10, 0, any.0, 7, any.1, 10, any.2, 8, any.3, 7 | ||
10, 10, any.0, 7, any.1, 10, any.2, 8, any.3, 10 | ||
10, 0, any.0, 7, any.1, 10, any.2, 8, any.3, 7 | ||
10, 10, any.0, 7, any.1, 10, any.2, 8, any.3, 10 | ||
#### symmetries: permute | ||
Fusion.ruel | ||
10, 10, 10, anyNTAA.0, anyNTAA.1, 10 | ||
10, 10, anyNTAA.0, 10, anyNTAA.1, 10 | ||
Fusion.ruel | ||
10, 10, 10, 10, 7, 7, 7, 8, 8, 7 | ||
10, 10, 10, 10, 7, 7, 8, 7, 8, 7 | ||
10, 10, 10, 10, 7, 7, 8, 8, 7, 7 | ||
10, 10, 10, 10, 7, 8, 7, 7, 8, 7 | ||
10, 10, 10, 10, 7, 8, 7, 8, 7, 7 | ||
10, 10, 10, 10, 8, 7, 7, 7, 8, 7 | ||
10, 10, 10, 7, 10, 7, 7, 8, 8, 7 | ||
10, 10, 10, 7, 10, 7, 8, 7, 8, 7 | ||
10, 10, 10, 7, 10, 7, 8, 8, 7, 7 | ||
10, 10, 10, 7, 10, 8, 7, 7, 8, 7 | ||
10, 10, 10, 7, 10, 8, 7, 8, 7, 7 | ||
10, 10, 10, 7, 10, 8, 8, 7, 7, 7 | ||
10, 10, 10, 7, 7, 10, 7, 8, 8, 7 | ||
10, 10, 10, 7, 7, 10, 8, 7, 8, 7 | ||
10, 10, 10, 7, 7, 10, 8, 8, 7, 7 | ||
10, 10, 10, 7, 7, 7, 10, 8, 8, 7 | ||
10, 10, 10, 7, 7, 7, 8, 10, 8, 7 | ||
10, 10, 10, 7, 7, 7, 8, 8, 10, 7 | ||
10, 10, 10, 7, 7, 8, 10, 7, 8, 7 | ||
10, 10, 10, 7, 7, 8, 10, 8, 7, 7 | ||
10, 10, 10, 7, 7, 8, 7, 10, 8, 7 | ||
10, 10, 10, 7, 7, 8, 7, 8, 10, 7 | ||
10, 10, 10, 7, 7, 8, 8, 10, 7, 7 | ||
10, 10, 10, 7, 7, 8, 8, 7, 10, 7 | ||
10, 10, 10, 7, 8, 10, 7, 7, 8, 7 | ||
10, 10, 10, 7, 8, 10, 7, 8, 7, 7 | ||
10, 10, 10, 7, 8, 10, 8, 7, 7, 7 | ||
10, 10, 10, 7, 8, 7, 10, 7, 8, 7 | ||
10, 10, 10, 7, 8, 7, 10, 8, 7, 7 | ||
10, 10, 10, 7, 8, 7, 7, 10, 8, 7 | ||
10, 10, 10, 7, 8, 7, 7, 8, 10, 7 | ||
10, 10, 10, 7, 8, 7, 8, 10, 7, 7 | ||
10, 10, 10, 7, 8, 7, 8, 7, 10, 7 | ||
10, 10, 10, 7, 8, 8, 10, 7, 7, 7 | ||
10, 10, 10, 7, 8, 8, 7, 10, 7, 7 | ||
10, 10, 10, 8, 10, 7, 7, 7, 8, 7 | ||
10, 10, 10, 8, 10, 7, 7, 8, 7, 7 | ||
10, 10, 10, 8, 10, 7, 8, 7, 7, 7 | ||
10, 10, 10, 8, 10, 8, 7, 7, 7, 7 | ||
10, 10, 10, 8, 7, 10, 7, 7, 8, 7 | ||
10, 10, 10, 8, 7, 10, 7, 8, 7, 7 | ||
10, 10, 10, 8, 7, 10, 8, 7, 7, 7 | ||
10, 10, 10, 8, 7, 7, 10, 7, 8, 7 | ||
10, 10, 10, 8, 7, 7, 10, 8, 7, 7 | ||
10, 10, 10, 8, 7, 7, 7, 10, 8, 7 | ||
10, 10, 10, 8, 7, 7, 7, 8, 10, 7 | ||
10, 10, 10, 8, 7, 7, 8, 10, 7, 7 | ||
10, 10, 10, 8, 7, 8, 10, 7, 7, 7 | ||
10, 10, 10, 8, 7, 8, 7, 10, 7, 7 | ||
10, 10, 10, 8, 8, 10, 7, 7, 7, 7 | ||
10, 10, 10, 8, 8, 7, 10, 7, 7, 7 | ||
10, 10, 10, 8, 8, 7, 7, 10, 7, 7 | ||
10, 10, 7, 10, 7, 10, 7, 8, 8, 7 | ||
10, 10, 7, 10, 7, 10, 8, 7, 8, 7 | ||
10, 10, 7, 10, 7, 7, 10, 8, 8, 7 | ||
10, 10, 7, 10, 7, 7, 8, 10, 8, 7 | ||
10, 10, 7, 10, 7, 8, 10, 7, 8, 7 | ||
10, 10, 7, 10, 7, 8, 10, 8, 7, 7 | ||
10, 10, 7, 10, 7, 8, 7, 10, 8, 7 | ||
10, 10, 7, 10, 8, 10, 7, 7, 8, 7 | ||
10, 10, 7, 10, 8, 7, 10, 7, 8, 7 | ||
10, 10, 7, 7, 10, 7, 10, 8, 8, 7 | ||
10, 10, 7, 7, 10, 7, 8, 10, 8, 7 | ||
10, 10, 7, 7, 10, 8, 10, 7, 8, 7 | ||
10, 10, 7, 7, 10, 8, 10, 8, 7, 7 | ||
10, 10, 7, 7, 10, 8, 7, 10, 8, 7 | ||
10, 10, 7, 7, 7, 10, 8, 10, 8, 7 | ||
10, 10, 7, 8, 10, 7, 10, 7, 8, 7 | ||
10, 10, 7, 8, 10, 7, 10, 8, 7, 7 | ||
10, 10, 8, 7, 10, 7, 10, 7, 8, 7 | ||
10, 7, 10, 7, 10, 7, 10, 8, 8, 7 | ||
10, 7, 10, 7, 10, 8, 10, 7, 8, 7 | ||
10, 7, 10, 7, 10, 8, 10, 8, 7, 7 | ||
10, 7, 10, 7, 10, 8, 7, 8, 10, 7 | ||
10, 7, 10, 8, 10, 7, 10, 8, 7, 7 | ||
10, 7, 10, 8, 10, 8, 10, 7, 7, 7 | ||
Fusion.ruel | ||
10, 10, 10, 10, 10, 10, _g0.0, _g0.1, _g0.2, 8 | ||
10, 10, 10, 10, 10, _g0.0, 10, _g0.1, _g0.2, 8 | ||
10, 10, 10, 10, 10, _g0.0, _g0.1, 10, _g0.2, 8 | ||
10, 10, 10, 10, 10, _g0.0, _g0.1, _g0.2, 10, 8 | ||
10, 10, 10, 10, _g0.0, 10, 10, _g0.1, _g0.2, 8 | ||
10, 10, 10, 10, _g0.0, 10, _g0.1, 10, _g0.2, 8 | ||
10, 10, 10, _g0.0, 10, 10, 10, _g0.1, _g0.2, 8 | ||
10, 10, 10, _g0.0, 10, 10, _g0.1, 10, _g0.2, 8 | ||
10, 10, 10, _g0.0, 10, _g0.1, 10, 10, _g0.2, 8 | ||
10, 10, 10, _g0.0, 10, _g0.1, 10, _g0.2, 10, 8 | ||
# activate when Wireworld++heads | ||
Fusion.ruel | ||
10, _k0.0, any.0, any.1, any.2, any.3, any.4, any.5, any.6, 8 | ||
10, any.0, _k0.0, any.1, any.2, any.3, any.4, any.5, any.6, 8 | ||
Fusion.ruel | ||
10, _k0.0, _k0.1, any.0, any.1, any.2, any.3, any.4, any.5, 7 | ||
10, _k0.0, any.0, _k0.1, any.1, any.2, any.3, any.4, any.5, 7 | ||
10, _k0.0, any.0, any.1, _k0.1, any.2, any.3, any.4, any.5, 7 | ||
10, _k0.0, any.0, any.1, any.2, _k0.1, any.3, any.4, any.5, 7 | ||
10, any.0, _k0.0, any.1, _k0.1, any.2, any.3, any.4, any.5, 7 | ||
10, any.0, _k0.0, any.1, any.2, any.3, _k0.1, any.4, any.5, 7 | ||
|
||
@COLORS | ||
0 0 0 0 | ||
1 255 255 0 | ||
2 119 119 0 | ||
3 102 0 51 | ||
4 255 255 255 | ||
5 136 136 136 | ||
6 34 34 34 | ||
7 0 255 0 | ||
8 255 0 0 | ||
9 119 119 119 | ||
10 0 0 119 |