N@TV Packet Decoder v2.0 I@TVPacket O@X Y Pixel # Initialize the clock. interval(20) # 0th mode. Mode == 0 -> Mode += 1; # Final frame. clk() & Mode == 6 -> X = recv(TVPacket, 16); clk() & Mode == 6 -> Y = recv(TVPacket, 17); clk() & Mode == 6 -> Pixel = recv(TVPacket, 18); clk() & Mode == 6 -> Mode = 0; clk() & Mode == 0 -> interval(25) # Fifth frame. clk() & Mode == 5 -> X = recv(TVPacket, 13); clk() & Mode == 5 -> Y = recv(TVPacket, 14); clk() & Mode == 5 -> Pixel = recv(TVPacket, 15); clk() & Mode == 5 -> Mode += 1; # Fourth frame. clk() & Mode == 4 -> X = recv(TVPacket, 10); clk() & Mode == 4 -> Y = recv(TVPacket, 11); clk() & Mode == 4 -> Pixel = recv(TVPacket, 12); clk() & Mode == 4 -> Mode += 1; # Third frame. clk() & Mode == 3 -> X = recv(TVPacket, 7); clk() & Mode == 3 -> Y = recv(TVPacket, 8); clk() & Mode == 3 -> Pixel = recv(TVPacket, 9); clk() & Mode == 3 -> Mode += 1; # Second frame. clk() & Mode == 2 -> X = recv(TVPacket, 4); clk() & Mode == 2 -> Y = recv(TVPacket, 5); clk() & Mode == 2 -> Pixel = recv(TVPacket, 6); clk() & Mode == 2 -> Mode += 1; # First frame. clk() & Mode == 1 -> X = recv(TVPacket, 1); clk() & Mode == 1 -> Y = recv(TVPacket, 2); clk() & Mode == 1 -> Pixel = recv(TVPacket, 3); clk() & Mode == 1 -> Mode += 1;