data/full_repos/permissive/107757225/ECE385-HelperTools/PNG To Hex/On-Chip Memory/sprite_bytes/tetris_I.sv
 line:42: before: "["
1: b'%Error: Cannot find file containing module: To\n        ... Looked in:\n             data/full_repos/permissive/107757225/ECE385-HelperTools/PNG/To\n             data/full_repos/permissive/107757225/ECE385-HelperTools/PNG/To.v\n             data/full_repos/permissive/107757225/ECE385-HelperTools/PNG/To.sv\n             To\n             To.v\n             To.sv\n             obj_dir/To\n             obj_dir/To.v\n             obj_dir/To.sv\n%Error: Cannot find file containing module: Hex/On-Chip\n%Error: Cannot find file containing module: Memory/sprite_bytes,data/full_repos/permissive/107757225\n%Error: Cannot find file containing module: data/full_repos/permissive/107757225/ECE385-HelperTools/PNG\n%Error: Cannot find file containing module: Memory/sprite_bytes/tetris_I.sv\n%Error: Exiting due to 5 error(s)\n'
module tetris_I(input [9:0] SpriteX, SpriteY,
            output [7:0] SpriteR, SpriteG, SpriteB);

logic [9:0] X_Index, Y_Index;

assign X_Index = SpriteX % 10'd8;
assign Y_Index = SpriteY % 10'd8;
logic [9:0] SpriteTableR;

parameter bit [7:0] SpritePaletteR[2:0] = '{8'd49, 8'd16, 8'd66};

	always_comb
	begin
		SpriteTableR = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_2_2[Y_Index][X_Index];
		end
	end

parameter bit [1:0] SpriteTableR_0_0[7:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd2,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_0_1[7:0][7:0] = '{'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_0_2[7:0][3:0] = '{'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0}};

parameter bit [1:0] SpriteTableR_1_0[7:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd1},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_1_1[7:0][7:0] = '{'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_1_2[7:0][3:0] = '{'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0}};

parameter bit [1:0] SpriteTableR_2_0[3:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd1,2'd0,2'd0,2'd0,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_2_1[3:0][7:0] = '{'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_2_2[3:0][3:0] = '{'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0}};

logic [9:0] SpriteTableG;

parameter bit [7:0] SpritePaletteG[6:0] = '{8'd33, 8'd58, 8'd253, 8'd220, 8'd189, 8'd157, 8'd123};

	always_comb
	begin
		SpriteTableG = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_2_2[Y_Index][X_Index];
		end
	end

parameter bit [2:0] SpriteTableG_0_0[7:0][7:0] = '{'{3'd0,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd5,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd5,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6}};

parameter bit [2:0] SpriteTableG_0_1[7:0][7:0] = '{'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd4,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd5,3'd4,3'd5,3'd6,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_0_2[7:0][3:0] = '{'{3'd0,3'd3,3'd4,3'd5},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd0,3'd3,3'd5,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd0,3'd4,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd1,3'd0,3'd1,3'd1},
'{3'd1,3'd1,3'd1,3'd1}};

parameter bit [2:0] SpriteTableG_1_0[7:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd5},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd5,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_1_1[7:0][7:0] = '{'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_1_2[7:0][3:0] = '{'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd1,3'd1,3'd1,3'd1},
'{3'd1,3'd1,3'd1,3'd1}};

parameter bit [2:0] SpriteTableG_2_0[3:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd0,3'd3,3'd3,3'd3,3'd0},
'{3'd4,3'd5,3'd5,3'd0,3'd5,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0}};

parameter bit [2:0] SpriteTableG_2_1[3:0][7:0] = '{'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0}};

parameter bit [2:0] SpriteTableG_2_2[3:0][3:0] = '{'{3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0},
'{3'd1,3'd1,3'd0,3'd1}};

logic [9:0] SpriteTableB;

parameter bit [7:0] SpritePaletteB[4:0] = '{8'd38, 8'd64, 8'd255, 8'd226, 8'd191};

	always_comb
	begin
		SpriteTableB = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_2_2[Y_Index][X_Index];
		end
	end

parameter bit [2:0] SpriteTableB_0_0[7:0][7:0] = '{'{3'd0,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd0,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4}};

parameter bit [2:0] SpriteTableB_0_1[7:0][7:0] = '{'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd4,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_0_2[7:0][3:0] = '{'{3'd0,3'd2,3'd3,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd4,3'd3},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd1,3'd0,3'd0,3'd0},
'{3'd0,3'd0,3'd0,3'd0}};

parameter bit [2:0] SpriteTableB_1_0[7:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd2},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd2,3'd3},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd2,3'd3,3'd4},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_1_1[7:0][7:0] = '{'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_1_2[7:0][3:0] = '{'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd0,3'd0,3'd0},
'{3'd0,3'd0,3'd0,3'd0}};

parameter bit [2:0] SpriteTableB_2_0[3:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd0,3'd2,3'd2,3'd2,3'd0},
'{3'd2,3'd3,3'd3,3'd0,3'd3,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0}};

parameter bit [2:0] SpriteTableB_2_1[3:0][7:0] = '{'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0}};

parameter bit [2:0] SpriteTableB_2_2[3:0][3:0] = '{'{3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0},
'{3'd3,3'd4,3'd2,3'd0},
'{3'd0,3'd0,3'd0,3'd1}};

assign SpriteR = SpritePaletteR[SpriteTableR];
assign SpriteG = SpritePaletteG[SpriteTableG];
assign SpriteB = SpritePaletteB[SpriteTableB];

endmodule
module tetris_I(input [9:0] SpriteX, SpriteY,
            output [7:0] SpriteR, SpriteG, SpriteB);


logic [9:0] X_Index, Y_Index;

assign X_Index = SpriteX % 10'd8;
assign Y_Index = SpriteY % 10'd8;
logic [9:0] SpriteTableR;

parameter bit [7:0] SpritePaletteR[2:0] = '{8'd49, 8'd16, 8'd66};

	always_comb
	begin
		SpriteTableR = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableR = SpriteTableR_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableR = SpriteTableR_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableR = SpriteTableR_2_2[Y_Index][X_Index];
		end
	end

parameter bit [1:0] SpriteTableR_0_0[7:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd2,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd0,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd0,2'd0},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_0_1[7:0][7:0] = '{'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_0_2[7:0][3:0] = '{'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0}};

parameter bit [1:0] SpriteTableR_1_0[7:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd1},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd0,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0,2'd0,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_1_1[7:0][7:0] = '{'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_1_2[7:0][3:0] = '{'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0},
'{2'd0,2'd0,2'd0,2'd0}};

parameter bit [1:0] SpriteTableR_2_0[3:0][7:0] = '{'{2'd0,2'd0,2'd0,2'd1,2'd0,2'd0,2'd0,2'd1},
'{2'd0,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_2_1[3:0][7:0] = '{'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1,2'd1}};

parameter bit [1:0] SpriteTableR_2_2[3:0][3:0] = '{'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd1,2'd1,2'd1,2'd1},
'{2'd0,2'd0,2'd0,2'd0}};

logic [9:0] SpriteTableG;

parameter bit [7:0] SpritePaletteG[6:0] = '{8'd33, 8'd58, 8'd253, 8'd220, 8'd189, 8'd157, 8'd123};

	always_comb
	begin
		SpriteTableG = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableG = SpriteTableG_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableG = SpriteTableG_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableG = SpriteTableG_2_2[Y_Index][X_Index];
		end
	end

parameter bit [2:0] SpriteTableG_0_0[7:0][7:0] = '{'{3'd0,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd5,3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd4,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd5,3'd4,3'd4},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6}};

parameter bit [2:0] SpriteTableG_0_1[7:0][7:0] = '{'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd4,3'd4,3'd4,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd4,3'd5,3'd6},
'{3'd0,3'd3,3'd5,3'd5,3'd4,3'd5,3'd6,3'd6},
'{3'd0,3'd3,3'd5,3'd4,3'd5,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_0_2[7:0][3:0] = '{'{3'd0,3'd3,3'd4,3'd5},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd0,3'd3,3'd5,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd0,3'd4,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd1,3'd0,3'd1,3'd1},
'{3'd1,3'd1,3'd1,3'd1}};

parameter bit [2:0] SpriteTableG_1_0[7:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd5},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd5,3'd6},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd5,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_1_1[7:0][7:0] = '{'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6,3'd6}};

parameter bit [2:0] SpriteTableG_1_2[7:0][3:0] = '{'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd6,3'd6,3'd6,3'd6},
'{3'd1,3'd1,3'd1,3'd1},
'{3'd1,3'd1,3'd1,3'd1}};

parameter bit [2:0] SpriteTableG_2_0[3:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd0,3'd3,3'd3,3'd3,3'd0},
'{3'd4,3'd5,3'd5,3'd0,3'd5,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0}};

parameter bit [2:0] SpriteTableG_2_1[3:0][7:0] = '{'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0,3'd6,3'd6,3'd5,3'd0}};

parameter bit [2:0] SpriteTableG_2_2[3:0][3:0] = '{'{3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0},
'{3'd6,3'd6,3'd5,3'd0},
'{3'd1,3'd1,3'd0,3'd1}};

logic [9:0] SpriteTableB;

parameter bit [7:0] SpritePaletteB[4:0] = '{8'd38, 8'd64, 8'd255, 8'd226, 8'd191};

	always_comb
	begin
		SpriteTableB = 10'd0;
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_0_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_0_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd0 && SpriteX < 10'd8 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_0_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_1_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_1_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd8 && SpriteX < 10'd16 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_1_2[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd0 && SpriteY < 10'd8)
		begin
		    SpriteTableB = SpriteTableB_2_0[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd8 && SpriteY < 10'd16)
		begin
		    SpriteTableB = SpriteTableB_2_1[Y_Index][X_Index];
		end
		else
		if(SpriteX >= 10'd16 && SpriteX < 10'd20 && SpriteY >= 10'd16 && SpriteY < 10'd20)
		begin
		    SpriteTableB = SpriteTableB_2_2[Y_Index][X_Index];
		end
	end

parameter bit [2:0] SpriteTableB_0_0[7:0][7:0] = '{'{3'd0,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd0,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4}};

parameter bit [2:0] SpriteTableB_0_1[7:0][7:0] = '{'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd3,3'd4,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd3,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd3,3'd3,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_0_2[7:0][3:0] = '{'{3'd0,3'd2,3'd3,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd0,3'd2,3'd4,3'd3},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd1,3'd0,3'd0,3'd0},
'{3'd0,3'd0,3'd0,3'd0}};

parameter bit [2:0] SpriteTableB_1_0[7:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1,3'd1},
'{3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2,3'd2},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd2},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd2,3'd3},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd2,3'd3,3'd4},
'{3'd3,3'd3,3'd3,3'd3,3'd3,3'd3,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_1_1[7:0][7:0] = '{'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4,3'd4}};

parameter bit [2:0] SpriteTableB_1_2[7:0][3:0] = '{'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd4,3'd4,3'd4,3'd4},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd3,3'd3,3'd3,3'd3},
'{3'd0,3'd0,3'd0,3'd0},
'{3'd0,3'd0,3'd0,3'd0}};

parameter bit [2:0] SpriteTableB_2_0[3:0][7:0] = '{'{3'd1,3'd1,3'd1,3'd0,3'd2,3'd2,3'd2,3'd0},
'{3'd2,3'd3,3'd3,3'd0,3'd3,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0}};

parameter bit [2:0] SpriteTableB_2_1[3:0][7:0] = '{'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0,3'd4,3'd4,3'd3,3'd0}};

parameter bit [2:0] SpriteTableB_2_2[3:0][3:0] = '{'{3'd4,3'd4,3'd3,3'd0},
'{3'd4,3'd4,3'd3,3'd0},
'{3'd3,3'd4,3'd2,3'd0},
'{3'd0,3'd0,3'd0,3'd1}};

assign SpriteR = SpritePaletteR[SpriteTableR];
assign SpriteG = SpritePaletteG[SpriteTableG];
assign SpriteB = SpritePaletteB[SpriteTableB];

endmodule