diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/Galaga_MiST.qsf b/Arcade_MiST/Galaga Hardware/Galaga_MiST/Galaga_MiST.qsf
index 15c896f9..77edfea1 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/Galaga_MiST.qsf
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/Galaga_MiST.qsf
@@ -41,7 +41,7 @@
# ========================
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 13.1
set_global_assignment -name PROJECT_CREATION_TIME_DATE "23:59:05 MARCH 16, 2017"
-set_global_assignment -name LAST_QUARTUS_VERSION 13.1
+set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26"
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
@@ -201,23 +201,19 @@ set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
set_global_assignment -name SYSTEMVERILOG_FILE rtl/galaga_mist.sv
set_global_assignment -name VHDL_FILE rtl/galaga.vhd
set_global_assignment -name VHDL_FILE rtl/gen_video.vhd
+set_global_assignment -name VHDL_FILE rtl/dpram.vhd
set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd
set_global_assignment -name VHDL_FILE rtl/galaga_video.vhd
set_global_assignment -name VHDL_FILE rtl/stars_machine.vhd
set_global_assignment -name VHDL_FILE rtl/stars.vhd
set_global_assignment -name VHDL_FILE rtl/sound_machine.vhd
set_global_assignment -name VHDL_FILE rtl/mb88.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/sp_palette.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/sp_graphx.vhd
+set_global_assignment -name VHDL_FILE rtl/sound_lpf.vhd
set_global_assignment -name VHDL_FILE rtl/roms/sound_seq.vhd
set_global_assignment -name VHDL_FILE rtl/roms/sound_samples.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/rgb.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/galaga_cpu3.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/galaga_cpu2.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/galaga_cpu1.vhd
set_global_assignment -name VHDL_FILE rtl/roms/bg_palette.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/bg_graphx.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/cs54xx_prog.vhd
+set_global_assignment -name VHDL_FILE rtl/roms/sp_palette.vhd
+set_global_assignment -name VHDL_FILE rtl/roms/rgb.vhd
set_global_assignment -name VERILOG_FILE rtl/pll.v
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway set 1 with fast shoot hack).mra b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway set 1 with fast shoot hack).mra
new file mode 100644
index 00000000..953b4946
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway set 1 with fast shoot hack).mra
@@ -0,0 +1,81 @@
+
+ Galaga (Midway set 1 with fast shoot)
+
+ no
+ no
+ Fast Shoot, Set 1
+ Galaga
+
+ Galaxian
+ 1981
+ Namco
+ Midway
+ Shooter - Gallery
+
+ galagamf
+ galaga
+ 0218
+ galaga
+
+
+ 15kHz
+ vertical (cw)
+ yes
+
+ 2 (alternating)
+ 2-way horizontal
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11 2A 88 00 00 FF 00 02 00 02 00 01 00 FF 00 00
+ 00 00 8A 20 2D 00 18 00
+ 00 00 83 ED 06 00 24 00
+
+
+
+
+
+ 20210730102726
+
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway, Set 1).mra b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway, Set 1).mra
new file mode 100644
index 00000000..983b8382
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Midway, Set 1).mra
@@ -0,0 +1,85 @@
+
+ Galaga (Midway set 1)
+
+ no
+ no
+ Midway, Set 1
+
+
+ Galaxian
+ 1981
+ Namco
+ Midway
+ Shooter - Gallery
+
+ galagamw
+ galaga
+ 0229
+ galaga
+
+
+ 15kHz
+ vertical (cw)
+ yes
+
+ 2 (alternating)
+ 2-way horizontal
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11 2A 88 00 00 FF 00 02 00 02 00 01 00 FF 00 00
+ 00 00 8A 20 2D 00 18 00
+ 00 00 83 ED 06 00 24 00
+
+
+
+
+
+ 20210730104618
+
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco rev. B).mra b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco rev. B).mra
new file mode 100644
index 00000000..bcc65d18
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco rev. B).mra
@@ -0,0 +1,88 @@
+
+ Galaga (Namco rev. B)
+
+ no
+ no
+ Namco
+ Galaga
+
+ Galaxian
+ 1981
+ Namco
+ Shooter - Gallery
+
+ galaga
+ galaga
+ 0229
+ galaga
+
+
+ 15kHz
+ vertical (cw)
+ yes
+
+ 2 (alternating)
+ 2-way horizontal
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11 2A 88 00 00 FF 00 02 00 02 00 01 00 FF 00 00
+ 00 00 8A 20 2D 00 18 00
+ 00 00 83 ED 06 00 24 00
+
+
+
+
+
+ 20210730103523
+
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco).mra b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco).mra
new file mode 100644
index 00000000..b7222101
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Galaga (Namco).mra
@@ -0,0 +1,83 @@
+
+ Galaga (Namco)
+
+ no
+ no
+ Namco
+ Galaga
+
+ Galaxian
+ 1981
+ Namco
+ Shooter - Gallery
+
+ galagao
+ galaga
+ 0229
+ galaga
+
+
+ 15kHz
+ vertical (cw)
+ yes
+
+ 2 (alternating)
+ 2-way horizontal
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11 2A 88 00 00 FF 00 02 00 02 00 01 00 FF 00 00
+ 00 00 8A 20 2D 00 18 00
+ 00 00 83 ED 06 00 24 00
+
+
+
+
+
+ 20210730103520
+
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Gatsbee.mra b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Gatsbee.mra
new file mode 100644
index 00000000..122339e7
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/meta/Gatsbee.mra
@@ -0,0 +1,87 @@
+
+ Gatsbee
+
+ 1984
+ yes
+ Galaga
+ Galaxian
+ hack (Uchida)
+ Shooter - Gallery
+
+ gatsbee
+ galaga
+ 0220
+ galaga
+
+
+ 15kHz
+ vertical (cw)
+ yes
+
+ 2 (alternating)
+ 4-way horizontal
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 00 32 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00
+ 00 00 8A 20 2D 00 0E 00
+ 00 00 83 ED 06 00 24 00
+
+
+
+
+
+ 20210730104830
+
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/dpram.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/dpram.vhd
new file mode 100644
index 00000000..fec08f5f
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/dpram.vhd
@@ -0,0 +1,75 @@
+LIBRARY ieee;
+USE ieee.std_logic_1164.all;
+
+LIBRARY altera_mf;
+USE altera_mf.altera_mf_components.all;
+
+entity dpram is
+ generic (
+ addr_width_g : integer := 8;
+ data_width_g : integer := 8
+ );
+ PORT
+ (
+ address_a : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
+ address_b : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
+ clock_a : IN STD_LOGIC := '1';
+ clock_b : IN STD_LOGIC ;
+ data_a : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
+ data_b : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0) := (others => '0');
+ enable_a : IN STD_LOGIC := '1';
+ enable_b : IN STD_LOGIC := '1';
+ wren_a : IN STD_LOGIC := '0';
+ wren_b : IN STD_LOGIC := '0';
+ q_a : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
+ q_b : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0)
+ );
+END dpram;
+
+
+ARCHITECTURE SYN OF dpram IS
+BEGIN
+ altsyncram_component : altsyncram
+ GENERIC MAP (
+ address_reg_b => "CLOCK1",
+ clock_enable_input_a => "NORMAL",
+ clock_enable_input_b => "NORMAL",
+ clock_enable_output_a => "BYPASS",
+ clock_enable_output_b => "BYPASS",
+ indata_reg_b => "CLOCK1",
+ intended_device_family => "Cyclone V",
+ lpm_type => "altsyncram",
+ numwords_a => 2**addr_width_g,
+ numwords_b => 2**addr_width_g,
+ operation_mode => "BIDIR_DUAL_PORT",
+ outdata_aclr_a => "NONE",
+ outdata_aclr_b => "NONE",
+ outdata_reg_a => "UNREGISTERED",
+ outdata_reg_b => "UNREGISTERED",
+ power_up_uninitialized => "FALSE",
+ read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ",
+ read_during_write_mode_port_b => "NEW_DATA_NO_NBE_READ",
+ widthad_a => addr_width_g,
+ widthad_b => addr_width_g,
+ width_a => data_width_g,
+ width_b => data_width_g,
+ width_byteena_a => 1,
+ width_byteena_b => 1,
+ wrcontrol_wraddress_reg_b => "CLOCK1"
+ )
+ PORT MAP (
+ address_a => address_a,
+ address_b => address_b,
+ clock0 => clock_a,
+ clock1 => clock_b,
+ clocken0 => enable_a,
+ clocken1 => enable_b,
+ data_a => data_a,
+ data_b => data_b,
+ wren_a => wren_a,
+ wren_b => wren_b,
+ q_a => q_a,
+ q_b => q_b
+ );
+
+END SYN;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga.vhd
index a848b22e..5009d175 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga.vhd
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga.vhd
@@ -3,7 +3,7 @@
-- http://darfpga.blogspot.fr
---------------------------------------------------------------------------------
-- gen_ram.vhd & io_ps2_keyboard
---------------------------------
+--------------------------------
-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com)
-- http://www.syntiac.com/fpga64.html
---------------------------------------------------------------------------------
@@ -20,7 +20,7 @@
-- Galaga releases
--
-- Release 0.3 - 06/05/2018 - Dar
--- add mb88 explosion sound ship
+-- add mb88 explosion sound ship
--
-- Release 0.2 - 06/11/2017 - Dar
-- fixes twice bullets on single shot => add edge detection en fire
@@ -35,13 +35,13 @@
-- TV 15KHz mode only (atm)
-- Coctail mode ok
-- Sound ok
--- Starfield from MAME information
+-- Starfield from MAME information
-- Use with MAME roms from galagamw.zip
--
-- Use make_galaga_proms.bat to build vhd file from binaries
--- galaga_cpu1.vhd : 3200a.bin, 3300b.bin, 3400c.bin,3500d.bin,
+-- galaga_cpu1.vhd : 3200a.bin, 3300b.bin, 3400c.bin,3500d.bin,
-- galaga_cpu2.vhd : 3600e.bin
-- galaga_cpu3.vhd : 3700g.bin
-- bg_graphx.vhd : 2600j.bin
@@ -56,18 +56,18 @@
--
-- 3xZ80 CPU accessing each own program rom and shared ram/devices
--
--- One char tile map 32x28 (called background/bg although being front of other layers)
+-- One char tile map 32x28 (called background/bg although being front of other layers)
-- 3 colors/64sets among 16 colors
--- 1Ko ram, 4Ko rom graphics, 4pixels of 2bits/byte
+-- 1Ko ram, 4Ko rom graphics, 4pixels of 2bits/byte
-- full emulation in vhdl
--
--- 64 sprites with priorities, flip H/V, 2x size H/V,
+-- 64 sprites with priorities, flip H/V, 2x size H/V,
-- 3 colors/64sets among 16 colors (different of char colors).
-- 8Ko rom graphics, 4pixels of 2bits/byte
-- full emulation in vhdl (improved capabilities : more sprites/scanline)
--
--- Namco 05XX Starfield
--- 4 sets, 63 stars/set, 2 set displayed at one time for blinking
+-- Namco 05XX Starfield
+-- 4 sets, 63 stars/set, 2 set displayed at one time for blinking
-- 6bits colors: 2red/2green/2blue
-- full emulation in vhdl (from MAME information)
--
@@ -75,13 +75,13 @@
-- 8bits 3red/3green/2blue
-- full emulation in vhdl
--
--- Namco 06XX for 51/54XX control
+-- Namco 06XX for 51/54XX control
-- simplified emulation in vhdl
--
--- Namco 51XX for coin/credit management
+-- Namco 51XX for coin/credit management
-- simplified emulation in vhdl : 1coin/1credit, 1 or 2 players start
--
--- Namco 54XX for sound effects
+-- Namco 54XX for sound effects
-- m88 ok
--
-- Namco sound waveform and frequency synthetizer
@@ -91,10 +91,10 @@
-- full emulation in vhdl from what I think they should do.
--
-- Working ram : 3x1Kx8bits shared
--- Sprites ram : 1 scan line delay flip/flop 512x4bits
+-- Sprites ram : 1 scan line delay flip/flop 512x4bits
-- Sound registers ram : 2x16x4bits
-- Sound sequencer rom : 256x4bits (3 sequential 4 bits adders)
--- Sound wavetable rom : 256x4bits 8 waveform of 32 samples of 4bits/level
+-- Sound wavetable rom : 256x4bits 8 waveform of 32 samples of 4bits/level
---------------------------------------------------------------------------------
library ieee;
@@ -104,31 +104,58 @@ use ieee.numeric_std.all;
entity galaga is
port(
- clock_18 : in std_logic;
- reset : in std_logic;
- video_r : out std_logic_vector(2 downto 0);
- video_g : out std_logic_vector(2 downto 0);
- video_b : out std_logic_vector(1 downto 0);
- video_clk : out std_logic;
- video_csync : out std_logic;
- video_hb : out std_logic;
- video_vb : out std_logic;
- video_hs : out std_logic;
- video_vs : out std_logic;
- audio : out std_logic_vector(9 downto 0);
+ clock_18 : in std_logic;
+ reset : in std_logic;
+ video_r : out std_logic_vector(2 downto 0);
+ video_g : out std_logic_vector(2 downto 0);
+ video_b : out std_logic_vector(1 downto 0);
+ video_csync : out std_logic;
+ video_ce : out std_logic;
+ video_hs : out std_logic;
+ video_vs : out std_logic;
- b_test : in std_logic;
- b_svce : in std_logic;
- coin : in std_logic;
- start1 : in std_logic;
- left1 : in std_logic;
- right1 : in std_logic;
- fire1 : in std_logic;
- start2 : in std_logic;
- left2 : in std_logic;
- right2 : in std_logic;
- fire2 : in std_logic
- );
+ blank_h : out std_logic;
+ blank_v : out std_logic;
+
+ audio : out std_logic_vector(15 downto 0);
+
+ service : in std_logic;
+ self_test : in std_logic;
+
+ coin1 : in std_logic;
+ start1 : in std_logic;
+ up1 : in std_logic;
+ down1 : in std_logic;
+ left1 : in std_logic;
+ right1 : in std_logic;
+ fire1 : in std_logic;
+
+ coin2 : in std_logic;
+ start2 : in std_logic;
+ up2 : in std_logic;
+ down2 : in std_logic;
+ left2 : in std_logic;
+ right2 : in std_logic;
+ fire2 : in std_logic;
+
+ dip_switch_a : in std_logic_vector (7 downto 0);
+ dip_switch_b : in std_logic_vector (7 downto 0);
+
+ dn_addr : in std_logic_vector(15 downto 0);
+ dn_data : in std_logic_vector(7 downto 0);
+ dn_wr : in std_logic;
+
+ flip_screen : in std_logic := '0';
+ h_offset : in signed(3 downto 0);
+ v_offset : in signed(3 downto 0);
+
+ pause : in std_logic;
+
+ hs_address : in std_logic_vector(15 downto 0);
+ hs_data_out : out std_logic_vector(7 downto 0);
+ hs_data_in : in std_logic_vector(7 downto 0);
+ hs_write : in std_logic
+);
end galaga;
architecture struct of galaga is
@@ -138,6 +165,7 @@ architecture struct of galaga is
signal hcnt : std_logic_vector(8 downto 0);
signal vcnt : std_logic_vector(8 downto 0);
+ signal vblank : std_logic;
signal ena_vidgen : std_logic;
signal ena_snd_machine : std_logic;
signal cpu1_ena : std_logic;
@@ -160,7 +188,7 @@ architecture struct of galaga is
signal cpu2_mreq_n : std_logic;
signal cpu2_irq_n : std_logic;
signal cpu2_m1_n : std_logic;
-
+
signal cpu3_addr : std_logic_vector(15 downto 0);
signal cpu3_di : std_logic_vector( 7 downto 0);
signal cpu3_do : std_logic_vector( 7 downto 0);
@@ -175,7 +203,7 @@ architecture struct of galaga is
signal cpu1_rom_do : std_logic_vector( 7 downto 0);
signal cpu2_rom_do : std_logic_vector( 7 downto 0);
signal cpu3_rom_do : std_logic_vector( 7 downto 0);
-
+
signal bgram_do : std_logic_vector( 7 downto 0);
signal bgram_we : std_logic;
signal wram1_do : std_logic_vector( 7 downto 0);
@@ -193,67 +221,75 @@ architecture struct of galaga is
signal mux_cpu_mreq : std_logic;
signal latch_we : std_logic;
signal io_we : std_logic;
+ signal bgrom_we : std_logic;
+ signal bg_bank : std_logic;
- signal cs06XX_control : std_logic_vector( 7 downto 0);
- signal cs06XX_do : std_logic_vector( 7 downto 0);
- signal cs06XX_di : std_logic_vector( 7 downto 0);
+ signal cs06XX_control : std_logic_vector( 7 downto 0);
+ signal cs06XX_do : std_logic_vector( 7 downto 0);
+ signal cs06XX_di : std_logic_vector( 7 downto 0);
+ signal cs06XX_nmi_state_next : std_logic;
+ signal cs06XX_nmi_stretch : std_logic;
+ signal cs06XX_nmi_cnt : std_logic_vector( 8 downto 0);
+
+ signal cs51xx_rom_addr : std_logic_vector(10 downto 0);
+ signal cs51xx_rom_do : std_logic_vector( 7 downto 0);
+ signal cs51xx_irq_n : std_logic := '1';
+ signal cs51xx_ol_port_out: std_logic_vector( 3 downto 0);
+ signal cs51xx_oh_port_out: std_logic_vector( 3 downto 0);
+ signal cs51xx_k_port_in : std_logic_vector( 3 downto 0);
+ signal cs51XX_do : std_logic_vector( 7 downto 0);
+
+ signal cs5Xxx_ena : std_logic;
+ signal cs5Xxx_rw : std_logic;
+
+ signal change_next : std_logic;
+
+ signal cs54XX_do : std_logic_vector( 7 downto 0);
- signal cs51XX_data_cnt : std_logic_vector( 1 downto 0) := "00";
- signal cs51XX_coin_mode_cnt : std_logic_vector( 2 downto 0) := "000";
- signal cs51XX_switch_mode : std_logic := '0';
- signal cs51XX_credit_mode : std_logic := '1';
- signal cs51XX_do : std_logic_vector( 7 downto 0);
- signal cs51XX_switch_mode_do : std_logic_vector( 7 downto 0);
- signal cs51XX_non_switch_mode_do : std_logic_vector( 7 downto 0);
- signal change_next : std_logic;
- signal credit_bcd_0 : std_logic_vector( 3 downto 0);
- signal credit_bcd_1 : std_logic_vector( 3 downto 0);
-
--- signal cs54xx_cmd : std_logic_vector( 3 downto 0);
- signal cs54xx_do : std_logic_vector( 7 downto 0);
-
signal cs54xx_ena : std_logic;
- signal cs54xx_ena_div : std_logic_vector(2 downto 0) := "000";
- signal cs5Xxx_rw : std_logic;
-
- signal cs54xx_rom_addr : std_logic_vector(10 downto 0);
- signal cs54xx_rom_do : std_logic_vector( 7 downto 0);
-
- signal cs54xx_irq_n : std_logic := '1';
- signal cs54xx_irq_cnt : std_logic_vector( 3 downto 0);
- signal cs54xx_k_port_in : std_logic_vector( 3 downto 0);
- signal cs54xx_r0_port_in : std_logic_vector( 3 downto 0);
- signal cs54xx_audio_1 : std_logic_vector( 3 downto 0);
- signal cs54xx_audio_2 : std_logic_vector( 3 downto 0);
- signal cs54xx_audio_3 : std_logic_vector( 3 downto 0);
+ signal cs54xx_ena_div : std_logic_vector(3 downto 0) := "0000";
+
+ signal cs54xx_rom_addr : std_logic_vector(10 downto 0);
+ signal cs54xx_rom_do : std_logic_vector( 7 downto 0);
+
+ signal cs54xx_irq_n : std_logic := '1';
+ signal cs54xx_irq_cnt : std_logic_vector( 3 downto 0);
+ signal cs54xx_k_port_in : std_logic_vector( 3 downto 0);
+ signal cs54xx_r0_port_in : std_logic_vector( 3 downto 0);
+ signal cs54xx_audio_1 : std_logic_vector( 3 downto 0);
+ signal cs54xx_audio_2 : std_logic_vector( 3 downto 0);
+ signal cs54xx_audio_3 : std_logic_vector( 3 downto 0);
+
+ signal cs54xx_audio_1_lpf: std_logic_vector(15 downto 0);
+ signal cs54xx_audio_2_lpf: std_logic_vector(15 downto 0);
+ signal cs54xx_audio_3_lpf: std_logic_vector(15 downto 0);
signal cs05XX_ctrl : std_logic_vector( 5 downto 0);
-
- signal dip_switch_a : std_logic_vector (7 downto 0);
- signal dip_switch_b : std_logic_vector (7 downto 0);
+
signal dip_switch_do : std_logic_vector (1 downto 0);
-
+
signal bgtile_num : std_logic_vector( 7 downto 0);
signal bgtile_num_r : std_logic_vector( 7 downto 0);
signal bgtile_color : std_logic_vector( 7 downto 0);
signal bgtile_color_r : std_logic_vector( 7 downto 0);
- signal bggraphx_addr : std_logic_vector(11 downto 0);
+ signal bggraphx_addr : std_logic_vector(12 downto 0);
signal bggraphx_do : std_logic_vector( 7 downto 0);
signal bgpalette_addr : std_logic_vector( 7 downto 0);
- signal bgpalette_do : std_logic_vector( 7 downto 0);
+ signal bgpalette_do : std_logic_vector( 7 downto 0);
signal bgbits : std_logic_vector( 3 downto 0);
signal rgb_palette_addr : std_logic_vector( 4 downto 0);
- signal rgb_palette_do : std_logic_vector( 7 downto 0);
-
+ signal rgb_palette_do : std_logic_vector( 7 downto 0);
+
signal sprite_num : std_logic_vector(5 downto 0);
- signal sprite_state : std_logic_vector(2 downto 0);
+ signal sprite_state : std_logic_vector(2 downto 0);
signal sprite_line : std_logic_vector(7 downto 0);
signal sptile_num : std_logic_vector(7 downto 0);
signal sptile_color : std_logic_vector(7 downto 0);
signal spdata : std_logic_vector(3 downto 0);
signal spvcnt : std_logic_vector(4 downto 0);
signal sphcnt : std_logic_vector(4 downto 0);
+ signal sphcnt_s : std_logic_vector(4 downto 0);
signal spram_wr_addr : std_logic_vector(8 downto 0);
signal spram_rd_addr : std_logic_vector(8 downto 0);
signal spram_we : std_logic;
@@ -261,7 +297,7 @@ architecture struct of galaga is
signal spgraphx_addr : std_logic_vector(12 downto 0);
signal spgraphx_do : std_logic_vector(7 downto 0);
signal sppalette_addr : std_logic_vector(7 downto 0);
- signal sppalette_do : std_logic_vector(7 downto 0);
+ signal sppalette_do : std_logic_vector(7 downto 0);
signal spbits_wr : std_logic_vector(3 downto 0);
signal spbits_rd : std_logic_vector(3 downto 0);
signal spflip_V ,spflip_H : std_logic;
@@ -269,8 +305,9 @@ architecture struct of galaga is
signal spflip_3V,spflip_3H : std_logic_vector(2 downto 0);
signal spflips : std_logic_vector(12 downto 0);
- signal flip_h : std_logic;
-
+ signal flip_h : std_logic;
+ signal flip_hs : std_logic;
+
signal spram1_addr : std_logic_vector(8 downto 0);
signal spram1_di : std_logic_vector(3 downto 0);
signal spram1_do : std_logic_vector(3 downto 0);
@@ -279,10 +316,10 @@ architecture struct of galaga is
signal spram2_di : std_logic_vector(3 downto 0);
signal spram2_do : std_logic_vector(3 downto 0);
signal spram2_we : std_logic;
-
+
signal stars_hcnt : std_logic_vector( 8 downto 0);
signal stars_vcnt : std_logic_vector( 8 downto 0);
- signal stars_offset : std_logic_vector( 7 downto 0);
+ signal stars_offset : std_logic_vector( 7 downto 0);
signal stars_set0_addr : std_logic_vector( 6 downto 0);
signal stars_set0_data : std_logic_vector(15 downto 0);
signal star_color_set0 : std_logic_vector( 5 downto 0);
@@ -296,7 +333,7 @@ architecture struct of galaga is
signal stars_set3_data : std_logic_vector(15 downto 0);
signal star_color_set3 : std_logic_vector( 5 downto 0);
signal star_color : std_logic_vector( 5 downto 0);
-
+
signal irq1_clr_n : std_logic;
signal irq2_clr_n : std_logic;
signal nmion_n : std_logic;
@@ -309,105 +346,137 @@ architecture struct of galaga is
signal coin_r : std_logic;
signal start1_r : std_logic;
signal start2_r : std_logic;
-
+
signal fire1_r : std_logic;
signal fire2_r : std_logic;
signal fire1_mem : std_logic;
signal fire2_mem : std_logic;
-
+ signal rom1_cs : std_logic;
+ signal rom2_cs : std_logic;
+ signal rom3_cs : std_logic;
+ signal roms_cs : std_logic;
+ signal romb_cs : std_logic;
+ signal rom51_cs : std_logic;
+ signal rom54_cs : std_logic;
+
+ signal ce : std_logic;
+
+ signal hs_cs_bgram : std_logic;
+ signal hs_cs_spram : std_logic;
+ signal hs_data_out_bgram : std_logic_vector(7 downto 0);
+ signal hs_data_out_spram : std_logic_vector(7 downto 0);
begin
clock_18n <= not clock_18;
reset_n <= not reset;
-dip_switch_a <= "11110111"; -- cab:7 / na:6 / test:5 / freeze:4 / demo sound:3 / na:2 / difficulty:1-0
-dip_switch_b <= "10010111"; --lives:7-6/ bonus:5-3 / coinage:2-0
-dip_switch_do <= dip_switch_a(to_integer(unsigned(mux_addr(3 downto 0)))) &
- dip_switch_b(to_integer(unsigned(mux_addr(3 downto 0))));
+blank_v <= vblank;
-audio <= ("00" & cs54xx_audio_1 & "0000" ) + ("00" & cs54xx_audio_2 & "0000" )+ ('0'&snd_audio(9 downto 1));
---audio <= ("00" & cs54xx_audio_1 & "00000" ) + ('0'&snd_audio);
---audio <= ('0'&snd_audio);
+dip_switch_do <= dip_switch_a(to_integer(unsigned(mux_addr(3 downto 0)))) &
+ dip_switch_b(to_integer(unsigned(mux_addr(3 downto 0))));
+
+-- simplified audio signal mixing
+audio <= ("00" & cs54xx_audio_1_lpf(15 downto 2))
+ + ("00" & cs54xx_audio_2_lpf(15 downto 2))
+ + ("00" & cs54xx_audio_3_lpf(15 downto 2))
+ + ("0" & snd_audio & "00000");
-- make access slots from 18MHz
-- 6MHz for pixel clock and sound machine
-- 3MHz for cpu, background and sprite machine
-- slots | 0 | 1 | 2 | 3 | 4 | 5 |
--- wram access | cpu1 | cpu2 | cpu3 | bgram | spram | n.u. |
--- sound access | cpu1 | cpu2 | cpu3 | sndram | n.u. | sndram|
+-- wram access | cpu1 | cpu2 | cpu3 | bgram | spram | n.u. |
+-- sound access | cpu1 | cpu2 | cpu3 | sndram | n.u. | sndram|
-- enable signals are one slot early
process (clock_18)
begin
- if rising_edge(clock_18) then
- ena_vidgen <= '0';
- ena_snd_machine <= '0';
- cpu1_ena <= '0';
- cpu2_ena <= '0';
- cpu3_ena <= '0';
- cs54xx_ena <= '0';
-
- if slot = "101" then
- slot <= (others => '0');
- cs54xx_ena_div <= cs54xx_ena_div +'1';
- else
- slot <= std_logic_vector(unsigned(slot) + 1);
- end if;
-
- if slot = "101" or slot = "010" then ena_vidgen <= '1'; end if;
- if slot = "010" or slot = "100" then ena_snd_machine <= '1'; end if;
- if slot = "101" then cpu1_ena <= '1'; end if;
- if slot = "000" then cpu2_ena <= '1'; end if;
- if slot = "001" then cpu3_ena <= '1'; end if;
-
- if slot = "000" and cs54xx_ena_div = "000" then cs54xx_ena <= '1'; end if;
-
- end if;
+ if rising_edge(clock_18) then
+ ena_vidgen <= '0';
+ ena_snd_machine <= '0';
+ cpu1_ena <= '0';
+ cpu2_ena <= '0';
+ cpu3_ena <= '0';
+ cs5Xxx_ena <= '0';
+ cs54xx_ena <= '0';
+
+ if slot = "101" then
+ slot <= (others => '0');
+ cs54xx_ena_div <= cs54xx_ena_div +'1';
+ else
+ slot <= std_logic_vector(unsigned(slot) + 1);
+ end if;
+
+ if slot = "101" or slot = "010" then ena_vidgen <= '1'; end if;
+ if slot = "010" or slot = "100" then ena_snd_machine <= '1'; end if;
+ if slot = "101" then cpu1_ena <= '1'; end if;
+ if slot = "000" then cpu2_ena <= '1'; end if;
+ if slot = "001" then cpu3_ena <= '1'; end if;
+
+ if slot = "000" then
+ cs5Xxx_ena <= '1';
+ if cs54xx_ena_div = "1100" then
+ cs54xx_ena_div <= "0000";
+ cs54xx_ena <= '1';
+ end if;
+ end if;
+ end if;
end process;
+ce <= '1' when slot = "011" or slot = "000" else '0';
+video_ce <= ce;
+
--- SPRITES MACHINE ---
-----------------------
-
+
-- 0x8B80 - 0x8BFF : 64 sprites tile num, tile color
-- 0x9380 - 0x93FF : 64 sprites pos v, pos h lsb
-- 0x9B80 - 0x9BFF : 64 sprites 2xH, 2xV, flip H, flip V
sprite_addr <= X"03"&'1' & sprite_num & sprite_state(0);
-sprite_line <= wram2_do + vcnt(7 downto 0);
+sprite_line <= wram2_do + vcnt(7 downto 0) when flip_screen = '0'
+ else wram2_do - vcnt(7 downto 0) - 3;
process (clock_18, slot)
begin
- if rising_edge(clock_18) then
+ if rising_edge(clock_18) then
if hcnt = std_logic_vector(to_unsigned(191,9)) then
sprite_num <= "000000";
sprite_state <= "000";
spram_rd_addr<= "111101111";
end if;
-
+
if slot = "100" and sprite_state = "000" then
sptile_num <= wram1_do;
spdata <= wram3_do(3 downto 0);
spvcnt <= sprite_line(4 downto 0);
- if sprite_line(7 downto 4) = "1111" or -- size V x 1
+ if sprite_line(7 downto 4) = "1111" or -- size V x 1
(sprite_line(7 downto 5) = "111" and wram3_do(3)='1' )then -- size V x 2 -- fixed Dar : 04/11/2017
--- (sprite_line(7 downto 5) = "111" and wram3_do(2)='1' )then -- size V x 2
sprite_state <= "001";
else
if sprite_num = "111111" then
sprite_state <= "111";
else
- sprite_num <= sprite_num + "000001";
+ sprite_num <= sprite_num + "000001";
sprite_state <= "000";
- end if;
- end if;
+ end if;
+ end if;
end if;
-
+
if slot = "100" and sprite_state = "001" then
sptile_color <= wram1_do;
- spram_wr_addr <= wram3_do(0) & wram2_do;
+ if flip_screen = '0' then
+ spram_wr_addr <= wram3_do(0) & wram2_do; -- pos h
+ else
+ if spdata(2) = '0' then
+ spram_wr_addr <= 349 - (wram3_do(0) & wram2_do); -- pos h inverted for size H x 1
+ else
+ spram_wr_addr <= 333 - (wram3_do(0) & wram2_do); -- pos h inverted for size H x 2
+ end if;
+ end if;
sphcnt <= "00000";
sprite_state <= "010";
end if;
@@ -415,24 +484,22 @@ begin
if sprite_state = "010" then
sphcnt <= sphcnt + "00001";
sprite_state <= "011";
- end if;
+ end if;
if sprite_state = "011" then
sphcnt <= sphcnt + "00001";
spram_wr_addr <= spram_wr_addr + "000000001";
- if (sphcnt = "01111" and spdata(2) = '0' ) or -- size H x 1 -- fixed Dar : 04/11/2017
- (sphcnt = "11111" and spdata(2) = '1' ) then -- size H x 2 -- fixed Dar : 04/11/2017
--- if (sphcnt = "01111" and spdata(3) = '0' ) or -- size H x 1
--- (sphcnt = "11111" and spdata(3) = '1' ) then -- size H x 2
+ if (sphcnt = "01111" and spdata(2) = '0' ) or -- size H x 1 -- fixed Dar : 04/11/2017
+ (sphcnt = "11111" and spdata(2) = '1' ) then -- size H x 2 -- fixed Dar : 04/11/2017
if sprite_num = "111111" then
sprite_state <= "111";
else
- sprite_num <= sprite_num + "000001";
+ sprite_num <= sprite_num + "000001";
sprite_state <= "000";
- end if;
+ end if;
end if;
- end if;
-
+ end if;
+
if slot = "000" or slot = "011" then
if vcnt(0) = '1' then
spbits_rd <= spram2_do;
@@ -440,12 +507,12 @@ begin
spbits_rd <= spram1_do;
end if;
end if;
-
+
spram_clr <= '0';
if slot = "001" or slot = "100" then
spram_clr <= '1';
end if;
-
+
if slot = "010" or slot = "101" then
spram_rd_addr <= spram_rd_addr + "000000001";
end if;
@@ -460,42 +527,46 @@ spram2_addr <= spram_wr_addr when vcnt(0) = '0' else spram_rd_addr;
spram1_di <= spbits_wr when vcnt(0) = '1' else "1111";
spram2_di <= spbits_wr when vcnt(0) = '0' else "1111";
-
-spram1_we <= spram_we when vcnt(0) = '1' else spram_clr;
-spram2_we <= spram_we when vcnt(0) = '0' else spram_clr;
-spflip_H <= spdata(0) xor flip_h; spflip_2H <= spflip_H & spflip_H;
+spram1_we <= spram_we when vcnt(0) = '1' else spram_clr;
+spram2_we <= spram_we when vcnt(0) = '0' else spram_clr;
+
+flip_hs <= flip_h xor flip_screen;
+spflip_H <= spdata(0) xor flip_hs; spflip_2H <= spflip_H & spflip_H;
spflip_V <= spdata(1); spflip_2V <= spflip_V & spflip_V;
with spdata(3 downto 2) select
-spflips <= "0000000" & spflip_V & spflip_2H & spflip_V & spflip_2V when "00",
- "000000" & spflip_H & spflip_V & spflip_2H & spflip_V & spflip_2V when "01",
- "00000" & spflip_V & '0' & spflip_V & spflip_2H & spflip_V & spflip_2V when "10",
- "00000" & spflip_V & spflip_H & spflip_V & spflip_2H & spflip_V & spflip_2V when others;
+ spflips <= "0000000" & spflip_V & spflip_2H & spflip_V & spflip_2V when "00",
+ "000000" & spflip_H & spflip_V & spflip_2H & spflip_V & spflip_2V when "01",
+ "00000" & spflip_V & '0' & spflip_V & spflip_2H & spflip_V & spflip_2V when "10",
+ "00000" & spflip_V & spflip_H & spflip_V & spflip_2H & spflip_V & spflip_2V when others;
+
+-- correct sprite h counter in not flipped screen mode
+sphcnt_s <= sphcnt + not(flip_screen);
with spdata(3 downto 2) select
-spgraphx_addr <= (sptile_num(6 downto 0) & spvcnt(3) & sphcnt(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "00",
- (sptile_num(6 downto 1) & sphcnt(4) & spvcnt(3) & sphcnt(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "01",
- (sptile_num(6 downto 2) & spvcnt(4) & sptile_num(0) & spvcnt(3) & sphcnt(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "10",
- (sptile_num(6 downto 2) & spvcnt(4) & sphcnt(4) & spvcnt(3) & sphcnt(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when others;
+ spgraphx_addr <= (sptile_num(6 downto 0) & spvcnt(3) & sphcnt_s(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "00",
+ (sptile_num(6 downto 1) & sphcnt_s(4) & spvcnt(3) & sphcnt_s(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "01",
+ (sptile_num(6 downto 2) & spvcnt(4) & sptile_num(0) & spvcnt(3) & sphcnt_s(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when "10",
+ (sptile_num(6 downto 2) & spvcnt(4) & sphcnt_s(4) & spvcnt(3) & sphcnt_s(3 downto 2) & spvcnt(2 downto 0) ) xor spflips when others;
sppalette_addr <= sptile_color(5 downto 0) &
- spgraphx_do(to_integer(unsigned('1' & ((not sphcnt(1 downto 0)) xor spflip_2H )))) &
- spgraphx_do(to_integer(unsigned('0' & ((not sphcnt(1 downto 0)) xor spflip_2H ))));
+ spgraphx_do(to_integer(unsigned('1' & ((not sphcnt_s(1 downto 0)) xor spflip_2H )))) &
+ spgraphx_do(to_integer(unsigned('0' & ((not sphcnt_s(1 downto 0)) xor spflip_2H ))));
spbits_wr <= sppalette_do(3 downto 0);
--- BACKGROUND TILES MACHINE ---
-----------------------_--------
-
+
-- 0x8000-0x83FF : tile num
-- 0x8400-0x87FF : tile color
-bgtile_addr <= "10000" & hcnt(1) & vcnt(7 downto 3) & hcnt(7 downto 3) when (hcnt(8)='1' and flip_h='0') else
- "10000" & hcnt(1) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(3) & vcnt(7 downto 3) when (hcnt(8)='0' and flip_h='0') else
- "10000" & hcnt(1) & not( vcnt(7 downto 3) & hcnt(7 downto 3)) when (hcnt(8)='1' and flip_h='1') else
- "10000" & hcnt(1) & not( hcnt(4) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(3) & vcnt(7 downto 3));
-
+bgtile_addr <= "10000" & hcnt(1) & (vcnt(7 downto 3)) & hcnt(7 downto 3) when (hcnt(8)='1' and flip_hs='0') else
+ "10000" & hcnt(1) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(3) & vcnt(7 downto 3) when (hcnt(8)='0' and flip_hs='0') else
+ "10000" & hcnt(1) & not(vcnt(7 downto 3) & hcnt(7 downto 3)) when (hcnt(8)='1' and flip_hs='1') else
+ "10000" & hcnt(1) & not(hcnt(4) & hcnt(4) & hcnt(4) & hcnt(4) & hcnt(3) & vcnt(7 downto 3));
+
-- Attention : slot et hcnt ne sont pas entierement synchronisés
-- slot |0 |1 | 2 |3 |4 |5 | ...
@@ -503,7 +574,7 @@ bgtile_addr <= "10000" & hcnt(1) & vcnt(7 downto 3) & hcnt(7 downto 3)
process (clock_18, slot)
begin
- if rising_edge(clock_18) then
+ if rising_edge(clock_18) then
if slot = "011" and hcnt(2 downto 1) = "00" then
bgtile_num <= bgram_do;
end if;
@@ -517,16 +588,16 @@ begin
end if;
end process;
-bggraphx_addr <= '1' & bgtile_num_r(6 downto 0) & not hcnt(2) & vcnt(2 downto 0) when flip_h='0' else
- '1' & bgtile_num_r(6 downto 0) & hcnt(2) & not vcnt(2 downto 0);
+bggraphx_addr <= bg_bank & '1' & bgtile_num_r(6 downto 0) & not hcnt(2) & vcnt(2 downto 0) when flip_hs='0' else
+ bg_bank & '1' & bgtile_num_r(6 downto 0) & hcnt(2) & not vcnt(2 downto 0);
bgpalette_addr <= bgtile_color_r(5 downto 0) &
- bggraphx_do(to_integer(unsigned('1' & (hcnt(1 downto 0)) xor (flip_h & flip_h)))) &
- bggraphx_do(to_integer(unsigned('0' & (hcnt(1 downto 0)) xor (flip_h & flip_h))));
+ bggraphx_do(to_integer(unsigned('1' & (hcnt(1 downto 0)) xor (flip_hs & flip_hs)))) &
+ bggraphx_do(to_integer(unsigned('0' & (hcnt(1 downto 0)) xor (flip_hs & flip_hs))));
bgbits <= bgpalette_do(3 downto 0);
---- STARS MACHINE ---
+--- STARS MACHINE ---
---------------------
stars_data : entity work.stars
@@ -592,25 +663,27 @@ port map(
process (clock_18)
subtype speed is integer range -3 to 3;
- type speed_array is array(0 to 7) of speed;
- variable speeds : speed_array := ( -1, -2, -3, 0, 3, 2, 1, 0 );
+ type speed_array is array(0 to 7) of speed;
+ constant speeds : speed_array := ( -1, -2, -3, 0, 3, 2, 1, 0 );
begin
- if rising_edge(clock_18) then
+ if rising_edge(clock_18) then
if ena_vidgen = '1' then
if hcnt = std_logic_vector(to_unsigned(256+8,9)) then
- stars_hcnt <= "000000000";
+ stars_hcnt <= flip_screen & "00000000";
stars_vcnt <= stars_vcnt + "000000001";
if vcnt = std_logic_vector(to_unsigned(128+6,9)) then
stars_vcnt <= "000000000";
- stars_offset <= stars_offset +
- std_logic_vector(to_signed(speeds(to_integer(unsigned(cs05XX_ctrl(2 downto 0)))),8));
+ if pause = '0' then
+ stars_offset <= stars_offset +
+ std_logic_vector(to_signed(speeds(to_integer(unsigned(cs05XX_ctrl(2 downto 0)))),8));
+ end if;
end if;
else
- stars_hcnt <= stars_hcnt + "000000001";
- end if;
- end if;
-
+ stars_hcnt <= stars_hcnt + "000000001" - ("" & flip_screen & "0");
+ end if;
+ end if;
+
star_color <= "000000";
if cs05XX_ctrl(5) = '1' then
if cs05XX_ctrl(4 downto 3) = "00" then star_color <= star_color_set0 or star_color_set2; end if;
@@ -620,8 +693,8 @@ begin
end if;
end if;
-end process;
-
+end process;
+
--- VIDEO MUX ---
-----------------
@@ -629,16 +702,18 @@ rgb_palette_addr <= ('0' & spbits_rd) when bgbits = "1111" else ('1' & bgbits);
process (clock_18, rgb_palette_addr)
begin
- if rising_edge(clock_18)then
- if rgb_palette_addr(3 downto 0) = "1111" then
+ if rising_edge(clock_18) then
+ if ce = '1' then
+ if rgb_palette_addr(3 downto 0) = "1111" then
video_r <= star_color(1 downto 0) & "0";
video_g <= star_color(3 downto 2) & "0";
- video_b <= star_color(5 downto 4);
+ video_b <= star_color(5 downto 4);
else
video_r <= rgb_palette_do(2 downto 0);
video_g <= rgb_palette_do(5 downto 3);
- video_b <= rgb_palette_do(7 downto 6);
+ video_b <= rgb_palette_do(7 downto 6);
end if;
+ end if;
end if;
end process;
@@ -648,14 +723,14 @@ end process;
sound_machine : entity work.sound_machine
port map(
-clock_18 => clock_18,
-ena => ena_snd_machine,
-hcnt => hcnt(5 downto 0),
-cpu_addr => mux_addr(3 downto 0),
-cpu_do => mux_cpu_do(3 downto 0),
-ram_0_we => snd_ram_0_we,
-ram_1_we => snd_ram_1_we,
-audio => snd_audio
+ clock_18 => clock_18,
+ ena => ena_snd_machine and not pause,
+ hcnt => hcnt(5 downto 0),
+ cpu_addr => mux_addr(3 downto 0),
+ cpu_do => mux_cpu_do(3 downto 0),
+ ram_0_we => snd_ram_0_we,
+ ram_1_we => snd_ram_1_we,
+ audio => snd_audio
);
--- CPUS -------------
@@ -671,18 +746,19 @@ mux_addr <= cpu1_addr when "000",
with slot select
mux_cpu_do <= cpu1_do when "000",
- cpu2_do when "001",
- cpu3_do when "010",
- X"00" when others;
+ cpu2_do when "001",
+ cpu3_do when "010",
+ X"00" when others;
mux_cpu_we <= (not cpu1_wr_n and cpu1_ena)or
- (not cpu2_wr_n and cpu2_ena)or
- (not cpu3_wr_n and cpu3_ena);
+ (not cpu2_wr_n and cpu2_ena)or
+ (not cpu3_wr_n and cpu3_ena);
mux_cpu_mreq <= (not cpu1_mreq_n and cpu1_ena) or
- (not cpu2_mreq_n and cpu2_ena) or
- (not cpu3_mreq_n and cpu3_ena);
-
+ (not cpu2_mreq_n and cpu2_ena) or
+ (not cpu3_mreq_n and cpu3_ena);
+
+bgrom_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 14) = "00" else '0';
latch_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "01101" else '0';
io_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "01110" else '0';
bgram_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "10000" else '0';
@@ -694,8 +770,7 @@ port_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "10100" else
snd_ram_0_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "01101" and mux_addr(5 downto 4) = "00" else '0';
snd_ram_1_we <= '1' when mux_cpu_we = '1' and mux_addr(15 downto 11) = "01101" and mux_addr(5 downto 4) = "01" else '0';
-process (reset, clock_18n, io_we)
- variable cs06XX_nmi_cnt : natural range 0 to 1000;
+process (reset, clock_18n, io_we)
begin
if reset='1' then
irq1_clr_n <= '0';
@@ -704,277 +779,205 @@ begin
reset_cpu_n <= '0';
cpu1_irq_n <= '1';
cpu2_irq_n <= '1';
- cs51XX_coin_mode_cnt <= "000";
- cs51XX_data_cnt <= "00";
- cs51XX_switch_mode <= '0';
- cs51XX_credit_mode <= '1';
- cs05XX_ctrl <= "000000";
flip_h <= '0';
+ cs51xx_irq_n <= '1';
+ cs51xx_k_port_in <= X"0";
+ cs05XX_ctrl <= "000000";
cs54xx_irq_n <= '1';
cs54xx_irq_cnt <= X"0";
-
- else
- if rising_edge(clock_18n) then
- if latch_we ='1' and mux_addr(5 downto 4) = "10" then
+
+ else
+ if rising_edge(clock_18n) then
+ if latch_we ='1' and mux_addr(5 downto 4) = "10" then
if mux_addr(2 downto 0) = "000" then irq1_clr_n <= mux_cpu_do(0); end if;
if mux_addr(2 downto 0) = "001" then irq2_clr_n <= mux_cpu_do(0); end if;
if mux_addr(2 downto 0) = "010" then nmion_n <= mux_cpu_do(0); end if;
if mux_addr(2 downto 0) = "011" then reset_cpu_n <= mux_cpu_do(0); end if;
end if;
-
- if port_we ='1' then
+
+ if bgrom_we ='1' and mux_addr(2 downto 0) = "000" then
+ bg_bank <= mux_cpu_do(0);
+ end if;
+
+ if port_we ='1' then
if mux_addr(2 downto 0) < "110" then cs05XX_ctrl(to_integer(unsigned(mux_addr(2 downto 0)))) <= mux_cpu_do(0); end if;
if mux_addr(2 downto 0) = "111" then flip_h <= mux_cpu_do(0); end if;
end if;
- if irq1_clr_n = '0' then
- cpu1_irq_n <= '1';
+ if irq1_clr_n = '0' then
+ cpu1_irq_n <= '1';
elsif vcnt = std_logic_vector(to_unsigned(240,9)) then cpu1_irq_n <= '0';
end if;
- if irq2_clr_n = '0' then
- cpu2_irq_n <= '1';
+ if irq2_clr_n = '0' then
+ cpu2_irq_n <= '1';
elsif vcnt = std_logic_vector(to_unsigned(240,9)) then cpu2_irq_n <= '0';
end if;
-
- if cs54xx_irq_cnt = X"0" then
- cs54xx_irq_n <= '1';
- else
- if cs54xx_ena = '1' then
- cs54xx_irq_cnt <= cs54xx_irq_cnt - '1';
- end if;
- end if;
-
+
-- write to cs06XX
- if io_we = '1' then
+ if io_we = '1' then
-- write to data register (0x7000)
- if mux_addr(8) = '0' then
+ if mux_addr(8) = '0' then
-- write data to device#4 (cs54XX)
if cs06XX_control(3 downto 0) = "1000" then
-- write data for k and r#0 port and launch irq to advice cs50xx
cs54xx_k_port_in <= mux_cpu_do(7 downto 4);
cs54xx_r0_port_in <= mux_cpu_do(3 downto 0);
cs54xx_irq_n <= '0';
- cs54xx_irq_cnt <= X"7";
- end if;
+ -- cs54xx_irq_cnt <= X"7";
+ end if;
-- write data to device#1 (cs51XX)
if cs06XX_control(3 downto 0) = "0001" then
- -- when not in coin mode
- if cs51XX_coin_mode_cnt = "000" then
- -- if data = 1 enter coin mode for next 4 write operations
- if mux_cpu_do(2 downto 0) = "001" then
- cs51XX_coin_mode_cnt <= "100";
- end if;
- -- if data = 2 enter credit mode
- if mux_cpu_do(2 downto 0) = "010" then
- cs51XX_switch_mode <= '0';
- cs51XX_credit_mode <= '1';
- cs51XX_data_cnt <= "00";
- end if;
- -- if data = 5 enter switch mode
- if mux_cpu_do(2 downto 0) = "101" then
- cs51XX_switch_mode <= '1';
- cs51XX_credit_mode <= '0';
- cs51XX_data_cnt <= "00";
- end if;
- -- when in coin mode
- else
- -- written coin/credit data are ignored atm
- -- only count down to exit coin_mode (request 4 write operations)
- cs51XX_coin_mode_cnt <= cs51XX_coin_mode_cnt - "001";
- end if;
+ cs51xx_irq_n <= '0';
+ cs51xx_k_port_in <= mux_cpu_do(3 downto 0);
end if;
end if;
-
- -- write to control register (0x7100)
+
+ -- write to control register (0x7100)
+ -- data(3..0) select custom chip 50xx/51xx/54xx
+ -- data (4) read/write mode for custom chip (1 = read mode)
if mux_addr(8) = '1' then
cs06XX_control <= mux_cpu_do;
- -- start/stop nmi timer
- if mux_cpu_do(3 downto 0) = "0000" then
- cs06XX_nmi_cnt := 0;
+ -- start/stop nmi timer (stop if no chip selected)
+ if mux_cpu_do(7 downto 5) = "000" then
+ cs06XX_nmi_cnt <= (others => '0');
cpu1_nmi_n <= '1';
+ cs51xx_irq_n <= '1';
+ cs54xx_irq_n <= '1';
else
- cs06XX_nmi_cnt := 1;
+ cs06XX_nmi_cnt <= (others => '0');
+ cpu1_nmi_n <= '1';
+ cs06XX_nmi_stretch <= mux_cpu_do(4);
+ cs06XX_nmi_state_next <= '1';
end if;
end if;
- end if;
-
+ end if;
+
-- generate periodic nmi when timer is on
- if cs06XX_nmi_cnt >= 1 then
+ if cs06XX_control(7 downto 5) /= "000" then
if cpu1_ena = '1' then -- to get 333ns tick
- -- 600 * 333ns = 200µs
- if cs06XX_nmi_cnt < 600 then
- cs06XX_nmi_cnt := cs06XX_nmi_cnt + 1;
- cpu1_nmi_n <= '1';
+
+ if cs06XX_nmi_cnt = 0 then
+ cs06XX_nmi_cnt <= cs06XX_control(7 downto 5) & "000000"; --64 * cs06XX_control(7 downto 5);
+
+ if cs06XX_nmi_state_next = '1' then
+ cs5Xxx_rw <= cs06XX_control(4);
+ end if;
+
+ if cs06XX_nmi_state_next = '1' and cs06XX_nmi_stretch = '0' then
+ cpu1_nmi_n <= '0';
+ else
+ cpu1_nmi_n <= '1';
+ end if;
+
+ if cs06XX_nmi_state_next = '0' or cs06XX_nmi_stretch = '1' then
+ cs51xx_irq_n <= not (cs06XX_control(0) and cs06XX_nmi_state_next);
+ -- cs50xx_irq_n <= not (cs06XX_control(2) and cs06XX_nmi_state_next);
+ cs54xx_irq_n <= not (cs06XX_control(3) and cs06XX_nmi_state_next);
+ end if;
+
+ cs06XX_nmi_state_next <= not cs06xx_nmi_state_next;
+ cs06XX_nmi_stretch <= '0';
else
- cs06XX_nmi_cnt := 1;
- cpu1_nmi_n <= '0';
- end if;
+ cs06XX_nmi_cnt <= cs06XX_nmi_cnt - 1;
+ end if;
end if;
end if;
-
- -- manage cs06XX data read
+
+ -- manage cs06XX data read (0x7000)
change_next <= '0';
if mux_cpu_mreq = '1' and mux_cpu_we ='0' and mux_addr(15 downto 11) = "01110" then
if mux_addr(8) = '0' then
change_next <= '1';
end if;
end if ;
- -- cycle data_cnt at each read and clear firex_mem in switch mode
+ -- cycle data_cnt at each read
if change_next = '1' then
- if cs06XX_control(3 downto 0) = "0001" then
-
- if cs51XX_data_cnt = "10" then cs51XX_data_cnt <= "00";
- else cs51XX_data_cnt <= cs51XX_data_cnt + "01"; end if;
-
- if cs51XX_data_cnt = "10" then
- fire1_mem <= '0';
- fire2_mem <= '0';
- end if;
-
- end if;
- end if;
- -- manage fire button rising edge detection
- fire1_r <= fire1;
- fire2_r <= fire2;
- if fire1_r ='0' and fire1 ='1' then fire1_mem <= '1'; end if;
- if fire2_r ='0' and fire2 ='1' then fire2_mem <= '1'; end if;
-
- -- manage credit count (bcd)
- -- increase at each coin up to 99
- coin_r <= coin;
- start1_r <= start1;
- start2_r <= start2;
- if coin = '1' and coin_r = '0' then
- if credit_bcd_0 = "1001" then
- if credit_bcd_1 /= "1001" then
- credit_bcd_1 <= credit_bcd_1 + "0001";
- credit_bcd_0 <= "0000";
- end if;
- else
- credit_bcd_0 <= credit_bcd_0 + "0001";
- end if;
- end if;
-
- -- decrease only when in credit mode
- if cs51XX_credit_mode = '1' then
- if (start1 = '1' and start1_r = '0') then
- cs51XX_credit_mode <= '0';
- if credit_bcd_0 = "0000" then
- if credit_bcd_1 /= "0000" then
- credit_bcd_1 <= credit_bcd_1 - "0001";
- credit_bcd_0 <= "1001";
- end if;
- else
- credit_bcd_0 <= credit_bcd_0 - "0001";
- end if;
- end if;
-
- if (start2 = '1' and start2_r = '0') then
- if credit_bcd_0 = "0000" or credit_bcd_0 = "0001" then
- if credit_bcd_1 /= "0000" then
- cs51XX_credit_mode <= '0';
- credit_bcd_1 <= credit_bcd_1 - "0001";
- if credit_bcd_0 = "0000" then
- credit_bcd_0 <= "1000";
- else
- credit_bcd_0 <= "1001";
- end if;
- end if;
- else
- cs51XX_credit_mode <= '0';
- credit_bcd_0 <= credit_bcd_0 - "0010";
- end if;
+ if cs06XX_control(4 downto 0) = "10001" then
+ cs51xx_irq_n <= '0';
end if;
end if;
-
+
end if;
end if;
end process;
-with cs51XX_data_cnt select
-cs51XX_switch_mode_do <= not (left2 & '0' & right2 & '0' & left1 & '0' & right1 & '0' ) when "00",
- not (b_test & b_svce & '0' & coin & start2 & start1 & fire2_mem & fire1_mem) when "01",
- X"00" when others;
-
-with cs51XX_data_cnt select
-cs51XX_non_switch_mode_do <= credit_bcd_1 & credit_bcd_0 when "00", -- credits (cpu spy this)
- not ("110" & fire1_mem & left1 & '0' & right1 & '0' ) when "01",
- not ("110" & fire2_mem & left2 & '0' & right2 & '0' ) when "10",
- X"00" when "11"; -- N.U.
-
-cs51XX_do <= cs51XX_switch_mode_do when cs51XX_switch_mode = '1' else cs51XX_non_switch_mode_do;
+cs51XX_do <= cs51xx_oh_port_out & cs51xx_ol_port_out;
cs54XX_do <= X"FF"; -- no data from CS54XX
with cs06XX_control(3 downto 0) select
cs06XX_di <= cs51XX_do when "0001",
- cs54XX_do when "1000",
- X"00" when others;
+ cs54XX_do when "1000",
+ X"00" when others;
cs06XX_do <= cs06XX_di when mux_addr(8)= '0' else cs06XX_control;
-process (clock_18, nmion_n, ena_vidgen)
+process (clock_18, nmion_n)
begin
if nmion_n = '1' then
- elsif rising_edge(clock_18) and ena_vidgen = '1' then
+ elsif rising_edge(clock_18) then
+ if ena_vidgen = '1' then
if hcnt = "100000000" then
if vcnt = "001000000" or vcnt = "011000000" then cpu3_nmi_n <= '0'; end if;
if vcnt = "001000001" or vcnt = "011000001" then cpu3_nmi_n <= '1'; end if;
end if;
+ end if;
end if;
end process;
with cpu1_addr(15 downto 11) select
-cpu1_di <= cpu1_rom_do when "00000",
- cpu1_rom_do when "00001",
- cpu1_rom_do when "00010",
- cpu1_rom_do when "00011",
- cpu1_rom_do when "00100",
- cpu1_rom_do when "00101",
- cpu1_rom_do when "00110",
- cpu1_rom_do when "00111",
- "000000" & dip_switch_do when "01101",
- cs06XX_do when "01110",
- bgram_do when "10000",
- wram1_do when "10001",
- wram2_do when "10010",
- wram3_do when "10011",
- X"00" when others;
+cpu1_di <= cpu1_rom_do when "00000",
+ cpu1_rom_do when "00001",
+ cpu1_rom_do when "00010",
+ cpu1_rom_do when "00011",
+ cpu1_rom_do when "00100",
+ cpu1_rom_do when "00101",
+ cpu1_rom_do when "00110",
+ cpu1_rom_do when "00111",
+ "000000" & dip_switch_do when "01101",
+ cs06XX_do when "01110",
+ bgram_do when "10000",
+ wram1_do when "10001",
+ wram2_do when "10010",
+ wram3_do when "10011",
+ X"00" when others;
with cpu2_addr(15 downto 11) select
-cpu2_di <= cpu2_rom_do when "00000",
- cpu2_rom_do when "00001",
- "000000" & dip_switch_do when "01101",
- cs06XX_do when "01110",
- bgram_do when "10000",
- wram1_do when "10001",
- wram2_do when "10010",
- wram3_do when "10011",
- X"00" when others;
+cpu2_di <= cpu2_rom_do when "00000",
+ cpu2_rom_do when "00001",
+ "000000" & dip_switch_do when "01101",
+ cs06XX_do when "01110",
+ bgram_do when "10000",
+ wram1_do when "10001",
+ wram2_do when "10010",
+ wram3_do when "10011",
+ X"00" when others;
with cpu3_addr(15 downto 11) select
-cpu3_di <= cpu3_rom_do when "00000",
- cpu3_rom_do when "00001",
- "000000" & dip_switch_do when "01101",
- cs06XX_do when "01110",
- bgram_do when "10000",
- wram1_do when "10001",
- wram2_do when "10010",
- wram3_do when "10011",
- X"00" when others;
+cpu3_di <= cpu3_rom_do when "00000",
+ cpu3_rom_do when "00001",
+ "000000" & dip_switch_do when "01101",
+ cs06XX_do when "01110",
+ bgram_do when "10000",
+ wram1_do when "10001",
+ wram2_do when "10010",
+ wram3_do when "10011",
+ X"00" when others;
-- video address/sync generator
gen_video : entity work.gen_video
port map(
-clk => clock_18,
-enable => ena_vidgen,
-hcnt => hcnt,
-vcnt => vcnt,
-hsync => video_hs,
-vsync => video_vs,
-csync => video_csync,
-hblank => video_hb,
-vblank => video_vb
+ clk => clock_18,
+ enable => ena_vidgen,
+ hcnt => hcnt,
+ vcnt => vcnt,
+ hsync => video_hs,
+ vsync => video_vs,
+ csync => video_csync,
+ hblank => blank_h,
+ vblank => vblank,
+ h_offset => h_offset,
+ v_offset => v_offset
);
-- microprocessor Z80 - 1
@@ -984,11 +987,11 @@ port map(
RESET_n => reset_n,
CLK_n => clock_18,
CLKEN => cpu1_ena,
- WAIT_n => '1',
+ WAIT_n => not pause,
INT_n => cpu1_irq_n,
NMI_n => cpu1_nmi_n,
BUSRQ_n => '1',
- M1_n => cpu1_m1_n,
+ --M1_n => cpu1_m1_n,
MREQ_n => cpu1_mreq_n,
IORQ_n => open,
RD_n => open,
@@ -1009,11 +1012,11 @@ port map(
RESET_n => reset_cpu_n,
CLK_n => clock_18,
CLKEN => cpu2_ena,
- WAIT_n => '1',
+ WAIT_n => not pause,
INT_n => cpu2_irq_n,
NMI_n => '1', --cpu_int_n,
BUSRQ_n => '1',
- M1_n => cpu2_m1_n,
+ --M1_n => cpu2_m1_n,
MREQ_n => cpu2_mreq_n,
IORQ_n => open,
RD_n => open,
@@ -1034,11 +1037,11 @@ port map(
RESET_n => reset_cpu_n,
CLK_n => clock_18,
CLKEN => cpu3_ena,
- WAIT_n => '1',
+ WAIT_n => not pause,
INT_n => '1',
NMI_n => cpu3_nmi_n,
BUSRQ_n => '1',
- M1_n => cpu3_m1_n,
+ --M1_n => cpu3_m1_n,
MREQ_n => cpu3_mreq_n,
IORQ_n => open,
RD_n => open,
@@ -1051,6 +1054,56 @@ port map(
DO => cpu3_do
);
+-- mb88 - cs51xx (42 pins IC, 1024 bytes rom)
+mb88_51xx : entity work.mb88
+port map(
+ reset_n => reset_cpu_n, --reset_n,
+ clock => clock_18,
+ ena => cs5Xxx_ena,
+
+ -- in upright mode P2 controls are shared with P1 (i.e. both are read from r0 port)
+ -- up/down controls for Gatsbee hack. Strangely enough, in coctail mode they are reversed.
+ r0_port_in => not (left1 & up1 & right1 & down1), -- pin 22,23,24,25
+ r1_port_in => not (left2 & down2 & right2 & up2), -- pin 26,27,28,29
+ r2_port_in => not (start2 & start1 & fire2 & fire1), -- pin 30,31,32,33
+ r3_port_in => not (self_test & service & coin2 & coin1), -- pin 34,35,36,37
+ r0_port_out => open,
+ r1_port_out => open,
+ r2_port_out => open,
+ r3_port_out => open,
+ k_port_in => cs5Xxx_rw & cs51xx_k_port_in(2 downto 0), -- pin 38,39,40,41
+ ol_port_out => cs51xx_ol_port_out, -- pin 13,14,15,16
+ oh_port_out => cs51xx_oh_port_out, -- pin 17,18,19,20
+ p_port_out => open, -- pin 9,10,11,12
+
+ stby_n => '0',
+ tc_n => not vblank, -- pin 8
+ irq_n => cs51xx_irq_n, -- pin 4
+ sc_in_n => '0', -- pin 7
+ si_n => '0', -- pin 6
+ sc_out_n => open, -- pin 7
+ so_n => open, -- pin 5
+ to_n => open, -- pin 7
+
+ rom_addr => cs51xx_rom_addr,
+ rom_data => cs51xx_rom_do
+);
+
+-- cs51xx program ROM
+cs51xx_prog : work.dpram generic map (10,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and rom51_cs,
+ address_a => dn_addr(9 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => cs51xx_rom_addr(9 downto 0),
+ q_b => cs51xx_rom_do
+);
+
+
-- mb88 - cs54xx (28 pins IC, 1024 bytes rom)
mb88_54xx : entity work.mb88
port map(
@@ -1063,12 +1116,12 @@ port map(
r2_port_in => X"0",
r3_port_in => X"0",
r0_port_out => open,
- r1_port_out => cs54xx_audio_3, -- pin 17,18,19,20 (resistor divider )
+ r1_port_out => cs54xx_audio_3, -- pin 17,18,19,20
r2_port_out => open,
r3_port_out => open,
k_port_in => cs54xx_k_port_in, -- pin 24,25,26,27
- ol_port_out => cs54xx_audio_1, -- pin 4, 5, 6, 7 (resistor divider 150K/22K)
- oh_port_out => cs54xx_audio_2, -- pin 8, 9,10,11 (resistor divider 47K/10K)
+ ol_port_out => cs54xx_audio_1, -- pin 4, 5, 6, 7
+ oh_port_out => cs54xx_audio_2, -- pin 8, 9,10,11
p_port_out => open,
stby_n => '0',
@@ -1076,51 +1129,141 @@ port map(
irq_n => cs54xx_irq_n,
sc_in_n => '0',
si_n => '0',
- sc_out_n => open,
- so_n => open,
- to_n => open,
-
+ sc_out_n => open, -- pin 7
+ so_n => open, -- pin 5
+ to_n => open, -- pin 7
+
+
rom_addr => cs54xx_rom_addr,
rom_data => cs54xx_rom_do
);
-- cs54xx program ROM
-cs54xx_prog : entity work.cs54xx_prog
+cs54xx_prog : work.dpram generic map (10,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and rom54_cs,
+ address_a => dn_addr(9 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => cs54xx_rom_addr(9 downto 0),
+ q_b => cs54xx_rom_do
+);
+
+-- Audio low pass filters. Sample rate of 46 875 Mhz has enough resolution for 0.001 MF capacitance
+
+-- cs54xx audio1 low pass filter
+cs54xx_lpf1 : entity work.lpf
port map(
- clk => clock_18n,
- addr => cs54xx_rom_addr(9 downto 0),
- data => cs54xx_rom_do
- );
+ clock => clock_18,
+ reset => reset,
+ div => 384, -- 18 MHz/384 = 46875 Hz
+ audio_in => ("00"&cs54xx_audio_1&"0000"),
+ gain_in => 1,
+ r1 => 150000,
+ r2 => 22000,
+ dt_over_c3 => 2133, -- 1/46875Hz/0.01e-6F
+ dt_over_c4 => 2133, -- 1/46875Hz/0.01e-6F
+ r5 => 470000,
+ audio_out => cs54xx_audio_1_lpf
+);
+
+-- cs54xx audio2 low pass filter
+cs54xx_lpf2 : entity work.lpf
+port map(
+ clock => clock_18,
+ reset => reset,
+ div => 384,
+ audio_in => ("00"&cs54xx_audio_2&"0000"),
+ gain_in => 1,
+ r1 => 47000,
+ r2 => 10000,
+ dt_over_c3 => 2133, -- 1/46875Hz/0.01e-6F
+ dt_over_c4 => 2133, -- 1/46875Hz/0.01e-6F
+ r5 => 150000,
+ audio_out => cs54xx_audio_2_lpf
+);
+
+-- cs54xx audio3 low pass filter
+cs54xx_lpf3 : entity work.lpf
+port map(
+ clock => clock_18,
+ reset => reset,
+ div => 384,
+ audio_in => ("00"&cs54xx_audio_3&"0000"),
+ gain_in => 1,
+ r1 => 100000,
+ r2 => 22000,
+ dt_over_c3 => 21333, -- 1/46875Hz/0.001e-6F
+ dt_over_c4 => 21333, -- 1/46875Hz/0.001e-6F
+ r5 => 220000,
+ audio_out => cs54xx_audio_3_lpf
+);
+
+rom1_cs <= '1' when dn_addr(15 downto 14) = "00" else '0';
+rom2_cs <= '1' when dn_addr(15 downto 12) = "0100" else '0';
+rom3_cs <= '1' when dn_addr(15 downto 12) = "0101" else '0';
+roms_cs <= '1' when dn_addr(15 downto 13) = "011" else '0';
+romb_cs <= '1' when dn_addr(15 downto 13) = "100" else '0';
+rom51_cs <= '1' when dn_addr(15 downto 10) = "101000" else '0';
+rom54_cs <= '1' when dn_addr(15 downto 10) = "101001" else '0';
-- cpu1 program ROM
-rom_cpu1 : entity work.galaga_cpu1
-port map(
- clk => clock_18n,
- addr => mux_addr(13 downto 0),
- data => cpu1_rom_do
+rom_cpu1 : work.dpram generic map (14,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and rom1_cs,
+ address_a => dn_addr(13 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => mux_addr(13 downto 0),
+ q_b => cpu1_rom_do
);
-- cpu2 program ROM
-rom_cpu2 : entity work.galaga_cpu2
-port map(
- clk => clock_18n,
- addr => mux_addr(11 downto 0),
- data => cpu2_rom_do
+rom_cpu2 : work.dpram generic map (12,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and rom2_cs,
+ address_a => dn_addr(11 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => mux_addr(11 downto 0),
+ q_b => cpu2_rom_do
);
-- cpu3 program ROM
-rom_cpu3 : entity work.galaga_cpu3
-port map(
- clk => clock_18n,
- addr => mux_addr(11 downto 0),
- data => cpu3_rom_do
+rom_cpu3 : work.dpram generic map (12,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and rom3_cs,
+ address_a => dn_addr(11 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => mux_addr(11 downto 0),
+ q_b => cpu3_rom_do
);
+
-- background graphics ROM
-bg_graphics : entity work.bg_graphx
-port map(
- clk => clock_18n,
- addr => bggraphx_addr(11 downto 0),
- data => bggraphx_do
+bg_graphics : work.dpram generic map (13,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and romb_cs,
+ address_a => dn_addr(12 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => bggraphx_addr(12 downto 0),
+ q_b => bggraphx_do
);
-- background palette ROM
@@ -1131,25 +1274,42 @@ port map(
data => bgpalette_do
);
+-- Highscore mux setup
+hs_cs_bgram <= '1' when hs_address(15 downto 11) = "10000" else '0';
+hs_cs_spram <= '1' when hs_address(15 downto 11) = "10001" else '0';
+hs_data_out <= hs_data_out_bgram when hs_cs_bgram = '1' else hs_data_out_spram;
+
-- background char RAM 0x8000-0x87FF
-bgram : entity work.gen_ram
-generic map( dWidth => 8, aWidth => 11)
+bgram : entity work.dpram
+generic map(11,8)
port map(
- clk => clock_18n,
- we => bgram_we,
- addr => mux_addr(10 downto 0),
- d => mux_cpu_do,
- q => bgram_do
+ clock_a => clock_18n,
+ wren_a => bgram_we,
+ address_a => mux_addr(10 downto 0),
+ data_a => mux_cpu_do,
+ q_a => bgram_do,
+
+ clock_b => clock_18,
+ wren_b => hs_write and hs_cs_bgram,
+ address_b => hs_address(10 downto 0),
+ data_b => hs_data_in,
+ q_b => hs_data_out_bgram
);
-- working/sprite register RAM1 0x8800-0x8BFF / 0x8C00-0x8FFF
-wram1 : entity work.gen_ram
-generic map( dWidth => 8, aWidth => 10)
+wram1 : entity work.dpram
+generic map(10,8)
port map(
- clk => clock_18n,
- we => wram1_we,
- addr => mux_addr(9 downto 0),
- d => mux_cpu_do,
- q => wram1_do
+ clock_a => clock_18n,
+ wren_a => wram1_we,
+ address_a => mux_addr(9 downto 0),
+ data_a => mux_cpu_do,
+ q_a => wram1_do,
+
+ clock_b => clock_18,
+ wren_b => hs_write and hs_cs_spram,
+ address_b => hs_address(9 downto 0),
+ data_b => hs_data_in,
+ q_b => hs_data_out_spram
);
-- working/sprite register RAM2 0x9000-0x93FF / 0x9400-0x97FF
wram2 : entity work.gen_ram
@@ -1195,11 +1355,17 @@ port map(
);
-- sprite graphics ROM
-sp_graphics : entity work.sp_graphx
-port map(
- clk => clock_18n,
- addr => spgraphx_addr,
- data => spgraphx_do
+sp_graphics : work.dpram generic map (13,8)
+port map
+(
+ clock_a => clock_18,
+ wren_a => dn_wr and roms_cs,
+ address_a => dn_addr(12 downto 0),
+ data_a => dn_data,
+
+ clock_b => clock_18n,
+ address_b => spgraphx_addr,
+ q_b => spgraphx_do
);
-- sprite palette ROM
@@ -1218,4 +1384,4 @@ port map(
data => rgb_palette_do
);
-end struct;
\ No newline at end of file
+end struct;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga_mist.sv b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga_mist.sv
index 8a1bd536..8367b183 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga_mist.sv
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/galaga_mist.sv
@@ -20,14 +20,28 @@ module galaga_mist
`include "rtl\build_id.v"
localparam CONF_STR = {
- "Galaga;;",
+ "GALAGA;;",
"O2,Rotate Controls,Off,On;",
"O34,Scanlines,Off,25%,50%,75%;",
"O5,Blend,Off,On;",
- "T6,Reset;",
+ "O6,Flip screen,Off,On;",
+ "O7,Self-test mode,Off,On;",
+ "T1,Service trigger,Off,On;",
+ "DIP;",
+ "T0,Reset;",
"V,v1.21.",`BUILD_DATE
};
+wire rotate = status[2];
+wire [1:0] scanlines = status[4:3];
+wire blend = status[5];
+wire flip = status[6];
+wire selftest = status[7];
+wire service = status[1];
+
+wire [7:0] dipa = ~status[15:8];
+wire [7:0] dipb = ~status[23:16];
+
assign LED = 1;
assign AUDIO_R = AUDIO_L;
@@ -40,63 +54,14 @@ pll pll(
wire [31:0] status;
wire [1:0] buttons;
wire [1:0] switches;
-wire [9:0] kbjoy;
wire [7:0] joystick_0;
wire [7:0] joystick_1;
wire scandoublerD;
wire ypbpr;
-wire [10:0] ps2_key;
-wire [9:0] audio;
-wire hs, vs;
-wire blankn = ~(hb | vb);
-wire hb, vb;
-wire [2:0] r,g;
-wire [1:0] b;
-
-galaga galaga(
- .clock_18(clk_18),
- .reset(status[0] | status[6] | buttons[1]),
- .video_r(r),
- .video_g(g),
- .video_b(b),
- .video_hb(hb),
- .video_vb(vb),
- .video_hs(hs),
- .video_vs(vs),
- .audio(audio),
- .coin(btn_coin),
- .start1(btn_one_player),
- .left1(m_left),
- .right1(m_right),
- .fire1(m_fire),
- .start2(btn_two_players),
- .left2(m_left),
- .right2(m_right),
- .fire2(m_fire)
- );
-
-mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
- .clk_sys(clk_18),
- .SPI_SCK(SPI_SCK),
- .SPI_SS3(SPI_SS3),
- .SPI_DI(SPI_DI),
- .R(blankn ? r : 0),
- .G(blankn ? g : 0),
- .B(blankn ? {b[0], b} : 0),
- .HSync(hs),
- .VSync(vs),
- .VGA_R(VGA_R),
- .VGA_G(VGA_G),
- .VGA_B(VGA_B),
- .VGA_VS(VGA_VS),
- .VGA_HS(VGA_HS),
- .ce_divider(1'b1),
- .blend(status[5]),
- .rotate({1'b1,status[2]}),
- .scanlines(scandoublerD ? 2'b00 : status[4:3]),
- .scandoubler_disable(scandoublerD),
- .ypbpr(ypbpr)
- );
+wire no_csync;
+wire key_strobe;
+wire key_pressed;
+wire [7:0] key_code;
user_io #(
.STRLEN(($size(CONF_STR)>>3)))
@@ -110,6 +75,7 @@ user_io(
.buttons (buttons ),
.switches (switches ),
.scandoubler_disable (scandoublerD ),
+ .no_csync (no_csync ),
.ypbpr (ypbpr ),
.key_strobe (key_strobe ),
.key_pressed (key_pressed ),
@@ -119,8 +85,106 @@ user_io(
.status (status )
);
+wire ioctl_downl;
+wire [7:0] ioctl_index;
+wire ioctl_wr;
+wire [24:0] ioctl_addr;
+wire [7:0] ioctl_dout;
+
+data_io data_io(
+ .clk_sys ( clk_18 ),
+ .SPI_SCK ( SPI_SCK ),
+ .SPI_SS2 ( SPI_SS2 ),
+ .SPI_DI ( SPI_DI ),
+ .ioctl_download( ioctl_downl ),
+ .ioctl_index ( ioctl_index ),
+ .ioctl_wr ( ioctl_wr ),
+ .ioctl_addr ( ioctl_addr ),
+ .ioctl_dout ( ioctl_dout )
+);
+
+wire [15:0] audio;
+wire hs, vs;
+wire blankn = ~(hb | vb);
+wire hb, vb;
+wire [2:0] r,g;
+wire [1:0] b;
+reg service_trg;
+reg reset;
+
+always @(posedge clk_18) begin
+ reg serviceD;
+ reg [19:0] service_cnt = 0;
+
+ serviceD <= service;
+ if (~serviceD & service) service_cnt <= 24'hFFFFF;
+ else if (|service_cnt) service_cnt <= service_cnt - 1'd1;
+
+ service_trg <= |service_cnt;
+
+ reset <= status[0] | buttons[1] | ioctl_downl;
+end
+
+galaga galaga(
+ .clock_18(clk_18),
+ .reset(reset),
+ .flip_screen(flip),
+ .video_r(r),
+ .video_g(g),
+ .video_b(b),
+ .blank_h(hb),
+ .blank_v(vb),
+ .video_hs(hs),
+ .video_vs(vs),
+ .audio(audio),
+ .coin1(m_coin1),
+ .start1(m_one_player),
+ .left1(m_left),
+ .right1(m_right),
+ .fire1(m_fireA),
+ .start2(m_two_players),
+ .left2(m_left2),
+ .right2(m_right2),
+ .fire2(m_fire2A),
+
+ .dip_switch_a(dipa),
+ .dip_switch_b(dipb),
+
+ .service(service_trg),
+ .self_test(selftest),
+ .pause(1'b0),
+
+ .dn_addr(ioctl_addr),
+ .dn_data(ioctl_dout),
+ .dn_wr(ioctl_wr)
+ );
+
+mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
+ .clk_sys(clk_18),
+ .SPI_SCK(SPI_SCK),
+ .SPI_SS3(SPI_SS3),
+ .SPI_DI(SPI_DI),
+ .R(blankn ? r : 0),
+ .G(blankn ? g : 0),
+ .B(blankn ? {b, b[1]} : 0),
+ .HSync(hs),
+ .VSync(vs),
+ .VGA_R(VGA_R),
+ .VGA_G(VGA_G),
+ .VGA_B(VGA_B),
+ .VGA_VS(VGA_VS),
+ .VGA_HS(VGA_HS),
+ .ce_divider(1'b1),
+ .no_csync(no_csync),
+ .blend(blend),
+ .rotate({~flip,rotate}),
+ .scanlines(scanlines),
+ .scandoubler_disable(scandoublerD),
+ .ypbpr(ypbpr)
+ );
+
dac #(
- .C_bits(10))
+ .C_bits(16))
dac(
.clk_i(clk_18),
.res_n_i(1),
@@ -128,44 +192,25 @@ dac(
.dac_o(AUDIO_L)
);
-// Rotated Normal
-wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3];
-wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2];
-wire m_left = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_left | joystick_0[1] | joystick_1[1];
-wire m_right = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : 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_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF;
+wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F;
+wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players;
-reg btn_one_player = 0;
-reg btn_two_players = 0;
-reg btn_left = 0;
-reg btn_right = 0;
-reg btn_down = 0;
-reg btn_up = 0;
-reg btn_fire1 = 0;
-reg btn_fire2 = 0;
-reg btn_fire3 = 0;
-reg btn_coin = 0;
-wire key_pressed;
-wire [7:0] key_code;
-wire key_strobe;
-
-always @(posedge clk_18) begin
- if(key_strobe) begin
- case(key_code)
- 'h75: btn_up <= key_pressed; // up
- 'h72: btn_down <= key_pressed; // down
- 'h6B: btn_left <= key_pressed; // left
- 'h74: btn_right <= key_pressed; // right
- 'h76: btn_coin <= key_pressed; // ESC
- 'h05: btn_one_player <= key_pressed; // F1
- 'h06: btn_two_players <= key_pressed; // F2
- 'h14: btn_fire3 <= key_pressed; // ctrl
- 'h11: btn_fire2 <= key_pressed; // alt
- 'h29: btn_fire1 <= key_pressed; // Space
- endcase
- end
-end
+arcade_inputs inputs (
+ .clk ( clk_18 ),
+ .key_strobe ( key_strobe ),
+ .key_pressed ( key_pressed ),
+ .key_code ( key_code ),
+ .joystick_0 ( joystick_0 ),
+ .joystick_1 ( joystick_1 ),
+ .rotate ( rotate ),
+ .orientation ( {~flip, 1'b1} ),
+ .joyswap ( 1'b0 ),
+ .oneplayer ( 1'b1 ),
+ .controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ),
+ .player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ),
+ .player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
+);
endmodule
\ No newline at end of file
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/gen_video.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/gen_video.vhd
index c5dee924..d1b9dce8 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/gen_video.vhd
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/gen_video.vhd
@@ -3,33 +3,39 @@
-- http://darfpga.blogspot.fr
---------------------------------------------------------------------------------
library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.ALL;
+use ieee.std_logic_1164.all,
+ ieee.std_logic_1164.all,
+ ieee.std_logic_unsigned.all,
+ ieee.numeric_std.all;
+
entity gen_video is
port(
-clk : in std_logic;
-enable : in std_logic;
-hcnt : out std_logic_vector(8 downto 0);
-vcnt : out std_logic_vector(8 downto 0);
-hsync : out std_logic;
-vsync : out std_logic;
-csync : out std_logic; -- composite sync for TV
-hblank : out std_logic;
-vblank : out std_logic
+ clk : in std_logic;
+ enable : in std_logic;
+ hcnt : out std_logic_vector(8 downto 0);
+ vcnt : out std_logic_vector(8 downto 0);
+ hsync : out std_logic;
+ vsync : out std_logic;
+ csync : out std_logic; -- composite sync for TV
+ hblank : out std_logic;
+ vblank : out std_logic;
+ h_offset: in signed(3 downto 0);
+ v_offset: in signed(3 downto 0)
);
end gen_video;
architecture struct of gen_video is
signal hclkReg : unsigned (1 DOWNTO 0);
---signal hblank : std_logic;
---signal vblank : std_logic;
signal hcntReg : unsigned (8 DOWNTO 0) := to_unsigned(000,9);
signal vcntReg : unsigned (8 DOWNTO 0) := to_unsigned(015,9);
signal hsync0 : std_logic;
-signal hsync1 : std_logic;
-signal hsync2 : std_logic;
+signal hsync1 : std_logic;
+signal hsync2 : std_logic;
+signal hsync_base : integer;
+signal vsync_base : integer;
begin
hcnt <= std_logic_vector(hcntReg);
@@ -44,72 +50,71 @@ hsync <= hsync0;
-- Compteur vertical : 263-000+1=264 lignes (33 tiles)
-- 000 à 015 : 16 lignes debut de trame (2 tiles)
-- 016 à 239 : 224 lignes centrales (28 tiles affichées)
--- 240 à 263 : 24 lignes fin de trame (3 tiles
+-- 240 à 263 : 24 lignes fin de trame (3 tiles)
-- Synchro horizontale : hcnt=[176 à 204] (29 pixels)
-- Synchro verticale : vcnt=[260 à 003] ( 8 lignes)
-process(clk, enable)
+process(clk)
begin
+ if rising_edge(clk) then
+ if enable = '1' then -- clk & ena at 6MHz
-if rising_edge(clk) and enable = '1' then -- clk & ena at 6MHz
+ if hcntReg = 511 then
+ hcntReg <= to_unsigned (128,9);
+ else
+ hcntReg <= hcntReg + 1;
+ end if;
- if hcntReg = 511 then
- hcntReg <= to_unsigned (128,9);
- else
- hcntReg <= hcntReg + 1;
- end if;
+ if hcntReg = 191 then
+ if vcntReg = 263 then
+ vcntReg <= to_unsigned(0,9);
+ else
+ vcntReg <= vcntReg + 1;
+ end if;
+ end if;
- if hcntReg = 191 then
- if vcntReg = 263 then
- vcntReg <= to_unsigned(0,9);
- else
- vcntReg <= vcntReg + 1;
- end if;
- end if;
+ hsync_base <= 175 + to_integer(resize(h_offset, 9));
+ if hcntReg = (hsync_base+ 0-8+8) then hsync0 <= '0'; -- 1
+ elsif hcntReg = (hsync_base+29-8+8) then hsync0 <= '1';
+ end if;
- if hcntReg = (175+ 0-8+8) then hsync0 <= '0'; -- 1
- elsif hcntReg = (175+29-8+8) then hsync0 <= '1';
- end if;
+ if hcntReg = (hsync_base-8+8) then hsync1 <= '0';
+ elsif hcntReg = (hsync_base+13-8+8) then hsync1 <= '1'; -- 11
+ elsif hcntReg = (hsync_base +192-8+8) then hsync1 <= '0';
+ elsif hcntReg = (hsync_base+13+192-8+8) then hsync1 <= '1'; -- 11
+ end if;
- if hcntReg = (175-8+8) then hsync1 <= '0';
- elsif hcntReg = (175+13-8+8) then hsync1 <= '1'; -- 11
- elsif hcntReg = (175 +192-8+8) then hsync1 <= '0';
- elsif hcntReg = (175+13+192-8+8) then hsync1 <= '1'; -- 11
- end if;
+ if hcntReg = (hsync_base-8+8) then hsync2 <= '0';
+ elsif hcntReg = (hsync_base-28-8+8) then hsync2 <= '1';
+ end if;
- if hcntReg = (175-8+8) then hsync2 <= '0';
- elsif hcntReg = (175-28-8+8) then hsync2 <= '1';
- end if;
+ vsync_base <= 250+to_integer(resize(v_offset, 9));
+ if vcntReg = (vsync_base+ 2-1+2) mod 264 then csync <= hsync1;
+ elsif vcntReg = (vsync_base+ 3-1+2) mod 264 then csync <= hsync1;
+ elsif vcntReg = (vsync_base+ 4-1+2) mod 264 then csync <= hsync1; -- and hsync2;
+ elsif vcntReg = (vsync_base+ 5-1+2) mod 264 then csync <= hsync2; -- not(hsync1);
+ elsif vcntReg = (vsync_base+ 6-1+2) mod 264 then csync <= hsync2; -- not(hsync1);
+ elsif vcntReg = (vsync_base+ 7-1+2) mod 264 then csync <= hsync2; -- not(hsync1) or not(hsync2);
+ elsif vcntReg = (vsync_base+ 8-1+2) mod 264 then csync <= hsync1;
+ elsif vcntReg = (vsync_base+ 9-1+2) mod 264 then csync <= hsync1;
+ elsif vcntReg = (vsync_base+10-1+2) mod 264 then csync <= hsync1;
+ else csync <= hsync0;
+ end if;
- if vcntReg = 252-1 then csync <= hsync1;
- elsif vcntReg = 253-1 then csync <= hsync1;
- elsif vcntReg = 254-1 then csync <= hsync1; -- and hsync2;
- elsif vcntReg = 255-1 then csync <= hsync2; -- not(hsync1);
- elsif vcntReg = 256-1 then csync <= hsync2; -- not(hsync1);
- elsif vcntReg = 257-1 then csync <= hsync2; -- not(hsync1) or not(hsync2);
- elsif vcntReg = 258-1 then csync <= hsync1;
- elsif vcntReg = 259-1 then csync <= hsync1;
- elsif vcntReg = 260-1 then csync <= hsync1;
- else csync <= hsync0;
- end if;
+ if vcntReg = (vsync_base+10) mod 264 then vsync <= '1';
+ elsif vcntReg = (vsync_base+17) mod 264 then vsync <= '0';
+ end if;
- if vcntReg = 260 then vsync <= '0';
- elsif vcntReg = 003 then vsync <= '1';
- end if;
-
- if hcntReg = (127+16+8) then hblank <= '1';
- elsif hcntReg = (255-17+8+1) then hblank <= '0';
- end if;
-
- if vcntReg = (240+1-1) then vblank <= '1';
- elsif vcntReg = (015+1) then vblank <= '0';
- end if;
-
- -- blankn <= not (hblank or vblank);
-
-end if;
+ if hcntReg = (127+16+9) then hblank <= '1';
+ elsif hcntReg = (255-17+9+1) then hblank <= '0';
+ end if;
+ if vcntReg = (240+1-1) then vblank <= '1';
+ elsif vcntReg = (015+1) then vblank <= '0';
+ end if;
+ end if;
+ end if;
end process;
-end architecture;
\ No newline at end of file
+end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/mb88.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/mb88.vhd
index a85b39f7..a8193285 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/mb88.vhd
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/mb88.vhd
@@ -4,13 +4,13 @@
---------------------------------------------------------------------------------
--
-- Version 0.3 -- 28/02/2017 --
--- fixed instruction JMP (0xC0..0xFF) let r_pa be incremented when r_pc = 0x3F
+-- fixed instruction JMP (0xC0..0xFF) let r_pa be incremented when r_pc = 0x3F
--
-- Version 0.2 -- 26/02/2017 --
-- corrected r_stf for tstR instruction (0x24)
-- corrected r_stf for tbit instruction (0x38-0x3B)
--
--- Version 0.1 -- 25/02/2017 --
+-- Version 0.1 -- 25/02/2017 --
-- outO instruction write to ol,oh depending on r_cf
---------------------------------------------------------------------------------
-- Educational use only
@@ -19,7 +19,7 @@
-- Use at your own risk
---------------------------------------------------------------------------------
--- Todo : Timer, Serial
+-- Todo : Timer, Serial
-- Features :
@@ -57,10 +57,10 @@ port(
sc_out_n : out std_logic;
so_n : out std_logic;
to_n : out std_logic;
-
+
rom_addr : out std_logic_vector(10 downto 0);
rom_data : in std_logic_vector( 7 downto 0)
-
+
);
end mb88;
@@ -68,36 +68,39 @@ architecture struct of mb88 is
signal reset : std_logic;
signal clock_n : std_logic;
-
- signal ram_addr : std_logic_vector(6 downto 0);
+
+ signal ram_addr : std_logic_vector(6 downto 0);
signal ram_we : std_logic;
signal ram_di : std_logic_vector(3 downto 0);
signal ram_do : std_logic_vector(3 downto 0);
-
- signal r_pc : std_logic_vector(5 downto 0) := (others=>'0');
- signal r_pa : std_logic_vector(4 downto 0) := (others=>'0');
- signal r_si : std_logic_vector(1 downto 0) := (others=>'0');
- signal r_a : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_x : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_y : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_stf : std_logic := '1';
- signal r_zf : std_logic := '0';
- signal r_cf : std_logic := '0';
- signal r_vf : std_logic := '0';
- signal r_sf : std_logic := '0';
- signal r_nf : std_logic := '0';
- signal r_pio : std_logic_vector(7 downto 0) := (others=>'0');
- signal r_th : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_tl : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_tp : std_logic_vector(5 downto 0) := (others=>'0');
- signal r_ctr : std_logic_vector(5 downto 0) := (others=>'0');
+ signal r_pc : std_logic_vector(5 downto 0) := (others=>'0');
+ signal r_pa : std_logic_vector(4 downto 0) := (others=>'0');
+ signal r_si : std_logic_vector(1 downto 0) := (others=>'0');
+ signal r_a : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_x : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_y : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_stf : std_logic := '1';
+ signal r_zf : std_logic := '0';
+ signal r_cf : std_logic := '0';
+ signal r_vf : std_logic := '0';
+ signal r_sf : std_logic := '0';
+ signal r_nf : std_logic := '0';
- signal r_sb : std_logic_vector(3 downto 0) := (others=>'0');
- signal r_sbcnt : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_pio : std_logic_vector(7 downto 0) := (others=>'0');
+ signal r_th : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_tl : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_tp : std_logic_vector(5 downto 0) := (others=>'0');
+ signal r_ctr : std_logic_vector(5 downto 0) := (others=>'0');
- signal interrupt_pending : std_logic := '0';
- signal irq_n_r : std_logic := '0';
+ signal r_sb : std_logic_vector(3 downto 0) := (others=>'0');
+ signal r_sbcnt : std_logic_vector(3 downto 0) := (others=>'0');
+
+ signal interrupt_pending : std_logic := '0';
+ signal timer_interrupt_pending : std_logic := '0';
+ signal irq_n_r : std_logic := '0';
+
+ signal tc_n_r : std_logic := '0';
subtype stack_size is integer range 0 to 3;
type stack_def is array(stack_size) of std_logic_vector(15 downto 0);
@@ -107,8 +110,8 @@ architecture struct of mb88 is
type ram_def is array(ram_size) of std_logic_vector(3 downto 0);
signal ram : ram_def := (others=>(others=>'0'));
- signal single_byte_op : std_logic := '1';
- signal op_code : std_logic_vector(7 downto 0) := X"00";
+ signal single_byte_op : std_logic := '1';
+ signal op_code : std_logic_vector(7 downto 0) := X"00";
signal a_p1 : std_logic_vector(3 downto 0);
signal a_p1_z : std_logic;
@@ -183,12 +186,12 @@ architecture struct of mb88 is
signal m_set_bit : std_logic_vector(3 downto 0);
signal m_clr_bit : std_logic_vector(3 downto 0);
signal m_tst_bit : std_logic;
-
+
signal mem : std_logic_vector(3 downto 0);
signal mem_z : std_logic;
signal imm_x7_z : std_logic;
signal imm_xF_z : std_logic;
-
+
begin
clock_n <= not clock;
@@ -201,7 +204,7 @@ ram_addr <= X"0" & rom_data(2 downto 0) when ((rom_data >= X"50") and (rom_data
ram_we <= '1' when(( (rom_data = X"1D") or (rom_data = X"1A") or
(rom_data = X"0A") or (rom_data = X"0B") or
(rom_data = X"2A") or
- (rom_data = X"19") or (rom_data = X"09") or
+ (rom_data = X"19") or (rom_data = X"09") or
((rom_data >= X"30") and (rom_data <= X"37") ) or
((rom_data >= X"50") and (rom_data <= X"57") )
) and (single_byte_op = '1')and ena = '1')
@@ -209,20 +212,20 @@ ram_we <= '1' when(( (rom_data = X"1D") or (rom_data = X"1A") or
with rom_data select
ram_di <= r_a when X"1D", r_a when X"1A",
- r_a when X"0A", r_a when X"0B",
+ r_a when X"0A", r_a when X"0B",
r_sb when X"2A",
m_m1 when X"19", m_p1 when X"09",
- m_set_bit when X"30", m_clr_bit when X"34",
- m_set_bit when X"31", m_clr_bit when X"35",
+ m_set_bit when X"30", m_clr_bit when X"34",
+ m_set_bit when X"31", m_clr_bit when X"35",
m_set_bit when X"32", m_clr_bit when X"36",
m_set_bit when X"33", m_clr_bit when X"37",
- r_a when X"50", r_y when X"54",
- r_a when X"51", r_y when X"55",
- r_a when X"52", r_y when X"56",
- r_a when X"53", r_y when X"57",
+ r_a when X"50", r_y when X"54",
+ r_a when X"51", r_y when X"55",
+ r_a when X"52", r_y when X"56",
+ r_a when X"53", r_y when X"57",
X"A" when others;
-
+
a_p1 <= r_a + X"1";
a_p1_z <= '1' when a_p1 = X"0" else '0';
a_p1_c <= '1' when a_p1 = X"0" else '0';
@@ -247,39 +250,39 @@ m_m1 <= ram_do - X"1";
--m_m1_z <= '1' when m_m1 = X"0" else '0';
--m_m1_c <= '1' when m_m1 = X"F" else '0';
-with rom_data(2 downto 0) select
+with rom_data(2 downto 0) select
m_set_bit <= ram_do or X"1" when "000",
ram_do or X"2" when "001",
ram_do or X"4" when "010",
ram_do or X"8" when others;
-with rom_data(2 downto 0) select
+with rom_data(2 downto 0) select
m_clr_bit <= ram_do and not X"1" when "000",
ram_do and not X"2" when "001",
ram_do and not X"4" when "010",
ram_do and not X"8" when others;
-
+
m_tst_bit <= ram_do(to_integer(unsigned(rom_data(1 downto 0))));
rola <= r_a(2 downto 0) & r_cf;
-rola_z <= '1' when rola = X"0" else '0';
+rola_z <= '1' when rola = X"0" else '0';
rora <= r_cf & r_a(3 downto 1);
-rora_z <= '1' when rora = X"0" else '0';
+rora_z <= '1' when rora = X"0" else '0';
nega <= not(r_a) + X"1";
-nega_z <= '1' when nega = X"0" else '0';
+nega_z <= '1' when nega = X"0" else '0';
adc <= ('0'&ram_do) + ('0'&r_a) + ("0000"&r_cf);
-adc_z <= '1' when adc(3 downto 0) = X"0" else '0';
+adc_z <= '1' when adc(3 downto 0) = X"0" else '0';
adc_c <= '1' when adc(4) = '1' else '0';
sbc <= ('0'&ram_do) - ('0'&r_a) - ("0000"&r_cf);
-sbc_z <= '1' when sbc(3 downto 0) = X"0" else '0';
+sbc_z <= '1' when sbc(3 downto 0) = X"0" else '0';
sbc_c <= '1' when sbc(4) = '1' else '0';
cma <= ('0'&ram_do) - ('0'&r_a);
-cma_z <= '1' when cma(3 downto 0) = X"0" else '0';
+cma_z <= '1' when cma(3 downto 0) = X"0" else '0';
cma_c <= '1' when cma(4) = '1' else '0';
a_pim <= ('0'&rom_data(3 downto 0)) + ('0'&r_a);
@@ -295,25 +298,25 @@ im_ma_z <= '1' when im_ma(3 downto 0) = X"0" else '0';
im_ma_c <= '1' when im_ma(4) = '1' else '0';
a_and_m <= r_a and ram_do;
-a_and_m_z <= '1' when a_and_m = X"0" else '0';
-
+a_and_m_z <= '1' when a_and_m = X"0" else '0';
+
a_or_m <= r_a or ram_do;
-a_or_m_z <= '1' when a_or_m = X"0" else '0';
+a_or_m_z <= '1' when a_or_m = X"0" else '0';
a_xor_m <= r_a xor ram_do;
a_xor_m_z <= '1' when a_xor_m = X"0" else '0';
do_da <= '1' when (r_a > X"9") or (r_cf = '1') else '0';
-daa <= r_a + X"6";
+daa <= r_a + X"6";
daa_z <= '1' when daa = X"0" else '0';
daa_c <= '1' when r_a > X"9" else '0';
-das <= r_a + X"A";
+das <= r_a + X"A";
das_z <= '1' when das = X"0" else '0';
das_c <= '1' when r_a > X"5" else '0';
-dca <= r_a + X"F";
+dca <= r_a + X"F";
dca_z <= '1' when dca = X"0" else '0';
dca_c <= '1' when dca = X"F" else '0';
@@ -333,9 +336,9 @@ sel_bit_y <= "0001" when "00",
"0010" when "01",
"0100" when "10",
"1000" when others;
-
-imm_x7_z <= '1' when rom_data(2 downto 0) = "000" else '0';
-imm_xF_z <= '1' when rom_data(3 downto 0) = "0000" else '0';
+
+imm_x7_z <= '1' when rom_data(2 downto 0) = "000" else '0';
+imm_xF_z <= '1' when rom_data(3 downto 0) = "0000" else '0';
process (clock_n) -- register data before memory value update at middle cycle
begin
@@ -347,34 +350,33 @@ begin
if m_m1 = X"0" then m_m1_z <= '1'; else m_m1_z <= '0'; end if;
if m_m1 = X"F" then m_m1_c <= '1'; else m_m1_c <= '0'; end if;
end if;
-end process;
+end process;
process (clock)
begin
if rising_edge(clock) then
-- mem <= ram_do;
-- if ram_do = X"0" then mem_z <= '1'; else mem_z <= '0'; end if;
-
irq_n_r <= irq_n;
r_nf <= not irq_n;
- if irq_n = '0' and irq_n_r = '1' and r_pio(2) = '1' then
- interrupt_pending <= '1';
+ if irq_n = '0' and irq_n_r = '1' and r_pio(2) = '1' then
+ interrupt_pending <= '1';
end if;
-
+
if reset = '1' then
r_pc <= (others=>'0');
r_pa <= (others=>'0');
r_si <= (others=>'0');
- r_a <= (others=>'0');
- r_x <= (others=>'0');
+ r_a <= (others=>'0');
+ r_x <= (others=>'0');
r_y <= (others=>'0');
- r_stf <= '1';
- r_zf <= '0';
- r_cf <= '0';
- r_vf <= '0';
- r_sf <= '0';
- r_nf <= '0';
- r_pio <= (others=>'0');
+ r_stf <= '1';
+ r_zf <= '0';
+ r_cf <= '0';
+ r_vf <= '0';
+ r_sf <= '0';
+ r_nf <= '0';
+ r_pio <= (others=>'0');
r_th <= (others=>'0');
r_tl <= (others=>'0');
r_tp <= (others=>'0');
@@ -382,28 +384,49 @@ begin
r_sb <= (others=>'0');
r_sbcnt <= (others=>'0');
interrupt_pending <= '0';
+ timer_interrupt_pending <= '0';
stack <= (others=>(others=>'0'));
single_byte_op <= '1';
else
- if ena = '1' then
-
+ tc_n_r <= tc_n;
+ if (tc_n = '0' and tc_n_r = '1' and r_pio(6) = '1') or
+ (ena = '1' and r_pio(7) = '1')
+ then
+ r_tl <= r_tl + 1;
+ if r_tl = X"F" then
+ r_th <= r_th + 1;
+ if r_th = X"F" then
+ if r_pio(1) = '1' then
+ timer_interrupt_pending <= '1';
+ end if;
+ r_vf <= '1';
+ end if;
+ end if;
+ end if;
+
+ if ena = '1' then
+
op_code <= rom_data;
single_byte_op <= '1';
- if r_pc = "111111" then
+ if r_pc = "111111" then
r_pc <= "000000";
r_pa <= r_pa + "0001";
- else
+ else
r_pc <= r_pc + "000001";
end if;
-
+
if single_byte_op = '1' then
- if interrupt_pending = '1' then
+ if interrupt_pending = '1' or timer_interrupt_pending = '1' then
stack(to_integer(unsigned(r_si)))(13 downto 0) <= (r_cf & r_zf & r_stf & r_pa & r_pc);
r_pc <= "000010";
r_pa <= "00000";
r_si <= r_si + "01";
- interrupt_pending <= '0';
+ if interrupt_pending = '1' then
+ interrupt_pending <= '0';
+ elsif timer_interrupt_pending = '1' then
+ timer_interrupt_pending <= '0';
+ end if;
else -- no irq
case rom_data is
when X"00" => r_stf <='1'; -- nop
@@ -419,24 +442,24 @@ begin
when X"04" => r_stf <='1'; r_y <= r_a; -- tay Y <- A
when X"05" => r_stf <='1'; r_th <= r_a; -- tath TH <- A
when X"06" => r_stf <='1'; r_tl <= r_a; -- tatl TL <- A
- when X"07" => r_stf <='1'; r_sb <= r_a; -- tas SB <- A
+ when X"07" => r_stf <='1'; r_sb <= r_a; -- tas SB <- A
when X"08" => r_stf <= not y_p1_c; r_y <= y_p1; r_zf <= y_p1_z; -- icy Y <- Y+1
- when X"09" => r_stf <= not m_p1_c; r_zf <= m_p1_z; -- icm M[X,Y] <- M[X,Y]+1
+ when X"09" => r_stf <= not m_p1_c; r_zf <= m_p1_z; -- icm M[X,Y] <- M[X,Y]+1
when X"0A" => r_stf <= not y_p1_c; r_y <= y_p1; r_zf <= y_p1_z; -- stic M[X,Y] <- A; Y <- Y+1
when X"0B" => r_stf <='1'; r_a <= mem; r_zf <= mem_z; -- x A <- M[X,Y]; M[X,Y] <- A
- when X"0C" => r_stf <= not r_a(3); r_a <= rola; r_zf <= rola_z; r_cf <= r_a(3); -- rol
- when X"0D" => r_stf <='1'; r_a <= mem; r_zf <= mem_z; -- l A <- M[X,Y];
- when X"0E" => r_stf <= not adc_c; r_a <= adc(3 downto 0); r_zf <= adc_z; r_cf <= adc_c; -- adc A <- M[X,Y]+A+CF;
- when X"0F" => r_stf <= not a_and_m_z; r_a <= a_and_m; r_zf <= a_and_m_z; -- and A <- A & M[X,Y];
- when X"10" =>
- if do_da = '1' then r_stf <= not daa_c; r_a <= daa; r_cf <= daa_c; -- daa A <- A + 6 ; si A>9 or CF
+ when X"0C" => r_stf <= not r_a(3); r_a <= rola; r_zf <= rola_z; r_cf <= r_a(3); -- rol
+ when X"0D" => r_stf <='1'; r_a <= mem; r_zf <= mem_z; -- l A <- M[X,Y];
+ when X"0E" => r_stf <= not adc_c; r_a <= adc(3 downto 0); r_zf <= adc_z; r_cf <= adc_c; -- adc A <- M[X,Y]+A+CF;
+ when X"0F" => r_stf <= not a_and_m_z; r_a <= a_and_m; r_zf <= a_and_m_z; -- and A <- A & M[X,Y];
+ when X"10" =>
+ if do_da = '1' then r_stf <= not daa_c; r_a <= daa; r_cf <= daa_c; -- daa A <- A + 6 ; si A>9 or CF
else r_stf <= '1'; r_cf <= '0'; end if;
- when X"11" =>
- if do_da = '1' then r_stf <= not das_c; r_a <= das; r_cf <= das_c; -- das A <- A + 10; si A>9 or CF
+ when X"11" =>
+ if do_da = '1' then r_stf <= not das_c; r_a <= das; r_cf <= das_c; -- das A <- A + 10; si A>9 or CF
else r_stf <= '1'; r_cf <= '0'; end if;
- when X"12" => r_stf <='1'; r_a <= k_port_in; r_zf <= k_port_in_z; -- inK A <- K
- when X"13" => r_stf <='1'; -- inR A <- R(Y)
- if r_y = X"0" then r_a <= r0_port_in; r_zf <= r0_port_in_z; end if;
+ when X"12" => r_stf <='1'; r_a <= k_port_in; r_zf <= k_port_in_z; -- inK A <- K
+ when X"13" => r_stf <='1'; -- inR A <- R(Y)
+ if r_y = X"0" then r_a <= r0_port_in; r_zf <= r0_port_in_z; end if;
if r_y = X"1" then r_a <= r1_port_in; r_zf <= r1_port_in_z; end if;
if r_y = X"2" then r_a <= r2_port_in; r_zf <= r2_port_in_z; end if;
if r_y = X"3" then r_a <= r3_port_in; r_zf <= r3_port_in_z; end if;
@@ -444,25 +467,25 @@ begin
when X"15" => r_stf <='1'; r_a <= r_th; r_zf <= th_z; -- ttha A <- TH
when X"16" => r_stf <='1'; r_a <= r_tl; r_zf <= tl_z; -- ttla A <- TH
when X"17" => r_stf <='1'; r_a <= r_sb; r_zf <= sb_z; -- tsa A <- SB
- when X"18" => r_stf <= not y_m1_c; r_y <= y_m1; -- dcy Y <- Y-1
+ when X"18" => r_stf <= not y_m1_c; r_y <= y_m1; -- dcy Y <- Y-1
when X"19" => r_stf <= not m_m1_c; r_zf <= m_m1_z; -- dcm M[X,Y] <- M[X,Y]-1
when X"1A" => r_stf <= not y_m1_c; r_y <= y_m1; r_zf <= y_m1_z; -- stdc M[X,Y] <- A; Y <- Y-1
when X"1B" => r_stf <='1'; r_a <= r_x; r_x <= r_a; r_zf <= x_z; -- xx A <- X, X <- A
- when X"1C" => r_stf <= not r_a(0); r_a <= rora; r_zf <= rora_z; r_cf <= r_a(0); -- ror
- when X"1D" => r_stf <='1'; -- st M[X,Y] <- A
- when X"1E" => r_stf <= not sbc_c; r_a <= sbc(3 downto 0); r_zf <= sbc_z; r_cf <= sbc_c; -- sbc A <- M[X,Y]-A-CF;
- when X"1F" => r_stf <= not a_or_m_z; r_a <= a_or_m; r_zf <= a_or_m_z; -- or A <- A | M[X,Y];
+ when X"1C" => r_stf <= not r_a(0); r_a <= rora; r_zf <= rora_z; r_cf <= r_a(0); -- ror
+ when X"1D" => r_stf <='1'; -- st M[X,Y] <- A
+ when X"1E" => r_stf <= not sbc_c; r_a <= sbc(3 downto 0); r_zf <= sbc_z; r_cf <= sbc_c; -- sbc A <- M[X,Y]-A-CF;
+ when X"1F" => r_stf <= not a_or_m_z; r_a <= a_or_m; r_zf <= a_or_m_z; -- or A <- A | M[X,Y];
when X"20" => r_stf <='1'; -- setR
- if r_y(3 downto 2) = "00" then r0_port_out <= (r0_port_in or sel_bit_y ); end if;
- if r_y(3 downto 2) = "01" then r1_port_out <= (r1_port_in or sel_bit_y ); end if;
- if r_y(3 downto 2) = "10" then r2_port_out <= (r2_port_in or sel_bit_y ); end if;
- if r_y(3 downto 2) = "11" then r3_port_out <= (r3_port_in or sel_bit_y ); end if;
+ if r_y(3 downto 2) = "00" then r0_port_out <= (r0_port_in or sel_bit_y ); end if;
+ if r_y(3 downto 2) = "01" then r1_port_out <= (r1_port_in or sel_bit_y ); end if;
+ if r_y(3 downto 2) = "10" then r2_port_out <= (r2_port_in or sel_bit_y ); end if;
+ if r_y(3 downto 2) = "11" then r3_port_out <= (r3_port_in or sel_bit_y ); end if;
when X"21" => r_stf <='1'; r_cf <= '1'; -- setCF
when X"22" => r_stf <='1'; -- clrR
- if r_y(3 downto 2) = "00" then r0_port_out <= (r0_port_in and not sel_bit_y ); end if;
- if r_y(3 downto 2) = "01" then r1_port_out <= (r1_port_in and not sel_bit_y ); end if;
- if r_y(3 downto 2) = "10" then r2_port_out <= (r2_port_in and not sel_bit_y ); end if;
- if r_y(3 downto 2) = "11" then r3_port_out <= (r3_port_in and not sel_bit_y ); end if;
+ if r_y(3 downto 2) = "00" then r0_port_out <= (r0_port_in and not sel_bit_y ); end if;
+ if r_y(3 downto 2) = "01" then r1_port_out <= (r1_port_in and not sel_bit_y ); end if;
+ if r_y(3 downto 2) = "10" then r2_port_out <= (r2_port_in and not sel_bit_y ); end if;
+ if r_y(3 downto 2) = "11" then r3_port_out <= (r3_port_in and not sel_bit_y ); end if;
when X"23" => r_stf <='1'; r_cf <= '0'; -- clrCF
when X"24" => -- tstR
if r_y(3 downto 2) = "00" then r_stf <= not r0_port_in(to_integer(unsigned(r_y(1 downto 0)))); end if;
@@ -476,17 +499,17 @@ begin
when X"29" => r_stf <= not r_zf; -- tstz (ZF)
when X"2A" => r_stf <= '1'; r_zf <= sb_z; -- sts M[X,Y] <- SB
when X"2B" => r_stf <= '1'; r_sb <= mem; r_zf <= mem_z; -- ls SB <- M[X,Y]
- when X"2C" => r_stf <= '1'; -- rts
+ when X"2C" => r_stf <= '1'; -- rts
r_pa <= stack(to_integer(unsigned(r_si-"01")))(10 downto 6);
r_pc <= stack(to_integer(unsigned(r_si-"01")))( 5 downto 0);
r_si <= r_si - "01";
when X"2D" => r_stf <= not nega_z; r_a <= nega; -- negA A <- -A
when X"2E" => r_stf <= not cma_z; r_zf <= cma_z; r_cf <= cma_c; -- c M[X,Y]-A ?=
- when X"2F" => r_stf <= not a_xor_m_z; r_a <= a_xor_m; r_zf <= a_xor_m_z;-- eor A <- A xor M[X,Y];
- when X"30" | X"31" | X"32" | X"33" => r_stf <='1'; -- sbit M[X,Y](op&3) <- 1
+ when X"2F" => r_stf <= not a_xor_m_z; r_a <= a_xor_m; r_zf <= a_xor_m_z;-- eor A <- A xor M[X,Y];
+ when X"30" | X"31" | X"32" | X"33" => r_stf <='1'; -- sbit M[X,Y](op&3) <- 1
when X"34" | X"35" | X"36" | X"37" => r_stf <='1'; -- rbit M[X,Y](op&3) <- 0
when X"38" | X"39" | X"3A" | X"3B" => r_stf <= not m_tst_bit; -- tbit M[X,Y](op&3) == 1
- when X"3C" => -- rti
+ when X"3C" => -- rti
r_pa <= stack(to_integer(unsigned(r_si-"01")))(10 downto 6);
r_pc <= stack(to_integer(unsigned(r_si-"01")))( 5 downto 0);
r_stf <= stack(to_integer(unsigned(r_si-"01")))(11);
@@ -494,7 +517,7 @@ begin
r_cf <= stack(to_integer(unsigned(r_si-"01")))(13);
r_si <= r_si - "01";
when X"3D" => single_byte_op <= '0'; -- jpa
- when X"3E" => single_byte_op <= '0'; -- en
+ when X"3E" => single_byte_op <= '0'; -- en
when X"3F" => single_byte_op <= '0'; -- dis
when X"40" => r_stf <= '1'; r0_port_out <= (r0_port_in or X"1"); -- setd RO(op&3) <- 1
when X"41" => r_stf <= '1'; r0_port_out <= (r0_port_in or X"2"); -- setd RO(op&3) <- 1
@@ -505,39 +528,39 @@ begin
when X"46" => r_stf <= '1'; r0_port_out <= (r0_port_in and not X"4"); -- setd RO(op&3) <- 0
when X"47" => r_stf <= '1'; r0_port_out <= (r0_port_in and not X"8"); -- setd RO(op&3) <- 0
when X"48" | X"49" | X"4A" | X"4B" => -- tstd R2(op&3) ?=
- r_stf <= not r2_port_in(to_integer(unsigned(rom_data(1 downto 0))));
- when X"4C" | X"4D" | X"4E" | X"4F" => -- tba A(op&3) ?=
- r_stf <= not r_a(to_integer(unsigned(rom_data(1 downto 0))));
+ r_stf <= not r2_port_in(to_integer(unsigned(rom_data(1 downto 0))));
+ when X"4C" | X"4D" | X"4E" | X"4F" => -- tba A(op&3) ?=
+ r_stf <= not r_a(to_integer(unsigned(rom_data(1 downto 0))));
when X"50" | X"51" | X"52" | X"53" => -- xd A <-> M[0,op&3]
- r_stf <= '1'; r_a <= mem; r_zf <= mem_z;
+ r_stf <= '1'; r_a <= mem; r_zf <= mem_z;
when X"54" | X"55" | X"56" | X"57" => -- xyd Y <-> M[0,op&3]
- r_stf <= '1'; r_y <= mem; r_zf <= mem_z;
+ r_stf <= '1'; r_y <= mem; r_zf <= mem_z;
when X"58" | X"59" | X"5A" | X"5B" | X"5C" | X"5D" | X"5E" | X"5F" => -- lxi imm (op&7)
r_stf <='1'; r_x <= '0' & rom_data(2 downto 0); r_zf <= imm_x7_z;
- when X"60" | X"61" | X"62" | X"63" | X"64" | X"65" | X"66" | X"67" => -- call addr
- single_byte_op <= '0';
- when X"68" | X"69" | X"6A" | X"6B" | X"6C" | X"6D" | X"6E" | X"6F" => -- jpl addr
- single_byte_op <= '0';
- when X"70" | X"71" | X"72" | X"73" | X"74" | X"75" | X"76" | X"77" |
+ when X"60" | X"61" | X"62" | X"63" | X"64" | X"65" | X"66" | X"67" => -- call addr
+ single_byte_op <= '0';
+ when X"68" | X"69" | X"6A" | X"6B" | X"6C" | X"6D" | X"6E" | X"6F" => -- jpl addr
+ single_byte_op <= '0';
+ when X"70" | X"71" | X"72" | X"73" | X"74" | X"75" | X"76" | X"77" |
X"78" | X"79" | X"7A" | X"7B" | X"7C" | X"7D" | X"7E" | X"7F" => -- ai A <- A+imm (op&F)
- r_stf <= not a_pim_c; r_a <= a_pim(3 downto 0); r_zf <= a_pim_z; r_cf <= a_pim_c;
- when X"80" | X"81" | X"82" | X"83" | X"84" | X"85" | X"86" | X"87" |
+ r_stf <= not a_pim_c; r_a <= a_pim(3 downto 0); r_zf <= a_pim_z; r_cf <= a_pim_c;
+ when X"80" | X"81" | X"82" | X"83" | X"84" | X"85" | X"86" | X"87" |
X"88" | X"89" | X"8A" | X"8B" | X"8C" | X"8D" | X"8E" | X"8F" => -- lyi Y <- imm (op&F)
- r_stf <='1'; r_y <= rom_data(3 downto 0); r_zf <= imm_xF_z;
- when X"90" | X"91" | X"92" | X"93" | X"94" | X"95" | X"96" | X"97" |
+ r_stf <='1'; r_y <= rom_data(3 downto 0); r_zf <= imm_xF_z;
+ when X"90" | X"91" | X"92" | X"93" | X"94" | X"95" | X"96" | X"97" |
X"98" | X"99" | X"9A" | X"9B" | X"9C" | X"9D" | X"9E" | X"9F" => -- li A <- imm (op&F)
- r_stf <='1'; r_a <= rom_data(3 downto 0); r_zf <= imm_xF_z;
- when X"A0" | X"A1" | X"A2" | X"A3" | X"A4" | X"A5" | X"A6" | X"A7" |
+ r_stf <='1'; r_a <= rom_data(3 downto 0); r_zf <= imm_xF_z;
+ when X"A0" | X"A1" | X"A2" | X"A3" | X"A4" | X"A5" | X"A6" | X"A7" |
X"A8" | X"A9" | X"AA" | X"AB" | X"AC" | X"AD" | X"AE" | X"AF" => -- cyi imm - Y ?=
- r_stf <= not im_my_z; r_zf <= im_my_z; r_cf <= im_my_c;
- when X"B0" | X"B1" | X"B2" | X"B3" | X"B4" | X"B5" | X"B6" | X"B7" |
+ r_stf <= not im_my_z; r_zf <= im_my_z; r_cf <= im_my_c;
+ when X"B0" | X"B1" | X"B2" | X"B3" | X"B4" | X"B5" | X"B6" | X"B7" |
X"B8" | X"B9" | X"BA" | X"BB" | X"BC" | X"BD" | X"BE" | X"BF" => -- ci imm - A ?=
- r_stf <= not im_ma_z; r_zf <= im_ma_z; r_cf <= im_ma_c;
+ r_stf <= not im_ma_z; r_zf <= im_ma_z; r_cf <= im_ma_c;
when others => r_stf <='1'; -- jmp addr if ST (op_code C0..FF)
if r_stf = '1' then r_pc <= rom_data(5 downto 0); end if; -- (let r_pa be incremented when r_pc = 0x3F)
end case;
- end if ;
- else -- 2 bytes op_code, rom_data = 2nd byte
+ end if ;
+ else -- 2 bytes op_code, rom_data = 2nd byte
case op_code is
when X"3D" => r_stf <='1'; r_pa <= rom_data(4 downto 0); r_pc <= r_a & "00"; -- jpa PA <- data&0x1f; PC <- A*4
when X"3E" => r_stf <='1'; r_pio <= r_pio or rom_data; -- en PIO <- PIO or imm data
@@ -548,7 +571,7 @@ begin
stack(to_integer(unsigned(r_si)))(10 downto 0) <= (r_pa & r_pc) + '1';
r_pc <= rom_data(5 downto 0);
r_pa <= op_code(2 downto 0) & rom_data(7 downto 6);
- r_si <= r_si + "01";
+ r_si <= r_si + "01";
end if;
when X"68" | X"69" | X"6A" | X"6B" | X"6C" | X"6D" | X"6E" | X"6F" => -- jpl if ST
r_stf <= '1';
@@ -559,7 +582,7 @@ begin
when others => r_stf <='1';
end case;
end if;
-
+
end if;
end if;
end if;
@@ -574,7 +597,7 @@ begin
end if;
end if;
end process;
-
+
ram_do <= ram(to_integer(unsigned(ram_addr)));
-end struct;
\ No newline at end of file
+end struct;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/bg_graphx.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/bg_graphx.vhd
deleted file mode 100644
index f62270b7..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/bg_graphx.vhd
+++ /dev/null
@@ -1,278 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity bg_graphx 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 bg_graphx is
- type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"88",X"CC",X"22",X"22",X"66",X"CC",X"88",X"00",X"33",X"77",X"CC",X"88",X"88",X"77",X"33",X"00",
- X"22",X"22",X"EE",X"EE",X"22",X"22",X"00",X"00",X"00",X"00",X"FF",X"FF",X"44",X"00",X"00",X"00",
- X"22",X"22",X"AA",X"AA",X"EE",X"EE",X"66",X"00",X"66",X"FF",X"BB",X"99",X"99",X"CC",X"44",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"66",X"44",X"00",X"88",X"DD",X"FF",X"BB",X"99",X"88",X"00",X"00",
- X"88",X"EE",X"EE",X"88",X"88",X"88",X"88",X"00",X"00",X"FF",X"FF",X"CC",X"66",X"33",X"11",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"66",X"44",X"00",X"11",X"BB",X"AA",X"AA",X"AA",X"EE",X"EE",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"EE",X"CC",X"00",X"00",X"99",X"99",X"99",X"DD",X"77",X"33",X"00",
- X"00",X"00",X"00",X"EE",X"EE",X"00",X"00",X"00",X"CC",X"EE",X"BB",X"99",X"88",X"CC",X"CC",X"00",
- X"CC",X"EE",X"AA",X"AA",X"22",X"22",X"CC",X"00",X"00",X"66",X"99",X"99",X"BB",X"FF",X"66",X"00",
- X"88",X"CC",X"66",X"22",X"22",X"22",X"00",X"00",X"77",X"FF",X"99",X"99",X"99",X"FF",X"66",X"00",
- X"EE",X"EE",X"88",X"88",X"88",X"EE",X"EE",X"00",X"33",X"77",X"CC",X"88",X"CC",X"77",X"33",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"EE",X"EE",X"00",X"66",X"FF",X"99",X"99",X"99",X"FF",X"FF",X"00",
- X"44",X"66",X"22",X"22",X"66",X"CC",X"88",X"00",X"44",X"CC",X"88",X"88",X"CC",X"77",X"33",X"00",
- X"88",X"CC",X"66",X"22",X"22",X"EE",X"EE",X"00",X"33",X"77",X"CC",X"88",X"88",X"FF",X"FF",X"00",
- X"22",X"22",X"22",X"22",X"EE",X"EE",X"00",X"00",X"88",X"99",X"99",X"99",X"FF",X"FF",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"00",X"88",X"99",X"99",X"99",X"99",X"FF",X"FF",X"00",
- X"EE",X"EE",X"22",X"22",X"66",X"CC",X"88",X"00",X"99",X"99",X"99",X"88",X"CC",X"77",X"33",X"00",
- X"EE",X"EE",X"00",X"00",X"00",X"EE",X"EE",X"00",X"FF",X"FF",X"11",X"11",X"11",X"FF",X"FF",X"00",
- X"22",X"22",X"EE",X"EE",X"22",X"22",X"00",X"00",X"88",X"88",X"FF",X"FF",X"88",X"88",X"00",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"66",X"44",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
- X"22",X"66",X"EE",X"CC",X"88",X"EE",X"EE",X"00",X"88",X"CC",X"66",X"33",X"11",X"FF",X"FF",X"00",
- X"22",X"22",X"22",X"22",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",
- X"EE",X"EE",X"00",X"88",X"00",X"EE",X"EE",X"00",X"FF",X"FF",X"77",X"33",X"77",X"FF",X"FF",X"00",
- X"EE",X"EE",X"CC",X"88",X"00",X"EE",X"EE",X"00",X"FF",X"FF",X"11",X"33",X"77",X"FF",X"FF",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"EE",X"CC",X"00",X"77",X"FF",X"88",X"88",X"88",X"FF",X"77",X"00",
- X"00",X"88",X"88",X"88",X"88",X"EE",X"EE",X"00",X"77",X"FF",X"88",X"88",X"88",X"FF",X"FF",X"00",
- X"AA",X"CC",X"EE",X"AA",X"22",X"EE",X"CC",X"00",X"77",X"FF",X"88",X"88",X"88",X"FF",X"77",X"00",
- X"22",X"66",X"EE",X"CC",X"88",X"EE",X"EE",X"00",X"77",X"FF",X"99",X"88",X"88",X"FF",X"FF",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"66",X"44",X"00",X"00",X"55",X"DD",X"99",X"99",X"FF",X"66",X"00",
- X"00",X"00",X"EE",X"EE",X"00",X"00",X"00",X"00",X"88",X"88",X"FF",X"FF",X"88",X"88",X"00",X"00",
- X"CC",X"EE",X"22",X"22",X"22",X"EE",X"CC",X"00",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"00",
- X"00",X"88",X"CC",X"EE",X"CC",X"88",X"00",X"00",X"FF",X"FF",X"11",X"00",X"11",X"FF",X"FF",X"00",
- X"EE",X"EE",X"CC",X"88",X"CC",X"EE",X"EE",X"00",X"FF",X"FF",X"11",X"33",X"11",X"FF",X"FF",X"00",
- X"66",X"EE",X"CC",X"88",X"CC",X"EE",X"66",X"00",X"CC",X"EE",X"77",X"33",X"77",X"EE",X"CC",X"00",
- X"00",X"00",X"EE",X"EE",X"00",X"00",X"00",X"00",X"EE",X"FF",X"11",X"11",X"FF",X"EE",X"00",X"00",
- X"22",X"22",X"22",X"AA",X"EE",X"EE",X"66",X"00",X"CC",X"EE",X"FF",X"BB",X"99",X"88",X"88",X"00",
- X"00",X"00",X"00",X"00",X"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"00",X"00",X"00",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"11",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",
- X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
- X"44",X"AA",X"44",X"00",X"88",X"44",X"22",X"00",X"88",X"44",X"22",X"11",X"44",X"AA",X"44",X"00",
- X"00",X"00",X"00",X"00",X"66",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"11",X"11",X"11",X"11",X"11",X"11",X"11",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"BB",X"00",X"00",X"00",X"00",X"CC",X"EE",X"FF",X"33",X"00",X"00",
- X"FF",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"CC",X"22",X"11",X"55",X"55",X"99",X"22",X"CC",X"33",X"44",X"88",X"AA",X"AA",X"99",X"44",X"33",
- X"00",X"00",X"00",X"00",X"0F",X"0F",X"00",X"00",X"0C",X"0C",X"0C",X"0C",X"0F",X"0F",X"00",X"00",
- X"0B",X"0B",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0D",X"0D",X"0D",X"01",X"00",X"00",X"07",X"0F",
- X"0F",X"00",X"00",X"0F",X"0F",X"0F",X"0B",X"0B",X"0F",X"00",X"00",X"07",X"0F",X"0F",X"0D",X"0D",
- X"0F",X"00",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0C",X"0C",X"0F",X"0F",X"0C",X"0C",X"0F",
- X"03",X"03",X"03",X"0F",X"0E",X"00",X"00",X"0F",X"0C",X"0C",X"0C",X"0F",X"07",X"00",X"00",X"07",
- X"03",X"0F",X"0E",X"00",X"00",X"03",X"03",X"03",X"0C",X"0F",X"07",X"00",X"00",X"0C",X"0C",X"0C",
- X"00",X"00",X"0E",X"0F",X"03",X"03",X"03",X"03",X"00",X"00",X"07",X"0F",X"0C",X"0C",X"0C",X"0C",
- X"00",X"F9",X"F9",X"F9",X"F9",X"F9",X"F9",X"F9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"88",X"CC",X"6E",X"BF",X"6E",X"CC",X"88",X"00",X"F3",X"E3",X"F3",X"F3",X"F3",X"E3",X"F3",
- X"00",X"F0",X"FB",X"FB",X"FA",X"FE",X"FE",X"F0",X"00",X"32",X"32",X"32",X"32",X"32",X"32",X"32",
- X"00",X"88",X"4C",X"AE",X"DF",X"AE",X"4C",X"88",X"00",X"F3",X"FB",X"FB",X"FB",X"FB",X"FB",X"F3",
- X"0F",X"6F",X"CF",X"8F",X"AF",X"BF",X"FF",X"00",X"23",X"33",X"33",X"33",X"33",X"33",X"33",X"00",
- X"7F",X"EE",X"CC",X"88",X"00",X"00",X"00",X"00",X"0F",X"7F",X"0F",X"BF",X"FF",X"EE",X"CC",X"00",
- X"00",X"00",X"FF",X"BF",X"AF",X"8F",X"CF",X"6F",X"00",X"00",X"33",X"33",X"33",X"33",X"33",X"33",
- X"00",X"00",X"00",X"00",X"00",X"88",X"CC",X"EE",X"00",X"00",X"CC",X"EE",X"FF",X"BF",X"0F",X"7F",
- X"0F",X"96",X"3C",X"78",X"78",X"2D",X"87",X"F0",X"87",X"D2",X"F0",X"E1",X"E1",X"F0",X"F0",X"F0",
- X"78",X"68",X"48",X"80",X"00",X"00",X"00",X"00",X"5A",X"D2",X"C3",X"96",X"3C",X"68",X"C0",X"80",
- X"00",X"F0",X"87",X"2D",X"78",X"78",X"3C",X"96",X"00",X"F0",X"F0",X"F0",X"E1",X"E1",X"F0",X"D2",
- X"00",X"00",X"00",X"00",X"00",X"80",X"48",X"68",X"00",X"80",X"C0",X"68",X"3C",X"96",X"C3",X"D2",
- X"FF",X"FF",X"DD",X"FF",X"BB",X"FF",X"FF",X"0F",X"7F",X"7F",X"0F",X"0F",X"1F",X"3F",X"1F",X"0F",
- X"0F",X"0E",X"8C",X"08",X"00",X"00",X"00",X"00",X"FF",X"77",X"9F",X"0F",X"8F",X"0E",X"CC",X"08",
- X"00",X"0F",X"FF",X"FF",X"BB",X"FF",X"DD",X"FF",X"00",X"0F",X"1F",X"3F",X"1F",X"2F",X"2F",X"5D",
- X"00",X"00",X"00",X"00",X"00",X"08",X"8C",X"0E",X"00",X"08",X"CC",X"0E",X"8F",X"0F",X"9F",X"77",
- X"DF",X"DF",X"F0",X"F0",X"F0",X"F0",X"DF",X"DF",X"EF",X"EF",X"FC",X"FC",X"FC",X"FC",X"EF",X"EF",
- X"F7",X"EE",X"CC",X"88",X"00",X"00",X"00",X"00",X"F8",X"F0",X"F1",X"F3",X"F7",X"EE",X"CC",X"88",
- X"00",X"DF",X"DF",X"F0",X"F0",X"F0",X"F0",X"DF",X"00",X"EF",X"EF",X"FC",X"FC",X"FC",X"FC",X"EF",
- X"00",X"00",X"00",X"00",X"00",X"88",X"CC",X"EE",X"00",X"88",X"CC",X"EE",X"F7",X"F3",X"F1",X"F0",
- X"FE",X"FF",X"11",X"00",X"71",X"00",X"10",X"00",X"77",X"11",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"10",X"00",X"71",X"00",X"11",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",
- X"EE",X"88",X"C0",X"C0",X"88",X"CC",X"EE",X"00",X"F7",X"F3",X"FE",X"7F",X"BF",X"11",X"F7",X"00",
- X"00",X"00",X"EE",X"CC",X"88",X"C0",X"C0",X"88",X"00",X"00",X"F7",X"11",X"BF",X"7F",X"FE",X"F3",
- X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"18",X"18",X"10",X"20",X"40",X"51",X"91",X"22",X"00",X"00",X"01",X"01",X"0E",X"00",X"10",X"E0",
- X"22",X"91",X"51",X"40",X"20",X"10",X"18",X"18",X"E0",X"10",X"00",X"0E",X"01",X"01",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"51",X"91",X"22",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"18",X"18",X"18",X"10",X"10",X"20",X"20",X"40",X"44",X"44",X"44",X"89",X"89",X"01",X"02",X"02",
- X"40",X"20",X"20",X"10",X"10",X"18",X"18",X"18",X"02",X"02",X"01",X"89",X"89",X"44",X"44",X"44",
- X"00",X"00",X"00",X"00",X"00",X"22",X"91",X"51",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",
- X"51",X"51",X"51",X"A2",X"00",X"00",X"00",X"00",X"02",X"02",X"04",X"00",X"00",X"00",X"00",X"00",
- X"18",X"18",X"18",X"18",X"18",X"20",X"20",X"20",X"44",X"44",X"44",X"44",X"44",X"45",X"89",X"89",
- X"20",X"20",X"20",X"18",X"18",X"18",X"18",X"18",X"89",X"89",X"45",X"44",X"44",X"44",X"44",X"44",
- X"00",X"00",X"00",X"00",X"A2",X"51",X"51",X"51",X"00",X"00",X"00",X"00",X"00",X"04",X"02",X"02",
- X"20",X"20",X"51",X"51",X"91",X"22",X"00",X"00",X"01",X"02",X"02",X"02",X"04",X"00",X"00",X"00",
- X"18",X"18",X"18",X"18",X"18",X"18",X"20",X"20",X"44",X"44",X"44",X"44",X"44",X"44",X"89",X"89",
- X"20",X"20",X"18",X"18",X"18",X"18",X"18",X"18",X"89",X"89",X"44",X"44",X"44",X"44",X"44",X"44",
- X"00",X"00",X"22",X"91",X"51",X"51",X"20",X"20",X"00",X"00",X"00",X"04",X"02",X"02",X"02",X"01",
- X"20",X"20",X"20",X"40",X"40",X"40",X"80",X"00",X"89",X"89",X"01",X"02",X"02",X"04",X"00",X"00",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"20",X"44",X"44",X"44",X"44",X"44",X"44",X"88",X"89",
- X"20",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"89",X"88",X"44",X"44",X"44",X"44",X"44",X"44",
- X"00",X"80",X"40",X"40",X"40",X"20",X"20",X"20",X"00",X"00",X"04",X"02",X"02",X"01",X"89",X"89",
- X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"20",X"20",X"20",X"20",X"40",X"40",X"40",X"40",X"89",X"89",X"89",X"89",X"8A",X"8A",X"8A",X"8C",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"28",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"28",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"40",X"40",X"40",X"40",X"20",X"20",X"20",X"20",X"8C",X"8A",X"8A",X"8A",X"89",X"89",X"89",X"89",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"91",X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"04",X"00",X"00",X"00",X"00",X"00",X"00",
- X"20",X"20",X"20",X"40",X"40",X"40",X"40",X"80",X"89",X"89",X"89",X"8A",X"8A",X"8A",X"8A",X"8C",
- X"18",X"18",X"18",X"18",X"18",X"28",X"28",X"28",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"28",X"28",X"28",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"80",X"40",X"40",X"40",X"40",X"20",X"20",X"20",X"8C",X"8A",X"8A",X"8A",X"8A",X"89",X"89",X"89",
- X"00",X"00",X"00",X"00",X"00",X"00",X"91",X"91",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"04",
- X"51",X"91",X"A2",X"A2",X"00",X"00",X"00",X"00",X"04",X"04",X"04",X"00",X"00",X"00",X"00",X"00",
- X"20",X"20",X"20",X"20",X"20",X"40",X"40",X"40",X"89",X"89",X"89",X"89",X"8A",X"8A",X"8A",X"8A",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"88",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"88",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"40",X"40",X"40",X"20",X"20",X"20",X"20",X"20",X"8A",X"8A",X"8A",X"8A",X"89",X"89",X"89",X"89",
- X"00",X"00",X"00",X"00",X"A2",X"A2",X"91",X"51",X"00",X"00",X"00",X"00",X"00",X"04",X"04",X"04",
- X"51",X"51",X"91",X"A2",X"A2",X"22",X"00",X"00",X"02",X"02",X"02",X"04",X"04",X"00",X"00",X"00",
- X"20",X"20",X"20",X"20",X"20",X"40",X"40",X"40",X"89",X"89",X"89",X"89",X"89",X"89",X"8A",X"8A",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"40",X"40",X"40",X"20",X"20",X"20",X"20",X"20",X"8A",X"8A",X"89",X"89",X"89",X"89",X"89",X"89",
- X"00",X"00",X"22",X"A2",X"A2",X"91",X"51",X"51",X"00",X"00",X"00",X"04",X"04",X"02",X"02",X"02",
- X"40",X"40",X"40",X"40",X"80",X"80",X"80",X"00",X"02",X"02",X"04",X"04",X"04",X"04",X"00",X"00",
- X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"89",X"89",X"89",X"89",X"89",X"8A",X"8A",X"8A",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",
- X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"8A",X"8A",X"8A",X"89",X"89",X"89",X"89",X"89",
- X"00",X"80",X"80",X"80",X"40",X"40",X"40",X"40",X"00",X"00",X"04",X"04",X"04",X"04",X"02",X"02",
- X"11",X"33",X"44",X"44",X"66",X"33",X"11",X"00",X"CC",X"EE",X"33",X"11",X"11",X"EE",X"CC",X"00",
- X"44",X"44",X"77",X"77",X"44",X"44",X"00",X"00",X"00",X"00",X"FF",X"FF",X"22",X"00",X"00",X"00",
- X"44",X"44",X"55",X"55",X"77",X"77",X"66",X"00",X"66",X"FF",X"DD",X"99",X"99",X"33",X"22",X"00",
- X"33",X"77",X"44",X"44",X"44",X"66",X"22",X"00",X"11",X"BB",X"FF",X"DD",X"99",X"11",X"00",X"00",
- X"11",X"77",X"77",X"11",X"11",X"11",X"11",X"00",X"00",X"FF",X"FF",X"33",X"66",X"CC",X"88",X"00",
- X"33",X"77",X"44",X"44",X"44",X"66",X"22",X"00",X"88",X"DD",X"55",X"55",X"55",X"77",X"77",X"00",
- X"33",X"77",X"44",X"44",X"44",X"77",X"33",X"00",X"00",X"99",X"99",X"99",X"BB",X"EE",X"CC",X"00",
- X"00",X"00",X"00",X"77",X"77",X"00",X"00",X"00",X"33",X"77",X"DD",X"99",X"11",X"33",X"33",X"00",
- X"33",X"77",X"55",X"55",X"44",X"44",X"33",X"00",X"00",X"66",X"99",X"99",X"DD",X"FF",X"66",X"00",
- X"11",X"33",X"66",X"44",X"44",X"44",X"00",X"00",X"EE",X"FF",X"99",X"99",X"99",X"FF",X"66",X"00",
- X"77",X"77",X"11",X"11",X"11",X"77",X"77",X"00",X"CC",X"EE",X"33",X"11",X"33",X"EE",X"CC",X"00",
- X"33",X"77",X"44",X"44",X"44",X"77",X"77",X"00",X"66",X"FF",X"99",X"99",X"99",X"FF",X"FF",X"00",
- X"22",X"66",X"44",X"44",X"66",X"33",X"11",X"00",X"22",X"33",X"11",X"11",X"33",X"EE",X"CC",X"00",
- X"11",X"33",X"66",X"44",X"44",X"77",X"77",X"00",X"CC",X"EE",X"33",X"11",X"11",X"FF",X"FF",X"00",
- X"44",X"44",X"44",X"44",X"77",X"77",X"00",X"00",X"11",X"99",X"99",X"99",X"FF",X"FF",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"77",X"77",X"00",X"11",X"99",X"99",X"99",X"99",X"FF",X"FF",X"00",
- X"77",X"77",X"44",X"44",X"66",X"33",X"11",X"00",X"99",X"99",X"99",X"11",X"33",X"EE",X"CC",X"00",
- X"77",X"77",X"00",X"00",X"00",X"77",X"77",X"00",X"FF",X"FF",X"88",X"88",X"88",X"FF",X"FF",X"00",
- X"44",X"44",X"77",X"77",X"44",X"44",X"00",X"00",X"11",X"11",X"FF",X"FF",X"11",X"11",X"00",X"00",
- X"33",X"77",X"44",X"44",X"44",X"66",X"22",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
- X"44",X"66",X"77",X"33",X"11",X"77",X"77",X"00",X"11",X"33",X"66",X"CC",X"88",X"FF",X"FF",X"00",
- X"44",X"44",X"44",X"44",X"77",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",
- X"77",X"77",X"00",X"11",X"00",X"77",X"77",X"00",X"FF",X"FF",X"EE",X"CC",X"EE",X"FF",X"FF",X"00",
- X"77",X"77",X"33",X"11",X"00",X"77",X"77",X"00",X"FF",X"FF",X"88",X"CC",X"EE",X"FF",X"FF",X"00",
- X"33",X"77",X"44",X"44",X"44",X"77",X"33",X"00",X"EE",X"FF",X"11",X"11",X"11",X"FF",X"EE",X"00",
- X"00",X"11",X"11",X"11",X"11",X"77",X"77",X"00",X"EE",X"FF",X"11",X"11",X"11",X"FF",X"FF",X"00",
- X"55",X"33",X"77",X"55",X"44",X"77",X"33",X"00",X"EE",X"FF",X"11",X"11",X"11",X"FF",X"EE",X"00",
- X"44",X"66",X"77",X"33",X"11",X"77",X"77",X"00",X"EE",X"FF",X"99",X"11",X"11",X"FF",X"FF",X"00",
- X"33",X"77",X"44",X"44",X"44",X"66",X"22",X"00",X"00",X"AA",X"BB",X"99",X"99",X"FF",X"66",X"00",
- X"00",X"00",X"77",X"77",X"00",X"00",X"00",X"00",X"11",X"11",X"FF",X"FF",X"11",X"11",X"00",X"00",
- X"33",X"77",X"44",X"44",X"44",X"77",X"33",X"00",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"00",
- X"00",X"11",X"33",X"77",X"33",X"11",X"00",X"00",X"FF",X"FF",X"88",X"00",X"88",X"FF",X"FF",X"00",
- X"77",X"77",X"33",X"11",X"33",X"77",X"77",X"00",X"FF",X"FF",X"88",X"CC",X"88",X"FF",X"FF",X"00",
- X"66",X"77",X"33",X"11",X"33",X"77",X"66",X"00",X"33",X"77",X"EE",X"CC",X"EE",X"77",X"33",X"00",
- X"00",X"00",X"77",X"77",X"00",X"00",X"00",X"00",X"77",X"FF",X"88",X"88",X"FF",X"77",X"00",X"00",
- X"44",X"44",X"44",X"55",X"77",X"77",X"66",X"00",X"33",X"77",X"FF",X"DD",X"99",X"11",X"11",X"00",
- X"00",X"00",X"00",X"00",X"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"00",X"00",X"00",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"FF",
- X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"11",X"11",X"11",X"11",X"11",X"11",
- X"22",X"55",X"22",X"00",X"11",X"22",X"44",X"00",X"11",X"22",X"44",X"88",X"22",X"55",X"22",X"00",
- X"00",X"00",X"00",X"00",X"66",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"88",X"88",X"88",X"88",X"88",X"88",X"88",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"DD",X"00",X"00",X"00",X"00",X"33",X"77",X"FF",X"CC",X"00",X"00",
- X"FF",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"33",X"44",X"88",X"AA",X"AA",X"99",X"44",X"33",X"CC",X"22",X"11",X"55",X"55",X"99",X"22",X"CC",
- X"00",X"00",X"00",X"00",X"0F",X"0F",X"00",X"00",X"03",X"03",X"03",X"03",X"0F",X"0F",X"00",X"00",
- X"0D",X"0D",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"0B",X"0B",X"0B",X"08",X"00",X"00",X"0E",X"0F",
- X"0F",X"00",X"00",X"0F",X"0F",X"0F",X"0D",X"0D",X"0F",X"00",X"00",X"0E",X"0F",X"0F",X"0B",X"0B",
- X"0F",X"00",X"00",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"03",X"03",X"0F",X"0F",X"03",X"03",X"0F",
- X"0C",X"0C",X"0C",X"0F",X"07",X"00",X"00",X"0F",X"03",X"03",X"03",X"0F",X"0E",X"00",X"00",X"0E",
- X"0C",X"0F",X"07",X"00",X"00",X"0C",X"0C",X"0C",X"03",X"0F",X"0E",X"00",X"00",X"03",X"03",X"03",
- X"00",X"00",X"07",X"0F",X"0C",X"0C",X"0C",X"0C",X"00",X"00",X"0E",X"0F",X"03",X"03",X"03",X"03",
- X"00",X"F9",X"F9",X"F9",X"F9",X"F9",X"F9",X"F9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"11",X"33",X"67",X"DF",X"67",X"33",X"11",X"00",X"FC",X"7C",X"FC",X"FC",X"FC",X"7C",X"FC",
- X"00",X"F0",X"FD",X"FD",X"F5",X"F7",X"F7",X"F0",X"00",X"C4",X"C4",X"C4",X"C4",X"C4",X"C4",X"C4",
- X"00",X"11",X"23",X"57",X"BF",X"57",X"23",X"11",X"00",X"FC",X"FD",X"FD",X"FD",X"FD",X"FD",X"FC",
- X"0F",X"6F",X"3F",X"1F",X"5F",X"DF",X"FF",X"00",X"4C",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",X"00",
- X"EF",X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"0F",X"EF",X"0F",X"DF",X"FF",X"77",X"33",X"00",
- X"00",X"00",X"FF",X"DF",X"5F",X"1F",X"3F",X"6F",X"00",X"00",X"CC",X"CC",X"CC",X"CC",X"CC",X"CC",
- X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"77",X"00",X"00",X"33",X"77",X"FF",X"DF",X"0F",X"EF",
- X"0F",X"96",X"C3",X"E1",X"E1",X"4B",X"1E",X"F0",X"1E",X"B4",X"F0",X"78",X"78",X"F0",X"F0",X"F0",
- X"E1",X"61",X"21",X"10",X"00",X"00",X"00",X"00",X"A5",X"B4",X"3C",X"96",X"C3",X"61",X"30",X"10",
- X"00",X"F0",X"1E",X"4B",X"E1",X"E1",X"C3",X"96",X"00",X"F0",X"F0",X"F0",X"78",X"78",X"F0",X"B4",
- X"00",X"00",X"00",X"00",X"00",X"10",X"21",X"61",X"00",X"10",X"30",X"61",X"C3",X"96",X"3C",X"B4",
- X"FF",X"FF",X"BB",X"FF",X"DD",X"FF",X"FF",X"0F",X"EF",X"EF",X"0F",X"0F",X"8F",X"CF",X"8F",X"0F",
- X"0F",X"07",X"13",X"01",X"00",X"00",X"00",X"00",X"FF",X"EE",X"9F",X"0F",X"1F",X"07",X"33",X"01",
- X"00",X"0F",X"FF",X"FF",X"DD",X"FF",X"BB",X"FF",X"00",X"0F",X"8F",X"CF",X"8F",X"4F",X"4F",X"AB",
- X"00",X"00",X"00",X"00",X"00",X"01",X"13",X"07",X"00",X"01",X"33",X"07",X"1F",X"0F",X"9F",X"EE",
- X"BF",X"BF",X"F0",X"F0",X"F0",X"F0",X"BF",X"BF",X"7F",X"7F",X"F3",X"F3",X"F3",X"F3",X"7F",X"7F",
- X"FE",X"77",X"33",X"11",X"00",X"00",X"00",X"00",X"F1",X"F0",X"F8",X"FC",X"FE",X"77",X"33",X"11",
- X"00",X"BF",X"BF",X"F0",X"F0",X"F0",X"F0",X"BF",X"00",X"7F",X"7F",X"F3",X"F3",X"F3",X"F3",X"7F",
- X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"77",X"00",X"11",X"33",X"77",X"FE",X"FC",X"F8",X"F0",
- X"F7",X"FF",X"88",X"00",X"E8",X"00",X"80",X"00",X"EE",X"88",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"80",X"00",X"E8",X"00",X"88",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",
- X"77",X"11",X"30",X"30",X"11",X"33",X"77",X"00",X"FE",X"FC",X"F7",X"EF",X"DF",X"88",X"FE",X"00",
- X"00",X"00",X"77",X"33",X"11",X"30",X"30",X"11",X"00",X"00",X"FE",X"88",X"DF",X"EF",X"F7",X"FC",
- X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"81",X"81",X"80",X"40",X"20",X"A8",X"98",X"44",X"00",X"00",X"08",X"08",X"07",X"00",X"80",X"70",
- X"44",X"98",X"A8",X"20",X"40",X"80",X"81",X"81",X"70",X"80",X"00",X"07",X"08",X"08",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"A8",X"98",X"44",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"81",X"81",X"81",X"80",X"80",X"40",X"40",X"20",X"22",X"22",X"22",X"19",X"19",X"08",X"04",X"04",
- X"20",X"40",X"40",X"80",X"80",X"81",X"81",X"81",X"04",X"04",X"08",X"19",X"19",X"22",X"22",X"22",
- X"00",X"00",X"00",X"00",X"00",X"44",X"98",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",
- X"A8",X"A8",X"A8",X"54",X"00",X"00",X"00",X"00",X"04",X"04",X"02",X"00",X"00",X"00",X"00",X"00",
- X"81",X"81",X"81",X"81",X"81",X"40",X"40",X"40",X"22",X"22",X"22",X"22",X"22",X"2A",X"19",X"19",
- X"40",X"40",X"40",X"81",X"81",X"81",X"81",X"81",X"19",X"19",X"2A",X"22",X"22",X"22",X"22",X"22",
- X"00",X"00",X"00",X"00",X"54",X"A8",X"A8",X"A8",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"04",
- X"40",X"40",X"A8",X"A8",X"98",X"44",X"00",X"00",X"08",X"04",X"04",X"04",X"02",X"00",X"00",X"00",
- X"81",X"81",X"81",X"81",X"81",X"81",X"40",X"40",X"22",X"22",X"22",X"22",X"22",X"22",X"19",X"19",
- X"40",X"40",X"81",X"81",X"81",X"81",X"81",X"81",X"19",X"19",X"22",X"22",X"22",X"22",X"22",X"22",
- X"00",X"00",X"44",X"98",X"A8",X"A8",X"40",X"40",X"00",X"00",X"00",X"02",X"04",X"04",X"04",X"08",
- X"40",X"40",X"40",X"20",X"20",X"20",X"10",X"00",X"19",X"19",X"08",X"04",X"04",X"02",X"00",X"00",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"40",X"22",X"22",X"22",X"22",X"22",X"22",X"11",X"19",
- X"40",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"19",X"11",X"22",X"22",X"22",X"22",X"22",X"22",
- X"00",X"10",X"20",X"20",X"20",X"40",X"40",X"40",X"00",X"00",X"02",X"04",X"04",X"08",X"19",X"19",
- X"98",X"00",X"00",X"00",X"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"40",X"40",X"40",X"20",X"20",X"20",X"20",X"19",X"19",X"19",X"19",X"15",X"15",X"15",X"13",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"41",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"41",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"20",X"20",X"20",X"20",X"40",X"40",X"40",X"40",X"13",X"15",X"15",X"15",X"19",X"19",X"19",X"19",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"98",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"98",X"98",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
- X"40",X"40",X"40",X"20",X"20",X"20",X"20",X"10",X"19",X"19",X"19",X"15",X"15",X"15",X"15",X"13",
- X"81",X"81",X"81",X"81",X"81",X"41",X"41",X"41",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"41",X"41",X"41",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"10",X"20",X"20",X"20",X"20",X"40",X"40",X"40",X"13",X"15",X"15",X"15",X"15",X"19",X"19",X"19",
- X"00",X"00",X"00",X"00",X"00",X"00",X"98",X"98",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",
- X"A8",X"98",X"54",X"54",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",
- X"40",X"40",X"40",X"40",X"40",X"20",X"20",X"20",X"19",X"19",X"19",X"19",X"15",X"15",X"15",X"15",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"11",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"11",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"20",X"20",X"20",X"40",X"40",X"40",X"40",X"40",X"15",X"15",X"15",X"15",X"19",X"19",X"19",X"19",
- X"00",X"00",X"00",X"00",X"54",X"54",X"98",X"A8",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",
- X"A8",X"A8",X"98",X"54",X"54",X"44",X"00",X"00",X"04",X"04",X"04",X"02",X"02",X"00",X"00",X"00",
- X"40",X"40",X"40",X"40",X"40",X"20",X"20",X"20",X"19",X"19",X"19",X"19",X"19",X"19",X"15",X"15",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"20",X"20",X"20",X"40",X"40",X"40",X"40",X"40",X"15",X"15",X"19",X"19",X"19",X"19",X"19",X"19",
- X"00",X"00",X"44",X"54",X"54",X"98",X"A8",X"A8",X"00",X"00",X"00",X"02",X"02",X"04",X"04",X"04",
- X"20",X"20",X"20",X"20",X"10",X"10",X"10",X"00",X"04",X"04",X"02",X"02",X"02",X"02",X"00",X"00",
- X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"19",X"19",X"19",X"19",X"19",X"15",X"15",X"15",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"81",X"22",X"22",X"22",X"22",X"22",X"22",X"22",X"22",
- X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"15",X"15",X"15",X"19",X"19",X"19",X"19",X"19",
- X"00",X"10",X"10",X"10",X"20",X"20",X"20",X"20",X"00",X"00",X"02",X"02",X"02",X"02",X"04",X"04");
-begin
-process(clk)
-begin
- if rising_edge(clk) then
- data <= rom_data(to_integer(unsigned(addr)));
- end if;
-end process;
-end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/cs54xx_prog.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/cs54xx_prog.vhd
deleted file mode 100644
index 6bc7f7fd..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/cs54xx_prog.vhd
+++ /dev/null
@@ -1,86 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity cs54xx_prog is
-port (
- clk : in std_logic;
- addr : in std_logic_vector(9 downto 0);
- data : out std_logic_vector(7 downto 0)
-);
-end entity;
-
-architecture prom of cs54xx_prog is
- type rom is array(0 to 1023) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"C6",X"C6",X"52",X"12",X"3D",X"06",X"58",X"80",X"90",X"1B",X"0A",X"CA",X"1B",X"71",X"B8",X"C9",
- X"3E",X"04",X"59",X"84",X"0D",X"1C",X"18",X"0D",X"1C",X"1A",X"0D",X"1C",X"1A",X"0D",X"1C",X"1A",
- X"0D",X"1C",X"1D",X"1C",X"83",X"2F",X"71",X"08",X"0A",X"0D",X"80",X"38",X"F8",X"23",X"01",X"88",
- X"20",X"08",X"0D",X"21",X"0E",X"1A",X"68",X"41",X"88",X"22",X"23",X"90",X"01",X"89",X"0D",X"0E",
- X"1A",X"0D",X"7F",X"68",X"90",X"58",X"19",X"68",X"90",X"59",X"86",X"19",X"68",X"90",X"08",X"19",
- X"68",X"90",X"08",X"19",X"0D",X"B1",X"D8",X"DF",X"B2",X"FF",X"90",X"85",X"1D",X"92",X"E6",X"5B",
- X"81",X"0D",X"59",X"85",X"1D",X"91",X"23",X"0C",X"04",X"5B",X"0D",X"B0",X"F5",X"50",X"08",X"0D",
- X"B0",X"F8",X"88",X"59",X"D3",X"50",X"08",X"0D",X"59",X"87",X"1A",X"50",X"1D",X"68",X"90",X"85",
- X"0D",X"7F",X"68",X"90",X"0D",X"23",X"1C",X"23",X"0E",X"1C",X"1D",X"91",X"88",X"1D",X"68",X"66",
- X"89",X"59",X"93",X"0F",X"B1",X"D8",X"8E",X"09",X"8A",X"0D",X"8E",X"38",X"DE",X"90",X"21",X"01",
- X"38",X"E5",X"89",X"20",X"E7",X"89",X"22",X"8D",X"0D",X"7F",X"68",X"FC",X"58",X"19",X"68",X"FC",
- X"59",X"8B",X"19",X"68",X"FC",X"08",X"19",X"68",X"FC",X"08",X"19",X"0D",X"B1",X"68",X"C0",X"C9",
- X"B2",X"68",X"EC",X"90",X"8A",X"1D",X"92",X"68",X"D0",X"5B",X"89",X"0D",X"59",X"8A",X"1D",X"91",
- X"23",X"0C",X"78",X"04",X"5B",X"0D",X"B0",X"68",X"E3",X"50",X"08",X"0D",X"B0",X"68",X"E6",X"59",
- X"8D",X"68",X"BA",X"50",X"08",X"0D",X"59",X"8C",X"1A",X"50",X"1D",X"FC",X"8A",X"0D",X"7F",X"FC",
- X"0D",X"23",X"1C",X"23",X"0E",X"1C",X"1D",X"91",X"8D",X"1D",X"68",X"D0",X"5A",X"8F",X"0D",X"8B",
- X"3B",X"C3",X"90",X"81",X"03",X"88",X"0D",X"8A",X"23",X"0E",X"1D",X"89",X"0D",X"8B",X"0E",X"1D",
- X"59",X"80",X"38",X"E1",X"5A",X"86",X"0D",X"23",X"8A",X"0E",X"1D",X"87",X"0D",X"8B",X"0E",X"1D",
- X"59",X"8F",X"0D",X"7F",X"68",X"12",X"5A",X"8C",X"19",X"68",X"12",X"08",X"19",X"68",X"12",X"08",
- X"19",X"68",X"12",X"8F",X"59",X"19",X"0D",X"B0",X"69",X"47",X"5A",X"0D",X"1C",X"23",X"0E",X"1C",
- X"1D",X"7F",X"68",X"12",X"91",X"59",X"1D",X"5A",X"84",X"0D",X"8D",X"1D",X"7F",X"D7",X"85",X"0D",
- X"8E",X"1D",X"8C",X"90",X"1D",X"68",X"12",X"85",X"0D",X"8E",X"1D",X"B0",X"E3",X"8F",X"1D",X"59",
- X"1D",X"68",X"12",X"90",X"8C",X"1D",X"68",X"12",X"1B",X"53",X"54",X"80",X"13",X"5A",X"8F",X"1D",
- X"54",X"53",X"1B",X"52",X"3E",X"04",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"FC",X"00",X"00",X"00",X"69",X"C0",X"00",X"00",X"69",X"DC",X"00",X"00",X"6A",X"55",X"00",X"00",
- X"6A",X"5D",X"00",X"00",X"69",X"F9",X"00",X"00",X"6A",X"40",X"00",X"00",X"69",X"68",X"00",X"00",
- X"FC",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",
- X"FC",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"52",X"3E",X"04",X"3C",
- X"1B",X"53",X"54",X"5B",X"80",X"0D",X"59",X"85",X"1D",X"88",X"93",X"1D",X"5B",X"87",X"0D",X"59",
- X"1A",X"5B",X"0D",X"59",X"1D",X"54",X"53",X"1B",X"52",X"3E",X"04",X"3C",X"1B",X"53",X"54",X"5B",
- X"88",X"0D",X"59",X"8A",X"1D",X"8D",X"93",X"0A",X"5B",X"0D",X"51",X"08",X"0D",X"59",X"8C",X"1A",
- X"51",X"1D",X"53",X"1B",X"52",X"54",X"3E",X"04",X"3C",X"1B",X"53",X"54",X"5A",X"81",X"0D",X"8C",
- X"1D",X"82",X"0D",X"8D",X"1D",X"83",X"0D",X"8E",X"1D",X"80",X"0D",X"8F",X"1D",X"92",X"59",X"1D",
- X"53",X"1B",X"52",X"54",X"3E",X"04",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"1B",X"53",X"54",X"5A",X"89",X"55",X"3F",X"04",X"25",X"CB",X"C8",X"25",X"CB",X"80",X"13",X"55",
- X"1A",X"12",X"1A",X"55",X"E5",X"1B",X"53",X"54",X"87",X"55",X"3F",X"04",X"E5",X"1B",X"53",X"5B",
- X"54",X"8F",X"55",X"3F",X"04",X"25",X"E8",X"E5",X"25",X"E8",X"80",X"13",X"55",X"1A",X"12",X"1A",
- X"14",X"55",X"23",X"0C",X"BE",X"E5",X"53",X"1B",X"52",X"54",X"3E",X"04",X"3C",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
-begin
-process(clk)
-begin
- if rising_edge(clk) then
- data <= rom_data(to_integer(unsigned(addr)));
- end if;
-end process;
-end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu1.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu1.vhd
deleted file mode 100644
index 1fe98b38..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu1.vhd
+++ /dev/null
@@ -1,1046 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity galaga_cpu1 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 galaga_cpu1 is
- type rom is array(0 to 16383) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"3E",X"10",X"32",X"00",X"71",X"C3",X"C4",X"02",X"87",X"30",X"05",X"24",X"C3",X"10",X"00",X"FF",
- X"85",X"6F",X"D0",X"24",X"C9",X"FF",X"FF",X"FF",X"77",X"23",X"10",X"FC",X"C9",X"FF",X"FF",X"FF",
- X"7B",X"D6",X"20",X"5F",X"D0",X"15",X"C9",X"FF",X"21",X"00",X"91",X"06",X"F0",X"AF",X"DF",X"C9",
- X"37",X"08",X"C3",X"B5",X"13",X"FF",X"FF",X"FF",X"C3",X"37",X"02",X"E9",X"21",X"00",X"93",X"06",
- X"80",X"AF",X"DF",X"21",X"00",X"9B",X"06",X"80",X"DF",X"21",X"00",X"88",X"3E",X"80",X"06",X"80",
- X"DF",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D9",X"ED",X"A0",X"EA",X"8F",X"00",X"F5",X"21",X"00",X"71",
- X"36",X"10",X"3A",X"B9",X"9A",X"A7",X"28",X"16",X"AF",X"32",X"B9",X"9A",X"21",X"92",X"00",X"11",
- X"00",X"70",X"01",X"04",X"00",X"D9",X"3E",X"A8",X"32",X"00",X"71",X"F1",X"ED",X"45",X"F1",X"D9",
- X"ED",X"45",X"10",X"10",X"20",X"20",X"3A",X"08",X"3B",X"08",X"B2",X"17",X"00",X"17",X"86",X"1A",
- X"6A",X"08",X"3A",X"08",X"3A",X"08",X"24",X"29",X"EC",X"1D",X"9E",X"2A",X"B9",X"1D",X"EB",X"23",
- X"AA",X"1E",X"38",X"1D",X"48",X"09",X"6B",X"1B",X"B2",X"19",X"7C",X"1D",X"3A",X"08",X"8B",X"1F",
- X"0A",X"1F",X"3A",X"08",X"D8",X"1D",X"30",X"22",X"D9",X"21",X"3A",X"08",X"3A",X"08",X"F2",X"20",
- X"00",X"20",X"3A",X"08",X"8A",X"09",X"11",X"ED",X"83",X"21",X"B9",X"02",X"01",X"05",X"00",X"ED",
- X"B0",X"1E",X"CB",X"21",X"EB",X"00",X"0E",X"11",X"ED",X"B0",X"C9",X"0E",X"1B",X"18",X"0C",X"1C",
- X"24",X"11",X"10",X"12",X"11",X"24",X"24",X"24",X"24",X"19",X"1E",X"01",X"FF",X"FF",X"FF",X"FF",
- X"14",X"06",X"14",X"0C",X"14",X"08",X"14",X"0A",X"1C",X"00",X"1C",X"12",X"1E",X"00",X"1E",X"12",
- X"1C",X"02",X"1C",X"10",X"1E",X"02",X"1E",X"10",X"1C",X"04",X"1C",X"0E",X"1E",X"04",X"1E",X"0E",
- X"1C",X"06",X"1C",X"0C",X"1E",X"06",X"1E",X"0C",X"1C",X"08",X"1C",X"0A",X"1E",X"08",X"1E",X"0A",
- X"16",X"06",X"16",X"0C",X"16",X"08",X"16",X"0A",X"18",X"00",X"18",X"12",X"1A",X"00",X"1A",X"12",
- X"18",X"02",X"18",X"10",X"1A",X"02",X"1A",X"10",X"18",X"04",X"18",X"0E",X"1A",X"04",X"1A",X"0E",
- X"18",X"06",X"18",X"0C",X"1A",X"06",X"1A",X"0C",X"18",X"08",X"18",X"0A",X"1A",X"08",X"1A",X"0A",
- X"21",X"40",X"80",X"11",X"41",X"80",X"01",X"7F",X"03",X"36",X"24",X"ED",X"B0",X"21",X"40",X"84",
- X"11",X"41",X"84",X"01",X"7F",X"03",X"36",X"00",X"ED",X"B0",X"3E",X"04",X"06",X"20",X"DF",X"3E",
- X"4E",X"06",X"20",X"DF",X"C9",X"21",X"21",X"98",X"34",X"7E",X"3C",X"E6",X"03",X"32",X"25",X"98",
- X"28",X"10",X"0E",X"06",X"F7",X"EB",X"3A",X"21",X"98",X"6F",X"26",X"00",X"CD",X"66",X"0A",X"AF",
- X"18",X"0A",X"0E",X"07",X"F7",X"3E",X"01",X"32",X"AD",X"9A",X"3E",X"08",X"32",X"A8",X"92",X"3E",
- X"03",X"32",X"AE",X"92",X"32",X"0B",X"92",X"3A",X"25",X"98",X"A7",X"08",X"CD",X"7F",X"11",X"3A",
- X"AE",X"92",X"A7",X"20",X"FA",X"3E",X"78",X"32",X"AE",X"92",X"CD",X"A4",X"28",X"CD",X"B0",X"25",
- X"3E",X"02",X"32",X"AC",X"92",X"AF",X"CD",X"D5",X"12",X"AF",X"06",X"30",X"21",X"00",X"92",X"77",
- X"2C",X"2C",X"10",X"FB",X"32",X"09",X"90",X"32",X"10",X"90",X"32",X"04",X"90",X"32",X"88",X"92",
- X"32",X"2C",X"98",X"32",X"41",X"98",X"32",X"42",X"98",X"32",X"26",X"98",X"32",X"B0",X"99",X"32",
- X"24",X"98",X"3C",X"32",X"2D",X"98",X"32",X"6D",X"98",X"32",X"28",X"98",X"32",X"0B",X"90",X"32",
- X"08",X"90",X"32",X"0A",X"90",X"CD",X"00",X"2C",X"21",X"30",X"98",X"11",X"B5",X"01",X"06",X"04",
- X"72",X"2C",X"73",X"2C",X"10",X"FA",X"3A",X"05",X"68",X"CB",X"4F",X"C0",X"0E",X"0B",X"21",X"B0",
- X"83",X"CD",X"B3",X"13",X"C3",X"85",X"01",X"F5",X"08",X"F5",X"C5",X"D5",X"E5",X"DD",X"E5",X"FD",
- X"E5",X"3A",X"04",X"68",X"57",X"3A",X"A0",X"92",X"E6",X"1C",X"4F",X"0F",X"A9",X"E6",X"18",X"4F",
- X"3A",X"BE",X"99",X"CB",X"4A",X"20",X"02",X"3E",X"07",X"E6",X"07",X"B1",X"06",X"05",X"21",X"00",
- X"A0",X"77",X"2C",X"0F",X"10",X"FB",X"32",X"30",X"68",X"AF",X"32",X"20",X"68",X"CB",X"4A",X"CA",
- X"A8",X"02",X"4F",X"21",X"00",X"90",X"79",X"85",X"6F",X"7E",X"A7",X"20",X"03",X"0C",X"18",X"F3",
- X"47",X"21",X"96",X"00",X"79",X"CB",X"27",X"85",X"6F",X"5E",X"23",X"56",X"EB",X"C5",X"CD",X"3B",
- X"00",X"C1",X"78",X"81",X"4F",X"E6",X"E0",X"28",X"DA",X"21",X"00",X"70",X"11",X"B5",X"99",X"01",
- X"03",X"00",X"D9",X"3E",X"71",X"32",X"00",X"71",X"3E",X"01",X"32",X"20",X"68",X"FD",X"E1",X"DD",
- X"E1",X"E1",X"D1",X"C1",X"F1",X"08",X"F1",X"FB",X"C9",X"00",X"00",X"00",X"00",X"02",X"24",X"17",
- X"0A",X"16",X"0C",X"18",X"ED",X"56",X"AF",X"21",X"E0",X"99",X"06",X"10",X"77",X"23",X"10",X"FC",
- X"C3",X"6C",X"33",X"31",X"A0",X"90",X"AF",X"21",X"AC",X"92",X"06",X"04",X"DF",X"21",X"A0",X"9A",
- X"06",X"20",X"DF",X"32",X"07",X"A0",X"32",X"15",X"92",X"32",X"B9",X"99",X"3D",X"21",X"CA",X"92",
- X"06",X"10",X"DF",X"3E",X"01",X"32",X"20",X"68",X"21",X"C0",X"83",X"06",X"40",X"3E",X"24",X"DF",
- X"26",X"80",X"06",X"40",X"DF",X"21",X"00",X"84",X"06",X"40",X"3E",X"03",X"DF",X"CD",X"60",X"01",
- X"11",X"20",X"8A",X"3E",X"05",X"06",X"00",X"21",X"B9",X"02",X"0E",X"06",X"ED",X"B0",X"3D",X"20",
- X"F6",X"21",X"BF",X"02",X"3E",X"2A",X"06",X"05",X"0E",X"FF",X"ED",X"A0",X"2B",X"12",X"1C",X"ED",
- X"A0",X"10",X"F7",X"3E",X"01",X"32",X"01",X"92",X"21",X"05",X"A0",X"36",X"00",X"77",X"CD",X"3C",
- X"00",X"CD",X"D6",X"00",X"CD",X"42",X"12",X"EF",X"3E",X"20",X"32",X"1E",X"90",X"3A",X"B5",X"99",
- X"32",X"B8",X"99",X"AF",X"32",X"1E",X"90",X"32",X"20",X"90",X"AF",X"32",X"07",X"A0",X"32",X"15",
- X"92",X"32",X"12",X"90",X"06",X"80",X"21",X"00",X"92",X"DF",X"3E",X"06",X"32",X"BE",X"99",X"EF",
- X"CD",X"3C",X"00",X"CD",X"42",X"12",X"3A",X"B8",X"99",X"A7",X"3E",X"01",X"28",X"02",X"3E",X"02",
- X"32",X"01",X"92",X"20",X"18",X"AF",X"32",X"03",X"92",X"3C",X"32",X"02",X"90",X"3A",X"01",X"92",
- X"3D",X"28",X"FA",X"CD",X"42",X"12",X"CD",X"60",X"01",X"EF",X"CD",X"3C",X"00",X"AF",X"32",X"0B",
- X"92",X"0E",X"13",X"F7",X"0E",X"01",X"F7",X"21",X"52",X"04",X"22",X"80",X"92",X"3A",X"80",X"99",
- X"FE",X"FF",X"28",X"24",X"5F",X"0E",X"1B",X"CD",X"3D",X"04",X"3A",X"81",X"99",X"FE",X"FF",X"28",
- X"17",X"E6",X"7F",X"5F",X"0E",X"1C",X"CD",X"3D",X"04",X"3A",X"81",X"99",X"CB",X"7F",X"20",X"08",
- X"E6",X"7F",X"5F",X"0E",X"1D",X"CD",X"3D",X"04",X"3A",X"01",X"92",X"FE",X"02",X"28",X"F9",X"32",
- X"B7",X"9A",X"CD",X"60",X"01",X"CD",X"3C",X"00",X"21",X"05",X"A0",X"36",X"00",X"36",X"01",X"21",
- X"20",X"98",X"AF",X"06",X"A0",X"DF",X"32",X"B7",X"9A",X"32",X"B9",X"99",X"3C",X"32",X"AB",X"9A",
- X"32",X"12",X"90",X"32",X"F2",X"98",X"CD",X"66",X"04",X"CD",X"7B",X"12",X"0E",X"04",X"F7",X"21",
- X"AF",X"92",X"36",X"08",X"7E",X"A7",X"20",X"FC",X"21",X"90",X"92",X"06",X"10",X"DF",X"06",X"30",
- X"21",X"B0",X"98",X"DF",X"21",X"B0",X"83",X"0E",X"0B",X"CD",X"B3",X"13",X"3E",X"01",X"32",X"80",
- X"98",X"3A",X"80",X"99",X"32",X"3E",X"98",X"32",X"7E",X"98",X"C3",X"22",X"06",X"F7",X"EB",X"7B",
- X"C6",X"40",X"5F",X"26",X"00",X"CD",X"66",X"0A",X"EB",X"0E",X"1E",X"CD",X"B3",X"13",X"CD",X"9E",
- X"12",X"C9",X"00",X"81",X"19",X"56",X"02",X"81",X"19",X"62",X"04",X"81",X"19",X"6E",X"CD",X"3B",
- X"07",X"CD",X"1E",X"08",X"18",X"F8",X"3A",X"00",X"68",X"4F",X"21",X"B3",X"99",X"3A",X"82",X"99",
- X"CB",X"46",X"28",X"08",X"CB",X"49",X"20",X"04",X"3C",X"87",X"36",X"00",X"32",X"20",X"98",X"32",
- X"60",X"98",X"11",X"F8",X"83",X"21",X"A8",X"04",X"CD",X"99",X"04",X"11",X"E3",X"83",X"21",X"A8",
- X"04",X"3A",X"B3",X"99",X"A7",X"20",X"02",X"23",X"23",X"0E",X"07",X"ED",X"B0",X"21",X"AA",X"04",
- X"11",X"C3",X"83",X"0E",X"04",X"ED",X"B0",X"C9",X"00",X"00",X"24",X"24",X"24",X"24",X"24",X"24",
- X"24",X"E1",X"21",X"AF",X"92",X"36",X"04",X"3A",X"1D",X"90",X"A7",X"28",X"17",X"AF",X"32",X"13",
- X"92",X"3C",X"32",X"25",X"90",X"3A",X"A7",X"92",X"A7",X"C2",X"5E",X"04",X"3A",X"1D",X"90",X"A7",
- X"20",X"FA",X"18",X"1B",X"7E",X"A7",X"20",X"DF",X"CD",X"3B",X"07",X"3A",X"A7",X"92",X"32",X"43",
- X"98",X"4F",X"3A",X"13",X"92",X"B1",X"20",X"0D",X"3A",X"25",X"98",X"A7",X"CA",X"63",X"06",X"CD",
- X"85",X"01",X"C3",X"45",X"06",X"21",X"20",X"98",X"7E",X"35",X"A7",X"C2",X"8C",X"05",X"3A",X"B3",
- X"99",X"A7",X"28",X"0C",X"21",X"4E",X"82",X"3A",X"40",X"98",X"C6",X"04",X"4F",X"CD",X"B3",X"13",
- X"0E",X"02",X"F7",X"CD",X"31",X"13",X"CD",X"31",X"13",X"21",X"18",X"90",X"7E",X"A7",X"20",X"FC",
- X"EF",X"CD",X"3C",X"00",X"CD",X"60",X"01",X"0E",X"15",X"F7",X"0E",X"16",X"F7",X"11",X"32",X"81",
- X"2A",X"46",X"98",X"CD",X"66",X"0A",X"0E",X"18",X"F7",X"11",X"35",X"81",X"2A",X"44",X"98",X"CD",
- X"66",X"0A",X"0E",X"19",X"F7",X"CD",X"85",X"0A",X"EB",X"0E",X"1A",X"CD",X"B3",X"13",X"21",X"AE",
- X"92",X"36",X"0E",X"7E",X"A7",X"20",X"FC",X"CD",X"60",X"01",X"CD",X"00",X"30",X"AF",X"32",X"B0",
- X"9A",X"21",X"AC",X"9A",X"11",X"B6",X"9A",X"1A",X"46",X"B0",X"28",X"09",X"04",X"05",X"28",X"02",
- X"36",X"01",X"76",X"18",X"F2",X"CD",X"60",X"01",X"3A",X"B3",X"99",X"A7",X"CA",X"F1",X"06",X"3A",
- X"60",X"98",X"3C",X"CA",X"F1",X"06",X"3A",X"13",X"92",X"3D",X"20",X"15",X"3A",X"B3",X"99",X"A7",
- X"CA",X"17",X"06",X"3A",X"60",X"98",X"3C",X"CA",X"25",X"06",X"3A",X"13",X"92",X"3D",X"C2",X"25",
- X"06",X"3A",X"A7",X"92",X"A7",X"28",X"06",X"3A",X"87",X"92",X"A7",X"20",X"FA",X"AF",X"32",X"B4",
- X"99",X"3C",X"21",X"0E",X"90",X"77",X"7E",X"A7",X"20",X"FC",X"3A",X"A0",X"9A",X"32",X"48",X"98",
- X"3A",X"AE",X"92",X"32",X"3F",X"98",X"CD",X"0C",X"11",X"CD",X"00",X"2C",X"3A",X"3F",X"98",X"32",
- X"AE",X"92",X"3A",X"48",X"98",X"32",X"A0",X"9A",X"CD",X"7E",X"13",X"3A",X"43",X"98",X"A7",X"28",
- X"03",X"CD",X"B0",X"25",X"3A",X"40",X"98",X"4F",X"3A",X"83",X"99",X"A1",X"32",X"07",X"A0",X"32",
- X"15",X"92",X"3E",X"3F",X"CD",X"D5",X"12",X"37",X"08",X"CD",X"7F",X"11",X"3A",X"43",X"98",X"A7",
- X"28",X"20",X"0E",X"03",X"F7",X"3E",X"80",X"32",X"B4",X"99",X"21",X"0E",X"90",X"3E",X"01",X"77",
- X"7E",X"A7",X"20",X"FC",X"C3",X"25",X"06",X"3A",X"43",X"98",X"A7",X"20",X"14",X"CD",X"85",X"01",
- X"18",X"0F",X"CD",X"85",X"01",X"3A",X"40",X"98",X"C6",X"04",X"4F",X"21",X"6E",X"82",X"CD",X"B3",
- X"13",X"CD",X"3D",X"13",X"3A",X"AE",X"92",X"C6",X"1E",X"FE",X"78",X"38",X"02",X"3E",X"78",X"32",
- X"AE",X"92",X"CD",X"31",X"13",X"3E",X"01",X"32",X"15",X"90",X"32",X"25",X"90",X"32",X"42",X"98",
- X"0E",X"0B",X"21",X"B0",X"83",X"CD",X"B3",X"13",X"0E",X"0B",X"21",X"AE",X"83",X"CD",X"B3",X"13",
- X"C3",X"5E",X"04",X"3A",X"88",X"92",X"5F",X"21",X"AE",X"9A",X"FE",X"28",X"20",X"03",X"21",X"B4",
- X"9A",X"36",X"01",X"CD",X"31",X"13",X"0E",X"08",X"F7",X"CD",X"31",X"13",X"6B",X"26",X"00",X"11",
- X"10",X"81",X"CD",X"66",X"0A",X"CD",X"31",X"13",X"3A",X"88",X"92",X"FE",X"28",X"28",X"1D",X"0E",
- X"09",X"F7",X"CD",X"31",X"13",X"EB",X"3A",X"88",X"92",X"A7",X"28",X"0A",X"6F",X"26",X"00",X"CD",
- X"66",X"0A",X"AF",X"12",X"E7",X"AF",X"12",X"3A",X"88",X"92",X"18",X"21",X"06",X"07",X"3A",X"A0",
- X"92",X"E6",X"0F",X"20",X"F9",X"0E",X"0B",X"CB",X"40",X"28",X"01",X"0C",X"C5",X"F7",X"C1",X"3A",
- X"A0",X"92",X"E6",X"0F",X"28",X"F9",X"10",X"E6",X"0E",X"0D",X"F7",X"3E",X"64",X"21",X"9F",X"92",
- X"86",X"77",X"CD",X"3B",X"07",X"CD",X"31",X"13",X"CD",X"31",X"13",X"21",X"B0",X"83",X"0E",X"0B",
- X"CD",X"B3",X"13",X"21",X"B3",X"83",X"0E",X"0B",X"CD",X"B3",X"13",X"0E",X"0B",X"F7",X"C3",X"EF",
- X"04",X"76",X"F3",X"3A",X"00",X"71",X"FE",X"10",X"20",X"F9",X"21",X"38",X"07",X"11",X"00",X"70",
- X"01",X"03",X"00",X"D9",X"3E",X"61",X"32",X"00",X"71",X"76",X"AF",X"CD",X"4F",X"09",X"FB",X"AF",
- X"06",X"20",X"21",X"A0",X"9A",X"DF",X"11",X"F9",X"83",X"CD",X"3A",X"0A",X"11",X"E4",X"83",X"CD",
- X"3A",X"0A",X"3A",X"B3",X"99",X"3C",X"21",X"E1",X"99",X"86",X"27",X"77",X"D2",X"5A",X"03",X"2B",
- X"7E",X"C6",X"01",X"27",X"77",X"C3",X"5A",X"03",X"02",X"02",X"02",X"3A",X"40",X"98",X"A7",X"3E",
- X"F9",X"28",X"02",X"3E",X"E4",X"DD",X"6F",X"06",X"10",X"21",X"90",X"92",X"EB",X"21",X"0D",X"08",
- X"78",X"D7",X"4E",X"EB",X"7E",X"A7",X"28",X"1D",X"35",X"EB",X"26",X"83",X"DD",X"7D",X"6F",X"79",
- X"E6",X"0F",X"CD",X"EB",X"07",X"DD",X"7D",X"3C",X"6F",X"79",X"07",X"07",X"07",X"07",X"E6",X"0F",
- X"CD",X"EB",X"07",X"18",X"DE",X"2C",X"10",X"D4",X"DD",X"7D",X"C6",X"04",X"5F",X"21",X"F2",X"83",
- X"16",X"83",X"06",X"06",X"1A",X"96",X"C6",X"09",X"FE",X"E5",X"30",X"0F",X"D6",X"0A",X"FE",X"09",
- X"38",X"09",X"3C",X"20",X"0C",X"2D",X"1D",X"10",X"EB",X"18",X"06",X"1A",X"77",X"2D",X"1D",X"10",
- X"FA",X"DD",X"7D",X"C6",X"04",X"6F",X"7E",X"FE",X"24",X"20",X"01",X"AF",X"E6",X"3F",X"07",X"4F",
- X"07",X"07",X"81",X"4F",X"2D",X"7E",X"FE",X"24",X"20",X"01",X"AF",X"81",X"21",X"3E",X"98",X"BE",
- X"C0",X"3A",X"81",X"99",X"47",X"E6",X"7F",X"4F",X"7E",X"B9",X"30",X"03",X"79",X"18",X"01",X"80",
- X"77",X"32",X"AA",X"9A",X"21",X"20",X"98",X"34",X"CD",X"7E",X"13",X"21",X"EB",X"99",X"7E",X"C6",
- X"01",X"27",X"77",X"D0",X"2D",X"7E",X"C6",X"01",X"27",X"77",X"C9",X"A7",X"C8",X"86",X"FE",X"24",
- X"38",X"02",X"D6",X"24",X"FE",X"0A",X"30",X"02",X"77",X"C9",X"D6",X"0A",X"77",X"2C",X"7E",X"FE",
- X"24",X"20",X"01",X"AF",X"FE",X"09",X"28",X"03",X"3C",X"77",X"C9",X"AF",X"18",X"EE",X"10",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"08",X"08",X"08",X"05",X"08",X"15",X"00",X"3A",X"08",
- X"90",X"47",X"3A",X"A7",X"92",X"B0",X"20",X"06",X"32",X"A0",X"9A",X"C3",X"B1",X"04",X"3A",X"13",
- X"92",X"A7",X"C8",X"AF",X"32",X"42",X"98",X"C3",X"B1",X"04",X"C9",X"3E",X"01",X"32",X"D6",X"92",
- X"21",X"40",X"8B",X"11",X"C0",X"8B",X"01",X"40",X"00",X"ED",X"B0",X"21",X"40",X"93",X"11",X"C0",
- X"93",X"0E",X"40",X"ED",X"B0",X"21",X"40",X"9B",X"11",X"C0",X"9B",X"0E",X"40",X"ED",X"B0",X"AF",
- X"32",X"D6",X"92",X"3A",X"D7",X"92",X"3D",X"28",X"FA",X"C9",X"3A",X"AE",X"92",X"47",X"FE",X"3C",
- X"30",X"06",X"3A",X"C5",X"99",X"32",X"C4",X"99",X"3A",X"A7",X"92",X"4F",X"3A",X"C0",X"99",X"21",
- X"1C",X"09",X"CD",X"D1",X"08",X"32",X"C8",X"92",X"3A",X"AA",X"92",X"A7",X"28",X"0D",X"21",X"C4",
- X"92",X"3E",X"02",X"06",X"03",X"DF",X"AF",X"32",X"A0",X"9A",X"C9",X"3A",X"C1",X"99",X"21",X"3C",
- X"09",X"CD",X"D1",X"08",X"32",X"C4",X"92",X"3A",X"C2",X"99",X"21",X"E0",X"08",X"CD",X"C0",X"08",
- X"32",X"C5",X"92",X"3A",X"C3",X"99",X"21",X"FE",X"08",X"CD",X"C0",X"08",X"32",X"C6",X"92",X"C9",
- X"5F",X"CB",X"27",X"83",X"D7",X"78",X"FE",X"28",X"30",X"01",X"23",X"A7",X"20",X"01",X"23",X"7E",
- X"C9",X"CB",X"27",X"CF",X"EB",X"61",X"3E",X"0A",X"CD",X"61",X"10",X"EB",X"7A",X"D7",X"7E",X"C9",
- X"09",X"07",X"05",X"08",X"06",X"04",X"07",X"05",X"04",X"06",X"04",X"03",X"05",X"03",X"03",X"04",
- X"03",X"03",X"04",X"02",X"02",X"03",X"03",X"02",X"03",X"02",X"02",X"02",X"02",X"02",X"06",X"05",
- X"04",X"05",X"04",X"03",X"05",X"03",X"03",X"04",X"03",X"02",X"04",X"02",X"02",X"03",X"03",X"02",
- X"03",X"02",X"01",X"02",X"02",X"01",X"02",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"01",X"01",
- X"03",X"03",X"03",X"01",X"07",X"03",X"03",X"01",X"07",X"03",X"03",X"03",X"07",X"07",X"03",X"03",
- X"0F",X"07",X"03",X"03",X"0F",X"07",X"07",X"03",X"0F",X"07",X"07",X"07",X"06",X"0A",X"0F",X"0F",
- X"04",X"08",X"0D",X"0D",X"04",X"06",X"0A",X"0A",X"3A",X"A0",X"92",X"07",X"07",X"07",X"07",X"4F",
- X"3A",X"01",X"92",X"FE",X"03",X"C0",X"3A",X"40",X"98",X"47",X"2F",X"A1",X"21",X"81",X"09",X"11",
- X"D9",X"83",X"CD",X"72",X"09",X"3A",X"B3",X"99",X"A7",X"C8",X"78",X"A1",X"21",X"84",X"09",X"11",
- X"C4",X"83",X"C5",X"E6",X"01",X"28",X"03",X"21",X"87",X"09",X"01",X"03",X"00",X"ED",X"B0",X"C1",
- X"C9",X"19",X"1E",X"01",X"19",X"1E",X"02",X"24",X"24",X"24",X"3A",X"B5",X"99",X"FE",X"BB",X"CA",
- X"6C",X"33",X"3A",X"01",X"92",X"FE",X"03",X"20",X"19",X"21",X"E9",X"99",X"7E",X"C6",X"01",X"27",
- X"FE",X"60",X"20",X"01",X"AF",X"06",X"04",X"3F",X"77",X"2D",X"7E",X"CE",X"00",X"27",X"10",X"F8",
- X"18",X"42",X"3A",X"B8",X"99",X"FE",X"A0",X"11",X"3C",X"80",X"28",X"30",X"3A",X"B5",X"99",X"21",
- X"E2",X"09",X"01",X"06",X"00",X"ED",X"B8",X"1D",X"4F",X"07",X"07",X"07",X"07",X"E6",X"0F",X"28",
- X"02",X"12",X"1D",X"79",X"E6",X"0F",X"12",X"1D",X"3E",X"24",X"12",X"18",X"17",X"1D",X"12",X"0D",
- X"0E",X"1B",X"0C",X"22",X"0A",X"15",X"19",X"24",X"0E",X"0E",X"1B",X"0F",X"21",X"EB",X"09",X"01",
- X"09",X"00",X"ED",X"B8",X"3A",X"01",X"92",X"A7",X"C8",X"3D",X"20",X"16",X"3A",X"B5",X"99",X"A7",
- X"28",X"10",X"3E",X"02",X"32",X"01",X"92",X"AF",X"21",X"A0",X"9A",X"06",X"08",X"DF",X"2C",X"06",
- X"0F",X"DF",X"3A",X"B5",X"99",X"4F",X"3A",X"B8",X"99",X"47",X"91",X"C8",X"38",X"0F",X"27",X"3D",
- X"32",X"B3",X"99",X"79",X"32",X"B8",X"99",X"3E",X"03",X"32",X"01",X"92",X"C9",X"79",X"32",X"B8",
- X"99",X"FE",X"A0",X"C8",X"90",X"27",X"32",X"79",X"9A",X"C9",X"21",X"03",X"91",X"06",X"05",X"1A",
- X"1C",X"FE",X"24",X"20",X"01",X"AF",X"ED",X"67",X"CB",X"40",X"20",X"01",X"2D",X"10",X"F0",X"AF",
- X"ED",X"67",X"2D",X"36",X"00",X"2E",X"03",X"11",X"E5",X"99",X"06",X"04",X"A7",X"1A",X"8E",X"27",
- X"12",X"1D",X"2D",X"10",X"F8",X"C9",X"06",X"01",X"25",X"24",X"20",X"05",X"7D",X"FE",X"0A",X"38",
- X"0A",X"3E",X"0A",X"CD",X"61",X"10",X"F5",X"04",X"18",X"EE",X"F1",X"CD",X"81",X"0A",X"10",X"FA",
- X"C9",X"12",X"C3",X"20",X"00",X"2A",X"44",X"98",X"ED",X"5B",X"46",X"98",X"7A",X"B3",X"20",X"05",
- X"11",X"00",X"00",X"18",X"51",X"CB",X"7A",X"20",X"0A",X"CB",X"7C",X"20",X"06",X"29",X"EB",X"29",
- X"EB",X"18",X"F2",X"7A",X"CD",X"61",X"10",X"E5",X"67",X"2E",X"00",X"7A",X"CD",X"61",X"10",X"E3",
- X"11",X"B0",X"99",X"06",X"04",X"7C",X"26",X"00",X"EB",X"ED",X"6F",X"CB",X"40",X"28",X"01",X"2C",
- X"EB",X"CD",X"19",X"0B",X"08",X"E3",X"CD",X"19",X"0B",X"E3",X"D7",X"08",X"84",X"26",X"00",X"10",
- X"E7",X"D1",X"FE",X"05",X"38",X"14",X"ED",X"5B",X"B0",X"99",X"7A",X"C6",X"01",X"27",X"57",X"30",
- X"05",X"7B",X"C6",X"01",X"27",X"5F",X"ED",X"53",X"B0",X"99",X"06",X"04",X"0E",X"00",X"21",X"B0",
- X"99",X"11",X"38",X"81",X"05",X"20",X"04",X"3E",X"2A",X"12",X"E7",X"04",X"AF",X"ED",X"6F",X"CB",
- X"40",X"28",X"01",X"2C",X"A7",X"20",X"04",X"CB",X"41",X"28",X"04",X"CB",X"C1",X"12",X"E7",X"78",
- X"FE",X"03",X"20",X"02",X"CB",X"C1",X"10",X"DC",X"C9",X"3E",X"0A",X"CD",X"4E",X"10",X"7C",X"26",
- X"00",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C4",
- X"E5",X"ED",X"5F",X"67",X"3A",X"A0",X"92",X"84",X"6F",X"26",X"01",X"7E",X"67",X"ED",X"5F",X"84",
- X"E1",X"C9",X"C5",X"D5",X"7B",X"95",X"06",X"00",X"30",X"04",X"CB",X"C0",X"ED",X"44",X"4F",X"7A",
- X"94",X"30",X"0A",X"57",X"78",X"EE",X"01",X"F6",X"02",X"47",X"7A",X"ED",X"44",X"B9",X"F5",X"17",
- X"A8",X"1F",X"3F",X"CB",X"10",X"F1",X"30",X"03",X"51",X"4F",X"7A",X"61",X"2E",X"00",X"CD",X"61",
- X"10",X"7C",X"A8",X"E6",X"01",X"28",X"03",X"7D",X"2F",X"6F",X"60",X"D1",X"C1",X"C9",X"D5",X"EB",
- X"21",X"00",X"00",X"CB",X"3F",X"30",X"01",X"19",X"CB",X"23",X"CB",X"12",X"A7",X"20",X"F4",X"D1",
- X"C9",X"C5",X"4F",X"AF",X"06",X"11",X"8F",X"38",X"0B",X"B9",X"38",X"01",X"91",X"3F",X"ED",X"6A",
- X"10",X"F4",X"C1",X"C9",X"91",X"37",X"C3",X"6E",X"10",X"7D",X"E6",X"80",X"3C",X"08",X"CB",X"BD",
- X"C3",X"8A",X"10",X"7D",X"0F",X"0F",X"E6",X"80",X"3C",X"08",X"D5",X"11",X"14",X"00",X"06",X"0C",
- X"DD",X"21",X"00",X"91",X"DD",X"CB",X"13",X"46",X"28",X"06",X"DD",X"19",X"10",X"F6",X"D1",X"C9",
- X"D1",X"DD",X"73",X"08",X"DD",X"72",X"09",X"DD",X"36",X"0D",X"01",X"DD",X"36",X"04",X"00",X"DD",
- X"36",X"05",X"01",X"4D",X"DD",X"71",X"10",X"08",X"57",X"36",X"09",X"DD",X"7D",X"2C",X"77",X"3A",
- X"15",X"92",X"5F",X"69",X"26",X"93",X"4E",X"2C",X"46",X"26",X"9B",X"7E",X"0F",X"CB",X"18",X"CB",
- X"43",X"20",X"09",X"08",X"78",X"C6",X"50",X"ED",X"44",X"47",X"08",X"3F",X"DD",X"70",X"01",X"1F",
- X"E6",X"80",X"DD",X"77",X"00",X"79",X"CB",X"43",X"28",X"03",X"C6",X"0D",X"2F",X"CB",X"3F",X"DD",
- X"77",X"03",X"1F",X"E6",X"80",X"DD",X"77",X"02",X"DD",X"72",X"13",X"DD",X"36",X"0E",X"1E",X"3A",
- X"0B",X"92",X"A7",X"28",X"03",X"3A",X"C8",X"92",X"DD",X"77",X"0F",X"C9",X"3E",X"1F",X"32",X"00",
- X"90",X"32",X"E0",X"98",X"21",X"20",X"98",X"11",X"60",X"98",X"06",X"40",X"4E",X"1A",X"77",X"79",
- X"12",X"2C",X"1C",X"10",X"F7",X"21",X"00",X"88",X"11",X"B0",X"98",X"06",X"30",X"7E",X"4F",X"26",
- X"8B",X"7E",X"E6",X"7F",X"0D",X"20",X"0B",X"E6",X"78",X"4F",X"2C",X"7E",X"2D",X"E6",X"07",X"B1",
- X"F6",X"80",X"EB",X"4E",X"77",X"EB",X"CB",X"79",X"28",X"10",X"79",X"E6",X"78",X"C6",X"06",X"77",
- X"2C",X"79",X"E6",X"07",X"77",X"2D",X"3E",X"01",X"18",X"07",X"71",X"26",X"93",X"36",X"00",X"3E",
- X"80",X"26",X"88",X"77",X"13",X"2C",X"2C",X"10",X"C4",X"21",X"00",X"90",X"11",X"E0",X"98",X"06",
- X"20",X"4E",X"1A",X"77",X"79",X"12",X"2C",X"1C",X"10",X"F7",X"AF",X"32",X"00",X"90",X"C9",X"21",
- X"02",X"80",X"06",X"12",X"7E",X"FE",X"4A",X"30",X"02",X"36",X"24",X"2C",X"10",X"F6",X"2E",X"22",
- X"06",X"12",X"7E",X"FE",X"4A",X"30",X"02",X"36",X"24",X"2C",X"10",X"F6",X"3A",X"21",X"98",X"06",
- X"00",X"21",X"01",X"80",X"FE",X"32",X"38",X"07",X"D6",X"32",X"04",X"2C",X"2C",X"18",X"F5",X"EB",
- X"6F",X"26",X"00",X"3E",X"0A",X"CD",X"61",X"10",X"67",X"E5",X"EB",X"FE",X"05",X"38",X"02",X"D6",
- X"04",X"4F",X"7B",X"CB",X"47",X"28",X"02",X"3E",X"02",X"81",X"D7",X"04",X"10",X"20",X"C1",X"79",
- X"CD",X"F5",X"11",X"78",X"FE",X"05",X"38",X"08",X"16",X"38",X"CD",X"13",X"12",X"78",X"D6",X"05",
- X"47",X"04",X"10",X"03",X"C3",X"7E",X"13",X"16",X"36",X"CD",X"13",X"12",X"18",X"F4",X"3E",X"04",
- X"CD",X"FB",X"11",X"18",X"D7",X"A7",X"C8",X"FE",X"04",X"28",X"07",X"07",X"07",X"C6",X"36",X"57",
- X"18",X"0A",X"16",X"42",X"CD",X"13",X"12",X"CD",X"28",X"12",X"16",X"3A",X"CD",X"13",X"12",X"CD",
- X"28",X"12",X"C9",X"08",X"38",X"11",X"08",X"3A",X"A0",X"92",X"C6",X"08",X"5F",X"3A",X"A0",X"92",
- X"93",X"20",X"FA",X"08",X"32",X"B5",X"9A",X"08",X"72",X"14",X"CB",X"ED",X"72",X"14",X"CB",X"D4",
- X"7A",X"E6",X"0C",X"FE",X"08",X"3E",X"01",X"28",X"01",X"3C",X"77",X"CB",X"AD",X"77",X"CB",X"94",
- X"2D",X"C9",X"21",X"5B",X"12",X"11",X"00",X"90",X"01",X"20",X"00",X"C5",X"E5",X"ED",X"B0",X"E1",
- X"C1",X"11",X"E0",X"98",X"ED",X"B0",X"AF",X"32",X"00",X"90",X"C9",X"1F",X"01",X"00",X"00",X"00",
- X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"01",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"0A",X"21",X"64",X"8B",X"11",X"30",
- X"09",X"0E",X"00",X"06",X"0A",X"73",X"26",X"93",X"36",X"00",X"26",X"9B",X"71",X"26",X"8B",X"2C",
- X"72",X"2C",X"78",X"FE",X"09",X"20",X"04",X"0E",X"01",X"16",X"0B",X"10",X"E8",X"C9",X"26",X"8B",
- X"ED",X"5B",X"80",X"92",X"1A",X"6F",X"13",X"1A",X"4F",X"E6",X"78",X"C6",X"06",X"77",X"2C",X"79",
- X"E6",X"07",X"CB",X"79",X"28",X"02",X"F6",X"08",X"77",X"13",X"2D",X"26",X"88",X"36",X"01",X"26",
- X"93",X"1A",X"77",X"13",X"2C",X"1A",X"CB",X"27",X"77",X"3E",X"00",X"17",X"26",X"9B",X"77",X"13",
- X"ED",X"53",X"80",X"92",X"C9",X"DD",X"6F",X"3A",X"15",X"92",X"4F",X"21",X"00",X"99",X"11",X"21",
- X"13",X"06",X"10",X"36",X"00",X"2C",X"1A",X"13",X"77",X"2C",X"10",X"F7",X"21",X"00",X"98",X"11",
- X"21",X"13",X"06",X"0A",X"1A",X"13",X"CB",X"41",X"28",X"03",X"C6",X"0D",X"2F",X"77",X"2C",X"2C",
- X"10",X"F2",X"06",X"06",X"1A",X"DD",X"85",X"13",X"CB",X"41",X"20",X"03",X"C6",X"4F",X"2F",X"CB",
- X"27",X"77",X"2C",X"3E",X"00",X"17",X"77",X"2C",X"10",X"EA",X"3A",X"15",X"92",X"32",X"0F",X"92",
- X"C9",X"31",X"41",X"51",X"61",X"71",X"81",X"91",X"A1",X"B1",X"C1",X"92",X"8A",X"82",X"7C",X"76",
- X"70",X"E5",X"21",X"AF",X"92",X"36",X"03",X"7E",X"A7",X"20",X"FC",X"E1",X"C9",X"3E",X"01",X"32",
- X"14",X"90",X"3A",X"70",X"82",X"FE",X"24",X"20",X"03",X"0E",X"03",X"F7",X"3A",X"87",X"92",X"A7",
- X"20",X"FA",X"CD",X"7E",X"13",X"21",X"06",X"09",X"22",X"62",X"8B",X"21",X"62",X"93",X"3A",X"15",
- X"92",X"E6",X"01",X"3E",X"29",X"0E",X"01",X"28",X"03",X"C6",X"0E",X"0D",X"36",X"7A",X"2C",X"77",
- X"26",X"9B",X"71",X"2D",X"AF",X"77",X"32",X"13",X"92",X"3C",X"32",X"B9",X"99",X"C9",X"3A",X"20",
- X"98",X"2F",X"C6",X"09",X"5F",X"16",X"49",X"21",X"1D",X"80",X"CD",X"98",X"13",X"2D",X"CD",X"98",
- X"13",X"CB",X"ED",X"2C",X"CD",X"98",X"13",X"2D",X"E5",X"14",X"4A",X"06",X"08",X"78",X"BB",X"20",
- X"02",X"0E",X"24",X"7E",X"FE",X"36",X"38",X"04",X"FE",X"4A",X"38",X"01",X"71",X"2D",X"2D",X"10",
- X"EC",X"E1",X"C9",X"A7",X"08",X"D5",X"EB",X"79",X"21",X"EF",X"13",X"CF",X"7E",X"23",X"66",X"6F",
- X"08",X"30",X"06",X"2B",X"2B",X"5E",X"23",X"56",X"23",X"4E",X"23",X"EB",X"1A",X"FE",X"2F",X"28",
- X"1E",X"D6",X"30",X"30",X"04",X"3E",X"24",X"18",X"06",X"FE",X"11",X"38",X"02",X"D6",X"07",X"77",
- X"CB",X"D4",X"71",X"CB",X"94",X"13",X"7D",X"D6",X"20",X"6F",X"30",X"E0",X"25",X"18",X"DD",X"D1",
- X"C9",X"2F",X"14",X"44",X"14",X"51",X"14",X"5C",X"14",X"66",X"14",X"72",X"14",X"7C",X"14",X"91",
- X"14",X"A3",X"14",X"AE",X"14",X"C2",X"14",X"E1",X"14",X"EE",X"14",X"09",X"15",X"13",X"15",X"22",
- X"15",X"2F",X"15",X"3C",X"15",X"40",X"15",X"59",X"15",X"5D",X"15",X"6A",X"15",X"81",X"15",X"8F",
- X"15",X"A8",X"15",X"BF",X"15",X"C5",X"15",X"D9",X"15",X"ED",X"15",X"FF",X"15",X"EB",X"82",X"00",
- X"50",X"55",X"53",X"48",X"20",X"53",X"54",X"41",X"52",X"54",X"20",X"42",X"55",X"54",X"54",X"4F",
- X"4E",X"2F",X"70",X"82",X"00",X"47",X"41",X"4D",X"45",X"20",X"4F",X"56",X"45",X"52",X"2F",X"70",
- X"82",X"00",X"52",X"45",X"41",X"44",X"59",X"20",X"21",X"2F",X"50",X"82",X"00",X"50",X"4C",X"41",
- X"59",X"45",X"52",X"20",X"31",X"2F",X"00",X"50",X"4C",X"41",X"59",X"45",X"52",X"20",X"32",X"2F",
- X"70",X"82",X"00",X"53",X"54",X"41",X"47",X"45",X"20",X"2F",X"10",X"83",X"00",X"43",X"48",X"41",
- X"4C",X"4C",X"45",X"4E",X"47",X"49",X"4E",X"47",X"20",X"53",X"54",X"41",X"47",X"45",X"2F",X"10",
- X"83",X"00",X"4E",X"55",X"4D",X"42",X"45",X"52",X"20",X"4F",X"46",X"20",X"48",X"49",X"54",X"53",
- X"2F",X"B3",X"82",X"00",X"42",X"4F",X"4E",X"55",X"53",X"20",X"20",X"2F",X"F1",X"82",X"04",X"46",
- X"49",X"47",X"48",X"54",X"45",X"52",X"20",X"43",X"41",X"50",X"54",X"55",X"52",X"45",X"44",X"2F",
- X"AD",X"83",X"00",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",
- X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"2F",X"6D",
- X"82",X"04",X"50",X"45",X"52",X"46",X"45",X"43",X"54",X"20",X"63",X"2F",X"73",X"83",X"05",X"53",
- X"50",X"45",X"43",X"49",X"41",X"4C",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",X"31",X"30",X"30",
- X"30",X"30",X"20",X"50",X"54",X"53",X"2F",X"42",X"82",X"00",X"47",X"41",X"4C",X"41",X"47",X"41",
- X"2F",X"A5",X"82",X"00",X"5D",X"5D",X"20",X"53",X"43",X"4F",X"52",X"45",X"20",X"5D",X"5D",X"2F",
- X"28",X"82",X"00",X"35",X"30",X"20",X"20",X"20",X"20",X"31",X"30",X"30",X"2F",X"2A",X"82",X"00",
- X"38",X"30",X"20",X"20",X"20",X"20",X"31",X"36",X"30",X"2F",X"2B",X"82",X"00",X"2F",X"3B",X"83",
- X"03",X"65",X"20",X"31",X"39",X"38",X"31",X"20",X"4D",X"49",X"44",X"57",X"41",X"59",X"20",X"4D",
- X"46",X"47",X"61",X"43",X"4F",X"61",X"2F",X"5E",X"82",X"04",X"2F",X"8F",X"82",X"04",X"5D",X"52",
- X"45",X"53",X"55",X"4C",X"54",X"53",X"5D",X"2F",X"32",X"83",X"05",X"53",X"48",X"4F",X"54",X"53",
- X"20",X"46",X"49",X"52",X"45",X"44",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",
- X"2F",X"05",X"20",X"20",X"4D",X"49",X"53",X"53",X"49",X"4C",X"45",X"53",X"2F",X"35",X"83",X"05",
- X"4E",X"55",X"4D",X"42",X"45",X"52",X"20",X"4F",X"46",X"20",X"48",X"49",X"54",X"53",X"20",X"20",
- X"20",X"20",X"20",X"20",X"20",X"2F",X"38",X"83",X"03",X"48",X"49",X"54",X"5D",X"4D",X"49",X"53",
- X"53",X"20",X"52",X"41",X"54",X"49",X"4F",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"2F",X"03",
- X"24",X"60",X"2F",X"2F",X"83",X"05",X"31",X"53",X"54",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",
- X"46",X"4F",X"52",X"20",X"20",X"20",X"2F",X"32",X"83",X"05",X"32",X"4E",X"44",X"20",X"42",X"4F",
- X"4E",X"55",X"53",X"20",X"46",X"4F",X"52",X"20",X"20",X"20",X"2F",X"35",X"83",X"05",X"41",X"4E",
- X"44",X"20",X"46",X"4F",X"52",X"20",X"45",X"56",X"45",X"52",X"59",X"20",X"20",X"20",X"2F",X"05",
- X"30",X"30",X"30",X"30",X"20",X"50",X"54",X"53",X"2F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"ED",X"5B",X"82",X"92",X"1A",X"07",X"07",X"07",X"E6",X"07",X"21",X"13",X"17",X"CF",X"7E",X"23",
- X"66",X"6F",X"E9",X"66",X"17",X"66",X"17",X"1F",X"17",X"66",X"17",X"34",X"17",X"2D",X"17",X"3A",
- X"A0",X"92",X"E6",X"0F",X"C0",X"21",X"07",X"92",X"35",X"C0",X"C3",X"66",X"17",X"CD",X"15",X"1F",
- X"ED",X"5B",X"82",X"92",X"1A",X"21",X"27",X"98",X"5E",X"CB",X"47",X"20",X"04",X"E6",X"0A",X"18",
- X"14",X"3A",X"09",X"92",X"6F",X"26",X"93",X"3A",X"62",X"93",X"96",X"3E",X"0A",X"28",X"06",X"3E",
- X"08",X"38",X"02",X"3E",X"02",X"CD",X"98",X"1F",X"3A",X"A0",X"92",X"E6",X"03",X"C0",X"21",X"07",
- X"92",X"35",X"C0",X"CD",X"15",X"1F",X"ED",X"5B",X"82",X"92",X"1A",X"E6",X"C0",X"FE",X"80",X"20",
- X"01",X"13",X"13",X"1A",X"ED",X"53",X"82",X"92",X"07",X"07",X"07",X"E6",X"07",X"21",X"86",X"17",
- X"CF",X"7E",X"23",X"66",X"6F",X"E9",X"94",X"17",X"94",X"17",X"A1",X"17",X"A8",X"17",X"AE",X"17",
- X"AE",X"17",X"9C",X"17",X"1A",X"07",X"E6",X"7E",X"32",X"09",X"92",X"C9",X"AF",X"32",X"03",X"90",
- X"C9",X"1A",X"E6",X"1F",X"32",X"07",X"92",X"C9",X"1A",X"E6",X"1F",X"4F",X"F7",X"C9",X"13",X"1A",
- X"18",X"F2",X"3A",X"01",X"92",X"3D",X"C0",X"3A",X"03",X"92",X"21",X"C3",X"17",X"CF",X"5E",X"23",
- X"56",X"EB",X"E9",X"40",X"19",X"48",X"19",X"84",X"19",X"D9",X"18",X"D1",X"18",X"AC",X"18",X"40",
- X"19",X"F5",X"17",X"52",X"18",X"D1",X"18",X"08",X"18",X"D1",X"18",X"40",X"18",X"40",X"19",X"E1",
- X"17",X"3A",X"AF",X"92",X"A7",X"28",X"05",X"3D",X"CA",X"A7",X"19",X"C9",X"CD",X"14",X"32",X"3E",
- X"0A",X"32",X"AF",X"92",X"C9",X"3A",X"A0",X"92",X"E6",X"1F",X"FE",X"1F",X"C0",X"3E",X"01",X"32",
- X"05",X"90",X"0E",X"02",X"F7",X"C3",X"A7",X"19",X"CD",X"4C",X"13",X"21",X"1F",X"18",X"22",X"82",
- X"92",X"3E",X"01",X"32",X"03",X"90",X"32",X"15",X"90",X"32",X"25",X"90",X"C3",X"A7",X"19",X"08",
- X"18",X"8A",X"08",X"88",X"06",X"81",X"28",X"81",X"05",X"54",X"1A",X"88",X"12",X"81",X"0F",X"A2",
- X"16",X"AA",X"14",X"88",X"18",X"88",X"10",X"43",X"82",X"10",X"88",X"06",X"A2",X"20",X"56",X"C0",
- X"EF",X"CD",X"42",X"12",X"AF",X"32",X"10",X"90",X"32",X"0B",X"92",X"3C",X"32",X"02",X"90",X"C3",
- X"A7",X"19",X"AF",X"32",X"2B",X"98",X"3C",X"32",X"B7",X"9A",X"32",X"21",X"98",X"32",X"03",X"90",
- X"32",X"15",X"90",X"32",X"25",X"98",X"21",X"87",X"18",X"22",X"82",X"92",X"CD",X"C5",X"01",X"CD",
- X"4C",X"13",X"3E",X"01",X"32",X"0B",X"92",X"32",X"42",X"98",X"32",X"2C",X"98",X"3C",X"32",X"C4",
- X"99",X"32",X"C5",X"99",X"C3",X"A7",X"19",X"02",X"8A",X"04",X"82",X"07",X"AA",X"28",X"88",X"10",
- X"AA",X"38",X"82",X"12",X"AA",X"20",X"88",X"14",X"AA",X"20",X"82",X"06",X"A8",X"0E",X"A2",X"17",
- X"88",X"12",X"A2",X"14",X"18",X"88",X"1B",X"81",X"2A",X"5F",X"4C",X"C0",X"3A",X"AE",X"92",X"A7",
- X"28",X"09",X"3D",X"CA",X"A7",X"19",X"FE",X"05",X"28",X"0C",X"C9",X"3E",X"34",X"32",X"34",X"92",
- X"3E",X"09",X"32",X"AE",X"92",X"C9",X"AF",X"32",X"62",X"93",X"0E",X"13",X"F7",X"0E",X"14",X"F7",
- X"C9",X"3A",X"03",X"90",X"A7",X"CA",X"A7",X"19",X"C9",X"06",X"07",X"CD",X"9E",X"12",X"10",X"FB",
- X"AF",X"32",X"20",X"98",X"32",X"05",X"90",X"CD",X"4C",X"13",X"21",X"0D",X"FF",X"22",X"C5",X"92",
- X"22",X"C4",X"92",X"22",X"C1",X"92",X"22",X"C0",X"92",X"21",X"28",X"19",X"22",X"82",X"92",X"AF",
- X"06",X"10",X"21",X"CA",X"92",X"DF",X"32",X"27",X"98",X"32",X"0B",X"92",X"3C",X"32",X"2B",X"98",
- X"32",X"10",X"90",X"32",X"0B",X"90",X"32",X"03",X"90",X"3A",X"03",X"68",X"0F",X"E6",X"01",X"32",
- X"B7",X"9A",X"CD",X"7B",X"12",X"C3",X"A7",X"19",X"08",X"1B",X"81",X"3D",X"81",X"0A",X"42",X"19",
- X"81",X"28",X"81",X"08",X"18",X"81",X"2E",X"81",X"03",X"1A",X"81",X"11",X"81",X"05",X"42",X"C0",
- X"CD",X"60",X"01",X"CD",X"3C",X"00",X"18",X"5F",X"21",X"5C",X"19",X"22",X"80",X"92",X"AF",X"32",
- X"05",X"92",X"32",X"A8",X"92",X"3E",X"02",X"32",X"AE",X"92",X"18",X"4B",X"08",X"1B",X"44",X"3A",
- X"0A",X"12",X"44",X"42",X"0C",X"08",X"7C",X"50",X"34",X"08",X"34",X"5C",X"30",X"08",X"64",X"5C",
- X"32",X"08",X"94",X"5C",X"4A",X"12",X"A4",X"64",X"36",X"08",X"C4",X"5C",X"58",X"12",X"B4",X"64",
- X"52",X"12",X"D4",X"64",X"3A",X"AE",X"92",X"A7",X"C0",X"3E",X"02",X"32",X"AE",X"92",X"3A",X"05",
- X"92",X"FE",X"05",X"28",X"12",X"3C",X"32",X"05",X"92",X"C6",X"0D",X"4F",X"F7",X"3A",X"05",X"92",
- X"FE",X"03",X"D8",X"CD",X"9E",X"12",X"C9",X"21",X"03",X"92",X"34",X"7E",X"FE",X"0F",X"C0",X"36",
- X"00",X"C9",X"3A",X"8E",X"92",X"A7",X"20",X"1A",X"21",X"AD",X"92",X"B6",X"28",X"28",X"FE",X"04",
- X"20",X"05",X"3D",X"77",X"32",X"A9",X"9A",X"3A",X"29",X"98",X"C6",X"0D",X"6F",X"26",X"91",X"36",
- X"04",X"C9",X"0E",X"0A",X"F7",X"3E",X"06",X"32",X"AD",X"92",X"3C",X"32",X"63",X"8B",X"AF",X"32",
- X"8B",X"92",X"32",X"8E",X"92",X"C9",X"3A",X"D1",X"82",X"FE",X"24",X"28",X"29",X"21",X"62",X"93",
- X"3A",X"28",X"98",X"E6",X"07",X"5F",X"54",X"7E",X"12",X"36",X"00",X"2C",X"1C",X"7E",X"12",X"26",
- X"9B",X"54",X"ED",X"A8",X"ED",X"A0",X"26",X"8B",X"6B",X"36",X"07",X"2D",X"36",X"07",X"0E",X"0B",
- X"21",X"B1",X"83",X"CD",X"B3",X"13",X"3A",X"28",X"98",X"6F",X"E6",X"07",X"5F",X"26",X"88",X"3A",
- X"15",X"92",X"4F",X"7E",X"FE",X"09",X"20",X"1D",X"26",X"93",X"54",X"7E",X"12",X"2C",X"1C",X"3E",
- X"10",X"CB",X"41",X"28",X"02",X"ED",X"44",X"47",X"86",X"12",X"1F",X"A8",X"07",X"E6",X"01",X"26",
- X"9B",X"54",X"AE",X"12",X"C9",X"21",X"8B",X"92",X"7E",X"A7",X"20",X"05",X"16",X"8B",X"3E",X"06",
- X"12",X"34",X"FE",X"24",X"28",X"1A",X"06",X"01",X"CB",X"41",X"20",X"02",X"05",X"05",X"6B",X"2C",
- X"26",X"93",X"78",X"86",X"77",X"1F",X"A8",X"07",X"D0",X"26",X"9B",X"7E",X"EE",X"01",X"77",X"C9",
- X"AF",X"32",X"11",X"90",X"32",X"A9",X"9A",X"16",X"88",X"3C",X"12",X"32",X"28",X"98",X"32",X"B9",
- X"99",X"3C",X"32",X"13",X"92",X"C9",X"3A",X"CA",X"99",X"4F",X"3A",X"A7",X"92",X"B9",X"D0",X"3A",
- X"41",X"98",X"A7",X"20",X"46",X"21",X"07",X"88",X"01",X"FF",X"14",X"3E",X"01",X"2C",X"ED",X"A1",
- X"28",X"0F",X"10",X"F9",X"21",X"3F",X"88",X"06",X"10",X"2C",X"ED",X"A1",X"28",X"03",X"10",X"F9",
- X"C9",X"3E",X"C0",X"32",X"41",X"98",X"2D",X"5D",X"16",X"8B",X"1C",X"1A",X"1D",X"4F",X"3A",X"21",
- X"98",X"CB",X"3F",X"CB",X"3F",X"6F",X"26",X"00",X"3E",X"03",X"CD",X"61",X"10",X"C6",X"04",X"21",
- X"2D",X"98",X"73",X"2C",X"71",X"2C",X"77",X"32",X"B2",X"9A",X"C9",X"3C",X"28",X"1C",X"32",X"41",
- X"98",X"08",X"21",X"2D",X"98",X"5E",X"16",X"88",X"1A",X"3D",X"C2",X"5A",X"1B",X"16",X"8B",X"2C",
- X"08",X"CB",X"67",X"28",X"01",X"2C",X"7E",X"1C",X"12",X"C9",X"3A",X"15",X"90",X"A7",X"20",X"06",
- X"3E",X"E0",X"32",X"41",X"98",X"C9",X"3A",X"2D",X"98",X"6F",X"26",X"88",X"7E",X"3D",X"20",X"4A",
- X"26",X"92",X"7E",X"CB",X"7F",X"20",X"43",X"3A",X"2F",X"98",X"D6",X"04",X"21",X"5F",X"1B",X"CF",
- X"11",X"B0",X"99",X"3E",X"03",X"12",X"1C",X"ED",X"A0",X"ED",X"A0",X"3A",X"2F",X"98",X"D6",X"04",
- X"E6",X"0F",X"4F",X"21",X"65",X"1B",X"CF",X"5E",X"23",X"56",X"26",X"8B",X"3A",X"2D",X"98",X"6F",
- X"79",X"07",X"07",X"07",X"C6",X"56",X"4E",X"77",X"79",X"E6",X"F8",X"4F",X"3A",X"2E",X"98",X"E6",
- X"07",X"B1",X"32",X"2E",X"98",X"26",X"88",X"CD",X"83",X"10",X"AF",X"32",X"04",X"90",X"C9",X"1E",
- X"BD",X"0A",X"B8",X"14",X"BC",X"EA",X"04",X"73",X"04",X"AB",X"04",X"3A",X"0B",X"92",X"A7",X"28",
- X"0A",X"3A",X"15",X"90",X"4F",X"3A",X"1D",X"90",X"2F",X"A1",X"C8",X"06",X"04",X"21",X"CA",X"92",
- X"7E",X"3C",X"20",X"0D",X"2C",X"2C",X"2C",X"10",X"F7",X"3A",X"A0",X"92",X"E6",X"0F",X"28",X"1E",
- X"C9",X"36",X"FF",X"3D",X"16",X"88",X"5F",X"CB",X"BB",X"08",X"1A",X"3D",X"C0",X"2C",X"5E",X"2C",
- X"56",X"08",X"6F",X"26",X"88",X"CD",X"79",X"10",X"3E",X"01",X"32",X"B3",X"9A",X"C9",X"21",X"C0",
- X"92",X"06",X"03",X"35",X"28",X"04",X"2C",X"10",X"FA",X"C9",X"3A",X"C4",X"99",X"4F",X"3A",X"87",
- X"92",X"B9",X"38",X"02",X"34",X"C9",X"CB",X"D5",X"7E",X"CB",X"95",X"77",X"78",X"3D",X"21",X"D7",
- X"1B",X"CF",X"7E",X"23",X"66",X"6F",X"E9",X"DD",X"1B",X"FD",X"1B",X"07",X"1C",X"06",X"14",X"21",
- X"08",X"88",X"11",X"4F",X"03",X"3A",X"2D",X"98",X"4F",X"7E",X"3D",X"20",X"04",X"79",X"BD",X"20",
- X"05",X"2C",X"2C",X"10",X"F4",X"C9",X"32",X"B3",X"9A",X"CD",X"83",X"10",X"C9",X"06",X"10",X"21",
- X"40",X"88",X"11",X"A9",X"03",X"18",X"DE",X"3A",X"2B",X"98",X"A7",X"20",X"29",X"21",X"2C",X"98",
- X"34",X"CB",X"46",X"20",X"21",X"DD",X"2E",X"02",X"FD",X"21",X"54",X"04",X"11",X"30",X"88",X"06",
- X"04",X"1A",X"3D",X"28",X"05",X"1C",X"1C",X"10",X"F8",X"C9",X"3E",X"01",X"32",X"2B",X"98",X"7B",
- X"32",X"28",X"98",X"C3",X"B4",X"1C",X"21",X"32",X"1D",X"16",X"88",X"01",X"00",X"06",X"5E",X"23",
- X"3A",X"2D",X"98",X"BB",X"28",X"04",X"1A",X"3D",X"D6",X"01",X"CB",X"11",X"10",X"F0",X"DD",X"2E",
- X"00",X"06",X"04",X"DD",X"61",X"79",X"E6",X"07",X"FE",X"04",X"28",X"05",X"FE",X"03",X"D4",X"93",
- X"1C",X"CB",X"19",X"10",X"F0",X"DD",X"2C",X"DD",X"4C",X"06",X"04",X"79",X"E6",X"07",X"C4",X"93",
- X"1C",X"CB",X"19",X"10",X"F6",X"DD",X"2C",X"11",X"30",X"88",X"06",X"04",X"1A",X"3D",X"28",X"26",
- X"1C",X"1C",X"10",X"F8",X"21",X"00",X"88",X"06",X"04",X"7E",X"3D",X"CA",X"2B",X"1D",X"2C",X"2C",
- X"10",X"F7",X"C9",X"78",X"CB",X"4F",X"28",X"02",X"EE",X"01",X"E6",X"03",X"CB",X"27",X"C6",X"30",
- X"5F",X"1A",X"FE",X"01",X"C0",X"E1",X"FD",X"21",X"11",X"04",X"3A",X"0B",X"92",X"A7",X"20",X"04",
- X"FD",X"21",X"F1",X"00",X"7B",X"0F",X"0F",X"7B",X"17",X"0F",X"32",X"CA",X"92",X"08",X"FD",X"22",
- X"CB",X"92",X"04",X"7B",X"E6",X"07",X"21",X"30",X"98",X"D7",X"DD",X"7D",X"EB",X"21",X"03",X"1D",
- X"CF",X"7E",X"12",X"23",X"1C",X"7E",X"12",X"DD",X"7D",X"FE",X"02",X"28",X"0C",X"11",X"CD",X"92",
- X"3D",X"28",X"03",X"CD",X"09",X"1D",X"CD",X"09",X"1D",X"3A",X"CA",X"92",X"E6",X"07",X"6F",X"26",
- X"88",X"7E",X"3D",X"C0",X"4D",X"21",X"CA",X"92",X"2C",X"2C",X"2C",X"7E",X"3C",X"20",X"F9",X"08",
- X"79",X"18",X"19",X"0D",X"BA",X"05",X"B7",X"01",X"B5",X"CB",X"09",X"38",X"06",X"05",X"CB",X"09",
- X"38",X"01",X"05",X"78",X"05",X"21",X"32",X"1D",X"D7",X"08",X"7E",X"EB",X"17",X"0F",X"77",X"08",
- X"2C",X"FD",X"7D",X"77",X"2C",X"FD",X"7C",X"77",X"2C",X"EB",X"C9",X"11",X"44",X"04",X"CD",X"83",
- X"10",X"C9",X"4A",X"52",X"5A",X"58",X"50",X"48",X"21",X"B4",X"99",X"7E",X"E6",X"7F",X"D6",X"7E",
- X"28",X"36",X"4E",X"34",X"3A",X"15",X"92",X"CB",X"01",X"A9",X"0F",X"3E",X"01",X"38",X"02",X"ED",
- X"44",X"4F",X"21",X"14",X"98",X"06",X"06",X"7E",X"81",X"77",X"1F",X"A9",X"2C",X"07",X"30",X"04",
- X"7E",X"EE",X"01",X"77",X"2C",X"10",X"F0",X"3A",X"A0",X"92",X"E6",X"FC",X"3C",X"F5",X"CD",X"EE",
- X"23",X"F1",X"C6",X"02",X"CD",X"EE",X"23",X"C9",X"32",X"0E",X"90",X"C9",X"3A",X"15",X"92",X"47",
- X"21",X"B9",X"99",X"7E",X"2C",X"A7",X"28",X"26",X"7E",X"A7",X"3E",X"FD",X"20",X"13",X"2C",X"7E",
- X"2C",X"BE",X"28",X"01",X"34",X"7E",X"2C",X"86",X"4F",X"E6",X"3F",X"77",X"79",X"07",X"07",X"E6",
- X"03",X"CB",X"40",X"20",X"02",X"ED",X"44",X"3D",X"E6",X"07",X"32",X"BE",X"99",X"C9",X"AF",X"77",
- X"2C",X"2C",X"77",X"2C",X"77",X"3E",X"07",X"18",X"F1",X"21",X"00",X"92",X"06",X"30",X"CB",X"7E",
- X"20",X"05",X"2C",X"2C",X"10",X"F8",X"C9",X"CB",X"BE",X"26",X"88",X"36",X"04",X"2C",X"36",X"40",
- X"26",X"8B",X"36",X"0A",X"26",X"92",X"18",X"EB",X"3A",X"A2",X"92",X"E6",X"01",X"C0",X"21",X"AC",
- X"92",X"06",X"04",X"7E",X"A7",X"28",X"01",X"35",X"2C",X"10",X"F8",X"C9",X"3A",X"A0",X"92",X"E6",
- X"03",X"C0",X"21",X"0F",X"92",X"7E",X"5F",X"16",X"FF",X"CB",X"7F",X"20",X"05",X"14",X"14",X"34",
- X"18",X"01",X"35",X"FE",X"1F",X"20",X"02",X"CB",X"FE",X"FE",X"81",X"20",X"02",X"CB",X"BE",X"4E",
- X"E6",X"07",X"7A",X"32",X"11",X"92",X"7B",X"20",X"10",X"21",X"6A",X"1E",X"79",X"E6",X"18",X"CF",
- X"7B",X"11",X"20",X"99",X"01",X"10",X"00",X"ED",X"B0",X"21",X"15",X"92",X"07",X"AE",X"0F",X"21",
- X"20",X"99",X"11",X"00",X"99",X"30",X"05",X"01",X"FF",X"01",X"18",X"03",X"01",X"01",X"FF",X"DD",
- X"2E",X"05",X"CD",X"49",X"1E",X"41",X"DD",X"2E",X"0B",X"CB",X"0E",X"30",X"15",X"1A",X"80",X"12",
- X"16",X"98",X"1A",X"80",X"12",X"1F",X"A8",X"07",X"30",X"06",X"1C",X"1A",X"EE",X"01",X"12",X"1D",
- X"16",X"99",X"1C",X"1C",X"2C",X"DD",X"2D",X"20",X"E0",X"C9",X"FF",X"77",X"55",X"14",X"10",X"10",
- X"14",X"55",X"77",X"FF",X"00",X"10",X"14",X"55",X"77",X"FF",X"FF",X"77",X"55",X"51",X"10",X"10",
- X"51",X"55",X"77",X"FF",X"00",X"10",X"51",X"55",X"77",X"FF",X"FF",X"77",X"57",X"15",X"10",X"10",
- X"15",X"57",X"77",X"FF",X"00",X"10",X"15",X"57",X"77",X"FF",X"FF",X"F7",X"D5",X"91",X"10",X"10",
- X"91",X"D5",X"F7",X"FF",X"00",X"10",X"91",X"D5",X"F7",X"FF",X"3A",X"A0",X"92",X"E6",X"01",X"C6",
- X"02",X"47",X"3A",X"15",X"92",X"A7",X"78",X"28",X"02",X"ED",X"44",X"DD",X"67",X"2E",X"68",X"11",
- X"B0",X"92",X"DD",X"2E",X"08",X"26",X"8B",X"7E",X"FE",X"30",X"20",X"39",X"26",X"93",X"7E",X"A7",
- X"28",X"33",X"EB",X"46",X"78",X"E6",X"7E",X"2C",X"86",X"4F",X"E6",X"1F",X"77",X"2C",X"79",X"07",
- X"07",X"07",X"E6",X"07",X"CB",X"78",X"28",X"02",X"ED",X"44",X"EB",X"86",X"77",X"2C",X"7E",X"DD",
- X"84",X"77",X"1F",X"DD",X"AC",X"07",X"30",X"07",X"26",X"9B",X"CB",X"0E",X"3F",X"CB",X"16",X"2C",
- X"DD",X"2D",X"20",X"C1",X"C9",X"2C",X"1C",X"1C",X"18",X"F5",X"3A",X"15",X"92",X"C6",X"B6",X"6F",
- X"26",X"99",X"CB",X"66",X"C0",X"21",X"64",X"93",X"11",X"A4",X"92",X"AF",X"BE",X"28",X"05",X"2E",
- X"66",X"1C",X"BE",X"C0",X"D5",X"EB",X"21",X"63",X"9B",X"54",X"1C",X"CB",X"56",X"28",X"02",X"D1",
- X"C9",X"ED",X"A8",X"26",X"93",X"54",X"ED",X"A0",X"ED",X"A8",X"26",X"9B",X"54",X"46",X"EB",X"3A",
- X"27",X"98",X"E6",X"01",X"07",X"07",X"07",X"B0",X"77",X"16",X"8B",X"1A",X"62",X"E6",X"07",X"0E",
- X"30",X"FE",X"05",X"30",X"07",X"0C",X"FE",X"02",X"30",X"02",X"0C",X"0C",X"71",X"FE",X"04",X"38",
- X"03",X"2F",X"C6",X"47",X"CB",X"27",X"4F",X"78",X"0F",X"0F",X"0F",X"E6",X"60",X"47",X"3A",X"15",
- X"92",X"A7",X"78",X"20",X"02",X"EE",X"60",X"B1",X"D1",X"12",X"26",X"88",X"36",X"06",X"3E",X"01",
- X"32",X"AF",X"9A",X"2A",X"46",X"98",X"23",X"22",X"46",X"98",X"C9",X"3A",X"27",X"98",X"5F",X"3A",
- X"15",X"92",X"C6",X"B6",X"6F",X"26",X"99",X"7E",X"E6",X"0A",X"FE",X"0A",X"28",X"37",X"21",X"15",
- X"92",X"CB",X"46",X"28",X"02",X"EE",X"0A",X"21",X"A3",X"92",X"47",X"0E",X"01",X"7E",X"EE",X"01",
- X"77",X"20",X"01",X"0C",X"21",X"62",X"93",X"7E",X"A7",X"C8",X"CB",X"48",X"20",X"0F",X"7E",X"FE",
- X"D1",X"38",X"03",X"CB",X"43",X"C0",X"FE",X"E1",X"D0",X"81",X"77",X"18",X"0D",X"7E",X"FE",X"12",
- X"D8",X"91",X"77",X"18",X"05",X"AF",X"32",X"A3",X"92",X"C9",X"CB",X"43",X"C8",X"C6",X"0F",X"32",
- X"60",X"93",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",
- X"3A",X"28",X"98",X"6F",X"26",X"88",X"7E",X"A7",X"C2",X"BF",X"20",X"3A",X"8B",X"92",X"A7",X"CA",
- X"C7",X"20",X"3D",X"CA",X"D1",X"20",X"26",X"93",X"7E",X"FE",X"80",X"28",X"09",X"F2",X"23",X"20",
- X"34",X"18",X"3B",X"35",X"18",X"38",X"2C",X"3A",X"15",X"92",X"A7",X"20",X"1F",X"7E",X"FE",X"29",
- X"20",X"0F",X"26",X"9B",X"7E",X"26",X"93",X"3D",X"20",X"07",X"3E",X"03",X"32",X"8B",X"92",X"18",
- X"1D",X"34",X"20",X"1A",X"26",X"9B",X"7E",X"EE",X"01",X"77",X"18",X"12",X"7E",X"FE",X"37",X"20",
- X"08",X"26",X"9B",X"7E",X"26",X"93",X"A7",X"28",X"E1",X"35",X"7E",X"3C",X"28",X"E6",X"21",X"62",
- X"8B",X"7E",X"D6",X"06",X"4F",X"26",X"93",X"20",X"0C",X"7E",X"FE",X"71",X"28",X"07",X"F2",X"73",
- X"20",X"34",X"C9",X"35",X"C9",X"3A",X"8B",X"92",X"FE",X"03",X"C0",X"3A",X"28",X"98",X"6F",X"36",
- X"00",X"2C",X"0D",X"0C",X"28",X"09",X"11",X"63",X"93",X"AF",X"32",X"2B",X"98",X"18",X"08",X"3E",
- X"01",X"32",X"27",X"98",X"11",X"61",X"93",X"7E",X"12",X"26",X"9B",X"54",X"7E",X"12",X"2D",X"26",
- X"88",X"36",X"80",X"26",X"8B",X"6B",X"2D",X"36",X"06",X"2C",X"36",X"09",X"2D",X"26",X"93",X"36",
- X"80",X"3E",X"01",X"32",X"14",X"90",X"32",X"15",X"90",X"32",X"25",X"90",X"32",X"B9",X"99",X"AF",
- X"32",X"1D",X"90",X"32",X"B1",X"9A",X"C9",X"3C",X"32",X"8B",X"92",X"3E",X"02",X"32",X"AD",X"92",
- X"C9",X"26",X"9B",X"3A",X"AD",X"92",X"5F",X"3A",X"87",X"92",X"B3",X"32",X"8D",X"92",X"CD",X"96",
- X"21",X"05",X"C0",X"32",X"14",X"90",X"32",X"15",X"90",X"32",X"25",X"90",X"3E",X"02",X"32",X"8B",
- X"92",X"C9",X"21",X"62",X"8B",X"7E",X"FE",X"40",X"38",X"08",X"AF",X"32",X"1C",X"90",X"32",X"BA",
- X"99",X"C9",X"26",X"9B",X"CD",X"96",X"21",X"CB",X"40",X"20",X"54",X"3A",X"8B",X"92",X"CB",X"7F",
- X"20",X"59",X"3A",X"8D",X"92",X"A7",X"C8",X"26",X"93",X"3A",X"28",X"98",X"5F",X"54",X"1A",X"BE",
- X"28",X"07",X"F2",X"28",X"21",X"35",X"18",X"01",X"34",X"2C",X"3A",X"15",X"92",X"A7",X"28",X"0B",
- X"34",X"7E",X"FE",X"7A",X"28",X"24",X"FE",X"80",X"28",X"16",X"C9",X"35",X"7E",X"3C",X"20",X"08",
- X"26",X"9B",X"7E",X"EE",X"01",X"77",X"26",X"93",X"7E",X"FE",X"E6",X"28",X"0D",X"FE",X"E0",X"C0",
- X"AF",X"32",X"8D",X"92",X"3E",X"07",X"32",X"63",X"8B",X"C9",X"AF",X"32",X"15",X"90",X"C9",X"3A",
- X"15",X"90",X"A7",X"20",X"06",X"3C",X"32",X"0D",X"92",X"18",X"22",X"26",X"93",X"2C",X"3A",X"15",
- X"92",X"A7",X"28",X"07",X"7E",X"FE",X"37",X"28",X"12",X"35",X"C9",X"7E",X"FE",X"29",X"28",X"0B",
- X"34",X"C0",X"26",X"9B",X"7E",X"EE",X"01",X"77",X"26",X"93",X"C9",X"05",X"C0",X"AF",X"32",X"1C",
- X"90",X"3C",X"32",X"25",X"90",X"C9",X"7E",X"4F",X"CB",X"3F",X"A9",X"4F",X"26",X"8B",X"06",X"00",
- X"7E",X"E6",X"07",X"FE",X"06",X"20",X"0E",X"0D",X"0C",X"20",X"0A",X"08",X"3A",X"8D",X"92",X"A7",
- X"20",X"02",X"04",X"C9",X"08",X"CB",X"41",X"20",X"07",X"FE",X"06",X"28",X"09",X"34",X"18",X"0E",
- X"A7",X"28",X"03",X"35",X"18",X"08",X"0D",X"F2",X"B5",X"21",X"0E",X"03",X"18",X"E7",X"79",X"CB",
- X"4F",X"28",X"02",X"EE",X"01",X"26",X"9B",X"77",X"C9",X"21",X"28",X"98",X"5E",X"16",X"88",X"1A",
- X"FE",X"09",X"20",X"44",X"2C",X"7E",X"DD",X"6F",X"DD",X"26",X"91",X"DD",X"7E",X"0A",X"A7",X"C0",
- X"3E",X"0C",X"DD",X"CB",X"05",X"46",X"28",X"02",X"ED",X"44",X"DD",X"77",X"0C",X"DD",X"7E",X"05",
- X"0F",X"DD",X"7E",X"04",X"1F",X"D6",X"78",X"FE",X"10",X"D0",X"3A",X"C6",X"99",X"32",X"2A",X"98",
- X"AF",X"DD",X"77",X"0C",X"32",X"19",X"90",X"32",X"8B",X"92",X"32",X"0D",X"92",X"3C",X"32",X"18",
- X"90",X"32",X"8C",X"92",X"32",X"8D",X"92",X"C9",X"AF",X"32",X"19",X"90",X"32",X"2B",X"98",X"C9",
- X"3A",X"A0",X"92",X"4F",X"E6",X"03",X"20",X"2D",X"3A",X"8A",X"92",X"ED",X"44",X"D6",X"18",X"26",
- X"21",X"07",X"CB",X"14",X"07",X"CB",X"14",X"E6",X"E0",X"C6",X"15",X"6F",X"79",X"0F",X"0F",X"E6",
- X"03",X"20",X"01",X"3C",X"C6",X"17",X"11",X"16",X"00",X"0E",X"06",X"06",X"0A",X"77",X"2C",X"10",
- X"FC",X"19",X"0D",X"20",X"F6",X"21",X"8B",X"92",X"CB",X"7E",X"20",X"0C",X"3A",X"28",X"98",X"5F",
- X"16",X"88",X"1A",X"FE",X"09",X"C2",X"35",X"23",X"21",X"8C",X"92",X"35",X"C2",X"4B",X"23",X"3A",
- X"2A",X"98",X"77",X"21",X"8B",X"92",X"CB",X"7E",X"20",X"2F",X"32",X"A5",X"9A",X"3A",X"29",X"98",
- X"C6",X"0D",X"5F",X"16",X"91",X"3E",X"FF",X"12",X"34",X"7E",X"E6",X"0F",X"FE",X"0B",X"28",X"40",
- X"CB",X"76",X"20",X"2B",X"F5",X"4F",X"07",X"81",X"21",X"A9",X"23",X"CF",X"F1",X"CD",X"98",X"23",
- X"06",X"06",X"7E",X"12",X"23",X"E7",X"10",X"FA",X"C9",X"34",X"7E",X"E6",X"0F",X"FE",X"0B",X"20",
- X"12",X"AF",X"32",X"18",X"90",X"32",X"A5",X"9A",X"32",X"A6",X"9A",X"32",X"2B",X"98",X"C9",X"ED",
- X"44",X"C6",X"0B",X"CD",X"98",X"23",X"06",X"06",X"0E",X"24",X"79",X"12",X"E7",X"10",X"FB",X"C9",
- X"CB",X"76",X"28",X"46",X"3A",X"0D",X"92",X"A7",X"28",X"07",X"CB",X"6E",X"20",X"03",X"36",X"68",
- X"C9",X"AF",X"32",X"18",X"90",X"32",X"A5",X"9A",X"32",X"A6",X"9A",X"3A",X"0D",X"92",X"A7",X"3A",
- X"29",X"98",X"20",X"0F",X"C6",X"0D",X"5F",X"16",X"91",X"AF",X"32",X"2B",X"98",X"3C",X"32",X"28",
- X"98",X"12",X"C9",X"C6",X"08",X"6F",X"26",X"91",X"11",X"6B",X"04",X"73",X"2C",X"72",X"AF",X"32",
- X"BA",X"99",X"3C",X"32",X"11",X"90",X"32",X"8E",X"92",X"C9",X"3E",X"40",X"32",X"8C",X"92",X"3E",
- X"40",X"32",X"8B",X"92",X"C9",X"3E",X"03",X"32",X"2A",X"98",X"36",X"80",X"AF",X"32",X"8D",X"92",
- X"32",X"BA",X"99",X"3C",X"32",X"8C",X"92",X"32",X"14",X"90",X"C9",X"3A",X"8B",X"92",X"FE",X"40",
- X"C0",X"3A",X"15",X"92",X"4F",X"3A",X"62",X"93",X"CB",X"41",X"28",X"04",X"C6",X"0E",X"ED",X"44",
- X"47",X"3A",X"8A",X"92",X"90",X"C6",X"1B",X"FE",X"36",X"D0",X"3A",X"01",X"92",X"3D",X"28",X"0B",
- X"3A",X"14",X"90",X"4F",X"3A",X"13",X"92",X"EE",X"01",X"A1",X"C8",X"AF",X"32",X"14",X"90",X"32",
- X"A5",X"9A",X"32",X"25",X"90",X"32",X"13",X"92",X"3C",X"32",X"1C",X"90",X"32",X"A6",X"9A",X"32",
- X"BA",X"99",X"3E",X"0A",X"32",X"2A",X"98",X"C9",X"4F",X"3A",X"8A",X"92",X"ED",X"44",X"C6",X"10",
- X"16",X"20",X"07",X"CB",X"12",X"07",X"CB",X"12",X"E6",X"E0",X"C6",X"14",X"81",X"5F",X"C9",X"24",
- X"4E",X"4F",X"50",X"51",X"24",X"24",X"52",X"53",X"54",X"55",X"24",X"24",X"56",X"57",X"58",X"59",
- X"24",X"24",X"5A",X"5B",X"5C",X"5D",X"24",X"24",X"5E",X"5F",X"60",X"61",X"24",X"62",X"63",X"64",
- X"65",X"66",X"67",X"68",X"69",X"6A",X"6B",X"6C",X"6D",X"6E",X"6F",X"70",X"71",X"72",X"73",X"74",
- X"75",X"76",X"77",X"78",X"79",X"7A",X"7B",X"7C",X"7D",X"7E",X"7F",X"3A",X"A0",X"92",X"CB",X"47",
- X"CA",X"A4",X"25",X"E6",X"02",X"5F",X"3A",X"A6",X"92",X"DD",X"6F",X"06",X"20",X"16",X"88",X"1A",
- X"CB",X"27",X"38",X"20",X"21",X"0D",X"24",X"D7",X"7E",X"23",X"66",X"6F",X"E9",X"24",X"24",X"96",
- X"24",X"6D",X"24",X"5B",X"25",X"C0",X"24",X"43",X"25",X"5B",X"25",X"9E",X"25",X"4A",X"24",X"30",
- X"24",X"1D",X"DD",X"2C",X"3E",X"04",X"83",X"5F",X"10",X"D3",X"DD",X"7D",X"32",X"A6",X"92",X"C9",
- X"6B",X"26",X"01",X"4E",X"2C",X"6E",X"26",X"99",X"7E",X"08",X"69",X"4E",X"1C",X"1A",X"C6",X"11",
- X"6F",X"26",X"91",X"08",X"77",X"2C",X"71",X"C3",X"21",X"24",X"26",X"8B",X"6B",X"1C",X"1A",X"3D",
- X"28",X"0D",X"12",X"1D",X"E6",X"03",X"20",X"CC",X"7E",X"C6",X"04",X"77",X"C3",X"24",X"24",X"26",
- X"93",X"AF",X"77",X"26",X"9B",X"77",X"1D",X"3E",X"80",X"12",X"C3",X"24",X"24",X"26",X"9B",X"6B",
- X"7E",X"E6",X"01",X"26",X"8B",X"20",X"0A",X"7E",X"E6",X"07",X"FE",X"06",X"28",X"13",X"34",X"18",
- X"28",X"7E",X"E6",X"07",X"20",X"08",X"26",X"9B",X"CB",X"86",X"26",X"8B",X"18",X"1B",X"35",X"18",
- X"18",X"3E",X"01",X"12",X"18",X"13",X"26",X"8B",X"6B",X"3A",X"A2",X"92",X"CB",X"0E",X"0F",X"0F",
- X"CB",X"16",X"3A",X"0B",X"92",X"A7",X"CA",X"22",X"24",X"26",X"01",X"4E",X"2C",X"6E",X"26",X"98",
- X"7E",X"16",X"93",X"12",X"1C",X"69",X"7E",X"12",X"16",X"9B",X"2C",X"7E",X"12",X"C3",X"21",X"24",
- X"6B",X"1C",X"1A",X"FE",X"45",X"28",X"2D",X"3C",X"12",X"1D",X"FE",X"45",X"20",X"02",X"C6",X"03",
- X"FE",X"44",X"20",X"1A",X"26",X"93",X"08",X"7E",X"D6",X"08",X"77",X"2C",X"7E",X"D6",X"08",X"77",
- X"30",X"06",X"26",X"9B",X"7E",X"EE",X"01",X"77",X"2D",X"26",X"9B",X"36",X"0C",X"08",X"26",X"8B",
- X"77",X"C3",X"24",X"24",X"1D",X"26",X"92",X"7E",X"FE",X"01",X"20",X"0F",X"26",X"93",X"36",X"00",
- X"26",X"9B",X"36",X"00",X"26",X"88",X"36",X"80",X"C3",X"24",X"24",X"26",X"8B",X"77",X"FE",X"37",
- X"38",X"0A",X"0E",X"0D",X"2C",X"FE",X"3A",X"38",X"01",X"0C",X"71",X"2D",X"26",X"93",X"0E",X"08",
- X"FE",X"3B",X"30",X"06",X"0E",X"00",X"7E",X"C6",X"08",X"77",X"2C",X"7E",X"C6",X"08",X"77",X"26",
- X"9B",X"30",X"04",X"7E",X"EE",X"01",X"77",X"2D",X"71",X"26",X"88",X"36",X"05",X"2C",X"36",X"13",
- X"C3",X"24",X"24",X"6B",X"2C",X"62",X"35",X"C2",X"24",X"24",X"2D",X"36",X"80",X"26",X"93",X"36",
- X"00",X"26",X"9B",X"36",X"00",X"3E",X"80",X"12",X"C3",X"24",X"24",X"26",X"93",X"6B",X"CB",X"FD",
- X"7E",X"FE",X"F4",X"30",X"1A",X"2C",X"4E",X"26",X"9B",X"7E",X"2D",X"0F",X"79",X"1F",X"FE",X"0B",
- X"38",X"0D",X"FE",X"A5",X"30",X"09",X"1A",X"FE",X"06",X"C2",X"22",X"24",X"C3",X"24",X"24",X"CB",
- X"BD",X"1A",X"FE",X"03",X"28",X"0A",X"3E",X"80",X"12",X"26",X"93",X"36",X"00",X"C3",X"24",X"24",
- X"1C",X"1A",X"1D",X"C6",X"13",X"6F",X"26",X"91",X"36",X"00",X"6B",X"C3",X"86",X"25",X"3E",X"03",
- X"12",X"C3",X"22",X"24",X"CB",X"4F",X"C8",X"21",X"A6",X"92",X"7E",X"36",X"00",X"2C",X"77",X"C9",
- X"21",X"7C",X"28",X"22",X"E0",X"92",X"3A",X"21",X"98",X"4F",X"FE",X"17",X"38",X"04",X"D6",X"04",
- X"18",X"F8",X"47",X"3C",X"E6",X"03",X"28",X"19",X"3A",X"84",X"99",X"2E",X"11",X"CD",X"4E",X"10",
- X"7D",X"21",X"B6",X"26",X"D7",X"11",X"02",X"27",X"78",X"CB",X"38",X"CB",X"38",X"90",X"3D",X"18",
- X"0D",X"21",X"FA",X"26",X"79",X"CB",X"3F",X"CB",X"3F",X"E6",X"07",X"11",X"EC",X"27",X"D7",X"7E",
- X"EB",X"D7",X"7E",X"23",X"32",X"E2",X"92",X"7E",X"23",X"32",X"E3",X"92",X"11",X"20",X"89",X"3E",
- X"7E",X"12",X"1C",X"7E",X"23",X"FE",X"FF",X"CA",X"8F",X"26",X"4F",X"D5",X"E5",X"21",X"00",X"91",
- X"3E",X"FF",X"06",X"10",X"DF",X"79",X"E6",X"0F",X"28",X"2A",X"47",X"CB",X"3F",X"C6",X"04",X"5F",
- X"CD",X"00",X"10",X"6F",X"26",X"00",X"7B",X"CD",X"61",X"10",X"CB",X"40",X"28",X"02",X"CB",X"DF",
- X"26",X"91",X"6F",X"7E",X"3C",X"20",X"E9",X"78",X"07",X"CB",X"01",X"30",X"02",X"F6",X"40",X"F6",
- X"38",X"77",X"10",X"DC",X"21",X"00",X"91",X"ED",X"5B",X"E0",X"92",X"06",X"08",X"7E",X"FE",X"FF",
- X"28",X"03",X"23",X"18",X"F8",X"1A",X"77",X"13",X"23",X"78",X"FE",X"05",X"20",X"02",X"2E",X"08",
- X"10",X"EB",X"ED",X"53",X"E0",X"92",X"E1",X"D1",X"46",X"23",X"4E",X"23",X"E5",X"21",X"00",X"91",
- X"78",X"12",X"7E",X"FE",X"FF",X"28",X"10",X"1C",X"12",X"1C",X"79",X"12",X"1C",X"CB",X"DD",X"7E",
- X"12",X"1C",X"CB",X"9D",X"23",X"18",X"E9",X"3E",X"7E",X"12",X"1C",X"E1",X"C3",X"03",X"26",X"1D",
- X"3A",X"2B",X"98",X"47",X"3A",X"27",X"98",X"3D",X"A0",X"28",X"17",X"3A",X"25",X"98",X"A7",X"28",
- X"11",X"62",X"7B",X"D6",X"04",X"6F",X"7E",X"12",X"1C",X"3E",X"04",X"12",X"1C",X"3E",X"87",X"32",
- X"04",X"8B",X"3E",X"7F",X"12",X"C9",X"00",X"12",X"24",X"36",X"00",X"48",X"6C",X"5A",X"48",X"6C",
- X"00",X"7E",X"A2",X"90",X"B4",X"D8",X"C6",X"00",X"12",X"48",X"6C",X"5A",X"7E",X"A2",X"00",X"7E",
- X"D8",X"C6",X"B4",X"D8",X"C6",X"B4",X"D8",X"C6",X"00",X"12",X"7E",X"A2",X"90",X"7E",X"D8",X"C6",
- X"B4",X"D8",X"C6",X"B4",X"D8",X"C6",X"B4",X"D8",X"C6",X"00",X"12",X"48",X"36",X"24",X"48",X"6C",
- X"00",X"7E",X"A2",X"90",X"B4",X"D8",X"00",X"B4",X"D8",X"C6",X"00",X"12",X"24",X"36",X"48",X"5A",
- X"6C",X"7E",X"14",X"00",X"00",X"00",X"C0",X"00",X"01",X"01",X"00",X"41",X"41",X"00",X"40",X"40",
- X"00",X"00",X"00",X"FF",X"14",X"01",X"00",X"42",X"82",X"00",X"03",X"85",X"00",X"43",X"C5",X"00",
- X"42",X"C4",X"00",X"02",X"84",X"FF",X"14",X"01",X"82",X"00",X"C0",X"00",X"01",X"01",X"00",X"41",
- X"41",X"02",X"40",X"40",X"02",X"00",X"00",X"FF",X"14",X"01",X"82",X"02",X"C2",X"00",X"03",X"85",
- X"00",X"43",X"C5",X"02",X"42",X"C4",X"02",X"02",X"84",X"FF",X"14",X"01",X"82",X"00",X"C0",X"00",
- X"01",X"C1",X"00",X"41",X"81",X"02",X"40",X"80",X"02",X"40",X"80",X"FF",X"14",X"01",X"82",X"00",
- X"C0",X"42",X"01",X"01",X"F2",X"41",X"41",X"02",X"40",X"40",X"02",X"00",X"00",X"FF",X"14",X"01",
- X"A4",X"02",X"C2",X"52",X"03",X"85",X"F2",X"43",X"C5",X"02",X"42",X"C4",X"02",X"02",X"84",X"FF",
- X"14",X"01",X"82",X"00",X"C0",X"52",X"01",X"C1",X"F2",X"41",X"81",X"02",X"40",X"80",X"02",X"40",
- X"80",X"FF",X"14",X"01",X"A4",X"00",X"C0",X"42",X"01",X"01",X"F4",X"41",X"41",X"04",X"40",X"40",
- X"04",X"00",X"00",X"FF",X"14",X"01",X"A4",X"02",X"C2",X"52",X"03",X"85",X"F4",X"43",X"C5",X"04",
- X"42",X"C4",X"04",X"02",X"84",X"FF",X"14",X"03",X"A4",X"00",X"C0",X"54",X"01",X"C1",X"F4",X"41",
- X"81",X"04",X"40",X"80",X"04",X"40",X"80",X"FF",X"14",X"03",X"A4",X"00",X"C0",X"54",X"01",X"01",
- X"F4",X"41",X"41",X"04",X"40",X"40",X"04",X"00",X"00",X"FF",X"14",X"03",X"A4",X"02",X"C2",X"54",
- X"03",X"85",X"F4",X"43",X"C5",X"04",X"42",X"C4",X"04",X"02",X"84",X"FF",X"FF",X"00",X"00",X"06",
- X"C6",X"00",X"07",X"07",X"00",X"47",X"47",X"00",X"46",X"46",X"00",X"06",X"06",X"FF",X"FF",X"00",
- X"00",X"08",X"C8",X"00",X"09",X"C9",X"00",X"09",X"C9",X"00",X"48",X"48",X"00",X"08",X"08",X"FF",
- X"FF",X"00",X"00",X"0A",X"4A",X"00",X"0B",X"CB",X"00",X"0B",X"CB",X"00",X"0A",X"4A",X"00",X"16",
- X"56",X"FF",X"FF",X"00",X"00",X"0C",X"CC",X"00",X"0D",X"0D",X"00",X"4D",X"4D",X"00",X"0C",X"CC",
- X"00",X"17",X"D7",X"FF",X"FF",X"00",X"00",X"0E",X"0E",X"00",X"0F",X"0F",X"00",X"4F",X"4F",X"00",
- X"0E",X"0E",X"00",X"4E",X"4E",X"FF",X"FF",X"00",X"00",X"10",X"10",X"00",X"11",X"D1",X"00",X"11",
- X"D1",X"00",X"50",X"50",X"00",X"10",X"10",X"FF",X"FF",X"00",X"00",X"12",X"12",X"00",X"13",X"13",
- X"00",X"53",X"53",X"00",X"52",X"52",X"00",X"12",X"12",X"FF",X"FF",X"00",X"00",X"14",X"D4",X"00",
- X"15",X"15",X"00",X"55",X"55",X"00",X"14",X"D4",X"00",X"14",X"D4",X"FF",X"58",X"5A",X"5C",X"5E",
- X"28",X"2A",X"2C",X"2E",X"30",X"34",X"36",X"32",X"50",X"52",X"54",X"56",X"42",X"46",X"40",X"44",
- X"4A",X"4E",X"48",X"4C",X"1A",X"1E",X"20",X"24",X"22",X"26",X"18",X"1C",X"08",X"0C",X"12",X"16",
- X"10",X"14",X"0A",X"0E",X"21",X"20",X"89",X"22",X"22",X"98",X"FD",X"21",X"16",X"29",X"3A",X"25",
- X"98",X"A7",X"20",X"27",X"3A",X"21",X"98",X"0F",X"0F",X"4F",X"0F",X"47",X"E6",X"1C",X"78",X"28",
- X"02",X"3E",X"03",X"E6",X"03",X"21",X"0E",X"29",X"CF",X"11",X"84",X"92",X"79",X"ED",X"A0",X"ED",
- X"A0",X"21",X"1C",X"29",X"E6",X"07",X"D7",X"56",X"5A",X"18",X"03",X"11",X"24",X"36",X"21",X"08",
- X"8B",X"DD",X"2E",X"01",X"06",X"14",X"DD",X"62",X"CD",X"F7",X"28",X"06",X"08",X"DD",X"26",X"10",
- X"CD",X"F7",X"28",X"06",X"10",X"DD",X"63",X"DD",X"2D",X"20",X"08",X"FD",X"4E",X"00",X"FD",X"23",
- X"DD",X"2E",X"08",X"CB",X"01",X"DD",X"7C",X"1F",X"77",X"2C",X"2C",X"10",X"EA",X"C9",X"0A",X"B8",
- X"0F",X"B9",X"14",X"BC",X"1E",X"BD",X"A5",X"5A",X"A9",X"0F",X"0A",X"50",X"36",X"24",X"D4",X"BA",
- X"E4",X"CC",X"A8",X"F4",X"2A",X"22",X"98",X"7E",X"FE",X"7F",X"CA",X"37",X"2A",X"FE",X"7E",X"20",
- X"30",X"3A",X"42",X"98",X"A7",X"C8",X"3A",X"87",X"92",X"A7",X"20",X"1F",X"3A",X"25",X"98",X"47",
- X"A7",X"20",X"0F",X"3A",X"AC",X"92",X"FE",X"01",X"20",X"06",X"3E",X"08",X"32",X"A8",X"92",X"C9",
- X"A7",X"C0",X"23",X"22",X"22",X"98",X"21",X"26",X"98",X"34",X"C9",X"3E",X"02",X"32",X"AC",X"92",
- X"C9",X"4F",X"CB",X"7F",X"20",X"06",X"3A",X"A0",X"92",X"E6",X"07",X"C0",X"CB",X"21",X"06",X"0C",
- X"11",X"14",X"00",X"DD",X"21",X"00",X"91",X"DD",X"CB",X"13",X"46",X"28",X"05",X"DD",X"19",X"10",
- X"F6",X"C9",X"23",X"7E",X"47",X"E6",X"78",X"FE",X"78",X"78",X"20",X"02",X"CB",X"B7",X"DD",X"77",
- X"10",X"23",X"22",X"22",X"98",X"26",X"88",X"6F",X"36",X"07",X"2C",X"DD",X"5D",X"73",X"26",X"93",
- X"E6",X"38",X"FE",X"38",X"28",X"1B",X"2D",X"26",X"8B",X"7E",X"57",X"E6",X"78",X"77",X"2C",X"7A",
- X"E6",X"07",X"CB",X"7A",X"77",X"3E",X"00",X"28",X"03",X"3A",X"E3",X"92",X"DD",X"77",X"0F",X"18",
- X"1E",X"11",X"10",X"02",X"CB",X"70",X"20",X"0D",X"11",X"18",X"03",X"3A",X"26",X"98",X"FE",X"02",
- X"20",X"03",X"11",X"08",X"00",X"26",X"8B",X"72",X"2D",X"73",X"2C",X"DD",X"36",X"0F",X"00",X"51",
- X"CB",X"B9",X"06",X"08",X"CB",X"49",X"28",X"02",X"06",X"44",X"DD",X"70",X"0E",X"06",X"00",X"21",
- X"4A",X"2A",X"09",X"7E",X"23",X"DD",X"77",X"08",X"AF",X"ED",X"6F",X"47",X"7E",X"E6",X"1F",X"DD",
- X"77",X"09",X"78",X"E6",X"0E",X"47",X"07",X"80",X"21",X"7A",X"2A",X"D7",X"CB",X"7A",X"28",X"03",
- X"23",X"23",X"23",X"7E",X"23",X"DD",X"77",X"01",X"7E",X"23",X"DD",X"77",X"03",X"7E",X"23",X"DD",
- X"77",X"05",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"02",X"DD",X"77",X"04",X"3C",X"DD",X"77",X"0D",
- X"B2",X"E6",X"81",X"DD",X"77",X"13",X"C9",X"3A",X"87",X"92",X"A7",X"C0",X"32",X"08",X"90",X"3C",
- X"32",X"04",X"90",X"32",X"10",X"90",X"32",X"24",X"98",X"C9",X"1D",X"00",X"67",X"20",X"9F",X"40",
- X"D4",X"20",X"7B",X"01",X"B0",X"61",X"E8",X"01",X"F5",X"21",X"0B",X"02",X"1B",X"22",X"2B",X"82",
- X"41",X"22",X"5D",X"82",X"79",X"22",X"9E",X"02",X"BA",X"22",X"D9",X"02",X"FB",X"22",X"1D",X"03",
- X"33",X"23",X"DA",X"0F",X"F0",X"2F",X"2B",X"A2",X"5D",X"A2",X"9B",X"34",X"03",X"9B",X"44",X"03",
- X"23",X"00",X"00",X"23",X"78",X"02",X"9B",X"2C",X"03",X"9B",X"4C",X"03",X"2B",X"00",X"00",X"2B",
- X"78",X"02",X"9B",X"34",X"03",X"9B",X"34",X"03",X"9B",X"44",X"03",X"9B",X"44",X"03",X"3A",X"A0",
- X"92",X"3D",X"E6",X"03",X"C0",X"3A",X"A7",X"92",X"47",X"3A",X"08",X"90",X"B0",X"28",X"48",X"3A",
- X"0F",X"92",X"A7",X"0E",X"01",X"28",X"02",X"0D",X"0D",X"2E",X"00",X"06",X"0A",X"26",X"99",X"7E",
- X"81",X"77",X"26",X"98",X"7E",X"81",X"77",X"2C",X"2C",X"10",X"F2",X"3A",X"24",X"98",X"A7",X"3A",
- X"00",X"99",X"28",X"03",X"A7",X"28",X"11",X"FE",X"20",X"20",X"06",X"3E",X"01",X"32",X"0F",X"92",
- X"C9",X"D6",X"E0",X"C0",X"32",X"0F",X"92",X"C9",X"AF",X"32",X"0F",X"92",X"32",X"0A",X"90",X"3C",
- X"32",X"A0",X"9A",X"32",X"09",X"90",X"C9",X"32",X"0A",X"90",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"3A",X"21",X"98",X"FE",X"1B",X"38",X"04",X"D6",X"04",X"18",X"F8",X"3D",X"6F",X"07",X"07",X"85",
- X"5F",X"3A",X"84",X"99",X"21",X"65",X"2C",X"CF",X"7E",X"23",X"66",X"6F",X"7B",X"D7",X"11",X"C0",
- X"99",X"06",X"05",X"7E",X"4F",X"07",X"07",X"07",X"07",X"E6",X"0F",X"12",X"1C",X"79",X"E6",X"0F",
- X"12",X"1C",X"23",X"10",X"EE",X"3A",X"21",X"98",X"FE",X"03",X"30",X"03",X"AF",X"18",X"07",X"F6",
- X"FC",X"3C",X"28",X"02",X"3E",X"0A",X"12",X"01",X"16",X"02",X"ED",X"43",X"C1",X"92",X"ED",X"43",
- X"C0",X"92",X"3A",X"21",X"98",X"FE",X"10",X"38",X"02",X"3E",X"10",X"07",X"07",X"E6",X"70",X"C6",
- X"40",X"32",X"BB",X"99",X"C9",X"EF",X"2C",X"71",X"2D",X"F3",X"2D",X"6D",X"2C",X"00",X"00",X"22",
- X"C6",X"00",X"00",X"11",X"23",X"C7",X"00",X"00",X"00",X"00",X"C0",X"00",X"11",X"12",X"23",X"97",
- X"00",X"11",X"23",X"23",X"98",X"00",X"21",X"24",X"33",X"98",X"00",X"00",X"00",X"00",X"90",X"00",
- X"22",X"25",X"33",X"99",X"10",X"22",X"36",X"34",X"69",X"10",X"10",X"11",X"23",X"97",X"00",X"00",
- X"00",X"00",X"60",X"00",X"32",X"46",X"34",X"67",X"11",X"32",X"67",X"44",X"68",X"11",X"32",X"67",
- X"45",X"68",X"11",X"00",X"00",X"00",X"60",X"00",X"42",X"78",X"45",X"69",X"11",X"42",X"78",X"45",
- X"69",X"11",X"11",X"22",X"23",X"97",X"11",X"00",X"00",X"00",X"60",X"00",X"52",X"88",X"46",X"3A",
- X"11",X"52",X"88",X"56",X"3A",X"11",X"52",X"88",X"56",X"3C",X"11",X"00",X"00",X"00",X"30",X"00",
- X"62",X"89",X"57",X"3C",X"11",X"62",X"99",X"57",X"3C",X"11",X"62",X"99",X"57",X"3C",X"11",X"00",
- X"00",X"12",X"C6",X"00",X"00",X"11",X"22",X"C6",X"00",X"00",X"00",X"00",X"C0",X"00",X"11",X"12",
- X"23",X"97",X"00",X"11",X"12",X"23",X"97",X"00",X"00",X"11",X"23",X"C7",X"00",X"00",X"00",X"00",
- X"90",X"00",X"21",X"23",X"33",X"98",X"10",X"21",X"24",X"33",X"98",X"10",X"21",X"25",X"34",X"98",
- X"10",X"00",X"00",X"00",X"60",X"00",X"22",X"25",X"34",X"68",X"11",X"32",X"36",X"44",X"68",X"11",
- X"11",X"11",X"23",X"67",X"01",X"00",X"00",X"00",X"60",X"00",X"32",X"36",X"45",X"68",X"11",X"32",
- X"46",X"45",X"69",X"11",X"32",X"67",X"45",X"69",X"11",X"00",X"00",X"00",X"60",X"00",X"42",X"67",
- X"46",X"3A",X"11",X"42",X"78",X"56",X"3A",X"11",X"52",X"78",X"56",X"3A",X"11",X"00",X"00",X"00",
- X"30",X"00",X"52",X"88",X"56",X"3C",X"11",X"62",X"99",X"57",X"3C",X"11",X"62",X"99",X"57",X"3C",
- X"11",X"00",X"00",X"23",X"C6",X"00",X"10",X"11",X"23",X"97",X"00",X"00",X"00",X"00",X"C0",X"00",
- X"11",X"12",X"33",X"98",X"00",X"21",X"23",X"34",X"68",X"00",X"21",X"24",X"34",X"68",X"00",X"00",
- X"00",X"00",X"90",X"00",X"32",X"36",X"34",X"67",X"10",X"32",X"46",X"44",X"68",X"10",X"11",X"11",
- X"23",X"97",X"10",X"00",X"00",X"00",X"60",X"00",X"42",X"67",X"45",X"68",X"11",X"42",X"67",X"45",
- X"69",X"11",X"42",X"78",X"46",X"69",X"11",X"00",X"00",X"00",X"60",X"00",X"52",X"78",X"46",X"3A",
- X"11",X"52",X"88",X"56",X"3A",X"11",X"52",X"88",X"56",X"3A",X"11",X"00",X"00",X"00",X"60",X"00",
- X"62",X"88",X"56",X"3C",X"11",X"62",X"89",X"57",X"3C",X"11",X"62",X"89",X"57",X"3E",X"11",X"00",
- X"00",X"00",X"30",X"00",X"72",X"99",X"57",X"3E",X"11",X"72",X"99",X"68",X"3E",X"11",X"72",X"99",
- X"68",X"3E",X"11",X"00",X"00",X"23",X"C6",X"00",X"10",X"11",X"23",X"97",X"00",X"00",X"00",X"00",
- X"C0",X"00",X"11",X"12",X"34",X"98",X"00",X"21",X"23",X"34",X"68",X"00",X"21",X"24",X"34",X"68",
- X"00",X"00",X"00",X"00",X"90",X"00",X"32",X"36",X"45",X"67",X"11",X"32",X"46",X"46",X"68",X"11",
- X"32",X"56",X"46",X"69",X"11",X"00",X"00",X"00",X"60",X"00",X"42",X"67",X"56",X"6A",X"11",X"42",
- X"67",X"56",X"6A",X"11",X"42",X"78",X"57",X"6A",X"11",X"00",X"00",X"00",X"60",X"00",X"52",X"78",
- X"57",X"3A",X"11",X"52",X"88",X"57",X"3A",X"11",X"52",X"88",X"68",X"3C",X"11",X"00",X"00",X"00",
- X"60",X"00",X"62",X"88",X"68",X"3C",X"11",X"62",X"89",X"68",X"3C",X"11",X"62",X"89",X"68",X"3E",
- X"11",X"00",X"00",X"00",X"30",X"00",X"72",X"99",X"68",X"3E",X"11",X"72",X"99",X"68",X"3E",X"11",
- X"72",X"99",X"68",X"3E",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"50",
- X"21",X"FD",X"83",X"3A",X"40",X"98",X"A7",X"28",X"03",X"21",X"E8",X"83",X"22",X"00",X"8A",X"11",
- X"3D",X"8A",X"CD",X"F7",X"31",X"D0",X"11",X"37",X"8A",X"CD",X"F7",X"31",X"3E",X"05",X"30",X"27",
- X"11",X"31",X"8A",X"CD",X"F7",X"31",X"3E",X"04",X"30",X"1D",X"11",X"2B",X"8A",X"CD",X"F7",X"31",
- X"3E",X"03",X"30",X"13",X"11",X"25",X"8A",X"CD",X"F7",X"31",X"3E",X"02",X"30",X"09",X"3E",X"FF",
- X"32",X"AC",X"9A",X"3E",X"01",X"18",X"03",X"32",X"B0",X"9A",X"32",X"11",X"8A",X"21",X"A6",X"31",
- X"3D",X"CF",X"CD",X"18",X"31",X"3A",X"11",X"8A",X"21",X"A1",X"31",X"3D",X"D7",X"7E",X"21",X"49",
- X"8A",X"11",X"4C",X"8A",X"A7",X"28",X"05",X"4F",X"06",X"00",X"ED",X"B8",X"06",X"03",X"3E",X"24",
- X"22",X"04",X"8A",X"2C",X"77",X"10",X"FC",X"3E",X"49",X"32",X"10",X"8A",X"21",X"7F",X"32",X"CD",
- X"28",X"33",X"CD",X"1B",X"33",X"CD",X"28",X"33",X"11",X"09",X"83",X"2A",X"00",X"8A",X"CD",X"75",
- X"32",X"21",X"49",X"81",X"11",X"E0",X"FF",X"36",X"0A",X"19",X"36",X"0A",X"19",X"36",X"0A",X"CD",
- X"1D",X"32",X"CD",X"80",X"31",X"3E",X"04",X"32",X"AE",X"92",X"3A",X"AE",X"92",X"A7",X"20",X"FA",
- X"3E",X"28",X"32",X"AE",X"92",X"CD",X"1D",X"32",X"CD",X"80",X"31",X"3A",X"A0",X"92",X"4F",X"CD",
- X"ED",X"32",X"3A",X"A0",X"92",X"B9",X"28",X"F7",X"4F",X"E6",X"0F",X"CC",X"41",X"31",X"21",X"B6",
- X"99",X"3A",X"15",X"92",X"A7",X"28",X"01",X"23",X"CB",X"66",X"CA",X"4C",X"31",X"7E",X"E6",X"0A",
- X"21",X"02",X"8A",X"11",X"03",X"8A",X"BE",X"28",X"04",X"77",X"3E",X"FD",X"12",X"1A",X"3C",X"12",
- X"E6",X"0F",X"20",X"CB",X"7E",X"FE",X"08",X"28",X"24",X"FE",X"02",X"20",X"C2",X"3E",X"28",X"32",
- X"AE",X"92",X"3A",X"10",X"8A",X"6F",X"26",X"81",X"7E",X"3D",X"FE",X"09",X"CC",X"38",X"31",X"FE",
- X"29",X"CC",X"3B",X"31",X"77",X"C3",X"BF",X"30",X"7E",X"23",X"66",X"6F",X"E9",X"3A",X"10",X"8A",
- X"6F",X"26",X"81",X"3E",X"28",X"32",X"AE",X"92",X"7E",X"3C",X"FE",X"2B",X"CC",X"3E",X"31",X"FE",
- X"25",X"CC",X"38",X"31",X"77",X"C3",X"BF",X"30",X"3E",X"2A",X"C9",X"3E",X"24",X"C9",X"3E",X"0A",
- X"C9",X"3A",X"10",X"8A",X"6F",X"26",X"85",X"7E",X"EE",X"05",X"77",X"C9",X"3A",X"10",X"8A",X"6F",
- X"26",X"85",X"36",X"00",X"26",X"81",X"4E",X"3E",X"28",X"32",X"AE",X"92",X"2A",X"04",X"8A",X"23",
- X"71",X"22",X"04",X"8A",X"21",X"10",X"8A",X"7E",X"D6",X"20",X"77",X"D2",X"B5",X"30",X"CD",X"1D",
- X"32",X"CD",X"80",X"31",X"3E",X"4C",X"32",X"A0",X"92",X"3A",X"A0",X"92",X"A7",X"20",X"FA",X"C9",
- X"3A",X"11",X"8A",X"21",X"97",X"31",X"3D",X"CF",X"7E",X"23",X"66",X"6F",X"06",X"16",X"11",X"E0",
- X"FF",X"36",X"05",X"19",X"10",X"FB",X"C9",X"74",X"87",X"76",X"87",X"78",X"87",X"7A",X"87",X"7C",
- X"87",X"0C",X"09",X"06",X"03",X"00",X"B0",X"31",X"B4",X"31",X"B8",X"31",X"CE",X"31",X"D9",X"31",
- X"3E",X"12",X"18",X"06",X"3E",X"0C",X"18",X"02",X"3E",X"06",X"21",X"37",X"8A",X"11",X"3D",X"8A",
- X"01",X"06",X"00",X"ED",X"B8",X"11",X"37",X"8A",X"4F",X"ED",X"B8",X"C3",X"D9",X"31",X"11",X"3D",
- X"8A",X"21",X"37",X"8A",X"01",X"06",X"00",X"ED",X"B8",X"3A",X"11",X"8A",X"3D",X"21",X"ED",X"31",
- X"CF",X"5E",X"23",X"56",X"2A",X"00",X"8A",X"01",X"06",X"00",X"ED",X"B8",X"C9",X"25",X"8A",X"2B",
- X"8A",X"31",X"8A",X"37",X"8A",X"3D",X"8A",X"2A",X"00",X"8A",X"06",X"06",X"1A",X"FE",X"24",X"28",
- X"0D",X"7E",X"FE",X"24",X"C8",X"1A",X"BE",X"C0",X"2D",X"1D",X"10",X"F0",X"AF",X"C9",X"BE",X"28",
- X"F7",X"AF",X"18",X"F2",X"21",X"45",X"33",X"CD",X"28",X"33",X"CD",X"28",X"33",X"21",X"B4",X"32",
- X"CD",X"1B",X"33",X"06",X"01",X"CD",X"31",X"32",X"CD",X"31",X"32",X"CD",X"31",X"32",X"CD",X"31",
- X"32",X"78",X"3D",X"87",X"87",X"87",X"21",X"C5",X"32",X"D7",X"5E",X"23",X"56",X"23",X"78",X"12",
- X"CD",X"73",X"32",X"CD",X"70",X"32",X"CD",X"70",X"32",X"CD",X"73",X"32",X"CD",X"73",X"32",X"7E",
- X"23",X"4E",X"23",X"E5",X"61",X"6F",X"CD",X"75",X"32",X"7B",X"D6",X"C0",X"5F",X"30",X"01",X"15",
- X"E1",X"7E",X"23",X"66",X"6F",X"CD",X"70",X"32",X"CD",X"70",X"32",X"CD",X"70",X"32",X"04",X"C9",
- X"7E",X"12",X"23",X"E7",X"C9",X"0E",X"06",X"7E",X"12",X"2B",X"E7",X"0D",X"20",X"F9",X"C9",X"24",
- X"83",X"15",X"04",X"0E",X"17",X"1D",X"0E",X"1B",X"24",X"22",X"18",X"1E",X"1B",X"24",X"12",X"17",
- X"12",X"1D",X"12",X"0A",X"15",X"1C",X"24",X"2C",X"E7",X"82",X"10",X"1C",X"0C",X"18",X"1B",X"0E",
- X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"17",X"0A",X"16",X"0E",X"50",X"82",X"05",X"04",X"1D",
- X"18",X"19",X"24",X"05",X"92",X"82",X"0E",X"1C",X"0C",X"18",X"1B",X"0E",X"24",X"24",X"24",X"24",
- X"24",X"17",X"0A",X"16",X"0E",X"54",X"83",X"1C",X"1D",X"25",X"8A",X"3E",X"8A",X"56",X"83",X"17",
- X"0D",X"2B",X"8A",X"41",X"8A",X"58",X"83",X"1B",X"0D",X"31",X"8A",X"44",X"8A",X"5A",X"83",X"1D",
- X"11",X"37",X"8A",X"47",X"8A",X"5C",X"83",X"1D",X"11",X"3D",X"8A",X"4A",X"8A",X"3A",X"B5",X"99",
- X"FE",X"A0",X"28",X"07",X"47",X"3A",X"B8",X"99",X"B8",X"38",X"05",X"3A",X"AE",X"92",X"A7",X"C0",
- X"E1",X"26",X"81",X"3A",X"10",X"8A",X"6F",X"ED",X"5B",X"04",X"8A",X"13",X"ED",X"A0",X"3E",X"DF",
- X"25",X"85",X"30",X"01",X"24",X"6F",X"CB",X"44",X"20",X"F2",X"C9",X"5E",X"23",X"56",X"23",X"46",
- X"23",X"7E",X"12",X"23",X"E7",X"10",X"FA",X"C9",X"5E",X"23",X"56",X"23",X"46",X"23",X"4E",X"23",
- X"EB",X"1A",X"77",X"CB",X"D4",X"71",X"CB",X"94",X"13",X"3E",X"E0",X"25",X"85",X"30",X"01",X"24",
- X"6F",X"10",X"EE",X"EB",X"C9",X"25",X"83",X"13",X"02",X"1D",X"11",X"0E",X"24",X"10",X"0A",X"15",
- X"0A",X"0C",X"1D",X"12",X"0C",X"24",X"11",X"0E",X"1B",X"18",X"0E",X"1C",X"CC",X"82",X"0C",X"04",
- X"26",X"26",X"24",X"0B",X"0E",X"1C",X"1D",X"24",X"05",X"24",X"26",X"26",X"AF",X"32",X"23",X"68",
- X"3C",X"32",X"22",X"68",X"F3",X"32",X"30",X"68",X"06",X"0A",X"D9",X"11",X"00",X"80",X"21",X"00",
- X"00",X"01",X"00",X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"7D",X"32",X"30",X"68",X"12",
- X"13",X"0B",X"78",X"B1",X"20",X"EE",X"11",X"00",X"80",X"21",X"00",X"00",X"01",X"00",X"04",X"7D",
- X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"1A",X"AD",X"C2",X"C0",X"34",X"13",X"32",X"30",X"68",X"0B",
- X"78",X"B1",X"20",X"EB",X"11",X"00",X"80",X"21",X"55",X"55",X"01",X"00",X"04",X"7D",X"AC",X"2F",
- X"87",X"87",X"ED",X"6A",X"7D",X"32",X"30",X"68",X"12",X"13",X"0B",X"78",X"B1",X"20",X"EE",X"11",
- X"00",X"80",X"21",X"55",X"55",X"01",X"00",X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"1A",
- X"AD",X"C2",X"C0",X"34",X"13",X"32",X"30",X"68",X"0B",X"78",X"B1",X"20",X"EB",X"11",X"00",X"80",
- X"21",X"AA",X"AA",X"01",X"00",X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"7D",X"32",X"30",
- X"68",X"12",X"13",X"0B",X"78",X"B1",X"20",X"EE",X"11",X"00",X"80",X"21",X"AA",X"AA",X"01",X"00",
- X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"1A",X"AD",X"C2",X"C0",X"34",X"13",X"32",X"30",
- X"68",X"0B",X"78",X"B1",X"20",X"EB",X"D9",X"05",X"C2",X"7A",X"33",X"31",X"00",X"84",X"11",X"00",
- X"84",X"CD",X"7F",X"34",X"11",X"00",X"88",X"CD",X"7F",X"34",X"11",X"00",X"90",X"CD",X"7F",X"34",
- X"21",X"E0",X"99",X"11",X"00",X"90",X"01",X"20",X"00",X"ED",X"B0",X"11",X"00",X"98",X"CD",X"7F",
- X"34",X"21",X"00",X"90",X"11",X"E0",X"99",X"01",X"20",X"00",X"ED",X"B0",X"31",X"00",X"8B",X"11",
- X"00",X"80",X"CD",X"7F",X"34",X"CD",X"58",X"39",X"21",X"81",X"3B",X"CD",X"1B",X"33",X"32",X"30",
- X"68",X"CD",X"3C",X"3A",X"3E",X"07",X"32",X"20",X"90",X"CD",X"72",X"39",X"C3",X"50",X"35",X"06",
- X"1E",X"21",X"00",X"00",X"C5",X"CD",X"8C",X"34",X"C1",X"10",X"F9",X"C9",X"D5",X"E5",X"01",X"00",
- X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",X"7D",X"32",X"30",X"68",X"12",X"13",X"0B",X"78",
- X"B1",X"20",X"EE",X"E1",X"D1",X"D5",X"01",X"00",X"04",X"7D",X"AC",X"2F",X"87",X"87",X"ED",X"6A",
- X"1A",X"AD",X"C2",X"C0",X"34",X"13",X"32",X"30",X"68",X"0B",X"78",X"B1",X"20",X"EB",X"D1",X"C9",
- X"47",X"7A",X"1F",X"1F",X"E6",X"07",X"FE",X"04",X"38",X"01",X"3D",X"FE",X"05",X"38",X"01",X"3D",
- X"5F",X"78",X"16",X"15",X"E6",X"0F",X"20",X"02",X"16",X"11",X"32",X"30",X"68",X"D9",X"21",X"00",
- X"80",X"11",X"01",X"80",X"01",X"00",X"04",X"36",X"24",X"ED",X"B0",X"36",X"00",X"01",X"FF",X"03",
- X"ED",X"B0",X"32",X"30",X"68",X"D9",X"21",X"E2",X"82",X"36",X"1B",X"3E",X"E0",X"25",X"D7",X"36",
- X"0A",X"3E",X"E0",X"25",X"D7",X"36",X"16",X"3E",X"A0",X"25",X"D7",X"73",X"3E",X"E0",X"25",X"D7",
- X"72",X"21",X"80",X"93",X"06",X"80",X"36",X"F1",X"23",X"10",X"FB",X"32",X"30",X"68",X"C3",X"1B",
- X"35",X"E5",X"EB",X"16",X"10",X"AF",X"47",X"86",X"32",X"30",X"68",X"23",X"10",X"F9",X"15",X"20",
- X"F6",X"EB",X"E1",X"B9",X"C8",X"21",X"8B",X"3B",X"CD",X"1B",X"33",X"11",X"44",X"82",X"21",X"02",
- X"91",X"AF",X"ED",X"6F",X"12",X"E7",X"AF",X"ED",X"6F",X"12",X"32",X"30",X"68",X"C3",X"4A",X"35",
- X"21",X"00",X"91",X"36",X"00",X"23",X"36",X"00",X"23",X"36",X"01",X"AF",X"32",X"70",X"92",X"3C",
- X"32",X"23",X"68",X"11",X"00",X"00",X"0E",X"00",X"CD",X"21",X"35",X"34",X"0E",X"00",X"CD",X"21",
- X"35",X"34",X"0E",X"00",X"CD",X"21",X"35",X"34",X"0E",X"00",X"CD",X"21",X"35",X"36",X"FF",X"3A",
- X"00",X"91",X"32",X"30",X"68",X"A7",X"28",X"F7",X"3C",X"28",X"07",X"3D",X"32",X"02",X"91",X"C3",
- X"35",X"35",X"3A",X"01",X"91",X"32",X"30",X"68",X"A7",X"28",X"F7",X"3C",X"28",X"17",X"3D",X"32",
- X"02",X"91",X"C3",X"35",X"35",X"05",X"05",X"05",X"05",X"30",X"40",X"00",X"02",X"DF",X"40",X"30",
- X"30",X"03",X"DF",X"10",X"20",X"21",X"8B",X"3B",X"CD",X"1B",X"33",X"CD",X"F4",X"37",X"21",X"00",
- X"91",X"06",X"03",X"36",X"00",X"23",X"10",X"FB",X"3E",X"20",X"32",X"00",X"90",X"21",X"A5",X"35",
- X"11",X"00",X"70",X"01",X"04",X"00",X"D9",X"3E",X"A1",X"32",X"00",X"71",X"32",X"30",X"68",X"CD",
- X"EC",X"37",X"AF",X"32",X"30",X"68",X"32",X"A0",X"92",X"3A",X"A0",X"92",X"FE",X"02",X"20",X"F9",
- X"21",X"A9",X"35",X"11",X"00",X"70",X"01",X"0C",X"00",X"D9",X"3E",X"A8",X"32",X"00",X"71",X"32",
- X"30",X"68",X"CD",X"EC",X"37",X"32",X"30",X"68",X"ED",X"56",X"21",X"20",X"68",X"36",X"00",X"36",
- X"01",X"FB",X"CD",X"F2",X"39",X"AF",X"32",X"A0",X"92",X"3A",X"A0",X"92",X"E6",X"08",X"28",X"F9",
- X"3A",X"A0",X"92",X"4F",X"3A",X"A0",X"92",X"B9",X"28",X"FA",X"21",X"16",X"91",X"11",X"17",X"91",
- X"01",X"07",X"00",X"ED",X"B8",X"EB",X"11",X"B5",X"99",X"1A",X"CB",X"7F",X"C2",X"BA",X"36",X"77",
- X"23",X"B6",X"23",X"2F",X"A6",X"23",X"A6",X"77",X"47",X"23",X"13",X"1A",X"77",X"23",X"B6",X"23",
- X"2F",X"A6",X"23",X"A6",X"77",X"6F",X"60",X"06",X"10",X"29",X"DC",X"D6",X"39",X"10",X"FA",X"CD",
- X"F4",X"37",X"2A",X"72",X"92",X"7C",X"B5",X"28",X"09",X"2B",X"22",X"72",X"92",X"7C",X"B5",X"CC",
- X"BB",X"39",X"3A",X"10",X"91",X"1F",X"30",X"07",X"AF",X"32",X"71",X"92",X"C3",X"20",X"36",X"3A",
- X"17",X"91",X"E6",X"0F",X"CA",X"20",X"36",X"4F",X"21",X"82",X"37",X"11",X"71",X"92",X"1A",X"D7",
- X"7E",X"B9",X"28",X"05",X"AF",X"12",X"C3",X"20",X"36",X"EB",X"34",X"13",X"1A",X"3C",X"C2",X"20",
- X"36",X"CD",X"58",X"39",X"CD",X"72",X"39",X"11",X"98",X"37",X"21",X"42",X"80",X"06",X"1C",X"CD",
- X"66",X"37",X"10",X"FB",X"3A",X"B5",X"99",X"87",X"30",X"FA",X"AF",X"32",X"A0",X"92",X"3A",X"A0",
- X"92",X"FE",X"08",X"38",X"F9",X"3A",X"B5",X"99",X"87",X"D2",X"20",X"36",X"CD",X"72",X"39",X"21",
- X"00",X"80",X"06",X"10",X"36",X"28",X"23",X"36",X"27",X"23",X"10",X"F8",X"06",X"10",X"36",X"2D",
- X"23",X"36",X"2B",X"23",X"10",X"F8",X"06",X"10",X"36",X"28",X"23",X"36",X"2D",X"23",X"10",X"F8",
- X"06",X"10",X"36",X"27",X"23",X"36",X"2B",X"23",X"10",X"F8",X"EB",X"21",X"40",X"80",X"01",X"40",
- X"03",X"ED",X"B0",X"21",X"00",X"80",X"01",X"40",X"00",X"ED",X"B0",X"AF",X"32",X"A0",X"92",X"3A",
- X"A0",X"92",X"87",X"30",X"FA",X"3A",X"B5",X"99",X"87",X"30",X"FA",X"F3",X"CD",X"EC",X"37",X"3E",
- X"FE",X"32",X"A0",X"92",X"3A",X"A0",X"92",X"A7",X"20",X"FA",X"32",X"30",X"68",X"21",X"80",X"92",
- X"11",X"00",X"70",X"01",X"08",X"00",X"D9",X"3E",X"E1",X"32",X"00",X"71",X"CD",X"EC",X"37",X"21",
- X"00",X"70",X"11",X"88",X"92",X"01",X"03",X"00",X"D9",X"3E",X"B1",X"32",X"00",X"71",X"CD",X"EC",
- X"37",X"3A",X"88",X"92",X"FE",X"A1",X"30",X"D5",X"E6",X"0F",X"FE",X"0A",X"30",X"CF",X"FB",X"AF",
- X"32",X"10",X"82",X"C3",X"D3",X"02",X"CD",X"74",X"37",X"CD",X"74",X"37",X"CD",X"74",X"37",X"3E",
- X"05",X"C3",X"10",X"00",X"1A",X"0E",X"08",X"87",X"30",X"01",X"34",X"23",X"0D",X"20",X"F8",X"13",
- X"23",X"C9",X"02",X"02",X"02",X"02",X"02",X"08",X"08",X"08",X"08",X"08",X"08",X"02",X"02",X"02",
- X"08",X"08",X"08",X"08",X"08",X"08",X"08",X"FF",X"01",X"3E",X"00",X"7F",X"41",X"00",X"21",X"41",
- X"00",X"00",X"41",X"00",X"36",X"3E",X"00",X"49",X"00",X"03",X"49",X"22",X"03",X"49",X"41",X"00",
- X"36",X"41",X"3E",X"00",X"3E",X"41",X"3E",X"00",X"41",X"49",X"7F",X"41",X"49",X"20",X"7F",X"49",
- X"18",X"00",X"32",X"20",X"40",X"00",X"7F",X"40",X"01",X"00",X"7F",X"7F",X"3F",X"40",X"21",X"44",
- X"40",X"00",X"44",X"00",X"3C",X"44",X"01",X"42",X"3F",X"01",X"81",X"00",X"01",X"A5",X"7F",X"01",
- X"A5",X"04",X"7F",X"99",X"08",X"00",X"42",X"10",X"00",X"3C",X"7F",X"00",X"3A",X"00",X"71",X"FE",
- X"10",X"C8",X"18",X"F8",X"3A",X"07",X"68",X"1F",X"3C",X"E6",X"01",X"32",X"83",X"99",X"21",X"CC",
- X"3A",X"CF",X"CD",X"61",X"3A",X"3A",X"B5",X"99",X"0E",X"00",X"E6",X"0C",X"20",X"01",X"0C",X"79",
- X"32",X"07",X"A0",X"21",X"01",X"68",X"7E",X"1F",X"E6",X"01",X"4F",X"23",X"7E",X"E6",X"02",X"B1",
- X"32",X"84",X"99",X"21",X"68",X"3A",X"D7",X"11",X"2C",X"82",X"ED",X"A0",X"21",X"E4",X"3A",X"CD",
- X"1B",X"33",X"21",X"06",X"68",X"7E",X"23",X"4E",X"CB",X"19",X"8F",X"E6",X"03",X"3C",X"32",X"82",
- X"99",X"3C",X"32",X"EA",X"82",X"21",X"EB",X"3A",X"CD",X"1B",X"33",X"21",X"C4",X"3A",X"11",X"80",
- X"92",X"01",X"08",X"00",X"ED",X"B0",X"21",X"00",X"68",X"06",X"03",X"AF",X"4E",X"CB",X"19",X"8F",
- X"23",X"10",X"F9",X"E6",X"07",X"28",X"34",X"3D",X"87",X"87",X"87",X"21",X"6C",X"3A",X"D7",X"11",
- X"81",X"92",X"01",X"04",X"00",X"ED",X"B0",X"11",X"E8",X"82",X"ED",X"A0",X"11",X"28",X"82",X"ED",
- X"A0",X"11",X"E8",X"81",X"ED",X"A0",X"11",X"E8",X"80",X"ED",X"A0",X"3E",X"24",X"32",X"08",X"82",
- X"21",X"F6",X"3A",X"CD",X"1B",X"33",X"CD",X"1B",X"33",X"18",X"10",X"21",X"81",X"92",X"06",X"04",
- X"36",X"00",X"23",X"10",X"FB",X"21",X"07",X"3B",X"CD",X"1B",X"33",X"21",X"03",X"68",X"06",X"03",
- X"AF",X"4E",X"CB",X"19",X"8F",X"23",X"10",X"F9",X"E6",X"07",X"CA",X"2D",X"39",X"4F",X"3A",X"82",
- X"99",X"E6",X"04",X"87",X"81",X"87",X"21",X"A4",X"3A",X"D7",X"11",X"80",X"99",X"ED",X"A0",X"ED",
- X"A0",X"2B",X"0E",X"01",X"CD",X"DA",X"38",X"2B",X"0E",X"00",X"7E",X"3C",X"CA",X"3B",X"39",X"79",
- X"87",X"E5",X"21",X"1D",X"3B",X"D7",X"7E",X"23",X"66",X"6F",X"C5",X"CD",X"1B",X"33",X"CD",X"1B",
- X"33",X"C1",X"E1",X"7E",X"E6",X"7F",X"EB",X"21",X"F0",X"81",X"41",X"10",X"02",X"23",X"23",X"CD",
- X"1E",X"39",X"EB",X"0D",X"C0",X"EB",X"1A",X"CB",X"7F",X"C2",X"49",X"39",X"21",X"F4",X"81",X"CD",
- X"1E",X"39",X"D5",X"21",X"50",X"3B",X"CD",X"1B",X"33",X"CD",X"1B",X"33",X"E1",X"C9",X"FE",X"0A",
- X"06",X"24",X"38",X"04",X"06",X"01",X"D6",X"0A",X"70",X"CB",X"AD",X"77",X"C9",X"21",X"67",X"3B",
- X"CD",X"1B",X"33",X"21",X"80",X"99",X"36",X"FF",X"23",X"36",X"FF",X"EB",X"21",X"32",X"83",X"06",
- X"16",X"36",X"24",X"3E",X"E0",X"25",X"D7",X"10",X"F8",X"21",X"34",X"83",X"06",X"16",X"36",X"24",
- X"3E",X"E0",X"25",X"D7",X"10",X"F8",X"EB",X"C9",X"21",X"00",X"80",X"11",X"01",X"80",X"01",X"00",
- X"04",X"36",X"24",X"ED",X"B0",X"36",X"03",X"01",X"FF",X"03",X"ED",X"B0",X"3E",X"07",X"32",X"BE",
- X"99",X"C9",X"21",X"80",X"93",X"06",X"80",X"36",X"F1",X"23",X"10",X"FB",X"C9",X"21",X"E0",X"99",
- X"11",X"5E",X"83",X"0E",X"02",X"06",X"01",X"CD",X"97",X"39",X"06",X"03",X"CD",X"97",X"39",X"06",
- X"02",X"CD",X"97",X"39",X"23",X"06",X"01",X"CD",X"AA",X"39",X"CD",X"A0",X"39",X"10",X"FB",X"C9",
- X"3E",X"99",X"96",X"1F",X"1F",X"1F",X"1F",X"CD",X"AE",X"39",X"3E",X"99",X"96",X"23",X"E6",X"0F",
- X"12",X"E7",X"0D",X"C0",X"3E",X"2A",X"0E",X"04",X"12",X"E7",X"C9",X"21",X"5E",X"83",X"06",X"17",
- X"11",X"E0",X"FF",X"36",X"24",X"19",X"10",X"FB",X"C9",X"E5",X"CD",X"7D",X"39",X"21",X"84",X"03",
- X"22",X"72",X"92",X"E1",X"C1",X"C9",X"C5",X"78",X"FE",X"0F",X"28",X"ED",X"FE",X"02",X"28",X"15",
- X"FE",X"04",X"20",X"3D",X"3A",X"70",X"92",X"D6",X"01",X"30",X"02",X"3E",X"11",X"32",X"70",X"92",
- X"18",X"0A",X"C5",X"18",X"07",X"3A",X"70",X"92",X"3C",X"32",X"70",X"92",X"3A",X"70",X"92",X"FE",
- X"12",X"38",X"01",X"AF",X"32",X"70",X"92",X"E5",X"0E",X"00",X"FE",X"0A",X"38",X"03",X"0C",X"D6",
- X"0A",X"21",X"2E",X"82",X"71",X"2E",X"0E",X"77",X"21",X"47",X"3A",X"CD",X"1B",X"33",X"E1",X"C1",
- X"C9",X"3A",X"70",X"92",X"FE",X"12",X"38",X"01",X"AF",X"32",X"70",X"92",X"EB",X"CD",X"3C",X"3A",
- X"21",X"4F",X"3A",X"D7",X"6E",X"26",X"9A",X"36",X"01",X"EB",X"C1",X"C9",X"21",X"A0",X"9A",X"06",
- X"40",X"36",X"00",X"23",X"10",X"FB",X"C9",X"EE",X"82",X"05",X"1C",X"18",X"1E",X"17",X"0D",X"A1",
- X"A2",X"A3",X"A4",X"A7",X"AA",X"AB",X"AC",X"AD",X"AE",X"AF",X"B0",X"B2",X"B3",X"B4",X"B5",X"B6",
- X"B9",X"7E",X"23",X"66",X"6F",X"C3",X"1B",X"33",X"0B",X"0C",X"0D",X"0A",X"04",X"01",X"04",X"01",
- X"04",X"1C",X"01",X"24",X"03",X"01",X"03",X"01",X"03",X"1C",X"01",X"24",X"02",X"01",X"02",X"01",
- X"02",X"1C",X"01",X"24",X"02",X"03",X"02",X"03",X"02",X"1C",X"03",X"1C",X"01",X"03",X"01",X"03",
- X"01",X"24",X"03",X"1C",X"01",X"02",X"01",X"02",X"01",X"24",X"02",X"1C",X"01",X"01",X"01",X"01",
- X"01",X"24",X"01",X"24",X"FF",X"FF",X"02",X"06",X"02",X"07",X"02",X"08",X"03",X"0A",X"03",X"0C",
- X"02",X"86",X"03",X"88",X"FF",X"FF",X"03",X"0A",X"03",X"0C",X"03",X"0F",X"03",X"8A",X"03",X"8C",
- X"03",X"8F",X"03",X"FF",X"01",X"01",X"01",X"01",X"01",X"02",X"03",X"00",X"D0",X"3A",X"DA",X"3A",
- X"E6",X"82",X"07",X"1E",X"19",X"1B",X"12",X"10",X"11",X"1D",X"E6",X"82",X"07",X"1D",X"0A",X"0B",
- X"15",X"0E",X"24",X"24",X"EC",X"82",X"04",X"1B",X"0A",X"17",X"14",X"AA",X"82",X"08",X"0F",X"12",
- X"10",X"11",X"1D",X"0E",X"1B",X"1C",X"C8",X"82",X"05",X"24",X"0C",X"18",X"12",X"17",X"A8",X"81",
- X"06",X"0C",X"1B",X"0E",X"0D",X"12",X"1D",X"E8",X"82",X"12",X"0F",X"1B",X"0E",X"0E",X"24",X"19",
- X"15",X"0A",X"22",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"21",X"3B",X"39",
- X"3B",X"30",X"83",X"0A",X"01",X"1C",X"1D",X"24",X"0B",X"18",X"17",X"1E",X"1C",X"24",X"B0",X"81",
- X"08",X"00",X"00",X"00",X"00",X"24",X"19",X"1D",X"1C",X"32",X"83",X"09",X"02",X"17",X"0D",X"24",
- X"0B",X"18",X"17",X"1E",X"1C",X"B2",X"81",X"08",X"00",X"00",X"00",X"00",X"24",X"19",X"1D",X"1C",
- X"34",X"83",X"09",X"0A",X"17",X"0D",X"24",X"0E",X"1F",X"0E",X"1B",X"22",X"B4",X"81",X"08",X"00",
- X"00",X"00",X"00",X"24",X"19",X"1D",X"1C",X"30",X"83",X"16",X"0B",X"18",X"17",X"1E",X"1C",X"24",
- X"17",X"18",X"1D",X"11",X"12",X"17",X"10",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"24",X"24",
- X"24",X"E2",X"82",X"07",X"1B",X"0A",X"16",X"24",X"24",X"18",X"14",X"E4",X"82",X"07",X"1B",X"18",
- X"16",X"24",X"24",X"18",X"14",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D9");
-begin
-process(clk)
-begin
- if rising_edge(clk) then
- data <= rom_data(to_integer(unsigned(addr)));
- end if;
-end process;
-end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu2.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu2.vhd
deleted file mode 100644
index 328166d9..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu2.vhd
+++ /dev/null
@@ -1,278 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity galaga_cpu2 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 galaga_cpu2 is
- type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"31",X"00",X"91",X"C3",X"7C",X"05",X"FF",X"FF",X"87",X"30",X"05",X"24",X"C3",X"10",X"00",X"FF",
- X"85",X"6F",X"D0",X"24",X"C9",X"FF",X"FF",X"FF",X"77",X"23",X"10",X"FC",X"C9",X"23",X"06",X"16",
- X"23",X"00",X"19",X"F7",X"4B",X"00",X"23",X"F0",X"02",X"F0",X"5E",X"00",X"23",X"F0",X"24",X"FB",
- X"23",X"00",X"FF",X"FF",X"E9",X"FF",X"FF",X"FF",X"C3",X"13",X"05",X"BE",X"05",X"BF",X"05",X"D3",
- X"08",X"BE",X"05",X"F5",X"06",X"EE",X"05",X"BE",X"05",X"CA",X"0E",X"23",X"F0",X"26",X"23",X"14",
- X"13",X"FE",X"0D",X"0B",X"0A",X"08",X"06",X"04",X"03",X"01",X"23",X"FF",X"FF",X"FF",X"44",X"E4",
- X"18",X"FB",X"44",X"00",X"FF",X"FF",X"C9",X"23",X"08",X"08",X"23",X"03",X"1B",X"23",X"08",X"0F",
- X"23",X"16",X"15",X"F7",X"84",X"00",X"23",X"16",X"03",X"F0",X"97",X"00",X"23",X"16",X"19",X"FB",
- X"23",X"00",X"FF",X"FF",X"23",X"16",X"01",X"FE",X"0D",X"0C",X"0A",X"08",X"06",X"04",X"03",X"01",
- X"23",X"FC",X"30",X"23",X"00",X"FF",X"FF",X"44",X"27",X"0E",X"FB",X"44",X"00",X"FF",X"FF",X"33",
- X"06",X"18",X"23",X"00",X"18",X"F7",X"B6",X"00",X"23",X"F0",X"08",X"F0",X"CC",X"00",X"23",X"F0",
- X"20",X"FB",X"23",X"00",X"FF",X"FF",X"23",X"F0",X"20",X"23",X"10",X"0D",X"FE",X"1A",X"18",X"15",
- X"10",X"0C",X"08",X"05",X"03",X"23",X"FE",X"30",X"23",X"00",X"FF",X"FF",X"33",X"E0",X"10",X"FB",
- X"44",X"00",X"FF",X"FF",X"23",X"03",X"18",X"33",X"04",X"10",X"23",X"08",X"0A",X"44",X"16",X"12",
- X"F7",X"60",X"01",X"44",X"16",X"03",X"F0",X"73",X"01",X"44",X"16",X"1D",X"FB",X"23",X"00",X"FF",
- X"FF",X"12",X"18",X"17",X"12",X"00",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"14",X"06",X"14",X"0C",X"14",X"08",X"14",X"0A",X"1C",X"00",X"1C",X"12",X"1E",X"00",X"1E",X"12",
- X"1C",X"02",X"1C",X"10",X"1E",X"02",X"1E",X"10",X"1C",X"04",X"1C",X"0E",X"1E",X"04",X"1E",X"0E",
- X"1C",X"06",X"1C",X"0C",X"1E",X"06",X"1E",X"0C",X"1C",X"08",X"1C",X"0A",X"1E",X"08",X"1E",X"0A",
- X"16",X"06",X"16",X"0C",X"16",X"08",X"16",X"0A",X"18",X"00",X"18",X"12",X"1A",X"00",X"1A",X"12",
- X"18",X"02",X"18",X"10",X"1A",X"02",X"1A",X"10",X"18",X"04",X"18",X"0E",X"1A",X"04",X"1A",X"0E",
- X"18",X"06",X"18",X"0C",X"1A",X"06",X"1A",X"0C",X"18",X"08",X"18",X"0A",X"1A",X"08",X"1A",X"0A",
- X"44",X"16",X"06",X"FE",X"0C",X"0B",X"0A",X"08",X"06",X"04",X"02",X"01",X"23",X"FE",X"30",X"23",
- X"00",X"FF",X"FF",X"66",X"20",X"14",X"FB",X"44",X"00",X"FF",X"FF",X"23",X"06",X"18",X"23",X"00",
- X"18",X"F7",X"92",X"01",X"44",X"F0",X"08",X"F0",X"A8",X"01",X"44",X"F0",X"20",X"FB",X"23",X"00",
- X"FF",X"FF",X"44",X"F0",X"26",X"23",X"10",X"0B",X"FE",X"22",X"20",X"1E",X"1B",X"18",X"15",X"12",
- X"10",X"23",X"FE",X"30",X"23",X"00",X"FF",X"FF",X"66",X"E0",X"10",X"FB",X"44",X"00",X"FF",X"FF",
- X"23",X"03",X"20",X"23",X"08",X"0F",X"23",X"16",X"12",X"F7",X"CA",X"01",X"23",X"16",X"03",X"F0",
- X"E0",X"01",X"23",X"16",X"1D",X"FB",X"23",X"00",X"FF",X"FF",X"23",X"16",X"01",X"FE",X"0D",X"0C",
- X"0B",X"09",X"07",X"05",X"03",X"02",X"23",X"02",X"20",X"23",X"FC",X"12",X"23",X"00",X"FF",X"FF",
- X"44",X"20",X"14",X"FB",X"44",X"00",X"FF",X"FF",X"23",X"00",X"10",X"23",X"01",X"40",X"22",X"0C",
- X"37",X"23",X"00",X"FF",X"FF",X"23",X"02",X"3A",X"23",X"10",X"09",X"23",X"00",X"18",X"23",X"20",
- X"10",X"23",X"00",X"18",X"23",X"20",X"0D",X"23",X"00",X"FF",X"FF",X"23",X"00",X"10",X"23",X"01",
- X"30",X"00",X"40",X"08",X"23",X"FF",X"30",X"23",X"00",X"FF",X"FF",X"23",X"00",X"30",X"23",X"05",
- X"80",X"23",X"05",X"4C",X"23",X"04",X"01",X"23",X"00",X"50",X"FF",X"23",X"00",X"28",X"23",X"06",
- X"1D",X"23",X"00",X"11",X"00",X"40",X"08",X"23",X"00",X"11",X"23",X"FA",X"1D",X"23",X"00",X"50",
- X"FF",X"23",X"00",X"21",X"00",X"20",X"10",X"23",X"F8",X"20",X"23",X"FF",X"20",X"23",X"F8",X"1B",
- X"23",X"E8",X"0B",X"23",X"00",X"21",X"00",X"20",X"08",X"23",X"00",X"42",X"FF",X"23",X"00",X"08",
- X"00",X"20",X"08",X"23",X"F0",X"20",X"23",X"10",X"20",X"23",X"F0",X"40",X"23",X"10",X"20",X"23",
- X"F0",X"20",X"00",X"20",X"08",X"23",X"00",X"30",X"FF",X"23",X"10",X"0C",X"23",X"00",X"20",X"23",
- X"E8",X"10",X"23",X"F4",X"10",X"23",X"E8",X"10",X"23",X"F4",X"32",X"23",X"E8",X"10",X"23",X"F4",
- X"32",X"23",X"E8",X"10",X"23",X"F4",X"10",X"23",X"E8",X"0E",X"23",X"02",X"30",X"FF",X"23",X"F1",
- X"08",X"23",X"00",X"10",X"23",X"05",X"3C",X"23",X"07",X"42",X"23",X"0A",X"40",X"23",X"10",X"2D",
- X"23",X"20",X"19",X"00",X"FC",X"14",X"23",X"02",X"4A",X"FF",X"23",X"04",X"20",X"23",X"00",X"16",
- X"23",X"F0",X"30",X"23",X"00",X"12",X"23",X"10",X"30",X"23",X"00",X"12",X"23",X"10",X"30",X"23",
- X"00",X"16",X"23",X"04",X"20",X"23",X"00",X"10",X"FF",X"23",X"00",X"15",X"00",X"20",X"08",X"23",
- X"00",X"11",X"00",X"E0",X"08",X"23",X"00",X"18",X"00",X"20",X"08",X"23",X"00",X"13",X"00",X"E0",
- X"08",X"23",X"00",X"1F",X"00",X"20",X"08",X"23",X"00",X"30",X"FF",X"23",X"02",X"0E",X"23",X"00",
- X"34",X"23",X"12",X"19",X"23",X"00",X"20",X"23",X"E0",X"0E",X"23",X"00",X"12",X"23",X"20",X"0E",
- X"23",X"00",X"0C",X"23",X"E0",X"0E",X"23",X"1B",X"08",X"23",X"00",X"10",X"FF",X"23",X"00",X"0D",
- X"00",X"C0",X"04",X"23",X"00",X"21",X"00",X"40",X"06",X"23",X"00",X"51",X"00",X"C0",X"06",X"23",
- X"00",X"73",X"FF",X"23",X"08",X"20",X"23",X"00",X"16",X"23",X"E0",X"0C",X"23",X"02",X"0B",X"23",
- X"11",X"0C",X"23",X"02",X"0B",X"23",X"E0",X"0C",X"23",X"00",X"16",X"23",X"08",X"20",X"FF",X"12",
- X"18",X"1E",X"12",X"00",X"34",X"12",X"FB",X"26",X"12",X"00",X"02",X"FC",X"2E",X"12",X"FA",X"3C",
- X"FA",X"9E",X"03",X"12",X"F8",X"10",X"12",X"FA",X"5C",X"12",X"00",X"23",X"F8",X"F9",X"EF",X"7C",
- X"03",X"F6",X"AB",X"12",X"01",X"28",X"12",X"0A",X"18",X"FD",X"52",X"03",X"F6",X"B0",X"23",X"08",
- X"1E",X"23",X"00",X"19",X"23",X"F8",X"16",X"23",X"00",X"02",X"FC",X"30",X"23",X"F7",X"26",X"FA",
- X"9E",X"03",X"23",X"F0",X"0A",X"23",X"F5",X"31",X"23",X"00",X"10",X"FD",X"6C",X"03",X"12",X"F8",
- X"10",X"12",X"00",X"40",X"FB",X"12",X"00",X"FF",X"FF",X"12",X"18",X"1D",X"12",X"00",X"28",X"12",
- X"FA",X"02",X"F3",X"3F",X"3B",X"36",X"32",X"28",X"26",X"24",X"22",X"12",X"04",X"30",X"12",X"FC",
- X"30",X"12",X"00",X"18",X"F8",X"F9",X"FA",X"0C",X"04",X"EF",X"D7",X"03",X"F6",X"B0",X"12",X"01",
- X"28",X"12",X"0A",X"15",X"FD",X"AC",X"03",X"F6",X"C0",X"23",X"08",X"10",X"23",X"00",X"23",X"23",
- X"F8",X"0F",X"23",X"00",X"48",X"F8",X"F9",X"FA",X"0C",X"04",X"F6",X"B0",X"23",X"08",X"20",X"23",
- X"00",X"08",X"23",X"F8",X"02",X"F3",X"34",X"31",X"2D",X"29",X"22",X"26",X"1F",X"18",X"23",X"08",
- X"18",X"23",X"F8",X"18",X"23",X"00",X"10",X"F8",X"F9",X"FD",X"CC",X"03",X"FB",X"12",X"00",X"FF",
- X"FF",X"12",X"18",X"14",X"12",X"03",X"2A",X"12",X"10",X"40",X"12",X"01",X"20",X"12",X"FE",X"71",
- X"F9",X"F1",X"FA",X"0C",X"04",X"EF",X"30",X"04",X"F6",X"AB",X"12",X"02",X"20",X"FD",X"14",X"04",
- X"F6",X"B0",X"23",X"04",X"1A",X"23",X"03",X"1D",X"23",X"1A",X"25",X"23",X"03",X"10",X"23",X"FD",
- X"48",X"FD",X"20",X"04",X"12",X"18",X"14",X"12",X"03",X"2A",X"12",X"10",X"40",X"12",X"01",X"20",
- X"12",X"FE",X"78",X"FF",X"12",X"18",X"14",X"F4",X"12",X"00",X"04",X"FC",X"48",X"00",X"FC",X"FF",
- X"23",X"00",X"30",X"F8",X"F9",X"FA",X"0C",X"04",X"FD",X"25",X"04",X"12",X"18",X"14",X"FB",X"12",
- X"00",X"FF",X"FF",X"12",X"18",X"1E",X"12",X"00",X"08",X"F2",X"99",X"04",X"00",X"00",X"0A",X"F2",
- X"99",X"04",X"00",X"00",X"0A",X"12",X"00",X"2C",X"12",X"FB",X"26",X"12",X"00",X"02",X"FC",X"2E",
- X"12",X"FA",X"3C",X"FA",X"9E",X"03",X"FD",X"63",X"03",X"12",X"00",X"2C",X"12",X"FB",X"26",X"12",
- X"00",X"02",X"FC",X"2E",X"12",X"FA",X"18",X"12",X"00",X"10",X"FF",X"12",X"18",X"13",X"F2",X"C6",
- X"04",X"00",X"00",X"08",X"F2",X"CF",X"04",X"00",X"00",X"08",X"12",X"18",X"0B",X"12",X"00",X"34",
- X"12",X"FB",X"26",X"FD",X"58",X"03",X"12",X"00",X"10",X"12",X"18",X"0B",X"FD",X"D8",X"04",X"12",
- X"00",X"08",X"12",X"18",X"0B",X"12",X"00",X"06",X"12",X"00",X"22",X"12",X"FB",X"26",X"12",X"00",
- X"02",X"FC",X"2E",X"12",X"FA",X"18",X"12",X"00",X"20",X"FF",X"12",X"18",X"1E",X"12",X"00",X"14",
- X"F2",X"02",X"05",X"12",X"00",X"08",X"F2",X"02",X"05",X"12",X"00",X"18",X"12",X"FB",X"26",X"FD",
- X"58",X"03",X"12",X"E2",X"01",X"F3",X"08",X"07",X"06",X"05",X"04",X"03",X"02",X"01",X"F5",X"23",
- X"00",X"48",X"FF",X"AF",X"32",X"21",X"68",X"3A",X"04",X"68",X"E6",X"02",X"CA",X"75",X"05",X"3A",
- X"A0",X"92",X"3C",X"32",X"A0",X"92",X"2A",X"A1",X"92",X"E6",X"1F",X"3D",X"28",X"08",X"3C",X"20",
- X"06",X"7C",X"F6",X"01",X"67",X"2C",X"24",X"22",X"A1",X"92",X"3A",X"C7",X"99",X"5F",X"3A",X"A7",
- X"92",X"BB",X"CB",X"10",X"3A",X"15",X"90",X"A0",X"E6",X"01",X"32",X"AA",X"92",X"0E",X"00",X"21",
- X"20",X"90",X"79",X"85",X"6F",X"7E",X"A7",X"20",X"03",X"0C",X"18",X"F3",X"47",X"21",X"3B",X"00",
- X"79",X"CB",X"27",X"85",X"6F",X"5E",X"23",X"56",X"EB",X"C5",X"CD",X"34",X"00",X"C1",X"78",X"81",
- X"4F",X"E6",X"F8",X"28",X"DA",X"3E",X"01",X"32",X"21",X"68",X"FB",X"C9",X"11",X"00",X"91",X"1A",
- X"A7",X"20",X"FC",X"67",X"6F",X"01",X"10",X"00",X"86",X"23",X"10",X"FC",X"0D",X"20",X"F9",X"FE",
- X"FF",X"28",X"02",X"3E",X"11",X"12",X"1A",X"A7",X"20",X"FC",X"ED",X"56",X"AF",X"32",X"E0",X"89",
- X"21",X"B7",X"05",X"11",X"21",X"90",X"01",X"07",X"00",X"ED",X"B0",X"3E",X"01",X"32",X"21",X"68",
- X"FB",X"31",X"00",X"91",X"C3",X"B1",X"05",X"01",X"01",X"00",X"01",X"01",X"00",X"0A",X"C9",X"3E",
- X"01",X"32",X"D7",X"92",X"21",X"00",X"8B",X"11",X"80",X"8B",X"01",X"40",X"00",X"ED",X"B0",X"21",
- X"00",X"93",X"11",X"80",X"93",X"0E",X"40",X"ED",X"B0",X"21",X"00",X"9B",X"11",X"80",X"9B",X"0E",
- X"40",X"ED",X"B0",X"AF",X"32",X"D7",X"92",X"3A",X"D6",X"92",X"3D",X"28",X"FA",X"C9",X"3A",X"14",
- X"90",X"A7",X"C8",X"32",X"17",X"92",X"3A",X"27",X"98",X"A7",X"28",X"17",X"21",X"60",X"93",X"7E",
- X"A7",X"28",X"10",X"CD",X"81",X"06",X"3A",X"BF",X"99",X"A7",X"28",X"07",X"CD",X"49",X"06",X"AF",
- X"32",X"2B",X"98",X"21",X"62",X"93",X"7E",X"A7",X"C8",X"CD",X"81",X"06",X"3A",X"BF",X"99",X"A7",
- X"C8",X"3A",X"27",X"98",X"A7",X"28",X"12",X"AF",X"32",X"2B",X"98",X"3A",X"60",X"93",X"32",X"62",
- X"93",X"3A",X"E2",X"93",X"21",X"E0",X"93",X"18",X"16",X"AF",X"32",X"14",X"90",X"32",X"15",X"90",
- X"32",X"25",X"90",X"32",X"B9",X"99",X"32",X"17",X"92",X"EB",X"26",X"93",X"CB",X"FD",X"7E",X"D6",
- X"08",X"CB",X"BD",X"77",X"2C",X"7E",X"D6",X"08",X"77",X"26",X"8B",X"36",X"0B",X"2D",X"36",X"20",
- X"26",X"88",X"36",X"08",X"2C",X"36",X"0F",X"2D",X"26",X"9B",X"36",X"0C",X"AF",X"32",X"27",X"98",
- X"3A",X"01",X"92",X"3D",X"32",X"B9",X"9A",X"3A",X"17",X"92",X"A7",X"C0",X"3C",X"32",X"13",X"92",
- X"C9",X"AF",X"32",X"BF",X"99",X"26",X"88",X"7E",X"26",X"93",X"FE",X"08",X"C8",X"7E",X"DD",X"6F",
- X"2C",X"46",X"26",X"9B",X"7E",X"0F",X"CB",X"18",X"DD",X"60",X"2D",X"5D",X"3A",X"08",X"90",X"A7",
- X"28",X"06",X"2E",X"38",X"06",X"04",X"18",X"04",X"2E",X"00",X"06",X"30",X"CD",X"B7",X"06",X"2E",
- X"68",X"06",X"08",X"CD",X"B7",X"06",X"C9",X"26",X"92",X"7E",X"26",X"88",X"B6",X"07",X"38",X"30",
- X"7E",X"E6",X"FE",X"FE",X"04",X"28",X"29",X"26",X"93",X"7E",X"A7",X"28",X"23",X"DD",X"95",X"D6",
- X"07",X"C6",X"0D",X"30",X"1B",X"2C",X"7E",X"26",X"9B",X"4E",X"2D",X"CB",X"09",X"1F",X"DD",X"94",
- X"D6",X"04",X"C6",X"07",X"30",X"0A",X"3E",X"01",X"32",X"BF",X"99",X"B7",X"08",X"C3",X"C2",X"07",
- X"2C",X"2C",X"10",X"C3",X"C9",X"11",X"A4",X"92",X"21",X"64",X"93",X"CD",X"04",X"07",X"11",X"A5",
- X"92",X"21",X"66",X"93",X"7E",X"A7",X"C8",X"1A",X"47",X"E6",X"07",X"08",X"3E",X"06",X"CB",X"78",
- X"28",X"01",X"08",X"CB",X"70",X"28",X"02",X"ED",X"44",X"86",X"77",X"FE",X"F0",X"30",X"44",X"DD",
- X"6F",X"2C",X"08",X"CB",X"68",X"28",X"02",X"ED",X"44",X"4F",X"86",X"77",X"1F",X"A9",X"26",X"9B",
- X"07",X"30",X"05",X"CB",X"0E",X"3F",X"CB",X"16",X"4E",X"26",X"93",X"7E",X"CB",X"09",X"1F",X"DD",
- X"67",X"FE",X"14",X"38",X"1B",X"FE",X"9C",X"30",X"17",X"5D",X"3A",X"1D",X"90",X"A7",X"28",X"07",
- X"21",X"08",X"93",X"06",X"2C",X"18",X"05",X"21",X"00",X"93",X"06",X"30",X"CD",X"6A",X"07",X"C9",
- X"2D",X"26",X"93",X"36",X"00",X"26",X"9B",X"36",X"00",X"C9",X"26",X"92",X"7E",X"26",X"88",X"B6",
- X"07",X"38",X"41",X"7E",X"4F",X"E6",X"FE",X"FE",X"04",X"28",X"39",X"2C",X"26",X"9B",X"56",X"26",
- X"93",X"7E",X"CB",X"0A",X"1F",X"2D",X"DD",X"94",X"D6",X"03",X"C6",X"06",X"30",X"26",X"79",X"3D",
- X"E6",X"FE",X"08",X"3A",X"27",X"98",X"A7",X"7E",X"20",X"0A",X"DD",X"95",X"D6",X"06",X"C6",X"0B",
- X"38",X"17",X"18",X"10",X"DD",X"95",X"D6",X"14",X"C6",X"0B",X"38",X"0D",X"C6",X"04",X"38",X"04",
- X"C6",X"0B",X"38",X"05",X"2C",X"2C",X"10",X"B2",X"C9",X"7D",X"2A",X"44",X"98",X"23",X"22",X"44",
- X"98",X"6F",X"16",X"93",X"AF",X"12",X"16",X"9B",X"12",X"2C",X"26",X"8B",X"7E",X"4F",X"A7",X"CA",
- X"CA",X"08",X"2D",X"FE",X"0B",X"28",X"3E",X"08",X"20",X"44",X"08",X"26",X"92",X"36",X"81",X"3A",
- X"28",X"98",X"95",X"20",X"07",X"32",X"2B",X"98",X"3C",X"32",X"28",X"98",X"E5",X"79",X"FE",X"07",
- X"20",X"03",X"3D",X"18",X"03",X"3D",X"E6",X"03",X"21",X"A1",X"9A",X"D7",X"36",X"01",X"79",X"FE",
- X"07",X"20",X"05",X"21",X"2B",X"98",X"36",X"00",X"21",X"90",X"92",X"D7",X"34",X"08",X"28",X"01",
- X"34",X"E1",X"C3",X"B4",X"07",X"26",X"93",X"36",X"00",X"26",X"88",X"36",X"80",X"C9",X"26",X"88",
- X"E5",X"08",X"2C",X"7E",X"26",X"91",X"C6",X"13",X"6F",X"36",X"00",X"21",X"88",X"92",X"34",X"21",
- X"A8",X"92",X"35",X"E1",X"20",X"13",X"26",X"92",X"3A",X"85",X"92",X"77",X"3A",X"84",X"92",X"67",
- X"3A",X"9F",X"92",X"84",X"32",X"9F",X"92",X"18",X"96",X"79",X"FE",X"07",X"20",X"04",X"16",X"B8",
- X"18",X"5E",X"3A",X"2D",X"98",X"BD",X"CA",X"B6",X"08",X"7D",X"E6",X"38",X"FE",X"38",X"CA",X"B6",
- X"08",X"79",X"FE",X"01",X"C2",X"DB",X"07",X"D5",X"7D",X"E6",X"07",X"5F",X"16",X"88",X"1A",X"FE",
- X"09",X"20",X"26",X"E5",X"EB",X"2C",X"7E",X"C6",X"13",X"5F",X"16",X"91",X"AF",X"12",X"26",X"8B",
- X"36",X"09",X"2D",X"7D",X"32",X"28",X"98",X"26",X"88",X"AF",X"77",X"32",X"8B",X"92",X"3C",X"32",
- X"1D",X"90",X"32",X"8D",X"92",X"32",X"B1",X"9A",X"E1",X"D1",X"E5",X"3E",X"06",X"32",X"AD",X"92",
- X"7D",X"E6",X"07",X"21",X"30",X"98",X"D7",X"7E",X"2C",X"56",X"21",X"9F",X"92",X"86",X"77",X"E1",
- X"26",X"92",X"72",X"C3",X"DF",X"07",X"E5",X"21",X"B0",X"99",X"35",X"E1",X"C2",X"DB",X"07",X"3A",
- X"B2",X"99",X"57",X"3A",X"B1",X"99",X"E5",X"C3",X"AA",X"08",X"3C",X"77",X"32",X"A4",X"9A",X"2D",
- X"C3",X"B4",X"07",X"DD",X"21",X"00",X"91",X"3E",X"0C",X"32",X"89",X"92",X"21",X"86",X"92",X"7E",
- X"36",X"00",X"23",X"77",X"DD",X"CB",X"13",X"46",X"CA",X"FA",X"0D",X"21",X"86",X"92",X"34",X"DD",
- X"6E",X"10",X"26",X"88",X"7E",X"FE",X"03",X"28",X"09",X"FE",X"09",X"28",X"05",X"FE",X"07",X"C2",
- X"48",X"0E",X"DD",X"35",X"0D",X"C2",X"00",X"0C",X"DD",X"6E",X"08",X"DD",X"66",X"09",X"7E",X"FE",
- X"EF",X"DA",X"D7",X"0B",X"E5",X"2F",X"21",X"20",X"09",X"CF",X"7E",X"23",X"66",X"6F",X"E3",X"C9",
- X"48",X"0E",X"11",X"0B",X"41",X"0B",X"49",X"0B",X"9B",X"0A",X"CC",X"0B",X"5A",X"0B",X"82",X"0B",
- X"93",X"0B",X"A3",X"0B",X"42",X"09",X"50",X"0A",X"FE",X"09",X"7B",X"09",X"68",X"09",X"55",X"09",
- X"4E",X"09",X"DD",X"5E",X"10",X"16",X"88",X"3E",X"03",X"12",X"23",X"C3",X"0E",X"09",X"3A",X"C9",
- X"99",X"A7",X"C3",X"59",X"09",X"3A",X"C8",X"99",X"A7",X"28",X"08",X"23",X"7E",X"23",X"66",X"6F",
- X"C3",X"87",X"0B",X"23",X"23",X"C3",X"86",X"0B",X"DD",X"5E",X"10",X"16",X"01",X"1A",X"5F",X"16",
- X"99",X"1C",X"1A",X"C6",X"20",X"DD",X"77",X"01",X"C3",X"86",X"0B",X"E5",X"DD",X"5E",X"10",X"21",
- X"38",X"88",X"06",X"04",X"7E",X"07",X"38",X"07",X"2C",X"2C",X"10",X"F8",X"C3",X"FA",X"09",X"26",
- X"8B",X"54",X"1A",X"77",X"2C",X"1C",X"1A",X"77",X"2D",X"7D",X"08",X"21",X"EF",X"91",X"11",X"EC",
- X"FF",X"06",X"0C",X"7E",X"E6",X"01",X"28",X"06",X"19",X"10",X"F8",X"C3",X"FA",X"09",X"19",X"23",
- X"DD",X"7E",X"00",X"DD",X"5D",X"DD",X"54",X"EB",X"FD",X"6B",X"FD",X"62",X"01",X"06",X"00",X"ED",
- X"B0",X"0E",X"06",X"09",X"EB",X"19",X"EB",X"0E",X"04",X"ED",X"B0",X"DD",X"7E",X"13",X"FD",X"77",
- X"13",X"E1",X"23",X"7E",X"FD",X"77",X"08",X"23",X"7E",X"FD",X"77",X"09",X"FD",X"36",X"0A",X"01",
- X"FD",X"36",X"0B",X"02",X"FD",X"36",X"0D",X"01",X"08",X"FD",X"77",X"10",X"5F",X"16",X"88",X"3E",
- X"09",X"12",X"1C",X"FD",X"7D",X"12",X"23",X"C3",X"0E",X"09",X"E1",X"C3",X"9D",X"0B",X"E5",X"EB",
- X"3A",X"15",X"92",X"4F",X"3A",X"62",X"93",X"FE",X"1E",X"30",X"02",X"3E",X"1E",X"FE",X"D1",X"38",
- X"02",X"3E",X"D1",X"CB",X"41",X"28",X"04",X"C6",X"0E",X"ED",X"44",X"CB",X"3F",X"DD",X"96",X"03",
- X"1F",X"DD",X"CB",X"13",X"7E",X"28",X"02",X"ED",X"44",X"C6",X"18",X"F2",X"2F",X"0A",X"AF",X"FE",
- X"30",X"38",X"02",X"3E",X"2F",X"67",X"3E",X"06",X"CD",X"A9",X"0E",X"7C",X"3C",X"EB",X"D7",X"7E",
- X"DD",X"77",X"0D",X"E1",X"3E",X"09",X"D7",X"DD",X"75",X"08",X"DD",X"74",X"09",X"C3",X"FA",X"0B",
- X"E5",X"3A",X"15",X"92",X"4F",X"3A",X"62",X"93",X"C6",X"03",X"E6",X"F8",X"3C",X"FE",X"29",X"30",
- X"02",X"3E",X"29",X"FE",X"CA",X"38",X"02",X"3E",X"C9",X"CB",X"41",X"28",X"03",X"C6",X"0D",X"2F",
- X"32",X"8A",X"92",X"CB",X"3F",X"5F",X"16",X"48",X"DD",X"66",X"01",X"DD",X"6E",X"03",X"CD",X"5A",
- X"0E",X"CB",X"3C",X"CB",X"1D",X"DD",X"75",X"04",X"DD",X"74",X"05",X"AF",X"32",X"8B",X"92",X"3C",
- X"32",X"19",X"90",X"DD",X"7D",X"32",X"29",X"98",X"C3",X"0C",X"0B",X"E5",X"DD",X"6E",X"10",X"26",
- X"88",X"36",X"09",X"26",X"01",X"4E",X"2C",X"6E",X"26",X"99",X"46",X"2C",X"5E",X"69",X"4E",X"2C",
- X"56",X"CB",X"3B",X"D5",X"DD",X"70",X"11",X"DD",X"71",X"12",X"3A",X"15",X"92",X"A7",X"28",X"08",
- X"78",X"ED",X"44",X"47",X"79",X"ED",X"44",X"4F",X"DD",X"6E",X"00",X"DD",X"66",X"01",X"51",X"1E",
- X"00",X"CB",X"2A",X"CB",X"1B",X"19",X"DD",X"75",X"00",X"DD",X"74",X"01",X"5C",X"DD",X"6E",X"02",
- X"DD",X"66",X"03",X"0E",X"00",X"CB",X"28",X"CB",X"19",X"ED",X"42",X"DD",X"75",X"02",X"DD",X"74",
- X"03",X"6C",X"63",X"4A",X"D1",X"CD",X"5A",X"0E",X"CB",X"3C",X"CB",X"1D",X"DD",X"75",X"04",X"DD",
- X"74",X"05",X"DD",X"72",X"06",X"DD",X"73",X"07",X"DD",X"CB",X"13",X"F6",X"E1",X"23",X"C3",X"0E",
- X"09",X"E5",X"EB",X"3A",X"15",X"92",X"0F",X"DD",X"46",X"13",X"A8",X"07",X"3A",X"E2",X"93",X"3C",
- X"3D",X"20",X"02",X"3E",X"80",X"38",X"04",X"ED",X"44",X"C6",X"F2",X"C6",X"0E",X"67",X"3E",X"1E",
- X"CD",X"A9",X"0E",X"7C",X"EB",X"D7",X"7E",X"DD",X"77",X"0D",X"E1",X"3E",X"09",X"D7",X"C3",X"FA",
- X"0B",X"23",X"5E",X"23",X"56",X"EB",X"C3",X"0E",X"09",X"23",X"5E",X"23",X"DD",X"73",X"06",X"DD",
- X"36",X"07",X"00",X"DD",X"CB",X"13",X"EE",X"C3",X"FA",X"0B",X"3A",X"15",X"92",X"4F",X"DD",X"5E",
- X"10",X"1C",X"16",X"01",X"1A",X"5F",X"16",X"98",X"1A",X"CB",X"41",X"28",X"04",X"C6",X"0E",X"ED",
- X"44",X"CB",X"3F",X"DD",X"77",X"03",X"3A",X"AA",X"92",X"A7",X"CA",X"86",X"0B",X"32",X"B3",X"9A",
- X"18",X"04",X"DD",X"36",X"01",X"9C",X"23",X"DD",X"75",X"08",X"DD",X"74",X"09",X"DD",X"34",X"0D",
- X"C3",X"FA",X"0D",X"DD",X"7E",X"10",X"E6",X"38",X"FE",X"38",X"CA",X"41",X"0B",X"23",X"23",X"23",
- X"C3",X"0E",X"09",X"23",X"7E",X"DD",X"CB",X"13",X"7E",X"28",X"04",X"C6",X"80",X"ED",X"44",X"0E",
- X"00",X"CB",X"27",X"CB",X"11",X"CB",X"27",X"CB",X"11",X"DD",X"77",X"04",X"DD",X"71",X"05",X"DD",
- X"36",X"0E",X"1E",X"3A",X"C8",X"92",X"DD",X"77",X"0F",X"C3",X"86",X"0B",X"3A",X"AA",X"92",X"4F",
- X"3A",X"1D",X"90",X"3D",X"A1",X"18",X"C3",X"4F",X"E6",X"0F",X"DD",X"77",X"0A",X"79",X"07",X"07",
- X"07",X"07",X"E6",X"0F",X"23",X"DD",X"77",X"0B",X"7E",X"23",X"DD",X"CB",X"13",X"7E",X"28",X"02",
- X"ED",X"44",X"DD",X"77",X"0C",X"7E",X"23",X"DD",X"77",X"0D",X"DD",X"75",X"08",X"DD",X"74",X"09",
- X"DD",X"CB",X"13",X"76",X"28",X"22",X"DD",X"7E",X"01",X"DD",X"96",X"06",X"28",X"08",X"F2",X"13",
- X"0C",X"ED",X"44",X"3D",X"20",X"12",X"DD",X"7E",X"03",X"DD",X"96",X"07",X"CA",X"07",X"0E",X"F2",
- X"24",X"0C",X"ED",X"44",X"3D",X"CA",X"07",X"0E",X"DD",X"CB",X"13",X"6E",X"28",X"13",X"DD",X"7E",
- X"01",X"DD",X"96",X"06",X"28",X"03",X"3C",X"20",X"08",X"DD",X"36",X"0D",X"01",X"DD",X"CB",X"13",
- X"AE",X"DD",X"46",X"0C",X"DD",X"7E",X"04",X"5F",X"80",X"DD",X"77",X"04",X"DD",X"56",X"05",X"2E",
- X"01",X"CB",X"78",X"28",X"02",X"2E",X"FF",X"1F",X"A8",X"7A",X"F2",X"5E",X"0C",X"85",X"DD",X"77",
- X"05",X"7B",X"4A",X"CB",X"41",X"28",X"01",X"2F",X"C6",X"15",X"30",X"04",X"06",X"06",X"18",X"0C",
- X"CB",X"3F",X"47",X"CB",X"38",X"80",X"07",X"07",X"07",X"E6",X"07",X"47",X"26",X"8B",X"DD",X"6E",
- X"10",X"7E",X"E6",X"F8",X"B0",X"77",X"26",X"9B",X"79",X"CB",X"09",X"A9",X"3C",X"CB",X"09",X"17",
- X"E6",X"03",X"77",X"3A",X"A0",X"92",X"E6",X"01",X"28",X"05",X"DD",X"7E",X"0A",X"18",X"03",X"DD",
- X"7E",X"0B",X"A7",X"CA",X"FE",X"0C",X"E5",X"DD",X"E5",X"E1",X"47",X"7A",X"E6",X"03",X"57",X"CB",
- X"03",X"CB",X"12",X"D5",X"AA",X"0F",X"38",X"02",X"2C",X"2C",X"14",X"CB",X"52",X"78",X"28",X"02",
- X"ED",X"44",X"4F",X"CB",X"29",X"30",X"04",X"7E",X"C6",X"80",X"77",X"2C",X"7E",X"89",X"77",X"2D",
- X"EB",X"7B",X"EE",X"02",X"5F",X"E1",X"CB",X"3D",X"30",X"04",X"7D",X"EE",X"7F",X"6F",X"78",X"44",
- X"26",X"00",X"CD",X"96",X"0E",X"78",X"EE",X"02",X"3D",X"CB",X"57",X"28",X"08",X"44",X"4D",X"21",
- X"00",X"00",X"A7",X"ED",X"42",X"EB",X"7B",X"86",X"77",X"2C",X"7A",X"8E",X"77",X"E1",X"3A",X"15",
- X"92",X"4F",X"26",X"93",X"DD",X"56",X"03",X"3E",X"7F",X"DD",X"BE",X"02",X"7A",X"17",X"CB",X"41",
- X"28",X"03",X"C6",X"0D",X"2F",X"DD",X"CB",X"13",X"76",X"28",X"03",X"DD",X"86",X"11",X"77",X"2C",
- X"DD",X"46",X"01",X"3E",X"7F",X"DD",X"BE",X"00",X"CB",X"13",X"78",X"CB",X"41",X"20",X"04",X"C6",
- X"4F",X"2F",X"1D",X"CB",X"1B",X"17",X"CB",X"13",X"DD",X"CB",X"13",X"76",X"28",X"0D",X"DD",X"86",
- X"12",X"57",X"1F",X"DD",X"AE",X"12",X"07",X"7A",X"30",X"01",X"1C",X"77",X"26",X"9B",X"CB",X"0E",
- X"CB",X"0B",X"CB",X"16",X"DD",X"35",X"0E",X"C2",X"FA",X"0D",X"DD",X"CB",X"0F",X"3E",X"D2",X"F4",
- X"0D",X"DD",X"7E",X"01",X"FE",X"4C",X"DA",X"F4",X"0D",X"3A",X"15",X"90",X"A7",X"CA",X"F4",X"0D",
- X"3A",X"AD",X"92",X"A7",X"C2",X"F4",X"0D",X"EB",X"21",X"68",X"88",X"06",X"08",X"7E",X"FE",X"80",
- X"28",X"06",X"2C",X"2C",X"10",X"F7",X"18",X"6C",X"36",X"06",X"26",X"9B",X"36",X"01",X"E5",X"26",
- X"93",X"54",X"1D",X"1A",X"4F",X"77",X"1C",X"2C",X"1A",X"47",X"77",X"26",X"9B",X"54",X"1A",X"CB",
- X"0E",X"0F",X"CB",X"16",X"07",X"CB",X"18",X"3A",X"62",X"93",X"91",X"F5",X"30",X"02",X"ED",X"44",
- X"67",X"3A",X"15",X"92",X"A7",X"3E",X"95",X"28",X"02",X"3E",X"1C",X"90",X"30",X"02",X"ED",X"44",
- X"CD",X"A9",X"0E",X"44",X"4D",X"CB",X"3C",X"CB",X"1D",X"CB",X"3C",X"CB",X"1D",X"09",X"CB",X"3C",
- X"CB",X"1D",X"CB",X"3C",X"CB",X"1D",X"7C",X"A7",X"20",X"05",X"7D",X"FE",X"60",X"38",X"02",X"3E",
- X"60",X"47",X"F1",X"CB",X"18",X"E1",X"7D",X"C6",X"08",X"E6",X"0F",X"21",X"B0",X"92",X"85",X"6F",
- X"70",X"23",X"36",X"00",X"3A",X"E2",X"92",X"DD",X"77",X"0E",X"21",X"89",X"92",X"35",X"C8",X"11",
- X"14",X"00",X"DD",X"19",X"C3",X"E4",X"08",X"AF",X"DD",X"CB",X"13",X"86",X"DD",X"77",X"00",X"DD",
- X"77",X"02",X"26",X"88",X"DD",X"6E",X"10",X"36",X"02",X"26",X"8B",X"2C",X"7E",X"2D",X"3C",X"E6",
- X"07",X"FE",X"05",X"38",X"14",X"3A",X"2E",X"98",X"4F",X"E6",X"F8",X"C6",X"06",X"77",X"2C",X"79",
- X"E6",X"07",X"77",X"2D",X"3E",X"01",X"32",X"2D",X"98",X"DD",X"7E",X"06",X"DD",X"77",X"01",X"DD",
- X"7E",X"07",X"DD",X"77",X"03",X"C3",X"FE",X"0C",X"26",X"88",X"DD",X"6E",X"10",X"36",X"80",X"26",
- X"93",X"36",X"00",X"DD",X"36",X"13",X"00",X"C3",X"FA",X"0D",X"C5",X"D5",X"7B",X"95",X"06",X"00",
- X"30",X"04",X"CB",X"C0",X"ED",X"44",X"4F",X"7A",X"94",X"30",X"0A",X"57",X"78",X"EE",X"01",X"F6",
- X"02",X"47",X"7A",X"ED",X"44",X"B9",X"F5",X"17",X"A8",X"1F",X"3F",X"CB",X"10",X"F1",X"30",X"03",
- X"51",X"4F",X"7A",X"61",X"2E",X"00",X"CD",X"A9",X"0E",X"7C",X"A8",X"E6",X"01",X"28",X"03",X"7D",
- X"2F",X"6F",X"60",X"D1",X"C1",X"C9",X"D5",X"EB",X"21",X"00",X"00",X"CB",X"3F",X"30",X"01",X"19",
- X"CB",X"23",X"CB",X"12",X"A7",X"20",X"F4",X"D1",X"C9",X"C5",X"4F",X"AF",X"06",X"11",X"8F",X"38",
- X"0B",X"B9",X"38",X"01",X"91",X"3F",X"ED",X"6A",X"10",X"F4",X"C1",X"C9",X"91",X"37",X"C3",X"B6",
- X"0E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3A",X"06",X"68",X"E6",X"02",X"C0",
- X"21",X"FF",X"10",X"7E",X"2E",X"DF",X"4E",X"7E",X"A9",X"CB",X"67",X"20",X"01",X"C7",X"11",X"F7",
- X"89",X"21",X"F6",X"89",X"01",X"13",X"00",X"ED",X"B8",X"DD",X"21",X"D5",X"0F",X"1E",X"E0",X"01",
- X"04",X"05",X"DD",X"7E",X"00",X"DD",X"23",X"6F",X"26",X"10",X"7E",X"7B",X"81",X"5F",X"7E",X"12",
- X"10",X"F0",X"06",X"05",X"21",X"E4",X"89",X"7E",X"2C",X"B6",X"2C",X"2F",X"A6",X"2C",X"A6",X"2C",
- X"E6",X"0F",X"20",X"04",X"10",X"F1",X"18",X"40",X"05",X"28",X"4F",X"05",X"CB",X"20",X"CB",X"20",
- X"0F",X"38",X"03",X"04",X"18",X"FA",X"3A",X"E0",X"89",X"CB",X"3F",X"5F",X"CB",X"11",X"C6",X"E1",
- X"6F",X"26",X"89",X"7E",X"CB",X"41",X"28",X"04",X"07",X"07",X"07",X"07",X"E6",X"F0",X"B0",X"CB",
- X"41",X"28",X"04",X"07",X"07",X"07",X"07",X"77",X"3A",X"E0",X"89",X"A7",X"20",X"02",X"3E",X"02",
- X"3D",X"32",X"E0",X"89",X"7B",X"A7",X"28",X"09",X"2A",X"E2",X"89",X"7E",X"32",X"E1",X"89",X"18",
- X"42",X"2A",X"E2",X"89",X"3A",X"E1",X"89",X"77",X"18",X"39",X"4F",X"21",X"E0",X"89",X"CB",X"41",
- X"20",X"2D",X"7E",X"CB",X"3F",X"28",X"13",X"CB",X"59",X"20",X"0C",X"7E",X"FE",X"05",X"30",X"03",
- X"34",X"18",X"D5",X"36",X"05",X"18",X"D1",X"35",X"18",X"CE",X"2A",X"E2",X"89",X"CB",X"59",X"20",
- X"03",X"2B",X"18",X"01",X"23",X"22",X"E2",X"89",X"3E",X"01",X"32",X"E0",X"89",X"18",X"B9",X"36",
- X"05",X"18",X"B5",X"21",X"CA",X"83",X"11",X"E1",X"89",X"06",X"03",X"1A",X"1C",X"CD",X"C6",X"0F",
- X"10",X"F9",X"21",X"CA",X"87",X"3A",X"E0",X"89",X"06",X"06",X"A7",X"4F",X"28",X"02",X"0E",X"01",
- X"71",X"2C",X"3D",X"10",X"F5",X"C9",X"4F",X"E6",X"0F",X"77",X"2C",X"79",X"07",X"07",X"07",X"07",
- X"E6",X"0F",X"77",X"2C",X"C9",X"FD",X"FB",X"F7",X"EF",X"FE",X"23",X"00",X"1B",X"23",X"F0",X"40",
- X"23",X"00",X"09",X"23",X"05",X"11",X"23",X"00",X"10",X"23",X"10",X"40",X"23",X"04",X"30",X"FF",
- X"23",X"02",X"35",X"23",X"08",X"10",X"23",X"10",X"3C",X"23",X"00",X"FF",X"FF",X"AC",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;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu3.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu3.vhd
deleted file mode 100644
index d8dd82f2..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/galaga_cpu3.vhd
+++ /dev/null
@@ -1,278 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity galaga_cpu3 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 galaga_cpu3 is
- type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"31",X"00",X"9B",X"C3",X"7B",X"00",X"FF",X"FF",X"87",X"30",X"05",X"24",X"18",X"02",X"FF",X"FF",
- X"85",X"6F",X"D0",X"24",X"C9",X"FF",X"FF",X"FF",X"77",X"23",X"10",X"FC",X"C9",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"C5",X"D5",X"E5",X"3E",X"01",X"32",X"22",X"68",X"AF",
- X"32",X"22",X"68",X"CD",X"B1",X"00",X"E1",X"D1",X"C1",X"F1",X"C9",X"3E",X"01",X"32",X"22",X"68",
- X"11",X"01",X"91",X"1A",X"A7",X"20",X"FC",X"67",X"6F",X"01",X"10",X"00",X"86",X"23",X"10",X"FC",
- X"0D",X"20",X"F9",X"FE",X"FF",X"28",X"02",X"3E",X"21",X"12",X"1A",X"A7",X"20",X"FC",X"AF",X"32",
- X"22",X"68",X"21",X"00",X"9A",X"36",X"00",X"11",X"01",X"9A",X"01",X"FF",X"00",X"ED",X"B0",X"18",
- X"FE",X"3A",X"B8",X"9A",X"A7",X"C2",X"A1",X"06",X"21",X"60",X"9A",X"36",X"00",X"11",X"61",X"9A",
- X"01",X"0F",X"00",X"ED",X"B0",X"3A",X"B7",X"9A",X"A7",X"C2",X"42",X"03",X"3A",X"79",X"9A",X"A7",
- X"28",X"09",X"21",X"A8",X"9A",X"86",X"77",X"AF",X"32",X"79",X"9A",X"3A",X"A0",X"9A",X"A7",X"28",
- X"6F",X"3A",X"11",X"92",X"21",X"80",X"9A",X"BE",X"28",X"20",X"32",X"80",X"9A",X"3C",X"28",X"0C",
- X"21",X"EA",X"06",X"22",X"82",X"9A",X"AF",X"32",X"00",X"9A",X"18",X"09",X"21",X"FA",X"06",X"22",
- X"82",X"9A",X"32",X"00",X"9A",X"32",X"81",X"9A",X"18",X"12",X"21",X"00",X"9A",X"34",X"7E",X"FE",
- X"22",X"20",X"1E",X"36",X"00",X"3A",X"81",X"9A",X"3C",X"32",X"81",X"9A",X"2A",X"82",X"9A",X"CF",
- X"5E",X"23",X"56",X"ED",X"53",X"84",X"9A",X"3E",X"1F",X"D7",X"5E",X"23",X"56",X"ED",X"53",X"86",
- X"9A",X"2A",X"86",X"9A",X"ED",X"5B",X"84",X"9A",X"19",X"22",X"86",X"9A",X"7C",X"32",X"61",X"9A",
- X"0F",X"0F",X"0F",X"0F",X"32",X"62",X"9A",X"3E",X"0A",X"32",X"65",X"9A",X"AF",X"32",X"70",X"9A",
- X"21",X"74",X"9A",X"36",X"13",X"3A",X"B3",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"B3",X"9A",X"CD",
- X"F9",X"03",X"18",X"09",X"3A",X"D3",X"9A",X"A7",X"28",X"03",X"CD",X"4F",X"04",X"21",X"74",X"9A",
- X"36",X"0F",X"3A",X"AF",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"AF",X"9A",X"CD",X"F9",X"03",X"18",
- X"09",X"3A",X"CF",X"9A",X"A7",X"28",X"03",X"CD",X"4F",X"04",X"21",X"74",X"9A",X"36",X"03",X"3A",
- X"A3",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"A3",X"9A",X"CD",X"F9",X"03",X"18",X"09",X"3A",X"C3",
- X"9A",X"A7",X"28",X"03",X"CD",X"4F",X"04",X"21",X"74",X"9A",X"36",X"02",X"3A",X"A2",X"9A",X"A7",
- X"28",X"09",X"AF",X"32",X"A2",X"9A",X"CD",X"F9",X"03",X"18",X"09",X"3A",X"C2",X"9A",X"A7",X"28",
- X"03",X"CD",X"4F",X"04",X"21",X"74",X"9A",X"36",X"04",X"3A",X"A4",X"9A",X"A7",X"28",X"09",X"AF",
- X"32",X"A4",X"9A",X"CD",X"F9",X"03",X"18",X"09",X"3A",X"C4",X"9A",X"A7",X"28",X"03",X"CD",X"4F",
- X"04",X"21",X"74",X"9A",X"36",X"01",X"3A",X"A1",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"A1",X"9A",
- X"CD",X"F9",X"03",X"18",X"09",X"3A",X"C1",X"9A",X"A7",X"28",X"03",X"CD",X"4F",X"04",X"3A",X"B2",
- X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",X"12",X"CD",X"A7",X"04",X"3A",X"A5",X"9A",X"A7",
- X"28",X"2C",X"21",X"74",X"9A",X"36",X"05",X"CD",X"7A",X"03",X"21",X"7E",X"9A",X"34",X"3A",X"7E",
- X"9A",X"FE",X"06",X"38",X"11",X"36",X"00",X"3A",X"7C",X"9A",X"FE",X"04",X"38",X"03",X"3D",X"18",
- X"02",X"3E",X"0C",X"32",X"7C",X"9A",X"3A",X"7C",X"9A",X"32",X"6F",X"9A",X"18",X"03",X"32",X"C5",
- X"9A",X"3A",X"A6",X"9A",X"A7",X"28",X"24",X"21",X"74",X"9A",X"36",X"06",X"CD",X"7A",X"03",X"21",
- X"7F",X"9A",X"34",X"7E",X"FE",X"1C",X"20",X"0B",X"AF",X"32",X"7F",X"9A",X"3A",X"7D",X"9A",X"3C",
- X"32",X"7D",X"9A",X"3A",X"7D",X"9A",X"32",X"70",X"9A",X"18",X"03",X"32",X"C6",X"9A",X"3A",X"A9",
- X"9A",X"A7",X"28",X"0A",X"21",X"74",X"9A",X"36",X"09",X"CD",X"7A",X"03",X"18",X"03",X"32",X"C9",
- X"9A",X"3A",X"A7",X"9A",X"A7",X"28",X"0B",X"21",X"74",X"9A",X"36",X"07",X"CD",X"A7",X"04",X"C3",
- X"32",X"03",X"3A",X"B1",X"9A",X"A7",X"28",X"0A",X"21",X"74",X"9A",X"36",X"11",X"CD",X"7A",X"03",
- X"18",X"03",X"32",X"D1",X"9A",X"3A",X"AD",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",X"0D",
- X"CD",X"A7",X"04",X"3A",X"AE",X"9A",X"A7",X"28",X"12",X"21",X"74",X"9A",X"36",X"0E",X"CD",X"A7",
- X"04",X"3E",X"09",X"32",X"6A",X"9A",X"3E",X"06",X"32",X"6F",X"9A",X"3A",X"B4",X"9A",X"A7",X"28",
- X"08",X"21",X"74",X"9A",X"36",X"14",X"CD",X"A7",X"04",X"3A",X"B5",X"9A",X"A7",X"28",X"08",X"21",
- X"74",X"9A",X"36",X"15",X"CD",X"A7",X"04",X"3A",X"AA",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",
- X"36",X"0A",X"CD",X"A7",X"04",X"3A",X"AB",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",X"0B",
- X"CD",X"A7",X"04",X"3A",X"B0",X"9A",X"A7",X"28",X"0A",X"21",X"74",X"9A",X"36",X"10",X"CD",X"7A",
- X"03",X"18",X"03",X"32",X"D0",X"9A",X"3A",X"AC",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",
- X"0C",X"CD",X"A7",X"04",X"3A",X"B6",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",X"16",X"CD",
- X"A7",X"04",X"3A",X"A8",X"9A",X"A7",X"28",X"08",X"21",X"74",X"9A",X"36",X"08",X"CD",X"A7",X"04",
- X"18",X"1A",X"21",X"A0",X"9A",X"36",X"00",X"11",X"A1",X"9A",X"01",X"15",X"00",X"ED",X"B0",X"21",
- X"C0",X"9A",X"36",X"00",X"11",X"C1",X"9A",X"01",X"16",X"00",X"ED",X"B0",X"21",X"60",X"9A",X"11",
- X"10",X"68",X"01",X"10",X"00",X"ED",X"B0",X"3A",X"70",X"9A",X"32",X"05",X"68",X"3A",X"71",X"9A",
- X"32",X"0A",X"68",X"3A",X"72",X"9A",X"32",X"0F",X"68",X"C9",X"21",X"74",X"9A",X"7E",X"87",X"86",
- X"21",X"2A",X"07",X"D7",X"11",X"75",X"9A",X"01",X"03",X"00",X"ED",X"B0",X"3A",X"74",X"9A",X"FE",
- X"0E",X"20",X"18",X"3A",X"4C",X"9A",X"A7",X"28",X"0D",X"3D",X"28",X"06",X"3A",X"4D",X"9A",X"A7",
- X"20",X"09",X"3E",X"02",X"18",X"02",X"3E",X"01",X"32",X"76",X"9A",X"21",X"C0",X"9A",X"3A",X"74",
- X"9A",X"85",X"6F",X"7E",X"A7",X"20",X"1B",X"34",X"21",X"76",X"9A",X"46",X"48",X"21",X"30",X"9A",
- X"3A",X"75",X"9A",X"85",X"6F",X"AF",X"DF",X"41",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",
- X"AF",X"DF",X"CD",X"77",X"05",X"21",X"76",X"9A",X"35",X"28",X"0A",X"21",X"75",X"9A",X"34",X"21",
- X"77",X"9A",X"34",X"18",X"ED",X"3A",X"78",X"9A",X"A7",X"C8",X"AF",X"32",X"78",X"9A",X"21",X"C0",
- X"9A",X"3A",X"74",X"9A",X"85",X"6F",X"36",X"00",X"C9",X"21",X"C0",X"9A",X"3A",X"74",X"9A",X"85",
- X"6F",X"34",X"21",X"74",X"9A",X"7E",X"87",X"86",X"21",X"2A",X"07",X"D7",X"11",X"75",X"9A",X"01",
- X"03",X"00",X"ED",X"B0",X"3A",X"74",X"9A",X"FE",X"0E",X"20",X"18",X"3A",X"4C",X"9A",X"A7",X"28",
- X"0D",X"3D",X"28",X"06",X"3A",X"4D",X"9A",X"A7",X"20",X"09",X"3E",X"02",X"18",X"02",X"3E",X"01",
- X"32",X"76",X"9A",X"21",X"76",X"9A",X"46",X"48",X"21",X"30",X"9A",X"3A",X"75",X"9A",X"85",X"6F",
- X"AF",X"DF",X"41",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"AF",X"DF",X"18",X"31",X"21",
- X"74",X"9A",X"7E",X"87",X"86",X"21",X"2A",X"07",X"D7",X"11",X"75",X"9A",X"01",X"03",X"00",X"ED",
- X"B0",X"3A",X"74",X"9A",X"FE",X"0E",X"20",X"18",X"3A",X"4C",X"9A",X"A7",X"28",X"0D",X"3D",X"28",
- X"06",X"3A",X"4D",X"9A",X"A7",X"20",X"09",X"3E",X"02",X"18",X"02",X"3E",X"01",X"32",X"76",X"9A",
- X"CD",X"77",X"05",X"21",X"76",X"9A",X"35",X"28",X"0A",X"21",X"75",X"9A",X"34",X"21",X"77",X"9A",
- X"34",X"18",X"ED",X"3A",X"78",X"9A",X"A7",X"C8",X"AF",X"32",X"78",X"9A",X"21",X"C0",X"9A",X"3A",
- X"74",X"9A",X"85",X"6F",X"36",X"00",X"C9",X"21",X"74",X"9A",X"7E",X"87",X"86",X"21",X"2A",X"07",
- X"D7",X"11",X"75",X"9A",X"01",X"03",X"00",X"ED",X"B0",X"3A",X"74",X"9A",X"FE",X"0E",X"20",X"18",
- X"3A",X"4C",X"9A",X"A7",X"28",X"0D",X"3D",X"28",X"06",X"3A",X"4D",X"9A",X"A7",X"20",X"09",X"3E",
- X"02",X"18",X"02",X"3E",X"01",X"32",X"76",X"9A",X"21",X"C0",X"9A",X"3A",X"74",X"9A",X"85",X"6F",
- X"7E",X"A7",X"20",X"1B",X"34",X"21",X"76",X"9A",X"46",X"48",X"21",X"30",X"9A",X"3A",X"75",X"9A",
- X"85",X"6F",X"AF",X"DF",X"41",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"AF",X"DF",X"CD",
- X"77",X"05",X"21",X"76",X"9A",X"35",X"28",X"0A",X"21",X"75",X"9A",X"34",X"21",X"77",X"9A",X"34",
- X"18",X"ED",X"3A",X"78",X"9A",X"A7",X"C8",X"AF",X"32",X"78",X"9A",X"21",X"C0",X"9A",X"3A",X"74",
- X"9A",X"85",X"6F",X"36",X"00",X"21",X"A0",X"9A",X"3A",X"74",X"9A",X"85",X"6F",X"3A",X"74",X"9A",
- X"FE",X"08",X"28",X"0F",X"FE",X"0C",X"28",X"0D",X"FE",X"14",X"28",X"15",X"FE",X"07",X"28",X"19",
- X"36",X"00",X"C9",X"35",X"C9",X"35",X"28",X"03",X"CB",X"46",X"C8",X"3E",X"01",X"32",X"B6",X"9A",
- X"C9",X"36",X"00",X"21",X"B3",X"9A",X"36",X"01",X"C9",X"36",X"00",X"21",X"A0",X"9A",X"AF",X"06",
- X"08",X"DF",X"23",X"77",X"23",X"23",X"06",X"0C",X"DF",X"21",X"C0",X"9A",X"06",X"08",X"DF",X"23",
- X"77",X"23",X"23",X"06",X"0C",X"DF",X"C9",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"34",
- X"3A",X"75",X"9A",X"21",X"6F",X"07",X"CF",X"5E",X"23",X"56",X"EB",X"11",X"88",X"9A",X"01",X"03",
- X"00",X"ED",X"B0",X"EB",X"21",X"30",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"7E",X"EB",X"D7",X"22",
- X"7A",X"9A",X"7E",X"3C",X"CA",X"B2",X"06",X"11",X"D0",X"06",X"2A",X"7A",X"9A",X"7E",X"E6",X"0F",
- X"EB",X"CF",X"4E",X"23",X"46",X"EB",X"7E",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"28",X"07",X"CB",
- X"38",X"CB",X"19",X"3D",X"20",X"F9",X"3A",X"77",X"9A",X"A7",X"28",X"0D",X"3D",X"28",X"05",X"21",
- X"6B",X"9A",X"18",X"08",X"21",X"66",X"9A",X"18",X"03",X"21",X"61",X"9A",X"71",X"7E",X"0F",X"0F",
- X"0F",X"0F",X"23",X"77",X"23",X"70",X"7E",X"0F",X"0F",X"0F",X"0F",X"23",X"77",X"3A",X"77",X"9A",
- X"A7",X"28",X"0D",X"3D",X"28",X"05",X"11",X"6F",X"9A",X"18",X"08",X"11",X"6A",X"9A",X"18",X"03",
- X"11",X"65",X"9A",X"2A",X"7A",X"9A",X"7E",X"D6",X"0C",X"28",X"44",X"3A",X"88",X"9A",X"A7",X"28",
- X"23",X"3D",X"28",X"10",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"7E",X"FE",X"06",X"30",
- X"13",X"2F",X"18",X"30",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"7E",X"FE",X"06",X"30",
- X"03",X"87",X"18",X"20",X"3A",X"89",X"9A",X"A7",X"28",X"18",X"47",X"21",X"00",X"9A",X"3A",X"75",
- X"9A",X"85",X"6F",X"7E",X"90",X"38",X"0B",X"D6",X"0A",X"30",X"04",X"ED",X"44",X"18",X"05",X"AF",
- X"18",X"02",X"3E",X"0A",X"12",X"21",X"70",X"9A",X"3A",X"77",X"9A",X"85",X"6F",X"3A",X"8A",X"9A",
- X"77",X"21",X"CD",X"07",X"3A",X"74",X"9A",X"D7",X"7E",X"2A",X"7A",X"9A",X"23",X"5E",X"16",X"00",
- X"21",X"00",X"00",X"06",X"08",X"CB",X"3F",X"30",X"01",X"19",X"CB",X"23",X"CB",X"12",X"10",X"F5",
- X"45",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"78",X"BE",X"C0",X"21",X"30",X"9A",X"3A",
- X"75",X"9A",X"85",X"6F",X"34",X"34",X"21",X"00",X"9A",X"3A",X"75",X"9A",X"85",X"6F",X"36",X"00",
- X"C9",X"21",X"00",X"9A",X"36",X"00",X"11",X"01",X"9A",X"01",X"FF",X"00",X"ED",X"B0",X"31",X"00",
- X"9B",X"C9",X"3A",X"77",X"9A",X"A7",X"28",X"0D",X"3D",X"28",X"05",X"21",X"6F",X"9A",X"18",X"08",
- X"21",X"6A",X"9A",X"18",X"03",X"21",X"65",X"9A",X"36",X"00",X"3E",X"01",X"32",X"78",X"9A",X"C9",
- X"50",X"81",X"00",X"89",X"26",X"91",X"C8",X"99",X"EC",X"A2",X"9D",X"AC",X"E0",X"B6",X"C0",X"C1",
- X"45",X"CD",X"7A",X"D9",X"69",X"E6",X"1C",X"F4",X"00",X"00",X"30",X"01",X"68",X"01",X"36",X"01",
- X"A8",X"01",X"68",X"01",X"00",X"02",X"AC",X"01",X"08",X"02",X"00",X"FE",X"58",X"FE",X"08",X"FE",
- X"98",X"FE",X"58",X"FE",X"D0",X"FE",X"98",X"FE",X"D6",X"FE",X"00",X"5B",X"00",X"6C",X"00",X"5B",
- X"00",X"7E",X"00",X"6C",X"00",X"97",X"00",X"81",X"00",X"99",X"00",X"D9",X"00",X"B6",X"00",X"D9",
- X"00",X"97",X"00",X"B6",X"00",X"7E",X"00",X"99",X"00",X"81",X"00",X"01",X"00",X"01",X"01",X"01",
- X"02",X"01",X"01",X"03",X"01",X"01",X"04",X"01",X"01",X"05",X"01",X"00",X"06",X"01",X"00",X"20",
- X"03",X"00",X"0A",X"03",X"00",X"0D",X"03",X"00",X"07",X"03",X"00",X"13",X"03",X"00",X"16",X"03",
- X"00",X"19",X"03",X"00",X"1C",X"03",X"00",X"1F",X"01",X"02",X"2C",X"03",X"00",X"10",X"03",X"00",
- X"23",X"01",X"00",X"24",X"01",X"00",X"25",X"03",X"00",X"28",X"01",X"00",X"29",X"03",X"00",X"E4",
- X"07",X"3B",X"08",X"19",X"08",X"E5",X"07",X"85",X"08",X"9F",X"08",X"B3",X"08",X"F9",X"09",X"09",
- X"0A",X"19",X"0A",X"C3",X"09",X"D5",X"09",X"E7",X"09",X"29",X"0A",X"6D",X"0A",X"B1",X"0A",X"DD",
- X"0A",X"21",X"0B",X"65",X"0B",X"C7",X"08",X"13",X"09",X"5D",X"09",X"83",X"0C",X"11",X"0D",X"5F",
- X"0D",X"8D",X"09",X"9F",X"09",X"B1",X"09",X"C7",X"08",X"C7",X"08",X"C7",X"08",X"2F",X"0C",X"91",
- X"0B",X"C7",X"0B",X"FD",X"0B",X"1B",X"0C",X"2F",X"0C",X"93",X"0D",X"07",X"0E",X"83",X"0E",X"85",
- X"0D",X"07",X"0D",X"55",X"0D",X"7B",X"0D",X"C5",X"0E",X"01",X"0F",X"3D",X"0F",X"04",X"02",X"02",
- X"02",X"02",X"04",X"04",X"0A",X"07",X"0C",X"0B",X"04",X"0A",X"0D",X"04",X"01",X"04",X"0C",X"02",
- X"06",X"05",X"02",X"0A",X"FF",X"00",X"00",X"06",X"71",X"01",X"72",X"01",X"73",X"01",X"75",X"01",
- X"74",X"01",X"73",X"01",X"72",X"01",X"71",X"01",X"70",X"01",X"8B",X"01",X"8A",X"01",X"0C",X"04",
- X"86",X"01",X"87",X"01",X"88",X"01",X"89",X"01",X"8A",X"01",X"89",X"01",X"88",X"01",X"87",X"01",
- X"86",X"01",X"85",X"01",X"84",X"01",X"83",X"01",X"FF",X"00",X"00",X"04",X"88",X"01",X"8A",X"01",
- X"70",X"01",X"71",X"01",X"73",X"01",X"75",X"01",X"77",X"01",X"78",X"01",X"0C",X"06",X"74",X"01",
- X"73",X"01",X"72",X"01",X"71",X"01",X"70",X"01",X"8B",X"01",X"FF",X"00",X"00",X"07",X"89",X"01",
- X"8A",X"01",X"8B",X"01",X"0C",X"01",X"70",X"01",X"71",X"01",X"72",X"01",X"0C",X"01",X"73",X"01",
- X"74",X"01",X"75",X"01",X"0C",X"03",X"8B",X"01",X"70",X"01",X"71",X"01",X"0C",X"01",X"72",X"01",
- X"73",X"01",X"74",X"01",X"0C",X"01",X"75",X"01",X"76",X"01",X"77",X"01",X"0C",X"03",X"71",X"01",
- X"72",X"01",X"73",X"01",X"0C",X"01",X"74",X"01",X"75",X"01",X"76",X"01",X"0C",X"01",X"77",X"01",
- X"78",X"01",X"79",X"01",X"FF",X"00",X"00",X"05",X"71",X"01",X"72",X"01",X"73",X"01",X"0C",X"01",
- X"74",X"01",X"75",X"01",X"76",X"01",X"0C",X"01",X"77",X"01",X"78",X"01",X"79",X"01",X"FF",X"00",
- X"00",X"04",X"61",X"01",X"7A",X"01",X"60",X"01",X"78",X"01",X"7A",X"01",X"76",X"01",X"78",X"01",
- X"75",X"01",X"FF",X"00",X"00",X"00",X"76",X"01",X"79",X"01",X"60",X"01",X"63",X"01",X"66",X"01",
- X"63",X"01",X"60",X"01",X"79",X"01",X"FF",X"00",X"00",X"07",X"81",X"08",X"81",X"01",X"86",X"03",
- X"88",X"09",X"8B",X"03",X"8A",X"09",X"86",X"03",X"88",X"09",X"73",X"03",X"71",X"09",X"86",X"03",
- X"88",X"09",X"8B",X"03",X"8A",X"09",X"86",X"03",X"71",X"09",X"75",X"03",X"76",X"09",X"74",X"03",
- X"72",X"09",X"71",X"03",X"8B",X"09",X"89",X"03",X"88",X"09",X"84",X"03",X"74",X"09",X"76",X"03",
- X"74",X"09",X"71",X"03",X"73",X"04",X"8B",X"04",X"88",X"04",X"71",X"04",X"8A",X"04",X"88",X"04",
- X"0C",X"10",X"FF",X"00",X"00",X"06",X"8A",X"09",X"81",X"03",X"88",X"09",X"83",X"03",X"86",X"09",
- X"81",X"03",X"83",X"09",X"85",X"03",X"8A",X"09",X"81",X"03",X"88",X"09",X"83",X"03",X"86",X"09",
- X"81",X"03",X"88",X"09",X"71",X"03",X"72",X"09",X"71",X"03",X"8B",X"09",X"89",X"03",X"88",X"09",
- X"86",X"03",X"84",X"09",X"88",X"03",X"89",X"09",X"8B",X"03",X"89",X"09",X"86",X"03",X"8B",X"04",
- X"88",X"04",X"83",X"04",X"88",X"04",X"85",X"04",X"83",X"04",X"0C",X"10",X"FF",X"00",X"00",X"07",
- X"81",X"0C",X"83",X"09",X"86",X"03",X"85",X"0C",X"81",X"0C",X"86",X"0C",X"88",X"09",X"8B",X"03",
- X"8A",X"0C",X"88",X"0C",X"89",X"0C",X"88",X"09",X"86",X"03",X"84",X"0C",X"89",X"0C",X"74",X"0C",
- X"71",X"09",X"89",X"03",X"88",X"0C",X"71",X"09",X"8A",X"03",X"0C",X"10",X"FF",X"02",X"00",X"03",
- X"78",X"02",X"0C",X"01",X"78",X"01",X"79",X"01",X"7B",X"01",X"61",X"03",X"0C",X"03",X"FF",X"02",
- X"00",X"03",X"73",X"02",X"0C",X"01",X"73",X"01",X"74",X"01",X"76",X"01",X"78",X"03",X"0C",X"02",
- X"FF",X"02",X"00",X"03",X"70",X"02",X"0C",X"01",X"70",X"01",X"71",X"01",X"73",X"01",X"75",X"03",
- X"0C",X"02",X"FF",X"01",X"00",X"04",X"78",X"01",X"7A",X"01",X"63",X"01",X"78",X"01",X"7A",X"01",
- X"63",X"01",X"65",X"03",X"FF",X"01",X"00",X"05",X"73",X"01",X"78",X"01",X"7A",X"01",X"73",X"01",
- X"78",X"01",X"7A",X"01",X"60",X"03",X"FF",X"01",X"00",X"07",X"8A",X"01",X"73",X"01",X"78",X"01",
- X"8A",X"01",X"73",X"01",X"78",X"01",X"7A",X"03",X"FF",X"01",X"06",X"04",X"7A",X"01",X"78",X"01",
- X"7A",X"01",X"61",X"01",X"65",X"01",X"68",X"03",X"FF",X"01",X"06",X"04",X"78",X"01",X"75",X"01",
- X"78",X"01",X"7A",X"01",X"61",X"01",X"65",X"03",X"FF",X"01",X"06",X"04",X"75",X"01",X"71",X"01",
- X"75",X"01",X"78",X"01",X"7A",X"01",X"60",X"03",X"FF",X"02",X"04",X"03",X"7A",X"01",X"76",X"01",
- X"78",X"01",X"75",X"01",X"76",X"01",X"73",X"01",X"75",X"01",X"72",X"01",X"73",X"01",X"8A",X"01",
- X"8B",X"01",X"88",X"01",X"86",X"01",X"85",X"01",X"83",X"01",X"82",X"01",X"83",X"01",X"86",X"01",
- X"85",X"01",X"88",X"01",X"86",X"01",X"8A",X"01",X"88",X"01",X"8B",X"01",X"8A",X"01",X"73",X"01",
- X"72",X"01",X"73",X"01",X"75",X"01",X"8A",X"01",X"70",X"01",X"72",X"01",X"FF",X"02",X"04",X"03",
- X"76",X"01",X"73",X"01",X"75",X"01",X"72",X"01",X"73",X"01",X"70",X"01",X"72",X"01",X"8A",X"01",
- X"8B",X"01",X"86",X"01",X"88",X"01",X"85",X"01",X"83",X"01",X"82",X"01",X"80",X"01",X"9A",X"01",
- X"9A",X"01",X"83",X"01",X"82",X"01",X"85",X"01",X"83",X"01",X"86",X"01",X"85",X"01",X"88",X"01",
- X"86",X"01",X"8A",X"01",X"88",X"01",X"8B",X"01",X"8A",X"01",X"88",X"01",X"86",X"01",X"85",X"01",
- X"FF",X"02",X"10",X"03",X"93",X"02",X"9A",X"02",X"83",X"03",X"9A",X"01",X"98",X"01",X"96",X"01",
- X"95",X"01",X"93",X"02",X"95",X"03",X"96",X"02",X"98",X"02",X"9A",X"02",X"9B",X"02",X"9A",X"02",
- X"98",X"01",X"96",X"01",X"95",X"01",X"92",X"01",X"93",X"01",X"95",X"01",X"FF",X"02",X"04",X"03",
- X"7A",X"01",X"77",X"01",X"78",X"01",X"75",X"01",X"77",X"01",X"73",X"01",X"75",X"01",X"72",X"01",
- X"73",X"01",X"8A",X"01",X"80",X"01",X"88",X"01",X"87",X"01",X"85",X"01",X"83",X"01",X"82",X"01",
- X"83",X"01",X"87",X"01",X"85",X"01",X"88",X"01",X"87",X"01",X"8A",X"01",X"88",X"01",X"80",X"01",
- X"8A",X"01",X"73",X"01",X"72",X"01",X"73",X"01",X"75",X"01",X"8A",X"01",X"70",X"01",X"72",X"01",
- X"FF",X"02",X"04",X"03",X"77",X"01",X"73",X"01",X"75",X"01",X"72",X"01",X"73",X"01",X"70",X"01",
- X"72",X"01",X"8A",X"01",X"80",X"01",X"87",X"01",X"88",X"01",X"85",X"01",X"83",X"01",X"82",X"01",
- X"80",X"01",X"9A",X"01",X"9A",X"01",X"83",X"01",X"82",X"01",X"85",X"01",X"83",X"01",X"87",X"01",
- X"85",X"01",X"88",X"01",X"87",X"01",X"8A",X"01",X"88",X"01",X"80",X"01",X"8A",X"01",X"88",X"01",
- X"87",X"01",X"85",X"01",X"FF",X"02",X"10",X"03",X"93",X"02",X"9A",X"02",X"83",X"03",X"9A",X"01",
- X"98",X"01",X"97",X"01",X"95",X"01",X"93",X"02",X"95",X"03",X"97",X"02",X"98",X"02",X"9A",X"02",
- X"90",X"02",X"9A",X"02",X"98",X"01",X"97",X"01",X"95",X"01",X"92",X"01",X"93",X"01",X"95",X"01",
- X"FF",X"02",X"04",X"03",X"7A",X"01",X"76",X"01",X"78",X"01",X"75",X"01",X"76",X"01",X"73",X"01",
- X"75",X"01",X"72",X"01",X"73",X"01",X"8A",X"01",X"8A",X"01",X"88",X"01",X"86",X"01",X"85",X"01",
- X"83",X"01",X"82",X"01",X"83",X"01",X"85",X"01",X"86",X"01",X"88",X"01",X"86",X"01",X"8A",X"01",
- X"70",X"01",X"72",X"01",X"73",X"04",X"FF",X"02",X"04",X"03",X"76",X"01",X"73",X"01",X"75",X"01",
- X"72",X"01",X"73",X"01",X"70",X"01",X"72",X"01",X"8A",X"01",X"8A",X"01",X"86",X"01",X"86",X"01",
- X"85",X"01",X"83",X"01",X"82",X"01",X"80",X"01",X"9A",X"01",X"9A",X"01",X"8B",X"01",X"80",X"01",
- X"82",X"01",X"83",X"01",X"85",X"01",X"86",X"01",X"88",X"01",X"8A",X"04",X"FF",X"02",X"10",X"03",
- X"73",X"02",X"75",X"02",X"76",X"02",X"75",X"02",X"73",X"02",X"72",X"02",X"70",X"02",X"72",X"02",
- X"73",X"02",X"8B",X"02",X"8A",X"02",X"86",X"02",X"83",X"04",X"FF",X"00",X"00",X"04",X"71",X"04",
- X"73",X"04",X"71",X"04",X"73",X"04",X"76",X"04",X"78",X"04",X"76",X"04",X"78",X"04",X"FF",X"00",
- X"00",X"06",X"56",X"01",X"55",X"01",X"54",X"01",X"53",X"01",X"52",X"01",X"51",X"01",X"50",X"01",
- X"6B",X"01",X"6A",X"01",X"69",X"01",X"68",X"01",X"67",X"01",X"66",X"01",X"65",X"01",X"64",X"01",
- X"63",X"01",X"62",X"01",X"61",X"01",X"60",X"01",X"7B",X"01",X"7A",X"01",X"79",X"01",X"78",X"01",
- X"77",X"01",X"76",X"01",X"75",X"01",X"74",X"01",X"73",X"01",X"72",X"01",X"71",X"01",X"70",X"01",
- X"8B",X"01",X"8A",X"01",X"89",X"01",X"88",X"01",X"87",X"01",X"86",X"01",X"85",X"01",X"84",X"01",
- X"83",X"01",X"FF",X"02",X"04",X"05",X"60",X"01",X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",
- X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",
- X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",
- X"78",X"01",X"75",X"01",X"71",X"01",X"60",X"01",X"0C",X"01",X"78",X"01",X"7A",X"01",X"75",X"01",
- X"78",X"01",X"73",X"01",X"75",X"01",X"61",X"01",X"7A",X"01",X"76",X"01",X"73",X"01",X"61",X"01",
- X"7A",X"01",X"76",X"01",X"73",X"01",X"61",X"01",X"7A",X"01",X"76",X"01",X"73",X"01",X"61",X"01",
- X"7A",X"01",X"76",X"01",X"73",X"01",X"61",X"01",X"79",X"01",X"76",X"01",X"73",X"01",X"61",X"01",
- X"79",X"01",X"76",X"01",X"73",X"01",X"61",X"01",X"0C",X"01",X"79",X"01",X"61",X"01",X"78",X"01",
- X"79",X"01",X"75",X"01",X"78",X"01",X"FF",X"02",X"02",X"05",X"60",X"01",X"60",X"01",X"60",X"01",
- X"FF",X"02",X"04",X"05",X"61",X"02",X"78",X"02",X"78",X"02",X"61",X"02",X"78",X"02",X"78",X"02",
- X"61",X"02",X"78",X"02",X"78",X"02",X"61",X"02",X"78",X"02",X"78",X"02",X"61",X"02",X"78",X"02",
- X"7A",X"02",X"75",X"02",X"63",X"02",X"7A",X"02",X"7A",X"02",X"63",X"02",X"7A",X"02",X"7A",X"02",
- X"63",X"02",X"7A",X"02",X"79",X"02",X"63",X"02",X"79",X"02",X"79",X"02",X"63",X"02",X"79",X"02",
- X"76",X"02",X"73",X"02",X"FF",X"02",X"02",X"05",X"78",X"01",X"78",X"01",X"78",X"01",X"FF",X"02",
- X"10",X"05",X"85",X"06",X"85",X"06",X"85",X"06",X"85",X"06",X"85",X"04",X"85",X"04",X"86",X"06",
- X"86",X"06",X"86",X"06",X"86",X"06",X"86",X"04",X"86",X"04",X"FF",X"02",X"04",X"05",X"81",X"01",
- X"81",X"01",X"81",X"01",X"FF",X"02",X"00",X"07",X"65",X"01",X"0C",X"01",X"61",X"01",X"0C",X"01",
- X"63",X"01",X"FF",X"02",X"00",X"05",X"7A",X"05",X"0C",X"01",X"7A",X"01",X"0C",X"01",X"7A",X"03",
- X"0C",X"01",X"78",X"07",X"0C",X"01",X"78",X"07",X"0C",X"01",X"78",X"03",X"0C",X"01",X"7B",X"05",
- X"0C",X"01",X"7B",X"01",X"0C",X"01",X"7B",X"03",X"0C",X"01",X"7A",X"07",X"0C",X"01",X"7A",X"07",
- X"0C",X"01",X"7A",X"03",X"0C",X"01",X"7B",X"01",X"0C",X"01",X"7B",X"01",X"0C",X"03",X"7B",X"01",
- X"0C",X"01",X"7B",X"03",X"0C",X"01",X"61",X"01",X"0C",X"01",X"61",X"01",X"0C",X"03",X"61",X"01",
- X"0C",X"01",X"61",X"03",X"0C",X"01",X"61",X"03",X"0C",X"01",X"61",X"03",X"0C",X"01",X"63",X"01",
- X"0C",X"01",X"63",X"01",X"0C",X"03",X"63",X"01",X"0C",X"01",X"63",X"03",X"0C",X"01",X"63",X"03",
- X"0C",X"01",X"63",X"03",X"0C",X"01",X"FF",X"02",X"00",X"03",X"86",X"02",X"8A",X"02",X"71",X"02",
- X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",
- X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",
- X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",
- X"76",X"02",X"86",X"02",X"8A",X"02",X"71",X"02",X"76",X"02",X"77",X"01",X"0C",X"01",X"77",X"01",
- X"0C",X"03",X"77",X"01",X"0C",X"01",X"77",X"03",X"0C",X"01",X"69",X"01",X"0C",X"01",X"69",X"01",
- X"0C",X"03",X"69",X"01",X"0C",X"01",X"69",X"03",X"0C",X"01",X"69",X"03",X"0C",X"01",X"69",X"03",
- X"0C",X"01",X"8B",X"02",X"73",X"02",X"76",X"02",X"7B",X"02",X"7B",X"02",X"76",X"02",X"73",X"02",
- X"8B",X"02",X"FF",X"00",X"00",X"02",X"86",X"08",X"81",X"08",X"86",X"08",X"81",X"08",X"86",X"08",
- X"81",X"08",X"86",X"08",X"81",X"08",X"82",X"01",X"0C",X"01",X"82",X"01",X"0C",X"03",X"82",X"01",
- X"0C",X"01",X"82",X"03",X"0C",X"01",X"84",X"01",X"0C",X"01",X"84",X"01",X"0C",X"03",X"84",X"01",
- X"0C",X"01",X"84",X"03",X"0C",X"01",X"84",X"03",X"0C",X"01",X"84",X"03",X"0C",X"01",X"7B",X"08",
- X"76",X"04",X"8B",X"04",X"FF",X"00",X"0C",X"05",X"75",X"0C",X"71",X"0C",X"8A",X"0C",X"86",X"0C",
- X"0C",X"09",X"75",X"03",X"71",X"09",X"8A",X"03",X"86",X"04",X"8A",X"04",X"71",X"04",X"89",X"04",
- X"70",X"04",X"73",X"04",X"8B",X"0C",X"73",X"0C",X"76",X"0C",X"78",X"0C",X"0C",X"09",X"79",X"03",
- X"76",X"09",X"72",X"03",X"8B",X"04",X"89",X"04",X"86",X"04",X"72",X"04",X"89",X"04",X"76",X"04",
- X"FF",X"00",X"0C",X"05",X"71",X"0C",X"8A",X"0C",X"86",X"0C",X"85",X"0C",X"0C",X"09",X"81",X"03",
- X"8A",X"09",X"86",X"03",X"85",X"04",X"86",X"04",X"8A",X"04",X"86",X"04",X"89",X"04",X"8B",X"04",
- X"88",X"0C",X"8B",X"0C",X"73",X"0C",X"76",X"0C",X"0C",X"09",X"76",X"03",X"72",X"09",X"8B",X"03",
- X"8A",X"04",X"86",X"04",X"82",X"04",X"8B",X"04",X"89",X"04",X"82",X"04",X"FF",X"00",X"00",X"03",
- X"75",X"18",X"75",X"18",X"75",X"18",X"71",X"0C",X"75",X"0C",X"73",X"18",X"73",X"18",X"72",X"18",
- X"76",X"0C",X"78",X"0C",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",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;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/sp_graphx.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/sp_graphx.vhd
deleted file mode 100644
index c163a322..00000000
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/roms/sp_graphx.vhd
+++ /dev/null
@@ -1,534 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity sp_graphx 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 sp_graphx is
- type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"88",X"CC",X"EE",X"FF",X"BB",X"99",X"18",X"19",X"11",X"1D",X"3F",X"BF",X"FF",X"DF",X"CF",X"E7",
- X"00",X"06",X"8E",X"BF",X"FF",X"7F",X"7E",X"FD",X"22",X"66",X"EE",X"EE",X"AA",X"22",X"02",X"02",
- X"11",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"77",X"33",X"33",X"33",X"33",X"11",X"11",X"11",
- X"DD",X"89",X"89",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"11",X"11",X"33",X"33",X"22",X"02",X"00",X"00",X"00",X"00",X"8B",X"8B",X"EF",X"77",X"E7",X"EB",
- X"00",X"00",X"44",X"CF",X"CF",X"DF",X"FF",X"7F",X"00",X"00",X"00",X"11",X"33",X"EE",X"EE",X"44",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AB",X"3B",X"33",X"77",X"77",X"22",X"22",X"22",
- X"FE",X"EE",X"AA",X"02",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"01",X"02",X"00",X"00",X"00",X"44",X"CC",X"CC",X"CD",X"EF",X"77",X"77",X"DF",
- X"00",X"00",X"00",X"2A",X"EE",X"EF",X"CF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",
- X"01",X"00",X"00",X"00",X"00",X"11",X"11",X"00",X"C7",X"77",X"FF",X"FF",X"CC",X"88",X"00",X"00",
- X"FF",X"FF",X"EA",X"04",X"00",X"00",X"00",X"00",X"EE",X"04",X"08",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"01",X"11",X"33",X"77",X"3B",X"33",X"77",X"FB",X"23",
- X"00",X"00",X"00",X"0C",X"9D",X"EE",X"EF",X"FF",X"00",X"00",X"00",X"88",X"00",X"00",X"08",X"08",
- X"00",X"00",X"00",X"00",X"11",X"22",X"00",X"00",X"23",X"77",X"EE",X"CC",X"00",X"00",X"00",X"00",
- X"7F",X"FF",X"62",X"44",X"09",X"00",X"00",X"00",X"FF",X"EE",X"44",X"08",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"13",X"15",X"33",X"77",X"7B",X"77",
- X"CC",X"88",X"88",X"88",X"8E",X"BF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"08",
- X"00",X"00",X"11",X"33",X"66",X"00",X"00",X"00",X"EF",X"EF",X"FF",X"DC",X"01",X"00",X"00",X"00",
- X"EF",X"7F",X"FF",X"99",X"00",X"01",X"00",X"00",X"08",X"00",X"FF",X"EE",X"08",X"00",X"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"00",X"10",X"7F",X"33",X"77",
- X"11",X"77",X"EE",X"66",X"EF",X"CF",X"FF",X"7F",X"88",X"00",X"00",X"00",X"08",X"08",X"CC",X"88",
- X"11",X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"EF",X"FF",X"88",X"13",X"00",X"00",X"00",X"00",
- X"2F",X"FF",X"F7",X"D9",X"00",X"13",X"00",X"00",X"0C",X"0C",X"00",X"CC",X"FF",X"CC",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"17",X"00",X"11",X"FF",
- X"00",X"3F",X"00",X"11",X"FB",X"F7",X"FF",X"9F",X"00",X"FF",X"EE",X"CC",X"88",X"8E",X"0E",X"CC",
- X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"11",X"00",X"17",X"00",X"00",X"00",
- X"3F",X"9F",X"FF",X"F7",X"FB",X"11",X"00",X"3F",X"FF",X"CC",X"0E",X"8E",X"88",X"CC",X"EE",X"FF",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"17",X"00",X"11",X"FF",
- X"00",X"3F",X"00",X"11",X"FB",X"F7",X"FF",X"9F",X"00",X"FF",X"EE",X"CC",X"88",X"8E",X"0E",X"CC",
- X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"11",X"00",X"17",X"00",X"00",X"00",
- X"3F",X"9F",X"FF",X"F7",X"FB",X"11",X"00",X"3F",X"FF",X"CC",X"0E",X"8E",X"88",X"CC",X"EE",X"FF",
- X"30",X"70",X"43",X"43",X"52",X"61",X"21",X"30",X"00",X"80",X"80",X"80",X"80",X"81",X"C1",X"F3",
- X"00",X"00",X"00",X"00",X"00",X"04",X"14",X"FE",X"60",X"F0",X"96",X"96",X"D2",X"B4",X"A4",X"E0",
- X"70",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F3",X"73",X"30",X"43",X"C3",X"10",X"10",
- X"FE",X"FE",X"F6",X"E0",X"96",X"96",X"40",X"40",X"F0",X"C0",X"00",X"00",X"00",X"80",X"00",X"00",
- X"00",X"00",X"00",X"10",X"10",X"30",X"70",X"30",X"00",X"30",X"70",X"E0",X"80",X"81",X"A3",X"F3",
- X"80",X"A0",X"10",X"10",X"00",X"14",X"04",X"CC",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"C0",
- X"10",X"10",X"00",X"10",X"30",X"00",X"00",X"00",X"F7",X"F7",X"72",X"B4",X"2D",X"61",X"10",X"00",
- X"EE",X"FC",X"FC",X"F0",X"08",X"48",X"20",X"00",X"C0",X"C0",X"A0",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"10",X"10",X"10",X"10",X"70",X"30",X"40",X"E0",X"E0",X"2C",X"48",X"48",X"C0",X"C6",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"2C",
- X"10",X"00",X"10",X"61",X"01",X"10",X"00",X"00",X"F7",X"FF",X"F7",X"F3",X"A4",X"96",X"90",X"00",
- X"18",X"F8",X"F8",X"F0",X"70",X"00",X"00",X"00",X"A4",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"10",X"10",X"00",X"10",X"10",X"00",X"00",X"10",X"30",X"F0",X"E0",X"D1",X"F3",X"F7",
- X"00",X"E0",X"F0",X"80",X"00",X"0C",X"8A",X"CE",X"00",X"00",X"80",X"40",X"40",X"60",X"60",X"E0",
- X"60",X"01",X"01",X"10",X"00",X"00",X"00",X"00",X"F7",X"79",X"79",X"16",X"86",X"10",X"10",X"00",
- X"EE",X"DC",X"F8",X"F0",X"60",X"00",X"00",X"00",X"E0",X"C0",X"80",X"80",X"C0",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"00",X"00",X"10",X"21",X"70",X"F0",X"E0",X"E0",X"E7",
- X"00",X"E0",X"68",X"68",X"80",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"60",X"12",X"03",X"70",X"21",X"00",X"00",X"00",X"FF",X"FF",X"F7",X"F2",X"58",X"80",X"80",X"00",
- X"00",X"08",X"F8",X"C3",X"F0",X"C0",X"40",X"00",X"00",X"E0",X"78",X"68",X"C0",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"03",X"00",X"40",X"30",X"70",X"E0",X"F1",X"F7",X"F7",
- X"00",X"00",X"F0",X"F0",X"20",X"00",X"8E",X"88",X"00",X"00",X"00",X"80",X"C0",X"20",X"00",X"30",
- X"43",X"30",X"21",X"01",X"10",X"10",X"00",X"00",X"F3",X"F7",X"7B",X"B0",X"B0",X"00",X"00",X"00",
- X"8E",X"CC",X"80",X"F0",X"F0",X"E0",X"40",X"00",X"60",X"E0",X"C0",X"80",X"80",X"00",X"00",X"00",
- X"00",X"00",X"00",X"20",X"30",X"03",X"C3",X"30",X"10",X"10",X"30",X"30",X"70",X"F7",X"F7",X"F3",
- X"30",X"E1",X"96",X"F0",X"C0",X"88",X"8E",X"88",X"E0",X"3C",X"3C",X"E0",X"00",X"00",X"00",X"00",
- X"C3",X"03",X"30",X"20",X"00",X"00",X"00",X"00",X"F7",X"F7",X"70",X"30",X"30",X"10",X"10",X"00",
- X"8E",X"88",X"C0",X"F0",X"96",X"E1",X"30",X"00",X"00",X"00",X"00",X"E0",X"3C",X"3C",X"E0",X"00",
- X"00",X"00",X"00",X"20",X"30",X"03",X"43",X"30",X"10",X"10",X"30",X"70",X"70",X"F7",X"F7",X"F3",
- X"00",X"80",X"F0",X"F0",X"10",X"88",X"8E",X"88",X"00",X"00",X"00",X"80",X"C0",X"60",X"30",X"00",
- X"43",X"03",X"30",X"20",X"00",X"00",X"00",X"00",X"F7",X"F7",X"70",X"70",X"30",X"10",X"10",X"00",
- X"8E",X"88",X"10",X"F0",X"F0",X"80",X"00",X"00",X"30",X"60",X"C0",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"11",X"33",X"11",X"00",X"00",X"00",X"00",X"44",X"DC",X"EF",X"FE",X"FE",
- X"00",X"00",X"00",X"11",X"D1",X"3F",X"F3",X"F3",X"00",X"00",X"00",X"00",X"CC",X"EE",X"CC",X"88",
- X"11",X"33",X"33",X"33",X"00",X"00",X"00",X"00",X"EF",X"8B",X"9B",X"98",X"98",X"00",X"00",X"00",
- X"3F",X"0E",X"4E",X"40",X"40",X"00",X"00",X"00",X"CC",X"EE",X"EE",X"EE",X"88",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"CC",X"CC",X"FE",X"FE",X"47",X"CF",
- X"00",X"00",X"00",X"80",X"D1",X"F3",X"3F",X"7F",X"00",X"00",X"00",X"00",X"88",X"88",X"00",X"00",
- X"11",X"22",X"22",X"22",X"00",X"00",X"00",X"00",X"70",X"7C",X"53",X"10",X"00",X"00",X"00",X"00",
- X"C4",X"F3",X"19",X"22",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"11",X"77",X"77",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FE",X"67",
- X"00",X"00",X"00",X"20",X"68",X"2C",X"97",X"F3",X"00",X"00",X"00",X"00",X"00",X"88",X"EE",X"CC",
- X"77",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"47",X"51",X"90",X"20",X"00",X"00",X"00",
- X"7F",X"7F",X"19",X"33",X"77",X"55",X"00",X"00",X"EE",X"88",X"88",X"88",X"88",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"33",X"00",X"00",X"11",X"33",X"33",X"99",X"FE",X"12",
- X"00",X"00",X"88",X"88",X"70",X"3C",X"96",X"C2",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",
- X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"47",X"A3",X"41",X"00",X"11",X"00",X"00",
- X"F3",X"5D",X"44",X"66",X"CC",X"88",X"00",X"00",X"CC",X"88",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"11",X"33",X"11",X"33",X"00",X"00",X"11",X"11",X"FF",X"FF",X"BB",X"33",X"07",
- X"00",X"44",X"CC",X"EE",X"CC",X"BC",X"96",X"C3",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",
- X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"C7",X"03",X"63",X"80",X"11",X"33",X"11",X"00",
- X"7B",X"FF",X"FF",X"77",X"EE",X"CC",X"CC",X"00",X"CC",X"88",X"88",X"88",X"00",X"00",X"00",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"00",X"66",X"AA",X"31",X"34",
- X"00",X"00",X"00",X"33",X"FF",X"EE",X"BC",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F4",X"34",X"72",X"02",X"11",X"EE",X"00",X"00",
- X"3C",X"3F",X"FF",X"BB",X"88",X"00",X"00",X"00",X"00",X"00",X"CC",X"CC",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"11",X"00",X"00",X"10",X"00",X"00",X"EE",X"FF",X"FF",X"11",X"17",X"C7",X"07",
- X"00",X"22",X"77",X"FF",X"FF",X"EE",X"D2",X"D2",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",
- X"10",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"C7",X"17",X"11",X"FF",X"FF",X"EE",X"00",X"00",
- X"D2",X"EE",X"FF",X"FF",X"77",X"22",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"17",X"C7",X"07",
- X"00",X"00",X"00",X"77",X"77",X"EE",X"D2",X"D2",X"00",X"00",X"00",X"88",X"88",X"00",X"00",X"80",
- X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"C7",X"17",X"11",X"FF",X"00",X"00",X"00",X"00",
- X"D2",X"EE",X"77",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"30",X"30",X"30",X"10",X"00",X"00",X"00",X"00",X"80",X"81",X"D1",X"C1",X"E1",
- X"00",X"00",X"00",X"08",X"0C",X"DC",X"1C",X"3C",X"00",X"00",X"00",X"E0",X"E0",X"E0",X"C0",X"80",
- X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"71",X"33",X"43",X"A3",X"00",X"00",X"00",X"00",
- X"FC",X"EE",X"9E",X"AE",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"80",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"60",X"60",X"60",X"60",X"61",X"61",
- X"00",X"00",X"00",X"04",X"0E",X"EE",X"0E",X"1C",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"80",
- X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"33",X"F3",X"57",X"13",X"11",X"00",X"00",X"00",
- X"FC",X"FC",X"0C",X"6C",X"10",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"10",X"10",X"00",X"00",X"00",X"00",X"00",X"C0",X"E0",X"C0",X"E0",X"D1",X"E1",
- X"00",X"00",X"00",X"00",X"00",X"0C",X"8E",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",
- X"00",X"10",X"60",X"00",X"00",X"00",X"00",X"00",X"C3",X"77",X"3F",X"BF",X"47",X"55",X"00",X"00",
- X"1C",X"78",X"F8",X"C8",X"80",X"40",X"40",X"00",X"E0",X"E0",X"C0",X"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"10",X"30",X"30",X"31",X"61",X"F7",
- X"00",X"80",X"C0",X"80",X"85",X"CE",X"6F",X"3E",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",
- X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"BF",X"3F",X"47",X"9B",X"00",X"10",X"00",X"00",
- X"BE",X"F8",X"C8",X"80",X"80",X"00",X"00",X"00",X"C0",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"60",X"10",X"00",X"30",X"70",X"70",X"70",X"60",X"E1",X"CF",
- X"00",X"80",X"80",X"00",X"00",X"04",X"8E",X"CE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"23",X"01",X"33",X"00",X"00",X"00",X"00",X"00",X"EF",X"EF",X"3E",X"9C",X"20",X"40",X"40",X"00",
- X"4C",X"A0",X"F0",X"F0",X"10",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"80",X"00",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"00",X"00",X"30",X"B0",X"BF",X"3F",
- X"00",X"00",X"70",X"F0",X"80",X"27",X"2F",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",
- X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"64",X"20",X"40",X"00",X"00",X"00",
- X"0C",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",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"11",X"00",X"00",X"00",X"80",X"50",X"BE",X"3F",X"FF",
- X"00",X"30",X"70",X"F0",X"E0",X"80",X"2F",X"2F",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"08",
- X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"3F",X"BE",X"50",X"80",X"00",X"00",X"00",X"00",
- X"2F",X"80",X"E0",X"F0",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",
- X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"80",X"50",X"BE",X"3F",X"FF",
- X"00",X"00",X"00",X"70",X"F0",X"80",X"2F",X"2F",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"08",
- X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"3F",X"BE",X"50",X"80",X"00",X"00",X"00",X"00",
- X"2F",X"80",X"F0",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"80",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"00",X"33",X"46",
- X"00",X"00",X"00",X"00",X"01",X"66",X"22",X"88",X"00",X"33",X"44",X"8A",X"11",X"76",X"80",X"00",
- X"00",X"11",X"11",X"02",X"11",X"00",X"00",X"00",X"8A",X"10",X"08",X"08",X"CC",X"88",X"44",X"88",
- X"CC",X"A8",X"00",X"00",X"00",X"00",X"10",X"F0",X"00",X"00",X"00",X"70",X"00",X"10",X"F0",X"F0",
- X"00",X"00",X"CC",X"02",X"99",X"11",X"00",X"00",X"00",X"00",X"33",X"0C",X"11",X"06",X"10",X"00",
- X"00",X"00",X"00",X"88",X"44",X"02",X"91",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"F0",X"00",X"10",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",X"80",X"E0",X"E0",X"C0",X"F0",
- X"31",X"31",X"01",X"01",X"22",X"44",X"11",X"20",X"08",X"08",X"8C",X"8C",X"88",X"88",X"00",X"00",
- X"00",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"88",X"04",X"04",X"88",X"A8",X"44",X"54",X"33",
- X"10",X"00",X"00",X"00",X"00",X"CC",X"03",X"91",X"F0",X"10",X"00",X"70",X"00",X"00",X"00",X"08",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"CE",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"44",X"13",X"00",X"00",X"00",X"00",X"00",
- X"F0",X"F0",X"70",X"F0",X"10",X"00",X"F0",X"00",X"C0",X"E0",X"E0",X"80",X"C0",X"E0",X"F0",X"11",
- X"44",X"44",X"01",X"00",X"20",X"55",X"55",X"2A",X"00",X"00",X"00",X"88",X"88",X"00",X"00",X"00",
- X"00",X"CE",X"02",X"CE",X"02",X"11",X"00",X"00",X"20",X"FF",X"37",X"26",X"04",X"88",X"00",X"00",
- X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"22",X"33",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"89",X"CD",X"03",
- X"00",X"00",X"22",X"33",X"22",X"00",X"11",X"77",X"00",X"00",X"88",X"88",X"04",X"00",X"CC",X"FF",
- X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"11",X"44",X"44",X"91",X"11",X"11",X"77",X"FF",X"BB",
- X"66",X"DD",X"FE",X"FD",X"CF",X"46",X"CF",X"CD",X"77",X"BB",X"EE",X"8E",X"0D",X"0D",X"01",X"07",
- X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"DD",X"00",X"00",X"00",X"80",X"22",X"88",X"AA",X"66",
- X"00",X"00",X"00",X"00",X"00",X"01",X"2A",X"0C",X"00",X"00",X"44",X"44",X"88",X"00",X"00",X"00",
- X"AA",X"EF",X"1E",X"07",X"07",X"02",X"40",X"0E",X"FF",X"19",X"6E",X"1F",X"35",X"1F",X"3F",X"33",
- X"00",X"00",X"EE",X"FF",X"BB",X"66",X"EE",X"CC",X"00",X"88",X"44",X"00",X"00",X"00",X"00",X"00",
- X"11",X"11",X"00",X"11",X"11",X"00",X"00",X"00",X"D9",X"BB",X"DD",X"EC",X"CD",X"FF",X"33",X"00",
- X"47",X"8F",X"CE",X"CE",X"CF",X"8B",X"66",X"FF",X"29",X"05",X"08",X"26",X"0E",X"06",X"1D",X"FF",
- X"00",X"00",X"00",X"00",X"11",X"22",X"22",X"00",X"40",X"22",X"DD",X"99",X"00",X"00",X"00",X"00",
- X"66",X"33",X"33",X"11",X"40",X"22",X"22",X"00",X"FF",X"66",X"99",X"FF",X"EE",X"00",X"00",X"00",
- X"84",X"0A",X"01",X"0A",X"0F",X"0D",X"1F",X"C2",X"3F",X"1F",X"35",X"17",X"33",X"3F",X"FF",X"77",
- X"BB",X"FF",X"66",X"BB",X"BB",X"66",X"CC",X"88",X"00",X"44",X"66",X"44",X"66",X"11",X"00",X"00",
- X"FF",X"BB",X"77",X"FF",X"EE",X"00",X"00",X"00",X"AA",X"CC",X"CC",X"88",X"22",X"44",X"00",X"00",
- X"33",X"04",X"A8",X"98",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"44",X"00",X"00",
- X"88",X"54",X"22",X"22",X"00",X"33",X"67",X"CF",X"00",X"00",X"91",X"11",X"FF",X"CC",X"0B",X"07",
- X"22",X"FF",X"DD",X"2A",X"0F",X"3F",X"07",X"0F",X"EE",X"FF",X"33",X"1D",X"0E",X"8F",X"0F",X"03",
- X"CE",X"CD",X"EE",X"45",X"EE",X"EF",X"EF",X"FF",X"1E",X"2F",X"4F",X"0F",X"0F",X"07",X"0E",X"6D",
- X"CE",X"87",X"0D",X"0E",X"8F",X"0F",X"01",X"0E",X"0D",X"8F",X"0F",X"06",X"00",X"04",X"0B",X"01",
- X"00",X"11",X"BB",X"CC",X"FF",X"77",X"1E",X"87",X"A2",X"22",X"CC",X"11",X"99",X"BB",X"7F",X"0C",
- X"00",X"01",X"01",X"CC",X"EE",X"BF",X"3F",X"37",X"11",X"22",X"40",X"08",X"40",X"00",X"00",X"00",
- X"0F",X"1F",X"0B",X"03",X"09",X"08",X"83",X"0E",X"0D",X"0F",X"0F",X"09",X"03",X"06",X"05",X"07",
- X"3B",X"2E",X"B7",X"1F",X"0D",X"0F",X"0F",X"0F",X"00",X"00",X"66",X"FF",X"3F",X"3F",X"37",X"6E",
- X"FF",X"11",X"77",X"FF",X"EE",X"66",X"67",X"67",X"3D",X"1F",X"9B",X"17",X"2F",X"0F",X"07",X"5B",
- X"0F",X"0D",X"1A",X"0F",X"0E",X"0D",X"0F",X"8F",X"07",X"01",X"0A",X"04",X"08",X"13",X"07",X"7F",
- X"33",X"11",X"00",X"11",X"11",X"33",X"44",X"00",X"8F",X"8A",X"23",X"23",X"91",X"00",X"00",X"00",
- X"6F",X"0F",X"07",X"0B",X"8C",X"FF",X"77",X"00",X"0F",X"97",X"6F",X"06",X"3F",X"EE",X"88",X"00",
- X"0C",X"08",X"0B",X"84",X"0A",X"03",X"0B",X"0F",X"01",X"07",X"07",X"1A",X"03",X"0B",X"0E",X"4D",
- X"0B",X"85",X"0D",X"1B",X"1F",X"19",X"66",X"FF",X"AA",X"88",X"88",X"CC",X"CC",X"88",X"00",X"00",
- X"1F",X"2F",X"4B",X"8E",X"77",X"FF",X"00",X"00",X"0F",X"0F",X"0B",X"FF",X"BB",X"00",X"00",X"00",
- X"FF",X"CC",X"CC",X"98",X"00",X"40",X"22",X"00",X"00",X"00",X"88",X"88",X"C8",X"62",X"33",X"11",
- X"00",X"00",X"02",X"13",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"09",X"C1",X"03",
- X"00",X"00",X"02",X"03",X"02",X"00",X"11",X"67",X"00",X"00",X"08",X"80",X"40",X"00",X"0C",X"3F",
- X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"11",X"04",X"04",X"89",X"01",X"01",X"17",X"3F",X"3B",
- X"06",X"4D",X"0F",X"7C",X"8F",X"06",X"0F",X"0D",X"07",X"0B",X"0E",X"0E",X"0D",X"0D",X"01",X"25",
- X"00",X"00",X"00",X"00",X"00",X"77",X"0F",X"4D",X"00",X"00",X"00",X"80",X"22",X"08",X"AA",X"06",
- X"00",X"00",X"00",X"00",X"00",X"11",X"0A",X"0C",X"00",X"00",X"04",X"04",X"80",X"00",X"00",X"00",
- X"0A",X"0F",X"0F",X"07",X"07",X"02",X"04",X"0E",X"2F",X"09",X"86",X"0F",X"07",X"0F",X"0F",X"03",
- X"00",X"00",X"6E",X"1F",X"0B",X"26",X"2E",X"0C",X"00",X"88",X"44",X"00",X"00",X"00",X"00",X"00",
- X"01",X"10",X"00",X"01",X"01",X"00",X"00",X"00",X"1D",X"1A",X"4D",X"8E",X"8D",X"0F",X"03",X"00",
- X"07",X"0F",X"0E",X"4A",X"0F",X"0B",X"06",X"0F",X"0B",X"05",X"08",X"06",X"0E",X"06",X"0D",X"0F",
- X"00",X"00",X"00",X"00",X"10",X"22",X"22",X"00",X"04",X"02",X"0D",X"09",X"00",X"00",X"00",X"00",
- X"46",X"03",X"03",X"01",X"04",X"22",X"22",X"00",X"0F",X"06",X"09",X"3E",X"CE",X"00",X"00",X"00",
- X"0C",X"28",X"01",X"0A",X"0F",X"0D",X"0F",X"0E",X"1E",X"2F",X"27",X"07",X"03",X"0F",X"0F",X"17",
- X"0B",X"4F",X"66",X"2B",X"2B",X"06",X"CC",X"88",X"00",X"04",X"06",X"04",X"06",X"01",X"00",X"00",
- X"0F",X"0B",X"27",X"87",X"EE",X"00",X"00",X"00",X"2A",X"0C",X"CC",X"08",X"02",X"04",X"00",X"00",
- X"03",X"04",X"0A",X"09",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",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"30",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F1",X"30",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",
- X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"30",X"40",X"00",X"00",X"00",X"00",X"00",
- X"80",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"F1",X"30",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"70",X"72",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"02",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"CC",X"88",X"77",X"00",X"99",X"AA",
- X"00",X"CC",X"22",X"66",X"CC",X"00",X"CC",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"EE",X"00",X"00",X"FF",X"44",X"00",
- X"22",X"22",X"44",X"00",X"22",X"EE",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"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"08",X"08",X"07",X"00",X"07",X"08",
- X"00",X"0C",X"02",X"02",X"0C",X"00",X"0C",X"02",X"00",X"00",X"00",X"00",X"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"07",X"00",X"00",X"0F",X"04",X"02",X"01",
- X"02",X"0C",X"00",X"08",X"0E",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"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"08",X"08",X"07",X"00",X"07",X"08",
- X"00",X"0C",X"02",X"02",X"0C",X"00",X"0C",X"02",X"00",X"00",X"00",X"00",X"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"07",X"00",X"09",X"0A",X"0A",X"0A",X"0E",
- X"02",X"0C",X"00",X"0C",X"02",X"02",X"02",X"04",X"00",X"00",X"00",X"00",X"00",X"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"08",X"08",X"07",X"00",X"07",X"08",
- X"00",X"0C",X"02",X"02",X"0C",X"00",X"0C",X"02",X"00",X"00",X"00",X"00",X"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"07",X"00",X"06",X"09",X"09",X"09",X"06",
- X"02",X"0C",X"00",X"0C",X"02",X"02",X"02",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"80",X"80",X"70",X"00",X"70",X"80",X"80",
- X"C0",X"20",X"20",X"C0",X"00",X"C0",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"70",X"80",X"80",X"70",X"00",X"F0",
- X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"88",X"88",X"77",X"00",X"77",X"88",X"88",
- X"CC",X"22",X"22",X"CC",X"00",X"CC",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"99",X"AA",X"AA",X"EE",X"00",X"FF",
- X"CC",X"00",X"CC",X"22",X"22",X"44",X"00",X"EE",X"00",X"00",X"00",X"00",X"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"08",X"08",X"07",X"00",X"07",X"08",X"08",
- X"0C",X"02",X"02",X"0C",X"00",X"0C",X"02",X"02",X"00",X"00",X"00",X"00",X"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"08",X"09",X"05",X"03",X"00",X"0F",
- X"0C",X"00",X"0C",X"02",X"02",X"0C",X"00",X"0E",X"00",X"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"12",X"1E",X"00",X"00",X"0F",X"00",X"10",X"76",X"1E",X"1E",
- X"00",X"00",X"0F",X"1E",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"1C",X"1C",X"10",X"10",X"DC",X"FE",
- X"3E",X"1E",X"12",X"10",X"00",X"00",X"00",X"00",X"DE",X"1E",X"1E",X"76",X"10",X"00",X"0F",X"00",
- X"1E",X"FE",X"FE",X"FE",X"FE",X"1E",X"0F",X"00",X"1C",X"FE",X"DC",X"10",X"10",X"1C",X"1C",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"80",X"80",
- X"00",X"00",X"00",X"00",X"00",X"C0",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"70",X"80",X"80",X"70",X"00",X"70",
- X"C0",X"00",X"C0",X"20",X"20",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"88",X"88",
- X"00",X"00",X"00",X"00",X"00",X"CC",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"77",X"88",X"88",X"77",X"00",X"77",
- X"CC",X"00",X"CC",X"22",X"22",X"CC",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"70",X"00",X"60",X"90",X"80",X"80",
- X"20",X"20",X"C0",X"00",X"20",X"20",X"A0",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"77",X"00",X"88",X"DD",X"AA",X"88",
- X"22",X"22",X"CC",X"00",X"CC",X"22",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"33",X"77",X"CC",X"88",X"88",X"77",X"33",X"00",X"88",X"CC",X"22",X"22",X"66",X"CC",X"88",X"00",
- X"00",X"00",X"FF",X"FF",X"44",X"00",X"00",X"00",X"22",X"22",X"EE",X"EE",X"22",X"22",X"00",X"00",
- X"66",X"FF",X"BB",X"99",X"99",X"CC",X"44",X"00",X"22",X"22",X"AA",X"AA",X"EE",X"EE",X"66",X"00",
- X"88",X"DD",X"FF",X"BB",X"99",X"88",X"00",X"00",X"CC",X"EE",X"22",X"22",X"22",X"66",X"44",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"11",
- X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"57",X"27",X"57",X"88",X"22",X"00",X"00",X"00",
- X"4C",X"4C",X"88",X"44",X"88",X"00",X"00",X"00",X"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"44",X"11",X"00",X"00",X"02",X"00",X"A2",X"03",X"AB",X"05",
- X"00",X"00",X"10",X"B8",X"44",X"22",X"1B",X"86",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"44",
- X"00",X"11",X"22",X"10",X"10",X"00",X"00",X"00",X"BC",X"21",X"65",X"81",X"44",X"22",X"00",X"00",
- X"BE",X"3C",X"B4",X"54",X"11",X"04",X"00",X"00",X"88",X"80",X"84",X"00",X"00",X"00",X"00",X"00",
- X"04",X"00",X"22",X"01",X"44",X"38",X"20",X"44",X"11",X"88",X"74",X"00",X"8B",X"00",X"44",X"88",
- X"22",X"10",X"22",X"89",X"01",X"22",X"88",X"00",X"20",X"80",X"00",X"08",X"08",X"11",X"C0",X"00",
- X"00",X"DA",X"01",X"03",X"44",X"00",X"11",X"88",X"22",X"C0",X"00",X"22",X"44",X"10",X"02",X"02",
- X"55",X"00",X"15",X"24",X"C0",X"22",X"00",X"44",X"30",X"20",X"E9",X"40",X"65",X"00",X"88",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"08",X"00",
- X"00",X"00",X"11",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"04",X"22",X"88",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"22",X"11",X"88",X"44",X"00",X"22",
- X"11",X"04",X"00",X"20",X"11",X"00",X"A8",X"20",X"00",X"C0",X"81",X"22",X"00",X"00",X"02",X"00",
- X"00",X"00",X"00",X"00",X"04",X"A2",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"88",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"88",X"11",X"22",X"22",X"00",X"00",X"00",X"00",X"11",X"02",X"00",X"C0",X"00",X"10",X"04",X"44",
- X"00",X"00",X"60",X"00",X"88",X"01",X"00",X"44",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"80",X"80",X"00",X"11",X"00",X"22",X"00",
- X"22",X"0C",X"00",X"00",X"60",X"20",X"00",X"22",X"00",X"00",X"00",X"11",X"00",X"00",X"44",X"06",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"80",X"80",X"00",X"00",X"44",X"00",X"00",X"00",X"10",X"00",X"22",X"04",X"00",X"00",X"00",X"00",
- X"00",X"22",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"22",X"15",X"30",X"00",X"88",X"44",X"01",
- X"88",X"00",X"11",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"82",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"00",
- X"88",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"44",X"00",X"11",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"11",
- X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"11",
- X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"40",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"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"88",X"C0",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"11",
- X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"00",X"80",X"00",X"00",X"22",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",
- X"00",X"11",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"04",
- X"00",X"00",X"88",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"10",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"10",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"80",X"11",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",
- X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"22",X"00",
- X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"18",X"00",X"00",
- X"00",X"00",X"00",X"01",X"03",X"01",X"03",X"00",X"00",X"01",X"01",X"0F",X"0F",X"0B",X"03",X"77",
- X"00",X"04",X"0C",X"0E",X"0C",X"7C",X"F6",X"F3",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",
- X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"B7",X"33",X"53",X"80",X"01",X"03",X"01",X"00",
- X"CB",X"0F",X"0F",X"07",X"0E",X"0C",X"0C",X"00",X"0C",X"08",X"08",X"08",X"00",X"00",X"00",X"00",
- X"0F",X"0C",X"0C",X"0F",X"0F",X"0C",X"0C",X"0F",X"0F",X"00",X"00",X"0F",X"0F",X"00",X"00",X"0F",
- X"0C",X"0C",X"0C",X"0F",X"07",X"00",X"00",X"07",X"03",X"03",X"03",X"0F",X"0E",X"00",X"00",X"0F",
- X"0C",X"0F",X"07",X"00",X"00",X"0C",X"0C",X"0C",X"03",X"0F",X"0E",X"00",X"00",X"03",X"03",X"03",
- X"00",X"00",X"07",X"0F",X"0C",X"0C",X"0C",X"0C",X"00",X"00",X"0E",X"0F",X"03",X"03",X"03",X"03",
- X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
- X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
- X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
- X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",
- X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",
- X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"00",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"01",X"01",
- X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"00",X"11",X"11",X"51",X"D1",X"D5",X"FF",
- X"00",X"00",X"00",X"00",X"40",X"60",X"74",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",
- X"31",X"31",X"20",X"20",X"00",X"00",X"00",X"00",X"EF",X"2F",X"07",X"03",X"01",X"00",X"00",X"00",
- X"FF",X"9F",X"0C",X"08",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"00",X"20",X"60",X"F3",X"FF",
- X"00",X"00",X"44",X"44",X"CC",X"98",X"BA",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",
- X"10",X"30",X"20",X"00",X"00",X"00",X"00",X"00",X"FF",X"17",X"03",X"03",X"01",X"00",X"00",X"00",
- X"7F",X"7F",X"1F",X"0C",X"00",X"00",X"00",X"00",X"C0",X"C8",X"C0",X"80",X"80",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"30",X"00",X"00",X"00",X"10",X"F0",X"F7",X"FF",X"77",
- X"00",X"00",X"11",X"B3",X"22",X"44",X"DD",X"7F",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",
- X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"37",X"07",X"03",X"03",X"00",X"00",X"00",X"00",
- X"7F",X"FF",X"3F",X"10",X"10",X"20",X"00",X"00",X"80",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"10",X"30",X"20",X"00",X"00",X"00",X"00",X"F0",X"F7",X"FF",X"77",X"37",
- X"00",X"00",X"00",X"C0",X"99",X"AA",X"CC",X"7F",X"00",X"00",X"00",X"88",X"00",X"00",X"80",X"80",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"27",X"17",X"07",X"00",X"00",X"00",X"00",X"00",
- X"FF",X"FF",X"7F",X"32",X"30",X"60",X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"10",X"20",X"00",X"00",X"00",X"00",X"20",X"F0",X"F7",X"77",X"37",X"27",
- X"00",X"00",X"00",X"E0",X"CC",X"99",X"EE",X"4C",X"00",X"00",X"00",X"00",X"CC",X"88",X"00",X"80",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"03",X"00",X"00",X"10",X"00",X"00",
- X"FE",X"FE",X"FE",X"74",X"E0",X"80",X"00",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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"F2",X"77",X"37",X"3F",X"0F",
- X"00",X"00",X"00",X"C0",X"E8",X"CC",X"99",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",
- X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"1F",X"13",X"11",X"30",X"60",X"00",X"00",
- X"CC",X"FC",X"E8",X"C8",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"33",X"13",X"17",X"3F",
- X"00",X"00",X"00",X"80",X"C0",X"E8",X"FC",X"88",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"0F",X"3F",X"17",X"13",X"33",X"F0",X"00",X"00",
- X"FF",X"88",X"FC",X"E8",X"C0",X"80",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"33",X"33",X"3F",
- X"00",X"00",X"CC",X"22",X"11",X"88",X"88",X"8E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"01",X"01",X"03",X"02",X"00",X"00",X"00",X"00",X"3B",X"3B",X"19",X"28",X"20",X"00",X"00",X"00",
- X"8B",X"8B",X"03",X"82",X"80",X"00",X"00",X"00",X"00",X"00",X"08",X"08",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"00",X"66",X"99",X"00",X"00",X"11",X"11",X"3F",
- X"00",X"00",X"00",X"88",X"88",X"88",X"CC",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"03",X"07",X"05",X"00",X"00",X"00",X"00",X"00",X"3B",X"33",X"22",X"50",X"50",X"00",X"00",X"00",
- X"8E",X"8B",X"03",X"07",X"05",X"00",X"00",X"00",X"00",X"00",X"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"03",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"19",
- X"00",X"00",X"00",X"00",X"33",X"CC",X"EE",X"CC",X"00",X"00",X"00",X"00",X"88",X"44",X"44",X"00",
- X"05",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"33",X"62",X"A0",X"20",X"00",X"00",X"00",
- X"8C",X"8A",X"06",X"06",X"0E",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"0E",X"1D",X"3B",
- X"00",X"00",X"EE",X"11",X"11",X"EE",X"EE",X"EE",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"33",X"73",X"A0",X"40",X"01",X"00",X"00",X"00",
- X"CC",X"8A",X"06",X"0E",X"0C",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"03",X"01",X"03",X"00",X"00",X"00",X"00",X"00",X"0E",X"0D",X"33",
- X"00",X"00",X"00",X"00",X"00",X"77",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"88",X"44",X"44",
- X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"F7",X"40",X"81",X"03",X"00",X"01",X"00",
- X"CC",X"04",X"04",X"0C",X"0C",X"08",X"00",X"00",X"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"00",X"01",X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"09",X"33",
- X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"00",X"00",X"00",X"00",X"88",X"44",X"44",X"88",
- X"10",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"B3",X"77",X"80",X"01",X"07",X"03",X"06",X"00",
- X"EE",X"88",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"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"0C",X"07",X"0F",X"00",X"B3",
- X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"EE",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"77",X"B3",X"00",X"0F",X"07",X"0C",X"00",X"00",
- X"FF",X"EE",X"08",X"08",X"11",X"00",X"00",X"00",X"88",X"44",X"44",X"88",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"02",X"02",X"03",X"03",X"01",X"00",X"00",X"01",X"01",X"01",X"03",X"0F",X"3C",
- X"00",X"00",X"00",X"00",X"00",X"09",X"0F",X"87",X"00",X"00",X"00",X"08",X"08",X"08",X"08",X"00",
- X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1E",X"9E",X"CF",X"67",X"01",X"01",X"00",X"00",
- X"0F",X"2E",X"6E",X"CC",X"00",X"00",X"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"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"08",X"0D",X"0F",X"3C",
- X"00",X"00",X"08",X"08",X"08",X"0C",X"0C",X"87",X"00",X"00",X"00",X"00",X"00",X"04",X"0C",X"0C",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"9E",X"CF",X"DF",X"02",X"02",X"00",X"00",
- X"0F",X"0F",X"6E",X"CC",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"04",X"0C",X"0C",X"0F",X"0F",X"9E",
- X"00",X"00",X"02",X"02",X"04",X"0C",X"0C",X"86",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"0C",
- X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"AD",X"8F",X"37",X"19",X"00",X"00",X"00",
- X"0F",X"0F",X"4E",X"CC",X"00",X"00",X"00",X"00",X"0C",X"08",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"02",X"04",X"0E",X"0E",X"0F",X"AD",
- X"00",X"00",X"00",X"00",X"01",X"02",X"0C",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"11",X"11",X"11",X"00",X"01",X"00",X"00",X"00",X"1E",X"2D",X"8F",X"4F",X"77",X"00",X"00",X"00",
- X"0C",X"87",X"0F",X"8F",X"88",X"00",X"00",X"00",X"00",X"04",X"08",X"00",X"00",X"00",X"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"03",X"03",X"07",X"CF",X"8F",
- X"00",X"04",X"08",X"08",X"00",X"08",X"0F",X"86",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",
- X"11",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"9E",X"AD",X"0F",X"77",X"11",X"00",X"00",X"00",
- X"86",X"0E",X"0F",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"08",X"00",X"00",X"00",X"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"03",X"47",X"CF",X"8F",
- X"00",X"00",X"0E",X"0C",X"08",X"08",X"0E",X"87",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",
- X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"BC",X"0F",X"CF",X"FF",X"00",X"00",X"00",X"00",
- X"86",X"84",X"0E",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",
- X"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"67",X"CF",X"8F",
- X"00",X"00",X"00",X"07",X"0E",X"0C",X"0C",X"86",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",
- X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"8F",X"CF",X"67",X"01",X"00",X"00",X"00",
- X"87",X"86",X"0C",X"0C",X"0E",X"07",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"08",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"10",X"10",X"10",X"10",X"10",X"1C",
- 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"07",X"70",X"F0",X"00",X"00",X"00",X"00",X"00",X"1E",X"F0",X"D0",X"10",X"32",X"66",X"00",X"00",
- X"0F",X"F0",X"70",X"00",X"88",X"CC",X"00",X"00",X"0C",X"C0",X"E0",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"1E",
- X"00",X"00",X"40",X"40",X"80",X"80",X"80",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"F0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"D0",X"10",X"64",X"DD",X"11",X"00",X"00",
- X"0F",X"C3",X"70",X"10",X"00",X"88",X"00",X"00",X"00",X"0C",X"84",X"C0",X"40",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"02",X"03",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"0C",X"0E",
- X"00",X"00",X"00",X"10",X"20",X"40",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"30",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"D2",X"F0",X"30",X"A8",X"EA",X"22",X"22",X"00",
- X"00",X"0E",X"87",X"E1",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"80",X"80",X"00",
- X"00",X"00",X"00",X"00",X"03",X"E1",X"70",X"30",X"00",X"00",X"00",X"00",X"00",X"0C",X"0E",X"86",
- X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"11",X"33",X"00",X"00",X"00",X"00",X"D2",X"21",X"50",X"90",X"CC",X"88",X"00",X"00",
- X"00",X"0C",X"0E",X"86",X"C3",X"E1",X"60",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"61",X"30",X"30",X"10",X"00",X"00",X"00",X"00",X"08",X"0C",X"86",X"86",X"C2",
- X"00",X"00",X"00",X"00",X"00",X"10",X"60",X"C0",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",
- X"00",X"77",X"10",X"11",X"11",X"00",X"00",X"00",X"70",X"E1",X"30",X"B8",X"10",X"10",X"00",X"00",
- X"00",X"08",X"0C",X"0E",X"84",X"86",X"80",X"80",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"22",X"00",X"00",X"86",X"C2",X"C3",X"43",X"61",X"21",
- X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",
- X"33",X"00",X"11",X"11",X"00",X"00",X"00",X"00",X"70",X"90",X"B8",X"30",X"30",X"10",X"10",X"10",
- X"80",X"0C",X"0C",X"0C",X"84",X"84",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"22",X"33",X"00",X"40",X"61",X"61",X"61",X"61",X"61",X"21",
- X"00",X"00",X"00",X"00",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"10",X"33",X"22",X"00",X"00",X"00",X"00",X"00",X"F0",X"21",X"61",X"61",X"61",X"61",X"61",X"40",
- X"F0",X"00",X"08",X"08",X"08",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"22",X"66",X"22",X"00",X"00",X"00",X"00",X"00",X"77",X"44",X"77",
- X"00",X"00",X"00",X"00",X"00",X"CC",X"11",X"99",X"00",X"00",X"00",X"00",X"00",X"CC",X"22",X"22",
- X"22",X"22",X"22",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"33",X"00",X"00",X"00",X"00",
- X"55",X"55",X"55",X"88",X"00",X"00",X"00",X"00",X"22",X"22",X"22",X"CC",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"11",X"1D",X"0F",X"87",X"E1",
- X"44",X"CC",X"CC",X"CC",X"88",X"3B",X"7F",X"7F",X"00",X"00",X"00",X"33",X"FF",X"EE",X"EE",X"88",
- X"11",X"33",X"77",X"44",X"00",X"00",X"00",X"00",X"F8",X"FD",X"BB",X"33",X"77",X"77",X"66",X"44",
- X"4E",X"8E",X"E8",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"40",X"A0",X"10",
- X"00",X"00",X"00",X"03",X"21",X"76",X"77",X"11",X"00",X"00",X"00",X"11",X"1F",X"0F",X"C3",X"E9",
- X"44",X"CC",X"CC",X"CC",X"CC",X"0C",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"77",X"77",X"FF",X"EE",X"EE",X"CC",X"88",
- X"F7",X"B7",X"60",X"10",X"00",X"00",X"00",X"00",X"FF",X"EE",X"00",X"00",X"A0",X"40",X"A0",X"10",
- X"00",X"00",X"11",X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"88",X"DD",X"1F",X"87",X"F0",X"70",
- X"22",X"77",X"FF",X"EE",X"CC",X"88",X"0C",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"11",X"11",X"33",X"33",X"22",X"00",X"00",X"FD",X"DD",X"CC",X"88",X"00",X"00",X"00",X"00",
- X"EE",X"FF",X"FF",X"77",X"33",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"A8",X"40",X"A0",X"10",
- X"00",X"00",X"00",X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"11",X"1D",X"0F",X"87",X"E1",
- X"44",X"CC",X"CC",X"CC",X"88",X"3B",X"7F",X"7F",X"00",X"00",X"00",X"33",X"FF",X"EE",X"EE",X"88",
- X"11",X"33",X"77",X"44",X"00",X"00",X"00",X"00",X"F8",X"FD",X"BB",X"33",X"77",X"77",X"66",X"44",
- X"4E",X"8E",X"E8",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"40",X"A0",X"10",
- X"00",X"00",X"00",X"03",X"21",X"76",X"77",X"11",X"00",X"00",X"00",X"11",X"1F",X"0F",X"C3",X"E9",
- X"44",X"CC",X"CC",X"CC",X"CC",X"0C",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"77",X"77",X"FF",X"EE",X"EE",X"CC",X"88",
- X"F7",X"B7",X"60",X"10",X"00",X"00",X"00",X"00",X"FF",X"EE",X"00",X"00",X"A0",X"40",X"A0",X"10",
- X"00",X"00",X"11",X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"88",X"DD",X"1F",X"87",X"F0",X"70",
- X"22",X"77",X"FF",X"EE",X"CC",X"88",X"0C",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"11",X"11",X"33",X"33",X"22",X"00",X"00",X"FD",X"DD",X"CC",X"88",X"00",X"00",X"00",X"00",
- X"EE",X"FF",X"FF",X"77",X"33",X"00",X"00",X"00",X"00",X"00",X"88",X"88",X"A8",X"40",X"A0",X"10",
- X"00",X"00",X"00",X"03",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"11",X"1D",X"0F",X"87",X"E1",
- X"44",X"CC",X"CC",X"CC",X"88",X"3B",X"7F",X"7F",X"00",X"00",X"00",X"33",X"FF",X"EE",X"EE",X"88",
- X"11",X"33",X"77",X"44",X"00",X"00",X"00",X"00",X"F8",X"FD",X"BB",X"33",X"77",X"77",X"66",X"44",
- X"4E",X"8E",X"E8",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"40",X"A0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"60",X"60",X"71",X"71",X"71",X"60",X"12",X"12",X"74",X"FC",X"FD",X"B9",X"11",X"71",
- X"08",X"08",X"C4",X"E6",X"F7",X"B3",X"11",X"C0",X"00",X"00",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
- X"60",X"14",X"10",X"10",X"10",X"10",X"00",X"00",X"F0",X"F1",X"F3",X"E7",X"F3",X"E1",X"E1",X"61",
- X"E0",X"F0",X"F8",X"FC",X"F8",X"F0",X"E0",X"C0",X"C0",X"04",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"30",X"30",X"30",X"30",X"71",X"60",X"24",X"00",X"00",X"32",X"FE",X"FE",X"30",X"11",X"F1",
- X"4A",X"4A",X"C0",X"E2",X"FB",X"FB",X"33",X"91",X"00",X"00",X"00",X"60",X"60",X"60",X"E8",X"C0",
- X"10",X"30",X"30",X"30",X"30",X"30",X"10",X"00",X"F0",X"F3",X"FF",X"DF",X"F7",X"D2",X"B4",X"34",
- X"C0",X"E0",X"E0",X"E8",X"E0",X"E0",X"C0",X"80",X"C0",X"C0",X"04",X"00",X"00",X"00",X"00",X"00",
- X"00",X"10",X"10",X"30",X"30",X"70",X"04",X"30",X"C0",X"C0",X"F7",X"F7",X"FF",X"10",X"E0",X"F1",
- X"02",X"12",X"E9",X"F0",X"F5",X"FD",X"D9",X"91",X"00",X"08",X"00",X"00",X"00",X"A8",X"F8",X"E8",
- X"30",X"70",X"F1",X"70",X"70",X"70",X"01",X"00",X"F0",X"FE",X"FF",X"BF",X"7D",X"78",X"F0",X"E0",
- X"D1",X"C0",X"D0",X"E0",X"C1",X"C0",X"80",X"00",X"E0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"10",X"30",X"34",X"00",X"30",X"30",X"70",X"E0",X"F3",X"F7",X"44",X"00",X"E0",
- X"00",X"00",X"00",X"CD",X"F8",X"F0",X"F4",X"F9",X"00",X"00",X"48",X"84",X"08",X"00",X"88",X"88",
- X"70",X"F1",X"F1",X"F1",X"F1",X"D2",X"34",X"30",X"F1",X"FA",X"FC",X"7E",X"FE",X"F0",X"F0",X"E0",
- X"11",X"91",X"B3",X"90",X"B0",X"B0",X"02",X"00",X"B8",X"F8",X"E0",X"C0",X"80",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"01",X"00",X"30",X"70",X"00",X"10",X"30",X"F0",X"51",X"80",X"F0",X"F0",
- X"40",X"E0",X"C0",X"EE",X"FF",X"30",X"73",X"F6",X"00",X"00",X"00",X"02",X"A4",X"C3",X"C0",X"C4",
- X"71",X"F0",X"F1",X"C3",X"34",X"30",X"30",X"00",X"FC",X"FE",X"7E",X"FE",X"F4",X"F0",X"E0",X"40",
- X"B9",X"D1",X"D1",X"D1",X"B0",X"B0",X"24",X"00",X"CC",X"CC",X"FC",X"F0",X"E0",X"80",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"30",X"70",X"F0",X"00",X"00",X"34",X"30",X"00",X"E0",X"F0",X"F8",
- X"00",X"70",X"F0",X"C4",X"FF",X"77",X"30",X"B3",X"00",X"80",X"80",X"00",X"00",X"8B",X"F0",X"C3",
- X"F1",X"D3",X"3D",X"70",X"70",X"30",X"00",X"00",X"FE",X"7E",X"FC",X"FC",X"F0",X"E0",X"00",X"00",
- X"FC",X"B1",X"91",X"91",X"32",X"F0",X"68",X"00",X"C0",X"CC",X"88",X"88",X"E0",X"E0",X"00",X"00",
- X"00",X"00",X"00",X"00",X"30",X"70",X"F0",X"F1",X"00",X"00",X"12",X"10",X"E0",X"F0",X"F8",X"FC",
- X"00",X"00",X"F0",X"F0",X"77",X"33",X"91",X"B0",X"00",X"00",X"C0",X"C0",X"00",X"88",X"CC",X"C3",
- X"1F",X"F1",X"F0",X"70",X"30",X"00",X"00",X"00",X"7E",X"FC",X"F8",X"F0",X"E0",X"10",X"12",X"00",
- X"FF",X"B0",X"91",X"33",X"77",X"F0",X"F0",X"00",X"F0",X"C3",X"CC",X"88",X"00",X"C0",X"C0",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
-begin
-process(clk)
-begin
- if rising_edge(clk) then
- data <= rom_data(to_integer(unsigned(addr)));
- end if;
-end process;
-end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_lpf.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_lpf.vhd
new file mode 100644
index 00000000..a7223d27
--- /dev/null
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_lpf.vhd
@@ -0,0 +1,120 @@
+---------------------------------------------------------------------------------
+-- Implementation of audio LPF filters
+-- derived from Burnin' Rubber / Bump'n'Jump sources
+---------------------------------------------------------------------------------
+--
+-- ----------o------------
+-- u4^ | | |
+-- | --- C4 | | R5 |
+-- | --- | | |
+-- | | C3 | |
+-- --| R1 |----o----||---o------|\ |
+-- ^ | ------> u3 | \__o---
+-- | | | / ^
+-- |uin | | R2 --|/ |
+-- | | | | | uout
+-- | | | |
+-- ------------o--------------o----------
+--
+-- i1 = (sin+u3)/R1
+-- i2 = -u3/R2
+-- i3 = (u4-u3)/R5
+-- i4 = i2-i1-i3
+--
+-- u3(t+dt) = u3(t) + i3(t)*dt/C3;
+-- u4(t+dt) = u4(t) + i4(t)*dt/C4;
+-- uout = u4-u3
+--
+-- (i3(t)*dt/C3)*scale = du3*scale = ((u4-u3)/R5*dt/C3)*scale
+-- (i4(t)*dt/C4)*scale = du4*scale = (-u3/R2 -(uin+u3)/R1 -(u4-u3)/R5)*dt/C4*scale
+
+library ieee;
+use ieee.std_logic_1164.all,
+ ieee.std_logic_1164.all,
+ ieee.std_logic_unsigned.all,
+ ieee.numeric_std.all;
+
+entity lpf is
+port(
+ clock : in std_logic;
+ reset : in std_logic;
+
+ div : in integer;
+ audio_in : in std_logic_vector(9 downto 0);
+
+ gain_in : in integer;
+ r1 : in integer;
+ r2 : in integer;
+ dt_over_c3 : in integer;
+ dt_over_c4 : in integer;
+ r5 : in integer;
+
+ audio_out : out std_logic_vector(15 downto 0)
+);
+end lpf;
+
+architecture rtl of lpf is
+signal clock_div : std_logic_vector(9 downto 0) := (others =>'0');
+signal uin : integer;
+signal u3 : integer;
+signal u4 : integer;
+signal du3 : integer;
+signal du4 : integer;
+signal uout : integer;
+signal uout_ltd : integer;
+
+-- integer scale for fixed point
+constant scale : integer := 8192;
+
+begin
+
+uin <= to_integer(unsigned(audio_in)-256)*gain_in;
+
+process (clock, reset)
+begin
+ if reset = '1' then
+ clock_div <= (others => '0');
+ else
+ if rising_edge(clock) then
+ -- divide main clock for downsampling
+ if clock_div = div-1 then
+ clock_div <= "0000000000";
+ else
+ clock_div <= clock_div + '1';
+ end if;
+
+ if clock_div = "0000000000" then
+ du3 <= scale*dt_over_c3/r5*(u4-u3);
+ du4 <= (scale*dt_over_c4/r2 + scale*dt_over_c4/r1 - scale*dt_over_c4/r5)*u3
+ + scale*dt_over_c4/r5*u4
+ + scale*dt_over_c4/r1*uin;
+ end if;
+
+ if clock_div = "0000000001" then
+ u3 <= u3 + du3/scale;
+ u4 <= u4 - du4/scale;
+ end if;
+
+ if clock_div = "0000000010" then
+ uout <= u4 - u3;
+ end if;
+
+ -- clamp
+ if clock_div = "0000000011" then
+ if uout > 255 then
+ uout_ltd <= 255;
+ elsif uout < -255 then
+ uout_ltd <= -255;
+ else
+ uout_ltd <= uout;
+ end if;
+ end if;
+
+ if clock_div = "0000000100" then
+ audio_out <= std_logic_vector(to_unsigned(uout_ltd+256,9)) & "0000000";
+ end if;
+ end if;
+ end if;
+end process;
+
+end architecture;
diff --git a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_machine.vhd b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_machine.vhd
index 3243e6fb..eb802635 100644
--- a/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_machine.vhd
+++ b/Arcade_MiST/Galaga Hardware/Galaga_MiST/rtl/sound_machine.vhd
@@ -37,24 +37,24 @@ architecture struct of sound_machine is
signal snd_ram_1_we : std_logic;
signal snd_ram_0_do : std_logic_vector(3 downto 0);
signal snd_ram_1_do : std_logic_vector(3 downto 0);
-
+
signal snd_seq_addr : std_logic_vector(7 downto 0);
signal snd_seq_do : std_logic_vector(7 downto 0);
signal snd_samples_addr : std_logic_vector(7 downto 0);
signal snd_samples_do : std_logic_vector(7 downto 0);
-
+
signal sum : std_logic_vector(4 downto 0) := (others => '0');
signal sum_r : std_logic_vector(4 downto 0) := (others => '0');
signal sum_3_rr : std_logic := '0';
-
+
signal samples_ch0 : std_logic_vector(3 downto 0);
signal samples_ch1 : std_logic_vector(3 downto 0);
signal samples_ch2 : std_logic_vector(3 downto 0);
signal volume_ch0 : std_logic_vector(3 downto 0);
signal volume_ch1 : std_logic_vector(3 downto 0);
signal volume_ch2 : std_logic_vector(3 downto 0);
-
+
begin
clock_18n <= not clock_18;
@@ -69,38 +69,39 @@ snd_ram_1_we <= ram_1_we;
sum <= ('0' & snd_ram_0_do) + ('0' & snd_ram_1_do) + ("0000" & sum_r(4));
-process (clock_18, ena)
+process (clock_18)
begin
- if rising_edge(clock_18) and ena = '1' then
- if snd_seq_do(3) = '0' then
- sum_r <= (others => '0');
- sum_3_rr <= '0';
- elsif snd_seq_do(0) = '0' then
- sum_r <= sum;
- sum_3_rr <= sum_r(3);
- end if ;
+ if rising_edge(clock_18) then
+ if ena = '1' then
+ if snd_seq_do(3) = '0' then
+ sum_r <= (others => '0');
+ sum_3_rr <= '0';
+ elsif snd_seq_do(0) = '0' then
+ sum_r <= sum;
+ sum_3_rr <= sum_r(3);
+ end if;
- snd_samples_addr <= snd_ram_0_do(2 downto 0) & sum_r(3 downto 0) & sum_3_rr;
-
- if snd_seq_do(2) = '0' then
- if hcnt(5 downto 2) = X"5" then
- samples_ch0 <= snd_samples_do(3 downto 0);
- volume_ch0 <= snd_ram_1_do;
- end if;
- if hcnt(5 downto 2) = X"A" then
- samples_ch1 <= snd_samples_do(3 downto 0);
- volume_ch1 <= snd_ram_1_do;
- end if;
- if hcnt(5 downto 2) = X"F" then
- samples_ch2 <= snd_samples_do(3 downto 0);
- volume_ch2 <= snd_ram_1_do;
+ snd_samples_addr <= snd_ram_0_do(2 downto 0) & sum_r(3 downto 0) & sum_3_rr;
+
+ if snd_seq_do(2) = '0' then
+ if hcnt(5 downto 2) = X"5" then
+ samples_ch0 <= snd_samples_do(3 downto 0);
+ volume_ch0 <= snd_ram_1_do;
+ end if;
+ if hcnt(5 downto 2) = X"A" then
+ samples_ch1 <= snd_samples_do(3 downto 0);
+ volume_ch1 <= snd_ram_1_do;
+ end if;
+ if hcnt(5 downto 2) = X"F" then
+ samples_ch2 <= snd_samples_do(3 downto 0);
+ volume_ch2 <= snd_ram_1_do;
+ end if;
end if;
+
+ audio <= ("00" & samples_ch0) * volume_ch0 +
+ ("00" & samples_ch1) * volume_ch1 +
+ ("00" & samples_ch2) * volume_ch2;
end if;
-
- audio <= ("00" & samples_ch0) * volume_ch0 +
- ("00" & samples_ch1) * volume_ch1 +
- ("00" & samples_ch2) * volume_ch2;
-
end if;
end process;
diff --git a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv
index 32b41b71..2bac5b6f 100644
--- a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv
+++ b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv
@@ -167,6 +167,7 @@ data_io #(.ROM_DIRECT_UPLOAD(1'b1)) data_io(
.SPI_SS4 ( SPI_SS4 ),
.SPI_DI ( SPI_DI ),
.SPI_DO ( SPI_DO ),
+ .clkref_n ( ~clkref ),
.ioctl_download( ioctl_downl ),
.ioctl_index ( ioctl_index ),
.ioctl_wr ( ioctl_wr ),
diff --git a/Arcade_MiST/IremM62 Hardware/rtl/sdram.sv b/Arcade_MiST/IremM62 Hardware/rtl/sdram.sv
index 71eab1ea..131387da 100644
--- a/Arcade_MiST/IremM62 Hardware/rtl/sdram.sv
+++ b/Arcade_MiST/IremM62 Hardware/rtl/sdram.sv
@@ -166,7 +166,7 @@ assign SDRAM_nWE = sd_cmd[0];
reg [24:1] addr_latch[2];
reg [24:1] addr_latch_next[2];
-reg [17:1] addr_last[2];
+reg [17:1] addr_last[2:1];
reg [19:2] addr_last2[4];
reg [15:0] din_latch[2];
reg [1:0] oe_latch;
diff --git a/Console_MiST/GCE - Vectrex_MiST/vectrex_MiST.qsf b/Console_MiST/GCE - Vectrex_MiST/vectrex_MiST.qsf
index 2f7c7a6f..3478807f 100644
--- a/Console_MiST/GCE - Vectrex_MiST/vectrex_MiST.qsf
+++ b/Console_MiST/GCE - Vectrex_MiST/vectrex_MiST.qsf
@@ -347,18 +347,19 @@ set_global_assignment -name USE_SIGNALTAP_FILE output_files/sdram.stp
set_global_assignment -name SDC_FILE vectrex_MiST.out.sdc
set_global_assignment -name SYSTEMVERILOG_FILE rtl/vectrex_mist.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
+set_global_assignment -name VERILOG_FILE rtl/pll.v
set_global_assignment -name VHDL_FILE rtl/vectrex.vhd
set_global_assignment -name VHDL_FILE rtl/vectrex_exec_prom.vhd
set_global_assignment -name VHDL_FILE rtl/m6522a.vhd
set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd
-set_global_assignment -name VHDL_FILE rtl/cpu09l_128a.vhd
-set_global_assignment -name VERILOG_FILE rtl/pll.v
-set_global_assignment -name VERILOG_FILE rtl/mc6809is.v
-set_global_assignment -name VERILOG_FILE rtl/mc6809.v
set_global_assignment -name VHDL_FILE rtl/sp0256.vhd
set_global_assignment -name VHDL_FILE rtl/sp0256_al2_decoded.vhd
set_global_assignment -name VHDL_FILE rtl/vectrex_speakjet.vhd
-set_global_assignment -name SYSTEMVERILOG_FILE rtl/YM2149.sv
-set_global_assignment -name SIGNALTAP_FILE output_files/sdram.stp
+set_global_assignment -name VERILOG_FILE rtl/mc6809.v
+set_global_assignment -name VHDL_FILE ../../common/Sound/ym2149/YM2149.vhd
+set_global_assignment -name VHDL_FILE ../../common/Sound/ym2149/vol_table_array.vhd
+set_global_assignment -name VERILOG_FILE ../../common/CPU/MC6809/mc6809is.v
+set_global_assignment -name VHDL_FILE ../../common/CPU/MC6809/cpu09l_128a.vhd
set_global_assignment -name QIP_FILE ../../common/mist/mist.qip
+set_global_assignment -name SIGNALTAP_FILE output_files/sdram.stp
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
\ No newline at end of file