All pastes #824476 Raw Edit

ccfreak2k

public text v1 · immutable
·published 2007-12-20 00:09 UTC
rendered paste body
N@TV Packet Decoder v1.0
I@TVPacket
O@X Y Pixel

# TV Packet Decoder
# Decodes packets for the TV.

# INPUTS:
#  See OUTPUTS in tvpacketizer

# OUTPUTS:
#  See INPUTS in tvpacketizer

# MODE OF OPERATION:
#  Every time it receives a packet (every 125ms basically), it decodes whatever packet is
#   on the line and "replays" it to the TV.
#  It uses the internal clock to spread the writes out.

# PACKET FORMAT:
#  See PACKET FORMAT in tvpacketizer

# END OF USER SERVICABLE PARTS.
###############################

# Initialize the clock.
interval(20)

# 0th mode.
Mode == 0 -> Mode += 1;

# Final frame.
clk() & Mode == 4 -> X = recv(Packet, 10);
clk() & Mode == 4 -> Y = recv(Packet, 11);
clk() & Mode == 4 -> Pixel = recv(Packet, 12);
clk() & Mode == 4 -> Mode = 0;
clk() & Mode == 4 -> interval(44);

# Third frame.
clk() & Mode == 3 -> X = recv(Packet, 7);
clk() & Mode == 3 -> Y = recv(Packet, 8);
clk() & Mode == 3 -> Pixel = recv(Packet, 9);
clk() & Mode == 3 -> Mode += 1

# Second frame.
clk() & Mode == 2 -> X = recv(Packet, 4);
clk() & Mode == 2 -> Y = recv(Packet, 5);
clk() & Mode == 2 -> Pixel = recv(Packet, 6);
clk() & Mode == 2 -> += 1

# First frame.
clk() & Mode == 1 -> X = recv(Packet, 1);
clk() & Mode == 1 -> Y = recv(Packet, 2);
clk() & Mode == 1 -> Pixel = recv(Packet, 3);
clk() & Mode == 1 -> Mode += 1;