void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
INPUT
-------
output format[1]
0 = User friendly 7 segment display output
1 = Machine friendly output
enable[2]
0 = Disabled
1 = Enabled
opcode[3] and opcode[4]
00 = Compare binary encoded ternary input A being i [7] and i [8] LSB to input B i [5] and i [6] LSB.
01 = Conversion binary encoded ternary input A being i [7] and i [8] LSB to decimal or unary encoded ternary (see output format).
10 = Conversion binary encoded ternary input B being i [5] and i [6] LSB to decimal or unary encoded ternary (see output format).
11 = Conversion unary encoded ternary on input A being i [7] and i [8] LSB to decimal or binary encoded ternary (see output format).
Full datasheet can be found with more examples and explanation at
https://github.com/aiunderstand/tinytapeout_asyncbinterconvcomp
Examples
Mode (MSB) 0100 (human format, enabled, compare)
Input 0001 (LSB)
Output 'A' (because input A is larger than B)
Mode (MSB) 0100 (human format, enabled, compare)
Input 0101 (LSB)
Output '=' (because input A is equal to B)
Mode (MSB) 1100 (machine format, enabled, compare)
Input 0101 (LSB)
Output '-' (top bar = A, middle bar Equal, bottom bar = B)
Illegal is compare with input A=01 and input B=10,
which both are binary encoded ternary logic 1.
Typically only one encoding variant is used.