1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-02-13 11:24:06 +00:00

Spy Hunter: add CSD board + update FX68K

This commit is contained in:
Gyorgy Szombathelyi
2019-12-17 16:48:59 +01:00
parent ab43825e69
commit fbe055e6e6
31 changed files with 3515 additions and 3039 deletions

View File

@@ -41,7 +41,7 @@
# ========================
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
# Pin & Location Assignments
@@ -214,7 +214,7 @@ 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_global_assignment -name ENABLE_SIGNALTAP OFF
set_global_assignment -name USE_SIGNALTAP_FILE output_files/reset.stp
set_global_assignment -name USE_SIGNALTAP_FILE output_files/csd.stp
set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE SPEED
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON
set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS"
@@ -222,7 +222,7 @@ set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON
set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
set_global_assignment -name SMART_RECOMPILE ON
set_global_assignment -name ALLOW_SYNCH_CTRL_USAGE ON
set_global_assignment -name ALLOW_SYNCH_CTRL_USAGE OFF
set_global_assignment -name SYSTEMVERILOG_FILE rtl/SpyHunter_MiST.sv
set_global_assignment -name VHDL_FILE rtl/spy_hunter.vhd
set_global_assignment -name VHDL_FILE rtl/ctc_counter.vhd
@@ -235,10 +235,13 @@ set_global_assignment -name VHDL_FILE rtl/cmos_ram.vhd
set_global_assignment -name VHDL_FILE rtl/rom/spy_hunter_bg_bits_2.vhd
set_global_assignment -name VHDL_FILE rtl/rom/spy_hunter_bg_bits_1.vhd
set_global_assignment -name VHDL_FILE rtl/rom/spy_hunter_ch_bits.vhd
set_global_assignment -name VHDL_FILE rtl/rom/spy_hunter_sound_cpu.vhd
set_global_assignment -name VHDL_FILE rtl/rom/midssio_82s123.vhd
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
set_global_assignment -name VHDL_FILE rtl/pll_mist.vhd
set_global_assignment -name VHDL_FILE rtl/cheap_squeak_deluxe.vhd
set_global_assignment -name VHDL_FILE ../../../common/IO/pia6821.vhd
set_global_assignment -name QIP_FILE ../../../common/CPU/68000/FX68k/fx68k.qip
set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
set_global_assignment -name SIGNALTAP_FILE output_files/csd.stp
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

View File

@@ -82,6 +82,7 @@ wire [7:0] joy_1;
wire scandoublerD;
wire ypbpr;
wire [15:0] audio_l, audio_r;
wire [9:0] csd_audio;
wire hs, vs, cs;
wire blankn;
wire [2:0] g, r, b;
@@ -89,6 +90,8 @@ wire [15:0] rom_addr;
wire [15:0] rom_do;
wire [12:0] snd_addr;
wire [15:0] snd_do;
wire [14:1] csd_addr;
wire [15:0] csd_do;
wire [14:0] sp_addr;
wire [31:0] sp_do;
wire ioctl_downl;
@@ -111,7 +114,21 @@ data_io data_io(
.ioctl_dout ( ioctl_dout )
);
wire [24:0] sp_ioctl_addr = ioctl_addr - 17'h10000;//Wrong for CSD roms !!!
// ROM structure:
// 0000 - DFFF - Main ROM (8 bit)
// E000 - FFFF - Super Sound board ROM (8 bit)
// 10000 - 17FFF - CSD ROM (16 bit)
// 18000 - Sprite ROMs (32 bit)
// spy-hunter_cpu_pg0_2-9-84.6d spy-hunter_cpu_pg1_2-9-84.7d spy-hunter_cpu_pg2_2-9-84.8d spy-hunter_cpu_pg3_2-9-84.9d spy-hunter_cpu_pg4_2-9-84.10d spy-hunter_cpu_pg5_2-9-84.11d
// spy-hunter_snd_0_sd_11-18-83.a7 spy-hunter_snd_1_sd_11-18-83.a8
// spy-hunter_cs_deluxe_u17_b_11-18-83.u17 spy-hunter_cs_deluxe_u18_d_11-18-83.u18 spy-hunter_cs_deluxe_u7_a_11-18-83.u7 spy-hunter_cs_deluxe_u8_c_11-18-83.u8
// spy-hunter_video_1fg_11-18-83.a7 spy-hunter_video_0fg_11-18-83.a8 spy-hunter_video_3fg_11-18-83.a5 spy-hunter_video_2fg_11-18-83.a6 spy-hunter_video_5fg_11-18-83.a3 spy-hunter_video_4fg_11-18-83.a4 spy-hunter_video_7fg_11-18-83.a1 spy-hunter_video_6fg_11-18-83.a2
wire [24:0] rom_ioctl_addr = ~ioctl_addr[16] ? ioctl_addr : // 8 bit ROMs
{ioctl_addr[24:16], ioctl_addr[15], ioctl_addr[13:0], ioctl_addr[14]}; // 16 bit ROM
wire [24:0] sp_ioctl_addr = ioctl_addr - 17'h18000;
reg port1_req, port2_req;
sdram sdram(
@@ -119,19 +136,22 @@ sdram sdram(
.init_n ( pll_locked ),
.clk ( clk_mem ),
// port1 used for main + sound CPU
// port1 used for main + sound CPUs
.port1_req ( port1_req ),
.port1_ack ( ),
.port1_a ( ioctl_addr[23:1] ),
.port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ),
.port1_a ( rom_ioctl_addr[23:1] ),
.port1_ds ( {rom_ioctl_addr[0], ~rom_ioctl_addr[0]} ),
.port1_we ( ioctl_downl ),
.port1_d ( {ioctl_dout, ioctl_dout} ),
.port1_q ( ),
.cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, rom_addr[15:1]} ),
.cpu1_q ( rom_do ),
.cpu2_addr ( 16'hffff ),// CSD Roms - Change Rom File for this
.cpu2_q ( ),//snd_do ),
// need higher priority for CSD
.cpu2_addr ( ioctl_downl ? 16'hffff : (16'h8000 + csd_addr[14:1]) ),
.cpu2_q ( csd_do ),
.cpu3_addr ( ioctl_downl ? 16'hffff : (16'h7000 + snd_addr[12:1]) ),
.cpu3_q ( snd_do ),
// port2 for sprite graphics
.port2_req ( port2_req ),
@@ -202,6 +222,7 @@ spy_hunter spy_hunter(
.separate_audio(1'b0),
.audio_out_l(audio_l),
.audio_out_r(audio_r),
.csd_audio_out(csd_audio),
.coin1(btn_coin),
.coin2(1'b0),
.shift(m_shift),
@@ -220,6 +241,8 @@ spy_hunter spy_hunter(
.cpu_rom_do ( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] ),
.snd_rom_addr ( snd_addr ),
.snd_rom_do ( snd_addr[0] ? snd_do[15:8] : snd_do[7:0] ),
.csd_rom_addr ( csd_addr ),
.csd_rom_do ( csd_do ),
.sp_addr ( sp_addr ),
.sp_graphx32_do ( sp_do )
);
@@ -279,16 +302,16 @@ dac #(
dac_l(
.clk_i(clk_sys),
.res_n_i(1),
.dac_i(audio_l),
.dac_i(audio_l + { csd_audio, 5'd0 }),
.dac_o(AUDIO_L)
);
dac #(
.C_bits(16))
dac_r(
.clk_i(clk_sys),
.res_n_i(1),
.dac_i(audio_r),
.dac_i(audio_r + { csd_audio, 5'd0 }),
.dac_o(AUDIO_R)
);

View File

@@ -0,0 +1,219 @@
-- Midway Cheap Squeak Deluxe sound board
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
use work.fx68k.all;
entity cheap_squeak_deluxe is
port(
clock_40 : in std_logic;
reset : in std_logic;
input : in std_logic_vector(7 downto 0);
rom_addr : out std_logic_vector(14 downto 1);
rom_do : in std_logic_vector(15 downto 0);
audio_out : out std_logic_vector(9 downto 0)
);
end cheap_squeak_deluxe;
architecture rtl of cheap_squeak_deluxe is
signal cpu_ce1 : std_logic;
signal cpu_ce2 : std_logic;
signal cpu_ce_count : std_logic_vector( 4 downto 0);
signal cpu_addr : std_logic_vector(23 downto 1);
signal cpu_rw : std_logic;
signal cpu_irq : std_logic;
signal cpu_data_in : std_logic_vector(15 downto 0);
signal cpu_data_out : std_logic_vector(15 downto 0);
signal cpu_as_n : std_logic;
signal cpu_lds_n : std_logic;
signal cpu_uds_n : std_logic;
signal cpu_dtack_n : std_logic;
signal cpu_vpa_n : std_logic;
signal cpu_fc : std_logic_vector( 2 downto 0);
signal cpu_ipl2_N : std_logic;
signal cpu_sel : std_logic;
signal pia_data_out : std_logic_vector( 7 downto 0);
signal pia_pa_in : std_logic_vector( 7 downto 0);
signal pia_pa_out : std_logic_vector( 7 downto 0);
signal pia_pa_oe : std_logic_vector( 7 downto 0);
signal pia_pb_in : std_logic_vector( 7 downto 0);
signal pia_pb_out : std_logic_vector( 7 downto 0);
signal pia_pb_oe : std_logic_vector( 7 downto 0);
signal pia_ca1_in : std_logic;
signal pia_ca2_out : std_logic;
signal pia_cb1_in : std_logic;
signal pia_cb2_out : std_logic;
signal pia_irqa : std_logic;
signal pia_irqb : std_logic;
signal cs_rom : std_logic;
signal cs_ram : std_logic;
signal cs_pia : std_logic;
signal ram_we : std_logic;
signal ram_data_out : std_logic_vector(15 downto 0);
signal romd1 : std_logic;
signal romd : std_logic;
signal rom_addr_out : std_logic_vector(14 downto 1);
signal rom_addr_old : std_logic_vector(14 downto 1);
begin
fx68k_inst: fx68k
port map (
clk => clock_40,
extReset => reset,
pwrUp => reset,
enPhi1 => cpu_ce1,
enPhi2 => cpu_ce2,
eRWn => cpu_rw,
ASn => cpu_as_n,
LDSn => cpu_lds_n,
UDSn => cpu_uds_n,
E => open,
VMAn => open,
FC0 => cpu_fc(0),
FC1 => cpu_fc(1),
FC2 => cpu_fc(2),
BGn => open,
oRESETn => open,
oHALTEDn => open,
DTACKn => cpu_dtack_n,
VPAn => cpu_vpa_n,
BERRn => '1',
BRn => '1',
BGACKn => '1',
IPL0n => '1',
IPL1n => '1',
IPL2n => cpu_ipl2_n,
iEdb => cpu_data_in,
oEdb => cpu_data_out,
eab => cpu_addr
);
-- U6
u_wram : entity work.gen_ram
generic map( dWidth => 8, aWidth => 11)
port map(
clk => clock_40,
we => ram_we and not cpu_uds_n,
addr => cpu_addr(11 downto 1),
d => cpu_data_out(15 downto 8),
q => ram_data_out(15 downto 8)
);
-- U16
l_wram : entity work.gen_ram
generic map( dWidth => 8, aWidth => 11)
port map(
clk => clock_40,
we => ram_we and not cpu_lds_n,
addr => cpu_addr(11 downto 1),
d => cpu_data_out(7 downto 0),
q => ram_data_out(7 downto 0)
);
-- U9
pia6821 : entity work.pia6821
port map (
clk => clock_40,
rst => reset,
cs => cs_pia,
rw => cpu_rw,
addr => cpu_addr(1)&cpu_addr(2), -- wired in reverse order
data_in => cpu_data_out(15 downto 8),
data_out => pia_data_out,
irqa => pia_irqa,
irqb => pia_irqb,
pa_i => pia_pa_in,
pa_o => pia_pa_out,
pa_oe => open,
ca1 => pia_ca1_in,
ca2_i => '0',
ca2_o => open,
ca2_oe => open,
pb_i => pia_pb_in,
pb_o => pia_pb_out,
pb_oe => open,
cb1 => pia_cb1_in,
cb2_i => '0',
cb2_o => open,
cb2_oe => open
);
-- clock enable generation: 40/5 = 8 MHz effective clock (original: 7.5 MHz)
process (clock_40, reset)
begin
if reset = '1' then
cpu_ce1 <= '0';
cpu_ce2 <= '0';
cpu_ce_count <= (others => '0');
elsif rising_edge(clock_40) then
cpu_ce1 <= '0';
cpu_ce2 <= '0';
cpu_ce_count <= cpu_ce_count + 1;
if cpu_ce_count = 2 then
cpu_ce1 <= '1';
end if;
if cpu_ce_count = 4 then
cpu_ce2 <= '1';
cpu_ce_count <= (others => '0');
end if;
end if;
end process;
process (clock_40, reset)
begin
if reset = '1' then
rom_addr_old <= (others => '1');
elsif rising_edge(clock_40) then
rom_addr_old <= rom_addr_out;
-- ROMD signal - DTACK_N delay for ROM access
if cpu_as_n = '1' then
romd1 <= '0';
romd <= '0';
elsif cpu_ce1 = '1' then
romd1 <= '1';
romd <= romd1;
end if;
end if;
end process;
cpu_sel <= '1' when cpu_as_n = '0' and (cpu_uds_n = '0' or cpu_lds_n = '0') else '0';
cpu_dtack_n <= not ((cs_rom and romd) or cs_ram or cs_pia);
-- auto-vectored interrupt handling
cpu_vpa_n <= '0' when cpu_fc = "111" else '1';
cpu_ipl2_n <= not (pia_irqa or pia_irqb);
cs_rom <= '1' when cpu_sel = '1' and cpu_addr(16 downto 15) = "00" else '0';
cs_ram <= '1' when cpu_sel = '1' and cpu_addr(16 downto 14) = "111" else '0';
-- PIA uses 6800 bus cycle originally with VMA, VPA and E clock
cs_pia <= '1' when cpu_sel = '1' and cpu_addr(16 downto 14) = "110" else '0';
ram_we <= '1' when cs_ram = '1' and cpu_rw = '0' else '0';
cpu_data_in <= rom_do when cs_rom = '1' else
ram_data_out when cs_ram = '1' else
pia_data_out&x"FF" when cs_pia = '1' else
(others => '1');
rom_addr_out <= cpu_addr(14 downto 1) when cs_rom = '1' else rom_addr_old;
rom_addr <= rom_addr_out;
audio_out <= pia_pa_out(7 downto 0)&pia_pb_out(7 downto 6);
pia_pb_in(5 downto 0) <= "00"&input(3 downto 0); -- stat1-stat0, sr3-sr0
pia_ca1_in <= not input(4); -- sirq
pia_pa_in <= (others => '0');
pia_cb1_in <= '0'; -- spare
end rtl;

View File

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

@@ -50,6 +50,8 @@ module sdram (
output reg [15:0] cpu1_q,
input [16:1] cpu2_addr,
output reg [15:0] cpu2_q,
input [16:1] cpu3_addr,
output reg [15:0] cpu3_q,
input port2_req,
output reg port2_ack,
@@ -150,9 +152,9 @@ assign SDRAM_nRAS = sd_cmd[2];
assign SDRAM_nCAS = sd_cmd[1];
assign SDRAM_nWE = sd_cmd[0];
reg [24:1] addr_latch[2];
reg [24:1] addr_latch[3];
reg [24:1] addr_latch_next[2];
reg [16:1] addr_last[2];
reg [16:1] addr_last[4];
reg [16:2] addr_last2[2];
reg [15:0] din_latch[2];
reg [1:0] oe_latch;
@@ -162,14 +164,15 @@ reg [1:0] ds[2];
reg port1_state;
reg port2_state;
localparam PORT_NONE = 2'd0;
localparam PORT_CPU1 = 2'd1;
localparam PORT_CPU2 = 2'd2;
localparam PORT_SP = 2'd1;
localparam PORT_REQ = 2'd3;
localparam PORT_NONE = 3'd0;
localparam PORT_CPU1 = 3'd1;
localparam PORT_CPU2 = 3'd2;
localparam PORT_CPU3 = 3'd3;
localparam PORT_SP = 3'd1;
localparam PORT_REQ = 3'd4;
reg [1:0] next_port[2];
reg [1:0] port[2];
reg [2:0] next_port[2];
reg [2:0] port[2];
reg refresh;
reg [10:0] refresh_cnt;
@@ -189,6 +192,9 @@ always @(*) begin
end else if (cpu2_addr != addr_last[PORT_CPU2]) begin
next_port[0] = PORT_CPU2;
addr_latch_next[0] = { 8'd0, cpu2_addr };
end else if (cpu3_addr != addr_last[PORT_CPU3]) begin
next_port[0] = PORT_CPU3;
addr_latch_next[0] = { 8'd0, cpu3_addr };
end else begin
next_port[0] = PORT_NONE;
addr_latch_next[0] = addr_latch[0];
@@ -321,6 +327,7 @@ always @(posedge clk) begin
PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end
PORT_CPU1: begin cpu1_q <= sd_din; end
PORT_CPU2: begin cpu2_q <= sd_din; end
PORT_CPU3: begin cpu3_q <= sd_din; end
default: ;
endcase;
end

View File

@@ -151,7 +151,8 @@ port(
separate_audio : in std_logic;
audio_out_l : out std_logic_vector(15 downto 0);
audio_out_r : out std_logic_vector(15 downto 0);
csd_audio_out : out std_logic_vector( 9 downto 0);
coin1 : in std_logic;
coin2 : in std_logic;
shift : in std_logic;
@@ -176,6 +177,8 @@ port(
cpu_rom_do : in std_logic_vector(7 downto 0);
snd_rom_addr : out std_logic_vector(12 downto 0);
snd_rom_do : in std_logic_vector(7 downto 0);
csd_rom_addr : out std_logic_vector(14 downto 1);
csd_rom_do : in std_logic_vector(15 downto 0);
sp_addr : out std_logic_vector(14 downto 0);
sp_graphx32_do : in std_logic_vector(31 downto 0);
dbg_cpu_addr : out std_logic_vector(15 downto 0)
@@ -1154,6 +1157,17 @@ port map(
-- data => sp_graphx_do
--);
-- background & sprite palette
palette : entity work.gen_ram
generic map( dWidth => 9, aWidth => 6)
port map(
clk => clock_vidn,
we => palette_we,
addr => palette_addr,
d => cpu_addr(0) & cpu_do,
q => palette_do
);
-- Spy hunter sound board
sound_board : entity work.spy_hunter_sound_board
port map(
@@ -1177,19 +1191,22 @@ port map(
separate_audio => separate_audio,
audio_out_l => audio_out_l,
audio_out_r => audio_out_r,
cpu_rom_addr => snd_rom_addr,
cpu_rom_do => snd_rom_do,
dbg_cpu_addr => open --dbg_cpu_addr
);
-- background & sprite palette
palette : entity work.gen_ram
generic map( dWidth => 9, aWidth => 6)
port map(
clk => clock_vidn,
we => palette_we,
addr => palette_addr,
d => cpu_addr(0) & cpu_do,
q => palette_do
-- Cheap Squeak Deluxe
csd: entity work.cheap_squeak_deluxe
port map (
clock_40 => clock_40,
reset => reset,
input => output_4,
rom_addr => csd_rom_addr,
rom_do => csd_rom_do,
audio_out => csd_audio_out
);
end struct;

View File

@@ -74,7 +74,10 @@ port(
audio_out_l : out std_logic_vector(15 downto 0);
audio_out_r : out std_logic_vector(15 downto 0);
cpu_rom_addr : out std_logic_vector(12 downto 0);
cpu_rom_do : in std_logic_vector(7 downto 0);
dbg_cpu_addr : out std_logic_vector(15 downto 0)
);
end spy_hunter_sound_board;
@@ -101,7 +104,7 @@ architecture struct of spy_hunter_sound_board is
signal cpu_irq_n : std_logic;
signal cpu_m1_n : std_logic;
signal cpu_rom_do : std_logic_vector( 7 downto 0);
-- signal cpu_rom_do : std_logic_vector( 7 downto 0);
signal wram_we : std_logic;
signal wram_do : std_logic_vector( 7 downto 0);
@@ -436,12 +439,14 @@ port map(
);
-- cpu program ROM 0x0000-0x3FFF
rom_cpu : entity work.spy_hunter_sound_cpu
port map(
clk => clock_sndn,
addr => cpu_addr(12 downto 0),
data => cpu_rom_do
);
--rom_cpu : entity work.spy_hunter_sound_cpu
--port map(
-- clk => clock_sndn,
-- addr => cpu_addr(12 downto 0),
-- data => cpu_rom_do
--);
cpu_rom_addr <= cpu_addr(12 downto 0);
-- working RAM 0x8000-0x83FF
wram : entity work.gen_ram