1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-03-27 02:04:37 +00:00

Some Work on King & Balloon

This commit is contained in:
Marcel
2019-08-18 12:19:00 +02:00
parent 82d956482c
commit 86e1134ddd
32 changed files with 4012 additions and 1244 deletions

View File

@@ -18,7 +18,7 @@
#
# Quartus II 64-Bit
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
# Date created = 16:42:52 March 10, 2019
# Date created = 21:14:56 August 16, 2019
#
# -------------------------------------------------------------------------- #
#
@@ -46,41 +46,6 @@ set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
set_global_assignment -name SMART_RECOMPILE ON
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
set_global_assignment -name SYSTEMVERILOG_FILE rtl/KingBalloon_MiST.sv
set_global_assignment -name VHDL_FILE rtl/kingballon.vhd
set_global_assignment -name VHDL_FILE rtl/mc_video.vhd
set_global_assignment -name VHDL_FILE rtl/mc_stars.vhd
set_global_assignment -name VHDL_FILE rtl/mc_missile.vhd
set_global_assignment -name VHDL_FILE rtl/mc_logic.vhd
set_global_assignment -name VHDL_FILE rtl/mc_ld_pls.vhd
set_global_assignment -name VHDL_FILE rtl/mc_inport.vhd
set_global_assignment -name VHDL_FILE rtl/mc_hv_count.vhd
set_global_assignment -name VHDL_FILE rtl/mc_col_pal.vhd
set_global_assignment -name VHDL_FILE rtl/mc_bram.vhd
set_global_assignment -name VHDL_FILE rtl/mc_adec.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_a.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_b.vhd
set_global_assignment -name VHDL_FILE rtl/sine_package.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/GAL_FIR.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/GAL_HIT.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_vco.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80sed.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80as.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_Reg.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_Pack.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_MCode.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_ALU.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80.vhd
set_global_assignment -name VHDL_FILE rtl/spram.vhd
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
set_global_assignment -name VHDL_FILE rtl/sprom.vhd
set_global_assignment -name VHDL_FILE rtl/pll.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/video_mixer.sv
set_global_assignment -name VERILOG_FILE rtl/scandoubler.v
set_global_assignment -name VERILOG_FILE rtl/osd.v
set_global_assignment -name VERILOG_FILE rtl/mist_io.v
set_global_assignment -name SYSTEMVERILOG_FILE rtl/hq2x.sv
set_global_assignment -name VHDL_FILE rtl/dac.vhd
# Pin & Location Assignments
# ==========================
@@ -175,10 +140,55 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
# end DESIGN_PARTITION(Top)
# -------------------------
# end ENTITY(KingBalloon_MiST)
# ----------------------------
# ----------------------------
set_global_assignment -name SYSTEMVERILOG_FILE rtl/KingBalloon_MiST.sv
set_global_assignment -name VHDL_FILE rtl/kingballon.vhd
set_global_assignment -name VHDL_FILE rtl/kb_synth.vhd
set_global_assignment -name VHDL_FILE rtl/mc_video.vhd
set_global_assignment -name VHDL_FILE rtl/mc_missile.vhd
set_global_assignment -name VHDL_FILE rtl/mc_logic.vhd
set_global_assignment -name VHDL_FILE rtl/mc_ld_pls.vhd
set_global_assignment -name VHDL_FILE rtl/mc_inport.vhd
set_global_assignment -name VHDL_FILE rtl/mc_stars.vhd
set_global_assignment -name VHDL_FILE rtl/mc_hv_count.vhd
set_global_assignment -name VHDL_FILE rtl/mc_col_pal.vhd
set_global_assignment -name VHDL_FILE rtl/mc_bram.vhd
set_global_assignment -name VHDL_FILE rtl/mc_adec.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_a.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_b.vhd
set_global_assignment -name VHDL_FILE rtl/sine_package.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/prog.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/rom_h.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/rom_k.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/col.vhd
set_global_assignment -name VHDL_FILE "rtl/ROM/kbe1-4.vhd"
set_global_assignment -name VHDL_FILE "rtl/ROM/kbe2-5.vhd"
set_global_assignment -name VHDL_FILE "rtl/ROM/kbe3-6.vhd"
set_global_assignment -name VHDL_FILE rtl/ROM/GAL_FIR.vhd
set_global_assignment -name VHDL_FILE rtl/ROM/GAL_HIT.vhd
set_global_assignment -name VHDL_FILE rtl/mc_sound_vco.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80sed.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80as.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_Reg.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_Pack.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_MCode.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80_ALU.vhd
set_global_assignment -name VHDL_FILE rtl/cpu/T80.vhd
set_global_assignment -name VHDL_FILE rtl/spram.vhd
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
set_global_assignment -name VHDL_FILE rtl/pll.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/video_mixer.sv
set_global_assignment -name VERILOG_FILE rtl/scandoubler.v
set_global_assignment -name VERILOG_FILE rtl/osd.v
set_global_assignment -name VERILOG_FILE rtl/mist_io.v
set_global_assignment -name SYSTEMVERILOG_FILE rtl/hq2x.sv
set_global_assignment -name VHDL_FILE rtl/dac.vhd
set_global_assignment -name VHDL_FILE rtl/ttl_74138.vhd
set_global_assignment -name VHDL_FILE rtl/ttl_74273.vhd
set_global_assignment -name VHDL_FILE rtl/ttl_74367.vhd
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

View File

@@ -23,4 +23,4 @@
---------------------------------------------------------------------------------
ToDo: Change Sound and add Speech
ToDo: add Speech

View File

@@ -43,7 +43,8 @@ localparam CONF_STR = {
"King and Ball.;;",
"O2,Rotate Controls,Off,On;",
"O34,Scanlines,Off,25%,50%,75%;",
"T6,Reset;",
"T5,Reset;",
"V,v1.20.",`BUILD_DATE
};
@@ -69,8 +70,8 @@ wire [7:0] joystick_1;
wire scandoublerD;
wire ypbpr;
wire [10:0] ps2_key;
wire [7:0] audio_a, audio_b;
wire [10:0] audio = {1'b0, audio_b, 2'b0} + {3'b0, audio_a};
wire [7:0] audio_a, audio_b, audio_c;
wire [10:0] audio = {audio_c, 3'b0} + {1'b0, audio_b, 2'b0} + {3'b0, audio_a};
wire hs, vs;
wire hb, vb;
wire blankn = ~(hb | vb);
@@ -80,7 +81,7 @@ kingballoon kingballoon(
.W_CLK_18M(clk_18),
.W_CLK_12M(clk_12),
.W_CLK_6M(clk_6),
.I_RESET(status[0] | status[6] | buttons[1]),
.I_RESET(status[0] | status[5] | buttons[1]),
.P1_CSJUDLR({btn_coin,btn_one_player,m_fire,m_down,m_up,m_left,m_right}),
.P2_CSJUDLR({status[1],btn_two_players,m_fire,m_down,m_up,m_left,m_right}),
.W_R(r),
@@ -89,9 +90,10 @@ kingballoon kingballoon(
.W_H_SYNC(hs),
.W_V_SYNC(vs),
.HBLANK(hb),
.VBLANK(vb),
.VBLANK(vb),
.W_SDAT_A(audio_a),
.W_SDAT_B(audio_b)
.W_SDAT_B(audio_b),
.W_SDAT_C(audio_c)
);
video_mixer video_mixer(
@@ -156,7 +158,7 @@ wire m_left = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_left |
wire m_right = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_right | joystick_0[0] | joystick_1[0];
wire m_fire = btn_fire1 | joystick_0[4] | joystick_1[4];
wire m_bomb = btn_fire2 | joystick_0[5] | joystick_1[5];
//wire m_bomb = btn_fire2 | joystick_0[5] | joystick_1[5];
reg btn_one_player = 0;
reg btn_two_players = 0;
@@ -166,7 +168,7 @@ reg btn_down = 0;
reg btn_up = 0;
reg btn_fire1 = 0;
reg btn_fire2 = 0;
reg btn_fire3 = 0;
//reg btn_fire3 = 0;
reg btn_coin = 0;
wire pressed = ps2_key[9];
wire [7:0] code = ps2_key[7:0];
@@ -183,7 +185,6 @@ always @(posedge clk_24) begin
'h76: btn_coin <= pressed; // ESC
'h05: btn_one_player <= pressed; // F1
'h06: btn_two_players <= pressed; // F2
'h14: btn_fire3 <= pressed; // ctrl
'h11: btn_fire2 <= pressed; // alt
'h29: btn_fire1 <= pressed; // Space
endcase

View File

@@ -1,3 +0,0 @@
:100000000017C7F60017C03F0007C03F00C0C40775
:1000100000C731170031C73F00F607F0003F07C4A3
:00000001FF

View File

@@ -0,0 +1,24 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity col is
port (
clk : in std_logic;
addr : in std_logic_vector(4 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of col is
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"00",X"D8",X"F0",X"07",X"00",X"3F",X"F6",X"07",X"00",X"F6",X"38",X"07",X"00",X"3F",X"38",X"2F",
X"00",X"2F",X"38",X"3F",X"00",X"07",X"38",X"F6",X"00",X"3F",X"16",X"F0",X"00",X"38",X"2F",X"F0");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -1,129 +0,0 @@
:10000000387CC282867C38000202FEFE420200007A
:1000100062F2BA9A9ECE46008CDEF2B2928604005C
:1000200008FEFEC8683818001CBEA2A2A2E6E400C2
:100030000C9E9292D27E3C00C0E0B09E8EC0C0006A
:100040000C6E9A9AB2F26C0078FC969292F2600072
:100050003E7EC888C87E3E006CFE929292FEFE00F4
:1000600044C68282C67C3800387CC68282FEFE008E
:1000700082929292FEFE00008090909090FEFE0090
:100080009E9E9282C67C3800FEFE101010FEFE007E
:100090008282FEFE82820000FCFE02020206040052
:1000A00082C66E3C18FEFE0002020202FEFE000046
:1000B000FEFE703870FEFE00FEFE1C3870FEFE0074
:1000C0007CFE828282FE7C0070F8888888FEFE00BA
:1000D0007AFC8E8A82FE7C0072F69E8C88FEFE0080
:1000E0000C5ED29292F664008080FEFE808000005A
:1000F000FCFE020202FEFC00F0F81C0E1CF8F000F0
:10010000FEFE1C381CFEFE00C6EE7C387CEEC600EF
:10011000E0F01E1EF0E00000C2E2F2BA9E8E860001
:100120000000000000000000FFFFFFFFFFFFFFFFD7
:10013000000001070F1F3F3F0000C08080C080808B
:100140003F3F3F1F0F070100C08080C08080C0007C
:10015000000001070F1F3F3F3F3F3F1F0F070100F8
:10016000000000000000000000000000000040004F
:10017000000000000000000040000000000000003F
:10018000000000000000000000000000000000006F
:10019000000000000000000000000000000000005F
:1001A000000000000000000007070F0F0F0F0F07EF
:1001B000FFFF0F0F0FFFFFFF000000000000000017
:1001C000000000000000000000000000000000002F
:1001D00000000000000000000707070F0F0F0F0FBF
:1001E000FF0F0F0FFEF8E0000F0F0F0F0F070707AD
:1001F00000E0F8FE0F0F0FFF07070707FFFFFFFFE5
:10020000070F0F0F0F0F0707FFFF0F0F0FFFFFFF66
:10021000270717070313032300C0E0F0380200008C
:1002200000000000000000010000000000000000CD
:1002300003030303030303030001000000000000A5
:100240000200000000000000030303030303030394
:10025000000000000000000100000000000000009D
:100260000303030303030303000100000000000075
:100270000200000000000000030303030303030364
:1002800000FFFFFFFFFFFFFF0000FFFFFFFFFFFF7B
:10029000000000FFFFFFFFFF00000000FFFFFFFF67
:1002A0000000000000FFFFFF000000000000FFFF53
:1002B00000000000000000FF00000000000000003F
:1002C000FF00000000000000FFFF00000000000031
:1002D000FFFFFF0000000000FFFFFFFF0000000025
:1002E000FFFFFFFFFF000000FFFFFFFFFFFF000019
:1002F000FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF0D
:1003000003FFFFFFFFFFFFFF0303FFFFFFFFFFFFF1
:10031000030303FFFFFFFFFF03030303FFFFFFFFD1
:100320000303030303FFFFFF030303030303FFFFB1
:1003300003030303030303FF030303030303030391
:10034000FF03030303030303FFFF03030303030389
:10035000FFFFFF0303030303FFFFFFFF0303030389
:10036000FFFFFFFFFF030303FFFFFFFFFFFF030389
:10037000FFFFFFFFFFFFFF03FFFFFFFFFFFFFFFF89
:1003800000000000000744FF0000000000000744D8
:100390000000000000000007000000000000000056
:1003A000000000000000000000000000000000004D
:1003B000000000000000000000000000000000003D
:1003C0000707070703C353FB070707070303C353C5
:1003D00007070707030303C307070707030303030D
:1003E00007070707030303030707070703030303BD
:1003F00007070707030303030707070703030303AD
:10040000FF44070000000000FFFF44070000000059
:1004100044FFFF44070000000744FFFF44070000BB
:10042000000744FFFF44070000000744FFFF4407A4
:100430000000000744FFFF44000000000744FFFFE6
:10044000FF57C70703030303FFFF57C70303030354
:1004500057FFFF57C3030303C757FFFF53C30303EC
:1004600007C757FFFB53C3030707C757FBFB53C31C
:10047000070707C753FBFB5307070707C353FBFBDC
:10048000000000000000000000000000000000006C
:10049000000000000000000000000000000000005C
:1004A000000000000000000000000000000000004C
:1004B00007000000000000004407000000000000EA
:1004C00007070707030303030707070703030303DC
:1004D00007070707030303030707070703030303CC
:1004E00007070707030303030707070703030303BC
:1004F000C70707070303030347C7070703030303EC
:1005000003000008002844400082040192002004F7
:100510000020000009000009000000120060001027
:10052000000000000000000707070707030303C3DC
:1005300044FF00000000FF4457FF07070303FB537D
:100540000700000000000000C707070703030303BC
:100550000203020203020202070707078383838361
:10056000030203020203020387070707030303834F
:100570000202020302020302878787870303030341
:1005800000000003070F1F1F000000A0D0C8C0C05C
:100590001F0F070300000000C0C8D0A0000000002B
:1005A00000000000070F1F3F0000000040B08080E7
:1005B0003F3F3F1F070000008090A0C000000000E8
:1005C0000000000E1F3F7F7F0000008040200000E1
:1005D0007F3F1F0E00000000002040800000000050
:1005E0000000071F3F3F3F3F000000C0A0908080F9
:1005F0001F0F07000000000080B040000000000056
:10060000000000000006050200000000008040908D
:100610000503030000000000F040A01000000000EF
:100620000002010402022012000020401898244019
:10063000260B010202040000402090C02090000020
:10064000007C82827C007C82827C0062928A86624C
:10065000827C008CD2A28284827C0008FE4828180A
:10066000827C009CA2A2A2E4827C000C9292523C6A
:10067000827C00C0A0908E807C82827C007C828202
:10068000000000000000100000000000000000401A
:10069000100000000000000000000000000000004A
:1006A00000000000000010000000000000000040FA
:1006B000100000000000000000000000000000002A
:1006C00000000000000010000000000000000040DA
:1006D000100000000000000000000000000000000A
:1006E00000000000000010000000000000000040BA
:1006F00010000000000000000000000000000000EA
:100700003C4281A5A599423CC0C0C0C0FFFF00008B
:10071000DBDBDF1F00007FFFFF00007FFFDBDBDB99
:10072000FFC0C0FFFFC0C0FFC3C3C3FF7E00007F88
:10073000C3FF7E0000C3C3C30000007EFFC3C3C36A
:10074000000000000000000000000206060E0E0E71
:1007500000000000000000000E0E0606020000006F
:1007600002D9D8DAD9D8D8D80000804020806000DB
:10077000D8D8D9DAD8D902006080204080000000A3
:100780000000030F1C30400F00008000000000003C
:10079000FF0F40301C0F0300FE0206000000800027
:1007A0007C007C82827C00FE7C009CA2A2E400FE95
:1007B000080808FF080808080000000000060600F6
:1007C00000000006363676760000804020100000DB
:1007D00076763636060000000000102040800000CB
:1007E000000001070F1F3F3F0000C08080C08080D5
:1007F0003F3F3F1F0F070100C08080C08080C000C6
:00000001FF

View File

@@ -1,129 +0,0 @@
:10000000387CC282867C38000202FEFE420200007A
:1000100062F2BA9A9ECE46008CDEF2B2928604005C
:1000200008FEFEC8683818001CBEA2A2A2E6E400C2
:100030000C9E9292D27E3C00C0E0B09E8EC0C0006A
:100040000C6E9A9AB2F26C0078FC969292F2600072
:100050003E7EC888C87E3E006CFE929292FEFE00F4
:1000600044C68282C67C3800387CC68282FEFE008E
:1000700082929292FEFE00008090909090FEFE0090
:100080009E9E9282C67C3800FEFE101010FEFE007E
:100090008282FEFE82820000FCFE02020206040052
:1000A00082C66E3C18FEFE0002020202FEFE000046
:1000B000FEFE703870FEFE00FEFE1C3870FEFE0074
:1000C0007CFE828282FE7C0070F8888888FEFE00BA
:1000D0007AFC8E8A82FE7C0072F69E8C88FEFE0080
:1000E0000C5ED29292F664008080FEFE808000005A
:1000F000FCFE020202FEFC00F0F81C0E1CF8F000F0
:10010000FEFE1C381CFEFE00C6EE7C387CEEC600EF
:10011000E0F01E1EF0E00000C2E2F2BA9E8E860001
:100120000000000000000000FFFFFFFFFFFFFFFFD7
:10013000000001070F1F28280000C08080C08080B9
:10014000EA22221F0F070100FF8183C08080C000C8
:10015000000001070F112E2EF13F201F0F07010095
:10016000000001000403010700C0FE067E0E5E1EB3
:1001700001030400010000005E0E7E06FEC00000C8
:10018000000000000000000F0000000000001FFF42
:10019000000001071FFFFFFF00E0F0F8FFFFFFFF77
:1001A00000000000FFFFF3E300000000F0F0F0F8B3
:1001B00000000000000000001F0000000000000020
:1001C000FFFF1F0701000000FFFFFFF8F0E0000045
:1001D000F3FFFF0000000000F8F8F8000000000046
:1001E000000000000000000000000000F0F8F8F837
:1001F000000000000000000007070707FFFFFFFFE7
:10020000F8F0F00000000000000000000000000016
:10021000270717070313032300C0E0F0380200008C
:100220000000030100110C040000FD8D1DFD3D7850
:1002300003030F8FC7E7FFFF1C040C11000103002D
:1002400078783DFD1D8DFD00E3FFFFE7C78F0F03AD
:100250000001030000110C040081FD0D1DFD3D781F
:10026000030F8FC7E7FFFFE31C040C11000003011D
:1002700078783DFD1D0DFD81E3E3FFFFE7C78F0F9C
:1002800000FFFFFFFFFFFFFF0000FFFFFFFFFFFF7B
:10029000000000FFFFFFFFFF00000000FFFFFFFF67
:1002A0000000000000FFFFFF000000000000FFFF53
:1002B00000000000000000FF00000000000000003F
:1002C000FF00000000000000FFFF00000000000031
:1002D000FFFFFF0000000000FFFFFFFF0000000025
:1002E000FFFFFFFFFF000000FFFFFFFFFFFF000019
:1002F000FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF0D
:1003000003FFFFFFFFFFFFFF0303FFFFFFFFFFFFF1
:10031000030303FFFFFFFFFF03030303FFFFFFFFD1
:100320000303030303FFFFFF030303030303FFFFB1
:1003300003030303030303FF030303030303030391
:10034000FF03030303030303FFFF03030303030389
:10035000FFFFFF0303030303FFFFFFFF0303030389
:10036000FFFFFFFFFF030303FFFFFFFFFFFF030389
:10037000FFFFFFFFFFFFFF03FFFFFFFFFFFFFFFF89
:10038000003B3B3B1100000000003B3B3B110000E9
:100390000000003B3B3B1100000000003B3B3B11D9
:1003A00000000000003B3B3B0000000000003B3B26
:1003B000000000000000003B000000000000000002
:1003C0003FEFC7FF0B030303073FEFC7FB0B03031D
:1003D00007073FEFC3FB0B030707073FEBC3FB0B0D
:1003E0000707070703C3FBCB070707070303C3FB85
:1003F00007070707030303C30707070703030303ED
:10040000000000113B3B3B0000000000113B3B3B68
:100410000000000000113B3B000000000000113B09
:1004200011000000000000113B110000000000005E
:100430003B3B1100000000003B3B3B110000000073
:1004400007070707CBFBC3030707070703CBFBC35C
:10045000070707070303CBFB07070707030303CBC4
:10046000070707070303030BCF070707030303036C
:10047000FFCF070703030303C7FFC70703030303F4
:10048000000000000000000000000000000000006C
:100490003B000000000000003B3B000000000000AB
:1004A0003B3B3B0000000000113B3B3B00000000D9
:1004B00000113B3B3B0000000000113B3B3B0000B8
:1004C00007070707030303030707070703030303DC
:1004D000C707070703030303FFC707070303030354
:1004E000FFC7EF3F030303030FFFC7EF3B03030304
:1004F000070FFFC7EB3B030307070FFFC3EB3B03EC
:1005000003280248002044400092042102022004F3
:1005100000220020080044090014000200640210B8
:100520000000003B3B3B1100070707C7FBCB030361
:100530000000000000000000070707070303030393
:1005400000113B3B3B0000000707CFFFC303030341
:100550000000000000000000073F7F3F033B7B3BA3
:1005600000000000000000003F1717373313133B53
:1005700000000000000000003F7F3F073B7B3B0383
:1005800000000003070F1F1F00000080C0C0C7C786
:100590001F0F070300000000C7C0C080000000005C
:1005A00000000000070F1F3F0000000000808E8E3B
:1005B0003F3F3F1F070000008E808080000000004A
:1005C0000000000E1F3F7F7F0000000000001C1C89
:1005D0007F3F1F0E000000001C0000000000000014
:1005E0000000071F3F3F3F3F0000008080808E8E4D
:1005F0001F0F0700000000008E80000000000000B8
:1006000000000000020E010200000000502040B077
:10061000070B020A00000000D890A0502000000044
:10062000000201051342351200002044148824D82A
:10063000240305020A04000042E498B008D4000034
:1006400000000000000000000000000000000000AA
:10065000000000000000000000000000000000009A
:10066000000000000000000000000000000000008A
:10067000000000000000000000000000000000007A
:10068000000000011FC347C780C3A3B1B9BF1F1833
:1006900047C31F01000000001FBFB9B1A3C3800002
:1006A00000183F011FC347C70003A3B1B9BF1F18FC
:1006B00047C31F013F1800001FBFB9B1A3030000CB
:1006C000000000011FC347C783C3A1B1BBBF1E18F1
:1006D00047C31F03FF0000001EBFBBB1A1030300FF
:1006E00000307F011FC347C70003A3B1B9BF1F1864
:1006F00047C31F03FF0000001FBFB9B1A3030000E1
:100700003C4281A5A599423CC0C0C0C0FFFF00008B
:10071000DBDBDF1F00007FFFFF00007FFFDBDBDB99
:10072000FFC0C0FFFFC0C0FFC3C3C3FF7E00007F88
:10073000C3FF7E0000C3C3C30000007EFFC3C3C36A
:1007400000000000000000000003070F0F1F1F1F24
:1007500000000000000000001F1F0F0F0703000033
:10076000F8FCFCFCFCFCFCFC00000000001F1F1F50
:10077000FCFCFCFCFCFCF8001F1F0000000000005B
:100780000000030F1F3F7F7F0000800000800000FB
:100790007F7F7F3F1F0F03008000008307008000E2
:1007A0000000000000000000000000000000000049
:1007B000080808FF080808080000000000060600F6
:1007C00000000E3F7F7FFFFF0000000000000F0FC2
:1007D000FFFF7F7F3F0E00000F0F000000000000B2
:1007E000000001070E1820070000C08000000080F4
:1007F000FF0720180E070100FF8103000080C000E2
:00000001FF

View File

@@ -0,0 +1,150 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity kbe1_IC4 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of kbe1_IC4 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"21",X"FF",X"FF",X"2D",X"20",X"FD",X"25",X"20",X"FA",X"DB",X"00",X"FE",X"F0",X"28",X"FA",X"3E",
X"10",X"3D",X"20",X"FD",X"DB",X"00",X"FE",X"F0",X"28",X"EF",X"FE",X"F1",X"20",X"25",X"21",X"80",
X"01",X"01",X"4F",X"06",X"DD",X"21",X"2A",X"00",X"18",X"4C",X"06",X"02",X"21",X"FF",X"FF",X"2D",
X"20",X"FD",X"25",X"20",X"05",X"05",X"20",X"02",X"18",X"CF",X"DB",X"00",X"FE",X"F1",X"28",X"EF",
X"C3",X"09",X"00",X"FE",X"F2",X"C2",X"5B",X"00",X"21",X"50",X"06",X"01",X"8F",X"10",X"DD",X"21",
X"55",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",X"F2",X"28",X"FA",X"FE",X"F3",X"C2",X"09",X"00",
X"21",X"90",X"10",X"01",X"FF",X"17",X"DD",X"21",X"6D",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",
X"F3",X"28",X"FA",X"C3",X"09",X"00",X"50",X"59",X"7E",X"E6",X"F0",X"D3",X"00",X"3E",X"1B",X"3D",
X"20",X"FD",X"7E",X"E6",X"0F",X"07",X"07",X"07",X"07",X"D3",X"00",X"3E",X"19",X"3D",X"20",X"FD",
X"23",X"EB",X"ED",X"52",X"EB",X"20",X"DF",X"DD",X"E9",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"99",X"99",X"88",X"98",X"88",X"88",X"88",X"88",
X"89",X"99",X"98",X"98",X"88",X"88",X"87",X"88",X"87",X"78",X"9A",X"AA",X"89",X"88",X"98",X"87",
X"78",X"78",X"77",X"8B",X"CB",X"87",X"88",X"A8",X"87",X"78",X"87",X"78",X"AC",X"C9",X"87",X"89",
X"88",X"77",X"87",X"68",X"AD",X"C9",X"87",X"89",X"87",X"67",X"76",X"9C",X"CA",X"77",X"89",X"86",
X"67",X"77",X"AD",X"C9",X"56",X"99",X"96",X"55",X"6E",X"EC",X"85",X"79",X"87",X"67",X"65",X"EE",
X"C8",X"37",X"9A",X"75",X"76",X"8F",X"CB",X"53",X"88",X"95",X"56",X"4F",X"FA",X"A1",X"89",X"87",
X"45",X"4D",X"F8",X"B2",X"5B",X"78",X"45",X"5E",X"F7",X"83",X"5C",X"76",X"65",X"5F",X"F8",X"70",
X"8A",X"94",X"56",X"6F",X"C8",X"50",X"C7",X"83",X"37",X"DF",X"F8",X"05",X"E7",X"71",X"48",X"FF",
X"63",X"0D",X"8A",X"51",X"3F",X"F6",X"A0",X"89",X"68",X"32",X"EF",X"4C",X"05",X"B5",X"73",X"3B",
X"FA",X"D2",X"4D",X"4A",X"41",X"BF",X"FD",X"32",X"F4",X"98",X"0D",X"F0",X"F1",X"3D",X"3C",X"51",
X"FF",X"3D",X"06",X"94",X"F6",X"0F",X"F9",X"A0",X"A5",X"7F",X"36",X"FF",X"F2",X"5B",X"29",X"F0",
X"FC",X"0F",X"0E",X"24",X"FA",X"3F",X"FC",X"A0",X"D0",X"5F",X"0F",X"F0",X"F0",X"86",X"3A",X"F4",
X"FF",X"8A",X"0D",X"26",X"D5",X"F8",X"4E",X"0A",X"46",X"A3",X"FA",X"2E",X"3A",X"83",X"E8",X"CF",
X"0C",X"65",X"C3",X"BA",X"8F",X"07",X"61",X"B8",X"9D",X"6F",X"07",X"80",X"94",X"9E",X"8F",X"14",
X"A0",X"C3",X"8B",X"5F",X"F6",X"80",X"F5",X"A8",X"0F",X"F6",X"E0",X"D7",X"6F",X"0F",X"F1",X"F0",
X"A8",X"5C",X"2F",X"F1",X"E0",X"8C",X"6C",X"0F",X"F1",X"C0",X"AC",X"8B",X"0F",X"F4",X"A0",X"8B",
X"CB",X"0F",X"F3",X"F0",X"98",X"9E",X"0F",X"F0",X"F0",X"BE",X"3D",X"0F",X"F0",X"F0",X"9F",X"27",
X"2F",X"F0",X"E0",X"CF",X"A4",X"3F",X"F0",X"E0",X"AF",X"67",X"9F",X"F1",X"D0",X"6F",X"64",X"FF",
X"F4",X"A0",X"BF",X"20",X"FF",X"07",X"42",X"CF",X"70",X"FF",X"0D",X"20",X"EE",X"70",X"FF",X"00",
X"25",X"FB",X"43",X"FF",X"00",X"07",X"FD",X"31",X"FF",X"09",X"08",X"FB",X"45",X"FF",X"0F",X"00",
X"F9",X"18",X"FF",X"0F",X"00",X"F2",X"37",X"FF",X"0F",X"06",X"F7",X"0C",X"FF",X"5F",X"0A",X"F4",
X"0F",X"FF",X"0F",X"0F",X"F4",X"0F",X"FF",X"5D",X"0F",X"E7",X"0F",X"FF",X"2F",X"00",X"F3",X"0F",
X"FF",X"7F",X"00",X"D0",X"0F",X"F0",X"0E",X"0D",X"F0",X"0F",X"F0",X"0C",X"0F",X"F0",X"0F",X"F0",
X"0A",X"0F",X"C3",X"0F",X"F0",X"08",X"0F",X"F0",X"0F",X"F0",X"06",X"0F",X"F0",X"3F",X"F0",X"00",
X"0F",X"A0",X"7F",X"F0",X"00",X"0F",X"F0",X"FF",X"F0",X"00",X"5F",X"60",X"FF",X"F0",X"40",X"0F",
X"F0",X"FF",X"F0",X"F0",X"EF",X"00",X"FF",X"00",X"F0",X"0F",X"00",X"FF",X"00",X"F0",X"FF",X"05",
X"FF",X"00",X"40",X"FF",X"07",X"FF",X"00",X"A0",X"FF",X"00",X"FF",X"00",X"01",X"F1",X"0F",X"FF",
X"00",X"01",X"FF",X"00",X"FF",X"0F",X"06",X"F3",X"0F",X"FF",X"0F",X"00",X"F0",X"0F",X"FF",X"0F",
X"FB",X"F0",X"0F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"1F",X"F0",X"0D",X"0F",
X"E0",X"5F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"AF",X"F0",X"0F",X"0F",X"90",
X"0F",X"F0",X"0E",X"0F",X"A0",X"0F",X"F0",X"0E",X"0F",X"E0",X"0F",X"F0",X"04",X"0F",X"E0",X"FF",
X"F0",X"0D",X"0E",X"F0",X"BF",X"F0",X"0C",X"2F",X"F0",X"5F",X"F0",X"87",X"1C",X"F0",X"AF",X"F0",
X"CD",X"2B",X"C0",X"3F",X"F0",X"08",X"AB",X"E2",X"1F",X"F6",X"61",X"1E",X"F2",X"6F",X"B0",X"5A",
X"4A",X"F1",X"1F",X"F6",X"02",X"DE",X"B4",X"4F",X"FC",X"30",X"4D",X"E4",X"7F",X"F7",X"03",X"8A",
X"B8",X"48",X"FF",X"00",X"5F",X"C7",X"76",X"FE",X"33",X"49",X"C8",X"74",X"FF",X"60",X"0D",X"DB",
X"83",X"BF",X"96",X"27",X"7A",X"A6",X"FF",X"50",X"3C",X"BA",X"64",X"9F",X"FC",X"00",X"8F",X"D3",
X"AE",X"88",X"57",X"68",X"96",X"8D",X"FD",X"10",X"6F",X"B5",X"93",X"9F",X"F0",X"0A",X"F8",X"88",
X"CF",X"80",X"2B",X"C4",X"88",X"9F",X"F0",X"0C",X"E5",X"75",X"3F",X"F8",X"01",X"AA",X"B8",X"7F",
X"F1",X"0A",X"C6",X"78",X"6F",X"F7",X"06",X"A8",X"77",X"6A",X"FF",X"30",X"16",X"B9",X"7D",X"FD",
X"21",X"57",X"88",X"8C",X"FD",X"66",X"26",X"96",X"8A",X"BE",X"E8",X"03",X"88",X"77",X"DF",X"F9",
X"02",X"55",X"6A",X"BF",X"FD",X"22",X"55",X"58",X"9C",X"FF",X"63",X"44",X"56",X"6C",X"FF",X"74",
X"66",X"45",X"56",X"FF",X"BA",X"95",X"56",X"33",X"DD",X"9A",X"C9",X"69",X"42",X"BD",X"86",X"AC",
X"9A",X"75",X"AA",X"64",X"8A",X"8B",X"A5",X"BB",X"85",X"77",X"59",X"A7",X"BD",X"A7",X"89",X"57",
X"86",X"AA",X"87",X"B9",X"79",X"A7",X"79",X"75",X"98",X"7A",X"A9",X"9A",X"98",X"A7",X"67",X"79",
X"9A",X"97",X"BA",X"89",X"89",X"88",X"66",X"A8",X"8A",X"AB",X"99",X"75",X"A8",X"68",X"9B",X"AA",
X"87",X"B8",X"66",X"79",X"8A",X"87",X"BA",X"88",X"99",X"69",X"85",X"99",X"99",X"BC",X"79",X"85",
X"88",X"86",X"8B",X"9C",X"95",X"88",X"87",X"99",X"6A",X"A8",X"77",X"87",X"AB",X"8A",X"97",X"77",
X"76",X"8A",X"8C",X"BA",X"77",X"96",X"78",X"69",X"9A",X"A8",X"87",X"99",X"79",X"AA",X"78",X"86",
X"79",X"88",X"AB",X"89",X"A9",X"97",X"77",X"88",X"78",X"97",X"AB",X"97",X"9B",X"88",X"86",X"67",
X"88",X"9A",X"99",X"A8",X"89",X"98",X"99",X"79",X"A7",X"68",X"86",X"8A",X"9A",X"CA",X"98",X"86",
X"78",X"78",X"A9",X"78",X"98",X"AA",X"77",X"A9",X"88",X"87",X"78",X"68",X"BA",X"99",X"87",X"89",
X"67",X"AA",X"A9",X"87",X"79",X"88",X"A9",X"99",X"77",X"88",X"67",X"AA",X"AA",X"97",X"77",X"66",
X"8A",X"BB",X"98",X"87",X"67",X"89",X"BB",X"98",X"87",X"67",X"78",X"AB",X"AA",X"A8",X"67",X"67",
X"99",X"AA",X"A9",X"78",X"67",X"89",X"99",X"A9",X"89",X"77",X"88",X"88",X"A8",X"89",X"88",X"99",
X"89",X"98",X"79",X"87",X"88",X"9A",X"A8",X"79",X"88",X"88",X"89",X"A8",X"78",X"88",X"99",X"89",
X"A8",X"89",X"88",X"88",X"89",X"A9",X"89",X"98",X"77",X"78",X"A9",X"89",X"99",X"98",X"78",X"88",
X"89",X"98",X"98",X"88",X"88",X"89",X"99",X"98",X"89",X"97",X"79",X"99",X"98",X"89",X"88",X"88",
X"89",X"97",X"88",X"87",X"8A",X"98",X"99",X"88",X"87",X"89",X"98",X"98",X"99",X"87",X"89",X"98",
X"88",X"88",X"87",X"89",X"A9",X"A9",X"88",X"66",X"69",X"99",X"9A",X"98",X"76",X"69",X"99",X"89",
X"A8",X"97",X"7A",X"8A",X"78",X"77",X"98",X"89",X"A9",X"9A",X"88",X"98",X"79",X"87",X"88",X"88",
X"A9",X"87",X"88",X"89",X"99",X"99",X"78",X"78",X"89",X"99",X"A9",X"88",X"87",X"89",X"98",X"99",
X"88",X"88",X"8A",X"99",X"99",X"88",X"77",X"78",X"89",X"A9",X"89",X"88",X"88",X"88",X"99",X"89",
X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"98",X"89",X"98",X"89",X"89",X"99",X"89",X"97",
X"88",X"89",X"AA",X"9A",X"98",X"88",X"88",X"98",X"89",X"98",X"89",X"88",X"98",X"89",X"98",X"89",
X"88",X"88",X"89",X"98",X"88",X"77",X"88",X"88",X"98",X"78",X"87",X"88",X"78",X"99",X"89",X"98",
X"89",X"88",X"99",X"88",X"99",X"99",X"99",X"99",X"88",X"87",X"88",X"88",X"88",X"88",X"88",X"88",
X"98",X"89",X"88",X"98",X"78",X"88",X"88",X"88",X"77",X"77",X"88",X"79",X"98",X"99",X"99",X"AA",
X"9A",X"AA",X"AA",X"AA",X"A9",X"99",X"98",X"98",X"88",X"88",X"78",X"87",X"78",X"78",X"88",X"78",
X"98",X"89",X"99",X"AA",X"AB",X"BA",X"AA",X"AA",X"AA",X"AA",X"A9",X"99",X"88",X"87",X"66",X"54",
X"45",X"34",X"43",X"34",X"44",X"56",X"67",X"89",X"9A",X"BB",X"BB",X"BB",X"AA",X"AB",X"A9",X"99",
X"99",X"99",X"89",X"98",X"77",X"88",X"88",X"99",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA",
X"A9",X"AA",X"A9",X"99",X"99",X"87",X"78",X"87",X"66",X"66",X"66",X"66",X"66",X"66",X"67",X"78",
X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"88",X"89",X"88",X"88",X"89",X"88",X"88",X"88",X"99",
X"9A",X"AA",X"AA",X"AA",X"AA",X"9A",X"A9",X"99",X"98",X"88",X"77",X"77",X"76",X"66",X"66",X"66",
X"66",X"77",X"77",X"88",X"88",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"AA",X"AA",
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"78",X"87",X"88",X"77",X"77",X"77",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"9A",X"AB",X"A9",X"88",X"78",X"89",X"99",X"98",X"87",X"77",
X"78",X"88",X"87",X"77",X"77",X"76",X"8C",X"BD",X"C9",X"87",X"67",X"89",X"AA",X"99",X"77",X"77",
X"89",X"99",X"98",X"88",X"88",X"88",X"88",X"87",X"77",X"77",X"79",X"DD",X"DC",X"87",X"66",X"8A",
X"AA",X"98",X"87",X"78",X"89",X"99",X"98",X"88",X"88",X"88",X"87",X"77",X"77",X"66",X"9D",X"DC",
X"C7",X"66",X"69",X"BB",X"A9",X"77",X"67",X"89",X"9A",X"98",X"87",X"77",X"78",X"87",X"66",X"66",
X"7B",X"FB",X"E8",X"56",X"78",X"CB",X"B9",X"66",X"77",X"9A",X"9A",X"A9",X"87",X"67",X"78",X"87",
X"55",X"58",X"EF",X"BD",X"66",X"78",X"AB",X"98",X"87",X"98",X"98",X"88",X"A8",X"98",X"77",X"66",
X"55",X"56",X"8F",X"CB",X"A4",X"7A",X"8D",X"B8",X"86",X"6A",X"88",X"9A",X"89",X"76",X"65",X"66",
X"65",X"8C",X"F7",X"E4",X"69",X"7C",X"C8",X"98",X"6C",X"7A",X"A6",X"97",X"77",X"55",X"45",X"7B",
X"F8",X"D5",X"28",X"79",X"E8",X"BA",X"6A",X"87",X"86",X"88",X"66",X"44",X"49",X"FF",X"9D",X"06",
X"67",X"DA",X"BB",X"8A",X"85",X"93",X"85",X"57",X"36",X"9F",X"FB",X"C1",X"66",X"6D",X"9C",X"A7",
X"B7",X"78",X"56",X"44",X"46",X"CF",X"CD",X"71",X"85",X"9D",X"DE",X"97",X"63",X"84",X"75",X"35",
X"5C",X"F8",X"F5",X"5A",X"3B",X"BB",X"E6",X"A4",X"57",X"43",X"12",X"7D",X"F9",X"F4",X"5A",X"4D",
X"AA",X"C9",X"96",X"75",X"31",X"05",X"BF",X"D9",X"80",X"B5",X"DF",X"8D",X"89",X"45",X"43",X"21",
X"7F",X"FF",X"F0",X"B5",X"7F",X"4E",X"79",X"93",X"70",X"00",X"4E",X"FF",X"F0",X"84",X"8F",X"4F",
X"4B",X"64",X"60",X"30",X"9F",X"FF",X"90",X"C0",X"F6",X"BD",X"4C",X"09",X"02",X"46",X"FF",X"F9",
X"0A",X"0F",X"7E",X"A6",X"70",X"80",X"33",X"CF",X"BF",X"09",X"1B",X"98",X"D6",X"A1",X"52",X"36",
X"FE",X"FE",X"3A",X"49",X"99",X"D6",X"50",X"11",X"5F",X"FF",X"F9",X"C1",X"82",X"A8",X"79",X"18",
X"0E",X"9E",X"CC",X"CA",X"86",X"A6",X"62",X"37",X"6E",X"F8",X"F4",X"B5",X"8B",X"6D",X"25",X"16",
X"CE",X"DF",X"5C",X"2A",X"56",X"72",X"87",X"DF",X"8F",X"0D",X"0E",X"58",X"40",X"A6",X"F7",X"F1",
X"B3",X"97",X"46",X"0D",X"7F",X"AF",X"17",X"29",X"56",X"53",X"DB",X"F9",X"F0",X"72",X"87",X"45",
X"6A",X"FE",X"F3",X"80",X"93",X"63",X"AA",X"FF",X"F5",X"52",X"36",X"59",X"9E",X"FE",X"B7",X"61",
X"31",X"5A",X"FF",X"FC",X"54",X"23",X"33",X"8C",X"FF",X"FA",X"63",X"22",X"25",X"AE",X"FE",X"D6",
X"71",X"31",X"4A",X"CF",X"EF",X"59",X"04",X"02",X"AA",X"FD",X"F7",X"92",X"10",X"19",X"AF",X"CF",
X"6B",X"03",X"12",X"A9",X"FC",X"F5",X"90",X"31",X"3A",X"BF",X"DF",X"69",X"12",X"02",X"9B",X"FD",
X"F7",X"A1",X"30",X"57",X"DF",X"FF",X"8A",X"03",X"05",X"8E",X"FF",X"D9",X"60",X"10",X"78",X"FF",
X"F9",X"A3",X"20",X"09",X"9F",X"DF",X"5B",X"03",X"02",X"7C",X"06",X"F8",X"90",X"20",X"06",X"EF");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,150 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity kbe2_IC5 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of kbe2_IC5 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF",
X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF",
X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF",
X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF",
X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF",
X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF",
X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF",
X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF",
X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9",
X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6",
X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95",
X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73",
X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72",
X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41",
X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00",
X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14",
X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A",
X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF",
X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE",
X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8",
X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52",
X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22",
X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24",
X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35",
X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46",
X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87",
X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB",
X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB",
X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8",
X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA",
X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77",
X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77",
X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88",
X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",
X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",
X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99",
X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99",
X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99",
X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89",
X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88",
X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88",
X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88",
X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99",
X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98",
X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA",
X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67",
X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87",
X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA",
X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87",
X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68",
X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9",
X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78",
X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A",
X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97",
X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78",
X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99",
X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97",
X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79",
X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56",
X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB",
X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68",
X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8",
X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77",
X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37",
X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF",
X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4",
X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14",
X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC",
X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE",
X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB",
X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76",
X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54",
X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54",
X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56",
X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66",
X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55",
X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45",
X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54",
X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64",
X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76",
X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8",
X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC",
X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD",
X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56",
X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64",
X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF",
X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D",
X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54",
X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA",
X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54",
X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB",
X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76",
X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79",
X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76",
X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56",
X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B",
X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC",
X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44",
X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67",
X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55",
X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76",
X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8",
X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8",
X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA",
X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67",
X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89",
X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67",
X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87",
X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA",
X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79",
X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99",
X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,150 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity kbe3_IC6 is
port (
clk : in std_logic;
addr : in std_logic_vector(10 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of kbe3_IC6 is
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"A9",X"99",X"98",X"87",X"76",X"66",X"66",X"78",X"9A",X"BC",X"CB",X"A9",X"87",X"66",X"68",X"99",
X"AA",X"A9",X"87",X"77",X"77",X"89",X"AA",X"99",X"98",X"88",X"99",X"88",X"77",X"66",X"67",X"78",
X"89",X"AB",X"CB",X"AA",X"98",X"77",X"78",X"89",X"9A",X"99",X"88",X"88",X"88",X"89",X"99",X"98",
X"88",X"88",X"88",X"99",X"99",X"87",X"76",X"66",X"77",X"89",X"AA",X"BB",X"B9",X"98",X"77",X"77",
X"89",X"9A",X"99",X"98",X"77",X"78",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"87",X"66",
X"77",X"78",X"99",X"9A",X"AA",X"A9",X"98",X"88",X"78",X"88",X"99",X"99",X"98",X"88",X"88",X"89",
X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"77",X"78",X"88",X"88",X"99",X"9A",X"AA",
X"99",X"88",X"77",X"78",X"99",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",
X"89",X"99",X"99",X"98",X"87",X"77",X"77",X"78",X"89",X"99",X"AA",X"AA",X"98",X"87",X"77",X"78",
X"88",X"88",X"88",X"98",X"88",X"88",X"99",X"98",X"88",X"87",X"89",X"AA",X"A9",X"76",X"66",X"8C",
X"EC",X"96",X"44",X"68",X"DF",X"D8",X"63",X"46",X"8D",X"FC",X"76",X"43",X"7A",X"9D",X"D9",X"67",
X"44",X"8A",X"8D",X"D9",X"66",X"35",X"A9",X"BE",X"B6",X"65",X"48",X"B8",X"DC",X"96",X"64",X"69",
X"9A",X"EC",X"86",X"54",X"8B",X"8D",X"D8",X"56",X"46",X"A9",X"BE",X"A6",X"64",X"5A",X"A7",X"EB",
X"77",X"64",X"7B",X"7D",X"E8",X"57",X"37",X"C8",X"AF",X"95",X"74",X"4A",X"A9",X"FA",X"46",X"64",
X"BB",X"5F",X"D5",X"58",X"37",X"C6",X"EF",X"63",X"84",X"7D",X"6A",X"F9",X"37",X"56",X"B7",X"BF",
X"83",X"66",X"8D",X"59",X"F9",X"45",X"78",X"C5",X"BF",X"75",X"65",X"9C",X"3A",X"F7",X"47",X"6A",
X"C2",X"CF",X"63",X"84",X"AC",X"3D",X"F4",X"27",X"7B",X"A4",X"FE",X"42",X"68",X"BA",X"9F",X"93",
X"26",X"BD",X"4B",X"F8",X"33",X"5B",X"C6",X"FC",X"44",X"56",X"E7",X"5F",X"C4",X"35",X"7C",X"5C",
X"F7",X"46",X"4A",X"B2",X"FE",X"54",X"77",X"B5",X"7F",X"95",X"56",X"9B",X"2F",X"D5",X"47",X"9D",
X"55",X"F8",X"25",X"8A",X"B5",X"FA",X"43",X"69",X"E6",X"9F",X"73",X"47",X"DA",X"4F",X"A5",X"52",
X"5F",X"8E",X"E3",X"47",X"5B",X"78",X"F8",X"35",X"48",X"D5",X"FF",X"54",X"44",X"B9",X"CF",X"42",
X"87",X"97",X"7F",X"B3",X"45",X"6D",X"7F",X"C5",X"75",X"4A",X"6F",X"F4",X"17",X"88",X"47",X"FA",
X"35",X"48",X"B6",X"FC",X"55",X"78",X"93",X"FE",X"64",X"67",X"B5",X"CF",X"48",X"55",X"B9",X"6F",
X"64",X"57",X"9A",X"5F",X"91",X"64",X"6D",X"3F",X"F0",X"34",X"7C",X"58",X"F6",X"53",X"2A",X"A4",
X"F8",X"37",X"49",X"A1",X"FF",X"46",X"47",X"C5",X"AF",X"67",X"47",X"C6",X"5F",X"96",X"54",X"BB",
X"0F",X"F2",X"81",X"3F",X"82",X"F9",X"64",X"1C",X"D1",X"AF",X"7E",X"00",X"FE",X"1F",X"A7",X"D0",
X"4F",X"4A",X"F2",X"D0",X"0F",X"90",X"F8",X"CC",X"08",X"E3",X"FF",X"2F",X"00",X"F9",X"2F",X"8E",
X"D0",X"8B",X"5B",X"F2",X"F0",X"2E",X"83",X"F8",X"F6",X"0A",X"A6",X"FF",X"3F",X"02",X"EB",X"4F",
X"9E",X"A0",X"89",X"5F",X"F1",X"F0",X"0C",X"B5",X"FB",X"8E",X"08",X"95",X"BF",X"6E",X"60",X"9A",
X"5F",X"F3",X"F0",X"28",X"4E",X"F6",X"9B",X"0A",X"87",X"8F",X"8F",X"10",X"95",X"BF",X"F2",X"F1",
X"0B",X"8C",X"8D",X"AF",X"05",X"78",X"CF",X"99",X"60",X"DA",X"C5",X"C8",X"F0",X"08",X"4D",X"DF",
X"8C",X"07",X"8F",X"48",X"DC",X"D0",X"90",X"D5",X"FE",X"64",X"0A",X"DA",X"2F",X"5F",X"40",X"83",
X"6C",X"FF",X"C0",X"0F",X"79",X"DB",X"4F",X"07",X"60",X"BF",X"F3",X"F0",X"97",X"DA",X"D5",X"CB",
X"0F",X"0D",X"6F",X"9E",X"40",X"77",X"F3",X"F7",X"F3",X"37",X"4B",X"5F",X"5F",X"00",X"9B",X"87",
X"F3",X"F0",X"59",X"08",X"EF",X"7F",X"05",X"79",X"8C",X"F6",X"F0",X"84",X"28",X"EF",X"3F",X"03",
X"77",X"BB",X"F5",X"F1",X"55",X"1B",X"CF",X"BF",X"03",X"6B",X"A8",X"F5",X"F3",X"46",X"36",X"EF",
X"1F",X"02",X"3A",X"78",X"FB",X"E6",X"24",X"46",X"BF",X"7F",X"81",X"0D",X"09",X"FD",X"FA",X"03",
X"60",X"BF",X"FB",X"F0",X"29",X"07",X"CF",X"AF",X"35",X"33",X"49",X"FB",X"F8",X"40",X"32",X"9F",
X"FB",X"E4",X"16",X"06",X"CF",X"FF",X"61",X"30",X"99",X"ED",X"FA",X"64",X"26",X"3E",X"EE",X"B6",
X"36",X"66",X"D7",X"F8",X"B5",X"47",X"5B",X"CB",X"6A",X"76",X"88",X"69",X"A9",X"C8",X"57",X"88",
X"89",X"88",X"9B",X"79",X"A5",X"9A",X"88",X"A5",X"9A",X"87",X"87",X"9C",X"79",X"89",X"69",X"88",
X"88",X"A8",X"C6",X"77",X"6B",X"98",X"9A",X"5A",X"65",X"A9",X"B8",X"A5",X"B6",X"68",X"9B",X"7C",
X"89",X"77",X"49",X"E7",X"C7",X"88",X"95",X"7A",X"9D",X"99",X"76",X"55",X"BA",X"D9",X"B5",X"87",
X"27",X"AE",X"EB",X"54",X"86",X"67",X"DD",X"C7",X"77",X"43",X"7C",X"FD",X"A5",X"67",X"55",X"7D",
X"DC",X"D6",X"05",X"84",X"AE",X"DC",X"95",X"27",X"36",X"BF",X"FA",X"71",X"65",X"66",X"FD",X"FB",
X"51",X"27",X"5B",X"FF",X"B8",X"32",X"44",X"7D",X"FF",X"B3",X"23",X"65",X"9F",X"FF",X"84",X"03",
X"57",X"DF",X"F7",X"53",X"34",X"77",X"FF",X"D8",X"32",X"27",X"7B",X"FE",X"C7",X"30",X"69",X"5E",
X"FE",X"75",X"03",X"77",X"9F",X"FD",X"61",X"15",X"78",X"CF",X"CB",X"70",X"09",X"94",X"FF",X"E6",
X"20",X"38",X"B8",X"FF",X"D1",X"13",X"58",X"8D",X"FD",X"86",X"01",X"AA",X"6D",X"FC",X"83",X"03",
X"AA",X"5F",X"FA",X"42",X"16",X"A7",X"AF",X"F9",X"51",X"19",X"A7",X"AF",X"E7",X"41",X"2A",X"A4",
X"FF",X"B6",X"30",X"3D",X"A6",X"FF",X"85",X"30",X"5C",X"97",X"FF",X"62",X"02",X"9C",X"7B",X"FB",
X"46",X"00",X"DD",X"6C",X"F8",X"44",X"03",X"CE",X"7E",X"F6",X"14",X"28",X"E9",X"4F",X"F2",X"64",
X"0C",X"F6",X"5F",X"D1",X"94",X"0B",X"F7",X"5F",X"C0",X"64",X"6C",X"D3",X"6F",X"93",X"A1",X"3F",
X"B1",X"BF",X"44",X"B0",X"5E",X"D0",X"BF",X"13",X"B3",X"7F",X"70",X"FF",X"07",X"80",X"BF",X"70",
X"FF",X"2B",X"60",X"CD",X"52",X"FC",X"09",X"73",X"DB",X"32",X"F7",X"2B",X"37",X"F9",X"07",X"F7",
X"4B",X"19",X"F7",X"18",X"F4",X"99",X"1B",X"A9",X"0A",X"F5",X"78",X"4B",X"C4",X"0F",X"F1",X"99",
X"2D",X"B3",X"0F",X"F4",X"A5",X"6B",X"96",X"0F",X"E2",X"97",X"3D",X"C0",X"3F",X"82",X"F4",X"1F",
X"90",X"AF",X"06",X"F0",X"3F",X"90",X"FF",X"0A",X"E0",X"AE",X"00",X"FF",X"0E",X"A0",X"DD",X"04",
X"FF",X"2F",X"40",X"FA",X"0E",X"F1",X"6F",X"05",X"F1",X"0F",X"F0",X"CC",X"09",X"F0",X"3F",X"F4",
X"C6",X"0D",X"F0",X"AF",X"45",X"E3",X"0F",X"40",X"FF",X"0C",X"C0",X"6F",X"00",X"FF",X"2C",X"70",
X"9F",X"06",X"FF",X"3E",X"50",X"F9",X"0F",X"F0",X"8E",X"02",X"F4",X"0F",X"F0",X"B8",X"08",X"F0",
X"1F",X"F2",X"B6",X"0E",X"C0",X"FF",X"F4",X"C1",X"1F",X"A0",X"FF",X"16",X"B0",X"4F",X"50",X"FF",
X"09",X"B0",X"AF",X"08",X"FF",X"1B",X"50",X"CC",X"0F",X"F4",X"3B",X"30",X"FA",X"0F",X"F0",X"4E",
X"06",X"F1",X"2F",X"F0",X"A9",X"0A",X"E0",X"9F",X"50",X"97",X"0C",X"E0",X"FF",X"20",X"D4",X"3E",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -1,769 +0,0 @@
:10000000AF320170C32213003A2F43113043183B23
:100010004FEB216040C3EF01E15E235623C35D0037
:10002000856F3001247EC90087E3E75F2356EBE943
:10003000E15E2356234E233EC74623C65991C5068B
:1000400000EDB04FEB09EBC110F4E9EB856FD62C56
:10005000E67F322F43712C702C732C72C9ED530044
:1000600043E92A0043E908D9DDE5FDE53A0078AF28
:10007000320170323E58000000000000000021C82C
:10008000421106580604AF96121C1C121C1C2C10A0
:10009000F53AD742ED441136580603121C1C10FBEA
:1000A0003A08434F3A0343A14F217042114058068A
:1000B000082C78FE063EF038073CCB4120023EEF8C
:1000C00096121C1C1C2D7E122C2C1C10E4DD21B061
:1000D0004206081C78FE063E0030013DDD96011206
:1000E0001C1C3EFBDD9600CB4120032FD605121CC5
:1000F000DD23DD2310DD21E04211015806207E12B0
:100100002C1C1C10F921104206087E122C1C7E1299
:100110002C1C1C1C10F4012801CF21017036003664
:1001200001FDE1DDE1D908C92A8442237DB4280319
:10013000228442CD6200CD8601CD2107CD7204CD4F
:100140005905CD4408CDD208CD4611CD0B02CD3096
:1001500002CD6F20CDE21ECD921BCDAA1D2640AF51
:10016000C6606F7ED6013816772013E57DD660878E
:1001700087C6806F4E2C462C5E2C56EBCFE17DD689
:100180005FE61F20DBC9211843347EE60FC07E0FD7
:100190000F0F0F473A19432FB04F3A1543D601308E
:1001A00002AF4F280179320160793200602120537B
:1001B0001180503A0343A72801EB3C4F3A1A43A061
:1001C000CCD101C4E001EB3A0243A7281379EE0336
:1001D0004FE5FDE1FD360019FD36201EFD7140C9D9
:1001E000E5FDE13E24FD7700FD7720FD7740C9065F
:1001F000207EA728042C10F9C9717DD6608787C698
:10020000806FC1712C702C732C72C9211D43111C7D
:10021000430100031A873811F03F7ECE0027FE60AD
:1002200038023E00772C10F1C9712C10FC0F12C956
:100230003A1543FE99D000000000000000000000C5
:1002400000000000000000000000000000000000AE
:100250003A00602F0F2111437E1777E60FD60CCCA2
:10026000A0253A00602F0F0F2112437E1777E60F6B
:10027000D60CC0019302CF21134334347EFE02C05A
:10028000018502CFC93E08D7C3CF250032046035AF
:1002900020F3C9000000000000000000003A0C43F9
:1002A000211543862730023E9977216B22D42220E4
:1002B0003A1643A7C811154321BF52010101C35C7F
:1002C0000321054306031ABED820051C2C10F7C9CC
:1002D0001A771C2C10FAC947E6F04F781F473806EA
:1002E0001F1F1FE60F4F3E0390E60747E72D7E894D
:1002F00027770E0010F7D036992C36992C3690C9F6
:100300004FC579CD0A03C110F8C9473A1743A7C0B2
:1003100078210D40CDD702CD4B04CD3103110D40D6
:10032000CDC102112D40CDC102110543214152180A
:1003300028110D403A0343A7201C21A153181A117C
:100340000D40212D403A0343A72801EBE5CD3A03A8
:10035000D13A0243A7C82101510104033EE0C54739
:100360001A0F0F0F0FE60F20070DFA70033E24FA45
:100370000E00771AE60F20070DFA7F033E24FA0ECF
:1003800000D55816FF197719D11C78E344E110CE37
:10039000C9C6406F262766CD9D036729C9AF6F5731
:1003A000CB7C280193CB7B280194060829300119C6
:1003B00010FA84C92E000611AF17BB3801933FED28
:1003C0006A10F6C90100081100407C92799B38053B
:1003D0004F7C9267A73FCB1329CB1129CB1110EA91
:1003E000C9FD2120437B9530022F3CFDCB01164FE8
:1003F0007A9430022F3CFDCB03165FB1F20304CB9D
:1004000039CB3BFD7100FD730263CD9D03E559635C
:10041000CD9D03D119CDC403FD6600CDB4037CA7E7
:100420007D28023EFFA72809FDCB011E30022F3C8C
:100430001F4FFD6602CDB4037CA77D28023EFFA7B7
:10044000C8FDCB031E30022F3C1FC93A1040A7C085
:100450002A0D407D6C67292929297C210A43BED8B1
:100460003E01321040217522CD1D20210A4034C3A7
:1004700077183AD0423DC0CDB70429292929ED5B30
:10048000D2421922D2427A47E6F86F260029291172
:1004900018501978E607C670112000772CC6087727
:1004A00019C610772DD6087778FED0D0E607C6900B
:1004B00019772CC60877C93A1743A720343AD14296
:1004C000472100003A08434F3A0343A13A0060280D
:1004D000033A006887878787873809F03AD342FE56
:1004E000D0D068C9F83AD342FE21D8AF90C86F2562
:1004F000C93A1843E61FFE102023010008DD212021
:1005000042CD2D05DD23DD2310F70607DD219042C6
:10051000CD3A05DD23DD2310F7793286423AD14208
:10052000472100003A86428738BBC818AFDD7E00FD
:10053000A7C8DD6E50DD6651180DDD7E00DDB60109
:10054000C8DD6E20DD66210D3AD342BC3EA03804E2
:10055000BDD01802BDD80C0CC93A8042A7C83A9E3B
:1005600042A720473AD0423D28066F6722BE42C9C3
:10057000CD78063A1743A728083A1843E61FC01853
:10058000253A0843473A0343A03A006028033A005B
:10059000682F070707072183427E1777E60FD60CDF
:1005A000C03E08CDE7053EB0329E423A9E4226004C
:1005B000873001256F2929293AAE428532AE423A69
:1005C000BE428C32BE422ABE423A1843E601873D03
:1005D00084677DFE10DA740622BE42D618FE4038CB
:1005E000183E0132C042C9473A1743A7C03E013204
:1005F000056878D7AF320568C96FE6F00F0F0F0FA7
:10060000EB21C842E7EBED448467222443AF32C0BC
:10061000427DE60FFE0CD07CE60FD602FE0CD03EEB
:100620000132C0427DE6F00F0F0FCB04CE006F7C8D
:10063000E6E00707073C4726403E800710FDA6C8B6
:10064000AE777DD60021E342E7218606E7CD0A0397
:100650002A24437D0F0F0FE61E5F7C070757E6C075
:10066000B35F7AE603572103501901E006CF214B0F
:1006700022CD1D20AF329E423A18430F3AD342CECC
:1006800007672EBC22BE42C951413121E5DDE1E5BB
:10069000DD36F030E13E08D7E5DDE1DD36F0313E14
:1006A00008D7E5DDE1DD36F0283E08D7E5DDE13AA3
:1006B0002E42FE03201E0107072120427EB9281486
:1006C0002C2C10F8DD360007DD36F03C3AFB42DD1D
:1006D00077F11848AFDD7700DD7750DD7751183CB2
:1006E000E5FDE1E53EC0CDD719E13E08D7E5FDE1E6
:1006F0003EC4CDD7193E08D7E5FDE13EA0CDD719C0
:100700003E08D7E5FDE1CDC8190608AF210040B687
:100710002C10FCA7200632C342CD740821084035B6
:10072000C93A2E42A7C83AD742CDFF073A2E423DDA
:10073000C03AD5426F2600ED5BD6423AD442BA2881
:10074000303006AF9528026F25292929291922D68C
:10075000427CE603C0CB54200CF71B5003024445F7
:1007600046474849C9F71B5003024A4B4C4D4E4F70
:10077000C921D4423AD342860F473A184380FE201B
:100780003002C620FED13802D62F77C921321B1184
:10079000E042012000EDB0F751500A02303132330F
:1007A0003435365F5F5F243738393A3B3C5B6B5BEF
:1007B000F791530A0230313233343D3E533F5324D4
:1007C0003738393A40415F5F5F219950112000016D
:1007D0009818711910FC3E20211B50111E00062094
:1007E00036242C36242C36671910F532D74232D4F1
:1007F00042ED441136580603121C1C10FBED442F29
:10080000C6E4CD080879C62C4FE6F86F26002929E2
:10081000111B501979E607C650112000772C772C50
:10082000C6107719C60CFE7038023E6F772DD610B1
:10083000772D77FE5FC01979E607C654772C772CA1
:10084000C61077C93AC042A7C82AC242296C2600FE
:10085000300125292929294C7DA721C1427ECC7E42
:10086000082600873001256F2929ED5BC242192235
:10087000C242297C21C8420604772C10FCC9A7C8B3
:10088000DD210040DD7E00DDB602DDB604DDB6060A
:100890005FDD7E01DDB603DDB605DDB60757B320AB
:1008A000033333C9CB7E281506027BA7200306FA43
:1008B0007A050F30FC78B97EF8ED4477C906FE7AE8
:1008C000A7200306067B040730FC79B87EF8ED44C8
:1008D00077C93A0242A7C8CD380DDD21204206076C
:1008E000C5DD7E00210209EF26003409470ACE0A41
:1008F0002600A80DEE0EC80E26002600500AEE0EA9
:10090000EE0EDD7E00212309EF26002B092B092E98
:100910000926002B09B20F2600260026002E090307
:10092000104B10DD23DD23C110B6C9CDD511CD4D3F
:100930000CC3C40CDD7E50FEDE381EDD3600022105
:100940002D0A3A08403DBE233804232318F85E23BD
:1009500056EBCD331DDD7701C9FEC0383B3A084068
:100960003D3A044220033A054247DD7E30CD7F09FF
:10097000DD7730DD7E31CD8709DD7731C3D40BA73C
:10098000FA8509B8D078C9A7FA8F09B8D878C9ED1F
:1009900044B8380178ED44C9118001DD6E20DD6670
:1009A0002119DD7520DD7421CDAF09CDD409C9DD54
:1009B0007E21871E20CD91037CDD8630876F260047
:1009C000300125DD5650DD5E4029292919DD7540AD
:1009D000DD7450C9DD7E211E10CD91037CDD863192
:1009E000876F2600300125DD5651DD5E412929291A
:1009F00019DD7541DD7451DD7E3187381AC8DD7E21
:100A000051C608FEF8D8DD7E31ED44DD7731DD36A4
:100A100051EFDD362180C9DD7E51FEF8D8DD7E3113
:100A2000ED44DD7731AFDD7751DD7721C906390A35
:100A3000123B0A1E410AFF450AFFB401780596FFE2
:100A4000B40378FF96FF78DD3501C0DD360003C9B9
:100A5000CDD40BDD7E50FE083054AFDD360003DD13
:100A60007750DD77516F67322E42227E42328142CB
:100A700032034232024232804232C04232C5423EEA
:100A80000232D042216523CD4D20219322CD4D202D
:100A9000218522CD1D203E03CD0620F78D51010971
:100AA00043240E220B240E220B01720BCFC9C61059
:100AB0002EDEBD30016FDD6651227E42E607C0CBDF
:100AC0005D2E3428012C3AFB4267221E42C9CDD448
:100AD0000BDD7E50FED0380D3A0A42ED44DD773012
:100AE000DD363100C92AC242296C2600300125DDDD
:100AF0007E100F4FE6F085577CCE00C07987878740
:100B000087C6185FDD6E50DD66517C9220027D93B2
:100B100020243A0840FE07300DDD360001DD6E501E
:100B2000DD6651C3C81CAFDD7700DD7750DD77513E
:100B3000CDB60BC30D1FCDE10367CD4C0B5FCD9739
:100B400003DD743161CD9703DD7430C97BFE203045
:100B50000C3AC142A7F25A0BED44C610C9DD7E0023
:100B6000FE0A3A0A42C03A08403D3A0742C03A08F3
:100B700042C93EB4D7AFCD06200607DD212042C5CD
:100B8000CDAB0BAFDD7700DD7750DD7751DD23DDB9
:100B900023C110EBDD7700DD7750DD7751010030A8
:100BA000219042712C10FCDF391AC9DD7E00A7C8E4
:100BB000FE04C8FE07C8210040DD7E10E61F856FD9
:100BC000DD7E10E6E00707073C4F473E800710FD3B
:100BD000AE7741C9CDDB0BCD060CC9DD7E30DD5EC5
:100BE00040DD56502600876F30012529292919DD5F
:100BF0007540DD74507CFEF0D8DD365000DD7E306F
:100C0000ED44DD7730C9DD7E31DD5E41DD565126B4
:100C100000876F30012529292919DD7541DD7451BF
:100C2000DD7E31873814C87CC608FEF8D8DD7E31F9
:100C3000ED44DD7731DD3651EFC9DD7E51FEF8D868
:100C4000DD7E31ED44DD7731DD365100C93A9E421B
:100C5000A7C83ABE42DD9650FE0CD03ABF42DD96A0
:100C600051D602FE0CD03E0132C042CD7406DD7E6C
:100C700000FE04C8FE0A0602200104DD7EF1218682
:100C800006E7CD0003CD9A0CDD360004DDE5E10179
:100C90008C06CF214B22CD1D20C9DD7E00FE0AC06F
:100CA0003E03322E42219322CD4D20211D21CD1D08
:100CB000203E02CD062021AD5111200001240671F5
:100CC0001910FCC93A2E423DC03ED0DD9650FEE1DF
:100CD000D83AD742DD9651C60CFE19D0DD36000A4F
:100CE000219322CD1D203E01CD0620060721204262
:100CF0007E3D200236032C2C10F63E02322E42AFEF
:100D0000320342328142DD6E50DD6651227E427CEA
:100D1000ED44571E00CD360B2E343AFB4267221E9F
:100D200042F71B500302242467242467F7AD5101C6
:100D300006432419150E11C9DD212E42DD7E00FE69
:100D400003C03A09428726003001256F292929DD91
:100D50005E40DD565019DD7540DD74507CFEDD3897
:100D600035DD7E51DD360001DD365000DD365100C7
:100D70000120D0B9300179B8380178CDD807211DCC
:100D800021CD4D20AFCD06203A0840A7C83E013204
:100D90000342328142C9E607C0CB5C2E3628012CC3
:100DA0003AFB4267221E42C9CDD40B2120420100EA
:100DB000077EFE0520010C2C2C10F679FE03281569
:100DC00006072120427EFE05200236032C2C10F55A
:100DD000AF320042C9DD7E50FE58303DDDE5E12CEA
:100DE0002C7DFE2E20022E207EFE0520F2115000CA
:100DF000195E2C56DD6E50DD6651CDE103677BFE3A
:100E000010D83A0442875FCD9703DD743161CD97E6
:100E1000033A044284DD7730C9010507FD212042F1
:100E2000C5CD600EC1FD23FD2310F5FD212E42FD31
:100E30002BFD2BFD7E00FE0820F5212E422D2D7E60
:100E4000FE0620F9FD36F03A11F1FF197EFD77F12B
:100E5000115F00197ED610FD77502C7EFD7751C9A9
:100E6000FD7E00B9C03A01428787FD86F121B60EAA
:100E7000E7FD77003A01422FC606FD77F1FD7E00BF
:100E8000FE06280AD609C0FD7750FD7751C9FD3608
:100E9000F03BFD6E50FD66513AD742571EFFFDE50F
:100EA000CDE103FDE1673A06425FCD9703FD743162
:100EB00061CD9703FD7430C90106090809010806D0
:100EC00006080109080906013A2E42FE03280BAF65
:100ED000DD7700DD7750DD7751C92A7E427DD6105F
:100EE000DD7750DD7451E607C0DD36F03CC9DD7EAC
:100EF00050FEC03026CD9809010807FD212042FD93
:100F00007E00B92807FD23FD2310F4C9DD7E50D6ED
:100F100010FD7750DD7E51FD7751C9DD7E10E6066C
:100F200021E342E7DD77F1DD36F02C3A0442DD774C
:100F300030DD360001010907FD212042FD7E00B9A8
:100F40002807FD23FD2310F4C9FD7E10E60621E3EA
:100F500042E7FD77F1FD36F02CDD7E50FD7750DD68
:100F60007E51FD77513A0442FD7730FD7731FD36F1
:100F70000001010807FD212042FD7E00B92807FD80
:100F800023FD2310F4C9FD7E10E60621E342E7FDB0
:100F900077F1FD36F02CDD7E50FD7750DD7E51FD82
:100FA00077513A0442FD7730ED44FD7731FD36004C
:100FB00001C93A9E42A7C83ABE42DD9650FE0CD007
:100FC0003ABF42DD9651FE10D0CD7406CD9010DDB3
:100FD0007EF1213C11E7DD77F1DD36F03EDD3600B4
:100FE0000B212E422D2D7EFE0820F9E5FDE1FD7E30
:100FF00050C610FD77503604018C06CF214B22CD10
:101000001D20C93A9E42A7C83ABE42DD9650FE0C4A
:10101000D03ABF42DD9651D601FE0ED0CD7406CD3A
:101020009D10DD7EF1214011E7DD77F1DD36F02CFA
:10103000DD36000C212E422D2D7EFE0920F93604CE
:10104000018C06CF214B22CD1D20C93A9E42A7C854
:101050003ABE42DD9650FE0CD03ABF42DD9651D6E4
:1010600002FE0CD0CD7406CDAA10DDE5E1360401F8
:101070008C06CF214B22CD1D20AF3203423281425C
:101080003EF0D73A80423281423A0242320342C9AC
:10109000211A11CDB710212611CDEF10C9211E1133
:1010A000CDB710212E11CDEF10C9212211CDB710CF
:1010B000213611CDEF10C93A0142E7FE2320073E49
:1010C00013CD0A033E52CD0A03DD7E51E6F8FE1829
:1010D00030023E18FEC038023EC06F26002929DDCE
:1010E0007E50E6F80F0F0F856F11215019EBC93AAA
:1010F000014287E74E2346EB1120007EFE242008A4
:10110000E5197EE1FE2428032B18F07119703E1EAC
:10111000D711E0FF3624193624C922324252325206
:10112000621352721323C8C9C8CAC8CBC8CCC8CA74
:10113000C8CCC8CDCFF4C8CCC8CECFF4CFF503050A
:101140000204050403023A8042A7C8DD219042064A
:1011500007C5DD7E00A7C46B11DD7E01A7C4A41105
:10116000CDEF11DD23DD23C110E7C9260087300153
:10117000256F292929DD5E10DD562019DD7510DD6A
:1011800074207CD610FEBDD8DD7E21E6F86FD62017
:10119000FEC0302D2600292911195019364201CFE1
:1011A00011CF181D2600873001256F292929DD5E02
:1011B00011DD562119DD7511DD74217CD610FEE09C
:1011C000D8AFDD7700DD7701DD7720DD7721C93EFF
:1011D00008D73698C93AD0423DC03EB3DD9650FE9E
:1011E000EAD83AD342DD9651C60BFE17D018193A09
:1011F000D0423DC03EBFDD9620FEF0D83AD342DD5E
:101200009621FEF2D8CDC111AF32D042011112CFDA
:10121000C93E10CD10133AD342FED038023EC8E684
:10122000F86F2600292911185019E511200036A45D
:101230002C36A51936A72D36A61936A82C36A9E1C5
:101240003E10D7E511200036AA2C36AB1936AD2D4D
:1012500036AC1936AE2C36AFE13E10D71120003E29
:1012600024772C36981936982D7719772C36983E96
:101270002DD73E10D73AD042A7C0212B43772C77E9
:101280002C770607DD212042DD7E50D6A0FE3030CF
:101290003FDD7E51E6F80F0F0FC547112B43FE0DC2
:1012A00038011CD6053001AFFE083802D608FE1002
:1012B0003801AF4F78FE05380C2FC61E3801AFFE3F
:1012C0000538023E05CDEF1BC11AB5121C1AB41227
:1012D000DD23DD2310B20E170D289779CB2F3803AD
:1012E0002FC61747112B43FE0B38031CD6082103CA
:1012F00000A72804293D20FC1AA56F1C1AA4B520BC
:10130000D73E048087878732D3423E0132D042C91C
:10131000473A1743A7C03E0132036878D7AF32037C
:1013200068C931F3233A0078210060010003712C71
:101330007DE60720F97CC6086710F3210040110004
:101340000471231B7BB220F93D32284332007821FF
:1013500000500100043624230B79B020F8AF21C8D7
:10136000420604772C10FC32D742211042067077D7
:101370002C10FC2190420630772C10FC21005806DE
:1013800080772C10FC3A084347C36516006F67222C
:101390000670C93A00704FE60121D113E7320A43C3
:1013A000790F4FE601320B83790F4FE601C6023207
:1013B0000943790FE6013208433A0068074FE60116
:1013C00026052802260379072FE6013C6F220B43EE
:1013D000C91520000F0FE601320D43C9101215FF89
:1013E000310044CD93133E013203700100283A00CE
:1013F000780D20FA10F80000000000AF0000320E57
:1014000043AF3203700100283A0078AF00000000BB
:1014100000000000000000000000DF52143E013216
:101420000243328842328942328A423201703204A7
:10143000702A2E437DBC28F9213043856FD62CE6D7
:101440007F322E43113114D55E2C56D52C5E2C568E
:10145000EBC9CD7C14DF5914C9CD8016217C4235EF
:10146000286A7EFEF0D0C610FE30D82C2C77E6031A
:10147000C0CB563E3428013C321E42C9AF32024234
:10148000320342322E4232804232814232C04232F4
:10149000C54232D04232D8423C321743CD4F13219D
:1014A000721B11E042012000EDB0CD9D18CD3F032D
:1014B000CD4A16CD28022100C0227C42227E422144
:1014C0002C02221C42213406221E42C9DF8016F75C
:1014D0004751010A43240E16240D1B0A1E103E3CE0
:1014E000D7F7CD5001130E150B0A1D240E0C170A49
:1014F0001F0D0A240E1B180C1C3E3CD7F73151015E
:101500000D00000501240000000124000005F70F74
:10151000530302E9ECEDEBEEEF3E3CD7F73351011C
:101520000C000501242400000124240005F71253B7
:101530000202B0B1B2B33E3CD7F73551010C000204
:1015400001242400082424240004F714530202B0C8
:10155000B1B2B33E3CD7F73751010C000924242423
:1015600000062424240003F716530202B0B1B2B3DC
:101570003E3CD7F73951010C0006242424000424F2
:1015800024240002F718530202B0B1B2B33E3CD794
:10159000F79C51010724242424120A1D3E3CD71134
:1015A000EF423E03121C121C12F73151010D0000D4
:1015B00000012400000624240000043E3CD711EF63
:1015C000423E04121C121C12F73151010D0000079B
:1015D000242400000524240000033E3CD711EF42E0
:1015E0003E05121C121C12F73151010D000005249A
:1015F0002400000324240000023E3CD7DF7316CDF4
:101600004F13CD8C07CD9D18CD3F033E0632C1420E
:10161000AF320940320B40CDD918AF32D0423C3204
:10162000C04232C54232D8423202423280423E7813
:10163000D73E1032D142CD75123E0832D5423E011E
:10164000322E42320342328142C93A0B43A7281458
:10165000F7FF5201061D120D0E1B0C3E0132164300
:10166000CDB002C9C93A0343A02FC38C13000000B8
:101670001B0FC93A0840A72004DF5214C9CD231B11
:101680003A1543A7C811880221804006204E2C7EBF
:101690002CBA200279BB28062C2C10F1180B7DD611
:1016A000820F0FC6606F7EA7C021604001002071CD
:1016B0002C10FCDF5817AF3217433210403209406C
:1016C000320B40320242320342322E4232804232E8
:1016D000814232C04232C54232D04232D8423C32DC
:1016E00019433A0943320A40CDD918CD4F1321523C
:1016F0001B11E042012000EDB0CD9D18CD4A16CD62
:101700002802F7ED50011117181D1D1E0B241D1B7B
:101710000A1D1C24111C1E193A0A433C2826F79462
:101720005001181C1D19240000002424241B180F2C
:101730002410171214241C1E17180B110A4321948D
:1017400051CDBB02F73851010E02080901241D11C9
:1017500010121B2219180CC93A15433D2015F71019
:1017600051010E2422151718241B0E220A151924C4
:10177000011813F71051010E1C1B0E220A15192413
:1017800002241B182401CD3F03210068AFCB462063
:101790000A3A15433DC8CB4EC83E01320243DFAF83
:1017A000183A0B43A7280C3A02432FC69A21154337
:1017B000862777AF321643321943210D40772C77B5
:1017C0002C77212D40772C772C773C32C04232C5C4
:1017D0004232D8423EC0321C432100401120400614
:1017E000207E122C1C10FA3A0243A7200921204027
:1017F0000620772C10FC210722CD1D20CD04183E99
:10180000F0D71845CD4F13CD8C07CD9D18CD3F0394
:10181000CD7718CD50193E0632C142AF32D0423298
:10182000C342CD74083E0132C04232C54232D84272
:10183000321A43210460002C772C772C7721006822
:10184000772C772C77C9CD04183E3CD73E1032D187
:1018500042CD75123E0832D5423E01328042322ED0
:1018600042210A4035CD77183E78D73E01320242F8
:10187000320342328142C93A0A404F3E0591FD216E
:101880009E52114000280847CDC819FD1910F9795A
:10189000A7C8473E2CCDD719FD1910F7C9F76051DD
:1018A000010A0E1B180C1C2411101211C329033A33
:1018B0000840A7C0DF2600AF3203423281422165D3
:1018C00023CD4D203EB4D7DFAF18CDD9183E78D701
:1018D0003E01320342328142C93E2A3208403E096B
:1018E000320042AF32C342CD740821C0191100400A
:1018F000010800EDB02109407EC60127FE493001F4
:1019000077210B407EA728033A0D43C60186380194
:101910007721E719CD331D32044221F919CD331D4A
:10192000320542210B1ACD331D320642210D1ACD4C
:10193000331D32074221211ACD331D320842213591
:101940001ACD331D32094221371ACD331D320A42D6
:10195000210000228442215E501120003A0940E615
:101960000F282CFE05281C3802D6054736FC2C36DD
:10197000FD1936FF2D36FE1910F23A0940E60FFE2A
:1019800005380C36262C36271936292D3628193AD3
:1019900009400F0F0F0FE60F280F47362A2C362766
:1019A0001936292D362B1910F27CFE5220037DFEAC
:1019B0005EC836242C36241936242D36241918E90D
:1019C000FC3FFC3FF81FF00F3E24FD7700FD770140
:1019D000FD7720FD7721C9FD77003CFD77013CFDB7
:1019E00077203CFD7721C90110021203140415066B
:1019F0001607140B170C14FF18011002120314041D
:101A000015061607140B170C14FF18FF0C01100213
:101A100012031404150616071209170B180C14FFED
:101A20001901100212031404150616071209170BE8
:101A3000180C14FF19FF0EFF203A1743A72804DFE4
:101A40005214C9DF2600AF321A4332024232034237
:101A5000322E4232804232814232C04232C542325C
:101A6000D04232D842210460002C772C772C772189
:101A70000068772C772C773A0243A7282C3A0A4043
:101A8000A7201501881ACFC9CD091BCDE61A3EF053
:101A9000D7DF951AC9DF26003A2A40A7280BCDCDFB
:101AA0001A014618CFDFAF18C93A0A40A720F20141
:101AB000B41ACFC9AF32D842CD091B3E78D73A030A
:101AC00043A7C4CD1AAF321C43DF5214C9062011FC
:101AD00000402120401A4EEB12711C2C10F72103FC
:101AE000437EEE0177C9F7F25101061B0E220A155B
:101AF000193A0343A72009F7725101030E1718C9B9
:101B0000F77251010318201DC9218D5111200001C8
:101B10002409711910FC21725111200001240A714D
:101B20001910FCF7945101091B0E1F18240E160AF8
:101B300010C9070707020203030404050500000398
:101B4000030000000000000000000707060606066C
:101B50000101070707070707070707070707070721
:101B60000707070707070404040401010101010135
:101B70000101070707070707070707070707070701
:101B80000702020202020303040405050101010128
:101B9000010121894235C0CD151D3289423A0342E7
:101BA000A7C83A0840A7C8FE0A380A2100427ED6D4
:101BB00001DA4A1F770607DD212042DD7E00A728D3
:101BC00042DD23DD2310F4C93AC342E6F80F0F0FBC
:101BD000472FC602FEF03801AFE60F4F78FE1030F7
:101BE000012FE60F3DF2E91BAFFE0D38023E0D213D
:101BF0000000A728064737ED6A10FB79A7C84729D8
:101C000010FDC9CDC81BFD210040FD7E00FDB602C0
:101C1000FDB604FDB606A55FFD7E01FDB603FDB66B
:101C200005FDB607A4572108403AC142873819017B
:101C3000000178A3202C0CCB0030F72C0E0078A2EA
:101C400020200CCB0030F7C92C01078078A220128D
:101C50000DCB0830F72D0E0778A320060DCB0830EA
:101C6000F7C92D2D78A628FAAE77790F0F570F8573
:101C7000D600DD77107AE6C05F7AE601577DD600A0
:101C80000F3002141487835FFD210350FD19CDC866
:101C900019DD36F02CDD7E10E61E21E342E7DD770C
:101CA000F1DD7E10E6E067DD7E100FCB1C878787B5
:101CB00087C6186FDD7E10E61E0FC6C85F16421A73
:101CC0008467DD7550DD7451E52182427E07078609
:101CD0003C77E67FC640E1571EFFCDE103673A043B
:101CE000425FCD9703DD743161CD9703DD7430DD44
:101CF0007E100F2FE680DD7721DD36000121652380
:101D0000CD1D200608AF210040B62C10FCA7C03224
:101D1000C342C374083A0840FE0730033E0AC92193
:101D20004F1D3A8542BE2338062804232318F65E49
:101D30002356EB3A0D43A73A0B402009FE10380515
:101D40003E0C320B403DBE2338032318F97EC904F4
:101D50005E1D08721D0C821D10921DFF9E1D0178D4
:101D600002500346043C053706320750082D092867
:101D7000FF230164023C0332052D0628073C08239B
:101D8000FF1E0150023203280523061E0732081EDB
:101D9000FF1901500228061E07280819FF14013CEC
:101DA000031E05190614071EFF14218A4235C0368A
:101DB0001E3A0840A7C83AD0423DC03A8142A7C85F
:101DC0000100072190427E2CB628010C2C10F7212F
:101DD000B01E3A08403DBE233804232318F85E2382
:101DE00056EBCD331D3DB9D8CDC81BDD210040DDFC
:101DF0007E00DDB602DDB604DDB606A55FDD7E0140
:101E0000DDB603DDB605DDB607A457DD218E42DD64
:101E100023DD23DD7E00DDB60120F47AB3CA8C1EFB
:101E2000CDE91F2109408738012D4F0707073C479F
:101E30003E800710FD472D2D78A628FA617DD6003B
:101E40006FE61E0FC6C85F7D0FCB1C87878787C6CE
:101E5000246F16421AC6078467DD7520DD74213AA7
:101E6000D342C608571EC8CDE10367C640FE81387D
:101E70000BFE400E6E2640F27C1E26C01E1CCD9727
:101E800003DD740161CD9703DD7400C90607FD21F0
:101E90002042FD7E003D2007FD7E50FE803807FD7C
:101EA00023FD2310EDC9C60C6FFD7E51C60718A88F
:101EB00006BC1E12C81E1ED41EFFDC1E0103020437
:101EC000060507040E06FF070102020306040703C6
:101ED0000E05FF06020207030E04FF0507020E03AC
:101EE000FF0421884235C036103AD842A7C821C421
:101EF000427E3CFE0C3801AF772100404E0608CBF5
:101F000001DC0D1F10F92C7DFE0838F0C9E5110029
:101F10004019EBCB3B783002C6083D6F26002929DB
:101F20002929291929EBFD210350FD193AC542A79A
:101F300028033AC442213E1FE7CDD719E1C9B0B406
:101F4000B8BCB8B4B0B4B8BCB8B4010007112042F2
:101F50001AA720010C1C1C10F779FE03D83E093289
:101F60000042CDC81B1100400110001AA5C5471C36
:101F70001AA4B0C128020437CB111C30EE78FE033E
:101F8000D83EFF280C3AD742E6033C473E7F071075
:101F9000FDA10604050F38FC7832014287C6004FC8
:101FA000060421004079BD280BC5E5CDBF1FDD36F5
:101FB0000005E1C12C2C10ED216523CD1D20C9E5C4
:101FC0005E2C56CDE91FE18730012C0707074F3CF7
:101FD000473E800710FDAE77DD212042DD7E00A761
:101FE000CA6A1CDD23DD2318F32182427E0707869F
:101FF0003C770F0F0F0FAEE60F3C47EBAFD6102923
:1020000030FB2C10F8C9A7280C473A1743A7C03A51
:102010000E43A7C0783200700F320270C93A1743DE
:10202000A7C03A0E43A720037E87D8CD5B20360198
:102030002C3600C93A1743A7C03A0E43A720037EA7
:1020400087D8CD5B207EA7C0342C3600C9CD5B205D
:1020500036003EFF322843320078C911FB201A13A4
:10206000BD20041ABC28031318F421441F19C90603
:1020700010DD214040C5CD9320C1DD23DD2310F5C7
:102080003A26433207683A27433206683A284332F1
:102090000078C9DD7E00A7C83E10908721FB20E7AD
:1020A0005F23566B62DD7E00E74707073226430752
:1020B00032274378E61F21DB20E732284378873038
:1020C00005DD360000C9DD7E01D6013804DD77016B
:1020D000C91AE67FDD7701DD3400C9000E1C293501
:1020E000404B555E6770787F878D949A9FA5AAAF05
:1020F000B3B7BBBFC3C6C9CCCFD2FF652365234BE3
:10210000224B224B224B221D2193221B211B211BE0
:10211000211B218522072275226B22009F8011132B
:102120001113111311131D1C1A18161513111F1F4B
:102130001F1F1F1F1F1F1F1F1F1F1F1F1F1F0507E1
:1021400005070507050711100E0C0A0907051F1FD3
:102150001F1F1F1F1F1F1F1F1F1F1F1F1F1F0C0EB3
:102160000C0E0C0E0C0E1817151311100E0C1F1F51
:102170001F1F1F1F1F1F1F1F1F1F1F1F1F1F0002AB
:102180000002000200020C0B0907050402001F1FD9
:102190001F1F1F1F1F1F11131113111311131D1CBC
:1021A0001A18161513111F1F1F1F1F1F1F1F1F1F78
:1021B0001F1F1F1F1F1F0507050705070507111014
:1021C0000E0C0A0907051F1F1F1F1F1F1F1F1F1FA0
:1021D0001F1F1F1F1F1F0C0E0C0E0C0E0C0E1817AE
:1021E000151311100E0C1F1F1F1F1F1F1F1F1F1F56
:1021F0001F1F1F1F1F1F00020002000200020C0B06
:102200000907050402009F045A5A5A1F5855551FC2
:10221000535A5A1F5855551F535C5A5857555352C5
:10222000504E5052535557585A5C5A5A1F5855558C
:102230001F535A5A1F5855551F534E504E50535501
:102240005355585A585A5C5E5C5E9F000011021349
:1022500005180B1D0E1E001E0E001E0E1D0C1B0A67
:10226000100817051403120211019F0060626465D3
:1022700067696B6C9F047E1F7E1F7E1F7E1F7E1F03
:102280007E1F7E7E9F850C0C1F07091F07091F0CF0
:102290001F0C9F80000203040504030201030405D0
:1022A00006050403020405060706050403050607E0
:1022B00008070605040607080908070605070809B0
:1022C0000A0908070608090A0B0A090807090A0B80
:1022D0000C0B0A09080A0B0C0D0C0B0A090B0C0D50
:1022E0000E0D0C0B0A0C0D0E0F0E0D0C0B0D0E0F20
:1022F000100F0E0D0C0E0F1011100F0E0D0F1011F0
:102300001211101F0E101112131211100F111213AF
:10231000141312111012131415141312111314158F
:10232000161514131214151617161514131516175F
:10233000181716151416171819181716151718192F
:102340001A1918171618191A1B1A191817191A1BFF
:102350001C1B1A19181A1B1C1D1C1B1A191B1C1DCF
:102360001E1D1C1B9F00100E0D0C0B0C0D0E0F0DD7
:102370000C0B0A0B0C0D0E0C0B0A090A0B0C0D0BA7
:102380000A0908090A0B0C0A09080708090A0B09B7
:102390000807060708090A080706050607080908C6
:1023A00007060504050607080605040304050607D5
:1023B00005040302030405060504030201020304E5
:1023C00005030201000102039FF523482400400F8A
:1023D0000448240040F004CF24482400500F04484F
:1023E000240050F004482400580F0148240058F0FD
:1023F00001C624E52411FC262100000100103A004A
:102400007879864F2C20FA2410F41AB92000137B17
:10241000FEFE38E701000828E53E183202523E145D
:1024200018037BD6FB21E25177061821A252112016
:10243000003616197019361BFE14C83A00783A0097
:1024400060CB7720F6C30000160FE1C15A3A00783E
:102450007B0F0F0F0F8380A1777B8787833C5F2CD7
:1024600020EE2410E83B3B3B3BE1C15A3A00787B2D
:102470000F0F0F0F8380AEA120177B8787833C5FF0
:102480002C20EC2410E6153B3B3B3BF24A24E1C1F7
:10249000C979E6014F7C0F0FE60620023E0293FE4B
:1024A0000338174F21005011004006043A00781AF3
:1024B000771C2C20FA142410F37921E45177060AB2
:1024C00021A452C32E243E183204423E1418D421B3
:1024D00000401100500100043A00781A7723130BD2
:1024E00079B020F4C93100443A0078210058010045
:1024F00080712C10FC010520210158712C2C10FB3F
:10250000AF3204700100283A00780D20FA10F83A32
:1025100000783A0068CB6F20003E01320470010061
:10252000283A00780D20FA10F83A00783A0068CB83
:102530006F28003A00783A0068CB6F20003E0132E5
:10254000006032016032026032044300000000008B
:102550000000AF00003201703204433DC3822521E8
:10256000005001000436F6230B79B020F80100007A
:102570003A00780D20FA10F83A00780000000000C8
:102580000000318625C92513E013CD9313CD9F2577
:10259000CDBF25CD1326CD4526CD5526C31A01C95D
:1025A00001B225CF211043C37A02000000000000D1
:1025B00000C93A0B432114433496C0773CC3A002B0
:1025C0003E08D77E2FE60132036035C28502C97D01
:1025D000FE10CAC3257E2FE60132046835C285028B
:1025E000C92432085228023E1C3228523A0C433287
:1025F000E8513D3E2428023E1C32E850F7085101C4
:10260000071D120D0E1B0C24F74852010517121856
:102610000C24C9F72A52010724241C1E17180B3A50
:102620000A433C2813F74A510105242400000021E5
:102630000A52110A43C3BB02F74A5101071017128D
:10264000111D1817C9F78C520104101712143A09FA
:102650004332EC51C93E0132066832076801FF0B74
:10266000DD21CD26210041E5DD7E00E6F8571E0084
:10267000DD7E00E6073CC5471A2F0F10FDC1380369
:10268000DD4E017E1777E60FFE0CCCBF26E12CDD78
:1026900023DD2310D27932007821104111E3260680
:1026A000101AFEFF2802BEC0132C10F5F778510156
:1026B0000D180C160A1724220B240E0D0A16C9C574
:1026C00006102110417E712C4F10FAC1C9A200A33F
:1026D0001CA435A840A955AA67AB78AC7FA78DA0EC
:1026E0009AA19F55555540351C001C1C4035355549
:1026F000FFFFFF0000000000000000000CB390B1DD
:10270000000306090C101316191C1F2225282B2E56
:10271000313336393C3F414447494C4E515355586B
:102720005A5C5E60626466686A6B6D6F7071737428
:10273000757678797A7A7B7C7D7D7E7E7E7F7F7FE1
:102740007F7F7F7F7E7E7E7D7D7C7B7A7A797876C7
:1027500075747371706F6D6B6A68666462605E5CDD
:102760005A585553514E4C494744413F3C393633F2
:10277000312E2B2825221F1C191613100C090603B5
:1027800000FDFAF7F4F0EDEAE7E4E1DEDBD8D5D2BC
:10279000CFCDCAC7C4C1BFBCB9B7B4B2AFADABA887
:1027A000A6A4A2A09E9C9A9896959391908F8D8CAA
:1027B0008B8A8887868685848383828282818181D1
:1027C0008181818182828283838485868687888ACB
:1027D0008B8C8D8F9091939596989A9C9EA0A2A495
:1027E000A6A8ABADAFB2B4B7B9BCBFC1C4C7CACD60
:1027F000CFD2D5D8DBDEE1E4E7EAEDF0F4F7FAFD7D
:10280000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:10281000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:10282000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:10283000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:10284000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:10285000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:10286000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:10287000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:10288000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:10289000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:1028A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:1028B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:1028C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:1028D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:1028E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:1028F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:10290000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:10291000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:10292000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:10293000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:10294000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:10295000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:10296000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:10297000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:10298000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:10299000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:1029A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:1029B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:1029C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:1029D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:1029E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:1029F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:102A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:102A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:102A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:102A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:102A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:102A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:102A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:102A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:102A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:102A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:102AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:102AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:102AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:102AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:102AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:102AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:102B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:102B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:102B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:102B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:102B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:102B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:102B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:102B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:102B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:102B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:102BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:102BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:102BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:102BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:102BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:102BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:102C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:102C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:102C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:102C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:102C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:102C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:102C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:102C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:102C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:102C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:102CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:102CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:102CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:102CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:102CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:102CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:102D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:102D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:102D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:102D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:102D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:102D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:102D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:102D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:102D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:102D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:102DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:102DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:102DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:102DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:102DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:102DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:102E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:102E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:102E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:102E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:102E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:102E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:102E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:102E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:102E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:102E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:102EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:102EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:102EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:102ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:102EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:102EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:102F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:102F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:102F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:102F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:102F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:102F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:102F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:102F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:102F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:102F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:102FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:102FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:102FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:102FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:102FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:102FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:00000001FF

View File

@@ -0,0 +1,790 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity prog is
port (
clk : in std_logic;
addr : in std_logic_vector(13 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of prog is
type rom is array(0 to 12287) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"AF",X"32",X"01",X"70",X"C3",X"22",X"13",X"00",X"3A",X"2F",X"43",X"11",X"30",X"43",X"18",X"3B",
X"4F",X"EB",X"21",X"60",X"40",X"C3",X"EF",X"01",X"E1",X"5E",X"23",X"56",X"23",X"C3",X"5D",X"00",
X"85",X"6F",X"30",X"01",X"24",X"7E",X"C9",X"00",X"87",X"E3",X"E7",X"5F",X"23",X"56",X"EB",X"E9",
X"E1",X"5E",X"23",X"56",X"23",X"4E",X"23",X"3E",X"C7",X"46",X"23",X"C6",X"59",X"91",X"C5",X"06",
X"00",X"ED",X"B0",X"4F",X"EB",X"09",X"EB",X"C1",X"10",X"F4",X"E9",X"EB",X"85",X"6F",X"D6",X"2C",
X"E6",X"7F",X"32",X"2F",X"43",X"71",X"2C",X"70",X"2C",X"73",X"2C",X"72",X"C9",X"ED",X"53",X"00",
X"43",X"E9",X"2A",X"00",X"43",X"E9",X"08",X"D9",X"DD",X"E5",X"FD",X"E5",X"3A",X"00",X"78",X"AF",
X"32",X"01",X"70",X"32",X"3E",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"21",X"C8",
X"42",X"11",X"06",X"58",X"06",X"04",X"AF",X"96",X"12",X"1C",X"1C",X"12",X"1C",X"1C",X"2C",X"10",
X"F5",X"3A",X"D7",X"42",X"ED",X"44",X"11",X"36",X"58",X"06",X"03",X"12",X"1C",X"1C",X"10",X"FB",
X"3A",X"08",X"43",X"4F",X"3A",X"03",X"43",X"A1",X"4F",X"21",X"70",X"42",X"11",X"40",X"58",X"06",
X"08",X"2C",X"78",X"FE",X"06",X"3E",X"F0",X"38",X"07",X"3C",X"CB",X"41",X"20",X"02",X"3E",X"EF",
X"96",X"12",X"1C",X"1C",X"1C",X"2D",X"7E",X"12",X"2C",X"2C",X"1C",X"10",X"E4",X"DD",X"21",X"B0",
X"42",X"06",X"08",X"1C",X"78",X"FE",X"06",X"3E",X"00",X"30",X"01",X"3D",X"DD",X"96",X"01",X"12",
X"1C",X"1C",X"3E",X"FB",X"DD",X"96",X"00",X"CB",X"41",X"20",X"03",X"2F",X"D6",X"05",X"12",X"1C",
X"DD",X"23",X"DD",X"23",X"10",X"DD",X"21",X"E0",X"42",X"11",X"01",X"58",X"06",X"20",X"7E",X"12",
X"2C",X"1C",X"1C",X"10",X"F9",X"21",X"10",X"42",X"06",X"08",X"7E",X"12",X"2C",X"1C",X"7E",X"12",
X"2C",X"1C",X"1C",X"1C",X"10",X"F4",X"01",X"28",X"01",X"CF",X"21",X"01",X"70",X"36",X"00",X"36",
X"01",X"FD",X"E1",X"DD",X"E1",X"D9",X"08",X"C9",X"2A",X"84",X"42",X"23",X"7D",X"B4",X"28",X"03",
X"22",X"84",X"42",X"CD",X"62",X"00",X"CD",X"86",X"01",X"CD",X"21",X"07",X"CD",X"72",X"04",X"CD",
X"59",X"05",X"CD",X"44",X"08",X"CD",X"D2",X"08",X"CD",X"46",X"11",X"CD",X"0B",X"02",X"CD",X"30",
X"02",X"CD",X"6F",X"20",X"CD",X"E2",X"1E",X"CD",X"92",X"1B",X"CD",X"AA",X"1D",X"26",X"40",X"AF",
X"C6",X"60",X"6F",X"7E",X"D6",X"01",X"38",X"16",X"77",X"20",X"13",X"E5",X"7D",X"D6",X"60",X"87",
X"87",X"C6",X"80",X"6F",X"4E",X"2C",X"46",X"2C",X"5E",X"2C",X"56",X"EB",X"CF",X"E1",X"7D",X"D6",
X"5F",X"E6",X"1F",X"20",X"DB",X"C9",X"21",X"18",X"43",X"34",X"7E",X"E6",X"0F",X"C0",X"7E",X"0F",
X"0F",X"0F",X"0F",X"47",X"3A",X"19",X"43",X"2F",X"B0",X"4F",X"3A",X"15",X"43",X"D6",X"01",X"30",
X"02",X"AF",X"4F",X"28",X"01",X"79",X"32",X"01",X"60",X"79",X"32",X"00",X"60",X"21",X"20",X"53",
X"11",X"80",X"50",X"3A",X"03",X"43",X"A7",X"28",X"01",X"EB",X"3C",X"4F",X"3A",X"1A",X"43",X"A0",
X"CC",X"D1",X"01",X"C4",X"E0",X"01",X"EB",X"3A",X"02",X"43",X"A7",X"28",X"13",X"79",X"EE",X"03",
X"4F",X"E5",X"FD",X"E1",X"FD",X"36",X"00",X"19",X"FD",X"36",X"20",X"1E",X"FD",X"71",X"40",X"C9",
X"E5",X"FD",X"E1",X"3E",X"24",X"FD",X"77",X"00",X"FD",X"77",X"20",X"FD",X"77",X"40",X"C9",X"06",
X"20",X"7E",X"A7",X"28",X"04",X"2C",X"10",X"F9",X"C9",X"71",X"7D",X"D6",X"60",X"87",X"87",X"C6",
X"80",X"6F",X"C1",X"71",X"2C",X"70",X"2C",X"73",X"2C",X"72",X"C9",X"21",X"1D",X"43",X"11",X"1C",
X"43",X"01",X"00",X"03",X"1A",X"87",X"38",X"11",X"F0",X"3F",X"7E",X"CE",X"00",X"27",X"FE",X"60",
X"38",X"02",X"3E",X"00",X"77",X"2C",X"10",X"F1",X"C9",X"71",X"2C",X"10",X"FC",X"0F",X"12",X"C9",
X"3A",X"15",X"43",X"FE",X"99",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3A",X"00",X"60",X"2F",X"0F",X"21",X"11",X"43",X"7E",X"17",X"77",X"E6",X"0F",X"D6",X"0C",X"CC",
X"A0",X"25",X"3A",X"00",X"60",X"2F",X"0F",X"0F",X"21",X"12",X"43",X"7E",X"17",X"77",X"E6",X"0F",
X"D6",X"0C",X"C0",X"01",X"93",X"02",X"CF",X"21",X"13",X"43",X"34",X"34",X"7E",X"FE",X"02",X"C0",
X"01",X"85",X"02",X"CF",X"C9",X"3E",X"08",X"D7",X"C3",X"CF",X"25",X"00",X"32",X"04",X"60",X"35",
X"20",X"F3",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3A",X"0C",X"43",
X"21",X"15",X"43",X"86",X"27",X"30",X"02",X"3E",X"99",X"77",X"21",X"6B",X"22",X"D4",X"22",X"20",
X"3A",X"16",X"43",X"A7",X"C8",X"11",X"15",X"43",X"21",X"BF",X"52",X"01",X"01",X"01",X"C3",X"5C",
X"03",X"21",X"05",X"43",X"06",X"03",X"1A",X"BE",X"D8",X"20",X"05",X"1C",X"2C",X"10",X"F7",X"C9",
X"1A",X"77",X"1C",X"2C",X"10",X"FA",X"C9",X"47",X"E6",X"F0",X"4F",X"78",X"1F",X"47",X"38",X"06",
X"1F",X"1F",X"1F",X"E6",X"0F",X"4F",X"3E",X"03",X"90",X"E6",X"07",X"47",X"E7",X"2D",X"7E",X"89",
X"27",X"77",X"0E",X"00",X"10",X"F7",X"D0",X"36",X"99",X"2C",X"36",X"99",X"2C",X"36",X"90",X"C9",
X"4F",X"C5",X"79",X"CD",X"0A",X"03",X"C1",X"10",X"F8",X"C9",X"47",X"3A",X"17",X"43",X"A7",X"C0",
X"78",X"21",X"0D",X"40",X"CD",X"D7",X"02",X"CD",X"4B",X"04",X"CD",X"31",X"03",X"11",X"0D",X"40",
X"CD",X"C1",X"02",X"11",X"2D",X"40",X"CD",X"C1",X"02",X"11",X"05",X"43",X"21",X"41",X"52",X"18",
X"28",X"11",X"0D",X"40",X"3A",X"03",X"43",X"A7",X"20",X"1C",X"21",X"A1",X"53",X"18",X"1A",X"11",
X"0D",X"40",X"21",X"2D",X"40",X"3A",X"03",X"43",X"A7",X"28",X"01",X"EB",X"E5",X"CD",X"3A",X"03",
X"D1",X"3A",X"02",X"43",X"A7",X"C8",X"21",X"01",X"51",X"01",X"04",X"03",X"3E",X"E0",X"C5",X"47",
X"1A",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"20",X"07",X"0D",X"FA",X"70",X"03",X"3E",X"24",X"FA",
X"0E",X"00",X"77",X"1A",X"E6",X"0F",X"20",X"07",X"0D",X"FA",X"7F",X"03",X"3E",X"24",X"FA",X"0E",
X"00",X"D5",X"58",X"16",X"FF",X"19",X"77",X"19",X"D1",X"1C",X"78",X"E3",X"44",X"E1",X"10",X"CE",
X"C9",X"C6",X"40",X"6F",X"26",X"27",X"66",X"CD",X"9D",X"03",X"67",X"29",X"C9",X"AF",X"6F",X"57",
X"CB",X"7C",X"28",X"01",X"93",X"CB",X"7B",X"28",X"01",X"94",X"06",X"08",X"29",X"30",X"01",X"19",
X"10",X"FA",X"84",X"C9",X"2E",X"00",X"06",X"11",X"AF",X"17",X"BB",X"38",X"01",X"93",X"3F",X"ED",
X"6A",X"10",X"F6",X"C9",X"01",X"00",X"08",X"11",X"00",X"40",X"7C",X"92",X"79",X"9B",X"38",X"05",
X"4F",X"7C",X"92",X"67",X"A7",X"3F",X"CB",X"13",X"29",X"CB",X"11",X"29",X"CB",X"11",X"10",X"EA",
X"C9",X"FD",X"21",X"20",X"43",X"7B",X"95",X"30",X"02",X"2F",X"3C",X"FD",X"CB",X"01",X"16",X"4F",
X"7A",X"94",X"30",X"02",X"2F",X"3C",X"FD",X"CB",X"03",X"16",X"5F",X"B1",X"F2",X"03",X"04",X"CB",
X"39",X"CB",X"3B",X"FD",X"71",X"00",X"FD",X"73",X"02",X"63",X"CD",X"9D",X"03",X"E5",X"59",X"63",
X"CD",X"9D",X"03",X"D1",X"19",X"CD",X"C4",X"03",X"FD",X"66",X"00",X"CD",X"B4",X"03",X"7C",X"A7",
X"7D",X"28",X"02",X"3E",X"FF",X"A7",X"28",X"09",X"FD",X"CB",X"01",X"1E",X"30",X"02",X"2F",X"3C",
X"1F",X"4F",X"FD",X"66",X"02",X"CD",X"B4",X"03",X"7C",X"A7",X"7D",X"28",X"02",X"3E",X"FF",X"A7",
X"C8",X"FD",X"CB",X"03",X"1E",X"30",X"02",X"2F",X"3C",X"1F",X"C9",X"3A",X"10",X"40",X"A7",X"C0",
X"2A",X"0D",X"40",X"7D",X"6C",X"67",X"29",X"29",X"29",X"29",X"7C",X"21",X"0A",X"43",X"BE",X"D8",
X"3E",X"01",X"32",X"10",X"40",X"21",X"75",X"22",X"CD",X"1D",X"20",X"21",X"0A",X"40",X"34",X"C3",
X"77",X"18",X"3A",X"D0",X"42",X"3D",X"C0",X"CD",X"B7",X"04",X"29",X"29",X"29",X"29",X"ED",X"5B",
X"D2",X"42",X"19",X"22",X"D2",X"42",X"7A",X"47",X"E6",X"F8",X"6F",X"26",X"00",X"29",X"29",X"11",
X"18",X"50",X"19",X"78",X"E6",X"07",X"C6",X"70",X"11",X"20",X"00",X"77",X"2C",X"C6",X"08",X"77",
X"19",X"C6",X"10",X"77",X"2D",X"D6",X"08",X"77",X"78",X"FE",X"D0",X"D0",X"E6",X"07",X"C6",X"90",
X"19",X"77",X"2C",X"C6",X"08",X"77",X"C9",X"3A",X"17",X"43",X"A7",X"20",X"34",X"3A",X"D1",X"42",
X"47",X"21",X"00",X"00",X"3A",X"08",X"43",X"4F",X"3A",X"03",X"43",X"A1",X"3A",X"00",X"60",X"28",
X"03",X"3A",X"00",X"68",X"87",X"87",X"87",X"87",X"87",X"38",X"09",X"F0",X"3A",X"D3",X"42",X"FE",
X"D0",X"D0",X"68",X"C9",X"F8",X"3A",X"D3",X"42",X"FE",X"21",X"D8",X"AF",X"90",X"C8",X"6F",X"25",
X"C9",X"3A",X"18",X"43",X"E6",X"1F",X"FE",X"10",X"20",X"23",X"01",X"00",X"08",X"DD",X"21",X"20",
X"42",X"CD",X"2D",X"05",X"DD",X"23",X"DD",X"23",X"10",X"F7",X"06",X"07",X"DD",X"21",X"90",X"42",
X"CD",X"3A",X"05",X"DD",X"23",X"DD",X"23",X"10",X"F7",X"79",X"32",X"86",X"42",X"3A",X"D1",X"42",
X"47",X"21",X"00",X"00",X"3A",X"86",X"42",X"87",X"38",X"BB",X"C8",X"18",X"AF",X"DD",X"7E",X"00",
X"A7",X"C8",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"18",X"0D",X"DD",X"7E",X"00",X"DD",X"B6",X"01",
X"C8",X"DD",X"6E",X"20",X"DD",X"66",X"21",X"0D",X"3A",X"D3",X"42",X"BC",X"3E",X"A0",X"38",X"04",
X"BD",X"D0",X"18",X"02",X"BD",X"D8",X"0C",X"0C",X"C9",X"3A",X"80",X"42",X"A7",X"C8",X"3A",X"9E",
X"42",X"A7",X"20",X"47",X"3A",X"D0",X"42",X"3D",X"28",X"06",X"6F",X"67",X"22",X"BE",X"42",X"C9",
X"CD",X"78",X"06",X"3A",X"17",X"43",X"A7",X"28",X"08",X"3A",X"18",X"43",X"E6",X"1F",X"C0",X"18",
X"25",X"3A",X"08",X"43",X"47",X"3A",X"03",X"43",X"A0",X"3A",X"00",X"60",X"28",X"03",X"3A",X"00",
X"68",X"2F",X"07",X"07",X"07",X"07",X"21",X"83",X"42",X"7E",X"17",X"77",X"E6",X"0F",X"D6",X"0C",
X"C0",X"3E",X"08",X"CD",X"E7",X"05",X"3E",X"B0",X"32",X"9E",X"42",X"3A",X"9E",X"42",X"26",X"00",
X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"3A",X"AE",X"42",X"85",X"32",X"AE",X"42",X"3A",
X"BE",X"42",X"8C",X"32",X"BE",X"42",X"2A",X"BE",X"42",X"3A",X"18",X"43",X"E6",X"01",X"87",X"3D",
X"84",X"67",X"7D",X"FE",X"10",X"DA",X"74",X"06",X"22",X"BE",X"42",X"D6",X"18",X"FE",X"40",X"38",
X"18",X"3E",X"01",X"32",X"C0",X"42",X"C9",X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3E",X"01",X"32",
X"05",X"68",X"78",X"D7",X"AF",X"32",X"05",X"68",X"C9",X"6F",X"E6",X"F0",X"0F",X"0F",X"0F",X"0F",
X"EB",X"21",X"C8",X"42",X"E7",X"EB",X"ED",X"44",X"84",X"67",X"22",X"24",X"43",X"AF",X"32",X"C0",
X"42",X"7D",X"E6",X"0F",X"FE",X"0C",X"D0",X"7C",X"E6",X"0F",X"D6",X"02",X"FE",X"0C",X"D0",X"3E",
X"01",X"32",X"C0",X"42",X"7D",X"E6",X"F0",X"0F",X"0F",X"0F",X"CB",X"04",X"CE",X"00",X"6F",X"7C",
X"E6",X"E0",X"07",X"07",X"07",X"3C",X"47",X"26",X"40",X"3E",X"80",X"07",X"10",X"FD",X"A6",X"C8",
X"AE",X"77",X"7D",X"D6",X"00",X"21",X"E3",X"42",X"E7",X"21",X"86",X"06",X"E7",X"CD",X"0A",X"03",
X"2A",X"24",X"43",X"7D",X"0F",X"0F",X"0F",X"E6",X"1E",X"5F",X"7C",X"07",X"07",X"57",X"E6",X"C0",
X"B3",X"5F",X"7A",X"E6",X"03",X"57",X"21",X"03",X"50",X"19",X"01",X"E0",X"06",X"CF",X"21",X"4B",
X"22",X"CD",X"1D",X"20",X"AF",X"32",X"9E",X"42",X"3A",X"18",X"43",X"0F",X"3A",X"D3",X"42",X"CE",
X"07",X"67",X"2E",X"BC",X"22",X"BE",X"42",X"C9",X"51",X"41",X"31",X"21",X"E5",X"DD",X"E1",X"E5",
X"DD",X"36",X"F0",X"30",X"E1",X"3E",X"08",X"D7",X"E5",X"DD",X"E1",X"DD",X"36",X"F0",X"31",X"3E",
X"08",X"D7",X"E5",X"DD",X"E1",X"DD",X"36",X"F0",X"28",X"3E",X"08",X"D7",X"E5",X"DD",X"E1",X"3A",
X"2E",X"42",X"FE",X"03",X"20",X"1E",X"01",X"07",X"07",X"21",X"20",X"42",X"7E",X"B9",X"28",X"14",
X"2C",X"2C",X"10",X"F8",X"DD",X"36",X"00",X"07",X"DD",X"36",X"F0",X"3C",X"3A",X"FB",X"42",X"DD",
X"77",X"F1",X"18",X"48",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"18",X"3C",
X"E5",X"FD",X"E1",X"E5",X"3E",X"C0",X"CD",X"D7",X"19",X"E1",X"3E",X"08",X"D7",X"E5",X"FD",X"E1",
X"3E",X"C4",X"CD",X"D7",X"19",X"3E",X"08",X"D7",X"E5",X"FD",X"E1",X"3E",X"A0",X"CD",X"D7",X"19",
X"3E",X"08",X"D7",X"E5",X"FD",X"E1",X"CD",X"C8",X"19",X"06",X"08",X"AF",X"21",X"00",X"40",X"B6",
X"2C",X"10",X"FC",X"A7",X"20",X"06",X"32",X"C3",X"42",X"CD",X"74",X"08",X"21",X"08",X"40",X"35",
X"C9",X"3A",X"2E",X"42",X"A7",X"C8",X"3A",X"D7",X"42",X"CD",X"FF",X"07",X"3A",X"2E",X"42",X"3D",
X"C0",X"3A",X"D5",X"42",X"6F",X"26",X"00",X"ED",X"5B",X"D6",X"42",X"3A",X"D4",X"42",X"BA",X"28",
X"30",X"30",X"06",X"AF",X"95",X"28",X"02",X"6F",X"25",X"29",X"29",X"29",X"29",X"19",X"22",X"D6",
X"42",X"7C",X"E6",X"03",X"C0",X"CB",X"54",X"20",X"0C",X"F7",X"1B",X"50",X"03",X"02",X"44",X"45",
X"46",X"47",X"48",X"49",X"C9",X"F7",X"1B",X"50",X"03",X"02",X"4A",X"4B",X"4C",X"4D",X"4E",X"4F",
X"C9",X"21",X"D4",X"42",X"3A",X"D3",X"42",X"86",X"0F",X"47",X"3A",X"18",X"43",X"80",X"FE",X"20",
X"30",X"02",X"C6",X"20",X"FE",X"D1",X"38",X"02",X"D6",X"2F",X"77",X"C9",X"21",X"32",X"1B",X"11",
X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"F7",X"51",X"50",X"0A",X"02",X"30",X"31",X"32",X"33",
X"34",X"35",X"36",X"5F",X"5F",X"5F",X"24",X"37",X"38",X"39",X"3A",X"3B",X"3C",X"5B",X"6B",X"5B",
X"F7",X"91",X"53",X"0A",X"02",X"30",X"31",X"32",X"33",X"34",X"3D",X"3E",X"53",X"3F",X"53",X"24",
X"37",X"38",X"39",X"3A",X"40",X"41",X"5F",X"5F",X"5F",X"21",X"99",X"50",X"11",X"20",X"00",X"01",
X"98",X"18",X"71",X"19",X"10",X"FC",X"3E",X"20",X"21",X"1B",X"50",X"11",X"1E",X"00",X"06",X"20",
X"36",X"24",X"2C",X"36",X"24",X"2C",X"36",X"67",X"19",X"10",X"F5",X"32",X"D7",X"42",X"32",X"D4",
X"42",X"ED",X"44",X"11",X"36",X"58",X"06",X"03",X"12",X"1C",X"1C",X"10",X"FB",X"ED",X"44",X"2F",
X"C6",X"E4",X"CD",X"08",X"08",X"79",X"C6",X"2C",X"4F",X"E6",X"F8",X"6F",X"26",X"00",X"29",X"29",
X"11",X"1B",X"50",X"19",X"79",X"E6",X"07",X"C6",X"50",X"11",X"20",X"00",X"77",X"2C",X"77",X"2C",
X"C6",X"10",X"77",X"19",X"C6",X"0C",X"FE",X"70",X"38",X"02",X"3E",X"6F",X"77",X"2D",X"D6",X"10",
X"77",X"2D",X"77",X"FE",X"5F",X"C0",X"19",X"79",X"E6",X"07",X"C6",X"54",X"77",X"2C",X"77",X"2C",
X"C6",X"10",X"77",X"C9",X"3A",X"C0",X"42",X"A7",X"C8",X"2A",X"C2",X"42",X"29",X"6C",X"26",X"00",
X"30",X"01",X"25",X"29",X"29",X"29",X"29",X"4C",X"7D",X"A7",X"21",X"C1",X"42",X"7E",X"CC",X"7E",
X"08",X"26",X"00",X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"ED",X"5B",X"C2",X"42",X"19",X"22",
X"C2",X"42",X"29",X"7C",X"21",X"C8",X"42",X"06",X"04",X"77",X"2C",X"10",X"FC",X"C9",X"A7",X"C8",
X"DD",X"21",X"00",X"40",X"DD",X"7E",X"00",X"DD",X"B6",X"02",X"DD",X"B6",X"04",X"DD",X"B6",X"06",
X"5F",X"DD",X"7E",X"01",X"DD",X"B6",X"03",X"DD",X"B6",X"05",X"DD",X"B6",X"07",X"57",X"B3",X"20",
X"03",X"33",X"33",X"C9",X"CB",X"7E",X"28",X"15",X"06",X"02",X"7B",X"A7",X"20",X"03",X"06",X"FA",
X"7A",X"05",X"0F",X"30",X"FC",X"78",X"B9",X"7E",X"F8",X"ED",X"44",X"77",X"C9",X"06",X"FE",X"7A",
X"A7",X"20",X"03",X"06",X"06",X"7B",X"04",X"07",X"30",X"FC",X"79",X"B8",X"7E",X"F8",X"ED",X"44",
X"77",X"C9",X"3A",X"02",X"42",X"A7",X"C8",X"CD",X"38",X"0D",X"DD",X"21",X"20",X"42",X"06",X"07",
X"C5",X"DD",X"7E",X"00",X"21",X"02",X"09",X"EF",X"26",X"00",X"34",X"09",X"47",X"0A",X"CE",X"0A",
X"26",X"00",X"A8",X"0D",X"EE",X"0E",X"C8",X"0E",X"26",X"00",X"26",X"00",X"50",X"0A",X"EE",X"0E",
X"EE",X"0E",X"DD",X"7E",X"00",X"21",X"23",X"09",X"EF",X"26",X"00",X"2B",X"09",X"2B",X"09",X"2E",
X"09",X"26",X"00",X"2B",X"09",X"B2",X"0F",X"26",X"00",X"26",X"00",X"26",X"00",X"2E",X"09",X"03",
X"10",X"4B",X"10",X"DD",X"23",X"DD",X"23",X"C1",X"10",X"B6",X"C9",X"CD",X"D5",X"11",X"CD",X"4D",
X"0C",X"C3",X"C4",X"0C",X"DD",X"7E",X"50",X"FE",X"DE",X"38",X"1E",X"DD",X"36",X"00",X"02",X"21",
X"2D",X"0A",X"3A",X"08",X"40",X"3D",X"BE",X"23",X"38",X"04",X"23",X"23",X"18",X"F8",X"5E",X"23",
X"56",X"EB",X"CD",X"33",X"1D",X"DD",X"77",X"01",X"C9",X"FE",X"C0",X"38",X"3B",X"3A",X"08",X"40",
X"3D",X"3A",X"04",X"42",X"20",X"03",X"3A",X"05",X"42",X"47",X"DD",X"7E",X"30",X"CD",X"7F",X"09",
X"DD",X"77",X"30",X"DD",X"7E",X"31",X"CD",X"87",X"09",X"DD",X"77",X"31",X"C3",X"D4",X"0B",X"A7",
X"FA",X"85",X"09",X"B8",X"D0",X"78",X"C9",X"A7",X"FA",X"8F",X"09",X"B8",X"D8",X"78",X"C9",X"ED",
X"44",X"B8",X"38",X"01",X"78",X"ED",X"44",X"C9",X"11",X"80",X"01",X"DD",X"6E",X"20",X"DD",X"66",
X"21",X"19",X"DD",X"75",X"20",X"DD",X"74",X"21",X"CD",X"AF",X"09",X"CD",X"D4",X"09",X"C9",X"DD",
X"7E",X"21",X"87",X"1E",X"20",X"CD",X"91",X"03",X"7C",X"DD",X"86",X"30",X"87",X"6F",X"26",X"00",
X"30",X"01",X"25",X"DD",X"56",X"50",X"DD",X"5E",X"40",X"29",X"29",X"29",X"19",X"DD",X"75",X"40",
X"DD",X"74",X"50",X"C9",X"DD",X"7E",X"21",X"1E",X"10",X"CD",X"91",X"03",X"7C",X"DD",X"86",X"31",
X"87",X"6F",X"26",X"00",X"30",X"01",X"25",X"DD",X"56",X"51",X"DD",X"5E",X"41",X"29",X"29",X"29",
X"19",X"DD",X"75",X"41",X"DD",X"74",X"51",X"DD",X"7E",X"31",X"87",X"38",X"1A",X"C8",X"DD",X"7E",
X"51",X"C6",X"08",X"FE",X"F8",X"D8",X"DD",X"7E",X"31",X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36",
X"51",X"EF",X"DD",X"36",X"21",X"80",X"C9",X"DD",X"7E",X"51",X"FE",X"F8",X"D8",X"DD",X"7E",X"31",
X"ED",X"44",X"DD",X"77",X"31",X"AF",X"DD",X"77",X"51",X"DD",X"77",X"21",X"C9",X"06",X"39",X"0A",
X"12",X"3B",X"0A",X"1E",X"41",X"0A",X"FF",X"45",X"0A",X"FF",X"B4",X"01",X"78",X"05",X"96",X"FF",
X"B4",X"03",X"78",X"FF",X"96",X"FF",X"78",X"DD",X"35",X"01",X"C0",X"DD",X"36",X"00",X"03",X"C9",
X"CD",X"D4",X"0B",X"DD",X"7E",X"50",X"FE",X"08",X"30",X"54",X"AF",X"DD",X"36",X"00",X"03",X"DD",
X"77",X"50",X"DD",X"77",X"51",X"6F",X"67",X"32",X"2E",X"42",X"22",X"7E",X"42",X"32",X"81",X"42",
X"32",X"03",X"42",X"32",X"02",X"42",X"32",X"80",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"3E",
X"02",X"32",X"D0",X"42",X"21",X"65",X"23",X"CD",X"4D",X"20",X"21",X"93",X"22",X"CD",X"4D",X"20",
X"21",X"85",X"22",X"CD",X"1D",X"20",X"3E",X"03",X"CD",X"06",X"20",X"F7",X"8D",X"51",X"01",X"09",
X"43",X"24",X"0E",X"22",X"0B",X"24",X"0E",X"22",X"0B",X"01",X"72",X"0B",X"CF",X"C9",X"C6",X"10",
X"2E",X"DE",X"BD",X"30",X"01",X"6F",X"DD",X"66",X"51",X"22",X"7E",X"42",X"E6",X"07",X"C0",X"CB",
X"5D",X"2E",X"34",X"28",X"01",X"2C",X"3A",X"FB",X"42",X"67",X"22",X"1E",X"42",X"C9",X"CD",X"D4",
X"0B",X"DD",X"7E",X"50",X"FE",X"D0",X"38",X"0D",X"3A",X"0A",X"42",X"ED",X"44",X"DD",X"77",X"30",
X"DD",X"36",X"31",X"00",X"C9",X"2A",X"C2",X"42",X"29",X"6C",X"26",X"00",X"30",X"01",X"25",X"DD",
X"7E",X"10",X"0F",X"4F",X"E6",X"F0",X"85",X"57",X"7C",X"CE",X"00",X"C0",X"79",X"87",X"87",X"87",
X"87",X"C6",X"18",X"5F",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"7C",X"92",X"20",X"02",X"7D",X"93",
X"20",X"24",X"3A",X"08",X"40",X"FE",X"07",X"30",X"0D",X"DD",X"36",X"00",X"01",X"DD",X"6E",X"50",
X"DD",X"66",X"51",X"C3",X"C8",X"1C",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",
X"CD",X"B6",X"0B",X"C3",X"0D",X"1F",X"CD",X"E1",X"03",X"67",X"CD",X"4C",X"0B",X"5F",X"CD",X"97",
X"03",X"DD",X"74",X"31",X"61",X"CD",X"97",X"03",X"DD",X"74",X"30",X"C9",X"7B",X"FE",X"20",X"30",
X"0C",X"3A",X"C1",X"42",X"A7",X"F2",X"5A",X"0B",X"ED",X"44",X"C6",X"10",X"C9",X"DD",X"7E",X"00",
X"FE",X"0A",X"3A",X"0A",X"42",X"C0",X"3A",X"08",X"40",X"3D",X"3A",X"07",X"42",X"C0",X"3A",X"08",
X"42",X"C9",X"3E",X"B4",X"D7",X"AF",X"CD",X"06",X"20",X"06",X"07",X"DD",X"21",X"20",X"42",X"C5",
X"CD",X"AB",X"0B",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"DD",X"23",X"DD",
X"23",X"C1",X"10",X"EB",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"01",X"00",X"30",
X"21",X"90",X"42",X"71",X"2C",X"10",X"FC",X"DF",X"39",X"1A",X"C9",X"DD",X"7E",X"00",X"A7",X"C8",
X"FE",X"04",X"C8",X"FE",X"07",X"C8",X"21",X"00",X"40",X"DD",X"7E",X"10",X"E6",X"1F",X"85",X"6F",
X"DD",X"7E",X"10",X"E6",X"E0",X"07",X"07",X"07",X"3C",X"4F",X"47",X"3E",X"80",X"07",X"10",X"FD",
X"AE",X"77",X"41",X"C9",X"CD",X"DB",X"0B",X"CD",X"06",X"0C",X"C9",X"DD",X"7E",X"30",X"DD",X"5E",
X"40",X"DD",X"56",X"50",X"26",X"00",X"87",X"6F",X"30",X"01",X"25",X"29",X"29",X"29",X"19",X"DD",
X"75",X"40",X"DD",X"74",X"50",X"7C",X"FE",X"F0",X"D8",X"DD",X"36",X"50",X"00",X"DD",X"7E",X"30",
X"ED",X"44",X"DD",X"77",X"30",X"C9",X"DD",X"7E",X"31",X"DD",X"5E",X"41",X"DD",X"56",X"51",X"26",
X"00",X"87",X"6F",X"30",X"01",X"25",X"29",X"29",X"29",X"19",X"DD",X"75",X"41",X"DD",X"74",X"51",
X"DD",X"7E",X"31",X"87",X"38",X"14",X"C8",X"7C",X"C6",X"08",X"FE",X"F8",X"D8",X"DD",X"7E",X"31",
X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36",X"51",X"EF",X"C9",X"DD",X"7E",X"51",X"FE",X"F8",X"D8",
X"DD",X"7E",X"31",X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36",X"51",X"00",X"C9",X"3A",X"9E",X"42",
X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0",X"3A",X"BF",X"42",X"DD",X"96",
X"51",X"D6",X"02",X"FE",X"0C",X"D0",X"3E",X"01",X"32",X"C0",X"42",X"CD",X"74",X"06",X"DD",X"7E",
X"00",X"FE",X"04",X"C8",X"FE",X"0A",X"06",X"02",X"20",X"01",X"04",X"DD",X"7E",X"F1",X"21",X"86",
X"06",X"E7",X"CD",X"00",X"03",X"CD",X"9A",X"0C",X"DD",X"36",X"00",X"04",X"DD",X"E5",X"E1",X"01",
X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"C9",X"DD",X"7E",X"00",X"FE",X"0A",X"C0",
X"3E",X"03",X"32",X"2E",X"42",X"21",X"93",X"22",X"CD",X"4D",X"20",X"21",X"1D",X"21",X"CD",X"1D",
X"20",X"3E",X"02",X"CD",X"06",X"20",X"21",X"AD",X"51",X"11",X"20",X"00",X"01",X"24",X"06",X"71",
X"19",X"10",X"FC",X"C9",X"3A",X"2E",X"42",X"3D",X"C0",X"3E",X"D0",X"DD",X"96",X"50",X"FE",X"E1",
X"D8",X"3A",X"D7",X"42",X"DD",X"96",X"51",X"C6",X"0C",X"FE",X"19",X"D0",X"DD",X"36",X"00",X"0A",
X"21",X"93",X"22",X"CD",X"1D",X"20",X"3E",X"01",X"CD",X"06",X"20",X"06",X"07",X"21",X"20",X"42",
X"7E",X"3D",X"20",X"02",X"36",X"03",X"2C",X"2C",X"10",X"F6",X"3E",X"02",X"32",X"2E",X"42",X"AF",
X"32",X"03",X"42",X"32",X"81",X"42",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"22",X"7E",X"42",X"7C",
X"ED",X"44",X"57",X"1E",X"00",X"CD",X"36",X"0B",X"2E",X"34",X"3A",X"FB",X"42",X"67",X"22",X"1E",
X"42",X"F7",X"1B",X"50",X"03",X"02",X"24",X"24",X"67",X"24",X"24",X"67",X"F7",X"AD",X"51",X"01",
X"06",X"43",X"24",X"19",X"15",X"0E",X"11",X"C9",X"DD",X"21",X"2E",X"42",X"DD",X"7E",X"00",X"FE",
X"03",X"C0",X"3A",X"09",X"42",X"87",X"26",X"00",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"DD",
X"5E",X"40",X"DD",X"56",X"50",X"19",X"DD",X"75",X"40",X"DD",X"74",X"50",X"7C",X"FE",X"DD",X"38",
X"35",X"DD",X"7E",X"51",X"DD",X"36",X"00",X"01",X"DD",X"36",X"50",X"00",X"DD",X"36",X"51",X"00",
X"01",X"20",X"D0",X"B9",X"30",X"01",X"79",X"B8",X"38",X"01",X"78",X"CD",X"D8",X"07",X"21",X"1D",
X"21",X"CD",X"4D",X"20",X"AF",X"CD",X"06",X"20",X"3A",X"08",X"40",X"A7",X"C8",X"3E",X"01",X"32",
X"03",X"42",X"32",X"81",X"42",X"C9",X"E6",X"07",X"C0",X"CB",X"5C",X"2E",X"36",X"28",X"01",X"2C",
X"3A",X"FB",X"42",X"67",X"22",X"1E",X"42",X"C9",X"CD",X"D4",X"0B",X"21",X"20",X"42",X"01",X"00",
X"07",X"7E",X"FE",X"05",X"20",X"01",X"0C",X"2C",X"2C",X"10",X"F6",X"79",X"FE",X"03",X"28",X"15",
X"06",X"07",X"21",X"20",X"42",X"7E",X"FE",X"05",X"20",X"02",X"36",X"03",X"2C",X"2C",X"10",X"F5",
X"AF",X"32",X"00",X"42",X"C9",X"DD",X"7E",X"50",X"FE",X"58",X"30",X"3D",X"DD",X"E5",X"E1",X"2C",
X"2C",X"7D",X"FE",X"2E",X"20",X"02",X"2E",X"20",X"7E",X"FE",X"05",X"20",X"F2",X"11",X"50",X"00",
X"19",X"5E",X"2C",X"56",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"CD",X"E1",X"03",X"67",X"7B",X"FE",
X"10",X"D8",X"3A",X"04",X"42",X"87",X"5F",X"CD",X"97",X"03",X"DD",X"74",X"31",X"61",X"CD",X"97",
X"03",X"3A",X"04",X"42",X"84",X"DD",X"77",X"30",X"C9",X"01",X"05",X"07",X"FD",X"21",X"20",X"42",
X"C5",X"CD",X"60",X"0E",X"C1",X"FD",X"23",X"FD",X"23",X"10",X"F5",X"FD",X"21",X"2E",X"42",X"FD",
X"2B",X"FD",X"2B",X"FD",X"7E",X"00",X"FE",X"08",X"20",X"F5",X"21",X"2E",X"42",X"2D",X"2D",X"7E",
X"FE",X"06",X"20",X"F9",X"FD",X"36",X"F0",X"3A",X"11",X"F1",X"FF",X"19",X"7E",X"FD",X"77",X"F1",
X"11",X"5F",X"00",X"19",X"7E",X"D6",X"10",X"FD",X"77",X"50",X"2C",X"7E",X"FD",X"77",X"51",X"C9",
X"FD",X"7E",X"00",X"B9",X"C0",X"3A",X"01",X"42",X"87",X"87",X"FD",X"86",X"F1",X"21",X"B6",X"0E",
X"E7",X"FD",X"77",X"00",X"3A",X"01",X"42",X"2F",X"C6",X"06",X"FD",X"77",X"F1",X"FD",X"7E",X"00",
X"FE",X"06",X"28",X"0A",X"D6",X"09",X"C0",X"FD",X"77",X"50",X"FD",X"77",X"51",X"C9",X"FD",X"36",
X"F0",X"3B",X"FD",X"6E",X"50",X"FD",X"66",X"51",X"3A",X"D7",X"42",X"57",X"1E",X"FF",X"FD",X"E5",
X"CD",X"E1",X"03",X"FD",X"E1",X"67",X"3A",X"06",X"42",X"5F",X"CD",X"97",X"03",X"FD",X"74",X"31",
X"61",X"CD",X"97",X"03",X"FD",X"74",X"30",X"C9",X"01",X"06",X"09",X"08",X"09",X"01",X"08",X"06",
X"06",X"08",X"01",X"09",X"08",X"09",X"06",X"01",X"3A",X"2E",X"42",X"FE",X"03",X"28",X"0B",X"AF",
X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"C9",X"2A",X"7E",X"42",X"7D",X"D6",X"10",
X"DD",X"77",X"50",X"DD",X"74",X"51",X"E6",X"07",X"C0",X"DD",X"36",X"F0",X"3C",X"C9",X"DD",X"7E",
X"50",X"FE",X"C0",X"30",X"26",X"CD",X"98",X"09",X"01",X"08",X"07",X"FD",X"21",X"20",X"42",X"FD",
X"7E",X"00",X"B9",X"28",X"07",X"FD",X"23",X"FD",X"23",X"10",X"F4",X"C9",X"DD",X"7E",X"50",X"D6",
X"10",X"FD",X"77",X"50",X"DD",X"7E",X"51",X"FD",X"77",X"51",X"C9",X"DD",X"7E",X"10",X"E6",X"06",
X"21",X"E3",X"42",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"2C",X"3A",X"04",X"42",X"DD",X"77",
X"30",X"DD",X"36",X"00",X"01",X"01",X"09",X"07",X"FD",X"21",X"20",X"42",X"FD",X"7E",X"00",X"B9",
X"28",X"07",X"FD",X"23",X"FD",X"23",X"10",X"F4",X"C9",X"FD",X"7E",X"10",X"E6",X"06",X"21",X"E3",
X"42",X"E7",X"FD",X"77",X"F1",X"FD",X"36",X"F0",X"2C",X"DD",X"7E",X"50",X"FD",X"77",X"50",X"DD",
X"7E",X"51",X"FD",X"77",X"51",X"3A",X"04",X"42",X"FD",X"77",X"30",X"FD",X"77",X"31",X"FD",X"36",
X"00",X"01",X"01",X"08",X"07",X"FD",X"21",X"20",X"42",X"FD",X"7E",X"00",X"B9",X"28",X"07",X"FD",
X"23",X"FD",X"23",X"10",X"F4",X"C9",X"FD",X"7E",X"10",X"E6",X"06",X"21",X"E3",X"42",X"E7",X"FD",
X"77",X"F1",X"FD",X"36",X"F0",X"2C",X"DD",X"7E",X"50",X"FD",X"77",X"50",X"DD",X"7E",X"51",X"FD",
X"77",X"51",X"3A",X"04",X"42",X"FD",X"77",X"30",X"ED",X"44",X"FD",X"77",X"31",X"FD",X"36",X"00",
X"01",X"C9",X"3A",X"9E",X"42",X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0",
X"3A",X"BF",X"42",X"DD",X"96",X"51",X"FE",X"10",X"D0",X"CD",X"74",X"06",X"CD",X"90",X"10",X"DD",
X"7E",X"F1",X"21",X"3C",X"11",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"3E",X"DD",X"36",X"00",
X"0B",X"21",X"2E",X"42",X"2D",X"2D",X"7E",X"FE",X"08",X"20",X"F9",X"E5",X"FD",X"E1",X"FD",X"7E",
X"50",X"C6",X"10",X"FD",X"77",X"50",X"36",X"04",X"01",X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",
X"1D",X"20",X"C9",X"3A",X"9E",X"42",X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",
X"D0",X"3A",X"BF",X"42",X"DD",X"96",X"51",X"D6",X"01",X"FE",X"0E",X"D0",X"CD",X"74",X"06",X"CD",
X"9D",X"10",X"DD",X"7E",X"F1",X"21",X"40",X"11",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"2C",
X"DD",X"36",X"00",X"0C",X"21",X"2E",X"42",X"2D",X"2D",X"7E",X"FE",X"09",X"20",X"F9",X"36",X"04",
X"01",X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"C9",X"3A",X"9E",X"42",X"A7",X"C8",
X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0",X"3A",X"BF",X"42",X"DD",X"96",X"51",X"D6",
X"02",X"FE",X"0C",X"D0",X"CD",X"74",X"06",X"CD",X"AA",X"10",X"DD",X"E5",X"E1",X"36",X"04",X"01",
X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"AF",X"32",X"03",X"42",X"32",X"81",X"42",
X"3E",X"F0",X"D7",X"3A",X"80",X"42",X"32",X"81",X"42",X"3A",X"02",X"42",X"32",X"03",X"42",X"C9",
X"21",X"1A",X"11",X"CD",X"B7",X"10",X"21",X"26",X"11",X"CD",X"EF",X"10",X"C9",X"21",X"1E",X"11",
X"CD",X"B7",X"10",X"21",X"2E",X"11",X"CD",X"EF",X"10",X"C9",X"21",X"22",X"11",X"CD",X"B7",X"10",
X"21",X"36",X"11",X"CD",X"EF",X"10",X"C9",X"3A",X"01",X"42",X"E7",X"FE",X"23",X"20",X"07",X"3E",
X"13",X"CD",X"0A",X"03",X"3E",X"52",X"CD",X"0A",X"03",X"DD",X"7E",X"51",X"E6",X"F8",X"FE",X"18",
X"30",X"02",X"3E",X"18",X"FE",X"C0",X"38",X"02",X"3E",X"C0",X"6F",X"26",X"00",X"29",X"29",X"DD",
X"7E",X"50",X"E6",X"F8",X"0F",X"0F",X"0F",X"85",X"6F",X"11",X"21",X"50",X"19",X"EB",X"C9",X"3A",
X"01",X"42",X"87",X"E7",X"4E",X"23",X"46",X"EB",X"11",X"20",X"00",X"7E",X"FE",X"24",X"20",X"08",
X"E5",X"19",X"7E",X"E1",X"FE",X"24",X"28",X"03",X"2B",X"18",X"F0",X"71",X"19",X"70",X"3E",X"1E",
X"D7",X"11",X"E0",X"FF",X"36",X"24",X"19",X"36",X"24",X"C9",X"22",X"32",X"42",X"52",X"32",X"52",
X"62",X"13",X"52",X"72",X"13",X"23",X"C8",X"C9",X"C8",X"CA",X"C8",X"CB",X"C8",X"CC",X"C8",X"CA",
X"C8",X"CC",X"C8",X"CD",X"CF",X"F4",X"C8",X"CC",X"C8",X"CE",X"CF",X"F4",X"CF",X"F5",X"03",X"05",
X"02",X"04",X"05",X"04",X"03",X"02",X"3A",X"80",X"42",X"A7",X"C8",X"DD",X"21",X"90",X"42",X"06",
X"07",X"C5",X"DD",X"7E",X"00",X"A7",X"C4",X"6B",X"11",X"DD",X"7E",X"01",X"A7",X"C4",X"A4",X"11",
X"CD",X"EF",X"11",X"DD",X"23",X"DD",X"23",X"C1",X"10",X"E7",X"C9",X"26",X"00",X"87",X"30",X"01",
X"25",X"6F",X"29",X"29",X"29",X"DD",X"5E",X"10",X"DD",X"56",X"20",X"19",X"DD",X"75",X"10",X"DD",
X"74",X"20",X"7C",X"D6",X"10",X"FE",X"BD",X"D8",X"DD",X"7E",X"21",X"E6",X"F8",X"6F",X"D6",X"20",
X"FE",X"C0",X"30",X"2D",X"26",X"00",X"29",X"29",X"11",X"19",X"50",X"19",X"36",X"42",X"01",X"CF",
X"11",X"CF",X"18",X"1D",X"26",X"00",X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"DD",X"5E",
X"11",X"DD",X"56",X"21",X"19",X"DD",X"75",X"11",X"DD",X"74",X"21",X"7C",X"D6",X"10",X"FE",X"E0",
X"D8",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"01",X"DD",X"77",X"20",X"DD",X"77",X"21",X"C9",X"3E",
X"08",X"D7",X"36",X"98",X"C9",X"3A",X"D0",X"42",X"3D",X"C0",X"3E",X"B3",X"DD",X"96",X"50",X"FE",
X"EA",X"D8",X"3A",X"D3",X"42",X"DD",X"96",X"51",X"C6",X"0B",X"FE",X"17",X"D0",X"18",X"19",X"3A",
X"D0",X"42",X"3D",X"C0",X"3E",X"BF",X"DD",X"96",X"20",X"FE",X"F0",X"D8",X"3A",X"D3",X"42",X"DD",
X"96",X"21",X"FE",X"F2",X"D8",X"CD",X"C1",X"11",X"AF",X"32",X"D0",X"42",X"01",X"11",X"12",X"CF",
X"C9",X"3E",X"10",X"CD",X"10",X"13",X"3A",X"D3",X"42",X"FE",X"D0",X"38",X"02",X"3E",X"C8",X"E6",
X"F8",X"6F",X"26",X"00",X"29",X"29",X"11",X"18",X"50",X"19",X"E5",X"11",X"20",X"00",X"36",X"A4",
X"2C",X"36",X"A5",X"19",X"36",X"A7",X"2D",X"36",X"A6",X"19",X"36",X"A8",X"2C",X"36",X"A9",X"E1",
X"3E",X"10",X"D7",X"E5",X"11",X"20",X"00",X"36",X"AA",X"2C",X"36",X"AB",X"19",X"36",X"AD",X"2D",
X"36",X"AC",X"19",X"36",X"AE",X"2C",X"36",X"AF",X"E1",X"3E",X"10",X"D7",X"11",X"20",X"00",X"3E",
X"24",X"77",X"2C",X"36",X"98",X"19",X"36",X"98",X"2D",X"77",X"19",X"77",X"2C",X"36",X"98",X"3E",
X"2D",X"D7",X"3E",X"10",X"D7",X"3A",X"D0",X"42",X"A7",X"C0",X"21",X"2B",X"43",X"77",X"2C",X"77",
X"2C",X"77",X"06",X"07",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"50",X"D6",X"A0",X"FE",X"30",X"30",
X"3F",X"DD",X"7E",X"51",X"E6",X"F8",X"0F",X"0F",X"0F",X"C5",X"47",X"11",X"2B",X"43",X"FE",X"0D",
X"38",X"01",X"1C",X"D6",X"05",X"30",X"01",X"AF",X"FE",X"08",X"38",X"02",X"D6",X"08",X"FE",X"10",
X"38",X"01",X"AF",X"4F",X"78",X"FE",X"05",X"38",X"0C",X"2F",X"C6",X"1E",X"38",X"01",X"AF",X"FE",
X"05",X"38",X"02",X"3E",X"05",X"CD",X"EF",X"1B",X"C1",X"1A",X"B5",X"12",X"1C",X"1A",X"B4",X"12",
X"DD",X"23",X"DD",X"23",X"10",X"B2",X"0E",X"17",X"0D",X"28",X"97",X"79",X"CB",X"2F",X"38",X"03",
X"2F",X"C6",X"17",X"47",X"11",X"2B",X"43",X"FE",X"0B",X"38",X"03",X"1C",X"D6",X"08",X"21",X"03",
X"00",X"A7",X"28",X"04",X"29",X"3D",X"20",X"FC",X"1A",X"A5",X"6F",X"1C",X"1A",X"A4",X"B5",X"20",
X"D7",X"3E",X"04",X"80",X"87",X"87",X"87",X"32",X"D3",X"42",X"3E",X"01",X"32",X"D0",X"42",X"C9",
X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3E",X"01",X"32",X"03",X"68",X"78",X"D7",X"AF",X"32",X"03",
X"68",X"C9",X"31",X"F3",X"23",X"3A",X"00",X"78",X"21",X"00",X"60",X"01",X"00",X"03",X"71",X"2C",
X"7D",X"E6",X"07",X"20",X"F9",X"7C",X"C6",X"08",X"67",X"10",X"F3",X"21",X"00",X"40",X"11",X"00",
X"04",X"71",X"23",X"1B",X"7B",X"B2",X"20",X"F9",X"3D",X"32",X"28",X"43",X"32",X"00",X"78",X"21",
X"00",X"50",X"01",X"00",X"04",X"36",X"24",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"AF",X"21",X"C8",
X"42",X"06",X"04",X"77",X"2C",X"10",X"FC",X"32",X"D7",X"42",X"21",X"10",X"42",X"06",X"70",X"77",
X"2C",X"10",X"FC",X"21",X"90",X"42",X"06",X"30",X"77",X"2C",X"10",X"FC",X"21",X"00",X"58",X"06",
X"80",X"77",X"2C",X"10",X"FC",X"3A",X"08",X"43",X"47",X"C3",X"65",X"16",X"00",X"6F",X"67",X"22",
X"06",X"70",X"C9",X"3A",X"00",X"70",X"4F",X"E6",X"01",X"21",X"D1",X"13",X"E7",X"32",X"0A",X"43",
X"79",X"0F",X"4F",X"E6",X"01",X"32",X"0B",X"83",X"79",X"0F",X"4F",X"E6",X"01",X"C6",X"02",X"32",
X"09",X"43",X"79",X"0F",X"E6",X"01",X"32",X"08",X"43",X"3A",X"00",X"68",X"07",X"4F",X"E6",X"01",
X"26",X"05",X"28",X"02",X"26",X"03",X"79",X"07",X"2F",X"E6",X"01",X"3C",X"6F",X"22",X"0B",X"43",
X"C9",X"15",X"20",X"00",X"0F",X"0F",X"E6",X"01",X"32",X"0D",X"43",X"C9",X"10",X"12",X"15",X"FF",
X"31",X"00",X"44",X"CD",X"93",X"13",X"3E",X"01",X"32",X"03",X"70",X"01",X"00",X"28",X"3A",X"00",
X"78",X"0D",X"20",X"FA",X"10",X"F8",X"00",X"00",X"00",X"00",X"00",X"AF",X"00",X"00",X"32",X"0E",
X"43",X"AF",X"32",X"03",X"70",X"01",X"00",X"28",X"3A",X"00",X"78",X"AF",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DF",X"52",X"14",X"3E",X"01",X"32",
X"02",X"43",X"32",X"88",X"42",X"32",X"89",X"42",X"32",X"8A",X"42",X"32",X"01",X"70",X"32",X"04",
X"70",X"2A",X"2E",X"43",X"7D",X"BC",X"28",X"F9",X"21",X"30",X"43",X"85",X"6F",X"D6",X"2C",X"E6",
X"7F",X"32",X"2E",X"43",X"11",X"31",X"14",X"D5",X"5E",X"2C",X"56",X"D5",X"2C",X"5E",X"2C",X"56",
X"EB",X"C9",X"CD",X"7C",X"14",X"DF",X"59",X"14",X"C9",X"CD",X"80",X"16",X"21",X"7C",X"42",X"35",
X"28",X"6A",X"7E",X"FE",X"F0",X"D0",X"C6",X"10",X"FE",X"30",X"D8",X"2C",X"2C",X"77",X"E6",X"03",
X"C0",X"CB",X"56",X"3E",X"34",X"28",X"01",X"3C",X"32",X"1E",X"42",X"C9",X"AF",X"32",X"02",X"42",
X"32",X"03",X"42",X"32",X"2E",X"42",X"32",X"80",X"42",X"32",X"81",X"42",X"32",X"C0",X"42",X"32",
X"C5",X"42",X"32",X"D0",X"42",X"32",X"D8",X"42",X"3C",X"32",X"17",X"43",X"CD",X"4F",X"13",X"21",
X"72",X"1B",X"11",X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"CD",X"9D",X"18",X"CD",X"3F",X"03",
X"CD",X"4A",X"16",X"CD",X"28",X"02",X"21",X"00",X"C0",X"22",X"7C",X"42",X"22",X"7E",X"42",X"21",
X"2C",X"02",X"22",X"1C",X"42",X"21",X"34",X"06",X"22",X"1E",X"42",X"C9",X"DF",X"80",X"16",X"F7",
X"47",X"51",X"01",X"0A",X"43",X"24",X"0E",X"16",X"24",X"0D",X"1B",X"0A",X"1E",X"10",X"3E",X"3C",
X"D7",X"F7",X"CD",X"50",X"01",X"13",X"0E",X"15",X"0B",X"0A",X"1D",X"24",X"0E",X"0C",X"17",X"0A",
X"1F",X"0D",X"0A",X"24",X"0E",X"1B",X"18",X"0C",X"1C",X"3E",X"3C",X"D7",X"F7",X"31",X"51",X"01",
X"0D",X"00",X"00",X"05",X"01",X"24",X"00",X"00",X"00",X"01",X"24",X"00",X"00",X"05",X"F7",X"0F",
X"53",X"03",X"02",X"E9",X"EC",X"ED",X"EB",X"EE",X"EF",X"3E",X"3C",X"D7",X"F7",X"33",X"51",X"01",
X"0C",X"00",X"05",X"01",X"24",X"24",X"00",X"00",X"01",X"24",X"24",X"00",X"05",X"F7",X"12",X"53",
X"02",X"02",X"B0",X"B1",X"B2",X"B3",X"3E",X"3C",X"D7",X"F7",X"35",X"51",X"01",X"0C",X"00",X"02",
X"01",X"24",X"24",X"00",X"08",X"24",X"24",X"24",X"00",X"04",X"F7",X"14",X"53",X"02",X"02",X"B0",
X"B1",X"B2",X"B3",X"3E",X"3C",X"D7",X"F7",X"37",X"51",X"01",X"0C",X"00",X"09",X"24",X"24",X"24",
X"00",X"06",X"24",X"24",X"24",X"00",X"03",X"F7",X"16",X"53",X"02",X"02",X"B0",X"B1",X"B2",X"B3",
X"3E",X"3C",X"D7",X"F7",X"39",X"51",X"01",X"0C",X"00",X"06",X"24",X"24",X"24",X"00",X"04",X"24",
X"24",X"24",X"00",X"02",X"F7",X"18",X"53",X"02",X"02",X"B0",X"B1",X"B2",X"B3",X"3E",X"3C",X"D7",
X"F7",X"9C",X"51",X"01",X"07",X"24",X"24",X"24",X"24",X"12",X"0A",X"1D",X"3E",X"3C",X"D7",X"11",
X"EF",X"42",X"3E",X"03",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00",
X"00",X"01",X"24",X"00",X"00",X"06",X"24",X"24",X"00",X"00",X"04",X"3E",X"3C",X"D7",X"11",X"EF",
X"42",X"3E",X"04",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00",X"07",
X"24",X"24",X"00",X"00",X"05",X"24",X"24",X"00",X"00",X"03",X"3E",X"3C",X"D7",X"11",X"EF",X"42",
X"3E",X"05",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00",X"05",X"24",
X"24",X"00",X"00",X"03",X"24",X"24",X"00",X"00",X"02",X"3E",X"3C",X"D7",X"DF",X"73",X"16",X"CD",
X"4F",X"13",X"CD",X"8C",X"07",X"CD",X"9D",X"18",X"CD",X"3F",X"03",X"3E",X"06",X"32",X"C1",X"42",
X"AF",X"32",X"09",X"40",X"32",X"0B",X"40",X"CD",X"D9",X"18",X"AF",X"32",X"D0",X"42",X"3C",X"32",
X"C0",X"42",X"32",X"C5",X"42",X"32",X"D8",X"42",X"32",X"02",X"42",X"32",X"80",X"42",X"3E",X"78",
X"D7",X"3E",X"10",X"32",X"D1",X"42",X"CD",X"75",X"12",X"3E",X"08",X"32",X"D5",X"42",X"3E",X"01",
X"32",X"2E",X"42",X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3A",X"0B",X"43",X"A7",X"28",X"14",
X"F7",X"FF",X"52",X"01",X"06",X"1D",X"12",X"0D",X"0E",X"1B",X"0C",X"3E",X"01",X"32",X"16",X"43",
X"CD",X"B0",X"02",X"C9",X"C9",X"3A",X"03",X"43",X"A0",X"2F",X"C3",X"8C",X"13",X"00",X"00",X"00",
X"1B",X"0F",X"C9",X"3A",X"08",X"40",X"A7",X"20",X"04",X"DF",X"52",X"14",X"C9",X"CD",X"23",X"1B",
X"3A",X"15",X"43",X"A7",X"C8",X"11",X"88",X"02",X"21",X"80",X"40",X"06",X"20",X"4E",X"2C",X"7E",
X"2C",X"BA",X"20",X"02",X"79",X"BB",X"28",X"06",X"2C",X"2C",X"10",X"F1",X"18",X"0B",X"7D",X"D6",
X"82",X"0F",X"0F",X"C6",X"60",X"6F",X"7E",X"A7",X"C0",X"21",X"60",X"40",X"01",X"00",X"20",X"71",
X"2C",X"10",X"FC",X"DF",X"58",X"17",X"AF",X"32",X"17",X"43",X"32",X"10",X"40",X"32",X"09",X"40",
X"32",X"0B",X"40",X"32",X"02",X"42",X"32",X"03",X"42",X"32",X"2E",X"42",X"32",X"80",X"42",X"32",
X"81",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32",X"D0",X"42",X"32",X"D8",X"42",X"3C",X"32",
X"19",X"43",X"3A",X"09",X"43",X"32",X"0A",X"40",X"CD",X"D9",X"18",X"CD",X"4F",X"13",X"21",X"52",
X"1B",X"11",X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"CD",X"9D",X"18",X"CD",X"4A",X"16",X"CD",
X"28",X"02",X"F7",X"ED",X"50",X"01",X"11",X"17",X"18",X"1D",X"1D",X"1E",X"0B",X"24",X"1D",X"1B",
X"0A",X"1D",X"1C",X"24",X"11",X"1C",X"1E",X"19",X"3A",X"0A",X"43",X"3C",X"28",X"26",X"F7",X"94",
X"50",X"01",X"18",X"1C",X"1D",X"19",X"24",X"00",X"00",X"00",X"24",X"24",X"24",X"1B",X"18",X"0F",
X"24",X"10",X"17",X"12",X"14",X"24",X"1C",X"1E",X"17",X"18",X"0B",X"11",X"0A",X"43",X"21",X"94",
X"51",X"CD",X"BB",X"02",X"F7",X"38",X"51",X"01",X"0E",X"02",X"08",X"09",X"01",X"24",X"1D",X"11",
X"10",X"12",X"1B",X"22",X"19",X"18",X"0C",X"C9",X"3A",X"15",X"43",X"3D",X"20",X"15",X"F7",X"10",
X"51",X"01",X"0E",X"24",X"22",X"15",X"17",X"18",X"24",X"1B",X"0E",X"22",X"0A",X"15",X"19",X"24",
X"01",X"18",X"13",X"F7",X"10",X"51",X"01",X"0E",X"1C",X"1B",X"0E",X"22",X"0A",X"15",X"19",X"24",
X"02",X"24",X"1B",X"18",X"24",X"01",X"CD",X"3F",X"03",X"21",X"00",X"68",X"AF",X"CB",X"46",X"20",
X"0A",X"3A",X"15",X"43",X"3D",X"C8",X"CB",X"4E",X"C8",X"3E",X"01",X"32",X"02",X"43",X"DF",X"AF",
X"18",X"3A",X"0B",X"43",X"A7",X"28",X"0C",X"3A",X"02",X"43",X"2F",X"C6",X"9A",X"21",X"15",X"43",
X"86",X"27",X"77",X"AF",X"32",X"16",X"43",X"32",X"19",X"43",X"21",X"0D",X"40",X"77",X"2C",X"77",
X"2C",X"77",X"21",X"2D",X"40",X"77",X"2C",X"77",X"2C",X"77",X"3C",X"32",X"C0",X"42",X"32",X"C5",
X"42",X"32",X"D8",X"42",X"3E",X"C0",X"32",X"1C",X"43",X"21",X"00",X"40",X"11",X"20",X"40",X"06",
X"20",X"7E",X"12",X"2C",X"1C",X"10",X"FA",X"3A",X"02",X"43",X"A7",X"20",X"09",X"21",X"20",X"40",
X"06",X"20",X"77",X"2C",X"10",X"FC",X"21",X"07",X"22",X"CD",X"1D",X"20",X"CD",X"04",X"18",X"3E",
X"F0",X"D7",X"18",X"45",X"CD",X"4F",X"13",X"CD",X"8C",X"07",X"CD",X"9D",X"18",X"CD",X"3F",X"03",
X"CD",X"77",X"18",X"CD",X"50",X"19",X"3E",X"06",X"32",X"C1",X"42",X"AF",X"32",X"D0",X"42",X"32",
X"C3",X"42",X"CD",X"74",X"08",X"3E",X"01",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32",X"D8",X"42",
X"32",X"1A",X"43",X"21",X"04",X"60",X"00",X"2C",X"77",X"2C",X"77",X"2C",X"77",X"21",X"00",X"68",
X"77",X"2C",X"77",X"2C",X"77",X"C9",X"CD",X"04",X"18",X"3E",X"3C",X"D7",X"3E",X"10",X"32",X"D1",
X"42",X"CD",X"75",X"12",X"3E",X"08",X"32",X"D5",X"42",X"3E",X"01",X"32",X"80",X"42",X"32",X"2E",
X"42",X"21",X"0A",X"40",X"35",X"CD",X"77",X"18",X"3E",X"78",X"D7",X"3E",X"01",X"32",X"02",X"42",
X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3A",X"0A",X"40",X"4F",X"3E",X"05",X"91",X"FD",X"21",
X"9E",X"52",X"11",X"40",X"00",X"28",X"08",X"47",X"CD",X"C8",X"19",X"FD",X"19",X"10",X"F9",X"79",
X"A7",X"C8",X"47",X"3E",X"2C",X"CD",X"D7",X"19",X"FD",X"19",X"10",X"F7",X"C9",X"F7",X"60",X"51",
X"01",X"0A",X"0E",X"1B",X"18",X"0C",X"1C",X"24",X"11",X"10",X"12",X"11",X"C3",X"29",X"03",X"3A",
X"08",X"40",X"A7",X"C0",X"DF",X"26",X"00",X"AF",X"32",X"03",X"42",X"32",X"81",X"42",X"21",X"65",
X"23",X"CD",X"4D",X"20",X"3E",X"B4",X"D7",X"DF",X"AF",X"18",X"CD",X"D9",X"18",X"3E",X"78",X"D7",
X"3E",X"01",X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3E",X"2A",X"32",X"08",X"40",X"3E",X"09",
X"32",X"00",X"42",X"AF",X"32",X"C3",X"42",X"CD",X"74",X"08",X"21",X"C0",X"19",X"11",X"00",X"40",
X"01",X"08",X"00",X"ED",X"B0",X"21",X"09",X"40",X"7E",X"C6",X"01",X"27",X"FE",X"49",X"30",X"01",
X"77",X"21",X"0B",X"40",X"7E",X"A7",X"28",X"03",X"3A",X"0D",X"43",X"C6",X"01",X"86",X"38",X"01",
X"77",X"21",X"E7",X"19",X"CD",X"33",X"1D",X"32",X"04",X"42",X"21",X"F9",X"19",X"CD",X"33",X"1D",
X"32",X"05",X"42",X"21",X"0B",X"1A",X"CD",X"33",X"1D",X"32",X"06",X"42",X"21",X"0D",X"1A",X"CD",
X"33",X"1D",X"32",X"07",X"42",X"21",X"21",X"1A",X"CD",X"33",X"1D",X"32",X"08",X"42",X"21",X"35",
X"1A",X"CD",X"33",X"1D",X"32",X"09",X"42",X"21",X"37",X"1A",X"CD",X"33",X"1D",X"32",X"0A",X"42",
X"21",X"00",X"00",X"22",X"84",X"42",X"21",X"5E",X"50",X"11",X"20",X"00",X"3A",X"09",X"40",X"E6",
X"0F",X"28",X"2C",X"FE",X"05",X"28",X"1C",X"38",X"02",X"D6",X"05",X"47",X"36",X"FC",X"2C",X"36",
X"FD",X"19",X"36",X"FF",X"2D",X"36",X"FE",X"19",X"10",X"F2",X"3A",X"09",X"40",X"E6",X"0F",X"FE",
X"05",X"38",X"0C",X"36",X"26",X"2C",X"36",X"27",X"19",X"36",X"29",X"2D",X"36",X"28",X"19",X"3A",
X"09",X"40",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"28",X"0F",X"47",X"36",X"2A",X"2C",X"36",X"27",
X"19",X"36",X"29",X"2D",X"36",X"2B",X"19",X"10",X"F2",X"7C",X"FE",X"52",X"20",X"03",X"7D",X"FE",
X"5E",X"C8",X"36",X"24",X"2C",X"36",X"24",X"19",X"36",X"24",X"2D",X"36",X"24",X"19",X"18",X"E9",
X"FC",X"3F",X"FC",X"3F",X"F8",X"1F",X"F0",X"0F",X"3E",X"24",X"FD",X"77",X"00",X"FD",X"77",X"01",
X"FD",X"77",X"20",X"FD",X"77",X"21",X"C9",X"FD",X"77",X"00",X"3C",X"FD",X"77",X"01",X"3C",X"FD",
X"77",X"20",X"3C",X"FD",X"77",X"21",X"C9",X"01",X"10",X"02",X"12",X"03",X"14",X"04",X"15",X"06",
X"16",X"07",X"14",X"0B",X"17",X"0C",X"14",X"FF",X"18",X"01",X"10",X"02",X"12",X"03",X"14",X"04",
X"15",X"06",X"16",X"07",X"14",X"0B",X"17",X"0C",X"14",X"FF",X"18",X"FF",X"0C",X"01",X"10",X"02",
X"12",X"03",X"14",X"04",X"15",X"06",X"16",X"07",X"12",X"09",X"17",X"0B",X"18",X"0C",X"14",X"FF",
X"19",X"01",X"10",X"02",X"12",X"03",X"14",X"04",X"15",X"06",X"16",X"07",X"12",X"09",X"17",X"0B",
X"18",X"0C",X"14",X"FF",X"19",X"FF",X"0E",X"FF",X"20",X"3A",X"17",X"43",X"A7",X"28",X"04",X"DF",
X"52",X"14",X"C9",X"DF",X"26",X"00",X"AF",X"32",X"1A",X"43",X"32",X"02",X"42",X"32",X"03",X"42",
X"32",X"2E",X"42",X"32",X"80",X"42",X"32",X"81",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32",
X"D0",X"42",X"32",X"D8",X"42",X"21",X"04",X"60",X"00",X"2C",X"77",X"2C",X"77",X"2C",X"77",X"21",
X"00",X"68",X"77",X"2C",X"77",X"2C",X"77",X"3A",X"02",X"43",X"A7",X"28",X"2C",X"3A",X"0A",X"40",
X"A7",X"20",X"15",X"01",X"88",X"1A",X"CF",X"C9",X"CD",X"09",X"1B",X"CD",X"E6",X"1A",X"3E",X"F0",
X"D7",X"DF",X"95",X"1A",X"C9",X"DF",X"26",X"00",X"3A",X"2A",X"40",X"A7",X"28",X"0B",X"CD",X"CD",
X"1A",X"01",X"46",X"18",X"CF",X"DF",X"AF",X"18",X"C9",X"3A",X"0A",X"40",X"A7",X"20",X"F2",X"01",
X"B4",X"1A",X"CF",X"C9",X"AF",X"32",X"D8",X"42",X"CD",X"09",X"1B",X"3E",X"78",X"D7",X"3A",X"03",
X"43",X"A7",X"C4",X"CD",X"1A",X"AF",X"32",X"1C",X"43",X"DF",X"52",X"14",X"C9",X"06",X"20",X"11",
X"00",X"40",X"21",X"20",X"40",X"1A",X"4E",X"EB",X"12",X"71",X"1C",X"2C",X"10",X"F7",X"21",X"03",
X"43",X"7E",X"EE",X"01",X"77",X"C9",X"F7",X"F2",X"51",X"01",X"06",X"1B",X"0E",X"22",X"0A",X"15",
X"19",X"3A",X"03",X"43",X"A7",X"20",X"09",X"F7",X"72",X"51",X"01",X"03",X"0E",X"17",X"18",X"C9",
X"F7",X"72",X"51",X"01",X"03",X"18",X"20",X"1D",X"C9",X"21",X"8D",X"51",X"11",X"20",X"00",X"01",
X"24",X"09",X"71",X"19",X"10",X"FC",X"21",X"72",X"51",X"11",X"20",X"00",X"01",X"24",X"0A",X"71",
X"19",X"10",X"FC",X"F7",X"94",X"51",X"01",X"09",X"1B",X"0E",X"1F",X"18",X"24",X"0E",X"16",X"0A",
X"10",X"C9",X"07",X"07",X"07",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"05",X"00",X"00",X"03",
X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"06",X"06",X"06",X"06",
X"01",X"01",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",
X"07",X"07",X"07",X"07",X"07",X"07",X"04",X"04",X"04",X"04",X"01",X"01",X"01",X"01",X"01",X"01",
X"01",X"01",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",
X"07",X"02",X"02",X"02",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"05",X"01",X"01",X"01",X"01",
X"01",X"01",X"21",X"89",X"42",X"35",X"C0",X"CD",X"15",X"1D",X"32",X"89",X"42",X"3A",X"03",X"42",
X"A7",X"C8",X"3A",X"08",X"40",X"A7",X"C8",X"FE",X"0A",X"38",X"0A",X"21",X"00",X"42",X"7E",X"D6",
X"01",X"DA",X"4A",X"1F",X"77",X"06",X"07",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"00",X"A7",X"28",
X"42",X"DD",X"23",X"DD",X"23",X"10",X"F4",X"C9",X"3A",X"C3",X"42",X"E6",X"F8",X"0F",X"0F",X"0F",
X"47",X"2F",X"C6",X"02",X"FE",X"F0",X"38",X"01",X"AF",X"E6",X"0F",X"4F",X"78",X"FE",X"10",X"30",
X"01",X"2F",X"E6",X"0F",X"3D",X"F2",X"E9",X"1B",X"AF",X"FE",X"0D",X"38",X"02",X"3E",X"0D",X"21",
X"00",X"00",X"A7",X"28",X"06",X"47",X"37",X"ED",X"6A",X"10",X"FB",X"79",X"A7",X"C8",X"47",X"29",
X"10",X"FD",X"C9",X"CD",X"C8",X"1B",X"FD",X"21",X"00",X"40",X"FD",X"7E",X"00",X"FD",X"B6",X"02",
X"FD",X"B6",X"04",X"FD",X"B6",X"06",X"A5",X"5F",X"FD",X"7E",X"01",X"FD",X"B6",X"03",X"FD",X"B6",
X"05",X"FD",X"B6",X"07",X"A4",X"57",X"21",X"08",X"40",X"3A",X"C1",X"42",X"87",X"38",X"19",X"01",
X"00",X"01",X"78",X"A3",X"20",X"2C",X"0C",X"CB",X"00",X"30",X"F7",X"2C",X"0E",X"00",X"78",X"A2",
X"20",X"20",X"0C",X"CB",X"00",X"30",X"F7",X"C9",X"2C",X"01",X"07",X"80",X"78",X"A2",X"20",X"12",
X"0D",X"CB",X"08",X"30",X"F7",X"2D",X"0E",X"07",X"78",X"A3",X"20",X"06",X"0D",X"CB",X"08",X"30",
X"F7",X"C9",X"2D",X"2D",X"78",X"A6",X"28",X"FA",X"AE",X"77",X"79",X"0F",X"0F",X"57",X"0F",X"85",
X"D6",X"00",X"DD",X"77",X"10",X"7A",X"E6",X"C0",X"5F",X"7A",X"E6",X"01",X"57",X"7D",X"D6",X"00",
X"0F",X"30",X"02",X"14",X"14",X"87",X"83",X"5F",X"FD",X"21",X"03",X"50",X"FD",X"19",X"CD",X"C8",
X"19",X"DD",X"36",X"F0",X"2C",X"DD",X"7E",X"10",X"E6",X"1E",X"21",X"E3",X"42",X"E7",X"DD",X"77",
X"F1",X"DD",X"7E",X"10",X"E6",X"E0",X"67",X"DD",X"7E",X"10",X"0F",X"CB",X"1C",X"87",X"87",X"87",
X"87",X"C6",X"18",X"6F",X"DD",X"7E",X"10",X"E6",X"1E",X"0F",X"C6",X"C8",X"5F",X"16",X"42",X"1A",
X"84",X"67",X"DD",X"75",X"50",X"DD",X"74",X"51",X"E5",X"21",X"82",X"42",X"7E",X"07",X"07",X"86",
X"3C",X"77",X"E6",X"7F",X"C6",X"40",X"E1",X"57",X"1E",X"FF",X"CD",X"E1",X"03",X"67",X"3A",X"04",
X"42",X"5F",X"CD",X"97",X"03",X"DD",X"74",X"31",X"61",X"CD",X"97",X"03",X"DD",X"74",X"30",X"DD",
X"7E",X"10",X"0F",X"2F",X"E6",X"80",X"DD",X"77",X"21",X"DD",X"36",X"00",X"01",X"21",X"65",X"23",
X"CD",X"1D",X"20",X"06",X"08",X"AF",X"21",X"00",X"40",X"B6",X"2C",X"10",X"FC",X"A7",X"C0",X"32",
X"C3",X"42",X"C3",X"74",X"08",X"3A",X"08",X"40",X"FE",X"07",X"30",X"03",X"3E",X"0A",X"C9",X"21",
X"4F",X"1D",X"3A",X"85",X"42",X"BE",X"23",X"38",X"06",X"28",X"04",X"23",X"23",X"18",X"F6",X"5E",
X"23",X"56",X"EB",X"3A",X"0D",X"43",X"A7",X"3A",X"0B",X"40",X"20",X"09",X"FE",X"10",X"38",X"05",
X"3E",X"0C",X"32",X"0B",X"40",X"3D",X"BE",X"23",X"38",X"03",X"23",X"18",X"F9",X"7E",X"C9",X"04",
X"5E",X"1D",X"08",X"72",X"1D",X"0C",X"82",X"1D",X"10",X"92",X"1D",X"FF",X"9E",X"1D",X"01",X"78",
X"02",X"50",X"03",X"46",X"04",X"3C",X"05",X"37",X"06",X"32",X"07",X"50",X"08",X"2D",X"09",X"28",
X"FF",X"23",X"01",X"64",X"02",X"3C",X"03",X"32",X"05",X"2D",X"06",X"28",X"07",X"3C",X"08",X"23",
X"FF",X"1E",X"01",X"50",X"02",X"32",X"03",X"28",X"05",X"23",X"06",X"1E",X"07",X"32",X"08",X"1E",
X"FF",X"19",X"01",X"50",X"02",X"28",X"06",X"1E",X"07",X"28",X"08",X"19",X"FF",X"14",X"01",X"3C",
X"03",X"1E",X"05",X"19",X"06",X"14",X"07",X"1E",X"FF",X"14",X"21",X"8A",X"42",X"35",X"C0",X"36",
X"1E",X"3A",X"08",X"40",X"A7",X"C8",X"3A",X"D0",X"42",X"3D",X"C0",X"3A",X"81",X"42",X"A7",X"C8",
X"01",X"00",X"07",X"21",X"90",X"42",X"7E",X"2C",X"B6",X"28",X"01",X"0C",X"2C",X"10",X"F7",X"21",
X"B0",X"1E",X"3A",X"08",X"40",X"3D",X"BE",X"23",X"38",X"04",X"23",X"23",X"18",X"F8",X"5E",X"23",
X"56",X"EB",X"CD",X"33",X"1D",X"3D",X"B9",X"D8",X"CD",X"C8",X"1B",X"DD",X"21",X"00",X"40",X"DD",
X"7E",X"00",X"DD",X"B6",X"02",X"DD",X"B6",X"04",X"DD",X"B6",X"06",X"A5",X"5F",X"DD",X"7E",X"01",
X"DD",X"B6",X"03",X"DD",X"B6",X"05",X"DD",X"B6",X"07",X"A4",X"57",X"DD",X"21",X"8E",X"42",X"DD",
X"23",X"DD",X"23",X"DD",X"7E",X"00",X"DD",X"B6",X"01",X"20",X"F4",X"7A",X"B3",X"CA",X"8C",X"1E",
X"CD",X"E9",X"1F",X"21",X"09",X"40",X"87",X"38",X"01",X"2D",X"4F",X"07",X"07",X"07",X"3C",X"47",
X"3E",X"80",X"07",X"10",X"FD",X"47",X"2D",X"2D",X"78",X"A6",X"28",X"FA",X"61",X"7D",X"D6",X"00",
X"6F",X"E6",X"1E",X"0F",X"C6",X"C8",X"5F",X"7D",X"0F",X"CB",X"1C",X"87",X"87",X"87",X"87",X"C6",
X"24",X"6F",X"16",X"42",X"1A",X"C6",X"07",X"84",X"67",X"DD",X"75",X"20",X"DD",X"74",X"21",X"3A",
X"D3",X"42",X"C6",X"08",X"57",X"1E",X"C8",X"CD",X"E1",X"03",X"67",X"C6",X"40",X"FE",X"81",X"38",
X"0B",X"FE",X"40",X"0E",X"6E",X"26",X"40",X"F2",X"7C",X"1E",X"26",X"C0",X"1E",X"1C",X"CD",X"97",
X"03",X"DD",X"74",X"01",X"61",X"CD",X"97",X"03",X"DD",X"74",X"00",X"C9",X"06",X"07",X"FD",X"21",
X"20",X"42",X"FD",X"7E",X"00",X"3D",X"20",X"07",X"FD",X"7E",X"50",X"FE",X"80",X"38",X"07",X"FD",
X"23",X"FD",X"23",X"10",X"ED",X"C9",X"C6",X"0C",X"6F",X"FD",X"7E",X"51",X"C6",X"07",X"18",X"A8",
X"06",X"BC",X"1E",X"12",X"C8",X"1E",X"1E",X"D4",X"1E",X"FF",X"DC",X"1E",X"01",X"03",X"02",X"04",
X"06",X"05",X"07",X"04",X"0E",X"06",X"FF",X"07",X"01",X"02",X"02",X"03",X"06",X"04",X"07",X"03",
X"0E",X"05",X"FF",X"06",X"02",X"02",X"07",X"03",X"0E",X"04",X"FF",X"05",X"07",X"02",X"0E",X"03",
X"FF",X"04",X"21",X"88",X"42",X"35",X"C0",X"36",X"10",X"3A",X"D8",X"42",X"A7",X"C8",X"21",X"C4",
X"42",X"7E",X"3C",X"FE",X"0C",X"38",X"01",X"AF",X"77",X"21",X"00",X"40",X"4E",X"06",X"08",X"CB",
X"01",X"DC",X"0D",X"1F",X"10",X"F9",X"2C",X"7D",X"FE",X"08",X"38",X"F0",X"C9",X"E5",X"11",X"00",
X"40",X"19",X"EB",X"CB",X"3B",X"78",X"30",X"02",X"C6",X"08",X"3D",X"6F",X"26",X"00",X"29",X"29",
X"29",X"29",X"29",X"19",X"29",X"EB",X"FD",X"21",X"03",X"50",X"FD",X"19",X"3A",X"C5",X"42",X"A7",
X"28",X"03",X"3A",X"C4",X"42",X"21",X"3E",X"1F",X"E7",X"CD",X"D7",X"19",X"E1",X"C9",X"B0",X"B4",
X"B8",X"BC",X"B8",X"B4",X"B0",X"B4",X"B8",X"BC",X"B8",X"B4",X"01",X"00",X"07",X"11",X"20",X"42",
X"1A",X"A7",X"20",X"01",X"0C",X"1C",X"1C",X"10",X"F7",X"79",X"FE",X"03",X"D8",X"3E",X"09",X"32",
X"00",X"42",X"CD",X"C8",X"1B",X"11",X"00",X"40",X"01",X"10",X"00",X"1A",X"A5",X"C5",X"47",X"1C",
X"1A",X"A4",X"B0",X"C1",X"28",X"02",X"04",X"37",X"CB",X"11",X"1C",X"30",X"EE",X"78",X"FE",X"03",
X"D8",X"3E",X"FF",X"28",X"0C",X"3A",X"D7",X"42",X"E6",X"03",X"3C",X"47",X"3E",X"7F",X"07",X"10",
X"FD",X"A1",X"06",X"04",X"05",X"0F",X"38",X"FC",X"78",X"32",X"01",X"42",X"87",X"C6",X"00",X"4F",
X"06",X"04",X"21",X"00",X"40",X"79",X"BD",X"28",X"0B",X"C5",X"E5",X"CD",X"BF",X"1F",X"DD",X"36",
X"00",X"05",X"E1",X"C1",X"2C",X"2C",X"10",X"ED",X"21",X"65",X"23",X"CD",X"1D",X"20",X"C9",X"E5",
X"5E",X"2C",X"56",X"CD",X"E9",X"1F",X"E1",X"87",X"30",X"01",X"2C",X"07",X"07",X"07",X"4F",X"3C",
X"47",X"3E",X"80",X"07",X"10",X"FD",X"AE",X"77",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"00",X"A7",
X"CA",X"6A",X"1C",X"DD",X"23",X"DD",X"23",X"18",X"F3",X"21",X"82",X"42",X"7E",X"07",X"07",X"86",
X"3C",X"77",X"0F",X"0F",X"0F",X"0F",X"AE",X"E6",X"0F",X"3C",X"47",X"EB",X"AF",X"D6",X"10",X"29",
X"30",X"FB",X"2C",X"10",X"F8",X"C9",X"A7",X"28",X"0C",X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3A",
X"0E",X"43",X"A7",X"C0",X"78",X"32",X"00",X"70",X"0F",X"32",X"02",X"70",X"C9",X"3A",X"17",X"43",
X"A7",X"C0",X"3A",X"0E",X"43",X"A7",X"20",X"03",X"7E",X"87",X"D8",X"CD",X"5B",X"20",X"36",X"01",
X"2C",X"36",X"00",X"C9",X"3A",X"17",X"43",X"A7",X"C0",X"3A",X"0E",X"43",X"A7",X"20",X"03",X"7E",
X"87",X"D8",X"CD",X"5B",X"20",X"7E",X"A7",X"C0",X"34",X"2C",X"36",X"00",X"C9",X"CD",X"5B",X"20",
X"36",X"00",X"3E",X"FF",X"32",X"28",X"43",X"32",X"00",X"78",X"C9",X"11",X"FB",X"20",X"1A",X"13",
X"BD",X"20",X"04",X"1A",X"BC",X"28",X"03",X"13",X"18",X"F4",X"21",X"44",X"1F",X"19",X"C9",X"06",
X"10",X"DD",X"21",X"40",X"40",X"C5",X"CD",X"93",X"20",X"C1",X"DD",X"23",X"DD",X"23",X"10",X"F5",
X"3A",X"26",X"43",X"32",X"07",X"68",X"3A",X"27",X"43",X"32",X"06",X"68",X"3A",X"28",X"43",X"32",
X"00",X"78",X"C9",X"DD",X"7E",X"00",X"A7",X"C8",X"3E",X"10",X"90",X"87",X"21",X"FB",X"20",X"E7",
X"5F",X"23",X"56",X"6B",X"62",X"DD",X"7E",X"00",X"E7",X"47",X"07",X"07",X"32",X"26",X"43",X"07",
X"32",X"27",X"43",X"78",X"E6",X"1F",X"21",X"DB",X"20",X"E7",X"32",X"28",X"43",X"78",X"87",X"30",
X"05",X"DD",X"36",X"00",X"00",X"C9",X"DD",X"7E",X"01",X"D6",X"01",X"38",X"04",X"DD",X"77",X"01",
X"C9",X"1A",X"E6",X"7F",X"DD",X"77",X"01",X"DD",X"34",X"00",X"C9",X"00",X"0E",X"1C",X"29",X"35",
X"40",X"4B",X"55",X"5E",X"67",X"70",X"78",X"7F",X"87",X"8D",X"94",X"9A",X"9F",X"A5",X"AA",X"AF",
X"B3",X"B7",X"BB",X"BF",X"C3",X"C6",X"C9",X"CC",X"CF",X"D2",X"FF",X"65",X"23",X"65",X"23",X"4B",
X"22",X"4B",X"22",X"4B",X"22",X"4B",X"22",X"1D",X"21",X"93",X"22",X"1B",X"21",X"1B",X"21",X"1B",
X"21",X"1B",X"21",X"85",X"22",X"07",X"22",X"75",X"22",X"6B",X"22",X"00",X"9F",X"80",X"11",X"13",
X"11",X"13",X"11",X"13",X"11",X"13",X"1D",X"1C",X"1A",X"18",X"16",X"15",X"13",X"11",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"05",X"07",
X"05",X"07",X"05",X"07",X"05",X"07",X"11",X"10",X"0E",X"0C",X"0A",X"09",X"07",X"05",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0C",X"0E",
X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"18",X"17",X"15",X"13",X"11",X"10",X"0E",X"0C",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"02",
X"00",X"02",X"00",X"02",X"00",X"02",X"0C",X"0B",X"09",X"07",X"05",X"04",X"02",X"00",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"11",X"13",X"11",X"13",X"11",X"13",X"11",X"13",X"1D",X"1C",
X"1A",X"18",X"16",X"15",X"13",X"11",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"05",X"07",X"05",X"07",X"05",X"07",X"05",X"07",X"11",X"10",
X"0E",X"0C",X"0A",X"09",X"07",X"05",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"18",X"17",
X"15",X"13",X"11",X"10",X"0E",X"0C",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"0C",X"0B",
X"09",X"07",X"05",X"04",X"02",X"00",X"9F",X"04",X"5A",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F",
X"53",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F",X"53",X"5C",X"5A",X"58",X"57",X"55",X"53",X"52",
X"50",X"4E",X"50",X"52",X"53",X"55",X"57",X"58",X"5A",X"5C",X"5A",X"5A",X"1F",X"58",X"55",X"55",
X"1F",X"53",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F",X"53",X"4E",X"50",X"4E",X"50",X"53",X"55",
X"53",X"55",X"58",X"5A",X"58",X"5A",X"5C",X"5E",X"5C",X"5E",X"9F",X"00",X"00",X"11",X"02",X"13",
X"05",X"18",X"0B",X"1D",X"0E",X"1E",X"00",X"1E",X"0E",X"00",X"1E",X"0E",X"1D",X"0C",X"1B",X"0A",
X"10",X"08",X"17",X"05",X"14",X"03",X"12",X"02",X"11",X"01",X"9F",X"00",X"60",X"62",X"64",X"65",
X"67",X"69",X"6B",X"6C",X"9F",X"04",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F",
X"7E",X"1F",X"7E",X"7E",X"9F",X"85",X"0C",X"0C",X"1F",X"07",X"09",X"1F",X"07",X"09",X"1F",X"0C",
X"1F",X"0C",X"9F",X"80",X"00",X"02",X"03",X"04",X"05",X"04",X"03",X"02",X"01",X"03",X"04",X"05",
X"06",X"05",X"04",X"03",X"02",X"04",X"05",X"06",X"07",X"06",X"05",X"04",X"03",X"05",X"06",X"07",
X"08",X"07",X"06",X"05",X"04",X"06",X"07",X"08",X"09",X"08",X"07",X"06",X"05",X"07",X"08",X"09",
X"0A",X"09",X"08",X"07",X"06",X"08",X"09",X"0A",X"0B",X"0A",X"09",X"08",X"07",X"09",X"0A",X"0B",
X"0C",X"0B",X"0A",X"09",X"08",X"0A",X"0B",X"0C",X"0D",X"0C",X"0B",X"0A",X"09",X"0B",X"0C",X"0D",
X"0E",X"0D",X"0C",X"0B",X"0A",X"0C",X"0D",X"0E",X"0F",X"0E",X"0D",X"0C",X"0B",X"0D",X"0E",X"0F",
X"10",X"0F",X"0E",X"0D",X"0C",X"0E",X"0F",X"10",X"11",X"10",X"0F",X"0E",X"0D",X"0F",X"10",X"11",
X"12",X"11",X"10",X"1F",X"0E",X"10",X"11",X"12",X"13",X"12",X"11",X"10",X"0F",X"11",X"12",X"13",
X"14",X"13",X"12",X"11",X"10",X"12",X"13",X"14",X"15",X"14",X"13",X"12",X"11",X"13",X"14",X"15",
X"16",X"15",X"14",X"13",X"12",X"14",X"15",X"16",X"17",X"16",X"15",X"14",X"13",X"15",X"16",X"17",
X"18",X"17",X"16",X"15",X"14",X"16",X"17",X"18",X"19",X"18",X"17",X"16",X"15",X"17",X"18",X"19",
X"1A",X"19",X"18",X"17",X"16",X"18",X"19",X"1A",X"1B",X"1A",X"19",X"18",X"17",X"19",X"1A",X"1B",
X"1C",X"1B",X"1A",X"19",X"18",X"1A",X"1B",X"1C",X"1D",X"1C",X"1B",X"1A",X"19",X"1B",X"1C",X"1D",
X"1E",X"1D",X"1C",X"1B",X"9F",X"00",X"10",X"0E",X"0D",X"0C",X"0B",X"0C",X"0D",X"0E",X"0F",X"0D",
X"0C",X"0B",X"0A",X"0B",X"0C",X"0D",X"0E",X"0C",X"0B",X"0A",X"09",X"0A",X"0B",X"0C",X"0D",X"0B",
X"0A",X"09",X"08",X"09",X"0A",X"0B",X"0C",X"0A",X"09",X"08",X"07",X"08",X"09",X"0A",X"0B",X"09",
X"08",X"07",X"06",X"07",X"08",X"09",X"0A",X"08",X"07",X"06",X"05",X"06",X"07",X"08",X"09",X"08",
X"07",X"06",X"05",X"04",X"05",X"06",X"07",X"08",X"06",X"05",X"04",X"03",X"04",X"05",X"06",X"07",
X"05",X"04",X"03",X"02",X"03",X"04",X"05",X"06",X"05",X"04",X"03",X"02",X"01",X"02",X"03",X"04",
X"05",X"03",X"02",X"01",X"00",X"01",X"02",X"03",X"9F",X"F5",X"23",X"48",X"24",X"00",X"40",X"0F",
X"04",X"48",X"24",X"00",X"40",X"F0",X"04",X"CF",X"24",X"48",X"24",X"00",X"50",X"0F",X"04",X"48",
X"24",X"00",X"50",X"F0",X"04",X"48",X"24",X"00",X"58",X"0F",X"01",X"48",X"24",X"00",X"58",X"F0",
X"01",X"C6",X"24",X"E5",X"24",X"11",X"FC",X"26",X"21",X"00",X"00",X"01",X"00",X"10",X"3A",X"00",
X"78",X"79",X"86",X"4F",X"2C",X"20",X"FA",X"24",X"10",X"F4",X"1A",X"B9",X"20",X"00",X"13",X"7B",
X"FE",X"FE",X"38",X"E7",X"01",X"00",X"08",X"28",X"E5",X"3E",X"18",X"32",X"02",X"52",X"3E",X"14",
X"18",X"03",X"7B",X"D6",X"FB",X"21",X"E2",X"51",X"77",X"06",X"18",X"21",X"A2",X"52",X"11",X"20",
X"00",X"36",X"16",X"19",X"70",X"19",X"36",X"1B",X"FE",X"14",X"C8",X"3A",X"00",X"78",X"3A",X"00",
X"60",X"CB",X"77",X"20",X"F6",X"C3",X"00",X"00",X"16",X"0F",X"E1",X"C1",X"5A",X"3A",X"00",X"78",
X"7B",X"0F",X"0F",X"0F",X"0F",X"83",X"80",X"A1",X"77",X"7B",X"87",X"87",X"83",X"3C",X"5F",X"2C",
X"20",X"EE",X"24",X"10",X"E8",X"3B",X"3B",X"3B",X"3B",X"E1",X"C1",X"5A",X"3A",X"00",X"78",X"7B",
X"0F",X"0F",X"0F",X"0F",X"83",X"80",X"AE",X"A1",X"20",X"17",X"7B",X"87",X"87",X"83",X"3C",X"5F",
X"2C",X"20",X"EC",X"24",X"10",X"E6",X"15",X"3B",X"3B",X"3B",X"3B",X"F2",X"4A",X"24",X"E1",X"C1",
X"C9",X"79",X"E6",X"01",X"4F",X"7C",X"0F",X"0F",X"E6",X"06",X"20",X"02",X"3E",X"02",X"93",X"FE",
X"03",X"38",X"17",X"4F",X"21",X"00",X"50",X"11",X"00",X"40",X"06",X"04",X"3A",X"00",X"78",X"1A",
X"77",X"1C",X"2C",X"20",X"FA",X"14",X"24",X"10",X"F3",X"79",X"21",X"E4",X"51",X"77",X"06",X"0A",
X"21",X"A4",X"52",X"C3",X"2E",X"24",X"3E",X"18",X"32",X"04",X"42",X"3E",X"14",X"18",X"D4",X"21",
X"00",X"40",X"11",X"00",X"50",X"01",X"00",X"04",X"3A",X"00",X"78",X"1A",X"77",X"23",X"13",X"0B",
X"79",X"B0",X"20",X"F4",X"C9",X"31",X"00",X"44",X"3A",X"00",X"78",X"21",X"00",X"58",X"01",X"00",
X"80",X"71",X"2C",X"10",X"FC",X"01",X"05",X"20",X"21",X"01",X"58",X"71",X"2C",X"2C",X"10",X"FB",
X"AF",X"32",X"04",X"70",X"01",X"00",X"28",X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A",
X"00",X"78",X"3A",X"00",X"68",X"CB",X"6F",X"20",X"00",X"3E",X"01",X"32",X"04",X"70",X"01",X"00",
X"28",X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A",X"00",X"78",X"3A",X"00",X"68",X"CB",
X"6F",X"28",X"00",X"3A",X"00",X"78",X"3A",X"00",X"68",X"CB",X"6F",X"20",X"00",X"3E",X"01",X"32",
X"00",X"60",X"32",X"01",X"60",X"32",X"02",X"60",X"32",X"04",X"43",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"AF",X"00",X"00",X"32",X"01",X"70",X"32",X"04",X"43",X"3D",X"C3",X"82",X"25",X"21",
X"00",X"50",X"01",X"00",X"04",X"36",X"F6",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"01",X"00",X"00",
X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A",X"00",X"78",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"31",X"86",X"25",X"C9",X"25",X"13",X"E0",X"13",X"CD",X"93",X"13",X"CD",X"9F",X"25",
X"CD",X"BF",X"25",X"CD",X"13",X"26",X"CD",X"45",X"26",X"CD",X"55",X"26",X"C3",X"1A",X"01",X"C9",
X"01",X"B2",X"25",X"CF",X"21",X"10",X"43",X"C3",X"7A",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"C9",X"3A",X"0B",X"43",X"21",X"14",X"43",X"34",X"96",X"C0",X"77",X"3C",X"C3",X"A0",X"02",
X"3E",X"08",X"D7",X"7E",X"2F",X"E6",X"01",X"32",X"03",X"60",X"35",X"C2",X"85",X"02",X"C9",X"7D",
X"FE",X"10",X"CA",X"C3",X"25",X"7E",X"2F",X"E6",X"01",X"32",X"04",X"68",X"35",X"C2",X"85",X"02",
X"C9",X"24",X"32",X"08",X"52",X"28",X"02",X"3E",X"1C",X"32",X"28",X"52",X"3A",X"0C",X"43",X"32",
X"E8",X"51",X"3D",X"3E",X"24",X"28",X"02",X"3E",X"1C",X"32",X"E8",X"50",X"F7",X"08",X"51",X"01",
X"07",X"1D",X"12",X"0D",X"0E",X"1B",X"0C",X"24",X"F7",X"48",X"52",X"01",X"05",X"17",X"12",X"18",
X"0C",X"24",X"C9",X"F7",X"2A",X"52",X"01",X"07",X"24",X"24",X"1C",X"1E",X"17",X"18",X"0B",X"3A",
X"0A",X"43",X"3C",X"28",X"13",X"F7",X"4A",X"51",X"01",X"05",X"24",X"24",X"00",X"00",X"00",X"21",
X"0A",X"52",X"11",X"0A",X"43",X"C3",X"BB",X"02",X"F7",X"4A",X"51",X"01",X"07",X"10",X"17",X"12",
X"11",X"1D",X"18",X"17",X"C9",X"F7",X"8C",X"52",X"01",X"04",X"10",X"17",X"12",X"14",X"3A",X"09",
X"43",X"32",X"EC",X"51",X"C9",X"3E",X"01",X"32",X"06",X"68",X"32",X"07",X"68",X"01",X"FF",X"0B",
X"DD",X"21",X"CD",X"26",X"21",X"00",X"41",X"E5",X"DD",X"7E",X"00",X"E6",X"F8",X"57",X"1E",X"00",
X"DD",X"7E",X"00",X"E6",X"07",X"3C",X"C5",X"47",X"1A",X"2F",X"0F",X"10",X"FD",X"C1",X"38",X"03",
X"DD",X"4E",X"01",X"7E",X"17",X"77",X"E6",X"0F",X"FE",X"0C",X"CC",X"BF",X"26",X"E1",X"2C",X"DD",
X"23",X"DD",X"23",X"10",X"D2",X"79",X"32",X"00",X"78",X"21",X"10",X"41",X"11",X"E3",X"26",X"06",
X"10",X"1A",X"FE",X"FF",X"28",X"02",X"BE",X"C0",X"13",X"2C",X"10",X"F5",X"F7",X"78",X"51",X"01",
X"0D",X"18",X"0C",X"16",X"0A",X"17",X"24",X"22",X"0B",X"24",X"0E",X"0D",X"0A",X"16",X"C9",X"C5",
X"06",X"10",X"21",X"10",X"41",X"7E",X"71",X"2C",X"4F",X"10",X"FA",X"C1",X"C9",X"A2",X"00",X"A3",
X"1C",X"A4",X"35",X"A8",X"40",X"A9",X"55",X"AA",X"67",X"AB",X"78",X"AC",X"7F",X"A7",X"8D",X"A0",
X"9A",X"A1",X"9F",X"55",X"55",X"55",X"40",X"35",X"1C",X"00",X"1C",X"1C",X"40",X"35",X"35",X"55",
X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"B3",X"90",X"B1",
X"00",X"03",X"06",X"09",X"0C",X"10",X"13",X"16",X"19",X"1C",X"1F",X"22",X"25",X"28",X"2B",X"2E",
X"31",X"33",X"36",X"39",X"3C",X"3F",X"41",X"44",X"47",X"49",X"4C",X"4E",X"51",X"53",X"55",X"58",
X"5A",X"5C",X"5E",X"60",X"62",X"64",X"66",X"68",X"6A",X"6B",X"6D",X"6F",X"70",X"71",X"73",X"74",
X"75",X"76",X"78",X"79",X"7A",X"7A",X"7B",X"7C",X"7D",X"7D",X"7E",X"7E",X"7E",X"7F",X"7F",X"7F",
X"7F",X"7F",X"7F",X"7F",X"7E",X"7E",X"7E",X"7D",X"7D",X"7C",X"7B",X"7A",X"7A",X"79",X"78",X"76",
X"75",X"74",X"73",X"71",X"70",X"6F",X"6D",X"6B",X"6A",X"68",X"66",X"64",X"62",X"60",X"5E",X"5C",
X"5A",X"58",X"55",X"53",X"51",X"4E",X"4C",X"49",X"47",X"44",X"41",X"3F",X"3C",X"39",X"36",X"33",
X"31",X"2E",X"2B",X"28",X"25",X"22",X"1F",X"1C",X"19",X"16",X"13",X"10",X"0C",X"09",X"06",X"03",
X"00",X"FD",X"FA",X"F7",X"F4",X"F0",X"ED",X"EA",X"E7",X"E4",X"E1",X"DE",X"DB",X"D8",X"D5",X"D2",
X"CF",X"CD",X"CA",X"C7",X"C4",X"C1",X"BF",X"BC",X"B9",X"B7",X"B4",X"B2",X"AF",X"AD",X"AB",X"A8",
X"A6",X"A4",X"A2",X"A0",X"9E",X"9C",X"9A",X"98",X"96",X"95",X"93",X"91",X"90",X"8F",X"8D",X"8C",
X"8B",X"8A",X"88",X"87",X"86",X"86",X"85",X"84",X"83",X"83",X"82",X"82",X"82",X"81",X"81",X"81",
X"81",X"81",X"81",X"81",X"82",X"82",X"82",X"83",X"83",X"84",X"85",X"86",X"86",X"87",X"88",X"8A",
X"8B",X"8C",X"8D",X"8F",X"90",X"91",X"93",X"95",X"96",X"98",X"9A",X"9C",X"9E",X"A0",X"A2",X"A4",
X"A6",X"A8",X"AB",X"AD",X"AF",X"B2",X"B4",X"B7",X"B9",X"BC",X"BF",X"C1",X"C4",X"C7",X"CA",X"CD",
X"CF",X"D2",X"D5",X"D8",X"DB",X"DE",X"E1",X"E4",X"E7",X"EA",X"ED",X"F0",X"F4",X"F7",X"FA",X"FD",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,278 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity rom_h is
port (
clk : in std_logic;
addr : in std_logic_vector(11 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of rom_h is
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",
X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",
X"FF",X"0F",X"0F",X"0F",X"FE",X"F8",X"E0",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07",
X"00",X"E0",X"F8",X"FE",X"0F",X"0F",X"0F",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",
X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",
X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"44",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"C3",X"53",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"53",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"00",
X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",
X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",
X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",
X"FF",X"57",X"C7",X"07",X"03",X"03",X"03",X"03",X"FF",X"FF",X"57",X"C7",X"03",X"03",X"03",X"03",
X"57",X"FF",X"FF",X"57",X"C3",X"03",X"03",X"03",X"C7",X"57",X"FF",X"FF",X"53",X"C3",X"03",X"03",
X"07",X"C7",X"57",X"FF",X"FB",X"53",X"C3",X"03",X"07",X"07",X"C7",X"57",X"FB",X"FB",X"53",X"C3",
X"07",X"07",X"07",X"C7",X"53",X"FB",X"FB",X"53",X"07",X"07",X"07",X"07",X"C3",X"53",X"FB",X"FB",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"47",X"C7",X"07",X"07",X"03",X"03",X"03",X"03",
X"03",X"00",X"00",X"08",X"00",X"28",X"44",X"40",X"00",X"82",X"04",X"01",X"92",X"00",X"20",X"04",
X"00",X"20",X"00",X"00",X"09",X"00",X"00",X"09",X"00",X"00",X"00",X"12",X"00",X"60",X"00",X"10",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",
X"44",X"FF",X"00",X"00",X"00",X"00",X"FF",X"44",X"57",X"FF",X"07",X"07",X"03",X"03",X"FB",X"53",
X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"02",X"03",X"02",X"02",X"03",X"02",X"02",X"02",X"07",X"07",X"07",X"07",X"83",X"83",X"83",X"83",
X"03",X"02",X"03",X"02",X"02",X"03",X"02",X"03",X"87",X"07",X"07",X"07",X"03",X"03",X"03",X"83",
X"02",X"02",X"02",X"03",X"02",X"02",X"03",X"02",X"87",X"87",X"87",X"87",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"A0",X"D0",X"C8",X"C0",X"C0",
X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C0",X"C8",X"D0",X"A0",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"40",X"B0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"80",X"90",X"A0",X"C0",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"80",X"40",X"20",X"00",X"00",
X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"C0",X"A0",X"90",X"80",X"80",
X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"80",X"B0",X"40",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"06",X"05",X"02",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"90",
X"05",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"F0",X"40",X"A0",X"10",X"00",X"00",X"00",X"00",
X"00",X"02",X"01",X"04",X"02",X"02",X"20",X"12",X"00",X"00",X"20",X"40",X"18",X"98",X"24",X"40",
X"26",X"0B",X"01",X"02",X"02",X"04",X"00",X"00",X"40",X"20",X"90",X"C0",X"20",X"90",X"00",X"00",
X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"62",X"92",X"8A",X"86",X"62",
X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84",X"82",X"7C",X"00",X"08",X"FE",X"48",X"28",X"18",
X"82",X"7C",X"00",X"9C",X"A2",X"A2",X"A2",X"E4",X"82",X"7C",X"00",X"0C",X"92",X"92",X"52",X"3C",
X"82",X"7C",X"00",X"C0",X"A0",X"90",X"8E",X"80",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00",
X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB",
X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F",
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"06",X"0E",X"0E",X"0E",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"06",X"06",X"02",X"00",X"00",X"00",
X"02",X"D9",X"D8",X"DA",X"D9",X"D8",X"D8",X"D8",X"00",X"00",X"80",X"40",X"20",X"80",X"60",X"00",
X"D8",X"D8",X"D9",X"DA",X"D8",X"D9",X"02",X"00",X"60",X"80",X"20",X"40",X"80",X"00",X"00",X"00",
X"00",X"00",X"03",X"0F",X"1C",X"30",X"40",X"0F",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",
X"FF",X"0F",X"40",X"30",X"1C",X"0F",X"03",X"00",X"FE",X"02",X"06",X"00",X"00",X"00",X"80",X"00",
X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"FE",X"7C",X"00",X"9C",X"A2",X"A2",X"E4",X"00",X"FE",
X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",
X"00",X"00",X"00",X"06",X"36",X"36",X"76",X"76",X"00",X"00",X"80",X"40",X"20",X"10",X"00",X"00",
X"76",X"76",X"36",X"36",X"06",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"80",X"00",X"00",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00",
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",
X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",
X"FF",X"0F",X"0F",X"0F",X"FE",X"F8",X"E0",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07",
X"00",X"E0",X"F8",X"FE",X"0F",X"0F",X"0F",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",
X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",
X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"44",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"C3",X"53",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"53",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"00",
X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",
X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",
X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",
X"FF",X"57",X"C7",X"07",X"03",X"03",X"03",X"03",X"FF",X"FF",X"57",X"C7",X"03",X"03",X"03",X"03",
X"57",X"FF",X"FF",X"57",X"C3",X"03",X"03",X"03",X"C7",X"57",X"FF",X"FF",X"53",X"C3",X"03",X"03",
X"07",X"C7",X"57",X"FF",X"FB",X"53",X"C3",X"03",X"07",X"07",X"C7",X"57",X"FB",X"FB",X"53",X"C3",
X"07",X"07",X"07",X"C7",X"53",X"FB",X"FB",X"53",X"07",X"07",X"07",X"07",X"C3",X"53",X"FB",X"FB",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"47",X"C7",X"07",X"07",X"03",X"03",X"03",X"03",
X"03",X"00",X"00",X"08",X"00",X"28",X"44",X"40",X"00",X"82",X"04",X"01",X"92",X"00",X"20",X"04",
X"00",X"20",X"00",X"00",X"09",X"00",X"00",X"09",X"00",X"00",X"00",X"12",X"00",X"60",X"00",X"10",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",
X"44",X"FF",X"00",X"00",X"00",X"00",X"FF",X"44",X"57",X"FF",X"07",X"07",X"03",X"03",X"FB",X"53",
X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"02",X"03",X"02",X"02",X"03",X"02",X"02",X"02",X"07",X"07",X"07",X"07",X"83",X"83",X"83",X"83",
X"03",X"02",X"03",X"02",X"02",X"03",X"02",X"03",X"87",X"07",X"07",X"07",X"03",X"03",X"03",X"83",
X"02",X"02",X"02",X"03",X"02",X"02",X"03",X"02",X"87",X"87",X"87",X"87",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"A0",X"D0",X"C8",X"C0",X"C0",
X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C0",X"C8",X"D0",X"A0",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"40",X"B0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"80",X"90",X"A0",X"C0",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"80",X"40",X"20",X"00",X"00",
X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"C0",X"A0",X"90",X"80",X"80",
X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"80",X"B0",X"40",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"06",X"05",X"02",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"90",
X"05",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"F0",X"40",X"A0",X"10",X"00",X"00",X"00",X"00",
X"00",X"02",X"01",X"04",X"02",X"02",X"20",X"12",X"00",X"00",X"20",X"40",X"18",X"98",X"24",X"40",
X"26",X"0B",X"01",X"02",X"02",X"04",X"00",X"00",X"40",X"20",X"90",X"C0",X"20",X"90",X"00",X"00",
X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"62",X"92",X"8A",X"86",X"62",
X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84",X"82",X"7C",X"00",X"08",X"FE",X"48",X"28",X"18",
X"82",X"7C",X"00",X"9C",X"A2",X"A2",X"A2",X"E4",X"82",X"7C",X"00",X"0C",X"92",X"92",X"52",X"3C",
X"82",X"7C",X"00",X"C0",X"A0",X"90",X"8E",X"80",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",
X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00",
X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB",
X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F",
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"06",X"0E",X"0E",X"0E",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"06",X"06",X"02",X"00",X"00",X"00",
X"02",X"D9",X"D8",X"DA",X"D9",X"D8",X"D8",X"D8",X"00",X"00",X"80",X"40",X"20",X"80",X"60",X"00",
X"D8",X"D8",X"D9",X"DA",X"D8",X"D9",X"02",X"00",X"60",X"80",X"20",X"40",X"80",X"00",X"00",X"00",
X"00",X"00",X"03",X"0F",X"1C",X"30",X"40",X"0F",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",
X"FF",X"0F",X"40",X"30",X"1C",X"0F",X"03",X"00",X"FE",X"02",X"06",X"00",X"00",X"00",X"80",X"00",
X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"FE",X"7C",X"00",X"9C",X"A2",X"A2",X"E4",X"00",X"FE",
X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",
X"00",X"00",X"00",X"06",X"36",X"36",X"76",X"76",X"00",X"00",X"80",X"40",X"20",X"10",X"00",X"00",
X"76",X"76",X"36",X"36",X"06",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"80",X"00",X"00",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,278 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity rom_k is
port (
clk : in std_logic;
addr : in std_logic_vector(11 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of rom_k is
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"28",X"28",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"EA",X"22",X"22",X"1F",X"0F",X"07",X"01",X"00",X"FF",X"81",X"83",X"C0",X"80",X"80",X"C0",X"00",
X"00",X"00",X"01",X"07",X"0F",X"11",X"2E",X"2E",X"F1",X"3F",X"20",X"1F",X"0F",X"07",X"01",X"00",
X"00",X"00",X"01",X"00",X"04",X"03",X"01",X"07",X"00",X"C0",X"FE",X"06",X"7E",X"0E",X"5E",X"1E",
X"01",X"03",X"04",X"00",X"01",X"00",X"00",X"00",X"5E",X"0E",X"7E",X"06",X"FE",X"C0",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",
X"00",X"00",X"01",X"07",X"1F",X"FF",X"FF",X"FF",X"00",X"E0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"E3",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F8",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"1F",X"07",X"01",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F8",X"F0",X"E0",X"00",X"00",
X"F3",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"F8",X"F8",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",
X"F8",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00",
X"00",X"00",X"03",X"01",X"00",X"11",X"0C",X"04",X"00",X"00",X"FD",X"8D",X"1D",X"FD",X"3D",X"78",
X"03",X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"1C",X"04",X"0C",X"11",X"00",X"01",X"03",X"00",
X"78",X"78",X"3D",X"FD",X"1D",X"8D",X"FD",X"00",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",X"03",
X"00",X"01",X"03",X"00",X"00",X"11",X"0C",X"04",X"00",X"81",X"FD",X"0D",X"1D",X"FD",X"3D",X"78",
X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"E3",X"1C",X"04",X"0C",X"11",X"00",X"00",X"03",X"01",
X"78",X"78",X"3D",X"FD",X"1D",X"0D",X"FD",X"81",X"E3",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",
X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",
X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3F",X"EF",X"C7",X"FF",X"0B",X"03",X"03",X"03",X"07",X"3F",X"EF",X"C7",X"FB",X"0B",X"03",X"03",
X"07",X"07",X"3F",X"EF",X"C3",X"FB",X"0B",X"03",X"07",X"07",X"07",X"3F",X"EB",X"C3",X"FB",X"0B",
X"07",X"07",X"07",X"07",X"03",X"C3",X"FB",X"CB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"FB",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",
X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"CB",X"FB",X"C3",X"03",X"07",X"07",X"07",X"07",X"03",X"CB",X"FB",X"C3",
X"07",X"07",X"07",X"07",X"03",X"03",X"CB",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"CB",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"0B",X"CF",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"CF",X"07",X"07",X"03",X"03",X"03",X"03",X"C7",X"FF",X"C7",X"07",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",
X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"FF",X"C7",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"C7",X"EF",X"3F",X"03",X"03",X"03",X"03",X"0F",X"FF",X"C7",X"EF",X"3B",X"03",X"03",X"03",
X"07",X"0F",X"FF",X"C7",X"EB",X"3B",X"03",X"03",X"07",X"07",X"0F",X"FF",X"C3",X"EB",X"3B",X"03",
X"03",X"28",X"02",X"48",X"00",X"20",X"44",X"40",X"00",X"92",X"04",X"21",X"02",X"02",X"20",X"04",
X"00",X"22",X"00",X"20",X"08",X"00",X"44",X"09",X"00",X"14",X"00",X"02",X"00",X"64",X"02",X"10",
X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"07",X"07",X"07",X"C7",X"FB",X"CB",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"07",X"07",X"CF",X"FF",X"C3",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"3F",X"7F",X"3F",X"03",X"3B",X"7B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"17",X"17",X"37",X"33",X"13",X"13",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"7F",X"3F",X"07",X"3B",X"7B",X"3B",X"03",
X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C7",X"C7",
X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C7",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"00",X"80",X"8E",X"8E",
X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"8E",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"1C",
X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"80",X"80",X"80",X"8E",X"8E",
X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"8E",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"02",X"0E",X"01",X"02",X"00",X"00",X"00",X"00",X"50",X"20",X"40",X"B0",
X"07",X"0B",X"02",X"0A",X"00",X"00",X"00",X"00",X"D8",X"90",X"A0",X"50",X"20",X"00",X"00",X"00",
X"00",X"02",X"01",X"05",X"13",X"42",X"35",X"12",X"00",X"00",X"20",X"44",X"14",X"88",X"24",X"D8",
X"24",X"03",X"05",X"02",X"0A",X"04",X"00",X"00",X"42",X"E4",X"98",X"B0",X"08",X"D4",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"80",X"C3",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"01",X"00",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"C3",X"80",X"00",
X"00",X"18",X"3F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"01",X"3F",X"18",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00",
X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"83",X"C3",X"A1",X"B1",X"BB",X"BF",X"1E",X"18",
X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1E",X"BF",X"BB",X"B1",X"A1",X"03",X"03",X"00",
X"00",X"30",X"7F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00",
X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00",
X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB",
X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F",
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"1F",X"1F",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"0F",X"0F",X"07",X"03",X"00",X"00",
X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"1F",
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"00",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"03",X"0F",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"80",X"00",X"00",X"80",X"00",X"00",
X"7F",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",X"00",X"80",X"00",X"00",X"83",X"07",X"00",X"80",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",
X"00",X"00",X"0E",X"3F",X"7F",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",
X"FF",X"FF",X"7F",X"7F",X"3F",X"0E",X"00",X"00",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"01",X"07",X"0E",X"18",X"20",X"07",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"80",
X"FF",X"07",X"20",X"18",X"0E",X"07",X"01",X"00",X"FF",X"81",X"03",X"00",X"00",X"80",X"C0",X"00",
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"01",X"07",X"0F",X"1F",X"28",X"28",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",
X"EA",X"22",X"22",X"1F",X"0F",X"07",X"01",X"00",X"FF",X"81",X"83",X"C0",X"80",X"80",X"C0",X"00",
X"00",X"00",X"01",X"07",X"0F",X"11",X"2E",X"2E",X"F1",X"3F",X"20",X"1F",X"0F",X"07",X"01",X"00",
X"00",X"00",X"01",X"00",X"04",X"03",X"01",X"07",X"00",X"C0",X"FE",X"06",X"7E",X"0E",X"5E",X"1E",
X"01",X"03",X"04",X"00",X"01",X"00",X"00",X"00",X"5E",X"0E",X"7E",X"06",X"FE",X"C0",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF",
X"00",X"00",X"01",X"07",X"1F",X"FF",X"FF",X"FF",X"00",X"E0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"E3",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F8",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"1F",X"07",X"01",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F8",X"F0",X"E0",X"00",X"00",
X"F3",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"F8",X"F8",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",
X"F8",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00",
X"00",X"00",X"03",X"01",X"00",X"11",X"0C",X"04",X"00",X"00",X"FD",X"8D",X"1D",X"FD",X"3D",X"78",
X"03",X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"1C",X"04",X"0C",X"11",X"00",X"01",X"03",X"00",
X"78",X"78",X"3D",X"FD",X"1D",X"8D",X"FD",X"00",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",X"03",
X"00",X"01",X"03",X"00",X"00",X"11",X"0C",X"04",X"00",X"81",X"FD",X"0D",X"1D",X"FD",X"3D",X"78",
X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"E3",X"1C",X"04",X"0C",X"11",X"00",X"00",X"03",X"01",
X"78",X"78",X"3D",X"FD",X"1D",X"0D",X"FD",X"81",X"E3",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",
X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",
X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3F",X"EF",X"C7",X"FF",X"0B",X"03",X"03",X"03",X"07",X"3F",X"EF",X"C7",X"FB",X"0B",X"03",X"03",
X"07",X"07",X"3F",X"EF",X"C3",X"FB",X"0B",X"03",X"07",X"07",X"07",X"3F",X"EB",X"C3",X"FB",X"0B",
X"07",X"07",X"07",X"07",X"03",X"C3",X"FB",X"CB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"FB",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",
X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",
X"07",X"07",X"07",X"07",X"CB",X"FB",X"C3",X"03",X"07",X"07",X"07",X"07",X"03",X"CB",X"FB",X"C3",
X"07",X"07",X"07",X"07",X"03",X"03",X"CB",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"CB",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"0B",X"CF",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"CF",X"07",X"07",X"03",X"03",X"03",X"03",X"C7",X"FF",X"C7",X"07",X"03",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",
X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",
X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",
X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"FF",X"C7",X"07",X"07",X"03",X"03",X"03",X"03",
X"FF",X"C7",X"EF",X"3F",X"03",X"03",X"03",X"03",X"0F",X"FF",X"C7",X"EF",X"3B",X"03",X"03",X"03",
X"07",X"0F",X"FF",X"C7",X"EB",X"3B",X"03",X"03",X"07",X"07",X"0F",X"FF",X"C3",X"EB",X"3B",X"03",
X"03",X"28",X"02",X"48",X"00",X"20",X"44",X"40",X"00",X"92",X"04",X"21",X"02",X"02",X"20",X"04",
X"00",X"22",X"00",X"20",X"08",X"00",X"44",X"09",X"00",X"14",X"00",X"02",X"00",X"64",X"02",X"10",
X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"07",X"07",X"07",X"C7",X"FB",X"CB",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",
X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"07",X"07",X"CF",X"FF",X"C3",X"03",X"03",X"03",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"3F",X"7F",X"3F",X"03",X"3B",X"7B",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"17",X"17",X"37",X"33",X"13",X"13",X"3B",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"7F",X"3F",X"07",X"3B",X"7B",X"3B",X"03",
X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C7",X"C7",
X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C7",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"00",X"80",X"8E",X"8E",
X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"8E",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"1C",
X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"80",X"80",X"80",X"8E",X"8E",
X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"8E",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"02",X"0E",X"01",X"02",X"00",X"00",X"00",X"00",X"50",X"20",X"40",X"B0",
X"07",X"0B",X"02",X"0A",X"00",X"00",X"00",X"00",X"D8",X"90",X"A0",X"50",X"20",X"00",X"00",X"00",
X"00",X"02",X"01",X"05",X"13",X"42",X"35",X"12",X"00",X"00",X"20",X"44",X"14",X"88",X"24",X"D8",
X"24",X"03",X"05",X"02",X"0A",X"04",X"00",X"00",X"42",X"E4",X"98",X"B0",X"08",X"D4",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"80",X"C3",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"01",X"00",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"C3",X"80",X"00",
X"00",X"18",X"3F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"01",X"3F",X"18",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00",
X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"83",X"C3",X"A1",X"B1",X"BB",X"BF",X"1E",X"18",
X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1E",X"BF",X"BB",X"B1",X"A1",X"03",X"03",X"00",
X"00",X"30",X"7F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18",
X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00",
X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00",
X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB",
X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F",
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"1F",X"1F",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"0F",X"0F",X"07",X"03",X"00",X"00",
X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"1F",
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"00",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"03",X"0F",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"80",X"00",X"00",X"80",X"00",X"00",
X"7F",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",X"00",X"80",X"00",X"00",X"83",X"07",X"00",X"80",X"00",
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",
X"00",X"00",X"0E",X"3F",X"7F",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",
X"FF",X"FF",X"7F",X"7F",X"3F",X"0E",X"00",X"00",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",
X"00",X"00",X"01",X"07",X"0E",X"18",X"20",X"07",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"80",
X"FF",X"07",X"20",X"18",X"0E",X"07",X"01",X"00",X"FF",X"81",X"03",X"00",X"00",X"80",X"C0",X"00");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,534 @@
library ieee;
use ieee.std_logic_1164.all,ieee.numeric_std.all;
entity sound is
port (
clk : in std_logic;
addr : in std_logic_vector(12 downto 0);
data : out std_logic_vector(7 downto 0)
);
end entity;
architecture prom of sound is
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
signal rom_data: rom := (
X"21",X"FF",X"FF",X"2D",X"20",X"FD",X"25",X"20",X"FA",X"DB",X"00",X"FE",X"F0",X"28",X"FA",X"3E",
X"10",X"3D",X"20",X"FD",X"DB",X"00",X"FE",X"F0",X"28",X"EF",X"FE",X"F1",X"20",X"25",X"21",X"80",
X"01",X"01",X"4F",X"06",X"DD",X"21",X"2A",X"00",X"18",X"4C",X"06",X"02",X"21",X"FF",X"FF",X"2D",
X"20",X"FD",X"25",X"20",X"05",X"05",X"20",X"02",X"18",X"CF",X"DB",X"00",X"FE",X"F1",X"28",X"EF",
X"C3",X"09",X"00",X"FE",X"F2",X"C2",X"5B",X"00",X"21",X"50",X"06",X"01",X"8F",X"10",X"DD",X"21",
X"55",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",X"F2",X"28",X"FA",X"FE",X"F3",X"C2",X"09",X"00",
X"21",X"90",X"10",X"01",X"FF",X"17",X"DD",X"21",X"6D",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",
X"F3",X"28",X"FA",X"C3",X"09",X"00",X"50",X"59",X"7E",X"E6",X"F0",X"D3",X"00",X"3E",X"1B",X"3D",
X"20",X"FD",X"7E",X"E6",X"0F",X"07",X"07",X"07",X"07",X"D3",X"00",X"3E",X"19",X"3D",X"20",X"FD",
X"23",X"EB",X"ED",X"52",X"EB",X"20",X"DF",X"DD",X"E9",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",
X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"99",X"99",X"88",X"98",X"88",X"88",X"88",X"88",
X"89",X"99",X"98",X"98",X"88",X"88",X"87",X"88",X"87",X"78",X"9A",X"AA",X"89",X"88",X"98",X"87",
X"78",X"78",X"77",X"8B",X"CB",X"87",X"88",X"A8",X"87",X"78",X"87",X"78",X"AC",X"C9",X"87",X"89",
X"88",X"77",X"87",X"68",X"AD",X"C9",X"87",X"89",X"87",X"67",X"76",X"9C",X"CA",X"77",X"89",X"86",
X"67",X"77",X"AD",X"C9",X"56",X"99",X"96",X"55",X"6E",X"EC",X"85",X"79",X"87",X"67",X"65",X"EE",
X"C8",X"37",X"9A",X"75",X"76",X"8F",X"CB",X"53",X"88",X"95",X"56",X"4F",X"FA",X"A1",X"89",X"87",
X"45",X"4D",X"F8",X"B2",X"5B",X"78",X"45",X"5E",X"F7",X"83",X"5C",X"76",X"65",X"5F",X"F8",X"70",
X"8A",X"94",X"56",X"6F",X"C8",X"50",X"C7",X"83",X"37",X"DF",X"F8",X"05",X"E7",X"71",X"48",X"FF",
X"63",X"0D",X"8A",X"51",X"3F",X"F6",X"A0",X"89",X"68",X"32",X"EF",X"4C",X"05",X"B5",X"73",X"3B",
X"FA",X"D2",X"4D",X"4A",X"41",X"BF",X"FD",X"32",X"F4",X"98",X"0D",X"F0",X"F1",X"3D",X"3C",X"51",
X"FF",X"3D",X"06",X"94",X"F6",X"0F",X"F9",X"A0",X"A5",X"7F",X"36",X"FF",X"F2",X"5B",X"29",X"F0",
X"FC",X"0F",X"0E",X"24",X"FA",X"3F",X"FC",X"A0",X"D0",X"5F",X"0F",X"F0",X"F0",X"86",X"3A",X"F4",
X"FF",X"8A",X"0D",X"26",X"D5",X"F8",X"4E",X"0A",X"46",X"A3",X"FA",X"2E",X"3A",X"83",X"E8",X"CF",
X"0C",X"65",X"C3",X"BA",X"8F",X"07",X"61",X"B8",X"9D",X"6F",X"07",X"80",X"94",X"9E",X"8F",X"14",
X"A0",X"C3",X"8B",X"5F",X"F6",X"80",X"F5",X"A8",X"0F",X"F6",X"E0",X"D7",X"6F",X"0F",X"F1",X"F0",
X"A8",X"5C",X"2F",X"F1",X"E0",X"8C",X"6C",X"0F",X"F1",X"C0",X"AC",X"8B",X"0F",X"F4",X"A0",X"8B",
X"CB",X"0F",X"F3",X"F0",X"98",X"9E",X"0F",X"F0",X"F0",X"BE",X"3D",X"0F",X"F0",X"F0",X"9F",X"27",
X"2F",X"F0",X"E0",X"CF",X"A4",X"3F",X"F0",X"E0",X"AF",X"67",X"9F",X"F1",X"D0",X"6F",X"64",X"FF",
X"F4",X"A0",X"BF",X"20",X"FF",X"07",X"42",X"CF",X"70",X"FF",X"0D",X"20",X"EE",X"70",X"FF",X"00",
X"25",X"FB",X"43",X"FF",X"00",X"07",X"FD",X"31",X"FF",X"09",X"08",X"FB",X"45",X"FF",X"0F",X"00",
X"F9",X"18",X"FF",X"0F",X"00",X"F2",X"37",X"FF",X"0F",X"06",X"F7",X"0C",X"FF",X"5F",X"0A",X"F4",
X"0F",X"FF",X"0F",X"0F",X"F4",X"0F",X"FF",X"5D",X"0F",X"E7",X"0F",X"FF",X"2F",X"00",X"F3",X"0F",
X"FF",X"7F",X"00",X"D0",X"0F",X"F0",X"0E",X"0D",X"F0",X"0F",X"F0",X"0C",X"0F",X"F0",X"0F",X"F0",
X"0A",X"0F",X"C3",X"0F",X"F0",X"08",X"0F",X"F0",X"0F",X"F0",X"06",X"0F",X"F0",X"3F",X"F0",X"00",
X"0F",X"A0",X"7F",X"F0",X"00",X"0F",X"F0",X"FF",X"F0",X"00",X"5F",X"60",X"FF",X"F0",X"40",X"0F",
X"F0",X"FF",X"F0",X"F0",X"EF",X"00",X"FF",X"00",X"F0",X"0F",X"00",X"FF",X"00",X"F0",X"FF",X"05",
X"FF",X"00",X"40",X"FF",X"07",X"FF",X"00",X"A0",X"FF",X"00",X"FF",X"00",X"01",X"F1",X"0F",X"FF",
X"00",X"01",X"FF",X"00",X"FF",X"0F",X"06",X"F3",X"0F",X"FF",X"0F",X"00",X"F0",X"0F",X"FF",X"0F",
X"FB",X"F0",X"0F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"1F",X"F0",X"0D",X"0F",
X"E0",X"5F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"AF",X"F0",X"0F",X"0F",X"90",
X"0F",X"F0",X"0E",X"0F",X"A0",X"0F",X"F0",X"0E",X"0F",X"E0",X"0F",X"F0",X"04",X"0F",X"E0",X"FF",
X"F0",X"0D",X"0E",X"F0",X"BF",X"F0",X"0C",X"2F",X"F0",X"5F",X"F0",X"87",X"1C",X"F0",X"AF",X"F0",
X"CD",X"2B",X"C0",X"3F",X"F0",X"08",X"AB",X"E2",X"1F",X"F6",X"61",X"1E",X"F2",X"6F",X"B0",X"5A",
X"4A",X"F1",X"1F",X"F6",X"02",X"DE",X"B4",X"4F",X"FC",X"30",X"4D",X"E4",X"7F",X"F7",X"03",X"8A",
X"B8",X"48",X"FF",X"00",X"5F",X"C7",X"76",X"FE",X"33",X"49",X"C8",X"74",X"FF",X"60",X"0D",X"DB",
X"83",X"BF",X"96",X"27",X"7A",X"A6",X"FF",X"50",X"3C",X"BA",X"64",X"9F",X"FC",X"00",X"8F",X"D3",
X"AE",X"88",X"57",X"68",X"96",X"8D",X"FD",X"10",X"6F",X"B5",X"93",X"9F",X"F0",X"0A",X"F8",X"88",
X"CF",X"80",X"2B",X"C4",X"88",X"9F",X"F0",X"0C",X"E5",X"75",X"3F",X"F8",X"01",X"AA",X"B8",X"7F",
X"F1",X"0A",X"C6",X"78",X"6F",X"F7",X"06",X"A8",X"77",X"6A",X"FF",X"30",X"16",X"B9",X"7D",X"FD",
X"21",X"57",X"88",X"8C",X"FD",X"66",X"26",X"96",X"8A",X"BE",X"E8",X"03",X"88",X"77",X"DF",X"F9",
X"02",X"55",X"6A",X"BF",X"FD",X"22",X"55",X"58",X"9C",X"FF",X"63",X"44",X"56",X"6C",X"FF",X"74",
X"66",X"45",X"56",X"FF",X"BA",X"95",X"56",X"33",X"DD",X"9A",X"C9",X"69",X"42",X"BD",X"86",X"AC",
X"9A",X"75",X"AA",X"64",X"8A",X"8B",X"A5",X"BB",X"85",X"77",X"59",X"A7",X"BD",X"A7",X"89",X"57",
X"86",X"AA",X"87",X"B9",X"79",X"A7",X"79",X"75",X"98",X"7A",X"A9",X"9A",X"98",X"A7",X"67",X"79",
X"9A",X"97",X"BA",X"89",X"89",X"88",X"66",X"A8",X"8A",X"AB",X"99",X"75",X"A8",X"68",X"9B",X"AA",
X"87",X"B8",X"66",X"79",X"8A",X"87",X"BA",X"88",X"99",X"69",X"85",X"99",X"99",X"BC",X"79",X"85",
X"88",X"86",X"8B",X"9C",X"95",X"88",X"87",X"99",X"6A",X"A8",X"77",X"87",X"AB",X"8A",X"97",X"77",
X"76",X"8A",X"8C",X"BA",X"77",X"96",X"78",X"69",X"9A",X"A8",X"87",X"99",X"79",X"AA",X"78",X"86",
X"79",X"88",X"AB",X"89",X"A9",X"97",X"77",X"88",X"78",X"97",X"AB",X"97",X"9B",X"88",X"86",X"67",
X"88",X"9A",X"99",X"A8",X"89",X"98",X"99",X"79",X"A7",X"68",X"86",X"8A",X"9A",X"CA",X"98",X"86",
X"78",X"78",X"A9",X"78",X"98",X"AA",X"77",X"A9",X"88",X"87",X"78",X"68",X"BA",X"99",X"87",X"89",
X"67",X"AA",X"A9",X"87",X"79",X"88",X"A9",X"99",X"77",X"88",X"67",X"AA",X"AA",X"97",X"77",X"66",
X"8A",X"BB",X"98",X"87",X"67",X"89",X"BB",X"98",X"87",X"67",X"78",X"AB",X"AA",X"A8",X"67",X"67",
X"99",X"AA",X"A9",X"78",X"67",X"89",X"99",X"A9",X"89",X"77",X"88",X"88",X"A8",X"89",X"88",X"99",
X"89",X"98",X"79",X"87",X"88",X"9A",X"A8",X"79",X"88",X"88",X"89",X"A8",X"78",X"88",X"99",X"89",
X"A8",X"89",X"88",X"88",X"89",X"A9",X"89",X"98",X"77",X"78",X"A9",X"89",X"99",X"98",X"78",X"88",
X"89",X"98",X"98",X"88",X"88",X"89",X"99",X"98",X"89",X"97",X"79",X"99",X"98",X"89",X"88",X"88",
X"89",X"97",X"88",X"87",X"8A",X"98",X"99",X"88",X"87",X"89",X"98",X"98",X"99",X"87",X"89",X"98",
X"88",X"88",X"87",X"89",X"A9",X"A9",X"88",X"66",X"69",X"99",X"9A",X"98",X"76",X"69",X"99",X"89",
X"A8",X"97",X"7A",X"8A",X"78",X"77",X"98",X"89",X"A9",X"9A",X"88",X"98",X"79",X"87",X"88",X"88",
X"A9",X"87",X"88",X"89",X"99",X"99",X"78",X"78",X"89",X"99",X"A9",X"88",X"87",X"89",X"98",X"99",
X"88",X"88",X"8A",X"99",X"99",X"88",X"77",X"78",X"89",X"A9",X"89",X"88",X"88",X"88",X"99",X"89",
X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"98",X"89",X"98",X"89",X"89",X"99",X"89",X"97",
X"88",X"89",X"AA",X"9A",X"98",X"88",X"88",X"98",X"89",X"98",X"89",X"88",X"98",X"89",X"98",X"89",
X"88",X"88",X"89",X"98",X"88",X"77",X"88",X"88",X"98",X"78",X"87",X"88",X"78",X"99",X"89",X"98",
X"89",X"88",X"99",X"88",X"99",X"99",X"99",X"99",X"88",X"87",X"88",X"88",X"88",X"88",X"88",X"88",
X"98",X"89",X"88",X"98",X"78",X"88",X"88",X"88",X"77",X"77",X"88",X"79",X"98",X"99",X"99",X"AA",
X"9A",X"AA",X"AA",X"AA",X"A9",X"99",X"98",X"98",X"88",X"88",X"78",X"87",X"78",X"78",X"88",X"78",
X"98",X"89",X"99",X"AA",X"AB",X"BA",X"AA",X"AA",X"AA",X"AA",X"A9",X"99",X"88",X"87",X"66",X"54",
X"45",X"34",X"43",X"34",X"44",X"56",X"67",X"89",X"9A",X"BB",X"BB",X"BB",X"AA",X"AB",X"A9",X"99",
X"99",X"99",X"89",X"98",X"77",X"88",X"88",X"99",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA",
X"A9",X"AA",X"A9",X"99",X"99",X"87",X"78",X"87",X"66",X"66",X"66",X"66",X"66",X"66",X"67",X"78",
X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"88",X"89",X"88",X"88",X"89",X"88",X"88",X"88",X"99",
X"9A",X"AA",X"AA",X"AA",X"AA",X"9A",X"A9",X"99",X"98",X"88",X"77",X"77",X"76",X"66",X"66",X"66",
X"66",X"77",X"77",X"88",X"88",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"AA",X"AA",
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"78",X"87",X"88",X"77",X"77",X"77",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"9A",X"AB",X"A9",X"88",X"78",X"89",X"99",X"98",X"87",X"77",
X"78",X"88",X"87",X"77",X"77",X"76",X"8C",X"BD",X"C9",X"87",X"67",X"89",X"AA",X"99",X"77",X"77",
X"89",X"99",X"98",X"88",X"88",X"88",X"88",X"87",X"77",X"77",X"79",X"DD",X"DC",X"87",X"66",X"8A",
X"AA",X"98",X"87",X"78",X"89",X"99",X"98",X"88",X"88",X"88",X"87",X"77",X"77",X"66",X"9D",X"DC",
X"C7",X"66",X"69",X"BB",X"A9",X"77",X"67",X"89",X"9A",X"98",X"87",X"77",X"78",X"87",X"66",X"66",
X"7B",X"FB",X"E8",X"56",X"78",X"CB",X"B9",X"66",X"77",X"9A",X"9A",X"A9",X"87",X"67",X"78",X"87",
X"55",X"58",X"EF",X"BD",X"66",X"78",X"AB",X"98",X"87",X"98",X"98",X"88",X"A8",X"98",X"77",X"66",
X"55",X"56",X"8F",X"CB",X"A4",X"7A",X"8D",X"B8",X"86",X"6A",X"88",X"9A",X"89",X"76",X"65",X"66",
X"65",X"8C",X"F7",X"E4",X"69",X"7C",X"C8",X"98",X"6C",X"7A",X"A6",X"97",X"77",X"55",X"45",X"7B",
X"F8",X"D5",X"28",X"79",X"E8",X"BA",X"6A",X"87",X"86",X"88",X"66",X"44",X"49",X"FF",X"9D",X"06",
X"67",X"DA",X"BB",X"8A",X"85",X"93",X"85",X"57",X"36",X"9F",X"FB",X"C1",X"66",X"6D",X"9C",X"A7",
X"B7",X"78",X"56",X"44",X"46",X"CF",X"CD",X"71",X"85",X"9D",X"DE",X"97",X"63",X"84",X"75",X"35",
X"5C",X"F8",X"F5",X"5A",X"3B",X"BB",X"E6",X"A4",X"57",X"43",X"12",X"7D",X"F9",X"F4",X"5A",X"4D",
X"AA",X"C9",X"96",X"75",X"31",X"05",X"BF",X"D9",X"80",X"B5",X"DF",X"8D",X"89",X"45",X"43",X"21",
X"7F",X"FF",X"F0",X"B5",X"7F",X"4E",X"79",X"93",X"70",X"00",X"4E",X"FF",X"F0",X"84",X"8F",X"4F",
X"4B",X"64",X"60",X"30",X"9F",X"FF",X"90",X"C0",X"F6",X"BD",X"4C",X"09",X"02",X"46",X"FF",X"F9",
X"0A",X"0F",X"7E",X"A6",X"70",X"80",X"33",X"CF",X"BF",X"09",X"1B",X"98",X"D6",X"A1",X"52",X"36",
X"FE",X"FE",X"3A",X"49",X"99",X"D6",X"50",X"11",X"5F",X"FF",X"F9",X"C1",X"82",X"A8",X"79",X"18",
X"0E",X"9E",X"CC",X"CA",X"86",X"A6",X"62",X"37",X"6E",X"F8",X"F4",X"B5",X"8B",X"6D",X"25",X"16",
X"CE",X"DF",X"5C",X"2A",X"56",X"72",X"87",X"DF",X"8F",X"0D",X"0E",X"58",X"40",X"A6",X"F7",X"F1",
X"B3",X"97",X"46",X"0D",X"7F",X"AF",X"17",X"29",X"56",X"53",X"DB",X"F9",X"F0",X"72",X"87",X"45",
X"6A",X"FE",X"F3",X"80",X"93",X"63",X"AA",X"FF",X"F5",X"52",X"36",X"59",X"9E",X"FE",X"B7",X"61",
X"31",X"5A",X"FF",X"FC",X"54",X"23",X"33",X"8C",X"FF",X"FA",X"63",X"22",X"25",X"AE",X"FE",X"D6",
X"71",X"31",X"4A",X"CF",X"EF",X"59",X"04",X"02",X"AA",X"FD",X"F7",X"92",X"10",X"19",X"AF",X"CF",
X"6B",X"03",X"12",X"A9",X"FC",X"F5",X"90",X"31",X"3A",X"BF",X"DF",X"69",X"12",X"02",X"9B",X"FD",
X"F7",X"A1",X"30",X"57",X"DF",X"FF",X"8A",X"03",X"05",X"8E",X"FF",X"D9",X"60",X"10",X"78",X"FF",
X"F9",X"A3",X"20",X"09",X"9F",X"DF",X"5B",X"03",X"02",X"7C",X"06",X"F8",X"90",X"20",X"06",X"EF",
X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF",
X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF",
X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF",
X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF",
X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF",
X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF",
X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF",
X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF",
X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9",
X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6",
X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95",
X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73",
X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72",
X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41",
X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00",
X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14",
X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A",
X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF",
X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE",
X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8",
X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52",
X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22",
X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24",
X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35",
X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46",
X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87",
X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB",
X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB",
X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8",
X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA",
X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77",
X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77",
X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88",
X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",
X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",
X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99",
X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99",
X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99",
X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89",
X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88",
X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88",
X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88",
X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99",
X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98",
X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA",
X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67",
X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87",
X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA",
X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87",
X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68",
X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9",
X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78",
X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A",
X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97",
X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78",
X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99",
X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97",
X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79",
X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56",
X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB",
X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68",
X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8",
X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77",
X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37",
X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF",
X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4",
X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14",
X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC",
X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE",
X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB",
X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76",
X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54",
X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54",
X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56",
X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66",
X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55",
X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45",
X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54",
X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64",
X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76",
X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8",
X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC",
X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD",
X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56",
X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64",
X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF",
X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D",
X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54",
X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA",
X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54",
X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB",
X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76",
X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79",
X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76",
X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56",
X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B",
X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC",
X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44",
X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67",
X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55",
X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76",
X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8",
X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8",
X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA",
X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67",
X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89",
X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67",
X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87",
X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA",
X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79",
X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99",
X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99",
X"A9",X"99",X"98",X"87",X"76",X"66",X"66",X"78",X"9A",X"BC",X"CB",X"A9",X"87",X"66",X"68",X"99",
X"AA",X"A9",X"87",X"77",X"77",X"89",X"AA",X"99",X"98",X"88",X"99",X"88",X"77",X"66",X"67",X"78",
X"89",X"AB",X"CB",X"AA",X"98",X"77",X"78",X"89",X"9A",X"99",X"88",X"88",X"88",X"89",X"99",X"98",
X"88",X"88",X"88",X"99",X"99",X"87",X"76",X"66",X"77",X"89",X"AA",X"BB",X"B9",X"98",X"77",X"77",
X"89",X"9A",X"99",X"98",X"77",X"78",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"87",X"66",
X"77",X"78",X"99",X"9A",X"AA",X"A9",X"98",X"88",X"78",X"88",X"99",X"99",X"98",X"88",X"88",X"89",
X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"77",X"78",X"88",X"88",X"99",X"9A",X"AA",
X"99",X"88",X"77",X"78",X"99",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",
X"89",X"99",X"99",X"98",X"87",X"77",X"77",X"78",X"89",X"99",X"AA",X"AA",X"98",X"87",X"77",X"78",
X"88",X"88",X"88",X"98",X"88",X"88",X"99",X"98",X"88",X"87",X"89",X"AA",X"A9",X"76",X"66",X"8C",
X"EC",X"96",X"44",X"68",X"DF",X"D8",X"63",X"46",X"8D",X"FC",X"76",X"43",X"7A",X"9D",X"D9",X"67",
X"44",X"8A",X"8D",X"D9",X"66",X"35",X"A9",X"BE",X"B6",X"65",X"48",X"B8",X"DC",X"96",X"64",X"69",
X"9A",X"EC",X"86",X"54",X"8B",X"8D",X"D8",X"56",X"46",X"A9",X"BE",X"A6",X"64",X"5A",X"A7",X"EB",
X"77",X"64",X"7B",X"7D",X"E8",X"57",X"37",X"C8",X"AF",X"95",X"74",X"4A",X"A9",X"FA",X"46",X"64",
X"BB",X"5F",X"D5",X"58",X"37",X"C6",X"EF",X"63",X"84",X"7D",X"6A",X"F9",X"37",X"56",X"B7",X"BF",
X"83",X"66",X"8D",X"59",X"F9",X"45",X"78",X"C5",X"BF",X"75",X"65",X"9C",X"3A",X"F7",X"47",X"6A",
X"C2",X"CF",X"63",X"84",X"AC",X"3D",X"F4",X"27",X"7B",X"A4",X"FE",X"42",X"68",X"BA",X"9F",X"93",
X"26",X"BD",X"4B",X"F8",X"33",X"5B",X"C6",X"FC",X"44",X"56",X"E7",X"5F",X"C4",X"35",X"7C",X"5C",
X"F7",X"46",X"4A",X"B2",X"FE",X"54",X"77",X"B5",X"7F",X"95",X"56",X"9B",X"2F",X"D5",X"47",X"9D",
X"55",X"F8",X"25",X"8A",X"B5",X"FA",X"43",X"69",X"E6",X"9F",X"73",X"47",X"DA",X"4F",X"A5",X"52",
X"5F",X"8E",X"E3",X"47",X"5B",X"78",X"F8",X"35",X"48",X"D5",X"FF",X"54",X"44",X"B9",X"CF",X"42",
X"87",X"97",X"7F",X"B3",X"45",X"6D",X"7F",X"C5",X"75",X"4A",X"6F",X"F4",X"17",X"88",X"47",X"FA",
X"35",X"48",X"B6",X"FC",X"55",X"78",X"93",X"FE",X"64",X"67",X"B5",X"CF",X"48",X"55",X"B9",X"6F",
X"64",X"57",X"9A",X"5F",X"91",X"64",X"6D",X"3F",X"F0",X"34",X"7C",X"58",X"F6",X"53",X"2A",X"A4",
X"F8",X"37",X"49",X"A1",X"FF",X"46",X"47",X"C5",X"AF",X"67",X"47",X"C6",X"5F",X"96",X"54",X"BB",
X"0F",X"F2",X"81",X"3F",X"82",X"F9",X"64",X"1C",X"D1",X"AF",X"7E",X"00",X"FE",X"1F",X"A7",X"D0",
X"4F",X"4A",X"F2",X"D0",X"0F",X"90",X"F8",X"CC",X"08",X"E3",X"FF",X"2F",X"00",X"F9",X"2F",X"8E",
X"D0",X"8B",X"5B",X"F2",X"F0",X"2E",X"83",X"F8",X"F6",X"0A",X"A6",X"FF",X"3F",X"02",X"EB",X"4F",
X"9E",X"A0",X"89",X"5F",X"F1",X"F0",X"0C",X"B5",X"FB",X"8E",X"08",X"95",X"BF",X"6E",X"60",X"9A",
X"5F",X"F3",X"F0",X"28",X"4E",X"F6",X"9B",X"0A",X"87",X"8F",X"8F",X"10",X"95",X"BF",X"F2",X"F1",
X"0B",X"8C",X"8D",X"AF",X"05",X"78",X"CF",X"99",X"60",X"DA",X"C5",X"C8",X"F0",X"08",X"4D",X"DF",
X"8C",X"07",X"8F",X"48",X"DC",X"D0",X"90",X"D5",X"FE",X"64",X"0A",X"DA",X"2F",X"5F",X"40",X"83",
X"6C",X"FF",X"C0",X"0F",X"79",X"DB",X"4F",X"07",X"60",X"BF",X"F3",X"F0",X"97",X"DA",X"D5",X"CB",
X"0F",X"0D",X"6F",X"9E",X"40",X"77",X"F3",X"F7",X"F3",X"37",X"4B",X"5F",X"5F",X"00",X"9B",X"87",
X"F3",X"F0",X"59",X"08",X"EF",X"7F",X"05",X"79",X"8C",X"F6",X"F0",X"84",X"28",X"EF",X"3F",X"03",
X"77",X"BB",X"F5",X"F1",X"55",X"1B",X"CF",X"BF",X"03",X"6B",X"A8",X"F5",X"F3",X"46",X"36",X"EF",
X"1F",X"02",X"3A",X"78",X"FB",X"E6",X"24",X"46",X"BF",X"7F",X"81",X"0D",X"09",X"FD",X"FA",X"03",
X"60",X"BF",X"FB",X"F0",X"29",X"07",X"CF",X"AF",X"35",X"33",X"49",X"FB",X"F8",X"40",X"32",X"9F",
X"FB",X"E4",X"16",X"06",X"CF",X"FF",X"61",X"30",X"99",X"ED",X"FA",X"64",X"26",X"3E",X"EE",X"B6",
X"36",X"66",X"D7",X"F8",X"B5",X"47",X"5B",X"CB",X"6A",X"76",X"88",X"69",X"A9",X"C8",X"57",X"88",
X"89",X"88",X"9B",X"79",X"A5",X"9A",X"88",X"A5",X"9A",X"87",X"87",X"9C",X"79",X"89",X"69",X"88",
X"88",X"A8",X"C6",X"77",X"6B",X"98",X"9A",X"5A",X"65",X"A9",X"B8",X"A5",X"B6",X"68",X"9B",X"7C",
X"89",X"77",X"49",X"E7",X"C7",X"88",X"95",X"7A",X"9D",X"99",X"76",X"55",X"BA",X"D9",X"B5",X"87",
X"27",X"AE",X"EB",X"54",X"86",X"67",X"DD",X"C7",X"77",X"43",X"7C",X"FD",X"A5",X"67",X"55",X"7D",
X"DC",X"D6",X"05",X"84",X"AE",X"DC",X"95",X"27",X"36",X"BF",X"FA",X"71",X"65",X"66",X"FD",X"FB",
X"51",X"27",X"5B",X"FF",X"B8",X"32",X"44",X"7D",X"FF",X"B3",X"23",X"65",X"9F",X"FF",X"84",X"03",
X"57",X"DF",X"F7",X"53",X"34",X"77",X"FF",X"D8",X"32",X"27",X"7B",X"FE",X"C7",X"30",X"69",X"5E",
X"FE",X"75",X"03",X"77",X"9F",X"FD",X"61",X"15",X"78",X"CF",X"CB",X"70",X"09",X"94",X"FF",X"E6",
X"20",X"38",X"B8",X"FF",X"D1",X"13",X"58",X"8D",X"FD",X"86",X"01",X"AA",X"6D",X"FC",X"83",X"03",
X"AA",X"5F",X"FA",X"42",X"16",X"A7",X"AF",X"F9",X"51",X"19",X"A7",X"AF",X"E7",X"41",X"2A",X"A4",
X"FF",X"B6",X"30",X"3D",X"A6",X"FF",X"85",X"30",X"5C",X"97",X"FF",X"62",X"02",X"9C",X"7B",X"FB",
X"46",X"00",X"DD",X"6C",X"F8",X"44",X"03",X"CE",X"7E",X"F6",X"14",X"28",X"E9",X"4F",X"F2",X"64",
X"0C",X"F6",X"5F",X"D1",X"94",X"0B",X"F7",X"5F",X"C0",X"64",X"6C",X"D3",X"6F",X"93",X"A1",X"3F",
X"B1",X"BF",X"44",X"B0",X"5E",X"D0",X"BF",X"13",X"B3",X"7F",X"70",X"FF",X"07",X"80",X"BF",X"70",
X"FF",X"2B",X"60",X"CD",X"52",X"FC",X"09",X"73",X"DB",X"32",X"F7",X"2B",X"37",X"F9",X"07",X"F7",
X"4B",X"19",X"F7",X"18",X"F4",X"99",X"1B",X"A9",X"0A",X"F5",X"78",X"4B",X"C4",X"0F",X"F1",X"99",
X"2D",X"B3",X"0F",X"F4",X"A5",X"6B",X"96",X"0F",X"E2",X"97",X"3D",X"C0",X"3F",X"82",X"F4",X"1F",
X"90",X"AF",X"06",X"F0",X"3F",X"90",X"FF",X"0A",X"E0",X"AE",X"00",X"FF",X"0E",X"A0",X"DD",X"04",
X"FF",X"2F",X"40",X"FA",X"0E",X"F1",X"6F",X"05",X"F1",X"0F",X"F0",X"CC",X"09",X"F0",X"3F",X"F4",
X"C6",X"0D",X"F0",X"AF",X"45",X"E3",X"0F",X"40",X"FF",X"0C",X"C0",X"6F",X"00",X"FF",X"2C",X"70",
X"9F",X"06",X"FF",X"3E",X"50",X"F9",X"0F",X"F0",X"8E",X"02",X"F4",X"0F",X"F0",X"B8",X"08",X"F0",
X"1F",X"F2",X"B6",X"0E",X"C0",X"FF",X"F4",X"C1",X"1F",X"A0",X"FF",X"16",X"B0",X"4F",X"50",X"FF",
X"09",X"B0",X"AF",X"08",X"FF",X"1B",X"50",X"CC",X"0F",X"F4",X"3B",X"30",X"FA",X"0F",X"F0",X"4E",
X"06",X"F1",X"2F",X"F0",X"A9",X"0A",X"E0",X"9F",X"50",X"97",X"0C",X"E0",X"FF",X"20",X"D4",X"3E",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF",
X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF",
X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF",
X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF",
X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF",
X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF",
X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF",
X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF",
X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9",
X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6",
X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95",
X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73",
X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72",
X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41",
X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00",
X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14",
X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A",
X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF",
X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE",
X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8",
X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52",
X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22",
X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24",
X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35",
X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46",
X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87",
X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB",
X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB",
X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8",
X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA",
X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77",
X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77",
X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88",
X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",
X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",
X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99",
X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99",
X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99",
X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89",
X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88",
X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88",
X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88",
X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88",
X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99",
X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99",
X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98",
X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA",
X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67",
X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87",
X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA",
X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87",
X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68",
X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9",
X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78",
X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A",
X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97",
X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78",
X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99",
X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97",
X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79",
X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56",
X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB",
X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68",
X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8",
X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77",
X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37",
X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF",
X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4",
X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14",
X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC",
X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE",
X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB",
X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76",
X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54",
X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54",
X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56",
X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66",
X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55",
X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45",
X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54",
X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64",
X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76",
X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8",
X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC",
X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD",
X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56",
X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64",
X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF",
X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D",
X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54",
X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA",
X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54",
X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB",
X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76",
X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79",
X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76",
X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56",
X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B",
X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC",
X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44",
X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67",
X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55",
X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76",
X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8",
X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8",
X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA",
X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67",
X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89",
X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67",
X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87",
X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA",
X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79",
X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99",
X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99");
begin
process(clk)
begin
if rising_edge(clk) then
data <= rom_data(to_integer(unsigned(addr)));
end if;
end process;
end architecture;

View File

@@ -0,0 +1,160 @@
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity kb_synth is
port (
reset_n : in std_logic;
clk : in std_logic;
in0 : in std_logic;
in1 : in std_logic;
in2 : in std_logic;
in3 : in std_logic;
speech_out : out std_logic_vector(7 downto 0)
);
end kb_synth;
architecture RTL of kb_synth is
signal cpu_addr : std_logic_vector(15 downto 0);
signal cpu_di : std_logic_vector(7 downto 0);
signal cpu_do : std_logic_vector(7 downto 0);
signal ram_do : std_logic_vector(7 downto 0);
signal rom4_do : std_logic_vector(7 downto 0);
signal rom5_do : std_logic_vector(7 downto 0);
signal rom6_do : std_logic_vector(7 downto 0);
signal mreq_n : std_logic;
signal iorq_n : std_logic;
signal rd_n : std_logic;
signal wr_n : std_logic;
signal ram_ce : std_logic;
signal rom4_ce : std_logic;
signal rom5_ce : std_logic;
signal rom6_ce : std_logic;
signal ic3_out : std_logic_vector(7 downto 0);
signal buf_do : std_logic_vector(7 downto 0);
signal buf_ce : std_logic;
signal A13n : std_logic;
begin
cpu_di <= ram_do when ram_ce = '1' else
rom4_do when rom4_ce = '1' else
rom5_do when rom5_ce = '1' else
rom6_do when rom6_ce = '1' else
buf_do when buf_ce = '0' else
"00000000";
cpu : entity work.T80as
port map (
RESET_n => reset_n,
CLK_n => clk,
WAIT_n => '1',
INT_n => '1',
NMI_n => '1',
BUSRQ_n => '1',
MREQ_n => mreq_n,
IORQ_n => iorq_n,
RD_n => rd_n,
WR_n => wr_n,
A => cpu_addr,
DI => cpu_di,
DO => cpu_do
);
A13n <= not cpu_addr(13);
ram_ce <= not (A13n or mreq_n);
ram_inst : entity work.spram generic map(10,8)
port map (
address => cpu_addr(9 downto 0),
clock => clk,
data => cpu_do,
wren => not wr_n,
q => ram_do
);
rom4_ce <= ic3_out(0);
rom4_inst : entity work.kbe1_IC4
port map (
clk => clk,
addr => cpu_addr(10 downto 0),
data => rom4_do
);
rom5_ce <= ic3_out(1);
rom5_inst : entity work.kbe2_IC5
port map (
clk => clk,
addr => cpu_addr(10 downto 0),
data => rom5_do
);
rom6_ce <= ic3_out(2);
rom6_inst : entity work.kbe3_IC6
port map (
clk => clk,
addr => cpu_addr(10 downto 0),
data => rom6_do
);
ls138 : entity work.ttl_74138
port map (
a => cpu_addr(11),
b => cpu_addr(12),
c => '0',
g1 => A13n,
g2a_n => rd_n,
g2b_n => mreq_n,
y_n => ic3_out
);
ls273 : entity work.ttl_74273
port map (
CLRN => reset_n,
CLK => not (wr_n or iorq_n),
D8 => cpu_do(0),
D7 => cpu_do(1),
D6 => cpu_do(2),
D5 => cpu_do(3),
D4 => cpu_do(4),
D3 => cpu_do(5),
D2 => cpu_do(6),
D1 => cpu_do(7),
Q1 => speech_out(0),
Q2 => speech_out(1),
Q3 => speech_out(2),
Q4 => speech_out(3),
Q5 => speech_out(4),
Q6 => speech_out(5),
Q7 => speech_out(6),
Q8 => speech_out(7)
);
buf_ce <= rd_n or iorq_n;
--buf_do(6) <= '0';
--buf_do(7) <= '0';
ls367 : entity work.ttl_74367
port map (
p2GN => buf_ce,--15
p2A1 => '1',--12
p2A2 => '1',--14
p1A4 => '0',--in3,--10
p1A3 => '0',--in2,--6
p1A2 => in1,--4
p1A1 => in0,--2
p1GN => buf_ce,--1
p2Y1 => buf_do(4),--11
p2Y2 => buf_do(5),--13
p1Y4 => buf_do(3),--9
p1Y3 => buf_do(2),--7
p1Y2 => buf_do(1),--5
p1Y1 => buf_do(0)--3
);
end RTL;

View File

@@ -23,24 +23,25 @@ library ieee;
entity kingballoon is
port(
W_CLK_18M : in std_logic;
W_CLK_12M : in std_logic;
W_CLK_6M : in std_logic;
W_CLK_18M : in std_logic;
W_CLK_12M : in std_logic;
W_CLK_6M : in std_logic;
P1_CSJUDLR : in std_logic_vector(6 downto 0);
P2_CSJUDLR : in std_logic_vector(6 downto 0);
I_RESET : in std_logic;
P1_CSJUDLR : in std_logic_vector(6 downto 0);
P2_CSJUDLR : in std_logic_vector(6 downto 0);
I_RESET : in std_logic;
W_R : out std_logic_vector(2 downto 0);
W_G : out std_logic_vector(2 downto 0);
W_B : out std_logic_vector(2 downto 0);
HBLANK : out std_logic;
VBLANK : out std_logic;
W_H_SYNC : out std_logic;
W_V_SYNC : out std_logic;
W_SDAT_A : out std_logic_vector( 7 downto 0);
W_SDAT_B : out std_logic_vector( 7 downto 0);
O_CMPBL : out std_logic
W_R : out std_logic_vector(2 downto 0);
W_G : out std_logic_vector(2 downto 0);
W_B : out std_logic_vector(2 downto 0);
HBLANK : out std_logic;
VBLANK : out std_logic;
W_H_SYNC : out std_logic;
W_V_SYNC : out std_logic;
W_SDAT_A : out std_logic_vector( 7 downto 0);
W_SDAT_B : out std_logic_vector( 7 downto 0);
W_SDAT_C : out std_logic_vector( 7 downto 0);
O_CMPBL : out std_logic
);
end;
@@ -140,15 +141,6 @@ architecture RTL of kingballoon is
signal W_WAV_D1 : std_logic_vector( 7 downto 0) := (others => '0');
signal W_WAV_D2 : std_logic_vector( 7 downto 0) := (others => '0');
signal W_DAC : std_logic_vector( 3 downto 0) := (others => '0');
COMPONENT SoundBoard
PORT(
reset_n : in std_logic;
clk : in std_logic;
audio : out std_logic_vector(7 downto 0)
);
END COMPONENT;
begin
mc_vid : entity work.MC_VIDEO
@@ -311,7 +303,7 @@ begin
I_256HnX => W_256HnX,
I_1VF => W_1VF,
I_2V => W_V_CNT(1),
I_STARS_ON => W_STARS_ON,
I_STARS_ON => '0',--No Stars on this Game
I_STARS_OFFn => W_STARS_OFFn,
O_R => W_STARS_R,
O_G => W_STARS_G,
@@ -333,7 +325,7 @@ begin
);
vmc_sound_b : entity work.MC_SOUND_B
port map(
port map(
I_CLK1 => W_CLK_6M,
I_RSTn => rst_count(3),
I_SW => new_sw,
@@ -341,16 +333,23 @@ port map(
I_FS => W_FS,
O_SDAT => W_SDAT_B
);
mc_roms : entity work.sprom
generic map (
init_file => "./ROM/prog.hex",
widthad_a => 14,
width_a => 8)
speech : entity work.kb_synth
port map(
reset_n => W_RESETn,
clk => W_CLK_6M,
in0 => '0',--DIP
in1 => '0',--DIP
in2 => '0',--DIP
in3 => '0',--DIP
speech_out => W_SDAT_C
);
mc_roms : entity work.prog
port map (
address => W_A(13 downto 0),
clock => W_CLK_12M,
q => W_CPU_ROM_DO
clk => W_CLK_12M,
addr => W_A(13 downto 0),
data => W_CPU_ROM_DO
);
-------- VIDEO -----------------------------

View File

@@ -63,15 +63,11 @@ begin
--- COL ROM --------------------------------------------------------
--wire W_COL_ROM_OEn = W_6M_DO[1];
galaxian_6l : entity work.sprom
generic map (
init_file => "./ROM/col.hex",
widthad_a => 5,
width_a => 8)
galaxian_6l : entity work.col
port map (
address => W_6M_DO(6 downto 2),
clock => I_CLK_12M,
q => W_COL_ROM_DO
clk => I_CLK_12M,
addr => W_6M_DO(6 downto 2),
data => W_COL_ROM_DO
);
--- VID OUT --------------------------------------------------------

View File

@@ -219,27 +219,19 @@ begin
O_DB => W_VID_RAM_DOB
);
k_rom : entity work.sprom
generic map (
init_file => "./ROM/k.hex",
widthad_a => 11,
width_a => 8)
k_rom : entity work.rom_k
port map (
address => W_O_OBJ_ROM_A,
clock => I_CLK_12M,
q => W_1K_D
clk => I_CLK_12M,
addr => '0' & W_O_OBJ_ROM_A,
data => W_1K_D
);
h_rom : entity work.sprom
generic map (
init_file => "./ROM/h.hex",
widthad_a => 11,
width_a => 8)
h_rom : entity work.rom_h
port map (
address => W_O_OBJ_ROM_A,
clock => I_CLK_12M,
q => W_1H_D
);
clk => I_CLK_12M,
addr => '0' & W_O_OBJ_ROM_A,
data => W_1H_D
);
-----------------------------------------------------------------------------------

View File

@@ -1,82 +0,0 @@
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY altera_mf;
USE altera_mf.all;
ENTITY sprom IS
GENERIC
(
init_file : string := "";
widthad_a : natural;
width_a : natural := 8;
outdata_reg_a : string := "UNREGISTERED"
);
PORT
(
address : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0);
clock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0)
);
END sprom;
ARCHITECTURE SYN OF sprom IS
SIGNAL sub_wire0 : STD_LOGIC_VECTOR (width_a-1 DOWNTO 0);
COMPONENT altsyncram
GENERIC (
address_aclr_a : STRING;
clock_enable_input_a : STRING;
clock_enable_output_a : STRING;
init_file : STRING;
intended_device_family : STRING;
lpm_hint : STRING;
lpm_type : STRING;
numwords_a : NATURAL;
operation_mode : STRING;
outdata_aclr_a : STRING;
outdata_reg_a : STRING;
widthad_a : NATURAL;
width_a : NATURAL;
width_byteena_a : NATURAL
);
PORT (
clock0 : IN STD_LOGIC ;
address_a : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0);
q_a : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0)
);
END COMPONENT;
BEGIN
q <= sub_wire0(width_a-1 DOWNTO 0);
altsyncram_component : altsyncram
GENERIC MAP (
address_aclr_a => "NONE",
clock_enable_input_a => "BYPASS",
clock_enable_output_a => "BYPASS",
init_file => init_file,
intended_device_family => "Cyclone III",
lpm_hint => "ENABLE_RUNTIME_MOD=NO",
lpm_type => "altsyncram",
numwords_a => 2**widthad_a,
operation_mode => "ROM",
outdata_aclr_a => "NONE",
outdata_reg_a => outdata_reg_a,
widthad_a => widthad_a,
width_a => width_a,
width_byteena_a => 1
)
PORT MAP (
clock0 => clock,
address_a => address,
q_a => sub_wire0
);
END SYN;

View File

@@ -0,0 +1,48 @@
library IEEE;
use IEEE.std_logic_1164.all;
Use IEEE.std_logic_unsigned.all;
use ieee.numeric_std.all;
entity ttl_74138 is
port
(
-- input
a : in std_logic;
b : in std_logic;
c : in std_logic;
g1 : in std_logic;
g2a_n : in std_logic;
g2b_n : in std_logic;
-- output
y_n : out std_logic_vector(7 downto 0)
);
end ttl_74138;
architecture SYN of ttl_74138 is
signal enabled : std_logic;
begin
enabled <= g1 and not g2a_n and not g2b_n;
y_n(0) <= '1' when enabled = '0' else
not (not a and not b and not c);
y_n(1) <= '1' when enabled = '0' else
not (a and not b and not c);
y_n(2) <= '1' when enabled = '0' else
not (not a and b and not c);
y_n(3) <= '1' when enabled = '0' else
not (a and b and not c);
y_n(4) <= '1' when enabled = '0' else
not (not a and not b and c);
y_n(5) <= '1' when enabled = '0' else
not (a and not b and c);
y_n(6) <= '1' when enabled = '0' else
not (not a and b and c);
y_n(7) <= '1' when enabled = '0' else
not (a and b and c);
end SYN;

View File

@@ -0,0 +1,136 @@
-- Copyright (C) 1991-2014 Altera Corporation
-- Your use of Altera Corporation's design tools, logic functions
-- and other software and tools, and its AMPP partner logic
-- functions, and any output files from any of the foregoing
-- (including device programming or simulation files), and any
-- associated documentation or information are expressly subject
-- to the terms and conditions of the Altera Program License
-- Subscription Agreement, Altera MegaCore Function License
-- Agreement, or other applicable license agreement, including,
-- without limitation, that your use is for the sole purpose of
-- programming logic devices manufactured by Altera and sold by
-- Altera or its authorized distributors. Please refer to the
-- applicable agreement for further details.
-- PROGRAM "Quartus II 64-Bit"
-- VERSION "Version 13.1.4 Build 182 03/12/2014 SJ Web Edition"
-- CREATED "Sun Aug 18 11:45:39 2019"
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY ttl_74273 IS
PORT
(
CLRN : IN STD_LOGIC;
CLK : IN STD_LOGIC;
D8 : IN STD_LOGIC;
D7 : IN STD_LOGIC;
D6 : IN STD_LOGIC;
D5 : IN STD_LOGIC;
D4 : IN STD_LOGIC;
D3 : IN STD_LOGIC;
D2 : IN STD_LOGIC;
D1 : IN STD_LOGIC;
Q1 : OUT STD_LOGIC;
Q2 : OUT STD_LOGIC;
Q3 : OUT STD_LOGIC;
Q4 : OUT STD_LOGIC;
Q5 : OUT STD_LOGIC;
Q6 : OUT STD_LOGIC;
Q7 : OUT STD_LOGIC;
Q8 : OUT STD_LOGIC
);
END ttl_74273;
ARCHITECTURE bdf_type OF ttl_74273 IS
BEGIN
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q8 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q8 <= D8;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q7 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q7 <= D7;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q6 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q6 <= D6;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q5 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q5 <= D5;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q4 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q4 <= D4;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q3 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q3 <= D3;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q2 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q2 <= D2;
END IF;
END PROCESS;
PROCESS(CLK,CLRN)
BEGIN
IF (CLRN = '0') THEN
Q1 <= '0';
ELSIF (RISING_EDGE(CLK)) THEN
Q1 <= D1;
END IF;
END PROCESS;
END bdf_type;

View File

@@ -0,0 +1,122 @@
-- Copyright (C) 1991-2014 Altera Corporation
-- Your use of Altera Corporation's design tools, logic functions
-- and other software and tools, and its AMPP partner logic
-- functions, and any output files from any of the foregoing
-- (including device programming or simulation files), and any
-- associated documentation or information are expressly subject
-- to the terms and conditions of the Altera Program License
-- Subscription Agreement, Altera MegaCore Function License
-- Agreement, or other applicable license agreement, including,
-- without limitation, that your use is for the sole purpose of
-- programming logic devices manufactured by Altera and sold by
-- Altera or its authorized distributors. Please refer to the
-- applicable agreement for further details.
-- PROGRAM "Quartus II 64-Bit"
-- VERSION "Version 13.1.4 Build 182 03/12/2014 SJ Web Edition"
-- CREATED "Fri Aug 16 22:43:02 2019"
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY ttl_74367 IS
PORT
(
p2GN : IN STD_LOGIC;
p2A1 : IN STD_LOGIC;
p2A2 : IN STD_LOGIC;
p1A4 : IN STD_LOGIC;
p1A3 : IN STD_LOGIC;
p1A2 : IN STD_LOGIC;
p1A1 : IN STD_LOGIC;
p1GN : IN STD_LOGIC;
p2Y1 : OUT STD_LOGIC;
p2Y2 : OUT STD_LOGIC;
p1Y4 : OUT STD_LOGIC;
p1Y3 : OUT STD_LOGIC;
p1Y2 : OUT STD_LOGIC;
p1Y1 : OUT STD_LOGIC
);
END ttl_74367;
ARCHITECTURE bdf_type OF ttl_74367 IS
SIGNAL SYNTHESIZED_WIRE_6 : STD_LOGIC;
SIGNAL SYNTHESIZED_WIRE_7 : STD_LOGIC;
BEGIN
PROCESS(p1A4,SYNTHESIZED_WIRE_6)
BEGIN
if (SYNTHESIZED_WIRE_6 = '1') THEN
p1Y4 <= p1A4;
ELSE
p1Y4 <= 'Z';
END IF;
END PROCESS;
PROCESS(p2A2,SYNTHESIZED_WIRE_7)
BEGIN
if (SYNTHESIZED_WIRE_7 = '1') THEN
p2Y2 <= p2A2;
ELSE
p2Y2 <= 'Z';
END IF;
END PROCESS;
SYNTHESIZED_WIRE_6 <= NOT(p1GN);
PROCESS(p2A1,SYNTHESIZED_WIRE_7)
BEGIN
if (SYNTHESIZED_WIRE_7 = '1') THEN
p2Y1 <= p2A1;
ELSE
p2Y1 <= 'Z';
END IF;
END PROCESS;
SYNTHESIZED_WIRE_7 <= NOT(p2GN);
PROCESS(p1A1,SYNTHESIZED_WIRE_6)
BEGIN
if (SYNTHESIZED_WIRE_6 = '1') THEN
p1Y1 <= p1A1;
ELSE
p1Y1 <= 'Z';
END IF;
END PROCESS;
PROCESS(p1A2,SYNTHESIZED_WIRE_6)
BEGIN
if (SYNTHESIZED_WIRE_6 = '1') THEN
p1Y2 <= p1A2;
ELSE
p1Y2 <= 'Z';
END IF;
END PROCESS;
PROCESS(p1A3,SYNTHESIZED_WIRE_6)
BEGIN
if (SYNTHESIZED_WIRE_6 = '1') THEN
p1Y3 <= p1A3;
ELSE
p1Y3 <= 'Z';
END IF;
END PROCESS;
END bdf_type;

View File

@@ -429,4 +429,5 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
# end ENTITY(Laser310_MiST)
# -------------------------
set_global_assignment -name VERILOG_FILE rtl/fdc.v
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

View File

@@ -47,7 +47,7 @@ input [7:0] key_code,
input [9:0] SWITCH,
input UART_RXD,
output UART_TXD
);
reg [3:0] CLK;
@@ -56,45 +56,38 @@ reg MEM_OP_WR;
(*keep*)reg GPIO_CPU_CLK;
// Processor
(*keep*)reg CPU_CLK;
(*keep*)wire [15:0] CPU_A;
(*keep*)wire [7:0] CPU_DI;
(*keep*)wire [7:0] CPU_DO;
(*keep*)wire[15:0] CPU_A;
(*keep*)wire [7:0] CPU_DI;
(*keep*)wire [7:0] CPU_DO;
(*keep*)wire CPU_RESET;
(*keep*)wire CPU_HALT;
(*keep*)wire CPU_MREQ;
(*keep*)wire CPU_RD;
(*keep*)wire CPU_WR;
(*keep*)wire CPU_IORQ;
(*keep*)reg CPU_INT;
(*keep*)wire CPU_M1;
wire CPU_BUSRQ;
wire CPU_BUSAK;
wire CPU_RFSH;
wire CPU_BUSRQ;
wire CPU_BUSAK;
wire CPU_RFSH;
(*keep*)wire CPU_RESET_N;
(*keep*)wire CPU_HALT_N;
(*keep*)wire CPU_MREQ_N;
(*keep*)wire CPU_RD_N;
(*keep*)wire CPU_WR_N;
(*keep*)wire CPU_IORQ_N;
(*keep*)wire CPU_INT_N;
(*keep*)wire CPU_M1_N;
wire CPU_BUSRQ_N;
wire CPU_BUSAK_N;
wire CPU_RFSH_N;
wire CPU_BUSRQ_N;
wire CPU_BUSAK_N;
wire CPU_RFSH_N;
// VRAM
(*keep*)wire [12:0] VRAM_ADDRESS;
(*keep*)wire[12:0] VRAM_ADDRESS;
(*keep*)wire VRAM_WR;
(*keep*)wire [7:0] VRAM_DATA_OUT;
(*keep*)wire [7:0] VRAM_DATA_OUT;
(*keep*)wire VDG_RD;
(*keep*)wire [12:0] VDG_ADDRESS;
(*keep*)wire [7:0] VDG_DATA;
(*keep*)wire[12:0] VDG_ADDRESS;
(*keep*)wire [7:0] VDG_DATA;
// ROM IO RAM
reg LATCHED_DOSROM_EN;
reg LATCHED_BOOTROM_EN;
@@ -1082,4 +1075,105 @@ assign CASS_OUT = EMU_CASS_EN ? EMU_CASS_DAT : {LATCHED_IO_DATA_WR[2], 1'b0};
(*keep*)wire trap = (CPU_RD|CPU_WR) && (CPU_A[15:12] == 4'h0);
assign AUD_ADCDAT = {LATCHED_IO_DATA_WR[0],LATCHED_IO_DATA_WR[5]};
// floppy
wire ADDRESS_IO_FDC;
wire ADDRESS_IO_FDC_CT;
wire ADDRESS_IO_FDC_DATA;
wire ADDRESS_IO_FDC_POLL;
wire ADDRESS_IO_FDC_WP;
reg [7:0] LATCHED_IO_FDC;
reg [7:0] LATCHED_IO_FDC_CT;
reg [7:0] LATCHED_RAM_DATA_FDC;
// floppy
(*keep*)wire FDC_RAM_R;
(*keep*)wire FDC_RAM_W;
(*keep*)wire [17:0] FDC_RAM_ADDR_R;
(*keep*)wire [17:0] FDC_RAM_ADDR_W;
reg [7:0] LAST_WRITE_DATA;
(*keep*)wire [7:0] FDC_RAM_DATA_W;
(*keep*)wire [7:0] FLOPPY_RD_DATA;
(*keep*)wire [7:0] FLOPPY_DATA;
// FDC
// if({CPU_IORQ,CPU_RD,CPU_WR,ADDRESS_IO_FDC_CT}==4'b1011)
// LATCHED_IO_FDC_CT <= CPU_DO;
// if({CPU_IORQ,CPU_RD,CPU_WR}==3'b110)
// LATCHED_IO_FDC <= ADDRESS_IO_FDC_POLL ? {FDC_POLL, 7'h7F} :
// ADDRESS_IO_FDC_DATA ? FDC_DATA :
// ADDRESS_IO_FDC_WP ? {FDC_WP, 7'h7F} :
// 8'hFF;
wire FLOPPY_WP_READ = 1'b0;
wire RAM_ADDRESS_FD_R = FDC_RAM_ADDR_R;
wire RAM_ADDRESS_FD_W = FDC_RAM_ADDR_W;
assign ADDRESS_IO_FDC = (CPU_A[7:2] == 6'b000100)?1'b1:1'b0;
assign ADDRESS_IO_FDC_CT = (CPU_A[7:0] == 8'h10)?1'b1:1'b0;
assign ADDRESS_IO_FDC_DATA = (CPU_A[7:0] == 8'h11)?1'b1:1'b0;
assign ADDRESS_IO_FDC_POLL = (CPU_A[7:0] == 8'h12)?1'b1:1'b0;
assign ADDRESS_IO_FDC_WP = (CPU_A[7:0] == 8'h13)?1'b1:1'b0;
wire [7:0] FDC_DATA;
wire FDC_POLL;
wire FDC_WP;
wire [7:0] SECTOR_BYTE;
wire [7:0] TRACK1_NO;
wire [7:0] TRACK2_NO;
wire DRIVE1;
wire DRIVE2;
wire MOTOR;
wire FDC_IO_R;
wire FDC_IO_W;
wire FDC_SIG;
wire FDC_SIG_CLK;
wire FDC_IO = (CPU_IORQ&ADDRESS_IO_FDC);
wire FDC_IO_POLL = (CPU_IORQ&ADDRESS_IO_FDC_POLL);
wire FDC_IO_DATA = (CPU_IORQ&ADDRESS_IO_FDC_DATA);
wire FDC_IO_CT = (CPU_IORQ&ADDRESS_IO_FDC_CT);
FDC_IF FDC_U (
.FDC_CLK(CPU_CLK),
.RESET_N(RESET_N),
.SW(SWITCH[3:2]),
.DBG(SWITCH[9:6]),
.FDC_RAM_R(FDC_RAM_R),
.FDC_RAM_W(FDC_RAM_W),
.FDC_RAM_ADDR_R(FDC_RAM_ADDR_R),
.FDC_RAM_ADDR_W(FDC_RAM_ADDR_W),
.FDC_RAM_DATA_R(LATCHED_RAM_DATA_FDC),
.FDC_RAM_DATA_W(FDC_RAM_DATA_W),
.FDC_IO(FDC_IO),
.FDC_IO_POLL(FDC_IO_POLL),
.FDC_IO_DATA(FDC_IO_DATA),
.FDC_IO_CT(FDC_IO_CT),
.FDC_SIG(FDC_SIG),
.FDC_SIG_CLK(FDC_SIG_CLK),
.FDC_CT(LATCHED_IO_FDC_CT),
.FDC_DATA(FDC_DATA),
.FDC_POLL(FDC_POLL),
.FDC_WP(FDC_WP),
.FLOPPY_SECTOR_BYTE(SECTOR_BYTE),
.TRACK1_NO(TRACK1_NO),
.TRACK2_NO(TRACK2_NO),
.DRIVE1(DRIVE1),
.DRIVE2(DRIVE2),
.MOTOR(MOTOR)
);
endmodule

View File

@@ -96,7 +96,7 @@ mist_video #(.COLOR_DEPTH(6)) mist_video(
.VGA_B(VGA_B),
.VGA_VS(VGA_VS),
.VGA_HS(VGA_HS),
.scandoubler_disable(scandoublerD),
.scandoubler_disable(1'b1),//scandoublerD),
.scanlines(status[4:3]),
.ypbpr(ypbpr)
);

View File

@@ -0,0 +1,967 @@
/*****************************************************************************
* Floppy
******************************************************************************/
// POLLING after Clock
// vz dsk Parameter
// 154 * 16 * 40 = 98560 = 0x18100
// 154 * 16 = 2464 = 0x9A0 = 0x4D0 * 2
`define FD_MAX_LEN 17'h18100
`define FD_TRACK_LEN 12'h9A0
`define FD_TRACK_STEP 8'h4D
// 40*2 0 --- 78
`define FD_MAX_TRACK_NO 8'd78
module FDC_IF (
FDC_CLK,
RESET_N,
SW,
DBG,
FDC_RAM_R,
FDC_RAM_W,
FDC_RAM_ADDR_R,
FDC_RAM_ADDR_W,
FDC_RAM_DATA_R,
FDC_RAM_DATA_W,
FDC_IO,
FDC_IO_POLL,
FDC_IO_DATA,
FDC_IO_CT,
FDC_SIG,
FDC_SIG_CLK,
FDC_CT,
FDC_DATA,
FDC_POLL,
FDC_WP,
FLOPPY_SECTOR_BYTE,
TRACK1_NO,
TRACK2_NO,
DRIVE1,
DRIVE2,
MOTOR
);
input FDC_CLK;
input RESET_N;
input [1:0] SW;
input [3:0] DBG;
output [17:0] FDC_RAM_ADDR_R;
output [17:0] FDC_RAM_ADDR_W;
output reg FDC_RAM_R;
output reg FDC_RAM_W;
input [7:0] FDC_RAM_DATA_R;
output [7:0] FDC_RAM_DATA_W;
input FDC_IO;
input FDC_IO_POLL;
input FDC_IO_DATA;
input FDC_IO_CT;
output FDC_SIG;
output reg FDC_SIG_CLK;
input [7:0] FDC_CT;
output [7:0] FDC_DATA;
output FDC_POLL;
output FDC_WP;
reg [11:0] FLOPPY_BYTE;
output reg [7:0] FLOPPY_SECTOR_BYTE; // Count Sector Bytes
reg [6:0] CLK_CNT;
reg [6:0] CLK_CNT_W;
reg [18:0] SYNC_CNT;
reg [7:0] FLOPPY_SECTOR_DELAY; // Delay on Sector End
reg FD_REC1;
reg FDC_POLL1;
reg FDC_REC_DATA_BIT1;
reg FDC_DATA_BIT1;
reg [7:0] FDC_DATA1;
reg [7:0] LATCHED_FDC_DATA1;
reg FDC_DATA_SET1;
reg FD_REC2;
reg FDC_POLL2;
reg FDC_REC_DATA_BIT2;
reg FDC_DATA_BIT2;
reg [7:0] FDC_DATA2;
reg [7:0] LATCHED_FDC_DATA2;
reg [3:0] BIT_CNT_W;
reg [2:0] BIT_CNT;
wire FDC_RAM_DATA_R_BIT;
reg [1:0] STEPPER1;
reg [1:0] STEPPER2;
output reg [7:0] TRACK1_NO;
output reg [7:0] TRACK2_NO;
reg [12:0] TRACK1;
reg [12:0] TRACK2;
(*keep*)wire [13:0] TRACK;
wire [12:0] TRACK1_UP;
wire [12:0] TRACK1_DOWN;
wire [12:0] TRACK2_UP;
wire [12:0] TRACK2_DOWN;
reg [17:0] FLOPPY_ADDRESS_R;
reg [17:0] FLOPPY_ADDRESS_W;
//reg [7:0] FLOPPY_WRITE_DATA;
reg WRITE_WAIT_FIRST_OP;
reg WRITE_DATA_BIT_VAL;
reg [7:0] WRITE_DATA1;
reg WRITE_DATA_MODI1;
reg [7:0] WRITE_DATA2;
reg WRITE_DATA2_MODI;
(*keep*)wire [7:0] FLOPPY_RD_DATA;
(*keep*)wire [7:0] FLOPPY_DATA;
(*keep*)wire FLOPPY_READ;
(*keep*)wire FLOPPY_WRITE;
wire FLOPPY_WP_READ;
reg PHASE0;
reg PHASE0_1;
reg PHASE0_2;
reg PHASE1;
reg PHASE1_1;
reg PHASE1_2;
reg PHASE2;
reg PHASE2_1;
reg PHASE2_2;
reg PHASE3;
reg PHASE3_1;
reg PHASE3_2;
output reg DRIVE1;
output reg DRIVE2;
output reg MOTOR;
reg WRITE_REQUEST_N;
reg WRITE_DATA_BIT;
reg Q6;
reg Q7;
wire DRIVE1_EN;
wire DRIVE2_EN;
wire DRIVE1_X;
wire DRIVE2_X;
wire DRIVE_SWAP;
wire DRIVE1_FLOPPY_WP;
wire DRIVE2_FLOPPY_WP;
reg MODIFY_DRIVE1;
reg MODIFY_DRIVE2;
assign FDC_RAM_ADDR_R = FLOPPY_ADDRESS_R;
assign FDC_RAM_ADDR_W = FLOPPY_ADDRESS_W;
(*preserve*)reg [7:0] FDC_CNT;
(*preserve*)reg [7:0] FDC_CNT_POLL;
(*preserve*)reg [7:0] FDC_CNT_DATA;
(*preserve*)reg [19:0] FDC_CNT_CT;
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
FDC_CNT <= 8'hFF;
FDC_CNT_POLL <= 8'hFF;
FDC_CNT_DATA <= 8'hFF;
FDC_CNT_CT <= 20'hFFFFF;
end
else
begin
if(FDC_IO)
FDC_CNT <= 0;
else if(~FDC_CNT[7])
FDC_CNT <= FDC_CNT + 1;
if(FDC_IO_POLL)
FDC_CNT_POLL <= 0;
else if(~FDC_CNT_POLL[7])
FDC_CNT_POLL <= FDC_CNT_POLL + 1;
if(FDC_IO_DATA)
FDC_CNT_DATA <= 0;
else if(~FDC_CNT_DATA[7])
FDC_CNT_DATA <= FDC_CNT_DATA + 1;
if(FDC_IO_CT)
FDC_CNT_CT <= 0;
else if(~FDC_CNT_CT[19])
FDC_CNT_CT <= FDC_CNT_CT + 1;
end
end
assign FDC_POLL = (DRIVE1_EN)?FDC_POLL1:
(DRIVE2_EN)?FDC_POLL2:
1'b0;
assign FDC_DATA = (DRIVE1_EN)?FDC_DATA1:
(DRIVE2_EN)?FDC_DATA2:
8'hFF;
assign FDC_RAM_DATA_R_BIT = (BIT_CNT==3'd7)?FDC_RAM_DATA_R[7]:
(BIT_CNT==3'd6)?FDC_RAM_DATA_R[6]:
(BIT_CNT==3'd5)?FDC_RAM_DATA_R[5]:
(BIT_CNT==3'd4)?FDC_RAM_DATA_R[4]:
(BIT_CNT==3'd3)?FDC_RAM_DATA_R[3]:
(BIT_CNT==3'd2)?FDC_RAM_DATA_R[2]:
(BIT_CNT==3'd1)?FDC_RAM_DATA_R[1]:
FDC_RAM_DATA_R[0];
// 读取
reg LATCHED_FD_REC1;
reg LATCHED_FDC_IO_DATA1;
reg GET_FDC_POLLING;
reg [5:0] FDC_POLL1_CNT;
reg [5:0] GET_FDC_POLL1_CNT;
always @(posedge FDC_CLK or negedge RESET_N)
if(~RESET_N)
begin
FDC_DATA_BIT1 <= 1'b0;
LATCHED_FD_REC1 <= 1'b0;
LATCHED_FDC_IO_DATA1 <= 1'b0;
end
else
begin
// 磁道记录信号上沿翻转 DATA_BIT
if({LATCHED_FD_REC1, FD_REC1}==2'b01)
begin
FDC_DATA_BIT1 <= FDC_POLL1;
end
if(FDC_DATA_SET1)
LATCHED_FDC_DATA1 <= {LATCHED_FDC_DATA1[6:0], FDC_DATA_BIT1};
// 读取DATA信号上沿
if({LATCHED_FDC_IO_DATA1, FDC_IO_DATA}==2'b01)
begin
FDC_DATA1 <= LATCHED_FDC_DATA1;
end
LATCHED_FD_REC1 <= FD_REC1;
LATCHED_FDC_IO_DATA1 <= FDC_IO_DATA;
end
////////////////////////////////////////
// 物理软驱模拟
////////////////////////////////////////
//WRITE_REQUEST_N
(*preserve*)reg [9:0] WRITE_DATA_CNT;
assign FDC_RAM_DATA_W = WRITE_DATA1;
// 对写入操作计数
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
WRITE_DATA_CNT <= 0;
end
else
begin
if( (~FDC_CT[6]) && (FDC_CT[5]==LATCHED_FDC_CT[5]) )
begin
if(~WRITE_DATA_CNT[9])
WRITE_DATA_CNT <= WRITE_DATA_CNT+1;
end
else
begin
WRITE_DATA_CNT <= 0;
end
end
end
// 模拟磁道信号
// 等待第1个写入数据变化
always @(posedge FDC_CLK or negedge RESET_N)
if(~RESET_N)
begin
WRITE_WAIT_FIRST_OP <= 1'b0;
end
else
begin
if( LATCHED_FDC_CT[6]!=FDC_CT[6] )
begin
// 信号下拉开始写入并等待第1个写入数据变化
WRITE_WAIT_FIRST_OP <= ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b10);
end
else
begin
// 找到第1个写入数据变化
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) )
WRITE_WAIT_FIRST_OP <= 1'b0;
end
end
// 判断是否有写入数据产生
always @(posedge FDC_CLK or negedge RESET_N)
if(~RESET_N)
begin
WRITE_DATA_MODI1 <= 1'b0;
end
else
begin
// 写入信号变化
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) )
begin
WRITE_DATA_MODI1 <= 1'b1;
end
else
begin
if(FDC_RAM_W)
WRITE_DATA_MODI1 <= 1'b0;
end
end
// 判断写入的值
always @(posedge FDC_CLK or negedge RESET_N)
if(~RESET_N)
begin
WRITE_DATA_BIT_VAL <= 1'b0;
end
else
begin
// 写入信号变化
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) )
begin
// 9'h01B 9'h056 9'h072
if(WRITE_DATA_CNT==10'h01B)
begin
WRITE_DATA_BIT_VAL <= 1'b1;
end
else
begin
WRITE_DATA_BIT_VAL <= 1'b0;
end
end
end
// 模拟磁盘数据位
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
SYNC_CNT <= 19'b0;
BIT_CNT <= 3'd0;
FDC_RAM_R <= 1'b0;
FDC_RAM_W <= 1'b0;
FDC_DATA_SET1 <= 1'b0;
FDC_POLL1 <= 1'b0;
FDC_POLL2 <= 1'b0;
FLOPPY_BYTE <= 12'h000;
FLOPPY_SECTOR_BYTE <= 8'h00;
FLOPPY_SECTOR_DELAY <= 8'h00;
FLOPPY_ADDRESS_R <= 18'b0;
FLOPPY_ADDRESS_W <= 18'b0;
WRITE_DATA1 <= 8'b0;
FD_REC1 <= 1'b0;
CLK_CNT <= 7'h00;
end
else
begin
begin
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) && WRITE_DATA_CNT[9] )
begin
// INIT 磁道空白区约1/10圈空白
// 找到第1个时钟位
BIT_CNT <= 3'd7;
// 下一个需要读取的位置
FLOPPY_BYTE <= 12'h001;
FLOPPY_SECTOR_BYTE <= 8'h00;
FLOPPY_ADDRESS_R <= {TRACK, 4'b0};
SYNC_CNT <= 19'b0;
FDC_RAM_R <= 1'b1;
FDC_RAM_W <= 1'b0;
FDC_DATA_SET1 <= 1'b0;
FD_REC1 <= 1'b1;
FDC_POLL1 <= 1'b0;
FDC_POLL2 <= 1'b0;
CLK_CNT <= 7'h03;
end
else
begin
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) && WRITE_DATA_CNT==10'h02F )
begin
// 格式化时数据区之前无空白数据存盘时写入数据区留有50个左右的时钟周期空白
// 写入扇区定位写入扇区前有约0x28个时钟周期的空白
FDC_RAM_W <= 1'b0;
FDC_DATA_SET1 <= 1'b0;
FD_REC1 <= 1'b1;
FDC_POLL1 <= 1'b0;
FDC_POLL2 <= 1'b0;
CLK_CNT <= 7'h03;
end
else
begin
case(CLK_CNT)
7'h00: // 同步信号 324 * 8 * 0x70 = 290304
begin
FD_REC1 <= 1'b0;
SYNC_CNT <= SYNC_CNT+1;
FDC_RAM_R <= 1'b0;
FDC_RAM_W <= 1'b0;
if(SYNC_CNT[18])
//if(SYNC_CNT[10])
begin
CLK_CNT <= CLK_CNT + 1;
end
end
7'h01:
begin
FDC_RAM_R <= 1'b0;
FDC_RAM_W <= 1'b0;
// 如果是写入等待时钟沿的变化
if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && ({LATCHED_FDC_CT[5],FDC_CT[5]}==2'b01) )
begin
CLK_CNT <= CLK_CNT;
end
else
begin
CLK_CNT <= CLK_CNT + 1;
end
end
// CLOCK DOMAIN
7'h02:
begin
BIT_CNT <= BIT_CNT-1;
// 读取
if(BIT_CNT==3'd0)
begin
begin
FLOPPY_BYTE <= FLOPPY_BYTE + 1'b1;
FLOPPY_ADDRESS_R <= {TRACK, 4'b0} + {6'b000000, FLOPPY_BYTE};
end
FDC_RAM_R <= 1'b1;
end
FD_REC1 <= 1'b1;
CLK_CNT <= CLK_CNT + 1;
end
// POOLING
// 从读取POLLING成功值为1到读取DATA中间间隔了0x43 个时钟周期
7'h03:
begin
FDC_RAM_R <= 1'b0;
FDC_RAM_W <= 1'b0;
FDC_POLL1 <= 1'b1;
FDC_POLL2 <= 1'b1;
CLK_CNT <= CLK_CNT + 1;
end
7'h06: // 1us
begin
FD_REC1 <= 1'b0;
CLK_CNT <= CLK_CNT + 1;
end
// DATA DOMAIN
7'h1E:
begin
FD_REC1 <= FDC_RAM_DATA_R_BIT;
CLK_CNT <= CLK_CNT + 1;
end
7'h1F:
begin
FDC_DATA_SET1 <= 1'b1;
CLK_CNT <= CLK_CNT + 1;
end
7'h20:
begin
FDC_DATA_SET1 <= 1'b0;
CLK_CNT <= CLK_CNT + 1;
end
7'h22:
begin
FD_REC1 <= 1'b0;
CLK_CNT <= CLK_CNT + 1;
end
7'h25:
begin
FDC_POLL1 <= 1'b0;
FDC_POLL2 <= 1'b0;
CLK_CNT <= CLK_CNT + 1;
end
// 扇区结束延时
7'h70:
begin
// 写入
WRITE_DATA1 <= {WRITE_DATA1[6:0],WRITE_DATA_BIT_VAL};
if(BIT_CNT==3'd0)
begin
FLOPPY_ADDRESS_W <= FLOPPY_ADDRESS_R;
FDC_RAM_W <= WRITE_DATA_MODI1;
end
CLK_CNT <= CLK_CNT + 1;
end
7'h71:
begin
// 写入结束
FDC_RAM_W <= 1'b0;
FDC_SIG_CLK <= WRITE_DATA_MODI1;
// 扇区结束时的延时
if(BIT_CNT==3'd0 && FLOPPY_SECTOR_BYTE==8'h99)
begin
FLOPPY_SECTOR_DELAY <= 8'hA5;
end
else
begin
FLOPPY_SECTOR_DELAY <= 8'h00;
end
CLK_CNT <= CLK_CNT + 1;
end
// 扇区结束时的延时
7'h72:
begin
FDC_SIG_CLK <= 1'b0;
// 扇区结束时的延时
if(FLOPPY_SECTOR_DELAY==8'h00)
begin
CLK_CNT <= CLK_CNT + 1;
end
else
begin
FLOPPY_SECTOR_DELAY <= FLOPPY_SECTOR_DELAY-1;
end
end
7'h73:
begin
if(BIT_CNT==3'd0)
begin
if(FLOPPY_BYTE==`FD_TRACK_LEN||FLOPPY_SECTOR_BYTE==8'h99)
begin
FLOPPY_SECTOR_BYTE <= 8'h00;
end
else
begin
FLOPPY_SECTOR_BYTE <= FLOPPY_SECTOR_BYTE+1;
end
end
if(BIT_CNT==3'd0 && FLOPPY_BYTE==`FD_TRACK_LEN)
begin
FLOPPY_BYTE <= 12'h000;
//FLOPPY_SECTOR_BYTE <= 8'h00;
FLOPPY_ADDRESS_R <= {TRACK, 4'b0};
SYNC_CNT <= 19'b0;
CLK_CNT <= 7'h00;
end
else
begin
CLK_CNT <= 7'h01;
end
end
default:
begin
FDC_RAM_R <= 1'b0;
FDC_RAM_W <= 1'b0;
CLK_CNT <= CLK_CNT + 1;
end
endcase
end
end
end
end
end
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
PHASE0 <= 1'b0;
PHASE1 <= 1'b0;
PHASE2 <= 1'b0;
PHASE3 <= 1'b0;
MOTOR <= 1'b0;
DRIVE1 <= 1'b0;
DRIVE2 <= 1'b0;
WRITE_REQUEST_N <= 1'b1;
WRITE_DATA_BIT <= 1'b0;
end
else
begin
PHASE0 <= FDC_CT[0];
PHASE1 <= FDC_CT[1];
PHASE2 <= FDC_CT[2];
PHASE3 <= FDC_CT[3];
DRIVE1 <= FDC_CT[4];
DRIVE2 <= FDC_CT[7];
MOTOR <= (FDC_CT[4])|(FDC_CT[7]);
WRITE_REQUEST_N <= FDC_CT[6];
WRITE_DATA_BIT <= FDC_CT[5];
end
end
//assign DRIVE1_X = DRIVE1 & MOTOR;
//assign DRIVE2_X = !DRIVE1 & MOTOR;
assign DRIVE1_X = DRIVE1 & MOTOR;
assign DRIVE2_X = DRIVE2 & MOTOR;
assign DRIVE1_FLOPPY_WP = ~SW[0];
assign DRIVE2_FLOPPY_WP = ~SW[1];
assign FDC_WP = DRIVE1?DRIVE1_FLOPPY_WP:
DRIVE2?DRIVE2_FLOPPY_WP:
1'b1;
assign DRIVE1_EN = (DRIVE1) & MOTOR;
assign DRIVE2_EN = (DRIVE2) & MOTOR;
assign TRACK = (DRIVE1_EN) ? {1'b0,TRACK1}:
(DRIVE2_EN) ? {1'b1,TRACK2}:
14'b0;
assign TRACK1_UP = TRACK1 + `FD_TRACK_STEP;
assign TRACK1_DOWN = TRACK1 - `FD_TRACK_STEP;
assign TRACK2_UP = TRACK2 + `FD_TRACK_STEP;
assign TRACK2_DOWN = TRACK2 - `FD_TRACK_STEP;
//assign FLOPPY_ADDRESS_R = {TRACK, 4'b0} + {5'b00000, FLOPPY_BYTE};
//always @ (posedge PH_2)
always @(negedge FDC_CLK)
begin
PHASE0_1 <= PHASE0;
PHASE0_2 <= PHASE0_1; // Delay 2 clock cycles
PHASE1_1 <= PHASE1;
PHASE1_2 <= PHASE1_1; // Delay 2 clock cycles
PHASE2_1 <= PHASE2;
PHASE2_2 <= PHASE2_1; // Delay 2 clock cycles
PHASE3_1 <= PHASE3;
PHASE3_2 <= PHASE3_1; // Delay 2 clock cycles
end
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
STEPPER1 <= 2'b00;
STEPPER2 <= 2'b00;
TRACK1 <= 13'd0;
TRACK2 <= 13'd0;
TRACK1_NO <= 8'd0;
TRACK2_NO <= 8'd0;
end
else
begin
// if(DRIVE1^DRIVE_SWAP)
if(DRIVE1)
begin
case ({PHASE0_2, PHASE1_2, PHASE2_2, PHASE3_2})
4'b1000:
begin
if(STEPPER1 == 2'b11)
begin
//if(TRACK1 != `FD_MAX_LEN)
if(TRACK1_NO != `FD_MAX_TRACK_NO)
begin
TRACK1 <= TRACK1_UP;
TRACK1_NO <= TRACK1_NO+1;
STEPPER1 <= 2'b00;
end
end
else
if(STEPPER1 == 2'b01)
begin
//if(TRACK1 != 17'h0)
if(TRACK1_NO != 8'd0)
begin
TRACK1 <= TRACK1_DOWN;
TRACK1_NO <= TRACK1_NO-1;
STEPPER1 <= 2'b00;
end
end
end
4'b0100:
begin
if(STEPPER1 == 2'b00)
begin
//if(TRACK1 != `FD_MAX_LEN)
if(TRACK1_NO != `FD_MAX_TRACK_NO)
begin
TRACK1 <= TRACK1_UP;
TRACK1_NO <= TRACK1_NO+1;
STEPPER1 <= 2'b01;
end
end
else
if(STEPPER1 == 2'b10)
begin
//if(TRACK1 != 17'h0)
if(TRACK1_NO != 8'd0)
begin
TRACK1 <= TRACK1_DOWN;
TRACK1_NO <= TRACK1_NO-1;
STEPPER1 <= 2'b01;
end
end
end
4'b0010:
begin
if(STEPPER1 == 2'b01)
begin
//if(TRACK1 != `FD_MAX_LEN)
if(TRACK1_NO != `FD_MAX_TRACK_NO)
begin
TRACK1 <= TRACK1_UP;
TRACK1_NO <= TRACK1_NO+1;
STEPPER1 <= 2'b10;
end
end
else
if(STEPPER1 == 2'b11)
begin
//if(TRACK1 != 17'h0)
if(TRACK1_NO != 8'd0)
begin
TRACK1 <= TRACK1_DOWN;
TRACK1_NO <= TRACK1_NO-1;
STEPPER1 <= 2'b10;
end
end
end
4'b0001:
begin
if(STEPPER1 == 2'b10)
begin
//if(TRACK1 != `FD_MAX_LEN)
if(TRACK1_NO != `FD_MAX_TRACK_NO)
begin
TRACK1 <= TRACK1_UP;
TRACK1_NO <= TRACK1_NO+1;
STEPPER1 <= 2'b11;
end
end
else
if(STEPPER1 == 2'b00)
begin
//if(TRACK1 != 17'h0)
if(TRACK1_NO != 8'd0)
begin
TRACK1 <= TRACK1_DOWN;
TRACK1_NO <= TRACK1_NO-1;
STEPPER1 <= 2'b11;
end
end
end
endcase
end
else
begin
case ({PHASE0_2, PHASE1_2, PHASE2_2, PHASE3_2})
4'b1000:
begin
if(STEPPER2 == 2'b11)
begin
//if(TRACK2 != `FD_MAX_LEN)
if(TRACK2_NO != `FD_MAX_TRACK_NO)
begin
TRACK2 <= TRACK2_UP;
TRACK2_NO <= TRACK2_NO+1;
STEPPER2 <= 2'b00;
end
end
else
if(STEPPER2 == 2'b01)
begin
//if(TRACK2 != 17'h0)
if(TRACK2_NO != 8'd0)
begin
TRACK2 <= TRACK2_DOWN;
TRACK2_NO <= TRACK2_NO-1;
STEPPER2 <= 2'b00;
end
end
end
4'b0100:
begin
if(STEPPER2 == 2'b00)
begin
//if(TRACK2 != `FD_MAX_LEN)
if(TRACK2_NO != `FD_MAX_TRACK_NO)
begin
TRACK2 <= TRACK2_UP;
TRACK2_NO <= TRACK2_NO+1;
STEPPER2 <= 2'b01;
end
end
else
if(STEPPER2 == 2'b10)
begin
//if(TRACK2 != 17'h0)
if(TRACK2_NO != 8'd0)
begin
TRACK2 <= TRACK2_DOWN;
TRACK2_NO <= TRACK2_NO-1;
STEPPER2 <= 2'b01;
end
end
end
4'b0010:
begin
if(STEPPER2 == 2'b01)
begin
//if(TRACK2 != `FD_MAX_LEN)
if(TRACK2_NO != `FD_MAX_TRACK_NO)
begin
TRACK2 <= TRACK2_UP;
TRACK2_NO <= TRACK2_NO+1;
STEPPER2 <= 2'b10;
end
end
else
if(STEPPER2 == 2'b11)
begin
//if(TRACK2 != 17'h0)
if(TRACK2_NO != 8'd0)
begin
TRACK2 <= TRACK2_DOWN;
TRACK2_NO <= TRACK2_NO-1;
STEPPER2 <= 2'b10;
end
end
end
4'b0001:
begin
if(STEPPER2 == 2'b10)
begin
//if(TRACK2 != `FD_MAX_LEN)
if(TRACK2_NO != `FD_MAX_TRACK_NO)
begin
TRACK2 <= TRACK2_UP;
TRACK2_NO <= TRACK2_NO+1;
STEPPER2 <= 2'b11;
end
end
else
if(STEPPER2 == 2'b00)
begin
//if(TRACK2 != 17'h0)
if(TRACK2_NO != 8'd0)
begin
TRACK2 <= TRACK2_DOWN;
TRACK2_NO <= TRACK2_NO-1;
STEPPER2 <= 2'b11;
end
end
end
endcase
end
end
end
reg [19:0] LATCHED_FDC_CNT_CT;
reg [7:0] LATCHED_FDC_CT;
always @(posedge FDC_CLK or negedge RESET_N)
begin
if(~RESET_N)
begin
LATCHED_FDC_CT <= 8'hFF;
//FDC_SIG_CLK <= 1'b0;
LATCHED_FDC_CNT_CT <= 20'hFFFFF;
end
else
begin
LATCHED_FDC_CT <= FDC_CT;
LATCHED_FDC_CNT_CT <= FDC_CNT_CT;
//FDC_SIG_CLK <= (LATCHED_FDC_CT!=FDC_CT);
end
end
assign FDC_SIG = (FDC_CNT[7]|FDC_CNT_POLL[7]|FDC_CNT_DATA[7]|FDC_CNT_CT[19]|(LATCHED_FDC_CNT_CT==0));
endmodule