After an embarrassingly long time, I finally managed to "solve" DMux4Way, but was wondering if it could be simplified?
Here is what I currently have:
//case a
Or(a=sel[1], b=sel[0], out=or1);
Not(in=or1, out=not1);
And(a=in, b=not1, out=a);
//case b
Xor(a=sel[1], b=sel[0], out=xor1);
And(a=sel[0], b=xor1, out=and1);
And(a=in, b=and1, out=b);
//case c
And(a=sel[1], b=xor1, out=and2);
And(a=in, b=and2, out=c);
//case d
And(a=sel[1], b=sel[0], out=and3);
And(a=in, b=and3, out=d);
Initially, an attempt to incorporate DMux was made, but the 2 bit sel made it mind boggling. Is it even possible?