diff --git a/Arcade_MiST/Jaleco Exerion/Exerion.qpf b/Arcade_MiST/Jaleco Exerion/Exerion.qpf new file mode 100644 index 00000000..2fcecde6 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/Exerion.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.4 Build 182 03/12/2014 SJ Full Version +# Date created = 16:01:18 November 25, 2020 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.1" +DATE = "16:01:18 November 25, 2020" + +# Revisions + +PROJECT_REVISION = "Exerion" diff --git a/Arcade_MiST/Jaleco Exerion/Exerion.qsf b/Arcade_MiST/Jaleco Exerion/Exerion.qsf new file mode 100644 index 00000000..65eb03e0 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/Exerion.qsf @@ -0,0 +1,265 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2014 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.4 Build 182 03/12/2014 SJ Full Version +# Date created = 04:45:22 November 13, 2022 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# Exerion_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + + +# Project-Wide Assignments +# ======================== +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" +set_global_assignment -name SMART_RECOMPILE ON +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Exerion_MiST.sv +set_global_assignment -name VERILOG_FILE rtl/Exerion_top.v +set_global_assignment -name VERILOG_FILE rtl/ttl_chips.v +set_global_assignment -name VERILOG_FILE rtl/exer_ram.v +set_global_assignment -name VHDL_FILE rtl/rom/exerion_k4.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_i3.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_h10.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_e1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_i8.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_01.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_02.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_03.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_04.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_05.vhd +set_global_assignment -name VHDL_FILE rtl/rom/exerion_06.vhd +set_global_assignment -name VERILOG_FILE rtl/pll.v +set_global_assignment -name VHDL_FILE rtl/dpram_dc.vhd +set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv +set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/CPU/T80/T80.qip" +set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/Sound/JT49/jt49.qip" +set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/mist/mist.qip" + +# Pin & Location Assignments +# ========================== +set_location_assignment PIN_7 -to LED +set_location_assignment PIN_54 -to CLOCK_27 +set_location_assignment PIN_144 -to VGA_R[5] +set_location_assignment PIN_143 -to VGA_R[4] +set_location_assignment PIN_142 -to VGA_R[3] +set_location_assignment PIN_141 -to VGA_R[2] +set_location_assignment PIN_137 -to VGA_R[1] +set_location_assignment PIN_135 -to VGA_R[0] +set_location_assignment PIN_133 -to VGA_B[5] +set_location_assignment PIN_132 -to VGA_B[4] +set_location_assignment PIN_125 -to VGA_B[3] +set_location_assignment PIN_121 -to VGA_B[2] +set_location_assignment PIN_120 -to VGA_B[1] +set_location_assignment PIN_115 -to VGA_B[0] +set_location_assignment PIN_114 -to VGA_G[5] +set_location_assignment PIN_113 -to VGA_G[4] +set_location_assignment PIN_112 -to VGA_G[3] +set_location_assignment PIN_111 -to VGA_G[2] +set_location_assignment PIN_110 -to VGA_G[1] +set_location_assignment PIN_106 -to VGA_G[0] +set_location_assignment PIN_136 -to VGA_VS +set_location_assignment PIN_119 -to VGA_HS +set_location_assignment PIN_65 -to AUDIO_L +set_location_assignment PIN_80 -to AUDIO_R +set_location_assignment PIN_105 -to SPI_DO +set_location_assignment PIN_88 -to SPI_DI +set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 +set_location_assignment PIN_91 -to SPI_SS3 +set_location_assignment PIN_13 -to CONF_DATA0 +set_location_assignment PIN_49 -to SDRAM_A[0] +set_location_assignment PIN_44 -to SDRAM_A[1] +set_location_assignment PIN_42 -to SDRAM_A[2] +set_location_assignment PIN_39 -to SDRAM_A[3] +set_location_assignment PIN_4 -to SDRAM_A[4] +set_location_assignment PIN_6 -to SDRAM_A[5] +set_location_assignment PIN_8 -to SDRAM_A[6] +set_location_assignment PIN_10 -to SDRAM_A[7] +set_location_assignment PIN_11 -to SDRAM_A[8] +set_location_assignment PIN_28 -to SDRAM_A[9] +set_location_assignment PIN_50 -to SDRAM_A[10] +set_location_assignment PIN_30 -to SDRAM_A[11] +set_location_assignment PIN_32 -to SDRAM_A[12] +set_location_assignment PIN_83 -to SDRAM_DQ[0] +set_location_assignment PIN_79 -to SDRAM_DQ[1] +set_location_assignment PIN_77 -to SDRAM_DQ[2] +set_location_assignment PIN_76 -to SDRAM_DQ[3] +set_location_assignment PIN_72 -to SDRAM_DQ[4] +set_location_assignment PIN_71 -to SDRAM_DQ[5] +set_location_assignment PIN_69 -to SDRAM_DQ[6] +set_location_assignment PIN_68 -to SDRAM_DQ[7] +set_location_assignment PIN_86 -to SDRAM_DQ[8] +set_location_assignment PIN_87 -to SDRAM_DQ[9] +set_location_assignment PIN_98 -to SDRAM_DQ[10] +set_location_assignment PIN_99 -to SDRAM_DQ[11] +set_location_assignment PIN_100 -to SDRAM_DQ[12] +set_location_assignment PIN_101 -to SDRAM_DQ[13] +set_location_assignment PIN_103 -to SDRAM_DQ[14] +set_location_assignment PIN_104 -to SDRAM_DQ[15] +set_location_assignment PIN_58 -to SDRAM_BA[0] +set_location_assignment PIN_51 -to SDRAM_BA[1] +set_location_assignment PIN_85 -to SDRAM_DQMH +set_location_assignment PIN_67 -to SDRAM_DQML +set_location_assignment PIN_60 -to SDRAM_nRAS +set_location_assignment PIN_64 -to SDRAM_nCAS +set_location_assignment PIN_66 -to SDRAM_nWE +set_location_assignment PIN_59 -to SDRAM_nCS +set_location_assignment PIN_33 -to SDRAM_CKE +set_location_assignment PIN_43 -to SDRAM_CLK +set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component" + +# Classic Timing Assignments +# ========================== +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON + +# Analysis & Synthesis Assignments +# ================================ +set_global_assignment -name FAMILY "Cyclone III" +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP +set_global_assignment -name TOP_LEVEL_ENTITY Exerion_MiST +set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2005 +set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/CPU/T80/ -tag from_archive +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/Sound/ym2149/ -tag from_archive +set_global_assignment -name SEARCH_PATH Mist_FPGA/common/mist/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/rom/ -tag from_archive +set_global_assignment -name SEARCH_PATH rtl/ttl/ -tag from_archive + +# Fitter Assignments +# ================== +set_global_assignment -name DEVICE EP3C25E144C8 +set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF +set_global_assignment -name ENABLE_NCE_PIN OFF +set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON +set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA ON + +# Assembler Assignments +# ===================== +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF + +# SignalTap II Assignments +# ======================== +set_global_assignment -name ENABLE_SIGNALTAP OFF +set_global_assignment -name USE_SIGNALTAP_FILE output_files/dect.stp + +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" + +# Advanced I/O Timing Assignments +# =============================== +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall + +# --------------------- +# start ENTITY(Exerion) + +# end ENTITY(Exerion) +# ------------------- + +# -------------------------- +# start ENTITY(Exerion_MiST) + + # Pin & Location Assignments + # ========================== + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQ[*] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_A[*] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[0] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[1] + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQMH + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQML + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nRAS + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCAS + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nWE + set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCS + set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] + set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] + + # Fitter Assignments + # ================== + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_A[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQ[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_BA[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQML + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQMH + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nRAS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCAS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nWE + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CKE + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CLK + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_R[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_G[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_B[*] + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_HS + set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_VS + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO + + # start DESIGN_PARTITION(Top) + # --------------------------- + + # Incremental Compilation Assignments + # =================================== + set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top + set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top + set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top + + # end DESIGN_PARTITION(Top) + # ------------------------- + +# end ENTITY(Exerion_MiST) +# ------------------------ +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Jaleco Exerion/Exerion.sdc b/Arcade_MiST/Jaleco Exerion/Exerion.sdc new file mode 100644 index 00000000..ab61c2b5 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/Exerion.sdc @@ -0,0 +1,135 @@ +## Generated SDC file "vectrex_MiST.out.sdc" + +## Copyright (C) 1991-2013 Altera Corporation +## Your use of Altera Corporation's design tools, logic functions +## and other software and tools, and its AMPP partner logic +## functions, and any output files from any of the foregoing +## (including device programming or simulation files), and any +## associated documentation or information are expressly subject +## to the terms and conditions of the Altera Program License +## Subscription Agreement, Altera MegaCore Function License +## Agreement, or other applicable license agreement, including, +## without limitation, that your use is for the sole purpose of +## programming logic devices manufactured by Altera and sold by +## Altera or its authorized distributors. Please refer to the +## applicable agreement for further details. + + +## VENDOR "Altera" +## PROGRAM "Quartus II" +## VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition" + +## DATE "Sun Jun 24 12:53:00 2018" + +## +## DEVICE "EP3C25E144C8" +## + +# Clock constraints + +# Automatically constrain PLL and other generated clocks +derive_pll_clocks -create_base_clocks + +# Automatically calculate clock uncertainty to jitter and other effects. +derive_clock_uncertainty + +# tsu/th constraints + +# tco constraints + +# tpd constraints + +#************************************************************** +# Time Information +#************************************************************** + +set_time_format -unit ns -decimal_places 3 + + + +#************************************************************** +# Create Clock +#************************************************************** + +create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_ports {SPI_SCK}] + +set clock_40 "pll|altpll_component|auto_generated|pll1|clk[0]" +set clock_20 "pll|altpll_component|auto_generated|pll1|clk[1]" +set clock_6 "pll|altpll_component|auto_generated|pll1|clk[2]" +#************************************************************** +# Create Generated Clock +#************************************************************** + + +#************************************************************** +# Set Clock Latency +#************************************************************** + + + +#************************************************************** +# Set Clock Uncertainty +#************************************************************** + +#************************************************************** +# Set Input Delay +#************************************************************** + +set_input_delay -add_delay -clock_fall -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}] + +set_input_delay -clock [get_clocks $clock_40] -reference_pin [get_ports {SDRAM_CLK}] -max 6.6 [get_ports SDRAM_DQ[*]] +set_input_delay -clock [get_clocks $clock_40] -reference_pin [get_ports {SDRAM_CLK}] -min 3.5 [get_ports SDRAM_DQ[*]] + +#************************************************************** +# Set Output Delay +#************************************************************** + +set_output_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DO}] +set_output_delay -clock [get_clocks $clock_40] 1.000 [get_ports {AUDIO_L}] +set_output_delay -clock [get_clocks $clock_40] 1.000 [get_ports {AUDIO_R}] +set_output_delay -clock [get_clocks $clock_40] 1.000 [get_ports {LED}] +set_output_delay -clock [get_clocks $clock_40] 1.000 [get_ports {VGA_*}] + +set_output_delay -clock [get_clocks $clock_40] -reference_pin [get_ports {SDRAM_CLK}] -max 1.5 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] +set_output_delay -clock [get_clocks $clock_40] -reference_pin [get_ports {SDRAM_CLK}] -min -0.8 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] + +#************************************************************** +# Set Clock Groups +#************************************************************** + +set_clock_groups -asynchronous -group [get_clocks {SPI_SCK}] -group [get_clocks {pll|altpll_component|auto_generated|pll1|clk[*]}] + +#************************************************************** +# Set False Path +#************************************************************** + + + +#************************************************************** +# Set Multicycle Path +#************************************************************** + +set_multicycle_path -to {VGA_*[*]} -setup 2 +set_multicycle_path -to {VGA_*[*]} -hold 1 + +#************************************************************** +# Set Maximum Delay +#************************************************************** + + + +#************************************************************** +# Set Minimum Delay +#************************************************************** + + + +#************************************************************** +# Set Input Transition +#************************************************************** + diff --git a/Arcade_MiST/Jaleco Exerion/LICENSE b/Arcade_MiST/Jaleco Exerion/LICENSE new file mode 100644 index 00000000..f288702d --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Arcade_MiST/Jaleco Exerion/README.md b/Arcade_MiST/Jaleco Exerion/README.md new file mode 100644 index 00000000..c157e9db --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/README.md @@ -0,0 +1,7 @@ +# EXERION +KiCAD PCB schematic & FPGA core for the MiSTer platform + +This was my first foray into FPGA programming and it has proven to be a very rewarding process. + +Thank you to the following members of the MiSTer community: misterretrowolf, Sorgelig, Jotego, JimmyStones & Kitrinx + diff --git a/Arcade_MiST/Jaleco Exerion/clean.bat b/Arcade_MiST/Jaleco Exerion/clean.bat new file mode 100644 index 00000000..83fb0c47 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/clean.bat @@ -0,0 +1,15 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +del PLLJ_PLLSPE_INFO.txt +del *.qws +del *.ppf +del *.qip +del *.ddb +pause diff --git a/Arcade_MiST/Jaleco Exerion/meta/exerion.mra b/Arcade_MiST/Jaleco Exerion/meta/exerion.mra new file mode 100644 index 00000000..1137c396 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/meta/exerion.mra @@ -0,0 +1,41 @@ + + Exerion + 0245 + exerion + 202210220604 + 1983 + Jaleco + Shooter + exerion + + + + + + + + + + + + FE + 05 + C9 + C9 + C9 + 00 + 00 + 00 + C9 + C9 + + + + 00 00 00 00 00 FF 00 02 00 02 00 01 00 FF 00 00 + 00 00 65 FF 00 CA 00 00 + 00 00 67 00 00 28 00 00 + + + + + \ No newline at end of file diff --git a/Arcade_MiST/Jaleco Exerion/rtl/Exerion_MiST.sv b/Arcade_MiST/Jaleco Exerion/rtl/Exerion_MiST.sv new file mode 100644 index 00000000..e6b90df2 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/Exerion_MiST.sv @@ -0,0 +1,267 @@ +module Exerion_MiST( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE + +); + +`include "rtl\build_id.v" + +localparam CONF_STR = { + "Exerion;ROM;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Joystick Swap,Off,On;", + "DIP;", + "T0,Reset;", + "V,v1.00.",`BUILD_DATE +}; + +wire [23:0] dip_sw = ~status[31:8]; +wire rotate = status[2]; +wire [1:0] scanlines = status[4:3]; +wire blend = status[5]; +wire joyswap = status[6]; +wire [1:0] orientation = 2'b11; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = ~clock_40; +assign SDRAM_CKE = 1; + + +wire clock_6, clock_20, clock_40, pll_locked; +pll pll( + .inclk0(CLOCK_27), + .c0(clock_40),//39.935064 + .c1(clock_20),//19.967532 + .c2(clock_6),//3.327922 + .locked(pll_locked) + ); + +wire [63:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [11:0] kbjoy; +wire [31:0] joystick_0; +wire [31:0] joystick_1; +wire scandoublerD; +wire ypbpr; +wire no_csync; +wire [15:0] audio_l, audio_r; +wire hs, vs, cs; +wire hb, vb; +wire blankn = ~(hb | vb); +wire [2:0] r, g, b; +wire key_strobe; +wire key_pressed; +wire [7:0] key_code; +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 ( clock_40 ), + .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 ) +); + +reg port1_req, port2_req; +wire [24:0] bg_ioctl_addr = 16'hFFFF; + +wire [14:0] cpu_rom_addr; +wire [15:0] cpu_rom_do; +wire [13:0] spr_rom_addr; +wire [15:0] spr_rom_do; + + +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clock_40 ), + + // port1 used for main + aux CPU + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 16'hffff : cpu_rom_addr[14:1] ), + .cpu1_q ( cpu_rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : {spr_rom_addr[13:1] + 15'h3000} ), + .cpu2_q ( spr_rom_do), + + // port2 for graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( bg_ioctl_addr[23:1] ), + .port2_ds ( {bg_ioctl_addr[0], ~bg_ioctl_addr[0]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( 16'hffff ), + .sp_q ( ) +); + +// ROM download controller +always @(posedge clock_40) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clock_40) begin + reg ioctl_downlD; + ioctl_downlD <= ioctl_downl; + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded; +end + + +Exerion_top Exerion_top_inst( + .clkm_20MHZ(clock_20), + .clkaudio(clock_6), + .RED(r), + .GREEN(g), + .BLUE(b), + .H_SYNC(hs), + .V_SYNC(vs), + .H_BLANK(hb), + .V_BLANK(vb), + .RESET_n(~reset), + .pause(0), + .CONTROLS(~{m_coin1,m_two_players,m_one_player,m_fireB,m_fireA,m_up,m_down,m_left,m_right}), + .DIP1(dip_sw[15:8]&8'h7F), //dip switch #1 - filter out table option + .DIP2(dip_sw[23:16]), + .audio_l(audio_l), + .audio_r(audio_r), + .cpu_rom_addr(cpu_rom_addr), + .cpu_rom_do(cpu_rom_addr[0] ? cpu_rom_do[15:8] : cpu_rom_do[7:0]), + .spr_rom_addr(spr_rom_addr), + .spr_rom_do(spr_rom_addr[0] ? spr_rom_do[15:8] : spr_rom_do[7:0]), + .dn_addr(ioctl_addr), + .dn_data(ioctl_dout), + .dn_wr(ioctl_wr && !ioctl_index) //& rom_downl +); + +mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clock_40 ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? 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 ( 0 ), + .rotate ( { orientation[1], rotate } ), + .blend ( blend ), + .scandoubler_disable( scandoublerD ), + .scanlines ( scanlines ), + .ypbpr ( ypbpr ), + .no_csync ( no_csync ) + ); + +user_io #(.STRLEN(($size(CONF_STR)>>3)))user_io( + .clk_sys (clock_40 ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD), + .ypbpr (ypbpr ), + .no_csync (no_csync ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .status (status ) + ); + +dac #(.C_bits(16))dac_l( + .clk_i(clock_40), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #(.C_bits(16))dac_r( + .clk_i(clock_40), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +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; + +arcade_inputs inputs ( + .clk ( clock_40 ), + .key_strobe ( key_strobe ), + .key_pressed ( key_pressed ), + .key_code ( key_code ), + .joystick_0 ( joystick_0 ), + .joystick_1 ( joystick_1 ), + .rotate ( rotate ), + .orientation ( orientation ), + .joyswap ( joyswap ), + .oneplayer ( 1'b0 ), + .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/Jaleco Exerion/rtl/Exerion_top.v b/Arcade_MiST/Jaleco Exerion/rtl/Exerion_top.v new file mode 100644 index 00000000..22cfad66 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/Exerion_top.v @@ -0,0 +1,1479 @@ +//============================================================================ +// Arcade: Exerion +// +// Manufaturer: Jaleco +// Type: Arcade Game +// Genre: Shooter +// Orientation: Vertical +// +// Hardware Description by Anton Gale +// https://github.com/antongale/EXERION +// +//============================================================================ +`timescale 1ns/1ps + +module Exerion_top( + input clkm_20MHZ, + input clkaudio, + output [2:0] RED, //from fpga core to sv + output [2:0] GREEN, //from fpga core to sv + output [2:0] BLUE, //from fpga core to sv + output H_SYNC, //from fpga core to sv + output V_SYNC, //from fpga core to sv + output H_BLANK, + output V_BLANK, + input RESET_n, //from sv to core, check implementation + input pause, + input [8:0] CONTROLS, + input [7:0] DIP1, + input [7:0] DIP2, + input [24:0] dn_addr, + input dn_wr, + input [7:0] dn_data, + output reg [15:0] audio_l, //from jt49_1 .sound + output reg [15:0] audio_r, //from jt49_2 .sound + output [14:0] cpu_rom_addr, + input [7:0] cpu_rom_do, + output [13:0] spr_rom_addr, + input [7:0] spr_rom_do, + input [15:0] hs_address, + output [7:0] hs_data_out, + input [7:0] hs_data_in, + input hs_write +); + +//pixel counters +reg [8:0] pixH = 9'b000000000; +reg [7:0] pixV = 8'b00000000; +reg [8:0] sppixH = 9'b000000000; +reg [7:0] sppixV = 8'b00000000; + +wire [8:0] rpixelbusH; +wire [7:0] rpixelbusV; + +wire [8:0] pixelbusH; +wire [7:0] pixelbusV; +wire [10:0] vramaddr; +wire RAMA_WR,RAMB_WR; + +wire VID_A,VID_B; //layer selection bits + +wire ZA3,ZA2,ZA1,ZA0; //layer A output (tile) +reg ZB3,ZB2,ZB1,ZB0; //layer B output (sprite) +wire ZC3,ZC2,ZC1,ZC0; //layer C output (background) + +wire U7L_Q3,U7L_Q2,U7L_Q1,U7L_Q0; +wire U8K_1,U8K_2; +wire [7:0] u6k_data; +reg [7:0] u7K_data; +wire [7:0] vramdata0in; +reg [7:0] vramdata0out; +wire [7:0] U6N_VRAM_Q; +wire ic2a_1q; +wire ic2a_2q; +wire ic2b_1q; +wire ic2b_2nq; +wire clk_phase2; + +wire clk1_10MHZ,clk2_6MHZ,clk2_6AMHZ,clk3_3MHZ,clk4_6BMHZ; +wire spclk1_10MHZ,spclk2_6MHZ,spclk3_3MHZ,spclk4_6BMHZ; + +wire PUR = 1'b1; +wire H4CA; +wire U9M_B_nq,U9M_B_q; + +wire SNHI,SSEL; + +wire U9S_Q7,U9S_Q6,U9S_Q5,U9S_Q4,U9S_Q3,U9S_Q2,U9S_Q1,U9S_Q0; +wire U9R_Q7,U9R_Q6,U9R_Q5,U9R_Q4,U9R_Q3,U9R_Q2,U9R_Q1,U9R_Q0; +wire bgU9R_Q7,bgU9R_Q6,bgU9R_Q5,bgU9R_Q4,bgU9R_Q3,bgU9R_Q2,bgU9R_Q1,bgU9R_Q0; + +wire [15:0] Z80A_addrbus; +wire [7:0] Z80A_databus_in; +wire [7:0] Z80A_databus_out; + +wire [15:0] Z80B_addrbus; +wire [7:0] Z80B_databus_in; +wire [7:0] Z80B_databus_out; + +//duplicate clocks for each layer +//tile & main CPU clock +wire U2A_Aq,U2A_Anq,U2A_Aqi; +wire U2A_Bq,U2A_Bnq,U2A_Bqi; +wire U2B_Aq,U2B_Anq,U2B_Aqi; +wire U2B_Bq,U2B_Bnq,U2B_Bqi; + +//background +wire U3A_Aq,U3A_Anq,U3A_Aqi; +wire U3A_Bq,U3A_Bnq,U3A_Bqi; +wire U3B_Aq,U3B_Anq,U3B_Aqi; +wire U3B_Bq,U3B_Bnq,U3B_Bqi; + +//sprites +wire spU2A_Aq,spU2A_Anq,spU2A_Aqi; +wire spU2A_Bq,spU2A_Bnq,spU2A_Bqi; +wire spU2B_Aq,spU2B_Anq,spU2B_Aqi; + +ls107 spU2A_B( + .clear(PUR), + .clk(clkm_20MHZ), + .j(spU2A_Anq|!PUR), + .k(spU2A_Anq|!PUR), + .q(spU2A_Bq), + .qnot(spU2A_Bnq), + .q_immediate(spU2A_Bqi) +); + +ls107 spU2A_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(spU2A_Bq), + .k(PUR), + .q(spU2A_Aq), + .qnot(spU2A_Anq), + .q_immediate(spU2A_Aqi) +); + + +ls107 spU2B_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(PUR), + .k(PUR), + .q(spU2B_Aq), + .qnot(spU2B_Anq), + .q_immediate(spU2B_Aqi) +); + +buf (spclk1_10MHZ,spU2B_Aq); +not (spclk2_6MHZ,spU2A_Aq); +buf (spclk4_6BMHZ,spU2A_Bq); + +ls107 U2A_B( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U2A_Anq|!PUR), + .k(U2A_Anq|!PUR), + .q(U2A_Bq), + .qnot(U2A_Bnq), + .q_immediate(U2A_Bqi) +); + +ls107 U2A_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U2A_Bq), + .k(PUR), + .q(U2A_Aq), + .qnot(U2A_Anq), + .q_immediate(U2A_Aqi) +); + +ls107 U2B_B( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U2A_Aq), + .k(U2A_Aq), + .q(U2B_Bq), + .qnot(U2B_Bnq), + .q_immediate(U2B_Bqi) +); + +ls107 U2B_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(PUR), + .k(PUR), + .q(U2B_Aq), + .qnot(U2B_Anq), + .q_immediate(U2B_Aqi) +); + +buf (clk1_10MHZ,U2B_Aq); +not (clk2_6MHZ,U2A_Aq); +buf (clk3_3MHZ,U2B_Bnq); +buf (clk4_6BMHZ,U2A_Bq); + + +wire Z80_MREQ,Z80_WR,Z80_RD; +wire Z80B_MREQ,Z80B_WR,Z80B_RD; +reg Z80_DO_En; + +wire bgclk_6, bgclk_3; +wire bgclk_6_1,bgclk_6_2; + +not (bgclk_6,U3A_Aq); +buf (bgclk_3,U3B_Bnq); + +//background clocks +ls107 U3A_B( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U3A_Anq|!PUR), + .k(U3A_Anq|!PUR), + .q(U3A_Bq), + .qnot(U3A_Bnq), + .q_immediate(U3A_Bqi) +); + +ls107 U3A_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U3A_Bqi), + .k(PUR), + .q(U3A_Aq), + .qnot(U3A_Anq), + .q_immediate(U3A_Aqi) +); + +ls107 U3B_B( + .clear(PUR), + .clk(clkm_20MHZ), + .j(U3A_Aqi), + .k(U3A_Aqi), + .q(U3B_Bq), + .qnot(U3B_Bnq), + .q_immediate(U3B_Bqi) +); + +ls107 U3B_A( + .clear(PUR), + .clk(clkm_20MHZ), + .j(PUR), + .k(PUR), + .q(U3B_Aq), + .qnot(U3B_Anq), + .q_immediate(U3B_Aqi) +); + +//coin input +wire nCOIN; + + +//coin +ttl_7474 #(.BLOCKS(1), .DELAY_RISE(0), .DELAY_FALL(0)) U1D_A ( + .n_pre(PUR), + .n_clr(PUR), + .d(!m_coin), + .clk(nVDSP), + .q(), + .n_q(nCOIN) +); + +//First Z80 CPU responsible for main game logic, sound, sprites +T80as Z80A( + .RESET_n(RESET_n), + .WAIT_n(wait_n), + .INT_n(PUR), + .BUSRQ_n(PUR), + .NMI_n(PUR&nCOIN), //+1 coin + .CLK_n(clk3_3MHZ), + .MREQ_n(Z80_MREQ), + .DI(Z80A_databus_in), + .DO(Z80A_databus_out), + .A(Z80A_addrbus), + .WR_n(Z80_WR), + .RD_n(Z80_RD) +); + +//Second Z80 CPU responsible for rendering the background graphic layers +T80as Z80B( + .RESET_n(RESET_n), + .WAIT_n(PUR), + .INT_n(PUR), + .BUSRQ_n(PUR), + .NMI_n(PUR), + .CLK_n(bgclk_3), + .MREQ_n(Z80B_MREQ), + .DI(Z80B_databus_in), + .DO(Z80B_databus_out), + .A(Z80B_addrbus), + .WR_n(Z80B_WR), + .RD_n(Z80B_RD) +); + +ls139 U3RA( + .a(Z80A_addrbus[13]), + .b(Z80A_addrbus[14]), + .n_g(Z80A_addrbus[15]), + .y(U3RA_Q) +); + +ls139 U3RB( + .a(Z80A_addrbus[14]), + .b(Z80A_addrbus[15]), + .n_g(Z80_MREQ), + .y(U3RB_Q) +); + + +wire [3:0] U3RA_Q; +wire [3:0] U3RB_Q; +wire Z80_RAM_en = !U3RA_Q[3]; +wire Z80_B1_en = !(U3RA_Q[2] & U3RA_Q[1] & U3RA_Q[0]); + +reg [7:0] rZ80A_databus_in; +reg [7:0] rZ80B_databus_in; + +//joystick inputs from MiSTer framework +wire m_right = CONTROLS[0]; +wire m_left = CONTROLS[1]; +wire m_down = CONTROLS[2]; +wire m_up = CONTROLS[3]; +wire m_shoot = CONTROLS[4]; +wire m_shoot2 = CONTROLS[5]; +wire m_start1p = CONTROLS[6]; +wire m_start2p = CONTROLS[7]; +wire m_coin = CONTROLS[8]; + +//CPU read selection logic +// ******* PRIMARY CPU IC SELECTION LOGIC FOR TILE, SPRITE, SOUND & GAME EXECUTION ******** +always @(posedge clk3_3MHZ) begin +if (Z80_B1_en&!Z80_MREQ) rZ80A_databus_in <= prom_prog1_out; + else if (Z80_RAM_en & !Z80_RD) rZ80A_databus_in <= U4N_Z80A_RAM_out; //Main System RAM + + //reads from AY sound chips + else if (!IOA1 & IOA0) rZ80A_databus_in <= AY_12F_databus_out; + else if (!IOA3 & IOA2) rZ80A_databus_in <= AY_12V_databus_out; + + //if !U7U_1A then the external bi-directional databus buffer is enabled + else if ((Z80A_addrbus[15])&(!Z80_MREQ)) begin //Output of U7U_1A OR GATE + + if (!Z80_RD & !RAMA) rZ80A_databus_in <= U6N_VRAM_Q; //VRAM + else if (!Z80_RD & !RAMB) rZ80A_databus_in <= rSPRITE_databus;//U11SR_SPRAM_Q; + else if (!Z80_RD & !IN1) rZ80A_databus_in <= ({m_start2p,m_start1p,m_shoot2,m_shoot,m_left,m_right,m_down,m_up});//ST2, ST1, FIRB,FIRA,LF, RG, DN, UP + else if (!Z80_RD & !IN2) rZ80A_databus_in <= {DIP1};//DIP SWITCH 1 //LIVES //BONUS LIFE //DIFFICULTY //CABINET + else if (!Z80_RD & !IN3) rZ80A_databus_in <= {1'b0,1'b0,1'b0,1'b0,DIP2[1],DIP2[0],DIP2[2],nVDSP};//DIP SWITCH 2 & VDSP feedback + + end + + +end + +// *************** SECOND CPU IC SELECTION LOGIC FOR BACKGROUND GRAPHICS ***************** +always @(posedge bgclk_3) begin + + rZ80B_databus_in <= (!BG_PROM & !Z80B_MREQ) ? bg_prom_prog2_out: + (!Z80B_RD & !BG_RAM) ? U4V_Z80B_RAM_out: + (!Z80B_RD & !BG_IO2) ? Z80A_IO2: + (!Z80B_RD & !BG_VDSP) ? ({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,nVDSP,SNHI}): + 8'b00000000; +end + +wire wait_n = !pause; +wire nVDSP = V_BLANK; +wire nHDSP = H_BLANK; //vertical & horizontal display + + + +wire SLSE; +wire CDCK, SLD11, SLD10, SLD9, SLD8, SLD7, SLD6, SLD5, SLD4, SLD3, SLD2, SLD1, SLD0; +wire U8E_Q7,U8E_Q6,U8E_Q5; + +//select background graphic timer to pre-load +ls138x U8F( + .nE1(SLSE), //SLSE + .nE2(U7V_q[3]), + .E3(PUR), + .A({U7V_q[2],U7V_q[1],U7V_q[0]}), + .Y({SLD7,SLD6,SLD5,SLD4,SLD3,SLD2,SLD1,SLD0}) +); + +ls138x U8E( + .nE1(SLSE), //SLSE + .nE2(1'b0), + .E3(U7V_q[3]), + .A({U7V_q[2],U7V_q[1],U7V_q[0]}), + .Y({U8E_Q7,U8E_Q6,U8E_Q5,CDCK,SLD11,SLD10,SLD9,SLD8}) +); + +reg [7:0] U3K_Q; //background scene selection +always @(posedge CDCK) U3K_Q<=BGRAM_out; //U3K + +wire [3:0] U4KJ_Q; + +//prom6301_4KJ U4KJ( +// .addr({U3K_Q[3:0],SA3|SB3,SA2|SB2,SA1|SB1,SA0|SB0}), +// .clk(clkm_20MHZ), +// .n_cs(1'b0), +// .q(U4KJ_Q) +//); + +exerion_k4 exerion_k4( + .clk(clkm_20MHZ), + .addr({U3K_Q[3:0],SA3|SB3,SA2|SB2,SA1|SB1,SA0|SB0}), + .data(U4KJ_Q) +); + +wire U4ML_1,U4ML_2; + +top_74ls153 U4ML( + .A(U4KJ_Q[0]), + .B(U4KJ_Q[1]), + .EN_n({u4ML_EN,u4ML_EN}), + .D1_0(SA0), + .D1_1(SA1), + .D1_2(SA2), + .D1_3(SA3), + .D2_0(SB0), + .D2_1(SB1), + .D2_2(SB2), + .D2_3(SB3), + .Y1(U4ML_1), + .Y2(U4ML_2) +); + +//background layer output +//prom6301_3L U3L( +// .addr({U3K_Q[7:4],U4KJ_Q[1:0],U4ML_2,U4ML_1}), +// .clk(clkm_20MHZ), ///clkm_20MHZ +// .n_cs(1'b0), +// .q({ZC3,ZC2,ZC1,ZC0}) +//); + +exerion_i3 exerion_i3( + .clk(clkm_20MHZ), ///clkm_20MHZ + .addr({U3K_Q[7:4],U4KJ_Q[1:0],U4ML_2,U4ML_1}), + .data({ZC3,ZC2,ZC1,ZC0}) +); + +//CPUB (background layer) external I/O chip selects +ls138x U3T( //#(.WIDTH_OUT(8), .DELAY_RISE(0), .DELAY_FALL(0)) + .nE1(1'b0), // + .nE2(1'b0), // + .E3(PUR), // + .A(Z80B_addrbus[15:13]), // + .Y({U3T_Y7,U3T_Y6,BG_VDSP,BG_BUS,BG_IO2,BG_RAM,U3T_Y1,BG_PROM}) +); + +wire [7:0] BGRAM_out; +wire BG_PROM,U3T_Y1,BG_RAM,BG_IO2,BG_BUS,BG_VDSP,U3T_Y6,U3T_Y7; + +//BG Z80B CPU work RAM +m6116_ram U4V_Z80B_RAM( + .data(Z80B_databus_out), + .addr({Z80B_addrbus[10:0]}), + .cen(1'b1), + .clk(clkm_20MHZ), + .nWE(Z80B_WR | BG_RAM), //write to main CPU work RAM + .q(U4V_Z80B_RAM_out) +); + +assign Z80A_databus_in = rZ80A_databus_in; +assign Z80B_databus_in = rZ80B_databus_in; + +//Z80A CPU main program program ROM +//eprom_8 prom_prog1 +//( +// .ADDR(Z80A_addrbus[14:0]),// +// .CLK(clkC_20MHZ),// +// .DATA(prom_prog1_out),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep8_cs_i), +// .WR(dn_wr) +//); + +assign cpu_rom_addr = Z80A_addrbus[14:0]; +assign prom_prog1_out = cpu_rom_do; + +wire [7:0] prom_prog1_out; +wire [7:0] bg_prom_prog2_out; +wire [7:0] U4N_Z80A_RAM_out; +wire [7:0] U4V_Z80B_RAM_out; + +//background layer program ROM +//eprom_6 prom_prog2 +//( +// .ADDR(Z80B_addrbus[12:0]),// +// .CLK(clkC_20MHZ),// +// .DATA(bg_prom_prog2_out),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep6_cs_i), +// .WR(dn_wr) +//); + +exerion_05 exerion_05( + .clk(clkm_20MHZ), + .addr(Z80B_addrbus[12:0]), + .data(bg_prom_prog2_out) +); + +//main CPU (Z80A) work RAM - dual port RAM for hi-score logic +dpram_dc #(.widthad_a(11)) U4N_Z80A_RAM +( + .clock_a(clkm_20MHZ), + .address_a(Z80A_addrbus[10:0]), + .data_a(Z80A_databus_out), + .wren_a(!Z80_WR & !U3RA_Q[3]), + .q_a(U4N_Z80A_RAM_out), + + .clock_b(clkm_20MHZ), + .address_b(hs_address[10:0]), + .data_b(hs_data_in), + .wren_b(hs_write), + .q_b(hs_data_out) +); + +//External Bus Selection Logic #1 for Sprite & Video RAM and IN1 (control panel), IN2(dip switch 1) & IN3 (dip switch 2) +ls138x U3M( + .nE1(1'b0), + .nE2(U3RB_Q[2]), + .E3(PUR), + .A(Z80A_addrbus[13:11]), + .Y({U3M_Q7,IN3,IN2,IN1,U3M_Q3,U3M_Q2,RAMB,RAMA}) +); + +//Address decoder for IO1, IO2 & sound chips +ls138x U3P( + .nE1(1'b0), + .nE2(U3RB_Q[3]), + .E3(PUR), + .A(Z80A_addrbus[13:11]), + .Y({U3P_Q7,U3P_Q6,U3P_Q5,U3P_Q4,U3P_Q3,U3P_Q2,IO2,IO1}) +); + +//sound chip selection logic +assign IOA0 = !(Z80A_addrbus[0]|U3P_Q2); +assign IOA1 = !(Z80A_addrbus[1]|U3P_Q2); +assign IOA2 = !(Z80A_addrbus[0]|U3P_Q3); +assign IOA3 = !(Z80A_addrbus[1]|U3P_Q3); + +assign RAMA_WR = RAMA|Z80_WR; +assign RAMB_WR = RAMB|Z80_WR; + +wire RAMA,RAMB,IN1,IN2,IN3,IO1,IO2,IOA0,IOA1,IOA2,IOA3; +wire U3M_Q2,U3M_Q3,U3M_Q7; +wire U3P_Q2,U3P_Q3,U3P_Q4,U3P_Q5,U3P_Q6,U3P_Q7; + +ls138x U9R( + .nE1(~pixH[8]), + .nE2(~pixH[8]), + .E3(pixH[7]), + .A(pixH[6:4]), + .Y({U9R_Q7,U9R_Q6,U9R_Q5,U9R_Q4,U9R_Q3,U9R_Q2,U9R_Q1,U9R_Q0}) +); + +wire u4ML_EN; + +ttl_7474 #(.BLOCKS(1), .DELAY_RISE(0), .DELAY_FALL(0)) U8T_B( + .n_pre(PUR), + .n_clr(~nVDSP), + .d(PUR), + .clk(SNHI), + .q(), + .n_q(u4ML_EN) +); + +//create SNHI output (Q1) +ls138x U9S( //#(.WIDTH_OUT(8), .DELAY_RISE(0), .DELAY_FALL(0)) + .nE1(~pixH[8]), + .nE2(nVDSP), + .E3(pixH[7]), + .A({1'b0,1'b0,pixH[6]}), + .Y({U9S_Q7,U9S_Q6,U9S_Q5,U9S_Q4,U9S_Q3,U9S_Q2,SNHI,U9S_Q0}) +); + +//VRAM +m6116_ram U6N_VRAM( + .data(Z80A_databus_out), + .addr(vramaddr), + .clk(clkm_20MHZ), + .cen(1'b1), + .nWE(RAMA_WR), + .q(U6N_VRAM_Q) +); + +wire npixH; +assign npixH=~pixH[2]; + + +always @(posedge npixH) vramdata0out<=U6N_VRAM_Q; + +//forground character ROM +//eprom_7 u6k +//( +// .ADDR({char_ROMA12,vramdata0out[7:4],pixelbusV[2:0],vramdata0out[3:0],pixelbusH[2]}),// +// .CLK(clkm_20MHZ),// +// .DATA(u6k_data),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep7_cs_i), +// .WR(dn_wr) +//); + +exerion_06 exerion_06( + .clk(clkm_20MHZ), + .addr({char_ROMA12,vramdata0out[7:4],pixelbusV[2:0],vramdata0out[3:0],pixelbusH[2]}), + .data(u6k_data) +); + +wire npix1; +assign npix1=~pixH[1]; + +ls175 U7L( + .nMR(1'b0), + .clk(npix1), + .D({vramdata0out[7:4]}), + .Q({U7L_Q3,U7L_Q2,U7L_Q1,U7L_Q0}), + .nQ() +); + +always @(posedge npix1) u7K_data <= u6k_data ; + +top_74ls153 U8K( + .A(pixelbusH[0]), + .B(pixelbusH[1]), + .EN_n({1'b0,1'b0}), + .D1_0(u7K_data[0]), + .D1_1(u7K_data[1]), + .D1_2(u7K_data[2]), + .D1_3(u7K_data[3]), + .D2_0(u7K_data[4]), + .D2_1(u7K_data[5]), + .D2_2(u7K_data[6]), + .D2_3(u7K_data[7]), + .Y1(U8K_1), + .Y2(U8K_2) +); + +//forground / text / bullet layer output +//prom6301_L8 UL8( +// .addr({U8L_A7,U8L_A6,U8K_2,U8K_1,U7L_Q3,U7L_Q2,U7L_Q1,U7L_Q0}), +// .clk(clkm_20MHZ), +// .n_cs(1'b0), +// .q({ZA3,ZA2,ZA1,ZA0}) +//); + +exerion_i8 exerion_i8( + .clk(clkm_20MHZ), + .addr({U8L_A7,U8L_A6,U8K_2,U8K_1,U7L_Q3,U7L_Q2,U7L_Q1,U7L_Q0}), + .data({ZA3,ZA2,ZA1,ZA0}) +); + +wire clrR0,clrR1,clrR2; +wire clrG0,clrG1,clrG2; +wire clrB0,clrB1; +wire [3:0] clr_addr; //U2E_Y1,U2E_Y2,U2D_Y1,U2D_Y2; + +//select layer with priority +mux4_4n U2ED( + .EN_n(nHDSP|nVDSP), //nHDSP|nVDSP + .A(VID_B), + .B(VID_A), + .D0({ZC3,ZC2,ZC1,ZC0}), + .D1({ZB3,ZB2,ZB1,ZB0}), + .D2({ZA3,ZA2,ZA1,ZA0}), + .D3({ZA3,ZA2,ZA1,ZA0}), + .Y(clr_addr) +); + +assign VID_A = U8K_1|U8K_2; //tile map layer active (bullets & text) +assign VID_B = ZB3|ZB2|ZB1|ZB0; //sprite layer active + +//colour prom +//prom6331_E1 UE1( +// .addr({VID_A|VID_B,clr_addr}), +// .clk(clkm_20MHZ), +// .n_cs(1'b0), +// .q({clrB1,clrB0,clrG2,clrG1,clrG0,clrR2,clrR1,clrR0}) +//); + +exerion_e1 exerion_e1( + .clk(clkm_20MHZ), + .addr({VID_A|VID_B,clr_addr}), + .data({clrB1,clrB0,clrG2,clrG1,clrG0,clrR2,clrR1,clrR0}) +); + +reg rVGA_HS; +reg rVGA_VS; +wire rSSEL; + +wire r2UP; //flips the screen - removed logic to help with debugging +assign r2UP=1'b0; + +wire [8:0] pixHcntz; +wire [7:0] pixVcntz; + +reg char_ROMA12, U8L_A6, U8L_A7, CD4,CD5; + +always @(posedge IO1) begin +// r2UP<=1'b1; +// //r2UP<=Z80A_databus_out[0]; + U8L_A6<=Z80A_databus_out[1]; + U8L_A7<=Z80A_databus_out[2]; + char_ROMA12<=Z80A_databus_out[3]; + CD4<=Z80A_databus_out[6]; + CD5<=Z80A_databus_out[7]; +end + +reg [7:0] Z80A_IO2; + +always @(posedge IO2) Z80A_IO2 = Z80A_databus_out; + +wire [8:0] sppixHcntz; +wire [7:0] sppixVcntz; +assign sppixHcntz=sppixH+9'd1; +assign sppixVcntz=sppixV+8'd1; +assign pixHcntz=pixH+9'd1; +assign pixVcntz=pixV+8'd1; + +always @(posedge spclk2_6MHZ) begin + + //simplified pixel clock counter. The horizontal counts from 88 to 511, the vertical counts from 0 to 255 + if (sppixH==9'b111111111) + begin + sppixH <= 9'b00101100z; + sppixV <= sppixVcntz;//pixVcnt+1; + end + else sppixH <= sppixHcntz; + +end +reg spnH4CA,spnH8CA; + +always @(posedge clk2_6MHZ) begin + + + //simplified pixel clock counter. The horizontal counts from 88 to 511, the vertical counts from 0 to 255 + if (pixH==9'b111111111) + begin + pixH <= 9'b00101100z; + pixV <= pixVcntz;//pixVcnt+1; + end + else pixH <= pixHcntz; + + rVGA_HS <= !U9R_Q5; //horizontal sync + rVGA_VS <= ((!(&pixV[7:3]))|pixV[2]); //vertical sync + spnH4CA<=~&pixH[4:1]; + spnH8CA<=~&pixH[8:5]; + +end + +assign rSSEL = U9R_Q4|nVDSP; //used to load the per line memory location for the background layer +assign U7V_q = (rSSEL) ? {Z80B_addrbus[3:0]} : {pixH[3:0]}; + +wire [3:0] U7V_q; + +assign vramaddr = (RAMA) ? {rpixelbusV[7:3],rpixelbusH[8:3]} : + {Z80A_addrbus[10:0]}; + +assign rpixelbusH = pixH; +assign rpixelbusV = pixV; + +assign pixelbusH = rpixelbusH; +assign pixelbusV = rpixelbusV; + +/* SPRITE VIB-B BOARD IMPLEMENTATION */ +//The 10Mhz, 6Mhz and offset 6Mhz clocks are used to draw the sprites +//sprite RAM +wire [7:0] U11SR_SPRAM_Q; + +m2114_ram U11SR( + .data(Z80A_databus_out), + .addr({spramaddr_cnt[8:2]}), + .clk(clkm_20MHZ), + .nWE(RAMB_WR | spRAMsel), //U10S_QB + .q(U11SR_SPRAM_Q) +); + + +reg [3:0] U11H_cnt; +reg [3:0] U12H_cnt; + +wire sROM_bitA, sROM_bitB, sROM_A0, sROM_A1; + +assign sROM_bitA = (BIG2) ? U11H_cnt[1]^UDINV2 : U11H_cnt[0]^UDINV2; //10J +assign sROM_bitB = (BIG2) ? U11H_cnt[2]^UDINV2 : U11H_cnt[1]^UDINV2; //10J +assign sROM_A0 = (BIG1) ? U12H_cnt[3]^UDINV1 : U12H_cnt[2]^UDINV1; //12J +assign sROM_A1 = (BIG1) ? UDPNT^UDINV1 : U12H_cnt[3]^UDINV1; //12J + +always @(posedge P3) begin //U12L + CHLF<=rSPRITE_databus[7]; + sROM_A11<=rSPRITE_databus[6]; + sROM_A10<=rSPRITE_databus[5]; + sROM_A9<=CAD9; + CHDN<=rSPRITE_databus[3]; + sROM_A4<=rSPRITE_databus[2]; + sROM_A3<=rSPRITE_databus[1]; + sROM_A2<=rSPRITE_databus[0]; +end + +reg CHLF,sROM_A11,sROM_A10,sROM_A9,CHDN,sROM_A4,sROM_A3,sROM_A2; +wire [7:0] sprom_data; + +//eprom_5 prom_SPRITE +//( +// .ADDR({CHDN,CHLF,sROM_A11,sROM_A10,sROM_A9,sum4,sum3,sum2,sum1,sROM_A4,sROM_A3,sROM_A2,sROM_A1,sROM_A0}),// +// .CLK(clkm_20MHZ),//clkSP_20MHz +// .DATA(sprom_data),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep5_cs_i), +// .WR(dn_wr) +//); + +//sprite sprite( +// .clk(clkm_20MHZ), +// .addr({CHDN,CHLF,sROM_A11,sROM_A10,sROM_A9,sum4,sum3,sum2,sum1,sROM_A4,sROM_A3,sROM_A2,sROM_A1,sROM_A0}), +// .data(sprom_data) +//); + +assign spr_rom_addr = {CHDN,CHLF,sROM_A11,sROM_A10,sROM_A9,sum4,sum3,sum2,sum1,sROM_A4,sROM_A3,sROM_A2,sROM_A1,sROM_A0}; +assign sprom_data = spr_rom_do; + +reg [7:0] U8H_Q; + +always @(negedge U12H_cnt[1]) U8H_Q<=sprom_data; + +wire U11J_1, U11J_2; +top_74ls153 U11J( + .A(sROM_bitA), + .B(sROM_bitB), + .EN_n({ERS,ERS}), + .D1_0(U8H_Q[0]), + .D1_1(U8H_Q[1]), + .D1_2(U8H_Q[2]), + .D1_3(U8H_Q[3]), + .D2_0(U8H_Q[4]), + .D2_1(U8H_Q[5]), + .D2_2(U8H_Q[6]), + .D2_3(U8H_Q[7]), + .Y1(U11J_1), + .Y2(U11J_2) +); + +wire [3:0] U10H_data; + +//prom6301_H10 U10H( +// .addr({CD5,CD4,U11J_2,U11J_1,CD3,CD2,CD1,CD0}), +// .clk(clkm_20MHZ), +// .n_cs(1'b0), +// .q({U10H_data}) +//); + +exerion_h10 exerion_h10( + .clk(clkm_20MHZ), + .addr({CD5,CD4,U11J_2,U11J_1,CD3,CD2,CD1,CD0}), + .data({U10H_data}) +); + +reg [3:0] spbitdata_10; +reg [3:0] spbitdata_11; + +reg U9H_A_nq,U9F_A_q; +wire U9H_d; + +assign U9H_d = U11J_2|U11J_1; + + +always @(posedge spclk1_10MHZ) U9H_A_nq <= ~U9H_d; + +always @(posedge spclk1_10MHZ) begin + spbitdata_11 <= (sppixV[0]) ? 4'b0000 : U10H_data; + spbitdata_10 <= (sppixV[0]) ? U10H_data :4'b0000 ; +end + + +always @(posedge U10nRCO or negedge RAMB or negedge spRAMsel) U9F_A_q <= (!RAMB) ? 1'b1 : (!spRAMsel) ? 1'b0 : spRAMsel; + +reg U9F_B_nq; +always @(posedge spnH4CA or negedge RAMB) begin + U9F_B_nq <= ~((!RAMB) ? 1'b1 : spnH8CA); +end + +wire [3:0] U12R_sum; +wire [3:0] U12S_sum; +wire U12R_cout; + +reg [7:0] rPixelBusV1; + +ttl_74283 #(.WIDTH(4), .DELAY_RISE(0), .DELAY_FALL(0)) U12R( + .a(rSPRITE_databus[3:0]), + .b(sppixV[3:0]), + .c_in(PUR), + .sum(U12R_sum), + .c_out(U12R_cout) +); + +ttl_74283 #(.WIDTH(4), .DELAY_RISE(0), .DELAY_FALL(0)) U12S( + + .a({rSPRITE_databus[7:4]}), + .b({sppixV[7:4]}), + .c_in(U12R_cout), + .sum(U12S_sum), + .c_out() +); + +//sprite control signals +reg U12P_H0,U12P_CA0,U12P_CA1,U12P_Y2,U12P_BIG,U12P_UDPNT,U12P_RLINV,U12P_UDINV; +reg BIG1,UDINV1,sum1,sum2,sum3,sum4,UDPNT; +reg BIG2,UDINV2,ERS,CD3,CD2,CD1,CD0; + +always @(posedge P1) {U12P_UDINV,U12P_RLINV,U12P_UDPNT,U12P_BIG,U12P_Y2,U12P_CA1,U12P_CA0,U12P_H0} <= rSPRITE_databus; //U12P +always @(posedge P3) {sum4,sum3,sum2,sum1,UDPNT,BIG1,UDINV1} <= {U12U_Q[3]^U12P_RLINV,U12U_Q[2]^U12P_RLINV,U12U_Q[1]^U12P_RLINV,U12U_Q[0]^U12P_RLINV,U12P_UDPNT,U12P_BIG,U12P_UDINV}; //U10N +always @(posedge P4) {UDINV2,BIG2,ERS,CD3,CD2,CD1,CD0} <= {U12P_UDINV,U12P_BIG,U11V_ZB,CHDN,CHLF,U12P_CA1,U12P_CA0}; //U10P + +reg [3:0] U12U_Q; +reg [3:0] U12T_Q; + +always @(negedge P2) begin + U12U_Q <= (U12P_BIG) ? {U12S_sum[0],U12R_sum[3],U12R_sum[2],U12R_sum[1]} : U12R_sum; //U12U + U12T_Q <= (U12P_BIG) ? {1'b0,U12S_sum[3],U12S_sum[2],U12S_sum[1]} : U12S_sum; //U12T +end + +reg U11V_ZB,CAD9; + +always @(U12P_Y2,U12T_Q,U12P_RLINV,rSPRITE_databus) {U11V_ZB,CAD9} <= (U12P_Y2) ? {U12T_Q[1]|U12T_Q[2]|U12T_Q[3],U12T_Q[0]^U12P_RLINV} : {U12T_Q[0]|U12T_Q[1]|U12T_Q[2]|U12T_Q[3],rSPRITE_databus[4]}; //U11V + +reg sp10_UD,sp10_nLD,sp10_CK,sp10_WE; +reg sp11_UD,sp11_nLD,sp11_CK,sp11_WE; + +//sprite ram bit selection logic - U11E feeds the _10 bus +always @(negedge clkm_20MHZ) begin + + if (sppixV[0]) + begin + sp10_WE <= (spclk1_10MHZ|U9H_A_nq|U9F_A_q); + sp10_CK <= (spclk1_10MHZ|U9F_B_nq|U9F_A_q); + sp10_nLD <= U10nRCO; + sp11_WE <= spclk2_6MHZ; + sp11_CK <= spclk2_6MHZ; + sp11_nLD <= 1'b1; + + sp10_UD <= 1'b1; //( rpixelbusV[0]) ? 1'b1 : nr2UP; + sp11_UD <= 1'b1; //(!rpixelbusV[0]) ? 1'b1 : nr2UP; + end + else + begin + sp10_WE <= spclk2_6MHZ; + sp10_CK <= spclk2_6MHZ; + sp10_nLD <= 1'b1; + sp11_WE <= (spclk1_10MHZ|U9H_A_nq|U9F_A_q); + sp11_CK <= (spclk1_10MHZ|U9F_B_nq|U9F_A_q); + sp11_nLD <= U10nRCO; + + sp10_UD <= 1'b1; //( rpixelbusV[0]) ? 1'b1 : nr2UP; + sp11_UD <= 1'b1; //(!rpixelbusV[0]) ? 1'b1 : nr2UP; + end +end + + +reg [8:0] spramaddrb_10_cnt; +reg [8:0] spramaddrb_10_up; +//this 'should' mimic the U12A, U12D & D12E counters +always @(posedge sp10_CK) spramaddrb_10_cnt <= spramaddrb_10_up; + +reg [8:0] spramaddrb_11_cnt; +reg [8:0] spramaddrb_11_up; + + +always @(posedge sp11_CK) spramaddrb_11_cnt = spramaddrb_11_up; + +wire [3:0] spram_out_10; +wire [3:0] spram_out_11; + +always @(posedge spclk4_6BMHZ) {ZB3,ZB2,ZB1,ZB0} <= (sppixV[0]) ? {spram_out_11} : {spram_out_10}; //U9A + +always @(negedge spclk1_10MHZ) begin + U10nRCO<=!(spramaddr_cnt[0]&spramaddr_cnt[1]&spramaddr_cnt[2]&spramaddr_cnt[3]); +end + +wire P4,P3,P2,P1; +wire U10U_Q4,U10U_Q5,U10U_Q6,U10U_Q7; + +ls138x U10U( //#(.WIDTH_OUT(8), .DELAY_RISE(0), .DELAY_FALL(0)) + .nE1(spclk1_10MHZ), // + .nE2(spramaddr_cnt[0]), // + .E3(spramaddr_cnt[1]), // + .A({1'b0,spramaddr_cnt[3:2]}), // + .Y({U10U_Q7,U10U_Q6,U10U_Q5,U10U_Q4,P4,P3,P2,P1}) +); + +always @(posedge spclk1_10MHZ) begin + +//U11H - 161 counter that increments on the 10Mhz clock and is reset to 0 by P4, this can be a simple add counter +//U10J - Takes the output of U11H and switches the output based on signal 'BIG2' +//U9JA & D - The outputs of U10J are XORed with control signal 'UDINV2' + + U11H_cnt <= (!P4) ? 4'b0000 : U11H_cnt2; + +//U12H - 161 counter that increments on the 10Mhz clock and is reset to 0 by P3, this can be a simple add counter +//U12J - Takes the output of U12H and UDPNT and switches the output based on signal 'BIG1' +//U9JC & B - The outputs of U12J are XORed with control signal 'UDINV1 ' + + U12H_cnt <= (!P3) ? 4'b0000 : U12H_cnt2; + +//Sprite RAM address selection logic + spRAMbit0 <= (!spRAMsel) ? U12P_H0 : 1'b0; //U10S_QB + spRAMsel <= spramaddr_cnt[9]; + spramaddr_cntz3 <= spramaddr_cntz2; //spramaddr_cntz2; +end + + +reg spRAMbit0; +reg spRAMsel; + +reg [3:0] U11H_cnt2; +reg [3:0] U12H_cnt2; +reg [9:0] spramaddr_cnt; +reg [9:0] spramaddr_cntz2; +reg [9:0] spramaddr_cntz3 ; + +always @(posedge clkm_20MHZ) begin + rSPRITE_databus <= (!spRAMsel) ? ((!RAMB_WR) ? Z80A_databus_out : U11SR_SPRAM_Q) : ({r2UP,1'b0,r2UP,r2UP,1'b0,r2UP,1'b0,1'b0}) ; + U11H_cnt2 <= (!P4) ? 4'b0000 : U11H_cnt+4'd1; + U12H_cnt2 <= (!P3) ? 4'b0000 : U12H_cnt+4'd1; + spramaddr_cntz2 <= spramaddr_cnt+10'b0000000001; + spramaddr_cnt <= (U9F_B_nq) ? 10'b0000000000 : (!RAMB) ? ({1'b0,Z80A_addrbus[6:0],1'b0,1'b0}) : spramaddr_cntz3 ; + + //generate address for fast sprite ram + spaddr_x <= {rSPRITE_databus[7:0],spRAMbit0}; + spramaddrb_10_up <= (!sp10_nLD) ? spaddr_x : + ((sp10_UD) ? spramaddrb_10_cnt + 9'd1 : spramaddrb_10_cnt - 9'd1); + + spramaddrb_11_up <= (!sp11_nLD) ? spaddr_x : + ((sp11_UD) ? spramaddrb_11_cnt + 9'd1 : spramaddrb_11_cnt - 9'd1); + + +end + +reg [8:0] spaddr_x; + +wire U10RCO; +reg U10nRCO=1'b1; +reg [7:0] rSPRITE_databus; + +// *************** SOUND CHIPS ***************** +wire U1D_B_nq,U1D_B_q; +wire [7:0] AY_12V_ioa_in; +wire [7:0] AY_12V_ioa_out; +wire [7:0] AY_12V_iob_in; +wire [7:0] AY_12V_iob_out; + +wire [7:0] AY_12F_databus_out; +wire [7:0] AY_12V_databus_out; + + +ttl_7474 #(.BLOCKS(1), .DELAY_RISE(0), .DELAY_FALL(0)) U1D_B( + .n_pre(PUR), + .n_clr(PUR), + .d(U1D_B_nq), + .clk(clk3_3MHZ), + .q(U1D_B_q), + .n_q(U1D_B_nq) +); + +wire [9:0] pre_sndl; +wire [9:0] pre_sndr; +wire [7:0] ay12F_araw, ay12F_braw, ay12F_craw; +wire [7:0] ay12V_araw, ay12V_braw, ay12V_craw; +wire signed [15:0] ay12F_adcrm, ay12F_bdcrm, ay12F_cdcrm; +wire signed [15:0] ay12V_adcrm, ay12V_bdcrm, ay12V_cdcrm; +wire AY12F_sample,AY12V_sample; +wire [9:0] sound_outF; +wire [9:0] sound_outV; + +always @(posedge clkaudio) begin + audio_l <= ({1'd0, sound_outF, 5'd0}); + audio_r <= ({1'd0, sound_outV, 5'd0}); +end + +jt49_bus AY_12F( + .rst_n(RESET_n), + .clk(clkaudio), // signal on positive edge //U1D_B_q + .clk_en(1), /* synthesis direct_enable = 1 */ + + .bdir(IOA1), // bus control pins of original chip + .bc1(IOA0), + .din(Z80A_databus_out), + .sel(1'b0), // if sel is low, the clock is divided by 2 + .dout(AY_12F_databus_out), + + .sound(sound_outF), // combined channel output + .A(ay12F_araw), // linearised channel output + .B(ay12F_braw), + .C(ay12F_craw), + .sample(AY12F_sample) +); + +jt49_bus AY_12V( + .rst_n(RESET_n), + .clk(clkaudio), // signal on positive edge + .clk_en(1), /* synthesis direct_enable = 1 */ + + .bdir(IOA3), // bus control pins of original chip + .bc1(IOA2), + .din(Z80A_databus_out), + .sel(1'b0), // if sel is low, the clock is divided by 2 + .dout(AY_12V_databus_out), + + .sound(sound_outV), // combined channel output + .A(ay12V_araw), // linearised channel output + .B(ay12V_braw), + .C(ay12V_craw), + .sample(AY12V_sample), + + .IOA_in(AY_12V_ioa_in), //IO to ICX security chip + .IOA_out(AY_12V_ioa_out), + + .IOB_in(AY_12V_iob_in), + .IOB_out(AY_12V_iob_out) +); + +reg [7:0] tmrmask ;//= 8'b00000000; +reg [2:0] tmrcounter; +reg [2:0] tmrcnt2; +reg [7:0] zAY_12V_iob_out; +reg [7:0] outercounter; + +always @(posedge U1D_B_q) begin + + tmrcounter <= tmrcounter +3'd1; + if (tmrcounter==0) tmrmask <= AY_12V_iob_out^8'h40; + tmrmask<=tmrmask^8'h40; + +end + +assign AY_12V_iob_in = (tmrcounter==3'b111) ? AY_12V_iob_out : 8'd0; +assign AY_12V_ioa_in = tmrmask;//AY_12V_iob_out^8'h40; // tmrmask;//AY_12V_ioa_out^8'h40; //8'hBE^ tmrmask;// + + +//************************* BACKGROUND LAYER SECTIONS ************************ +wire [7:0] bg_gfx4B_out; +wire [7:0] bg_gfx4D_out; +wire [7:0] bg_gfx4E_out; +wire [7:0] bg_gfx4H_out; + +//------------------------------------------------- MiSTer data write selector -------------------------------------------------// +//Instantiate MiSTer data write selector to generate write enables for loading ROMs into the FPGA's BRAM +//wire ep1_cs_i, ep2_cs_i, ep3_cs_i, ep4_cs_i, ep5_cs_i, ep6_cs_i, ep7_cs_i, ep8_cs_i; + +//selector DLSEL +//( +// .ioctl_addr(dn_addr), +// .ep1_cs(ep1_cs_i), +// .ep2_cs(ep2_cs_i), +// .ep3_cs(ep3_cs_i), +// .ep4_cs(ep4_cs_i), +// .ep5_cs(ep5_cs_i), +// .ep6_cs(ep6_cs_i), +// .ep7_cs(ep7_cs_i), +// .ep8_cs(ep8_cs_i) +//); + +//eprom_1 bg_gfx4B +//( +// .ADDR({BG4BaddrH[7:0],BG4BaddrL[6:2]}),// +// .CLK(clkm_20MHZ), // +// .CEN(BG4BaddrL[7]), +// .DATA(bg_gfx4B_out), // +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ), // +// .DATA_IN(dn_data), +// .CS_DL(ep1_cs_i), +// .WR(dn_wr) +//); + +exerion_01 exerion_01( + .clk(clkm_20MHZ), + .addr({BG4BaddrH[7:0],BG4BaddrL[6:2]}), + .data(bg_gfx4B_out) +); + +//eprom_2 bg_gfx4D +//( +// .ADDR({BG4DaddrH[7:0],BG4DaddrL[6:2]}),// +// .CLK(clkm_20MHZ),// +// .CEN(BG4DaddrL[7]), +// .DATA(bg_gfx4D_out),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep2_cs_i), +// .WR(dn_wr) +//); + +exerion_02 exerion_02( + .clk(clkm_20MHZ), + .addr({BG4DaddrH[7:0],BG4DaddrL[6:2]}), + .data(bg_gfx4D_out) +); + +//eprom_3 bg_gfx4E +//( +// .ADDR({BG4EaddrH[7:0],BG4EaddrL[6:2]}),// +// .CLK(clkm_20MHZ),// +// .CEN(BG4EaddrL[7]), //!BG4EaddrL[7] +// .DATA(bg_gfx4E_out),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep3_cs_i), +// .WR(dn_wr) +//); + +exerion_03 exerion_03( + .clk(clkm_20MHZ), + .addr({BG4EaddrH[7:0],BG4EaddrL[6:2]}), + .data(bg_gfx4E_out) +); + +//eprom_4 bg_gfx4H +//( +// .ADDR({BG4HaddrH[7:0],BG4HaddrL[6:2]}),// +// .CLK(clkm_20MHZ),// +// .CEN(BG4HaddrL[7]), // +// .DATA(bg_gfx4H_out),// +// .ADDR_DL(dn_addr), +// .CLK_DL(clkm_20MHZ),// +// .DATA_IN(dn_data), +// .CS_DL(ep4_cs_i), +// .WR(dn_wr) +//); + +exerion_04 exerion_04( + .clk(clkm_20MHZ), + .addr({BG4HaddrH[7:0],BG4HaddrL[6:2]}), + .data(bg_gfx4H_out) +); + + + +reg [7:0] U5B_out,U5D_out,U5E_out,U5H_out; + +reg U7A_Bnq,U7A_Aq; + +wire L4B_clk1,L4B_clk2; +wire L4D_clk1,L4D_clk2; +wire L4E_clk1,L4E_clk2; +wire L4H_clk1,L4H_clk2; + +wire nr2UP; +not (nr2UP,r2UP); + +assign L4B_clk1 = (nr2UP^BG4BaddrL[4]); +assign L4B_clk2 = (nr2UP^BG4BaddrL[1]); +assign L4D_clk1 = (nr2UP^BG4DaddrL[4]); +assign L4D_clk2 = (nr2UP^BG4DaddrL[1]); +assign L4E_clk1 = (nr2UP^BG4EaddrL[4]); +assign L4E_clk2 = (nr2UP^BG4EaddrL[1]); +assign L4H_clk1 = (nr2UP^BG4HaddrL[4]); +assign L4H_clk2 = (nr2UP^BG4HaddrL[1]); + +always @(posedge L4B_clk2) U5B_out<=bg_gfx4B_out; +always @(posedge L4D_clk2) U5D_out<=bg_gfx4D_out; +always @(posedge L4E_clk2) U5E_out<=bg_gfx4E_out; +always @(posedge L4H_clk2) U5H_out<=bg_gfx4H_out; + +wire U6A_QA,U6A_QB,U6A_QC,U6A_QD; +wire U8A_QA,U8A_QB,U8A_QC,U8A_QD; + +reg [4:0] store_L8, store_L9, store_L10, store_L11; +reg [4:0] store_H8, store_H9, store_H10, store_H11; +reg SLD8os,SLD9os,SLD10os,SLD11os; +reg SLD8os_clr,SLD9os_clr,SLD10os_clr,SLD11os_clr; +reg [4:0] counterL8, counterL9, counterL10, counterL11; +reg [4:0] counterU8, counterU9, counterU10, counterU11; +reg zL4B_clk2,zL4D_clk2,zL4E_clk2,zL4H_clk2; + + +assign SLSE = bgclk_6|rSSEL; + +always @(negedge SLD8) begin + store_L8 <= ({1'b0,BGRAM_out[3:0]}); + store_H8 <= ({1'b0,BGRAM_out[7:4]}); +end + +always @(negedge SLD9) begin + store_L9 <= ({1'b0,BGRAM_out[3:0]}); + store_H9 <= ({1'b0,BGRAM_out[7:4]}); +end + +always @(negedge SLD10) begin + store_L10 <= ({1'b0,BGRAM_out[3:0]}); + store_H10 <= ({1'b0,BGRAM_out[7:4]}); +end + +always @(negedge SLD11) begin + store_L11 <= ({1'b0,BGRAM_out[3:0]}); + store_H11 <= ({1'b0,BGRAM_out[7:4]}); +end + +always @(posedge clkm_20MHZ) begin + + BG4BaddrLD <= (!SLD0) ? BGRAM_out : (!rSSEL) ? BG4BaddrL : BG4BaddrLz; + BG4DaddrLD <= (!SLD2) ? BGRAM_out : (!rSSEL) ? BG4DaddrL : BG4DaddrLz; + BG4EaddrLD <= (!SLD4) ? BGRAM_out : (!rSSEL) ? BG4EaddrL : BG4EaddrLz; + BG4HaddrLD <= (!SLD6) ? BGRAM_out : (!rSSEL) ? BG4HaddrL : BG4HaddrLz; + + //display 'slice' of background bitmap #1 + ena_4B_1 <= (&counterL8[3:0] )|counterL8[4]; + dis_4B_1 <= (&counterU8[3:0] )|counterU8[4]; + if (L4B_clk2&!zL4B_clk2) ena_4B<=!(ena_4B_1^dis_4B_1); + SLD8os <= (!SLD8|SLD8os)&!SLD8os_clr; + + //display 'slice' of background bitmap #2 + ena_4D_1 <= (&counterL9[3:0])|counterL9[4]; + dis_4D_1 <= (&counterU9[3:0])|counterU9[4]; + if (L4D_clk2&!zL4D_clk2) ena_4D<=!(ena_4D_1^dis_4D_1); + SLD9os <= (!SLD9|SLD9os)&!SLD9os_clr; + + //display 'slice' of background bitmap #3 + ena_4E_1 <= (&counterL10[3:0])|counterL10[4]; + dis_4E_1 <= (&counterU10[3:0])|counterU10[4]; + if (L4E_clk2&!zL4E_clk2) ena_4E<=!(ena_4E_1^dis_4E_1); + SLD10os <= (!SLD10|SLD10os)&!SLD10os_clr; + + //display 'slice' of background bitmap #4 + ena_4H_1 <= (&counterL11[3:0])|counterL11[4]; + dis_4H_1 <= (&counterU11[3:0])|counterU11[4]; + if (L4H_clk2&!zL4H_clk2) ena_4H<=!(ena_4H_1^dis_4H_1); + SLD11os <= (!SLD11|SLD11os)&!SLD11os_clr; + + zL4B_clk2<=L4B_clk2; + zL4D_clk2<=L4D_clk2; + zL4E_clk2<=L4E_clk2; + zL4H_clk2<=L4H_clk2; + + +end + +always @(posedge L4B_clk1) begin + counterL8 <= (SLD8os) ? store_L8 : counterL8+5'd1; + counterU8 <= (SLD8os) ? store_H8 : counterU8+5'd1; + SLD8os_clr<=SLD8os; //clear one shot +end + +always @(posedge L4D_clk1) begin + counterL9 <= (SLD9os) ? store_L9 : counterL9+5'd1; + counterU9 <= (SLD9os) ? store_H9 : counterU9+5'd1; + SLD9os_clr<=SLD9os; +end + +always @(posedge L4E_clk1) begin + counterL10 <= (SLD10os) ? store_L10 : counterL10+5'd1; + counterU10 <= (SLD10os) ? store_H10 : counterU10+5'd1; + SLD10os_clr<=SLD10os; +end + +always @(posedge L4H_clk1) begin + counterL11 <= (SLD11os) ? store_L11 : counterL11+5'd1; + counterU11 <= (SLD11os) ? store_H11 : counterU11+5'd1; + SLD11os_clr<=SLD11os; +end + +reg ena_4B,ena_4D,ena_4E,ena_4H; +reg dis_4B,dis_4D,dis_4E,dis_4H; +reg ena_4B_1,ena_4D_1,ena_4E_1,ena_4H_1; +reg dis_4B_1,dis_4D_1,dis_4E_1,dis_4H_1; +wire SA0,SA1,SA2,SA3; +wire SB0,SB1,SB2,SB3; + +mux4_2n U5A( + .EN_n(ena_4B), + .A(BG4BaddrL[0]), + .B(BG4BaddrL[1]), + .D0({U5B_out[0],U5B_out[4]}), + .D1({U5B_out[1],U5B_out[5]}), + .D2({U5B_out[2],U5B_out[6]}), + .D3({U5B_out[3],U5B_out[7]}), + .Y({SA0,SB0}) +); + +mux4_2n U5C( + .EN_n(ena_4D), + .A(BG4DaddrL[0]), + .B(BG4DaddrL[1]), + .D0({U5D_out[0],U5D_out[4]}), + .D1({U5D_out[1],U5D_out[5]}), + .D2({U5D_out[2],U5D_out[6]}), + .D3({U5D_out[3],U5D_out[7]}), + .Y({SA1,SB1}) +); + +mux4_2n U5F( + .EN_n(ena_4E), + .A(BG4EaddrL[0]), + .B(BG4EaddrL[1]), + .D0({U5E_out[0],U5E_out[4]}), + .D1({U5E_out[1],U5E_out[5]}), + .D2({U5E_out[2],U5E_out[6]}), + .D3({U5E_out[3],U5E_out[7]}), + .Y({SA2,SB2}) +); + +mux4_2n U5J( + .EN_n(ena_4H), + .A(BG4HaddrL[0]), + .B(BG4HaddrL[1]), + .D0({U5H_out[0],U5H_out[4]}), + .D1({U5H_out[1],U5H_out[5]}), + .D2({U5H_out[2],U5H_out[6]}), + .D3({U5H_out[3],U5H_out[7]}), + .Y({SA3,SB3}) +); + +reg [7:0] BG4BaddrL,BG4BaddrH,BG4DaddrL,BG4DaddrH,BG4EaddrL,BG4EaddrH,BG4HaddrL,BG4HaddrH; +reg [7:0] BG4BaddrLD,BG4DaddrLD,BG4EaddrLD,BG4HaddrLD; +reg [7:0] BG4BaddrLz,BG4DaddrLz,BG4EaddrLz,BG4HaddrLz; + +always @(negedge SLD1) BG4BaddrH <= BGRAM_out; +always @(negedge SLD3) BG4DaddrH <= BGRAM_out; +always @(negedge SLD5) BG4EaddrH <= BGRAM_out; +always @(negedge SLD7) BG4HaddrH <= BGRAM_out; + +always @(posedge bgclk_6) begin + BG4BaddrL<=BG4BaddrLD; + BG4DaddrL<=BG4DaddrLD; + BG4EaddrL<=BG4EaddrLD; + BG4HaddrL<=BG4HaddrLD; +end + +always @(negedge bgclk_6) begin + BG4BaddrLz<=BG4BaddrL+8'd1; + BG4DaddrLz<=BG4DaddrL+8'd1; + BG4EaddrLz<=BG4EaddrL+8'd1; + BG4HaddrLz<=BG4HaddrL+8'd1; +end + + +ls89_ram_x2 U6UT_BG_RAM( + .data(Z80B_databus_out), + .addr(U7V_q), + .clk(clkm_20MHZ), + .nWE(Z80B_WR | BG_BUS), //write background scratch ram + .q(BGRAM_out) +); + +//sprite alternating line buffers +m2511_ram_4 sprites_10( + .data(spbitdata_10), + .clk(clkm_20MHZ), + .addr({spramaddrb_10_cnt[8:0]}), + .nWE(sp10_WE), + .q(spram_out_10) +); + +m2511_ram_4 sprites_11( + .data(spbitdata_11), + .clk(clkm_20MHZ), + .addr({spramaddrb_11_cnt[8:0]}), + .nWE(sp11_WE), + .q(spram_out_11) +); + +// ****** FINAL 7-BIT ANALOGUE OUTPUT ******* +assign BLUE = {clrB1,clrB0,1'b0}; //rBLUE; +assign RED = {clrR2,clrR1,clrR0}; //rRED; +assign GREEN = {clrG2,clrG1,clrG0}; //rGREEN; +assign H_SYNC = rVGA_HS; +assign V_SYNC = rVGA_VS; +assign H_BLANK = pixH<96 || pixH>432; +assign V_BLANK = pixV>240 || pixV<16; + +endmodule diff --git a/Arcade_MiST/Jaleco Exerion/rtl/build_id.tcl b/Arcade_MiST/Jaleco Exerion/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Jaleco Exerion/rtl/dpram_dc.vhd b/Arcade_MiST/Jaleco Exerion/rtl/dpram_dc.vhd new file mode 100644 index 00000000..69d4c5fb --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/dpram_dc.vhd @@ -0,0 +1,136 @@ +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY dpram_dc IS + GENERIC + ( + init_file : string := " "; + widthad_a : natural; + width_a : natural := 8; + outdata_reg_a : string := "UNREGISTERED"; + outdata_reg_b : string := "UNREGISTERED" + ); + PORT + ( + address_a : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); + address_b : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0) := (others => '0'); + clock_a : IN STD_LOGIC ; + clock_b : IN STD_LOGIC ; + data_a : IN STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) := (others => '0'); + data_b : IN STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) := (others => '0'); + wren_a : IN STD_LOGIC := '0'; + wren_b : IN STD_LOGIC := '0'; + byteena_a : IN STD_LOGIC_VECTOR (width_a/8-1 DOWNTO 0) := (others => '1'); + byteena_b : IN STD_LOGIC_VECTOR (width_a/8-1 DOWNTO 0) := (others => '1'); + q_a : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + q_b : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) + ); +END dpram_dc; + + +ARCHITECTURE SYN OF dpram_dc IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + + + + COMPONENT altsyncram + GENERIC ( + address_reg_b : STRING; + clock_enable_input_a : STRING; + clock_enable_input_b : STRING; + clock_enable_output_a : STRING; + clock_enable_output_b : STRING; + indata_reg_b : STRING; + init_file : STRING; + intended_device_family : STRING; + lpm_type : STRING; + numwords_a : NATURAL; + numwords_b : NATURAL; + operation_mode : STRING; + outdata_aclr_a : STRING; + outdata_aclr_b : STRING; + outdata_reg_a : STRING; + outdata_reg_b : STRING; + power_up_uninitialized : STRING; + read_during_write_mode_port_a : STRING; + read_during_write_mode_port_b : STRING; + widthad_a : NATURAL; + widthad_b : NATURAL; + width_a : NATURAL; + width_b : NATURAL; + width_byteena_a : NATURAL; + width_byteena_b : NATURAL; + wrcontrol_wraddress_reg_b : STRING + ); + PORT ( + wren_a : IN STD_LOGIC ; + clock0 : IN STD_LOGIC ; + wren_b : IN STD_LOGIC ; + clock1 : IN STD_LOGIC ; + address_a : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); + address_b : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); + q_a : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + q_b : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + byteena_a : IN STD_LOGIC_VECTOR (width_a/8-1 DOWNTO 0) ; + byteena_b : IN STD_LOGIC_VECTOR (width_a/8-1 DOWNTO 0) ; + data_a : IN STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); + data_b : IN STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) + ); + END COMPONENT; + +BEGIN + q_a <= sub_wire0(width_a-1 DOWNTO 0); + q_b <= sub_wire1(width_a-1 DOWNTO 0); + + altsyncram_component : altsyncram + GENERIC MAP ( + address_reg_b => "CLOCK1", + clock_enable_input_a => "BYPASS", + clock_enable_input_b => "BYPASS", + clock_enable_output_a => "BYPASS", + clock_enable_output_b => "BYPASS", + indata_reg_b => "CLOCK1", + init_file => init_file, + intended_device_family => "Cyclone III", + lpm_type => "altsyncram", + numwords_a => 2**widthad_a, + numwords_b => 2**widthad_a, + operation_mode => "BIDIR_DUAL_PORT", + outdata_aclr_a => "NONE", + outdata_aclr_b => "NONE", + outdata_reg_a => outdata_reg_a, + outdata_reg_b => outdata_reg_a, + 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 => widthad_a, + widthad_b => widthad_a, + width_a => width_a, + width_b => width_a, + width_byteena_a => width_a/8, + width_byteena_b => width_a/8, + wrcontrol_wraddress_reg_b => "CLOCK1" + ) + PORT MAP ( + wren_a => wren_a, + clock0 => clock_a, + wren_b => wren_b, + clock1 => clock_b, + address_a => address_a, + address_b => address_b, + data_a => data_a, + data_b => data_b, + q_a => sub_wire0, + q_b => sub_wire1, + byteena_a => byteena_a, + byteena_b => byteena_b + ); + + + +END SYN; diff --git a/Arcade_MiST/Jaleco Exerion/rtl/exer_ram.v b/Arcade_MiST/Jaleco Exerion/rtl/exer_ram.v new file mode 100644 index 00000000..668f6d84 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/exer_ram.v @@ -0,0 +1,97 @@ +//adapted from MWR ram2114 module +module m6116_ram( + input[7:0] data, + input clk, + input cen, + input[10:0] addr, + input nWE, + output reg [7:0] q +); + reg[7:0] ram[2047:0]; + reg[10:0] addr_reg; + + always @ (posedge clk) + begin + if (!nWE && cen) ram[addr] <= data; + if (cen) q <=ram[addr]; + end + +endmodule + +module m6116_ramDP( + input[7:0] data, + input[7:0] data_b, + input clk, + input cen, + input[10:0] addr, + input[10:0] addr_b, + input nWE,nWE_b, + output reg [7:0] q,q_b +); + reg[7:0] ram[2047:0]; + reg[10:0] addr_reg; + + always @ (posedge clk) + begin + if (!nWE && cen) ram[addr] <= data; + if (cen) q <=ram[addr]; + end + + always @ (posedge clk) + begin + if (!nWE_b && cen) ram[addr_b] <= data_b; + if (cen) q_b <=ram[addr_b]; + end + +endmodule + +module m2114_ram( + input[7:0] data, + input clk, + input[6:0] addr, + input nWE, + output reg [7:0] q +); + reg[7:0] ram[127:0]; + reg[6:0] addr_reg; + + always @ (posedge clk) + begin + if (!nWE) ram[addr] <= data; + q <=ram[addr]; + end +endmodule + +module m2511_ram_4( + input[3:0] data, + input clk, + input[8:0] addr, + input nWE, + output reg [3:0] q +); + reg[3:0] ram[511:0]; + reg[8:0] addr_reg; + + always @ (posedge clk) + begin + if (!nWE) ram[addr] <= data; + if (nWE) q <=ram[addr]; + end +endmodule + +module ls89_ram_x2( + input[7:0] data, + input clk, + input[3:0] addr, + input nWE, + output reg [7:0] q +); + reg[7:0] ram[15:0]; + reg[3:0] addr_reg; + + always @ (posedge clk) + begin + if (!nWE) ram[addr] <= data; + q <= ram[addr]; + end +endmodule diff --git a/Arcade_MiST/Jaleco Exerion/rtl/pll.qip b/Arcade_MiST/Jaleco Exerion/rtl/pll.qip new file mode 100644 index 00000000..afd958be --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/pll.qip @@ -0,0 +1,4 @@ +set_global_assignment -name IP_TOOL_NAME "ALTPLL" +set_global_assignment -name IP_TOOL_VERSION "13.1" +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "pll.v"] +set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.ppf"] diff --git a/Arcade_MiST/Jaleco Exerion/rtl/pll.v b/Arcade_MiST/Jaleco Exerion/rtl/pll.v new file mode 100644 index 00000000..d71d835a --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/pll.v @@ -0,0 +1,376 @@ +// megafunction wizard: %ALTPLL% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altpll + +// ============================================================ +// File Name: pll.v +// Megafunction Name(s): +// altpll +// +// Simulation Library Files(s): +// altera_mf +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 13.1.4 Build 182 03/12/2014 SJ Full Version +// ************************************************************ + + +//Copyright (C) 1991-2014 Altera Corporation +//Your use of Altera Corporation's design tools, logic functions +//and other software and tools, and its AMPP partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Altera Program License +//Subscription Agreement, Altera MegaCore Function License +//Agreement, or other applicable license agreement, including, +//without limitation, that your use is for the sole purpose of +//programming logic devices manufactured by Altera and sold by +//Altera or its authorized distributors. Please refer to the +//applicable agreement for further details. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module pll ( + areset, + inclk0, + c0, + c1, + c2, + locked); + + input areset; + input inclk0; + output c0; + output c1; + output c2; + output locked; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_off +`endif + tri0 areset; +`ifndef ALTERA_RESERVED_QIS +// synopsys translate_on +`endif + + wire [4:0] sub_wire0; + wire sub_wire2; + wire [0:0] sub_wire7 = 1'h0; + wire [2:2] sub_wire4 = sub_wire0[2:2]; + wire [0:0] sub_wire3 = sub_wire0[0:0]; + wire [1:1] sub_wire1 = sub_wire0[1:1]; + wire c1 = sub_wire1; + wire locked = sub_wire2; + wire c0 = sub_wire3; + wire c2 = sub_wire4; + wire sub_wire5 = inclk0; + wire [1:0] sub_wire6 = {sub_wire7, sub_wire5}; + + altpll altpll_component ( + .areset (areset), + .inclk (sub_wire6), + .clk (sub_wire0), + .locked (sub_wire2), + .activeclock (), + .clkbad (), + .clkena ({6{1'b1}}), + .clkloss (), + .clkswitch (1'b0), + .configupdate (1'b0), + .enable0 (), + .enable1 (), + .extclk (), + .extclkena ({4{1'b1}}), + .fbin (1'b1), + .fbmimicbidir (), + .fbout (), + .fref (), + .icdrclk (), + .pfdena (1'b1), + .phasecounterselect ({4{1'b1}}), + .phasedone (), + .phasestep (1'b1), + .phaseupdown (1'b1), + .pllena (1'b1), + .scanaclr (1'b0), + .scanclk (1'b0), + .scanclkena (1'b1), + .scandata (1'b0), + .scandataout (), + .scandone (), + .scanread (1'b0), + .scanwrite (1'b0), + .sclkout0 (), + .sclkout1 (), + .vcooverrange (), + .vcounderrange ()); + defparam + altpll_component.bandwidth_type = "AUTO", + altpll_component.clk0_divide_by = 24, + altpll_component.clk0_duty_cycle = 50, + altpll_component.clk0_multiply_by = 71, + altpll_component.clk0_phase_shift = "0", + altpll_component.clk1_divide_by = 96, + altpll_component.clk1_duty_cycle = 50, + altpll_component.clk1_multiply_by = 71, + altpll_component.clk1_phase_shift = "0", + altpll_component.clk2_divide_by = 576, + altpll_component.clk2_duty_cycle = 50, + altpll_component.clk2_multiply_by = 71, + altpll_component.clk2_phase_shift = "0", + altpll_component.compensate_clock = "CLK0", + altpll_component.inclk0_input_frequency = 37037, + altpll_component.intended_device_family = "Cyclone III", + altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll", + altpll_component.lpm_type = "altpll", + altpll_component.operation_mode = "NORMAL", + altpll_component.pll_type = "AUTO", + altpll_component.port_activeclock = "PORT_UNUSED", + altpll_component.port_areset = "PORT_USED", + altpll_component.port_clkbad0 = "PORT_UNUSED", + altpll_component.port_clkbad1 = "PORT_UNUSED", + altpll_component.port_clkloss = "PORT_UNUSED", + altpll_component.port_clkswitch = "PORT_UNUSED", + altpll_component.port_configupdate = "PORT_UNUSED", + altpll_component.port_fbin = "PORT_UNUSED", + altpll_component.port_inclk0 = "PORT_USED", + altpll_component.port_inclk1 = "PORT_UNUSED", + altpll_component.port_locked = "PORT_USED", + altpll_component.port_pfdena = "PORT_UNUSED", + altpll_component.port_phasecounterselect = "PORT_UNUSED", + altpll_component.port_phasedone = "PORT_UNUSED", + altpll_component.port_phasestep = "PORT_UNUSED", + altpll_component.port_phaseupdown = "PORT_UNUSED", + altpll_component.port_pllena = "PORT_UNUSED", + altpll_component.port_scanaclr = "PORT_UNUSED", + altpll_component.port_scanclk = "PORT_UNUSED", + altpll_component.port_scanclkena = "PORT_UNUSED", + altpll_component.port_scandata = "PORT_UNUSED", + altpll_component.port_scandataout = "PORT_UNUSED", + altpll_component.port_scandone = "PORT_UNUSED", + altpll_component.port_scanread = "PORT_UNUSED", + altpll_component.port_scanwrite = "PORT_UNUSED", + altpll_component.port_clk0 = "PORT_USED", + altpll_component.port_clk1 = "PORT_USED", + altpll_component.port_clk2 = "PORT_USED", + altpll_component.port_clk3 = "PORT_UNUSED", + altpll_component.port_clk4 = "PORT_UNUSED", + altpll_component.port_clk5 = "PORT_UNUSED", + altpll_component.port_clkena0 = "PORT_UNUSED", + altpll_component.port_clkena1 = "PORT_UNUSED", + altpll_component.port_clkena2 = "PORT_UNUSED", + altpll_component.port_clkena3 = "PORT_UNUSED", + altpll_component.port_clkena4 = "PORT_UNUSED", + altpll_component.port_clkena5 = "PORT_UNUSED", + altpll_component.port_extclk0 = "PORT_UNUSED", + altpll_component.port_extclk1 = "PORT_UNUSED", + altpll_component.port_extclk2 = "PORT_UNUSED", + altpll_component.port_extclk3 = "PORT_UNUSED", + altpll_component.self_reset_on_loss_lock = "OFF", + altpll_component.width_clock = 5; + + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "24" +// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "96" +// Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "576" +// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +// Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "79.875000" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "19.968750" +// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "3.328125" +// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps" +// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +// Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0" +// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "71" +// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "71" +// Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "71" +// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "79.80000000" +// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "19.96753200" +// Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "3.32792200" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz" +// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "0.00000000" +// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg" +// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif" +// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +// Retrieval info: PRIVATE: SPREAD_USE STRING "0" +// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +// Retrieval info: PRIVATE: STICKY_CLK2 STRING "1" +// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +// Retrieval info: PRIVATE: USE_CLK0 STRING "1" +// Retrieval info: PRIVATE: USE_CLK1 STRING "1" +// Retrieval info: PRIVATE: USE_CLK2 STRING "1" +// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +// Retrieval info: PRIVATE: USE_CLKENA2 STRING "0" +// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "24" +// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "71" +// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "96" +// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "71" +// Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "576" +// Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" +// Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "71" +// Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "0" +// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED" +// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +// Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +// Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset" +// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +// Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +// Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2" +// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +// Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +// Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +// Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +// Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2 +// Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE +// Retrieval info: LIB_FILE: altera_mf +// Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_01.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_01.vhd new file mode 100644 index 00000000..8d0b7f31 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_01.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_01 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 exerion_01 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1", + 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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"84",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"68",X"00",X"00",X"CC",X"33",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"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"CC",X"77",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"00",X"00",X"00",X"00",X"00",X"0C",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"78",X"00",X"00",X"EE",X"77",X"00",X"00",X"00",X"00", + X"00",X"0E",X"0F",X"0F",X"07",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"78",X"00",X"00",X"EE",X"FF",X"00",X"00",X"00",X"00", + X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"00",X"0C",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"00",X"00",X"00",X"0C",X"C3",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"78",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"3C",X"0F",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"78",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"0F",X"8F",X"FF",X"1F",X"E1",X"0F",X"00",X"08",X"87",X"F0",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"F0",X"00",X"88",X"FF",X"B3",X"00",X"00",X"00",X"00", + X"0F",X"FF",X"87",X"EF",X"FF",X"7F",X"C3",X"1E",X"00",X"00",X"86",X"F0",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"F8",X"00",X"88",X"FF",X"D9",X"30",X"00",X"00",X"00", + X"CF",X"FF",X"97",X"EF",X"FF",X"FF",X"87",X"3C",X"00",X"00",X"08",X"69",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"FF",X"00",X"88",X"FF",X"EC",X"73",X"00",X"00",X"00", + X"CF",X"FF",X"B7",X"FF",X"FF",X"FF",X"97",X"F0",X"00",X"00",X"00",X"86",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"80",X"F0",X"FE",X"FF",X"00",X"88",X"7F",X"CF",X"F7",X"00",X"00",X"00", + X"EF",X"FF",X"F7",X"FE",X"FF",X"FF",X"B7",X"F8",X"00",X"00",X"08",X"E1",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"C0",X"FC",X"FF",X"FF",X"00",X"88",X"BF",X"BF",X"D7",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"FC",X"FF",X"FF",X"F7",X"FC",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"E8",X"FF",X"9F",X"FF",X"00",X"88",X"DF",X"FF",X"B7",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"F8",X"FF",X"FF",X"F7",X"FC",X"00",X"0C",X"F0",X"F0",X"F8",X"F3",X"F0",X"FE", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"9F",X"FF",X"00",X"88",X"EF",X"FF",X"7F",X"10",X"00",X"00", + X"FF",X"FF",X"F7",X"F0",X"FC",X"FF",X"F7",X"FE",X"0E",X"C3",X"78",X"E1",X"F8",X"F7",X"F0",X"FE", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"FF",X"00",X"00",X"EF",X"FF",X"FF",X"01",X"00",X"00", + X"FF",X"FF",X"FF",X"F1",X"F0",X"FF",X"F7",X"FE",X"00",X"86",X"96",X"F2",X"FE",X"F6",X"F0",X"FE", + X"00",X"00",X"80",X"F0",X"CC",X"FF",X"9F",X"33",X"00",X"00",X"EF",X"FF",X"FF",X"01",X"00",X"00", + X"FF",X"FF",X"FF",X"F7",X"F0",X"FE",X"F7",X"FF",X"00",X"08",X"E1",X"F2",X"FE",X"FC",X"F0",X"F7", + X"00",X"00",X"C0",X"F0",X"98",X"00",X"9F",X"C0",X"00",X"00",X"EF",X"FF",X"FF",X"01",X"00",X"00", + X"FF",X"FF",X"F7",X"FE",X"F3",X"FC",X"F7",X"FF",X"00",X"86",X"F8",X"F7",X"F6",X"FC",X"F9",X"F7", + X"00",X"00",X"68",X"87",X"30",X"F0",X"00",X"F0",X"00",X"00",X"CE",X"FF",X"FF",X"01",X"00",X"00", + X"EE",X"FF",X"F7",X"F8",X"F7",X"FE",X"F7",X"FF",X"08",X"E1",X"FC",X"FD",X"F6",X"F8",X"F9",X"F7", + X"00",X"00",X"3E",X"0F",X"3D",X"F0",X"0F",X"F0",X"00",X"00",X"CE",X"FF",X"FF",X"01",X"00",X"00", + X"88",X"FF",X"F7",X"FF",X"F7",X"FF",X"F7",X"F7",X"87",X"F0",X"F6",X"FD",X"F7",X"F8",X"FB",X"F7", + X"00",X"08",X"FF",X"FF",X"3F",X"F0",X"F0",X"FC",X"00",X"00",X"8C",X"FF",X"FF",X"01",X"00",X"00", + X"04",X"EE",X"F7",X"FF",X"FF",X"FF",X"77",X"F0",X"08",X"C3",X"F2",X"F8",X"F5",X"F0",X"F3",X"F7", + X"00",X"68",X"7F",X"8F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"4C",X"EF",X"7F",X"00",X"00",X"00", + X"0C",X"89",X"77",X"EE",X"FF",X"FF",X"7F",X"87",X"00",X"0C",X"E1",X"F0",X"F1",X"F0",X"F3",X"F3", + X"88",X"7F",X"3F",X"0F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"EE",X"FF",X"3F",X"00",X"00",X"00", + X"0C",X"07",X"08",X"01",X"EE",X"FF",X"3B",X"87",X"00",X"00",X"0E",X"E1",X"F0",X"F0",X"FE",X"F3", + X"00",X"6E",X"7F",X"8F",X"3F",X"FF",X"F0",X"FF",X"00",X"00",X"FF",X"FF",X"53",X"00",X"00",X"00", + X"CC",X"3F",X"87",X"0F",X"01",X"00",X"48",X"87",X"00",X"08",X"E1",X"1E",X"F0",X"F0",X"FE",X"F3", + X"00",X"08",X"FF",X"FF",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"FF",X"FF",X"F7",X"00",X"00",X"00", + X"CC",X"FF",X"B7",X"7F",X"0F",X"0F",X"CB",X"97",X"00",X"86",X"F0",X"F0",X"F0",X"F0",X"FC",X"F3", + X"00",X"00",X"3F",X"0F",X"33",X"FF",X"00",X"FF",X"00",X"88",X"FF",X"FF",X"7F",X"10",X"00",X"00", + X"CC",X"FF",X"F7",X"FE",X"FF",X"FF",X"DB",X"B7",X"0C",X"E1",X"F0",X"F0",X"F0",X"F0",X"F8",X"F1", + X"00",X"00",X"6E",X"8F",X"D1",X"00",X"1E",X"CC",X"00",X"88",X"FF",X"FF",X"7F",X"10",X"00",X"00", + X"CC",X"FF",X"F7",X"FC",X"FF",X"FF",X"FB",X"F7",X"00",X"86",X"F0",X"F0",X"F0",X"F0",X"F8",X"F1", + X"00",X"00",X"DC",X"FF",X"E0",X"D2",X"5A",X"30",X"00",X"88",X"FF",X"FF",X"7F",X"10",X"00",X"00", + X"CC",X"FF",X"F7",X"F0",X"FB",X"FF",X"FB",X"F7",X"00",X"08",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"B8",X"77",X"E1",X"D2",X"5A",X"F0",X"00",X"88",X"FF",X"FF",X"7F",X"10",X"00",X"00", + X"CC",X"FF",X"FF",X"F3",X"F0",X"FF",X"FB",X"F7",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"70",X"80",X"E1",X"D2",X"1E",X"F0",X"00",X"00",X"FF",X"DF",X"B7",X"10",X"00",X"00", + X"88",X"FF",X"FF",X"FF",X"F0",X"FF",X"FB",X"F7",X"00",X"00",X"00",X"08",X"87",X"F0",X"F0",X"F0", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"EF",X"EF",X"B7",X"00",X"00",X"00", + X"00",X"FF",X"F7",X"FC",X"F3",X"FF",X"FB",X"F3",X"00",X"00",X"08",X"87",X"F0",X"F0",X"B4",X"F0", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"0E",X"FF",X"D3",X"00",X"00",X"00", + X"00",X"CC",X"F7",X"FF",X"FB",X"FF",X"33",X"F0",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"B4",X"F0", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"1E",X"F0",X"00",X"00",X"EE",X"FF",X"53",X"00",X"00",X"00", + X"00",X"00",X"77",X"EE",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"B4",X"F0", + X"00",X"00",X"F3",X"F0",X"EF",X"D3",X"5A",X"FF",X"00",X"00",X"CC",X"FF",X"61",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"11",X"F0",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"B4",X"F0", + X"00",X"00",X"EE",X"FF",X"EF",X"DF",X"59",X"FF",X"00",X"00",X"88",X"FF",X"21",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"0E",X"F0",X"D2",X"F0", + X"00",X"00",X"CC",X"FF",X"00",X"CC",X"11",X"FF",X"00",X"00",X"00",X"6E",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"87",X"D2",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00", + X"00",X"00",X"0E",X"09",X"0F",X"0F",X"01",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"C3",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"53",X"00", + X"00",X"08",X"0F",X"2D",X"CF",X"3F",X"1E",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C2",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"B7",X"00", + X"00",X"0E",X"0F",X"2D",X"FF",X"7F",X"2D",X"E1",X"00",X"00",X"00",X"00",X"00",X"84",X"E1",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"B7",X"00", + X"00",X"0F",X"EF",X"E9",X"FF",X"FF",X"4B",X"E1",X"00",X"00",X"00",X"00",X"00",X"4B",X"E1",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F",X"10", + X"00",X"CF",X"FF",X"F1",X"FF",X"FE",X"DB",X"F1",X"00",X"00",X"00",X"00",X"0C",X"F0",X"E1",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F",X"10", + X"00",X"FF",X"FF",X"F1",X"FC",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"C2",X"78",X"F0",X"F0", + X"80",X"F0",X"F0",X"F0",X"F0",X"34",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F",X"10", + X"00",X"FF",X"FF",X"F1",X"F0",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"0C",X"78",X"F0",X"F0", + X"E0",X"F0",X"F0",X"F0",X"F0",X"78",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"6F",X"10", + X"00",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"4B",X"F0",X"F0", + X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"7F",X"10", + X"00",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"84",X"F0",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"7F",X"10", + X"00",X"FF",X"FF",X"F1",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"8C",X"F1",X"F0", + X"F0",X"78",X"0F",X"0F",X"0F",X"F1",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F",X"10", + X"00",X"FF",X"FF",X"F9",X"FF",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"8C",X"F7",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"47",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"37",X"00", + X"00",X"FF",X"FF",X"FD",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"CE",X"F3",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"47",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"7F",X"00", + X"00",X"FF",X"FF",X"FD",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"CE",X"F0",X"F0", + X"F0",X"0F",X"F1",X"F0",X"3C",X"C7",X"CF",X"11",X"00",X"26",X"00",X"00",X"00",X"88",X"7F",X"00", + X"00",X"EE",X"FF",X"FD",X"FF",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"EF",X"F0",X"F0", + X"F0",X"8F",X"F0",X"F0",X"78",X"C7",X"CF",X"FF",X"00",X"7F",X"10",X"00",X"40",X"00",X"7F",X"00", + X"00",X"88",X"FF",X"FD",X"FF",X"FF",X"FE",X"F0",X"00",X"00",X"00",X"00",X"08",X"FF",X"F0",X"F0", + X"F0",X"0F",X"F1",X"F0",X"3C",X"C7",X"CF",X"FF",X"00",X"FF",X"21",X"00",X"73",X"00",X"6F",X"00", + X"00",X"00",X"EE",X"99",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"8C",X"F7",X"F2",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"CF",X"FF",X"00",X"BF",X"21",X"00",X"F7",X"00",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"CE",X"D3",X"F2",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"CF",X"FF",X"00",X"DF",X"21",X"88",X"FF",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"EF",X"D3",X"F7",X"F0", + X"F0",X"78",X"0F",X"0F",X"8F",X"F0",X"CF",X"11",X"00",X"EE",X"21",X"88",X"FF",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"00",X"F0",X"00",X"00",X"00",X"00",X"CE",X"E1",X"F7",X"F0", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"47",X"00",X"00",X"EE",X"21",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"8C",X"EF",X"F2",X"F0", + X"F0",X"78",X"8F",X"78",X"8F",X"F0",X"47",X"00",X"00",X"6E",X"10",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"88",X"33",X"FF",X"FB",X"FF",X"31",X"F0",X"00",X"00",X"00",X"00",X"08",X"FE",X"F2",X"F0", + X"F0",X"1E",X"8F",X"78",X"0F",X"E3",X"03",X"00",X"00",X"4C",X"10",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"EE",X"FB",X"FF",X"F3",X"FF",X"FD",X"F0",X"00",X"00",X"00",X"00",X"08",X"F7",X"F0",X"F0", + X"F0",X"1E",X"8F",X"78",X"0F",X"E3",X"03",X"00",X"00",X"84",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"88",X"FF",X"FB",X"FE",X"F3",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"00",X"8C",X"F3",X"F0",X"F0", + X"F0",X"0F",X"F1",X"F0",X"3C",X"C7",X"03",X"00",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"CC",X"FF",X"F3",X"FF",X"F0",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"00",X"CE",X"F1",X"F0",X"F0", + X"F0",X"8F",X"F0",X"F0",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"CC",X"FF",X"FF",X"F3",X"F0",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"EB",X"F0",X"F0",X"F0", + X"F0",X"0F",X"F1",X"F0",X"3C",X"C7",X"03",X"00",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"CC",X"FF",X"FF",X"F0",X"FF",X"FF",X"ED",X"F1",X"00",X"00",X"00",X"00",X"FE",X"F6",X"F1",X"F3", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"03",X"00",X"00",X"00",X"00",X"CE",X"FF",X"03",X"00",X"00", + X"CC",X"FF",X"F3",X"F8",X"FF",X"7F",X"ED",X"F1",X"00",X"00",X"00",X"08",X"FF",X"F6",X"F1",X"F3", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"03",X"00",X"00",X"00",X"00",X"8C",X"FF",X"37",X"00",X"00", + X"CC",X"FF",X"F3",X"FC",X"FF",X"3F",X"FC",X"E1",X"00",X"00",X"00",X"8C",X"FB",X"F6",X"F9",X"F3", + X"F0",X"78",X"0F",X"0F",X"8F",X"F0",X"03",X"00",X"00",X"00",X"00",X"8C",X"FF",X"7F",X"00",X"00", + X"8C",X"FF",X"F3",X"FF",X"FF",X"0F",X"9E",X"E1",X"00",X"00",X"00",X"CE",X"FD",X"F6",X"F8",X"F7", + X"F0",X"8F",X"F0",X"1E",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"08",X"FF",X"FF",X"01",X"00", + X"0C",X"EF",X"4B",X"0F",X"0F",X"87",X"0F",X"E1",X"00",X"00",X"08",X"EF",X"F4",X"F1",X"F8",X"F7", + X"F0",X"8F",X"F0",X"1E",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"01",X"00", + X"0C",X"03",X"00",X"00",X"00",X"00",X"0F",X"F0",X"00",X"00",X"00",X"CC",X"F5",X"F1",X"FA",X"F4", + X"F0",X"8F",X"F0",X"1E",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"01",X"00", + X"0C",X"0C",X"0F",X"0F",X"0F",X"0F",X"00",X"F0",X"00",X"00",X"CC",X"FF",X"F1",X"F1",X"FE",X"F4", + X"F0",X"8F",X"F0",X"1E",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"FF",X"FF",X"7F",X"00",X"00", + X"00",X"0F",X"0F",X"0F",X"0F",X"4B",X"0F",X"E1",X"00",X"0C",X"EF",X"FE",X"F3",X"F0",X"F6",X"F0", + X"F0",X"8F",X"F0",X"1E",X"78",X"C7",X"47",X"00",X"00",X"00",X"88",X"FF",X"FF",X"7F",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"87",X"0F",X"C3",X"00",X"00",X"88",X"FD",X"F2",X"F8",X"F6",X"F0", + X"F0",X"0F",X"F1",X"1E",X"3C",X"C7",X"47",X"00",X"00",X"00",X"88",X"FF",X"FF",X"6F",X"00",X"00", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"C3",X"00",X"00",X"00",X"CC",X"F2",X"F8",X"F4",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"CF",X"11",X"00",X"00",X"88",X"FF",X"FF",X"1F",X"00",X"00", + X"0E",X"0F",X"87",X"0F",X"EF",X"7F",X"2D",X"C3",X"00",X"0C",X"EF",X"F7",X"F0",X"FB",X"F0",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"E3",X"CF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"53",X"00",X"00", + X"0E",X"0F",X"87",X"EF",X"FF",X"FF",X"4B",X"C3",X"08",X"8F",X"FF",X"F7",X"FA",X"FB",X"F1",X"F0", + X"F0",X"78",X"0F",X"0F",X"8F",X"F0",X"CF",X"FF",X"00",X"00",X"00",X"F7",X"FF",X"53",X"00",X"00", + X"0E",X"FF",X"B7",X"FE",X"FF",X"FF",X"DB",X"D3",X"00",X"0C",X"F0",X"F1",X"FE",X"FF",X"F1",X"F0", + X"F0",X"F0",X"F0",X"1E",X"78",X"C7",X"CF",X"FF",X"00",X"00",X"00",X"E8",X"FF",X"53",X"00",X"00", + X"8E",X"FF",X"F7",X"FE",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"C3",X"F0",X"FF",X"FF",X"F0",X"F0", + X"F0",X"F0",X"F0",X"1E",X"78",X"C7",X"CF",X"FF",X"00",X"00",X"00",X"CC",X"FF",X"53",X"00",X"00", + X"CE",X"FF",X"F7",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"08",X"3C",X"8F",X"F5",X"F2",X"F0", + X"F0",X"F0",X"F0",X"F0",X"78",X"C7",X"CF",X"11",X"00",X"00",X"00",X"CC",X"FF",X"43",X"00",X"00", + X"EE",X"FF",X"F7",X"F0",X"FF",X"FD",X"FB",X"F3",X"00",X"00",X"00",X"C0",X"7F",X"CF",X"F2",X"F0", + X"F0",X"F0",X"F0",X"F0",X"78",X"C7",X"47",X"00",X"00",X"00",X"00",X"88",X"7F",X"30",X"00",X"00", + X"EE",X"FF",X"F7",X"F0",X"FC",X"FC",X"FB",X"F3",X"00",X"00",X"0E",X"FB",X"FF",X"FD",X"FC",X"F0", + X"F0",X"F0",X"F0",X"F0",X"78",X"C7",X"47",X"00",X"00",X"00",X"00",X"88",X"3F",X"10",X"00",X"00", + X"EE",X"FF",X"FF",X"F3",X"F1",X"FC",X"FB",X"F3",X"00",X"0E",X"EF",X"FD",X"F7",X"FF",X"F7",X"F0", + X"F0",X"F0",X"F0",X"F0",X"78",X"C7",X"03",X"00",X"00",X"00",X"00",X"08",X"C3",X"10",X"00",X"00", + X"EE",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F3",X"00",X"88",X"FF",X"FD",X"FC",X"F9",X"F1",X"F0", + X"F0",X"0F",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00", + X"EE",X"FF",X"F7",X"FC",X"FF",X"FC",X"FB",X"F3",X"88",X"FF",X"FB",X"F4",X"FC",X"F1",X"F1",X"F0", + X"F0",X"0F",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00", + X"CC",X"FF",X"F7",X"F2",X"FF",X"FD",X"FB",X"F3",X"EF",X"FD",X"FB",X"F2",X"FB",X"F0",X"F1",X"F0", + X"F0",X"0F",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"FF",X"F7",X"FF",X"FF",X"FF",X"FB",X"F1",X"00",X"EE",X"F1",X"F7",X"F2",X"F0",X"F0",X"F0", + X"F0",X"F0",X"F0",X"1E",X"F0",X"F0",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"EE",X"F7",X"FF",X"FF",X"FF",X"75",X"F0",X"00",X"80",X"FA",X"F7",X"B4",X"F4",X"F0",X"F0", + X"F0",X"78",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"EE",X"F7",X"F0",X"F4",X"F4",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"00",X"13",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"00",X"EE",X"FF",X"F9",X"F0",X"F4",X"F0",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"88",X"37",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"CF",X"FF",X"F5",X"F9",X"F0",X"F0",X"F0",X"F0", + X"F0",X"0F",X"E3",X"1E",X"F0",X"F0",X"03",X"00",X"00",X"00",X"CC",X"7F",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"0C",X"FF",X"F3",X"F8",X"F0",X"F0",X"F0",X"F0", + X"F0",X"0F",X"F1",X"1E",X"F0",X"F0",X"03",X"00",X"00",X"00",X"CC",X"7F",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"00",X"CC",X"F0",X"F8",X"F0",X"F0",X"F0",X"F0", + X"F0",X"0F",X"E3",X"F0",X"F0",X"F0",X"03",X"00",X"00",X"00",X"EE",X"7F",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"00",X"00",X"0E",X"E1",X"F0",X"F0",X"F0",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"C7",X"03",X"00",X"00",X"00",X"EE",X"7F",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"00",X"00",X"00",X"0F",X"F0",X"F0",X"F0",X"F0", + X"F0",X"1E",X"0F",X"0F",X"0F",X"C7",X"47",X"00",X"00",X"00",X"FF",X"7F",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"00",X"00",X"8E",X"F3",X"F0",X"F0",X"F0",X"F0", + X"F0",X"78",X"0F",X"0F",X"0F",X"C7",X"47",X"00",X"00",X"00",X"FF",X"7F",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"00",X"08",X"EF",X"F5",X"F0",X"F2",X"F1",X"F1", + X"F0",X"F0",X"F0",X"1E",X"F0",X"F0",X"CF",X"11",X"00",X"00",X"EE",X"7F",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"00",X"0C",X"E1",X"F0",X"F0",X"F8",X"FE",X"F0", + X"F0",X"0F",X"0F",X"0F",X"8F",X"F0",X"CF",X"FF",X"00",X"00",X"EE",X"7F",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"00",X"00",X"0E",X"F0",X"F0",X"F8",X"FE",X"F1", + X"F0",X"0F",X"0F",X"0F",X"0F",X"E3",X"CF",X"FF",X"00",X"00",X"CC",X"36",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"00",X"00",X"00",X"0F",X"E1",X"F0",X"F5",X"F1", + X"F0",X"0F",X"0F",X"0F",X"0F",X"C7",X"CF",X"FF",X"00",X"00",X"CE",X"71",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"00",X"00",X"00",X"00",X"0E",X"E1",X"F5",X"F0", + X"F0",X"F0",X"F0",X"F0",X"3C",X"C7",X"CF",X"FF",X"00",X"00",X"FF",X"73",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"00",X"00",X"00",X"00",X"00",X"9F",X"E3",X"F0", + X"F0",X"F0",X"F0",X"F0",X"78",X"C7",X"CF",X"11",X"00",X"00",X"FF",X"73",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"00",X"00",X"00",X"00",X"8E",X"FF",X"F3",X"F0", + X"E1",X"F0",X"F0",X"1E",X"3C",X"C7",X"47",X"00",X"00",X"00",X"FF",X"B7",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"00",X"00",X"00",X"0C",X"EF",X"FF",X"F2",X"FC", + X"E1",X"F0",X"F0",X"1E",X"0F",X"C7",X"47",X"00",X"00",X"00",X"FF",X"B7",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"00",X"00",X"00",X"CF",X"FF",X"F2",X"F0",X"ED", + X"C3",X"F0",X"F0",X"1E",X"0F",X"E3",X"03",X"00",X"00",X"00",X"FF",X"B7",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"00",X"00",X"0C",X"FF",X"FB",X"F0",X"F0",X"EF", + X"C3",X"F0",X"F0",X"1E",X"8F",X"78",X"03",X"00",X"00",X"00",X"EE",X"B7",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"00",X"00",X"00",X"CF",X"F0",X"F0",X"78",X"FA", + X"86",X"F0",X"F0",X"F0",X"F0",X"3C",X"01",X"00",X"00",X"00",X"EE",X"B7",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"00",X"00",X"00",X"0C",X"E1",X"F0",X"78",X"FB", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"01",X"00",X"00",X"00",X"CC",X"B7",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"00",X"00",X"00",X"00",X"86",X"F0",X"BC",X"FB", + X"08",X"0F",X"0F",X"0F",X"0F",X"07",X"00",X"00",X"00",X"00",X"0C",X"53",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"00",X"00",X"00",X"00",X"08",X"E1",X"DE",X"F1", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"43",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"00",X"00",X"00",X"00",X"00",X"86",X"EF",X"F1", + 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"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"FF",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"8C",X"F7",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"CF",X"FF",X"F1", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"0C",X"CF",X"F3",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0C",X"F0",X"F4", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"F3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"08",X"EF",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0E",X"FD",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",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"0E",X"09",X"0F",X"0F",X"01",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"0F",X"2D",X"CF",X"3F",X"1E",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"84",X"F0", + X"00",X"00",X"E0",X"30",X"F0",X"90",X"F0",X"70",X"FF",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"0F",X"2D",X"FF",X"7F",X"2D",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F0", + X"00",X"00",X"E0",X"B4",X"F0",X"96",X"F0",X"78",X"FF",X"13",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"EF",X"E9",X"FF",X"FF",X"4B",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1", + X"00",X"30",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"FF",X"13",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CF",X"FF",X"F1",X"FF",X"FE",X"DB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1", + X"80",X"B4",X"E1",X"B4",X"F0",X"F0",X"F0",X"78",X"EE",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F1",X"FC",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + X"C0",X"3C",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"EE",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F1",X"F0",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + X"C0",X"B4",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"CC",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"84", + X"C0",X"3C",X"E1",X"B4",X"F0",X"F0",X"F0",X"78",X"EE",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"84", + X"C0",X"B4",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"FF",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F1",X"FF",X"FC",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C", + X"C4",X"3C",X"E1",X"BC",X"FF",X"97",X"F0",X"78",X"FF",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F9",X"FF",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE", + X"CC",X"B4",X"E1",X"BC",X"FF",X"F9",X"FF",X"7F",X"FF",X"37",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FD",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"E3", + X"CC",X"3F",X"EF",X"BF",X"FF",X"9F",X"FF",X"7F",X"EE",X"17",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FD",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"8F",X"F3", + X"88",X"B7",X"EF",X"BF",X"FF",X"9F",X"FF",X"7F",X"EE",X"13",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"EE",X"FF",X"FD",X"FF",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"0F",X"FF",X"F1", + X"00",X"33",X"EF",X"BF",X"FF",X"F9",X"FF",X"7F",X"CC",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"88",X"FF",X"FD",X"FF",X"FF",X"FE",X"F0",X"00",X"00",X"00",X"00",X"0E",X"FF",X"F7",X"F8", + X"00",X"00",X"EE",X"BF",X"FF",X"9F",X"FF",X"7F",X"08",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"EE",X"99",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"00",X"CF",X"F1",X"F8", + X"00",X"00",X"EE",X"33",X"FF",X"99",X"FF",X"77",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"0C",X"F4",X"F5", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"13", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"CF",X"F5", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"37", + X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0E",X"FF",X"F5", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"08",X"EF",X"FF",X"F1", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F", + X"00",X"88",X"77",X"EE",X"FB",X"FF",X"31",X"F0",X"00",X"00",X"00",X"0E",X"8F",X"FF",X"F7",X"F3", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F", + X"00",X"EE",X"F7",X"FF",X"F3",X"FF",X"FD",X"F0",X"00",X"00",X"0E",X"EF",X"F7",X"FF",X"F4",X"F3", + X"00",X"00",X"C0",X"F0",X"AE",X"C0",X"10",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F", + X"00",X"FF",X"F7",X"FE",X"F3",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"0E",X"FE",X"F0",X"FF",X"F2", + X"00",X"00",X"E0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F", + X"88",X"FF",X"F7",X"FF",X"F0",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"00",X"C3",X"F1",X"F3",X"FA", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F", + X"88",X"FF",X"FF",X"F3",X"F0",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"84",X"F1",X"F0",X"F8", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"1E",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F", + X"88",X"FF",X"FF",X"F0",X"FF",X"FF",X"ED",X"F1",X"00",X"00",X"00",X"00",X"0C",X"EB",X"F0",X"F1", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"37", + X"88",X"FF",X"F7",X"F8",X"FF",X"FF",X"AD",X"F1",X"00",X"00",X"00",X"0C",X"CF",X"F7",X"F7",X"F1", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EF",X"12", + X"88",X"FF",X"F7",X"FC",X"FF",X"7F",X"3C",X"E1",X"00",X"00",X"08",X"CF",X"F7",X"F4",X"F2",X"F4", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"1E",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"DF",X"71", + X"88",X"FF",X"F7",X"FF",X"FF",X"3F",X"1E",X"E1",X"00",X"00",X"8E",X"F7",X"F7",X"F9",X"F5",X"F6", + X"00",X"00",X"F3",X"F0",X"EF",X"D3",X"5A",X"FF",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"73", + X"08",X"EF",X"B7",X"EF",X"FF",X"97",X"0F",X"E1",X"00",X"00",X"08",X"6B",X"F7",X"FB",X"FD",X"F2", + X"00",X"00",X"EE",X"FF",X"EF",X"DF",X"5B",X"FF",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"73", + X"08",X"0F",X"87",X"CF",X"7F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"86",X"F9",X"FA",X"FD",X"F2", + X"00",X"00",X"CC",X"FF",X"AE",X"CC",X"11",X"FF",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"B7", + X"08",X"0F",X"87",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"08",X"CF",X"F9",X"F4",X"F6",X"F7", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"B7", + X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"8F",X"FF",X"F2",X"F0",X"F6",X"F5", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"B7", + X"00",X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"00",X"08",X"C7",X"F4",X"F1",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E8",X"B7", + X"00",X"00",X"0F",X"0F",X"03",X"00",X"00",X"F0",X"00",X"00",X"00",X"0C",X"F0",X"F9",X"E9",X"F2", + X"00",X"00",X"00",X"E0",X"F0",X"30",X"F0",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"B7", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"C0",X"CF",X"E5",X"F2", + X"00",X"00",X"80",X"E1",X"B4",X"3C",X"F0",X"2E",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"B7", + X"00",X"88",X"FF",X"CC",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"00",X"FE",X"E7",X"F3", + X"00",X"00",X"E0",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"53", + X"00",X"EE",X"FF",X"FE",X"FF",X"FF",X"73",X"F0",X"00",X"00",X"00",X"00",X"C3",X"7A",X"F6",X"F5", + X"00",X"C0",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"43", + X"88",X"FF",X"FF",X"F8",X"FF",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"0C",X"69",X"FF",X"F4", + X"00",X"D2",X"E1",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"86",X"F9",X"F4", + X"80",X"D2",X"E1",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FF",X"F3",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"08",X"F1",X"F4", + X"84",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F3",X"F0",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"84",X"F4",X"FC", + X"84",X"D2",X"E1",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F0",X"FE",X"FE",X"FB",X"F3",X"00",X"00",X"00",X"00",X"0F",X"8F",X"F4",X"FD", + X"84",X"D2",X"E1",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"8C",X"FF",X"FF",X"F8",X"FF",X"FF",X"DB",X"F3",X"00",X"00",X"00",X"00",X"00",X"0F",X"F8",X"FB", + X"88",X"D3",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"FF",X"7F",X"BC",X"EF",X"FF",X"4B",X"D3",X"00",X"00",X"00",X"00",X"00",X"00",X"CB",X"FF", + X"00",X"DF",X"E1",X"E1",X"B4",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"3C",X"0F",X"3F",X"4B",X"C3",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F7", + X"00",X"CC",X"EF",X"EF",X"BF",X"3F",X"FF",X"2F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"1E",X"0F",X"0F",X"69",X"C3",X"00",X"00",X"00",X"00",X"00",X"08",X"E9",X"F6", + X"00",X"00",X"EE",X"EF",X"FF",X"3F",X"FF",X"2F",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"08",X"0F",X"2D",X"C3",X"00",X"00",X"00",X"00",X"00",X"8E",X"F9",X"F4", + X"00",X"E0",X"98",X"EF",X"BF",X"3F",X"FF",X"2E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"0F",X"0F",X"0F",X"07",X"00",X"0C",X"C3",X"00",X"00",X"00",X"00",X"8E",X"E9",X"F4",X"F2", + X"00",X"F0",X"70",X"EE",X"BF",X"33",X"FF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"03",X"F0",X"00",X"00",X"00",X"08",X"EB",X"F0",X"F6",X"F1", + X"00",X"F0",X"F0",X"01",X"00",X"C0",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"00",X"00",X"00",X"87",X"FE",X"F0",X"F2",X"F5", + X"00",X"F0",X"F0",X"87",X"F0",X"D2",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"87",X"8F",X"FF",X"D3",X"0F",X"0F",X"00",X"00",X"00",X"08",X"E5",X"F4",X"FF",X"F4", + X"00",X"F0",X"F0",X"A5",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"FF",X"87",X"EF",X"FF",X"B7",X"3C",X"0F",X"00",X"00",X"00",X"00",X"86",X"C7",X"F9",X"F5", + X"00",X"F0",X"F0",X"87",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CF",X"FF",X"97",X"FE",X"FF",X"7F",X"F0",X"0F",X"00",X"00",X"00",X"00",X"00",X"3F",X"F1",X"FD", + X"00",X"F0",X"F0",X"A5",X"F0",X"D2",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CF",X"FF",X"B7",X"FE",X"FF",X"FF",X"D3",X"3C",X"00",X"00",X"00",X"00",X"00",X"84",X"F1",X"FF", + X"00",X"F0",X"F0",X"87",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"17",X"00",X"00",X"00",X"00", + X"EF",X"FF",X"F7",X"FE",X"FF",X"FF",X"B7",X"F0",X"00",X"00",X"00",X"00",X"0C",X"87",X"F2",X"FA", + X"00",X"F1",X"F0",X"A5",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"88",X"7F",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"F8",X"FF",X"FF",X"7F",X"F0",X"00",X"00",X"00",X"00",X"CF",X"F4",X"F2",X"FA", + X"00",X"F3",X"F0",X"8F",X"FF",X"D3",X"F8",X"FF",X"00",X"00",X"CC",X"7F",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"F0",X"FF",X"FF",X"FF",X"78",X"00",X"00",X"00",X"0E",X"EF",X"F0",X"F8",X"F5", + X"00",X"EE",X"FF",X"AF",X"FF",X"DF",X"8F",X"FF",X"00",X"00",X"8C",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"F0",X"F4",X"FF",X"FF",X"3C",X"00",X"00",X"0C",X"CF",X"F3",X"F1",X"F0",X"F0", + X"00",X"CC",X"FF",X"8F",X"FF",X"DF",X"8F",X"FF",X"00",X"00",X"6E",X"FF",X"01",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"F1",X"F0",X"FC",X"FF",X"3C",X"00",X"00",X"00",X"86",X"FD",X"F0",X"E1",X"F0", + X"00",X"88",X"FF",X"01",X"00",X"CC",X"88",X"FF",X"00",X"00",X"FF",X"CF",X"01",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"F7",X"F0",X"FC",X"FF",X"1E",X"00",X"00",X"00",X"08",X"F8",X"F0",X"E5",X"F1", + X"00",X"00",X"00",X"E0",X"F0",X"30",X"00",X"00",X"00",X"88",X"FF",X"FF",X"01",X"00",X"00",X"00", + X"FF",X"FF",X"F7",X"FE",X"F3",X"FC",X"FF",X"9E",X"00",X"00",X"08",X"8F",X"F0",X"78",X"F5",X"F5", + X"00",X"00",X"00",X"E1",X"F0",X"3C",X"00",X"0E",X"00",X"88",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"EE",X"FF",X"F7",X"F8",X"F7",X"FE",X"FF",X"9E",X"00",X"00",X"8E",X"F7",X"F0",X"B4",X"F7",X"F7", + X"00",X"00",X"80",X"E1",X"F0",X"3C",X"10",X"0F",X"00",X"88",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"88",X"FF",X"F7",X"FF",X"F7",X"FF",X"FF",X"DE",X"00",X"0C",X"ED",X"F1",X"F0",X"D6",X"F6",X"F6", + X"00",X"00",X"C0",X"E1",X"F0",X"3C",X"38",X"01",X"00",X"88",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"00",X"EE",X"F7",X"FF",X"FF",X"FF",X"FF",X"E7",X"00",X"00",X"0E",X"F2",X"F4",X"E9",X"F2",X"F2", + X"00",X"00",X"C2",X"E1",X"F0",X"3C",X"3C",X"00",X"00",X"00",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"87",X"3C",X"FB",X"F2",X"F1", + X"00",X"00",X"D2",X"E1",X"F0",X"3C",X"34",X"00",X"00",X"00",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"08",X"CF",X"F3",X"F0",X"F1", + X"00",X"80",X"D2",X"E1",X"F0",X"3C",X"34",X"00",X"00",X"00",X"EE",X"FF",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"FF",X"77",X"F0",X"00",X"00",X"00",X"0E",X"F3",X"F5",X"F0",X"F1", + X"00",X"84",X"D2",X"E1",X"F0",X"3C",X"34",X"00",X"00",X"00",X"EE",X"FF",X"13",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0C",X"EF",X"FD",X"78",X"F8",X"F8", + X"00",X"A4",X"D2",X"E1",X"F0",X"00",X"24",X"08",X"00",X"00",X"0E",X"FF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0E",X"CF",X"F7",X"F0",X"B4",X"F8",X"FC", + X"00",X"B4",X"D2",X"E1",X"70",X"F0",X"14",X"0E",X"00",X"00",X"EF",X"EF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0E",X"FB",X"F0",X"C7",X"F8",X"FC", + X"00",X"A6",X"D2",X"E1",X"38",X"F0",X"12",X"07",X"00",X"08",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"87",X"3C",X"F6",X"F0",X"FD", + X"00",X"8C",X"D3",X"E1",X"58",X"F0",X"5A",X"00",X"00",X"08",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"08",X"C7",X"F0",X"F0",X"FB", + X"00",X"88",X"DF",X"E1",X"4A",X"F0",X"D2",X"00",X"00",X"88",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"8E",X"F6",X"F4",X"F2",X"F2", + X"00",X"00",X"DF",X"67",X"5A",X"F0",X"D2",X"0C",X"00",X"88",X"FF",X"FF",X"13",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"08",X"EF",X"FF",X"F0",X"F0",X"F2", + X"00",X"00",X"CE",X"A3",X"5B",X"F0",X"DA",X"0F",X"00",X"88",X"FF",X"7F",X"63",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"8E",X"F7",X"F6",X"F1",X"F0",X"F2", + X"00",X"00",X"CC",X"67",X"5F",X"F0",X"DE",X"0C",X"00",X"00",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"08",X"EF",X"FB",X"FD",X"F1",X"F0",X"F2", + X"00",X"00",X"88",X"EF",X"4E",X"FF",X"DF",X"00",X"00",X"00",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"8F",X"FF",X"F4",X"F9",X"F1",X"F7",X"F3", + X"00",X"00",X"00",X"EF",X"5D",X"FF",X"5F",X"00",X"00",X"00",X"EE",X"FF",X"31",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"0F",X"FF",X"F7",X"F1",X"F0",X"F9",X"F9",X"F3", + X"00",X"00",X"00",X"EE",X"3B",X"FF",X"13",X"07",X"00",X"00",X"CC",X"FF",X"31",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"08",X"CF",X"F1",X"FA",X"F0",X"FD",X"F8",X"F3", + X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"0E",X"00",X"00",X"CC",X"FF",X"10",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0C",X"F0",X"F0",X"F4",X"FD",X"F0",X"F1", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"08",X"00",X"00",X"80",X"F7",X"00",X"00",X"00",X"00", + X"00",X"08",X"0F",X"0C",X"0F",X"0F",X"03",X"F0",X"00",X"00",X"C3",X"F0",X"F6",X"FC",X"F4",X"F1", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"80",X"F3",X"00",X"00",X"00",X"00", + X"00",X"0E",X"0F",X"1E",X"0F",X"0F",X"2D",X"E1",X"00",X"00",X"0C",X"F0",X"FA",X"F2",X"F8",X"F1", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"22",X"00", + X"00",X"0F",X"0F",X"1E",X"FF",X"3F",X"4B",X"C3",X"00",X"00",X"00",X"CF",X"F9",X"F3",X"F0",X"F5", + X"00",X"00",X"C2",X"78",X"F0",X"06",X"78",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"E6",X"00", + X"08",X"EF",X"3F",X"BC",X"FF",X"FF",X"4B",X"C3",X"00",X"00",X"0C",X"FF",X"FD",X"F8",X"F2",X"F1", + X"00",X"00",X"D2",X"78",X"F0",X"0F",X"78",X"78",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"10", + X"0C",X"FF",X"7F",X"F8",X"FF",X"FF",X"DB",X"D3",X"00",X"08",X"8F",X"FD",X"F6",X"F8",X"FB",X"F0", + X"00",X"80",X"D2",X"78",X"F0",X"0F",X"78",X"78",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"10", + X"8C",X"FF",X"FF",X"F0",X"FE",X"FD",X"FB",X"F3",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"FA",X"F0", + X"00",X"80",X"D2",X"78",X"FF",X"0F",X"78",X"78",X"00",X"00",X"00",X"00",X"00",X"80",X"FE",X"10", + X"CC",X"FF",X"FF",X"F0",X"F0",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"FA",X"F0", + X"00",X"80",X"DF",X"7F",X"FF",X"0F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"C8",X"FF",X"10", + X"CC",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"00",X"86",X"F4",X"F4",X"F0", + X"00",X"88",X"DF",X"7F",X"FF",X"0F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"10", + X"CC",X"FF",X"FF",X"FF",X"FF",X"FC",X"FB",X"F3",X"00",X"00",X"00",X"00",X"08",X"E9",X"F0",X"F6", + X"00",X"00",X"DF",X"7F",X"FF",X"00",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"CC",X"F7",X"00", + X"CC",X"FF",X"FF",X"F0",X"FE",X"FD",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"86",X"F4",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"37",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FD",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"08",X"7F",X"F5", + X"00",X"00",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"7F",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"8E",X"7B",X"F7", + X"00",X"00",X"C0",X"F0",X"10",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"88",X"7F",X"00", + X"88",X"FF",X"FF",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"0C",X"EF",X"BD",X"F7", + X"00",X"00",X"68",X"87",X"30",X"F0",X"00",X"F0",X"00",X"00",X"00",X"00",X"40",X"00",X"7F",X"00", + X"00",X"FF",X"FF",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"86",X"BC",X"F3", + X"00",X"00",X"3E",X"0F",X"3D",X"F0",X"0F",X"F0",X"00",X"00",X"00",X"00",X"70",X"00",X"6F",X"00", + X"00",X"EE",X"FF",X"FE",X"FF",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"08",X"DE",X"FB", + X"00",X"00",X"FF",X"FF",X"3F",X"F0",X"F0",X"FC",X"00",X"00",X"00",X"00",X"F3",X"00",X"06",X"00", + X"00",X"88",X"FF",X"44",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"ED",X"FF", + X"00",X"00",X"7F",X"8F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"88",X"F7",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0C",X"F7",X"FC", + X"00",X"00",X"3F",X"0F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"88",X"FF",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"CF",X"F7",X"F4", + X"00",X"00",X"7F",X"8F",X"3F",X"FF",X"F0",X"FF",X"00",X"00",X"00",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"00",X"0C",X"F0",X"F4", + X"00",X"00",X"FF",X"FF",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"88",X"77",X"EE",X"FB",X"FF",X"31",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"CB",X"F4", + X"00",X"00",X"3F",X"0F",X"33",X"FF",X"00",X"FF",X"00",X"00",X"00",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"EE",X"F7",X"FF",X"F3",X"FF",X"FD",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"84",X"F3", + X"00",X"00",X"6E",X"8F",X"11",X"00",X"00",X"CC",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"00",X"FF",X"F7",X"FE",X"F3",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F3", + X"00",X"00",X"CC",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"88",X"FF",X"F7",X"FF",X"F0",X"FE",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E3", + X"00",X"00",X"88",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"FF",X"73",X"00",X"00", + X"88",X"FF",X"FF",X"F3",X"F0",X"FD",X"FD",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + 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"FF",X"73",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"E0",X"E8",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E9", + X"00",X"00",X"E0",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"FF",X"03",X"00",X"00", + X"00",X"00",X"00",X"80",X"F0",X"FC",X"AD",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"F8", + X"00",X"00",X"E0",X"B4",X"90",X"1E",X"F0",X"30",X"00",X"00",X"00",X"8C",X"FF",X"37",X"00",X"00", + X"00",X"00",X"80",X"F0",X"F8",X"7F",X"3C",X"E1",X"00",X"00",X"00",X"00",X"00",X"0C",X"E3",X"F8", + X"00",X"30",X"E1",X"B4",X"96",X"F0",X"F0",X"3C",X"00",X"00",X"00",X"8C",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"C0",X"F8",X"FF",X"3F",X"1E",X"E1",X"00",X"00",X"00",X"00",X"08",X"CF",X"F3",X"FD", + X"80",X"3C",X"E1",X"B4",X"96",X"1E",X"F0",X"3C",X"00",X"00",X"00",X"08",X"FF",X"FF",X"01",X"00", + X"00",X"00",X"00",X"C0",X"F0",X"16",X"0F",X"E1",X"00",X"00",X"00",X"08",X"8F",X"FF",X"F5",X"FD", + X"C0",X"B4",X"E1",X"B4",X"96",X"1E",X"F0",X"3C",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"01",X"00", + X"00",X"00",X"00",X"00",X"70",X"00",X"0F",X"E1",X"00",X"00",X"0C",X"8F",X"FF",X"F3",X"F5",X"FF", + X"C0",X"3C",X"E1",X"B4",X"96",X"F0",X"F0",X"3C",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"00",X"00",X"00",X"08",X"F5",X"F0",X"FF",X"FF", + X"C0",X"B4",X"E1",X"BC",X"9F",X"1F",X"FF",X"3F",X"00",X"00",X"00",X"FF",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"87",X"F9",X"F0",X"FF",X"FE", + X"CC",X"3C",X"EF",X"BF",X"9F",X"1F",X"FF",X"3F",X"00",X"00",X"88",X"FF",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0E",X"F7",X"F9",X"F3",X"FF",X"FE", + X"CC",X"3F",X"EF",X"BF",X"9F",X"FF",X"FF",X"3F",X"00",X"00",X"88",X"FF",X"FF",X"6F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0E",X"EF",X"F7",X"FB",X"FB",X"FF",X"FE", + X"CC",X"B7",X"EF",X"BF",X"9F",X"1F",X"FF",X"37",X"00",X"00",X"88",X"FF",X"FF",X"1F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"CE",X"FF",X"FB",X"FF",X"FF",X"FE", + X"CC",X"3F",X"EF",X"BF",X"9F",X"1F",X"FF",X"B3",X"00",X"00",X"00",X"FF",X"FF",X"53",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0C",X"EF",X"FF",X"FB",X"FF",X"FF",X"FE", + X"CC",X"B7",X"EF",X"BF",X"9F",X"FF",X"FF",X"D1",X"00",X"00",X"00",X"F7",X"FF",X"53",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"0E",X"CF",X"FF",X"FF",X"F9",X"FF",X"FC",X"FE", + X"88",X"3F",X"EF",X"BF",X"9F",X"1F",X"FF",X"E0",X"00",X"00",X"00",X"E8",X"FF",X"53",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0C",X"CF",X"FD",X"FD",X"FE",X"F0",X"F7", + X"00",X"33",X"EF",X"BF",X"9F",X"1F",X"77",X"F0",X"00",X"00",X"00",X"CC",X"FF",X"53",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0C",X"E9",X"FD",X"FE",X"F0",X"F0", + X"00",X"00",X"EE",X"BF",X"99",X"FF",X"B3",X"F0",X"00",X"00",X"00",X"CC",X"FF",X"43",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"CA",X"FD",X"F4",X"F0",X"F0", + X"00",X"00",X"EE",X"33",X"00",X"00",X"C0",X"F0",X"00",X"00",X"00",X"88",X"7F",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0C",X"CB",X"F2",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"00",X"00",X"00",X"88",X"3F",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"08",X"CF",X"3D",X"F7",X"F0",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FE",X"00",X"00",X"00",X"08",X"C3",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"8F",X"FF",X"FE",X"F7",X"FA",X"F1",X"FC", + X"00",X"00",X"00",X"00",X"00",X"80",X"78",X"FF",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"FE", + X"00",X"00",X"00",X"00",X"00",X"C0",X"7E",X"7F",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"F0",X"00",X"0F",X"FA",X"F9",X"FE",X"FD",X"F3",X"FE", + X"00",X"00",X"00",X"00",X"00",X"E8",X"7F",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"87",X"F0",X"F9",X"FD",X"F7",X"FE", + X"00",X"00",X"00",X"00",X"00",X"EE",X"7F",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"08",X"C3",X"F3",X"FD",X"F7",X"F7", + X"00",X"00",X"00",X"00",X"00",X"CC",X"7F",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"0C",X"F7",X"FB",X"F6",X"F7", + X"00",X"00",X"00",X"00",X"00",X"88",X"7F",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"8F",X"FB",X"F5",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"08",X"CF",X"FF",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"0C",X"ED",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"4C",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"F3", + X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0C",X"EF",X"FB", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"8E",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F8", + X"00",X"00",X"00",X"00",X"00",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E9", + 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"); +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/Jaleco Exerion/rtl/rom/exerion_02.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_02.vhd new file mode 100644 index 00000000..7e3fa964 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_02.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_02 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 exerion_02 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FD",X"FC",X"F1",X"FE",X"FF",X"F0",X"F0",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF", + X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"FD",X"FC",X"F1",X"FE",X"FF",X"F0",X"F8",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF", + X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0", + X"FD",X"FC",X"F1",X"FE",X"F7",X"F0",X"F8",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF", + X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0", + X"FD",X"FC",X"F1",X"FE",X"F7",X"F0",X"FC",X"FF",X"FF",X"F1",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF", + X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0", + X"FD",X"FC",X"F1",X"FF",X"F7",X"F0",X"FC",X"FF",X"FF",X"F1",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF", + X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0", + X"FD",X"FC",X"F0",X"FF",X"F3",X"F0",X"FE",X"FF",X"FF",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF", + X"F3",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0", + X"FD",X"FC",X"F0",X"FF",X"F3",X"F0",X"FE",X"FF",X"F7",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF", + X"F1",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0", + X"FD",X"FC",X"F0",X"FF",X"F1",X"F0",X"FF",X"FF",X"F3",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"F7", + X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0", + X"F5",X"FE",X"F8",X"FF",X"F1",X"F0",X"FF",X"FF",X"F3",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"F3", + X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0", + X"F5",X"FE",X"F8",X"FF",X"F0",X"F8",X"FF",X"FF",X"F1",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"F1", + X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"FE",X"F8",X"FF",X"F0",X"F8",X"FF",X"FF",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"F0", + X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"F6",X"F8",X"FF",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"F7",X"F0", + X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"F6",X"FC",X"F7",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"F3",X"F0", + X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"F6",X"FC",X"F7",X"F0",X"FE",X"FF",X"F3",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"F1",X"F0", + X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"F6",X"FC",X"F3",X"F0",X"FE",X"FF",X"F1",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"F0",X"F0", + X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F5",X"F6",X"FC",X"F3",X"F0",X"FF",X"FF",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0", + X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F2",X"F3",X"FE",X"F1",X"F0",X"FF",X"FF",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0", + X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC", + X"F2",X"F3",X"FE",X"F1",X"F0",X"FF",X"F7",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0", + X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF", + X"F2",X"F3",X"FE",X"F1",X"F0",X"FF",X"F7",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0", + X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF", + X"F2",X"F3",X"FE",X"F1",X"F8",X"FF",X"F3",X"F0",X"F0",X"FC",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0", + X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF", + X"F2",X"F3",X"FE",X"F0",X"F8",X"FF",X"F3",X"F0",X"F0",X"FE",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0", + X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF", + X"F2",X"F3",X"FF",X"F0",X"FC",X"FF",X"F1",X"F0",X"F0",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0", + X"FC",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF", + X"F2",X"F3",X"FF",X"F0",X"FC",X"FF",X"F1",X"F0",X"F8",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0", + X"FE",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF", + X"F2",X"F3",X"FF",X"F0",X"FE",X"FF",X"F0",X"F0",X"F8",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F8", + X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F1",X"F7",X"F0",X"FE",X"FF",X"F0",X"F0",X"FC",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"FC", + X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F1",X"F7",X"F0",X"FE",X"F7",X"F0",X"F0",X"FE",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"FE", + X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F1",X"F7",X"F0",X"FF",X"F7",X"F0",X"F0",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"FF", + X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F9",X"F7",X"F0",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F8",X"FF", + X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F9",X"F3",X"F8",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"FC",X"FF", + X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F9",X"F3",X"F8",X"FF",X"F1",X"F0",X"FC",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"FE",X"FF", + X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F9",X"F3",X"FC",X"FF",X"F1",X"F0",X"FE",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"FF",X"FF", + X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FA",X"F9",X"F3",X"FC",X"FF",X"F0",X"F0",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF", + X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F6",X"F3",X"FE",X"F0",X"FF",X"F1",X"F8",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F7",X"F0",X"F0", + X"F8",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"F6",X"F3",X"FE",X"F0",X"FF",X"F1",X"F8",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F3",X"F0",X"F0", + X"F8",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1", + X"F6",X"F3",X"FE",X"F0",X"FF",X"F1",X"FC",X"FF",X"F1",X"F0",X"FC",X"FF",X"FF",X"F1",X"F0",X"F0", + X"FC",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0", + X"F6",X"F3",X"FE",X"F0",X"FF",X"F0",X"FC",X"FF",X"F1",X"F0",X"FC",X"FF",X"FF",X"F1",X"F0",X"F0", + X"FE",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0", + X"F6",X"F3",X"FE",X"F8",X"FF",X"F0",X"FC",X"FF",X"F0",X"F0",X"FE",X"FF",X"FF",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0", + X"F6",X"F3",X"F7",X"F8",X"FF",X"F0",X"FE",X"FF",X"F0",X"F0",X"FE",X"FF",X"F7",X"F0",X"F0",X"F0", + X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0", + X"F6",X"F3",X"F7",X"F8",X"F7",X"F0",X"FE",X"F7",X"F0",X"F0",X"FF",X"FF",X"F3",X"F0",X"F0",X"F8", + X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0", + X"F6",X"F3",X"F7",X"F8",X"F7",X"F0",X"FE",X"F7",X"F0",X"F0",X"FF",X"FF",X"F3",X"F0",X"F0",X"FC", + X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0", + X"FA",X"F1",X"F7",X"FC",X"F7",X"F0",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F1",X"F0",X"F0",X"FE", + X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0", + X"FA",X"F1",X"F7",X"FC",X"F3",X"F0",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F0",X"F0",X"F0",X"FE", + X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0", + X"FA",X"F1",X"F7",X"FC",X"F3",X"F8",X"FF",X"F3",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"F0",X"FF", + X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0", + X"FA",X"F9",X"F3",X"FC",X"F3",X"F8",X"FF",X"F1",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"F8",X"FF", + X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0", + X"FA",X"F9",X"F3",X"FE",X"F1",X"F8",X"FF",X"F1",X"F0",X"FE",X"FF",X"F3",X"F0",X"F0",X"FC",X"FF", + X"FF",X"F7",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FA",X"F9",X"F3",X"FE",X"F1",X"FC",X"FF",X"F0",X"F0",X"FF",X"FF",X"F1",X"F0",X"F0",X"FE",X"FF", + X"FF",X"F3",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FA",X"F9",X"F3",X"FE",X"F1",X"FC",X"FF",X"F0",X"F0",X"FF",X"FF",X"F1",X"F0",X"F0",X"FF",X"FF", + X"FF",X"F1",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0", + X"FA",X"F9",X"F3",X"FE",X"F1",X"FC",X"FF",X"F0",X"F8",X"FF",X"FF",X"F0",X"F0",X"F8",X"FF",X"FF", + X"FF",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"F9",X"FC",X"F1",X"FF",X"F0",X"FE",X"F7",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"F8",X"FF",X"FF", + X"F7",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC", + X"F9",X"FC",X"F1",X"FF",X"F0",X"FE",X"F7",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"FC",X"FF",X"FF", + X"F7",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"FE", + X"F9",X"FC",X"F1",X"FF",X"F0",X"FE",X"F3",X"F0",X"FE",X"FF",X"F3",X"F0",X"F0",X"FE",X"FF",X"FF", + X"F3",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF", + X"F9",X"FC",X"F1",X"FF",X"F0",X"FF",X"F3",X"F0",X"FE",X"FF",X"F3",X"F0",X"F0",X"FE",X"FF",X"FF", + X"F1",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF", + X"F9",X"FC",X"F1",X"F7",X"F0",X"FF",X"F3",X"F0",X"FF",X"FF",X"F1",X"F0",X"F0",X"FF",X"FF",X"FF", + X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF", + X"F9",X"FC",X"F8",X"F7",X"F0",X"FF",X"F1",X"F0",X"FF",X"FF",X"F1",X"F0",X"F8",X"FF",X"FF",X"FF", + X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF", + X"F9",X"FC",X"F8",X"F7",X"F8",X"FF",X"F1",X"F8",X"FF",X"FF",X"F0",X"F0",X"FC",X"FF",X"FF",X"F7", + X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF", + X"F9",X"FC",X"F8",X"F7",X"F8",X"FF",X"F1",X"F8",X"FF",X"FF",X"F0",X"F0",X"FC",X"FF",X"FF",X"F3", + X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF", + X"F5",X"FE",X"F8",X"F3",X"F8",X"FF",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"FE",X"FF",X"FF",X"F1", + X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF", + X"F5",X"FE",X"F8",X"F3",X"FC",X"FF",X"F0",X"FC",X"FF",X"F7",X"F0",X"F0",X"FF",X"FF",X"FF",X"F1", + X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF", + X"F5",X"FE",X"F8",X"F3",X"FC",X"F7",X"F0",X"FC",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"FF",X"F0", + X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF", + X"F5",X"F6",X"FC",X"F3",X"FC",X"F7",X"F0",X"FE",X"FF",X"F3",X"F0",X"F8",X"FF",X"FF",X"F7",X"F0", + X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF", + X"F5",X"F6",X"FC",X"F1",X"FE",X"F7",X"F0",X"FE",X"FF",X"F1",X"F0",X"FC",X"FF",X"FF",X"F3",X"F0", + X"F0",X"F8",X"FF",X"FF",X"FF",X"F7",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F5",X"F6",X"FC",X"F1",X"FE",X"F3",X"F0",X"FF",X"FF",X"F0",X"F0",X"FE",X"FF",X"FF",X"F1",X"F0", + X"F0",X"FC",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F5",X"F6",X"FC",X"F1",X"FE",X"F3",X"F0",X"FF",X"FF",X"F0",X"F0",X"FE",X"FF",X"FF",X"F0",X"F0", + X"F0",X"FE",X"FF",X"FF",X"FF",X"F1",X"F0",X"F0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F5",X"F6",X"FC",X"F1",X"FE",X"F3",X"F0",X"FF",X"F7",X"F0",X"F0",X"FF",X"FF",X"F7",X"F0",X"F0", + X"F0",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/Jaleco Exerion/rtl/rom/exerion_03.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_03.vhd new file mode 100644 index 00000000..d40e2b17 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_03.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_03 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 exerion_03 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",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"00",X"00",X"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"F0",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"00",X"00",X"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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"C0",X"F0",X"10",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"CC",X"60",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"68",X"87",X"30",X"F0",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"3E",X"0F",X"3D",X"F0",X"0F",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"68", + X"00",X"00",X"FF",X"FF",X"3F",X"F0",X"F0",X"FC",X"00",X"00",X"00",X"00",X"00",X"CE",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"78", + X"00",X"00",X"7F",X"8F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"00",X"00",X"AE",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C", + X"00",X"00",X"3F",X"0F",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"3C", + X"00",X"00",X"7F",X"8F",X"3F",X"FF",X"F0",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"30",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"1E", + X"00",X"00",X"FF",X"FF",X"3F",X"FF",X"0F",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"13",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"87", + X"00",X"00",X"3F",X"0F",X"33",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"13",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"C0",X"78",X"E1", + X"00",X"00",X"6E",X"8F",X"11",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"EF",X"13",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"80",X"F0",X"96",X"F0", + 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"00",X"CE",X"01",X"00", + X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"88",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"01",X"00", + X"00",X"08",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"00",X"00",X"00",X"00",X"3C",X"C3",X"F0",X"F9", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00", + X"00",X"0C",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F1",X"F4",X"F0",X"F9", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F5",X"F6",X"F8",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FD",X"FE",X"F8",X"7F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"7F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"1F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",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"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",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"CC",X"FF",X"FF",X"FF",X"77",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",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"40",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"3B",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"0F",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"C4",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"1D",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",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"CC",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"FF",X"0E",X"F0",X"F0",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",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"CC",X"10",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FF",X"77",X"0F",X"F0",X"F0",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"0F",X"87", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"10",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"0F",X"F0",X"F0",X"00",X"00",X"1F",X"0F",X"0F",X"87",X"0F",X"87", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"16",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"0F",X"F0",X"F0",X"00",X"00",X"2F",X"0F",X"0F",X"87",X"0F",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"3D",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"F0",X"F0",X"00",X"08",X"2F",X"0F",X"1E",X"A5",X"4B",X"C3", + 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"3D",X"07",X"00",X"00", + X"00",X"00",X"00",X"00",X"0F",X"0F",X"F0",X"F0",X"00",X"08",X"2F",X"1E",X"3C",X"E1",X"E1",X"61", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"00",X"00",X"00",X"FF",X"FB",X"17",X"00",X"00", + X"00",X"00",X"00",X"00",X"7F",X"0F",X"F0",X"F0",X"00",X"08",X"6B",X"96",X"3C",X"F0",X"F4",X"E1", + X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"F0",X"00",X"00",X"00",X"FF",X"FB",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"3F",X"F0",X"F0",X"00",X"08",X"E3",X"D2",X"78",X"F0",X"F4",X"E3", + X"00",X"00",X"00",X"00",X"00",X"F0",X"30",X"00",X"00",X"00",X"88",X"FF",X"FB",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"F0",X"F0",X"00",X"08",X"E3",X"F8",X"78",X"F4",X"F4",X"F6", + X"00",X"00",X"00",X"00",X"E0",X"70",X"00",X"00",X"00",X"00",X"88",X"FF",X"FB",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"FF",X"F0",X"F0",X"00",X"08",X"E3",X"FC",X"F4",X"FD",X"FF",X"F7", + X"00",X"00",X"00",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FB",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"F0",X"F0",X"00",X"08",X"E3",X"FF",X"FE",X"FD",X"F9",X"F7", + X"00",X"00",X"00",X"E0",X"10",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FD",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"F0",X"F0",X"00",X"08",X"EB",X"FF",X"FF",X"FD",X"FD",X"FE", + X"00",X"00",X"80",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"F0",X"F0",X"00",X"00",X"E3",X"FF",X"FF",X"FD",X"FF",X"FF", + X"00",X"00",X"C0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"3F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"88",X"F0",X"F0",X"00",X"00",X"F1",X"FA",X"FF",X"FE",X"FF",X"F3", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"1F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"F0",X"F0",X"FA",X"FA",X"FF",X"F3", + X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"17",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"E0",X"F8",X"F0",X"FC",X"FB", + X"00",X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F",X"25",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F8",X"F0",X"FC",X"F3", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"71",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F7", + X"00",X"C0",X"00",X"80",X"F0",X"30",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"73",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"FF", + X"00",X"60",X"00",X"84",X"F0",X"34",X"00",X"0C",X"00",X"00",X"00",X"CC",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"FE", + X"00",X"60",X"00",X"A4",X"F0",X"B4",X"00",X"0E",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F8", + X"00",X"30",X"00",X"A5",X"F0",X"B4",X"01",X"0F",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"30",X"80",X"A5",X"F0",X"B4",X"21",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"F1",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"30",X"84",X"A5",X"F0",X"B4",X"29",X"01",X"00",X"00",X"00",X"FF",X"FF",X"43",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"80",X"10",X"A4",X"A5",X"F0",X"B4",X"2D",X"00",X"00",X"00",X"00",X"FF",X"CF",X"37",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8", + X"80",X"10",X"B4",X"A5",X"F0",X"B4",X"2D",X"00",X"00",X"00",X"00",X"FF",X"8C",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8", + X"80",X"10",X"AE",X"A5",X"F0",X"B4",X"2F",X"00",X"00",X"00",X"00",X"FF",X"3B",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8", + X"C0",X"00",X"8C",X"A7",X"F0",X"BC",X"2B",X"01",X"00",X"00",X"00",X"FF",X"7F",X"7F",X"01",X"00", + X"00",X"00",X"00",X"00",X"2E",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"C0",X"00",X"88",X"AF",X"FF",X"BF",X"23",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"7F",X"01",X"00", + X"00",X"00",X"00",X"00",X"6E",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"C0",X"00",X"00",X"AF",X"FF",X"BF",X"01",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"C0",X"00",X"00",X"AE",X"FF",X"BF",X"00",X"0E",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"C0",X"00",X"00",X"8C",X"FF",X"37",X"00",X"0C",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"60",X"00",X"00",X"88",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"CC",X"F7",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF", + X"60",X"00",X"00",X"00",X"00",X"F0",X"10",X"0E",X"00",X"00",X"00",X"CC",X"F7",X"FF",X"03",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF", + X"60",X"00",X"00",X"00",X"08",X"F0",X"12",X"07",X"00",X"00",X"00",X"C8",X"FB",X"FF",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF", + X"60",X"00",X"00",X"00",X"48",X"F0",X"5A",X"00",X"00",X"00",X"00",X"80",X"39",X"7F",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"60",X"00",X"00",X"00",X"4A",X"F0",X"D2",X"00",X"00",X"00",X"00",X"80",X"18",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF", + X"30",X"00",X"00",X"00",X"5A",X"F0",X"D2",X"0C",X"00",X"00",X"00",X"00",X"00",X"AF",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF", + X"30",X"00",X"00",X"80",X"5B",X"F0",X"DA",X"0F",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"F0",X"F0",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"FF", + X"30",X"00",X"00",X"00",X"5F",X"F0",X"DE",X"0C",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"00",X"F0",X"F0",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF", + X"30",X"00",X"00",X"E0",X"4E",X"FF",X"DF",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"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF", + X"30",X"00",X"00",X"E1",X"5C",X"FF",X"5F",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"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"30",X"00",X"80",X"E1",X"38",X"FF",X"13",X"07",X"00",X"00",X"B3",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"EE",X"FF",X"FF",X"FF",X"FF",X"FB",X"FF", + X"30",X"00",X"C0",X"E1",X"70",X"FF",X"51",X"0E",X"00",X"88",X"F7",X"31",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"FD", + X"30",X"00",X"C2",X"E1",X"F0",X"00",X"42",X"08",X"00",X"88",X"FF",X"31",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F2",X"F0",X"00",X"FF",X"FF",X"FF",X"FD",X"FF",X"FB",X"FD", + X"30",X"00",X"D2",X"E1",X"F0",X"B4",X"52",X"00",X"00",X"88",X"FF",X"31",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"F0",X"08",X"FF",X"FF",X"FF",X"FD",X"FF",X"F3",X"FD", + X"30",X"80",X"D2",X"E1",X"F0",X"B4",X"52",X"00",X"00",X"88",X"FF",X"31",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"88",X"F3",X"F0",X"08",X"FF",X"FF",X"FF",X"FD",X"FF",X"F1",X"FD", + X"30",X"84",X"D2",X"E1",X"F0",X"B4",X"52",X"0C",X"00",X"CC",X"FF",X"31",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"F3",X"F0",X"08",X"FF",X"FF",X"F5",X"F9",X"FF",X"F1",X"FD", + X"30",X"A4",X"D2",X"E1",X"F0",X"B4",X"1E",X"0F",X"00",X"CC",X"FF",X"73",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"F0",X"08",X"FF",X"FF",X"F5",X"F9",X"FE",X"F1",X"FD", + X"30",X"B4",X"D2",X"E1",X"F0",X"B4",X"1E",X"0F",X"00",X"EE",X"FF",X"73",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"F0",X"08",X"FF",X"FE",X"F1",X"F8",X"FE",X"F0",X"F8", + X"30",X"A6",X"D2",X"E1",X"F0",X"B4",X"52",X"0C",X"00",X"EE",X"FF",X"71",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"FF",X"F7",X"F0",X"08",X"F6",X"FC",X"F0",X"F0",X"FC",X"F0",X"F8", + X"30",X"8C",X"D3",X"E1",X"F0",X"B4",X"56",X"00",X"00",X"FF",X"FF",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"F7",X"F0",X"08",X"F6",X"FC",X"F0",X"F0",X"FC",X"F0",X"F8", + X"30",X"88",X"DF",X"E1",X"F0",X"BC",X"57",X"00",X"00",X"FF",X"F7",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"08",X"E3",X"F8",X"96",X"F0",X"F8",X"C3",X"F0", + X"60",X"00",X"DF",X"EF",X"FF",X"BF",X"57",X"00",X"00",X"FF",X"F3",X"17",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"F7",X"F0",X"08",X"E1",X"5A",X"4B",X"B4",X"F8",X"C3",X"D2", + X"60",X"00",X"CE",X"EF",X"FF",X"BF",X"17",X"00",X"00",X"FF",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"F7",X"F0",X"08",X"69",X"5A",X"4B",X"B4",X"F0",X"E1",X"D2", + X"60",X"00",X"CC",X"EF",X"FF",X"BF",X"1F",X"00",X"00",X"FF",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"CC",X"FF",X"FF",X"F7",X"F0",X"08",X"69",X"0F",X"0F",X"0F",X"F0",X"B4",X"D2", + X"60",X"00",X"88",X"EF",X"FF",X"BF",X"0C",X"03",X"00",X"FE",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"EE",X"FF",X"FF",X"F7",X"F0",X"08",X"3D",X"87",X"3C",X"0F",X"87",X"B4",X"C3", + X"60",X"00",X"00",X"EF",X"FF",X"37",X"08",X"0F",X"00",X"EC",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"08",X"1F",X"0F",X"3C",X"0F",X"0F",X"A5",X"C3", + X"60",X"00",X"00",X"EE",X"FF",X"33",X"00",X"0F",X"00",X"EC",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"F0",X"08",X"1F",X"0F",X"96",X"4B",X"0F",X"C3",X"96", + X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"C8",X"FF",X"3F",X"00",X"00",X"00",X"00", + X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"78",X"1E",X"87",X"4B",X"0F",X"B4",X"96", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"E8",X"FD",X"17",X"00",X"00",X"08",X"00", + X"00",X"00",X"EE",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"F0",X"F0",X"0F",X"4B",X"0F",X"78",X"96", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E4",X"FE",X"17",X"00",X"00",X"08",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"F0",X"A5",X"F0",X"0F",X"78",X"96", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EC",X"FF",X"12",X"00",X"00",X"4C",X"00", + X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"A5",X"F0",X"0F",X"78",X"3C", + X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EC",X"FF",X"10",X"00",X"00",X"CC",X"01", + X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"80",X"F0",X"5A",X"69",X"78", + X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8",X"FF",X"10",X"00",X"00",X"CC",X"01", + X"00",X"EE",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"C0",X"F0",X"1E",X"69", + X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8",X"F7",X"00",X"00",X"00",X"EE",X"13", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"00",X"E0",X"1E",X"69", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F3",X"00",X"00",X"00",X"EE",X"13", + X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"00",X"80",X"1E",X"4B", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"70",X"00",X"00",X"00",X"FF",X"13", + X"CC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"96",X"87", + X"00",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"FF",X"37", + X"EE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"1E", + X"00",X"60",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"FF",X"3F", + X"0E",X"CF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"3C", + X"00",X"C0",X"00",X"00",X"00",X"00",X"F0",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F", + X"0C",X"0F",X"8F",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"78", + X"00",X"C0",X"00",X"00",X"00",X"78",X"F0",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F", + X"08",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"78", + X"00",X"80",X"10",X"00",X"78",X"78",X"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F", + X"00",X"0F",X"0F",X"0F",X"0F",X"EF",X"FF",X"F7",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"78", + X"00",X"80",X"10",X"00",X"7F",X"7F",X"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F", + X"00",X"0E",X"0F",X"0F",X"0F",X"0F",X"CF",X"F7",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"30",X"00",X"00",X"7F",X"FF",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"7F", + X"00",X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"60",X"00",X"00",X"00",X"FF",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"3F", + X"00",X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"C3",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"17", + X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"C3",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"80",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"21", + X"00",X"00",X"0E",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"71", + X"00",X"00",X"0C",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"00",X"E0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"71", + X"00",X"00",X"08",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F0", + X"00",X"00",X"00",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"88",X"FF",X"73", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"E0",X"70",X"00",X"00",X"00",X"00",X"13",X"00",X"00",X"88",X"FF",X"F3", + X"00",X"00",X"00",X"0E",X"0F",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"E1",X"F8", + X"00",X"00",X"00",X"00",X"00",X"F0",X"30",X"00",X"00",X"00",X"37",X"00",X"00",X"88",X"FF",X"F7", + X"00",X"00",X"00",X"0C",X"0F",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"E9",X"F8", + X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"F0",X"00",X"00",X"37",X"00",X"00",X"88",X"FF",X"F7", + X"00",X"00",X"00",X"08",X"0F",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"E9",X"FD", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"00",X"88",X"37",X"00",X"00",X"00",X"FD",X"F7", + X"00",X"00",X"00",X"00",X"0F",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"ED",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"37",X"00",X"00",X"00",X"EC",X"F7", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"EF",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"3F",X"00",X"00",X"00",X"E8",X"73", + X"00",X"00",X"00",X"00",X"0C",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"FF",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F",X"00",X"00",X"00",X"C0",X"70", + X"00",X"00",X"00",X"00",X"08",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"F3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"7F",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E2", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0E",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"68", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"78", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"F3",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C", + X"00",X"00",X"E0",X"30",X"F0",X"90",X"F0",X"70",X"00",X"88",X"F5",X"12",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"3C", + X"00",X"00",X"E0",X"B4",X"F0",X"96",X"F0",X"78",X"00",X"88",X"FF",X"12",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"1E", + X"00",X"30",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"00",X"88",X"FF",X"71",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"87", + X"80",X"3C",X"E1",X"B4",X"F0",X"F0",X"F0",X"78",X"00",X"CC",X"FF",X"71",X"00",X"00",X"22",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"C0",X"78",X"E1", + X"C0",X"3C",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"00",X"CC",X"FF",X"73",X"00",X"00",X"33",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"80",X"F0",X"96",X"F0", + X"C0",X"3C",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"00",X"CE",X"FF",X"73",X"00",X"00",X"77",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"C0",X"3C",X"E1",X"B4",X"F0",X"F0",X"F0",X"78",X"00",X"CE",X"FF",X"73",X"00",X"88",X"77",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"3C",X"C3",X"F0",X"F9", + X"C0",X"3C",X"E1",X"B4",X"F0",X"96",X"F0",X"78",X"00",X"CE",X"FF",X"73",X"00",X"88",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F1",X"F4",X"F0",X"F9", + X"C4",X"3C",X"E1",X"BC",X"FF",X"97",X"F0",X"78",X"00",X"8E",X"FF",X"73",X"00",X"00",X"FF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F5",X"F6",X"F8",X"FF", + X"CC",X"3C",X"E1",X"BC",X"FF",X"F9",X"FF",X"7F",X"00",X"8E",X"FF",X"43",X"00",X"88",X"7F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FD",X"FE",X"F8",X"7F", + X"CC",X"3F",X"EF",X"BF",X"FF",X"9F",X"FF",X"7F",X"00",X"0C",X"FF",X"37",X"00",X"88",X"7F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"7F", + X"88",X"3F",X"EF",X"BF",X"FF",X"9F",X"FF",X"7F",X"00",X"0C",X"FF",X"7F",X"00",X"CC",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"3F", + X"00",X"33",X"EF",X"BF",X"FF",X"F9",X"FF",X"7F",X"00",X"08",X"6F",X"7F",X"00",X"CC",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"08",X"E1",X"F0",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"1F", + X"00",X"00",X"EE",X"BF",X"FF",X"9F",X"FF",X"7F",X"00",X"00",X"8F",X"7F",X"00",X"CC",X"5F",X"10", + X"00",X"00",X"00",X"00",X"00",X"0C",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"0F", + X"00",X"00",X"EE",X"33",X"FF",X"99",X"FF",X"77",X"00",X"00",X"CC",X"7F",X"00",X"CC",X"BF",X"10", + X"00",X"00",X"00",X"00",X"00",X"0E",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"0F", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"88",X"CC",X"3F",X"00",X"88",X"EF",X"10", + X"00",X"00",X"00",X"00",X"00",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0F", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"88",X"88",X"37",X"00",X"88",X"C7",X"00", + X"00",X"00",X"00",X"00",X"08",X"0F",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"08",X"0F",X"0F", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"CC",X"98",X"17",X"00",X"00",X"C1",X"00", + X"00",X"00",X"00",X"00",X"0C",X"0F",X"0F",X"F0",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"CC",X"10",X"07",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"F0",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"CC",X"31",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"0F",X"87", + X"00",X"00",X"C0",X"F0",X"AE",X"C0",X"10",X"F0",X"00",X"EE",X"31",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"08",X"0F",X"0F",X"0F",X"C3",X"00",X"00",X"1F",X"0F",X"0F",X"87",X"0F",X"87", + X"00",X"00",X"E0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"EE",X"30",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0C",X"0F",X"0F",X"0F",X"87",X"00",X"00",X"2F",X"0F",X"0F",X"87",X"0F",X"C3", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"E6",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"0F",X"0F",X"FF",X"F7",X"00",X"08",X"2F",X"0F",X"1E",X"A5",X"4B",X"C3", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"1E",X"F0",X"00",X"6E",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"FF",X"FF",X"F7",X"00",X"08",X"2F",X"1E",X"3C",X"E1",X"E1",X"E1", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"08",X"8F",X"FF",X"FF",X"FF",X"F7",X"00",X"08",X"6B",X"96",X"3C",X"F0",X"F0",X"E1", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"5A",X"F0",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"08",X"E3",X"D2",X"78",X"F0",X"F0",X"E1", + X"00",X"00",X"F0",X"F0",X"E1",X"D2",X"1E",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"08",X"E3",X"F0",X"78",X"F0",X"F0",X"F0", + X"00",X"00",X"F3",X"F0",X"EF",X"D3",X"5A",X"FF",X"00",X"00",X"00",X"00",X"22",X"01",X"00",X"00", + X"00",X"00",X"00",X"EE",X"FF",X"FF",X"FF",X"F1",X"00",X"08",X"E3",X"FF",X"F7",X"F0",X"FF",X"F1", + X"00",X"00",X"EE",X"FF",X"EF",X"DF",X"5B",X"FF",X"00",X"00",X"00",X"00",X"3B",X"03",X"00",X"00", + X"00",X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"E3",X"F8",X"FF",X"F1",X"F8",X"F7", + X"00",X"00",X"CC",X"FF",X"AE",X"CC",X"11",X"FF",X"00",X"00",X"00",X"88",X"3F",X"13",X"00",X"00", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"F1",X"F0",X"F8",X"F7",X"F0",X"FE", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"BF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"AE",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"F0", + X"00",X"00",X"00",X"E0",X"F0",X"30",X"F0",X"0C",X"00",X"00",X"00",X"CC",X"FF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"F3", + X"00",X"00",X"80",X"E1",X"F0",X"3C",X"F0",X"2E",X"00",X"00",X"00",X"CC",X"FF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F6", + X"00",X"00",X"E0",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CC",X"FF",X"13",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"FC", + X"00",X"C0",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CC",X"FF",X"37",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8", + X"80",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CC",X"FF",X"37",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"88",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"A4",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CE",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"B4",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CE",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"B4",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"CE",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80", + X"B7",X"D2",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"8C",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88", + X"AE",X"D3",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"6E",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"88",X"DF",X"E1",X"E1",X"F0",X"3C",X"F0",X"2F",X"00",X"00",X"00",X"EE",X"CF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"CC",X"EF",X"EF",X"FF",X"3F",X"FF",X"2F",X"00",X"00",X"00",X"FF",X"FF",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"00",X"00",X"EE",X"EF",X"FF",X"3F",X"FF",X"2F",X"00",X"00",X"00",X"FF",X"FF",X"37",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"00",X"E0",X"98",X"EF",X"FF",X"3F",X"FF",X"2E",X"00",X"00",X"00",X"FF",X"FF",X"37",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF", + X"00",X"F0",X"70",X"EE",X"FF",X"33",X"FF",X"0C",X"00",X"00",X"00",X"FF",X"FF",X"03",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"AE",X"FF",X"FF", + X"00",X"F0",X"F0",X"10",X"00",X"C0",X"00",X"30",X"00",X"00",X"00",X"FF",X"FF",X"73",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"6E",X"FF",X"FF", + X"00",X"F0",X"F0",X"B4",X"F0",X"D2",X"F0",X"F0",X"00",X"00",X"00",X"FF",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"FF",X"FD", + X"00",X"F0",X"F0",X"B4",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"FF",X"FD", + X"00",X"F0",X"F0",X"B4",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"FD",X"F8", + X"00",X"F0",X"F0",X"B4",X"F0",X"D2",X"F0",X"F0",X"00",X"00",X"00",X"EE",X"77",X"E7",X"00",X"00", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"FC",X"F8", + X"00",X"F0",X"F0",X"B4",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"EE",X"77",X"E7",X"00",X"00", + X"00",X"00",X"00",X"EE",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F4",X"F8", + X"00",X"F1",X"F0",X"B4",X"F0",X"D2",X"87",X"F0",X"00",X"00",X"00",X"CC",X"3B",X"F7",X"00",X"00", + X"00",X"00",X"00",X"CC",X"FF",X"FF",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F0",X"F8", + X"00",X"F3",X"F0",X"BC",X"FF",X"D3",X"F8",X"FF",X"00",X"00",X"00",X"CC",X"BF",X"71",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F0",X"F8", + X"00",X"EE",X"FF",X"BF",X"FF",X"DF",X"8F",X"FF",X"00",X"00",X"00",X"CC",X"FF",X"31",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F0",X"F0", + X"00",X"CC",X"FF",X"BF",X"FF",X"DF",X"8F",X"FF",X"00",X"00",X"00",X"CC",X"FE",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F0",X"F0", + X"00",X"88",X"FF",X"33",X"00",X"CC",X"88",X"FF",X"00",X"00",X"00",X"88",X"F0",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"7F",X"F0",X"F0", + X"00",X"00",X"00",X"E0",X"F0",X"30",X"00",X"00",X"00",X"00",X"00",X"88",X"D0",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"6E",X"F0",X"F0", + X"00",X"00",X"00",X"E1",X"F0",X"3C",X"00",X"0E",X"00",X"00",X"00",X"00",X"B0",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"A6",X"F0",X"F0", + X"00",X"00",X"80",X"E1",X"F0",X"3C",X"10",X"0F",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"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F8", + X"00",X"00",X"C0",X"E1",X"F0",X"3C",X"38",X"01",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"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8", + X"00",X"00",X"C2",X"E1",X"F0",X"3C",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"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E8", + X"00",X"00",X"D2",X"E1",X"F0",X"3C",X"34",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"88",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"80",X"D2",X"E1",X"F0",X"3C",X"34",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"84",X"D2",X"E1",X"F0",X"3C",X"34",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"00",X"A4",X"D2",X"E1",X"F0",X"00",X"24",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"00",X"B4",X"D2",X"E1",X"70",X"F0",X"14",X"0E",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"88",X"FF",X"F3",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"00",X"A6",X"D2",X"E1",X"38",X"F0",X"12",X"07",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"CC",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF", + X"00",X"8C",X"D3",X"E1",X"58",X"F0",X"5A",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F7",X"10", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF", + X"00",X"88",X"DF",X"E1",X"4A",X"F0",X"D2",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"FB",X"31", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"87",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF", + X"00",X"00",X"DF",X"67",X"5A",X"F0",X"D2",X"0C",X"00",X"00",X"00",X"00",X"00",X"08",X"FF",X"31", + X"00",X"00",X"00",X"88",X"FF",X"1F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"CE",X"A3",X"5B",X"F0",X"DA",X"0F",X"00",X"00",X"00",X"00",X"00",X"08",X"FF",X"31", + X"00",X"00",X"00",X"CC",X"1F",X"0F",X"C3",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"CC",X"67",X"5F",X"F0",X"DE",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"EF",X"31", + X"00",X"00",X"00",X"08",X"0F",X"0F",X"C3",X"F0",X"00",X"00",X"CE",X"FF",X"FF",X"FF",X"FF",X"FB", + X"00",X"00",X"88",X"EF",X"4E",X"FF",X"DF",X"00",X"00",X"00",X"19",X"00",X"00",X"00",X"DF",X"31", + X"00",X"00",X"00",X"00",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"AE",X"FF",X"FF",X"FF",X"FF",X"FB", + X"00",X"00",X"00",X"EF",X"5D",X"FF",X"5F",X"00",X"00",X"00",X"19",X"00",X"00",X"00",X"FF",X"30", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"E1",X"F0",X"00",X"00",X"BF",X"FB",X"F7",X"FB",X"FF",X"FB", + X"00",X"00",X"00",X"EE",X"3B",X"FF",X"13",X"07",X"00",X"00",X"3B",X"01",X"00",X"00",X"FF",X"01", + X"00",X"00",X"00",X"00",X"0C",X"0F",X"E1",X"F0",X"00",X"00",X"B7",X"F3",X"F7",X"F1",X"FF",X"FA", + X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"0E",X"00",X"88",X"7F",X"13",X"00",X"00",X"EE",X"01", + X"00",X"00",X"00",X"00",X"08",X"0F",X"E1",X"F0",X"00",X"00",X"B7",X"F2",X"F5",X"F0",X"F7",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"88",X"FF",X"13",X"00",X"00",X"EE",X"01", + X"00",X"00",X"00",X"00",X"00",X"0F",X"F0",X"F0",X"00",X"00",X"B7",X"F2",X"F4",X"F0",X"F6",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"13",X"00",X"00",X"CC",X"01", + X"00",X"00",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"00",X"00",X"B7",X"F0",X"F0",X"F0",X"F6",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"13",X"00",X"00",X"8C",X"01", + X"00",X"00",X"00",X"00",X"00",X"0C",X"F0",X"F0",X"00",X"00",X"B7",X"3C",X"E1",X"F0",X"F2",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"13",X"00",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0",X"00",X"00",X"A6",X"F0",X"1E",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"0F",X"03",X"00",X"00",X"00",X"CC",X"FF",X"37",X"00",X"00",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"C2",X"F0",X"F0",X"F0",X"C3",X"F0", + X"00",X"00",X"00",X"00",X"00",X"02",X"E0",X"E0",X"00",X"EE",X"FF",X"37",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"F0",X"F0",X"3C",X"F0", + X"00",X"00",X"00",X"00",X"80",X"30",X"E1",X"E1",X"00",X"EE",X"FF",X"17",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"E1", + X"00",X"00",X"00",X"70",X"B0",X"78",X"E1",X"E1",X"00",X"FF",X"FF",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"D2", + X"00",X"08",X"80",X"78",X"B4",X"78",X"E1",X"E1",X"00",X"FF",X"7F",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"F1",X"B4", + X"00",X"48",X"C1",X"78",X"B4",X"78",X"E1",X"E1",X"00",X"FF",X"3F",X"71",X"00",X"00",X"13",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"F7",X"F0", + X"00",X"68",X"C3",X"7F",X"BC",X"7F",X"E1",X"EF",X"00",X"FF",X"FF",X"F3",X"00",X"88",X"17",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"F0", + X"00",X"6E",X"CF",X"7F",X"BF",X"7F",X"EF",X"EF",X"00",X"FF",X"FF",X"F3",X"00",X"88",X"17",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"F1", + X"00",X"4C",X"CD",X"7F",X"BF",X"7F",X"EF",X"EF",X"00",X"FF",X"FF",X"F3",X"00",X"CC",X"3F",X"00", + X"00",X"2F",X"0F",X"0F",X"0F",X"0F",X"E1",X"F0",X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"F1", + X"00",X"08",X"88",X"7F",X"BF",X"7F",X"EF",X"EF",X"00",X"EE",X"FF",X"F3",X"00",X"CC",X"3F",X"00", + X"00",X"4F",X"0F",X"0F",X"0F",X"0F",X"C3",X"F0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"00",X"00",X"00",X"77",X"BB",X"7F",X"EF",X"EF",X"00",X"EE",X"FF",X"F3",X"00",X"88",X"3F",X"00", + X"00",X"8F",X"0F",X"0F",X"0F",X"0F",X"87",X"F0",X"08",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"00",X"00",X"00",X"00",X"88",X"33",X"EF",X"EF",X"00",X"8C",X"FF",X"F3",X"00",X"88",X"3F",X"00", + X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"88",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7", + X"00",X"00",X"00",X"00",X"00",X"02",X"EE",X"EE",X"00",X"8E",X"DF",X"71",X"00",X"88",X"7F",X"01", + X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"88",X"EF",X"FF",X"FF",X"FF",X"FF",X"FB",X"F7", + X"00",X"00",X"00",X"00",X"0F",X"03",X"00",X"00",X"00",X"4E",X"EF",X"71",X"00",X"88",X"7F",X"01", + X"00",X"8F",X"FF",X"FF",X"FF",X"FF",X"F7",X"F0",X"CC",X"EF",X"FF",X"FF",X"FF",X"FF",X"FB",X"F7", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"FF",X"21",X"00",X"CC",X"7F",X"01", + X"00",X"CF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"CC",X"EF",X"FF",X"FF",X"FF",X"FF",X"F9",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"FF",X"01",X"00",X"CC",X"7F",X"01", + X"00",X"CF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"CC",X"EF",X"FF",X"F5",X"FF",X"FF",X"F9",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"FF",X"01",X"00",X"CC",X"3F",X"00", + X"00",X"CF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F0",X"CC",X"EF",X"FF",X"F5",X"FE",X"FF",X"F8",X"FF", + X"00",X"00",X"00",X"80",X"F0",X"30",X"00",X"00",X"00",X"8C",X"7F",X"00",X"00",X"EE",X"3F",X"00", + X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"CC",X"EF",X"FE",X"F1",X"FE",X"FE",X"F0",X"FF", + X"00",X"00",X"00",X"84",X"F0",X"34",X"00",X"0C",X"00",X"08",X"3F",X"00",X"00",X"EE",X"17",X"00", + X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"CC",X"E7",X"FC",X"F0",X"FE",X"FE",X"F0",X"FF", + X"00",X"00",X"00",X"A4",X"F0",X"B4",X"00",X"0E",X"00",X"08",X"07",X"00",X"00",X"EE",X"17",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"CC",X"E7",X"FC",X"F0",X"FC",X"FC",X"F0",X"FF", + X"00",X"00",X"00",X"A5",X"F0",X"B4",X"01",X"0F",X"00",X"00",X"00",X"00",X"00",X"EE",X"17",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"CC",X"E3",X"F8",X"F0",X"F4",X"FC",X"F0",X"F7", + X"00",X"00",X"80",X"A5",X"F0",X"B4",X"21",X"0F",X"00",X"00",X"00",X"00",X"00",X"EE",X"03",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"CC",X"E1",X"F0",X"F0",X"F0",X"F4",X"F0",X"F6", + X"00",X"00",X"84",X"A5",X"F0",X"B4",X"29",X"01",X"00",X"00",X"00",X"00",X"00",X"FF",X"23",X"00", + X"00",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0",X"CC",X"E1",X"F0",X"F0",X"F0",X"F0",X"F0",X"F6", + X"00",X"00",X"A4",X"A5",X"F0",X"B4",X"2D",X"08",X"00",X"00",X"00",X"00",X"00",X"FF",X"63",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"CC",X"E1",X"78",X"0F",X"0F",X"F0",X"F0",X"F6", + X"00",X"00",X"B4",X"A5",X"F0",X"B4",X"2D",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"73",X"00", + X"00",X"00",X"00",X"00",X"00",X"0E",X"C3",X"F0",X"CC",X"E1",X"F0",X"78",X"0F",X"87",X"F0",X"F4", + X"00",X"00",X"AE",X"A5",X"F0",X"B4",X"2F",X"08",X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"00", + X"00",X"00",X"00",X"00",X"00",X"0F",X"C3",X"F0",X"CC",X"87",X"F0",X"F0",X"F0",X"0F",X"E1",X"F0", + X"00",X"00",X"8C",X"A7",X"F0",X"BC",X"2B",X"01",X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"00", + X"00",X"00",X"00",X"00",X"08",X"0F",X"87",X"F0",X"CC",X"0F",X"E1",X"F0",X"F0",X"F0",X"C3",X"F0", + X"00",X"00",X"88",X"AF",X"FF",X"BF",X"23",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"00", + X"00",X"00",X"00",X"00",X"0C",X"0F",X"87",X"F0",X"08",X"F0",X"1E",X"E1",X"F0",X"F0",X"B4",X"F0", + X"00",X"00",X"00",X"AF",X"FF",X"BF",X"01",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"00", + X"00",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"F0",X"80",X"F0",X"F0",X"1E",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"AE",X"FF",X"BF",X"00",X"0E",X"00",X"00",X"00",X"00",X"00",X"FF",X"F1",X"00", + X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"8C",X"FF",X"37",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"FF",X"F5",X"00", + X"00",X"00",X"00",X"08",X"0F",X"0F",X"0F",X"C3",X"00",X"00",X"00",X"F0",X"F0",X"96",X"F0",X"F0", + X"00",X"00",X"00",X"88",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE",X"F5",X"10", + X"00",X"00",X"00",X"0C",X"0F",X"0F",X"0F",X"E7",X"00",X"00",X"00",X"80",X"F0",X"78",X"E1",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"CE",X"F7",X"10", + X"00",X"00",X"00",X"0E",X"0F",X"0F",X"EF",X"F3",X"00",X"00",X"00",X"00",X"C0",X"F0",X"96",X"F0", + X"00",X"00",X"00",X"00",X"00",X"F0",X"10",X"0E",X"00",X"00",X"00",X"00",X"00",X"8E",X"F7",X"10", + X"00",X"00",X"00",X"0F",X"0F",X"EF",X"FF",X"F3",X"00",X"00",X"00",X"00",X"00",X"E0",X"3C",X"E1", + X"00",X"00",X"00",X"00",X"08",X"F0",X"12",X"07",X"00",X"00",X"00",X"00",X"00",X"8E",X"FF",X"10", + X"00",X"00",X"08",X"0F",X"EF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"00",X"80",X"78",X"C3", + X"00",X"00",X"00",X"00",X"48",X"F0",X"5A",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"F7",X"30", + X"00",X"00",X"0C",X"CF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"87", + X"00",X"00",X"00",X"00",X"4A",X"F0",X"D2",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"FB",X"31", + X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"FF",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0", + X"00",X"00",X"00",X"00",X"5A",X"F0",X"D2",X"0C",X"00",X"00",X"00",X"00",X"00",X"4C",X"FF",X"31", + X"00",X"00",X"88",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0", + X"00",X"00",X"00",X"00",X"5B",X"F0",X"DA",X"0F",X"00",X"00",X"00",X"00",X"00",X"4C",X"FF",X"31", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F0", + X"00",X"00",X"00",X"00",X"5F",X"F0",X"DE",X"0C",X"00",X"00",X"00",X"00",X"00",X"88",X"EF",X"31", + X"00",X"00",X"00",X"EE",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F0", + X"00",X"00",X"00",X"00",X"4E",X"FF",X"DF",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"DF",X"31", + X"00",X"00",X"00",X"CC",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"00",X"00",X"00",X"4C",X"FF",X"5F",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"30", + X"00",X"00",X"00",X"88",X"FF",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"00",X"00",X"00",X"00",X"08",X"FF",X"13",X"07",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"01", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"00",X"00",X"00",X"FF",X"11",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"01", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"F7",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"01", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"F3",X"F0",X"00",X"00",X"00",X"00",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"00",X"00",X"EE",X"01", + X"00",X"00",X"00",X"00",X"88",X"FF",X"F3",X"F0",X"00",X"00",X"00",X"00",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"00",X"00",X"EE",X"01", + X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"F0",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"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"F3",X"F0",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"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"F1",X"F0",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"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"88",X"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"F1",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",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/Jaleco Exerion/rtl/rom/exerion_04.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_04.vhd new file mode 100644 index 00000000..3eeaa2b9 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_04.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_04 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 exerion_04 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + 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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"F3", + X"00",X"0F",X"00",X"00",X"00",X"61",X"00",X"2C",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"8E",X"F1", + X"00",X"01",X"01",X"00",X"08",X"E1",X"00",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"F0",X"00",X"00",X"00",X"00",X"00",X"8C",X"FF",X"F0", + X"00",X"01",X"02",X"08",X"09",X"E1",X"90",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"F0",X"00",X"00",X"00",X"00",X"0C",X"EF",X"FF",X"FB", + X"80",X"70",X"04",X"48",X"6F",X"E7",X"D2",X"3E",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"F0",X"00",X"00",X"00",X"00",X"00",X"8C",X"F1",X"F8", + X"C0",X"F0",X"04",X"68",X"6F",X"EF",X"D2",X"3F",X"00",X"CC",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E8", + X"E8",X"F7",X"14",X"78",X"09",X"EF",X"DF",X"3F",X"00",X"EE",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"F9", + X"EC",X"FF",X"1E",X"7E",X"09",X"EF",X"DF",X"3F",X"00",X"EE",X"13",X"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"00",X"00",X"00",X"00",X"F3",X"FE",X"F9",X"FF", + X"EE",X"FF",X"1F",X"7F",X"09",X"EF",X"DF",X"3F",X"00",X"FF",X"13",X"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"00",X"00",X"08",X"EF",X"F8",X"FF",X"F1",X"FE", + X"EE",X"FF",X"15",X"7F",X"09",X"EF",X"DF",X"3F",X"00",X"FF",X"13",X"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"00",X"08",X"FF",X"F1",X"F7",X"F0",X"F8",X"FF", + X"CC",X"FF",X"04",X"6E",X"6F",X"EF",X"DF",X"3F",X"88",X"FF",X"13",X"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"00",X"00",X"CC",X"FF",X"F7",X"FC",X"F0",X"FC", + X"88",X"77",X"04",X"4C",X"6F",X"EF",X"DF",X"3F",X"88",X"FF",X"37",X"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"00",X"00",X"00",X"48",X"FF",X"FF",X"F7",X"FC", + X"00",X"01",X"02",X"08",X"09",X"EF",X"99",X"3F",X"88",X"FF",X"37",X"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"00",X"00",X"00",X"00",X"00",X"FC",X"F7",X"FC", + X"00",X"01",X"01",X"00",X"00",X"88",X"00",X"3F",X"88",X"FF",X"37",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"F0",X"F8",X"FF",X"FD", + X"00",X"0F",X"00",X"80",X"F0",X"70",X"00",X"26",X"88",X"FF",X"37",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"EE",X"CC",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"80",X"FF",X"F0",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"E0",X"F0",X"5A",X"10",X"08",X"88",X"FF",X"37",X"00",X"00",X"00",X"00",X"00", + X"00",X"88",X"FF",X"FE",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"FE",X"F6",X"F8",X"FE",X"BE",X"BF", + X"00",X"00",X"00",X"F0",X"F0",X"5A",X"30",X"0F",X"08",X"FF",X"37",X"00",X"00",X"CC",X"11",X"00", + X"00",X"CC",X"FF",X"FC",X"F7",X"FF",X"FB",X"F1",X"8E",X"FF",X"FF",X"F3",X"D3",X"FE",X"FE",X"FF", + X"00",X"00",X"80",X"F0",X"F0",X"78",X"78",X"0F",X"00",X"6F",X"37",X"00",X"00",X"EE",X"13",X"00", + X"00",X"EE",X"FF",X"FC",X"F7",X"FE",X"FB",X"F1",X"00",X"00",X"84",X"F2",X"D7",X"FF",X"FE",X"FF", + X"00",X"00",X"C0",X"F8",X"FF",X"5F",X"F0",X"01",X"00",X"8E",X"71",X"00",X"00",X"EE",X"13",X"00", + X"00",X"EE",X"FF",X"FF",X"F1",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"C0",X"F7",X"FF",X"D7",X"F7", + X"00",X"00",X"C0",X"FE",X"FF",X"5F",X"F1",X"00",X"00",X"CC",X"F7",X"00",X"00",X"FF",X"37",X"00", + X"00",X"FF",X"FF",X"F3",X"F0",X"FF",X"FB",X"F1",X"00",X"00",X"C8",X"F7",X"F7",X"F7",X"1F",X"B7", + X"00",X"00",X"E8",X"FF",X"FF",X"7F",X"F3",X"10",X"00",X"EE",X"F7",X"00",X"00",X"FF",X"37",X"00", + X"00",X"FF",X"FF",X"F0",X"10",X"00",X"EA",X"F1",X"08",X"ED",X"F7",X"FC",X"F7",X"F7",X"5B",X"E7", + X"00",X"00",X"EC",X"FF",X"FF",X"5F",X"F7",X"10",X"00",X"FF",X"FF",X"10",X"88",X"FF",X"37",X"00", + X"00",X"77",X"88",X"10",X"EE",X"FF",X"D9",X"F1",X"87",X"F0",X"F4",X"FD",X"FD",X"F5",X"F3",X"F6", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"18",X"00",X"FF",X"FF",X"31",X"88",X"FF",X"37",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"FB",X"F1",X"00",X"80",X"FC",X"F8",X"F9",X"F1",X"F3",X"F6", + X"00",X"00",X"EE",X"FF",X"FF",X"7F",X"FF",X"1F",X"88",X"FF",X"FF",X"31",X"88",X"FF",X"37",X"00", + X"00",X"FF",X"F7",X"FF",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"80",X"F7",X"F9",X"B5",X"E3",X"F4", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"1F",X"88",X"FF",X"FF",X"31",X"88",X"FF",X"37",X"00", + X"88",X"FF",X"F7",X"FF",X"F7",X"FF",X"F7",X"F7",X"00",X"00",X"00",X"80",X"EB",X"F3",X"F4",X"F4", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"19",X"88",X"FF",X"7F",X"01",X"88",X"FF",X"B7",X"00", + X"CC",X"FF",X"F7",X"FC",X"F7",X"FE",X"F7",X"FF",X"00",X"00",X"88",X"7F",X"EB",X"FB",X"FC",X"B4", + X"00",X"00",X"EE",X"FF",X"FF",X"7F",X"FF",X"11",X"88",X"FF",X"FF",X"03",X"88",X"FF",X"C7",X"00", + X"EE",X"FF",X"F7",X"FE",X"F1",X"FE",X"F7",X"FF",X"00",X"84",X"F6",X"F3",X"EF",X"FB",X"FC",X"B7", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"11",X"88",X"FF",X"FF",X"13",X"88",X"FF",X"F7",X"00", + X"FF",X"FF",X"FF",X"F7",X"F0",X"FE",X"F7",X"FF",X"0C",X"ED",X"F7",X"F0",X"EF",X"BF",X"9F",X"E7", + X"00",X"00",X"CC",X"FF",X"FF",X"5F",X"FF",X"00",X"88",X"FF",X"FF",X"13",X"88",X"FF",X"F7",X"00", + X"FF",X"FF",X"FF",X"F1",X"FC",X"FF",X"F7",X"FF",X"00",X"80",X"F0",X"F7",X"F0",X"FB",X"9F",X"6F", + X"00",X"00",X"CC",X"FF",X"FF",X"7F",X"FF",X"01",X"88",X"FF",X"FF",X"13",X"00",X"FF",X"FF",X"10", + X"FF",X"FF",X"F7",X"F0",X"FE",X"FF",X"F7",X"FF",X"00",X"00",X"08",X"F0",X"F0",X"F9",X"3F",X"6B", + X"00",X"00",X"88",X"FF",X"FF",X"5F",X"7F",X"0F",X"00",X"FF",X"FF",X"13",X"00",X"FF",X"FF",X"10", + X"FF",X"FF",X"F7",X"FC",X"FF",X"FF",X"F7",X"FF",X"00",X"00",X"00",X"00",X"80",X"F8",X"7B",X"3F", + X"00",X"00",X"00",X"FF",X"FF",X"5F",X"33",X"0F",X"00",X"66",X"FF",X"13",X"00",X"EE",X"FF",X"10", + X"FF",X"FF",X"F7",X"FE",X"FF",X"FF",X"F7",X"FF",X"00",X"00",X"00",X"08",X"87",X"BE",X"F9",X"F1", + X"00",X"00",X"00",X"EE",X"FF",X"00",X"00",X"08",X"00",X"80",X"FF",X"13",X"00",X"04",X"FF",X"10", + X"FF",X"FF",X"F7",X"FE",X"FF",X"FF",X"F7",X"FF",X"00",X"00",X"08",X"87",X"F7",X"9F",X"BF",X"97", + X"00",X"00",X"00",X"88",X"77",X"F0",X"70",X"0E",X"00",X"88",X"FF",X"13",X"00",X"4C",X"CC",X"10", + X"CF",X"FF",X"F7",X"FF",X"FF",X"FF",X"B7",X"FF",X"00",X"00",X"87",X"F0",X"FE",X"1F",X"1F",X"C7", + X"00",X"00",X"00",X"00",X"08",X"F0",X"69",X"0F",X"00",X"88",X"FF",X"01",X"00",X"CC",X"CF",X"10", + X"8F",X"FF",X"B7",X"FF",X"FF",X"FF",X"97",X"6F",X"00",X"00",X"08",X"C3",X"F8",X"DF",X"3E",X"CF", + X"00",X"00",X"00",X"00",X"48",X"F0",X"69",X"01",X"00",X"08",X"7F",X"01",X"00",X"CC",X"FF",X"10", + X"0F",X"EF",X"97",X"EF",X"FF",X"FF",X"4B",X"0F",X"00",X"00",X"00",X"0C",X"C0",X"F8",X"96",X"ED", + X"00",X"00",X"00",X"00",X"68",X"F0",X"78",X"00",X"00",X"00",X"0F",X"01",X"00",X"88",X"FF",X"10", + X"0E",X"0F",X"0F",X"8F",X"FF",X"3F",X"69",X"0F",X"00",X"00",X"00",X"00",X"00",X"C0",X"D2",X"F8", + X"00",X"00",X"00",X"00",X"69",X"FF",X"6F",X"00",X"00",X"00",X"0C",X"00",X"00",X"88",X"FF",X"10", + X"0E",X"0F",X"0F",X"0F",X"EF",X"0F",X"2D",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8", + X"00",X"00",X"00",X"80",X"6F",X"FF",X"6F",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"10", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88", + X"00",X"00",X"00",X"C0",X"6F",X"FF",X"7F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"00", + X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"FC", + X"00",X"00",X"00",X"EE",X"6F",X"FF",X"6F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00", + X"00",X"0E",X"0F",X"0F",X"0F",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"84",X"E1",X"DE", + X"00",X"00",X"00",X"CC",X"6F",X"FF",X"6F",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"86", + X"00",X"00",X"00",X"88",X"6F",X"FF",X"7F",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"96", + X"00",X"00",X"00",X"00",X"6F",X"FF",X"6F",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"C3",X"78",X"0F",X"A5", + X"00",X"00",X"00",X"00",X"6E",X"FF",X"6F",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"78",X"5A",X"E5", + X"00",X"00",X"00",X"00",X"4C",X"FF",X"7F",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"E5", + X"00",X"00",X"00",X"00",X"08",X"FF",X"6F",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F2", + X"00",X"00",X"00",X"00",X"00",X"FF",X"67",X"0E",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"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"8C",X"F1",X"F8", + 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"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"E6",X"F8", + X"00",X"00",X"00",X"00",X"48",X"10",X"00",X"0C",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8", + X"00",X"00",X"00",X"00",X"68",X"30",X"08",X"3C",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"F0",X"00",X"00",X"00",X"00",X"00",X"CE",X"F0",X"F2", + X"00",X"00",X"00",X"08",X"78",X"78",X"69",X"3C",X"00",X"00",X"CC",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"F0",X"00",X"00",X"00",X"00",X"0E",X"EF",X"FF",X"F6", + X"00",X"00",X"00",X"08",X"7C",X"79",X"69",X"3C",X"00",X"00",X"CC",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EC",X"F6", + X"00",X"00",X"E1",X"68",X"7E",X"F3",X"7E",X"3C",X"00",X"00",X"EE",X"13",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F6", + X"00",X"E0",X"E1",X"69",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"EE",X"13",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"00",X"00",X"00",X"00",X"00",X"80",X"FF",X"F6", + X"E0",X"EF",X"EF",X"6F",X"7F",X"7F",X"01",X"00",X"00",X"00",X"FF",X"13",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"00",X"00",X"00",X"00",X"EF",X"F3",X"F7",X"F6", + X"EE",X"EF",X"EF",X"6F",X"7F",X"FF",X"E0",X"3C",X"00",X"00",X"FF",X"13",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"77",X"00",X"F0",X"00",X"00",X"00",X"00",X"CE",X"E7",X"FF",X"FF", + X"00",X"EE",X"EF",X"6F",X"7F",X"77",X"F0",X"3C",X"00",X"88",X"FF",X"13",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"CC",X"FF",X"FF",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF", + X"00",X"00",X"EF",X"6E",X"7F",X"3B",X"3C",X"0F",X"00",X"88",X"FF",X"13",X"00",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FE",X"FB",X"FF",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"FB", + X"00",X"00",X"00",X"08",X"7F",X"59",X"B4",X"3C",X"00",X"88",X"FF",X"03",X"00",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F2",X"F3",X"FE",X"FE",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EA", + X"00",X"00",X"00",X"08",X"7F",X"68",X"3C",X"0F",X"00",X"88",X"3F",X"01",X"00",X"00",X"00",X"00", + X"88",X"FF",X"FF",X"FC",X"F3",X"FE",X"FE",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"FE", + X"00",X"00",X"00",X"00",X"66",X"78",X"F0",X"3C",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FF",X"F0",X"FF",X"FE",X"F1",X"00",X"00",X"00",X"00",X"33",X"E0",X"FB",X"F7", + X"00",X"00",X"00",X"00",X"08",X"78",X"3C",X"0F",X"00",X"00",X"FF",X"10",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F3",X"FF",X"FF",X"FE",X"F1",X"00",X"00",X"00",X"00",X"FB",X"F3",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"08",X"78",X"B4",X"3C",X"00",X"00",X"FF",X"10",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FF",X"FE",X"F1",X"00",X"00",X"0E",X"0F",X"FE",X"F6",X"F4",X"FC", + X"00",X"00",X"00",X"00",X"08",X"78",X"3F",X"0F",X"00",X"00",X"EE",X"10",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"7F",X"FE",X"F1",X"00",X"00",X"00",X"00",X"C8",X"FE",X"F4",X"FC", + X"00",X"00",X"00",X"00",X"08",X"78",X"FF",X"3F",X"00",X"00",X"EE",X"10",X"00",X"00",X"02",X"00", + X"CC",X"FF",X"7F",X"DE",X"FF",X"3F",X"DE",X"E1",X"00",X"00",X"00",X"00",X"FB",X"FE",X"F4",X"FD", + X"00",X"00",X"00",X"00",X"08",X"7E",X"3F",X"0F",X"00",X"00",X"EE",X"10",X"00",X"00",X"2A",X"00", + X"8C",X"FF",X"3F",X"9E",X"EF",X"1F",X"9E",X"E1",X"00",X"00",X"00",X"CC",X"FD",X"FF",X"F4",X"FF", + X"00",X"00",X"00",X"00",X"08",X"7F",X"BF",X"3F",X"00",X"00",X"E6",X"10",X"00",X"00",X"BB",X"00", + X"0C",X"EF",X"1F",X"0F",X"0F",X"87",X"0F",X"E1",X"00",X"00",X"08",X"EF",X"FC",X"F1",X"FC",X"FF", + X"00",X"00",X"00",X"00",X"08",X"7F",X"3F",X"0F",X"00",X"00",X"E2",X"00",X"00",X"00",X"FF",X"11", + X"0C",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"00",X"88",X"F9",X"FE",X"FF", + X"00",X"00",X"00",X"00",X"08",X"7F",X"FF",X"3F",X"00",X"00",X"80",X"00",X"00",X"00",X"FF",X"11", + X"04",X"0F",X"0F",X"0F",X"01",X"00",X"0E",X"E1",X"00",X"00",X"00",X"88",X"F1",X"FF",X"FE",X"FD", + X"00",X"00",X"00",X"00",X"08",X"7F",X"3F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"13", + X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"01",X"F0",X"00",X"0C",X"EF",X"FE",X"F3",X"FF",X"F2",X"F5", + X"00",X"00",X"00",X"00",X"08",X"7F",X"BF",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"13", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"88",X"FD",X"F2",X"FE",X"FA",X"F5", + X"00",X"00",X"00",X"00",X"08",X"7F",X"3F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"01", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"C3",X"00",X"00",X"00",X"00",X"C0",X"F6",X"F2",X"F5", + X"00",X"00",X"01",X"00",X"08",X"7F",X"FF",X"3F",X"00",X"00",X"00",X"00",X"00",X"44",X"FE",X"01", + X"0E",X"0F",X"87",X"0F",X"FF",X"B7",X"2F",X"C3",X"00",X"00",X"EE",X"F7",X"F0",X"F2",X"F2",X"F5", + X"00",X"08",X"03",X"00",X"00",X"7F",X"3F",X"0F",X"00",X"00",X"00",X"00",X"00",X"44",X"7E",X"00", + X"0E",X"CF",X"97",X"FF",X"FF",X"7F",X"3C",X"C3",X"08",X"8F",X"FF",X"F7",X"F2",X"F0",X"F2",X"F9", + X"00",X"0C",X"07",X"00",X"00",X"6E",X"BF",X"3F",X"00",X"00",X"00",X"00",X"00",X"EE",X"6C",X"00", + X"0E",X"FF",X"B7",X"FF",X"FF",X"FF",X"AD",X"D3",X"00",X"00",X"C0",X"F1",X"FC",X"F0",X"F8",X"FD", + X"00",X"8E",X"2F",X"00",X"00",X"4C",X"3F",X"0F",X"00",X"00",X"00",X"00",X"00",X"EE",X"15",X"00", + X"CE",X"FF",X"F7",X"FE",X"FF",X"FF",X"ED",X"F3",X"00",X"00",X"00",X"F0",X"FC",X"F0",X"FC",X"F9", + X"00",X"CF",X"6F",X"01",X"08",X"38",X"FF",X"3F",X"00",X"00",X"00",X"00",X"00",X"FF",X"33",X"00", + X"CE",X"FF",X"F7",X"FC",X"FF",X"FF",X"FD",X"F3",X"00",X"00",X"00",X"0C",X"9F",X"F1",X"FC",X"F9", + X"00",X"EF",X"EF",X"E1",X"69",X"70",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"FF",X"77",X"00", + X"EE",X"FF",X"F7",X"F8",X"FC",X"FF",X"FD",X"F3",X"00",X"00",X"00",X"00",X"7F",X"E9",X"F9",X"F9", + X"00",X"EF",X"EF",X"E1",X"69",X"7F",X"F0",X"12",X"00",X"00",X"00",X"00",X"88",X"FF",X"77",X"00", + X"EE",X"FF",X"FF",X"F3",X"F0",X"FF",X"FD",X"F3",X"00",X"00",X"08",X"FB",X"FF",X"F5",X"FA",X"F5", + X"00",X"EF",X"EF",X"01",X"6F",X"7F",X"FF",X"D3",X"00",X"00",X"00",X"00",X"88",X"DF",X"FF",X"00", + X"EE",X"FF",X"FF",X"FF",X"F3",X"FE",X"FD",X"F3",X"00",X"0E",X"EF",X"FD",X"FF",X"F7",X"F2",X"F1", + X"00",X"EF",X"EF",X"01",X"6F",X"7F",X"FB",X"D3",X"00",X"00",X"00",X"00",X"CC",X"EF",X"FF",X"11", + X"EE",X"FF",X"F7",X"FE",X"F7",X"FE",X"FD",X"F3",X"00",X"00",X"00",X"EC",X"F2",X"F7",X"FA",X"F9", + X"00",X"EF",X"EF",X"E1",X"6F",X"7F",X"FF",X"D3",X"00",X"00",X"00",X"00",X"4C",X"FF",X"FF",X"11", + X"CC",X"FF",X"F7",X"F8",X"F7",X"FF",X"FD",X"F3",X"88",X"FF",X"FB",X"F4",X"F2",X"F6",X"F0",X"F1", + X"00",X"EF",X"EF",X"E1",X"6F",X"7F",X"FB",X"D3",X"00",X"00",X"00",X"00",X"4C",X"FF",X"FF",X"11", + X"88",X"FF",X"F7",X"FF",X"FF",X"FF",X"FD",X"F1",X"EF",X"FD",X"FB",X"F2",X"F3",X"F4",X"F2",X"F9", + X"00",X"CF",X"6F",X"01",X"08",X"7F",X"FF",X"D3",X"00",X"00",X"00",X"00",X"8C",X"FF",X"FC",X"11", + X"00",X"EE",X"F7",X"FF",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"F1",X"F7",X"F0",X"F0",X"F1",X"F1", + X"00",X"8E",X"2F",X"00",X"00",X"08",X"FB",X"D3",X"00",X"00",X"00",X"00",X"8C",X"FF",X"FB",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"C8",X"F7",X"F0",X"F4",X"F5",X"F0", + X"00",X"0C",X"07",X"00",X"F0",X"70",X"CC",X"D3",X"00",X"00",X"00",X"00",X"8C",X"FF",X"F7",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"F0",X"00",X"00",X"00",X"C4",X"F0",X"F4",X"F5",X"F0", + X"00",X"08",X"03",X"08",X"F0",X"F0",X"01",X"C0",X"00",X"00",X"00",X"00",X"08",X"FF",X"FF",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"88",X"F9",X"F8",X"FC",X"FD",X"FC", + X"00",X"00",X"01",X"48",X"F0",X"F0",X"2D",X"03",X"00",X"00",X"00",X"00",X"00",X"6F",X"FF",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"CF",X"FF",X"F5",X"F9",X"F1",X"FC",X"FF",X"FC", + X"00",X"00",X"00",X"68",X"F0",X"F0",X"69",X"00",X"00",X"00",X"00",X"00",X"88",X"9F",X"FF",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"EE",X"F3",X"F8",X"F3",X"F0",X"FC",X"FD", + X"00",X"00",X"00",X"69",X"FF",X"FF",X"69",X"00",X"04",X"00",X"00",X"00",X"88",X"FF",X"FF",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"E0",X"F8",X"FF",X"FB",X"FF",X"FD", + X"00",X"00",X"80",X"6D",X"FF",X"FF",X"6B",X"90",X"4C",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"E1",X"FA",X"FB",X"FF",X"FD", + X"00",X"00",X"C0",X"6F",X"FF",X"FF",X"6F",X"F0",X"6E",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"08",X"FE",X"FB",X"F3",X"FE", + X"00",X"00",X"CC",X"6F",X"FF",X"FF",X"6F",X"FF",X"FF",X"01",X"00",X"00",X"EE",X"FF",X"FF",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"8E",X"F3",X"FF",X"FF",X"F1",X"FE", + X"00",X"00",X"88",X"6F",X"FF",X"FF",X"6F",X"99",X"FF",X"01",X"00",X"00",X"EE",X"FF",X"F7",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"0F",X"8F",X"F5",X"F8",X"FE",X"FC",X"FB", + X"00",X"00",X"00",X"6F",X"FF",X"FF",X"6F",X"00",X"FF",X"01",X"00",X"00",X"EE",X"FF",X"F3",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"08",X"0F",X"E1",X"F0",X"FC",X"F7",X"FA",X"FF", + X"00",X"00",X"00",X"6E",X"FF",X"FF",X"6F",X"00",X"FF",X"01",X"00",X"00",X"EE",X"FF",X"B4",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"08",X"F0",X"FF",X"FB",X"F8",X"F3", + X"00",X"00",X"00",X"4C",X"FF",X"FF",X"2F",X"0F",X"FF",X"01",X"00",X"00",X"CC",X"FF",X"1F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"08",X"80",X"FA",X"F7",X"F1", + X"00",X"00",X"00",X"08",X"FF",X"FF",X"09",X"0F",X"CE",X"01",X"00",X"00",X"CC",X"FF",X"7F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"C8",X"FF",X"F9", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"64",X"00",X"0C",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"ED",X"CF",X"0C",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"F9", + X"00",X"00",X"00",X"00",X"FF",X"7B",X"ED",X"CF",X"08",X"00",X"00",X"00",X"CE",X"FF",X"FF",X"03", + X"00",X"0E",X"0F",X"0F",X"07",X"00",X"00",X"F0",X"00",X"00",X"00",X"08",X"FF",X"F7",X"F2",X"FC", + X"00",X"00",X"00",X"00",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"CE",X"FF",X"FF",X"13", + X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"0C",X"CF",X"F4",X"F2",X"FA",X"FC", + X"00",X"00",X"00",X"00",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"0E",X"FF",X"FF",X"17", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"87",X"00",X"0E",X"0F",X"EF",X"F0",X"F2",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"FF",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"04",X"F8",X"FF",X"37", + X"0E",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"CF",X"FB",X"F2",X"F1",X"FA", + X"00",X"00",X"00",X"00",X"FF",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"80",X"F7",X"FF",X"37", + X"0E",X"0F",X"0F",X"8F",X"FF",X"1F",X"2D",X"0F",X"00",X"00",X"00",X"00",X"ED",X"FF",X"7F",X"FB", + X"00",X"00",X"00",X"00",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"C8",X"FF",X"FE",X"37", + X"0F",X"EF",X"0F",X"EF",X"FF",X"7F",X"4B",X"0F",X"00",X"00",X"00",X"00",X"00",X"EC",X"FF",X"FB", + X"00",X"00",X"00",X"00",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"CC",X"FF",X"FF",X"37", + X"0F",X"FF",X"97",X"EF",X"FF",X"FF",X"87",X"4F",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FB", + X"00",X"00",X"00",X"00",X"FF",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"37", + X"8F",X"FF",X"B7",X"FF",X"FF",X"FF",X"9F",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8", + X"00",X"00",X"00",X"00",X"FF",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"17", + X"CF",X"FF",X"F7",X"FF",X"FF",X"FF",X"BF",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FB", + X"00",X"00",X"00",X"80",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"13", + X"EF",X"FF",X"F7",X"FE",X"FF",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"8C",X"F6",X"F8", + X"00",X"00",X"00",X"E0",X"FF",X"F3",X"FC",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"03", + X"FF",X"FF",X"F7",X"FE",X"FF",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"F1", + X"00",X"00",X"00",X"F0",X"EE",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"01", + X"FF",X"FF",X"F7",X"F8",X"FF",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"00",X"0C",X"CF",X"F3",X"F0", + X"00",X"00",X"80",X"F0",X"FE",X"7B",X"ED",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"01", + X"FF",X"FF",X"FF",X"F1",X"FC",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F4", + X"00",X"00",X"C0",X"F8",X"DD",X"F3",X"FC",X"01",X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"01", + X"FF",X"FF",X"FF",X"F7",X"F0",X"FE",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F7", + X"00",X"00",X"C0",X"FE",X"BB",X"F3",X"FC",X"00",X"00",X"00",X"00",X"00",X"EE",X"FF",X"7F",X"00", + X"FF",X"FF",X"F7",X"FE",X"F3",X"FC",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"08",X"CF",X"F3", + X"00",X"00",X"E8",X"FF",X"77",X"7B",X"65",X"10",X"00",X"00",X"00",X"00",X"CC",X"FF",X"7F",X"00", + X"EE",X"FF",X"F7",X"F8",X"F7",X"FE",X"FF",X"FE",X"00",X"00",X"00",X"00",X"0E",X"0F",X"8F",X"F0", + X"00",X"00",X"EC",X"FF",X"FF",X"51",X"A0",X"10",X"00",X"00",X"00",X"00",X"CC",X"B9",X"37",X"00", + X"88",X"FF",X"F7",X"FF",X"F7",X"FF",X"FF",X"F7",X"00",X"00",X"00",X"00",X"00",X"0E",X"FD",X"F0", + X"00",X"00",X"EE",X"FF",X"FF",X"1B",X"DD",X"18",X"00",X"00",X"00",X"00",X"88",X"73",X"02",X"00", + X"00",X"EE",X"F7",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C2",X"F0", + X"00",X"00",X"EE",X"FF",X"FF",X"7F",X"FF",X"1F",X"00",X"00",X"00",X"00",X"88",X"F7",X"01",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"00",X"00",X"0E",X"0F",X"87",X"F0", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"1F",X"00",X"00",X"00",X"00",X"00",X"FF",X"01",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"77",X"F0",X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"F0", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"19",X"00",X"00",X"00",X"CC",X"00",X"7F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"EE",X"FF",X"FF",X"7F",X"FF",X"11",X"00",X"00",X"00",X"EE",X"01",X"6E",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1", + X"00",X"00",X"EE",X"FF",X"FF",X"5F",X"FF",X"11",X"00",X"00",X"00",X"FF",X"13",X"26",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"C3", + X"00",X"00",X"CC",X"FF",X"FF",X"5F",X"FF",X"00",X"00",X"00",X"00",X"FF",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"C3", + X"00",X"00",X"CC",X"FF",X"FF",X"7F",X"FF",X"01",X"00",X"00",X"88",X"FE",X"37",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"87", + X"00",X"00",X"88",X"FF",X"FF",X"5F",X"7F",X"0F",X"00",X"00",X"CC",X"FD",X"37",X"00",X"00",X"00", + X"00",X"00",X"EE",X"CC",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"84", + X"00",X"00",X"00",X"FF",X"FF",X"5F",X"33",X"0F",X"00",X"00",X"CC",X"F3",X"7F",X"00",X"00",X"00", + X"00",X"88",X"FF",X"FE",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C", + X"00",X"00",X"00",X"EE",X"FF",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"7F",X"00",X"00",X"00", + X"00",X"CC",X"FF",X"FC",X"F7",X"FF",X"FB",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CE", + X"00",X"00",X"00",X"88",X"77",X"F0",X"78",X"09",X"00",X"00",X"CC",X"FF",X"7F",X"00",X"00",X"00", + X"00",X"EE",X"FF",X"FC",X"F7",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"E3", + X"00",X"00",X"00",X"00",X"08",X"F0",X"69",X"2D",X"00",X"00",X"CC",X"FF",X"7F",X"00",X"00",X"00", + X"00",X"EE",X"FF",X"FF",X"F1",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"48",X"F0",X"69",X"25",X"00",X"00",X"CC",X"FF",X"34",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F7",X"F0",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"0C",X"FF",X"F1", + X"00",X"00",X"00",X"00",X"68",X"F0",X"78",X"21",X"00",X"00",X"88",X"FF",X"43",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F0",X"FE",X"FF",X"DB",X"F1",X"00",X"00",X"00",X"00",X"0E",X"FF",X"F7",X"F8", + X"00",X"00",X"00",X"00",X"69",X"FF",X"6F",X"21",X"00",X"00",X"88",X"FF",X"B7",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"F8",X"FF",X"FF",X"CB",X"F1",X"00",X"00",X"00",X"00",X"00",X"CF",X"F1",X"F8", + X"00",X"00",X"00",X"80",X"6F",X"FF",X"6F",X"2B",X"00",X"00",X"00",X"FF",X"B7",X"00",X"00",X"00", + X"00",X"EF",X"7F",X"FE",X"FF",X"0F",X"4B",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"E4",X"F5", + X"00",X"00",X"00",X"C0",X"6F",X"FF",X"7F",X"2B",X"00",X"00",X"00",X"FF",X"7F",X"10",X"00",X"00", + X"00",X"0F",X"0F",X"1E",X"0F",X"0F",X"2D",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E4", + X"00",X"00",X"00",X"EE",X"6F",X"FF",X"6F",X"2F",X"00",X"00",X"00",X"EE",X"FF",X"21",X"00",X"00", + X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"1E",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"F5", + X"00",X"00",X"00",X"CC",X"6F",X"FF",X"6F",X"2B",X"00",X"00",X"00",X"2E",X"FF",X"21",X"00",X"00", + X"00",X"03",X"0C",X"01",X"00",X"00",X"0F",X"E1",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"F1", + X"00",X"00",X"00",X"88",X"6F",X"FF",X"7F",X"2B",X"00",X"00",X"00",X"CE",X"FF",X"21",X"00",X"00", + X"00",X"0C",X"03",X"0E",X"0F",X"0F",X"00",X"F0",X"00",X"00",X"00",X"0E",X"8F",X"FF",X"F7",X"F3", + X"00",X"00",X"00",X"00",X"6F",X"FF",X"6F",X"23",X"00",X"00",X"00",X"FF",X"FF",X"21",X"00",X"00", + X"00",X"0F",X"4B",X"0F",X"0F",X"0F",X"4B",X"C3",X"00",X"00",X"0E",X"EF",X"F7",X"FF",X"F4",X"F3", + X"00",X"00",X"00",X"00",X"6E",X"FF",X"6F",X"23",X"00",X"00",X"00",X"FF",X"7F",X"10",X"00",X"00", + X"08",X"0F",X"4B",X"0F",X"CF",X"7F",X"87",X"87",X"00",X"00",X"00",X"0E",X"FE",X"F0",X"FF",X"F2", + X"00",X"C0",X"00",X"C2",X"5C",X"FF",X"7F",X"27",X"00",X"00",X"00",X"FF",X"F3",X"00",X"00",X"00", + X"0C",X"0F",X"C3",X"8F",X"FF",X"FF",X"1F",X"96",X"00",X"00",X"00",X"00",X"C3",X"F1",X"F3",X"FA", + X"00",X"E0",X"10",X"C3",X"38",X"FF",X"6F",X"2F",X"00",X"00",X"00",X"FF",X"7F",X"00",X"00",X"00", + X"0E",X"8F",X"D3",X"FF",X"FF",X"FF",X"3F",X"96",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"F8", + X"00",X"FE",X"D2",X"CF",X"77",X"FF",X"6F",X"09",X"00",X"00",X"00",X"FF",X"7F",X"00",X"00",X"00", + X"0E",X"FF",X"F3",X"FE",X"FF",X"FF",X"7F",X"D6",X"00",X"00",X"00",X"00",X"00",X"C8",X"F0",X"F1", + X"00",X"FF",X"DF",X"CF",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"37",X"00",X"00",X"00", + X"CE",X"FF",X"F3",X"F0",X"FF",X"FE",X"FF",X"F6",X"00",X"00",X"00",X"00",X"CF",X"F7",X"F7",X"F1", + X"00",X"EE",X"11",X"CF",X"7F",X"EF",X"9F",X"3F",X"00",X"00",X"00",X"EE",X"37",X"00",X"00",X"00", + X"EE",X"FF",X"F3",X"F0",X"F0",X"FC",X"FF",X"F6",X"00",X"00",X"08",X"CF",X"F7",X"F4",X"F2",X"F4", + X"00",X"CC",X"00",X"CE",X"7F",X"49",X"8E",X"3F",X"00",X"00",X"00",X"EE",X"37",X"00",X"00",X"00", + X"EE",X"FF",X"FB",X"FF",X"FF",X"F8",X"FF",X"F6",X"00",X"0C",X"8F",X"F7",X"F7",X"F9",X"F5",X"F6", + X"00",X"00",X"00",X"00",X"09",X"48",X"8C",X"3F",X"00",X"00",X"00",X"CC",X"13",X"00",X"00",X"00", + X"EE",X"FF",X"FB",X"FF",X"FF",X"F8",X"FF",X"F6",X"00",X"00",X"08",X"6B",X"F7",X"FB",X"FD",X"F2", + X"00",X"00",X"00",X"00",X"01",X"48",X"00",X"0C",X"00",X"00",X"00",X"CC",X"13",X"00",X"00",X"00", + X"EE",X"FF",X"F3",X"F8",X"FF",X"FC",X"FF",X"F6",X"00",X"00",X"00",X"86",X"F9",X"FA",X"FD",X"F2", + X"00",X"00",X"00",X"0C",X"03",X"48",X"00",X"08",X"00",X"00",X"00",X"88",X"01",X"00",X"00",X"00", + X"EE",X"FF",X"F3",X"FE",X"FF",X"FE",X"FF",X"F6",X"00",X"08",X"0F",X"CF",X"F9",X"F4",X"F6",X"F7", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"F6",X"0C",X"0F",X"8F",X"FF",X"F2",X"F0",X"F6",X"F5", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"F6",X"00",X"00",X"0C",X"C7",X"F4",X"F1",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"F3",X"FF",X"FF",X"FF",X"F7",X"F7",X"00",X"00",X"00",X"00",X"00",X"F9",X"E9",X"F2", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"FF",X"FB",X"FF",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"E5",X"F2", + X"00",X"00",X"00",X"00",X"00",X"48",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"FB",X"FF",X"FF",X"FF",X"31",X"F0",X"00",X"00",X"00",X"00",X"00",X"FE",X"E7",X"F3", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00", + X"00",X"CC",X"33",X"EE",X"FF",X"77",X"00",X"F0",X"00",X"00",X"00",X"00",X"C3",X"7A",X"F6",X"F5", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"77",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"0C",X"69",X"FF",X"F4", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"F7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"F9",X"F4", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"88",X"11",X"00",X"00",X"CC",X"FF",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"F4", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"88",X"33",X"00",X"00",X"CC",X"FF",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"84",X"F4",X"FC", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"CC",X"33",X"00",X"00",X"CC",X"BF",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"0F",X"8F",X"F4",X"FD", + X"00",X"00",X"00",X"00",X"00",X"48",X"00",X"00",X"00",X"CC",X"73",X"00",X"00",X"CC",X"7F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"0F",X"F8",X"FB", + X"00",X"00",X"00",X"0E",X"03",X"48",X"00",X"08",X"00",X"EE",X"73",X"00",X"00",X"EE",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"CB",X"FF", + X"00",X"00",X"00",X"00",X"01",X"48",X"00",X"0C",X"00",X"E6",X"73",X"00",X"00",X"EE",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E6", + X"00",X"00",X"00",X"00",X"09",X"48",X"84",X"3C",X"00",X"FF",X"30",X"00",X"00",X"FF",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"E8",X"F6", + X"00",X"C0",X"00",X"C2",X"78",X"49",X"86",X"3C",X"00",X"FF",X"13",X"00",X"80",X"FF",X"FF",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"8E",X"F9",X"F4", + X"00",X"E0",X"10",X"C3",X"78",X"E1",X"96",X"3C",X"00",X"EF",X"13",X"00",X"80",X"FF",X"7F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C4",X"F2", + X"00",X"FE",X"D2",X"CF",X"7F",X"E1",X"9E",X"3F",X"00",X"6F",X"13",X"00",X"80",X"FF",X"17",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"C0",X"F6",X"F1", + X"00",X"FF",X"DF",X"CF",X"7F",X"EF",X"9F",X"3F",X"00",X"8E",X"13",X"00",X"00",X"FE",X"F3",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"87",X"FE",X"F0",X"F2",X"F5", + X"00",X"EE",X"11",X"CF",X"7F",X"EF",X"9F",X"3F",X"00",X"EE",X"01",X"00",X"00",X"F9",X"F7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"C4",X"F4",X"FF",X"F4", + X"00",X"CC",X"00",X"CE",X"7F",X"01",X"8E",X"3F",X"00",X"CC",X"01",X"00",X"88",X"FF",X"F7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"C4",X"F9",X"F5", + X"00",X"00",X"00",X"00",X"09",X"00",X"8C",X"3F",X"00",X"0C",X"00",X"00",X"88",X"FF",X"F7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"88",X"FF",X"F7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"FF", + X"00",X"00",X"00",X"0E",X"03",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"CC",X"FF",X"E7",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"80",X"F2",X"FA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"53",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"88",X"F4",X"F2",X"FA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EF",X"37",X"00", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"11",X"F0",X"00",X"00",X"0C",X"0F",X"EF",X"F0",X"F8",X"F5", + X"00",X"00",X"00",X"00",X"00",X"00",X"5A",X"18",X"00",X"00",X"00",X"00",X"6E",X"FF",X"37",X"00", + X"00",X"00",X"CC",X"DD",X"FF",X"FF",X"33",X"F0",X"08",X"0F",X"0F",X"CF",X"F3",X"F1",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"80",X"5A",X"78",X"00",X"00",X"00",X"00",X"6E",X"FF",X"37",X"00", + X"00",X"00",X"FF",X"FD",X"F7",X"FF",X"33",X"F0",X"00",X"00",X"00",X"86",X"FD",X"F0",X"E1",X"F0", + X"00",X"00",X"00",X"00",X"00",X"C0",X"1E",X"3C",X"00",X"00",X"00",X"44",X"6E",X"FF",X"37",X"00", + X"00",X"88",X"FF",X"F1",X"F7",X"FE",X"FB",X"F0",X"00",X"00",X"00",X"00",X"00",X"F0",X"E5",X"F1", + X"00",X"00",X"00",X"00",X"00",X"C0",X"5A",X"3C",X"00",X"00",X"00",X"66",X"EE",X"EF",X"37",X"00", + X"00",X"CC",X"FF",X"F9",X"F7",X"FE",X"FB",X"F0",X"00",X"00",X"08",X"8F",X"F0",X"78",X"F5",X"F5", + X"00",X"00",X"00",X"00",X"00",X"E0",X"5A",X"3C",X"00",X"00",X"00",X"EE",X"EE",X"DF",X"37",X"00", + X"00",X"EE",X"FF",X"FF",X"F1",X"FF",X"FB",X"F0",X"00",X"00",X"00",X"C4",X"F0",X"B4",X"F7",X"F7", + X"00",X"00",X"00",X"00",X"00",X"E0",X"1E",X"78",X"00",X"00",X"00",X"EE",X"DD",X"FF",X"9F",X"00", + X"00",X"EE",X"FF",X"F7",X"F8",X"FF",X"7B",X"F0",X"00",X"0C",X"ED",X"F1",X"F0",X"D6",X"F6",X"F6", + X"00",X"00",X"00",X"00",X"00",X"F0",X"5A",X"78",X"00",X"00",X"00",X"EE",X"DD",X"FF",X"9B",X"00", + X"00",X"0E",X"FF",X"F1",X"1E",X"0F",X"4B",X"F0",X"00",X"00",X"08",X"F2",X"F4",X"E9",X"F2",X"F2", + X"00",X"00",X"00",X"00",X"00",X"F0",X"5B",X"78",X"00",X"00",X"00",X"FF",X"BB",X"FF",X"CF",X"10", + X"00",X"0E",X"0F",X"69",X"01",X"00",X"4A",X"F0",X"00",X"00",X"00",X"00",X"3C",X"FB",X"F2",X"F1", + X"00",X"00",X"00",X"00",X"80",X"F8",X"1F",X"78",X"00",X"00",X"00",X"FF",X"BB",X"3F",X"CD",X"10", + X"00",X"0E",X"00",X"21",X"EE",X"FF",X"59",X"F0",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"F1", + X"00",X"00",X"00",X"00",X"80",X"FC",X"5B",X"7F",X"00",X"00",X"00",X"9F",X"73",X"FF",X"EE",X"10", + X"00",X"02",X"FF",X"CC",X"FF",X"FF",X"7B",X"F0",X"00",X"00",X"00",X"00",X"C0",X"F5",X"F0",X"F1", + X"00",X"00",X"00",X"00",X"80",X"FE",X"5B",X"3F",X"00",X"00",X"00",X"EF",X"73",X"FF",X"FF",X"10", + X"00",X"CC",X"FF",X"FE",X"FB",X"FF",X"33",X"F0",X"00",X"00",X"00",X"EE",X"FD",X"78",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"C0",X"FF",X"1F",X"3F",X"00",X"00",X"88",X"FF",X"73",X"FF",X"FF",X"10", + X"00",X"FF",X"FF",X"F2",X"F3",X"FE",X"FB",X"F0",X"00",X"0E",X"CF",X"F7",X"F0",X"B4",X"F8",X"FC", + X"00",X"00",X"00",X"00",X"C0",X"FF",X"5B",X"3F",X"00",X"00",X"CC",X"FF",X"73",X"FF",X"FF",X"10", + X"88",X"FF",X"FF",X"FC",X"F3",X"FE",X"FB",X"F1",X"00",X"00",X"0E",X"FB",X"F0",X"C7",X"F8",X"FC", + X"00",X"00",X"00",X"00",X"C8",X"FF",X"5B",X"7F",X"00",X"00",X"CC",X"FF",X"73",X"EE",X"F7",X"00", + X"CC",X"FF",X"FF",X"FF",X"F0",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"84",X"3C",X"F6",X"F0",X"FD", + X"00",X"00",X"00",X"00",X"C8",X"FF",X"1F",X"7F",X"00",X"00",X"CC",X"FF",X"73",X"CC",X"F7",X"00", + X"CC",X"FF",X"FF",X"F3",X"FC",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"C7",X"F0",X"F0",X"FB", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"5B",X"7F",X"00",X"00",X"CC",X"FF",X"71",X"CC",X"F7",X"00", + X"CC",X"FF",X"FF",X"F0",X"FE",X"FF",X"DB",X"F1",X"00",X"00",X"00",X"88",X"F6",X"F4",X"F2",X"F2", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"5B",X"7F",X"00",X"00",X"EE",X"FF",X"31",X"80",X"F3",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FF",X"CB",X"F1",X"00",X"00",X"08",X"EF",X"FF",X"F0",X"F0",X"F2", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"1F",X"7F",X"00",X"00",X"EE",X"FF",X"10",X"80",X"70",X"00", + X"CC",X"FF",X"7F",X"FC",X"FF",X"7F",X"ED",X"F1",X"00",X"00",X"00",X"00",X"F6",X"F1",X"F0",X"F2", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"5B",X"3F",X"00",X"00",X"EE",X"FF",X"13",X"00",X"60",X"00", + X"8C",X"FF",X"7F",X"9E",X"FF",X"1F",X"9E",X"E1",X"00",X"00",X"88",X"FB",X"FD",X"F1",X"F0",X"F2", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"5B",X"3F",X"00",X"00",X"CE",X"FF",X"13",X"00",X"20",X"00", + X"0C",X"FF",X"3F",X"1E",X"0F",X"87",X"0F",X"E1",X"00",X"8F",X"FF",X"F4",X"F9",X"F1",X"F7",X"F3", + X"00",X"00",X"00",X"00",X"CC",X"FF",X"1F",X"3F",X"00",X"00",X"CE",X"FF",X"37",X"00",X"00",X"00", + X"0C",X"EF",X"1F",X"0F",X"0F",X"0F",X"0F",X"E1",X"0F",X"FF",X"F7",X"F1",X"F0",X"F9",X"F9",X"F3", + X"00",X"00",X"00",X"00",X"88",X"FF",X"5B",X"7F",X"00",X"00",X"BF",X"FF",X"37",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"CC",X"F1",X"FA",X"F0",X"FD",X"F8",X"F3", + X"00",X"00",X"00",X"00",X"88",X"FF",X"5B",X"7F",X"00",X"00",X"7F",X"FF",X"37",X"00",X"00",X"00", + X"08",X"07",X"00",X"00",X"00",X"08",X"0F",X"E1",X"00",X"00",X"E0",X"F0",X"F4",X"FD",X"F0",X"F1", + X"00",X"00",X"00",X"00",X"88",X"FF",X"1F",X"7F",X"00",X"88",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"09",X"0F",X"0C",X"0F",X"07",X"00",X"F0",X"0E",X"0F",X"C3",X"F0",X"F6",X"FC",X"F4",X"F1", + X"00",X"00",X"00",X"00",X"00",X"FF",X"5B",X"7F",X"00",X"88",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"0E",X"0F",X"1E",X"0F",X"0F",X"3C",X"E1",X"00",X"00",X"0C",X"F0",X"FA",X"F2",X"F8",X"F1", + X"00",X"00",X"00",X"00",X"00",X"FF",X"5B",X"7F",X"00",X"88",X"FF",X"FF",X"37",X"00",X"00",X"00", + X"00",X"0F",X"0F",X"1E",X"FF",X"3F",X"69",X"C3",X"00",X"00",X"00",X"00",X"F9",X"F3",X"F0",X"F5", + X"00",X"00",X"00",X"00",X"00",X"EE",X"1F",X"3F",X"00",X"88",X"FF",X"FF",X"33",X"00",X"00",X"00", + X"08",X"EF",X"3F",X"BC",X"FF",X"FF",X"C3",X"C3",X"00",X"00",X"00",X"FF",X"FD",X"F8",X"F2",X"F1", + X"00",X"00",X"00",X"00",X"00",X"EE",X"5B",X"3F",X"00",X"88",X"FF",X"BF",X"13",X"00",X"00",X"00", + X"0C",X"FF",X"7F",X"FC",X"FF",X"FF",X"97",X"D3",X"00",X"0F",X"8F",X"FD",X"F6",X"F8",X"FB",X"F0", + X"00",X"00",X"00",X"00",X"00",X"CC",X"5B",X"3F",X"00",X"88",X"FF",X"7B",X"01",X"00",X"00",X"00", + X"8C",X"FF",X"FF",X"F0",X"FE",X"FD",X"B7",X"F3",X"00",X"00",X"0E",X"C3",X"F0",X"F0",X"FA",X"F0", + X"00",X"00",X"00",X"00",X"00",X"CC",X"1F",X"7F",X"00",X"88",X"FF",X"F7",X"30",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F0",X"F0",X"F8",X"F7",X"F3",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"FA",X"F0", + X"00",X"00",X"00",X"00",X"00",X"88",X"5B",X"7F",X"00",X"08",X"FF",X"FF",X"70",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FF",X"FF",X"F8",X"F7",X"F3",X"00",X"00",X"00",X"00",X"00",X"F4",X"F4",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"5B",X"19",X"00",X"00",X"EF",X"FF",X"71",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FF",X"FF",X"F8",X"F7",X"F3",X"00",X"00",X"00",X"00",X"08",X"E9",X"F0",X"F6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8E",X"FF",X"71",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F0",X"FE",X"F9",X"F7",X"F3",X"00",X"00",X"00",X"00",X"00",X"80",X"F4",X"F7", + X"00",X"00",X"00",X"00",X"48",X"10",X"00",X"0C",X"00",X"00",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FD",X"F7",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",X"4C",X"F5", + X"00",X"00",X"00",X"00",X"68",X"30",X"08",X"3C",X"00",X"88",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FF",X"F7",X"F3",X"00",X"00",X"00",X"00",X"00",X"88",X"7B",X"F7", + X"00",X"00",X"00",X"00",X"78",X"78",X"69",X"3C",X"00",X"88",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"88",X"FF",X"FF",X"FC",X"FF",X"FF",X"F7",X"F3",X"00",X"00",X"00",X"00",X"0C",X"EF",X"BD",X"F7", + X"00",X"00",X"80",X"FF",X"7C",X"79",X"69",X"3C",X"00",X"88",X"FF",X"FF",X"73",X"00",X"00",X"00", + X"00",X"FF",X"FF",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"00",X"80",X"BC",X"F3", + X"04",X"00",X"86",X"0F",X"7E",X"F3",X"7E",X"3C",X"00",X"88",X"FF",X"DF",X"31",X"00",X"44",X"11", + X"00",X"EE",X"FF",X"FE",X"FF",X"FF",X"FD",X"F1",X"00",X"00",X"00",X"00",X"0E",X"0F",X"DE",X"FB", + X"0E",X"C2",X"96",X"FF",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"FF",X"CF",X"31",X"00",X"EE",X"11", + X"00",X"88",X"FF",X"CC",X"FF",X"FF",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"ED",X"FF", + X"0F",X"C3",X"96",X"0F",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"4F",X"ED",X"30",X"00",X"6E",X"31", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC", + X"0F",X"CF",X"97",X"0F",X"7F",X"FF",X"7F",X"3F",X"00",X"00",X"0E",X"F1",X"32",X"00",X"AE",X"31", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"11",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"F4", + X"0E",X"CE",X"97",X"FF",X"7F",X"7F",X"01",X"26",X"00",X"00",X"00",X"F3",X"32",X"00",X"AE",X"31", + X"00",X"00",X"FF",X"CC",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"0C",X"0F",X"F0",X"F4", + X"04",X"00",X"86",X"0F",X"7F",X"7F",X"A4",X"09",X"00",X"00",X"00",X"EE",X"33",X"00",X"EE",X"31", + X"00",X"CC",X"FF",X"FE",X"FB",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"F4", + X"00",X"00",X"80",X"FF",X"7F",X"77",X"B4",X"6F",X"00",X"00",X"00",X"CC",X"11",X"00",X"CC",X"10", + X"00",X"FF",X"FF",X"F2",X"F3",X"FE",X"FB",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"7F",X"B3",X"3C",X"2F",X"00",X"00",X"00",X"CC",X"00",X"00",X"CC",X"10", + X"88",X"FF",X"FF",X"FC",X"F3",X"FE",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"F3", + X"00",X"00",X"00",X"00",X"6E",X"B3",X"3C",X"2F",X"00",X"00",X"00",X"88",X"00",X"00",X"88",X"00", + X"CC",X"FF",X"FF",X"FF",X"F0",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"C3", + X"00",X"00",X"00",X"00",X"4C",X"D1",X"B4",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"F3",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C2", + X"00",X"00",X"00",X"00",X"00",X"C0",X"B4",X"6F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"FF",X"DB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E9", + X"00",X"00",X"00",X"00",X"00",X"E0",X"3C",X"6F",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"FF",X"FC",X"FF",X"7F",X"CB",X"F1",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"FC", + X"00",X"00",X"00",X"00",X"00",X"E0",X"3C",X"6F",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"7F",X"DE",X"FF",X"3F",X"ED",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE", + X"00",X"00",X"00",X"00",X"00",X"E0",X"B4",X"2F",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"8C",X"FF",X"3F",X"9E",X"FF",X"1F",X"9E",X"E1",X"00",X"00",X"00",X"00",X"00",X"CC",X"F3",X"FF", + X"00",X"00",X"00",X"00",X"00",X"F0",X"B7",X"2F",X"00",X"00",X"CC",X"01",X"00",X"00",X"00",X"00", + X"0C",X"EF",X"1F",X"0F",X"0F",X"87",X"0F",X"E1",X"00",X"00",X"00",X"08",X"8F",X"FF",X"F5",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FC",X"3F",X"6F",X"00",X"00",X"CC",X"01",X"00",X"00",X"00",X"00", + X"0C",X"00",X"00",X"00",X"0E",X"0F",X"0F",X"E1",X"00",X"00",X"0C",X"8F",X"FF",X"F3",X"F5",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FE",X"3F",X"6F",X"00",X"00",X"EE",X"13",X"00",X"00",X"00",X"00", + X"04",X"0F",X"0F",X"0F",X"01",X"00",X"0E",X"E1",X"00",X"00",X"00",X"08",X"F5",X"F0",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"6F",X"00",X"00",X"EE",X"13",X"00",X"00",X"00",X"00", + X"08",X"0F",X"0F",X"0F",X"0F",X"0F",X"01",X"F0",X"00",X"00",X"00",X"00",X"00",X"F0",X"FF",X"FE", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"6F",X"00",X"00",X"FF",X"13",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"E1",X"00",X"00",X"00",X"F7",X"F9",X"F3",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"2F",X"00",X"00",X"FF",X"13",X"00",X"00",X"00",X"00", + X"0C",X"0F",X"0F",X"0F",X"0F",X"4B",X"0F",X"C3",X"00",X"0E",X"EF",X"F7",X"FB",X"FB",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"2F",X"00",X"88",X"FF",X"13",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"87",X"0F",X"CF",X"B7",X"0F",X"C3",X"00",X"00",X"00",X"EE",X"FB",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"6F",X"00",X"88",X"FF",X"13",X"00",X"00",X"00",X"00", + X"0E",X"0F",X"87",X"BF",X"FF",X"7F",X"1E",X"C3",X"00",X"00",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"6F",X"00",X"88",X"FF",X"03",X"00",X"00",X"00",X"00", + X"0E",X"8F",X"B7",X"FF",X"FF",X"FF",X"AD",X"D3",X"0E",X"CF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"6F",X"00",X"88",X"3F",X"01",X"00",X"00",X"00",X"00", + X"0E",X"FF",X"F7",X"FE",X"FF",X"FF",X"EB",X"F3",X"00",X"00",X"CE",X"FD",X"FF",X"FE",X"FE",X"F7", + X"00",X"00",X"00",X"00",X"00",X"FF",X"3F",X"6F",X"00",X"88",X"FE",X"00",X"00",X"00",X"00",X"00", + X"CE",X"FF",X"F7",X"FC",X"FF",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"E8",X"FF",X"FE",X"FE",X"F0", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"2F",X"00",X"80",X"FF",X"00",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"F7",X"F8",X"FC",X"FF",X"FB",X"F3",X"00",X"00",X"00",X"00",X"FF",X"F4",X"F6",X"F0", + X"00",X"00",X"00",X"00",X"00",X"FF",X"B7",X"2F",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"FF",X"F3",X"F0",X"FF",X"FB",X"F3",X"00",X"00",X"0C",X"CB",X"F2",X"F5",X"F0",X"FC", + X"00",X"00",X"00",X"00",X"00",X"EE",X"3F",X"23",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"FF",X"FF",X"F3",X"FE",X"FB",X"F3",X"00",X"00",X"00",X"0C",X"F7",X"FD",X"F4",X"FD", + X"00",X"00",X"00",X"00",X"48",X"DC",X"37",X"0C",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"EE",X"FF",X"F7",X"FE",X"F7",X"FE",X"FB",X"F3",X"00",X"00",X"FF",X"FE",X"F7",X"FE",X"FF",X"FD", + X"00",X"00",X"00",X"00",X"68",X"30",X"08",X"3C",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"CC",X"FF",X"F7",X"F8",X"F7",X"FF",X"FB",X"F3",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE", + X"00",X"00",X"00",X"08",X"78",X"78",X"69",X"3C",X"00",X"88",X"FF",X"10",X"00",X"00",X"00",X"00", + X"88",X"FF",X"F7",X"FF",X"FF",X"FF",X"FB",X"F1",X"00",X"00",X"EA",X"F9",X"FE",X"FF",X"FB",X"FE", + X"00",X"00",X"00",X"08",X"7C",X"79",X"69",X"3C",X"00",X"00",X"FF",X"10",X"00",X"00",X"00",X"00", + X"00",X"EE",X"F7",X"FF",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"00",X"00",X"F9",X"FF",X"FF",X"FE", + X"00",X"00",X"E1",X"68",X"7E",X"F3",X"7E",X"3C",X"00",X"00",X"F6",X"10",X"00",X"00",X"00",X"00", + X"00",X"88",X"77",X"EE",X"FF",X"FF",X"33",X"F0",X"00",X"00",X"08",X"C3",X"F3",X"FD",X"FF",X"F7", + X"00",X"E0",X"E1",X"69",X"7F",X"7F",X"6F",X"3F",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"FF",X"FF",X"11",X"F0",X"00",X"0C",X"0F",X"0F",X"F7",X"FB",X"F6",X"F7", + X"E0",X"EF",X"EF",X"6F",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"8F",X"FB",X"F5",X"F7", + X"EE",X"EF",X"EF",X"6F",X"7F",X"F7",X"7E",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"CC",X"FF",X"F7", + X"00",X"EE",X"EF",X"6F",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"EC",X"F7", + X"00",X"00",X"EF",X"6E",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E2", + X"00",X"00",X"00",X"08",X"7F",X"F7",X"7E",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"08",X"2F",X"EF",X"FB", + X"00",X"00",X"00",X"08",X"7F",X"7F",X"6F",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"8E",X"F8", + X"00",X"00",X"00",X"00",X"6E",X"33",X"08",X"3F",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"08",X"F8", + X"00",X"00",X"00",X"00",X"4C",X"11",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"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C8", + X"00",X"00",X"00",X"00",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/Jaleco Exerion/rtl/rom/exerion_05.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_05.vhd new file mode 100644 index 00000000..b16e2d73 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_05.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_05 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 exerion_05 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"FF",X"47",X"CD",X"00",X"01",X"CD",X"44",X"01",X"CD",X"32",X"02",X"C3",X"00",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"00",X"40",X"01",X"F0",X"47",X"00",X"00",X"00",X"C3",X"10",X"01",X"00",X"00",X"00",X"00", + X"CD",X"24",X"01",X"23",X"7D",X"B9",X"C2",X"10",X"01",X"7C",X"B8",X"C2",X"10",X"01",X"C9",X"00", + X"00",X"00",X"00",X"00",X"36",X"AA",X"7E",X"FE",X"AA",X"C2",X"32",X"01",X"36",X"55",X"7E",X"FE", + X"55",X"C8",X"76",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"21",X"00",X"40",X"01",X"F0",X"07",X"C3",X"54",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"36",X"00",X"0B",X"54",X"5D",X"13",X"ED",X"B0",X"C9",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"08",X"40",X"3A",X"00",X"60",X"BE",X"CA",X"73",X"01",X"77",X"CD",X"88",X"01",X"CD",X"D0", + X"01",X"C3",X"70",X"01",X"00",X"00",X"00",X"00",X"21",X"B0",X"01",X"11",X"00",X"80",X"01",X"0D", + X"00",X"ED",X"B0",X"C9",X"00",X"00",X"00",X"00",X"21",X"00",X"43",X"11",X"C0",X"01",X"CD",X"00", + X"02",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"8A",X"8A",X"8A",X"8A",X"00",X"00",X"00",X"00", + X"00",X"10",X"20",X"30",X"40",X"50",X"60",X"70",X"80",X"90",X"A0",X"B0",X"C0",X"D0",X"E0",X"F0", + X"21",X"00",X"A0",X"01",X"00",X"43",X"11",X"00",X"44",X"D9",X"01",X"00",X"45",X"11",X"00",X"46", + X"D9",X"C3",X"30",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"21",X"01",X"40",X"3A",X"00",X"60",X"BE",X"CA",X"03",X"02",X"77",X"47",X"CD",X"18",X"02",X"C3", + X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"E6",X"40",X"C2",X"80",X"03",X"78",X"E6",X"03", + X"CA",X"32",X"02",X"FE",X"02",X"DA",X"42",X"02",X"CA",X"50",X"02",X"C3",X"44",X"03",X"00",X"00", + X"00",X"00",X"21",X"00",X"80",X"36",X"00",X"2C",X"7D",X"FE",X"0D",X"C2",X"35",X"02",X"C9",X"00", + X"00",X"00",X"21",X"05",X"40",X"78",X"0F",X"0F",X"E6",X"07",X"77",X"C9",X"00",X"00",X"00",X"00", + X"21",X"05",X"40",X"78",X"E6",X"1C",X"0F",X"0F",X"77",X"2C",X"77",X"2E",X"08",X"01",X"00",X"07", + X"CD",X"54",X"01",X"CD",X"80",X"02",X"CD",X"C8",X"02",X"CD",X"04",X"03",X"C9",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"A0",X"02",X"11",X"40",X"40",X"01",X"20",X"00",X"ED",X"B0",X"21",X"43",X"41",X"36",X"43", + X"2E",X"4B",X"36",X"44",X"2E",X"53",X"36",X"45",X"2E",X"5B",X"36",X"46",X"C9",X"00",X"00",X"00", + X"05",X"00",X"00",X"10",X"01",X"00",X"00",X"00",X"05",X"00",X"00",X"30",X"01",X"00",X"00",X"00", + X"05",X"00",X"00",X"60",X"01",X"00",X"00",X"00",X"06",X"00",X"00",X"20",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"21",X"40",X"40",X"E5",X"CD",X"DD",X"02",X"E1", + X"7D",X"C6",X"08",X"6F",X"FE",X"60",X"C2",X"CB",X"02",X"C9",X"00",X"00",X"00",X"2C",X"7D",X"E6", + X"18",X"0F",X"47",X"3A",X"06",X"40",X"07",X"07",X"07",X"07",X"80",X"5F",X"16",X"08",X"1A",X"77", + X"2C",X"1C",X"1A",X"77",X"24",X"2D",X"1C",X"1A",X"77",X"2C",X"1C",X"1A",X"77",X"C9",X"00",X"00", + X"00",X"00",X"00",X"00",X"21",X"41",X"41",X"E5",X"5E",X"2C",X"56",X"2C",X"66",X"2E",X"00",X"CD", + X"20",X"03",X"E1",X"7D",X"C6",X"08",X"6F",X"FE",X"61",X"C2",X"07",X"03",X"C9",X"00",X"00",X"00", + X"0E",X"10",X"1A",X"06",X"04",X"77",X"2C",X"3C",X"77",X"2C",X"3C",X"77",X"2C",X"3C",X"77",X"2C", + X"3C",X"05",X"C2",X"25",X"03",X"1C",X"0D",X"C2",X"22",X"03",X"C9",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"CD",X"50",X"02",X"21",X"1A",X"40",X"36",X"FF",X"C9",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CD",X"96",X"03",X"CD",X"E0",X"04",X"CD",X"38",X"07",X"CD",X"E0",X"03",X"C3",X"C0",X"0D",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"78",X"E6",X"20",X"07",X"07",X"4F",X"78",X"0F",X"0F",X"0F", + X"57",X"E6",X"03",X"B1",X"32",X"0A",X"40",X"7A",X"E6",X"80",X"57",X"78",X"E6",X"03",X"B2",X"32", + X"0B",X"40",X"21",X"10",X"40",X"34",X"2C",X"2C",X"3A",X"5B",X"40",X"E6",X"F0",X"47",X"3A",X"5C", + X"40",X"E6",X"01",X"B0",X"0F",X"0F",X"0F",X"0F",X"77",X"21",X"0A",X"40",X"CD",X"80",X"07",X"C3", + X"98",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"40",X"40",X"11",X"00",X"80",X"0E",X"08",X"CD",X"50",X"0D",X"2E",X"48",X"1E",X"02",X"0E", + X"09",X"CD",X"50",X"0D",X"2E",X"50",X"1E",X"04",X"0E",X"0A",X"CD",X"50",X"0D",X"2E",X"58",X"1E", + X"06",X"0E",X"0B",X"CD",X"50",X"0D",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7E",X"FE",X"04",X"DA",X"48",X"04",X"2C",X"7E",X"0F",X"0F",X"0F",X"C6",X"20",X"2C",X"2C",X"96", + X"12",X"59",X"7E",X"E6",X"1F",X"CA",X"2A",X"04",X"3E",X"01",X"47",X"7E",X"E6",X"E0",X"2C",X"B6", + X"07",X"07",X"07",X"80",X"47",X"3E",X"11",X"90",X"47",X"2D",X"2D",X"96",X"E6",X"0F",X"07",X"07", + X"07",X"07",X"80",X"12",X"C9",X"00",X"00",X"00",X"AF",X"12",X"59",X"12",X"C9",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"45",X"40",X"4E",X"06",X"43",X"2E",X"4D",X"5E",X"16",X"44",X"D9",X"21",X"55",X"40",X"4E", + X"06",X"45",X"2E",X"5E",X"5E",X"D9",X"21",X"00",X"A0",X"7E",X"0F",X"DA",X"79",X"04",X"0A",X"32", + X"01",X"80",X"0C",X"1A",X"32",X"03",X"80",X"1C",X"D9",X"0A",X"32",X"05",X"80",X"0C",X"7B",X"32", + X"07",X"80",X"D9",X"7E",X"0F",X"0F",X"D2",X"79",X"04",X"C9",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"40",X"40",X"CD",X"00",X"05",X"11",X"48",X"40",X"CD",X"00",X"05",X"11",X"50",X"40",X"CD", + X"00",X"05",X"11",X"58",X"40",X"C3",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"1A",X"E6",X"07",X"07",X"C6",X"10",X"6F",X"26",X"05",X"7E",X"2C",X"6E",X"67",X"E9",X"C9",X"00", + X"05",X"0E",X"05",X"0E",X"06",X"A0",X"05",X"0E",X"06",X"20",X"05",X"20",X"07",X"10",X"05",X"0E", + X"EB",X"CD",X"44",X"05",X"CD",X"64",X"05",X"2C",X"CD",X"D6",X"05",X"2D",X"7E",X"A7",X"C8",X"2D", + X"7E",X"FE",X"A0",X"D8",X"2D",X"2D",X"2D",X"36",X"02",X"24",X"36",X"00",X"C9",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"3A",X"12",X"40",X"47",X"2C",X"2C",X"7E",X"07",X"00",X"4F",X"2C",X"7E", + X"E6",X"F0",X"2C",X"86",X"0F",X"0F",X"0F",X"0F",X"2D",X"81",X"90",X"57",X"08",X"7A",X"A7",X"C0", + X"3C",X"57",X"C9",X"00",X"3A",X"0A",X"40",X"07",X"DA",X"74",X"05",X"0F",X"82",X"C3",X"84",X"05", + X"00",X"00",X"00",X"00",X"0F",X"E6",X"7F",X"92",X"D2",X"96",X"05",X"2F",X"3C",X"C3",X"84",X"05", + X"00",X"00",X"00",X"00",X"CD",X"A8",X"05",X"7E",X"81",X"77",X"2C",X"7E",X"CE",X"00",X"E6",X"01", + X"77",X"C9",X"00",X"00",X"00",X"00",X"CD",X"A8",X"05",X"7E",X"91",X"77",X"2C",X"7E",X"DE",X"00", + X"E6",X"01",X"77",X"C9",X"00",X"00",X"00",X"00",X"47",X"E6",X"1C",X"0F",X"0F",X"4F",X"78",X"E6", + X"03",X"C8",X"FE",X"02",X"3A",X"10",X"40",X"CA",X"C6",X"05",X"DA",X"CE",X"05",X"E6",X"03",X"C8", + X"0C",X"C9",X"00",X"00",X"00",X"00",X"E6",X"01",X"C0",X"0C",X"C9",X"00",X"00",X"00",X"E6",X"03", + X"C0",X"0C",X"C9",X"00",X"00",X"00",X"3A",X"0B",X"40",X"47",X"E6",X"03",X"C8",X"07",X"07",X"07", + X"07",X"4F",X"08",X"E6",X"0F",X"81",X"C6",X"80",X"5F",X"16",X"08",X"1A",X"C3",X"F8",X"05",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CB",X"78",X"C2",X"04",X"06",X"CD",X"A8",X"05", + X"7E",X"81",X"77",X"C9",X"CD",X"A8",X"05",X"7E",X"91",X"77",X"C9",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EB",X"2C",X"2C",X"2C",X"CD",X"60",X"06",X"2C",X"CD",X"80",X"06",X"2D",X"2D",X"2D",X"7E",X"0F", + X"0F",X"0F",X"D6",X"01",X"2C",X"86",X"4F",X"2C",X"7E",X"CE",X"00",X"47",X"3A",X"5B",X"40",X"91", + X"3A",X"5C",X"40",X"98",X"D8",X"2D",X"2D",X"2D",X"2D",X"36",X"05",X"C9",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3A",X"0A",X"40",X"07",X"DA",X"76",X"06",X"0F",X"D6",X"01",X"D2",X"84",X"05",X"2F",X"3C",X"C3", + X"96",X"05",X"00",X"00",X"00",X"00",X"0F",X"E6",X"7F",X"C6",X"01",X"C3",X"96",X"05",X"00",X"00", + X"3A",X"0B",X"40",X"47",X"E6",X"03",X"C8",X"FE",X"02",X"3E",X"04",X"DA",X"F8",X"05",X"3E",X"08", + X"CA",X"F8",X"05",X"3E",X"0E",X"C3",X"F8",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EB",X"24",X"7E",X"A7",X"CA",X"D4",X"06",X"FE",X"11",X"D2",X"DC",X"06",X"34",X"3D",X"4F",X"2C", + X"86",X"5F",X"2C",X"56",X"2C",X"79",X"07",X"07",X"07",X"07",X"4F",X"46",X"1A",X"16",X"04",X"02", + X"0C",X"3C",X"02",X"0C",X"3C",X"02",X"0C",X"3C",X"02",X"0C",X"3C",X"15",X"C2",X"BF",X"06",X"C9", + X"00",X"00",X"00",X"00",X"34",X"25",X"C3",X"DD",X"02",X"00",X"00",X"00",X"34",X"FE",X"12",X"D8", + X"35",X"25",X"CD",X"60",X"07",X"C8",X"01",X"40",X"40",X"7D",X"FE",X"48",X"CA",X"F6",X"06",X"0E", + X"50",X"DA",X"F6",X"06",X"0E",X"48",X"0A",X"FE",X"02",X"C8",X"36",X"04",X"2C",X"2C",X"2C",X"3A", + X"5B",X"40",X"77",X"2C",X"3A",X"5C",X"40",X"77",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EB",X"2C",X"2C",X"2C",X"CD",X"20",X"07",X"CD",X"00",X"0D",X"C9",X"00",X"00",X"00",X"00",X"00", + X"3A",X"0A",X"40",X"07",X"DA",X"2E",X"07",X"0F",X"C3",X"84",X"05",X"00",X"00",X"00",X"0F",X"E6", + X"7F",X"C3",X"96",X"05",X"00",X"00",X"00",X"00",X"CD",X"60",X"07",X"7A",X"CA",X"44",X"07",X"3A", + X"14",X"40",X"E6",X"0E",X"32",X"14",X"40",X"57",X"3A",X"06",X"40",X"07",X"07",X"07",X"07",X"82", + X"32",X"0C",X"80",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"16",X"03",X"3A",X"40",X"40",X"FE",X"04",X"C8",X"16",X"05",X"3A",X"48",X"40",X"FE",X"04",X"C8", + X"16",X"01",X"3A",X"50",X"40",X"FE",X"04",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"28",X"01",X"3A",X"5B",X"40",X"91",X"3A",X"5C",X"40",X"98",X"D0",X"7E",X"E6",X"80",X"C8", + X"36",X"00",X"C9",X"00",X"00",X"00",X"00",X"00",X"01",X"98",X"01",X"3A",X"5B",X"40",X"91",X"3A", + X"5C",X"40",X"98",X"D8",X"7E",X"E6",X"80",X"C0",X"36",X"00",X"C9",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"00",X"09",X"01",X"01",X"00",X"09",X"01",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"03",X"01",X"00",X"09",X"03",X"01",X"00",X"09",X"03",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"02",X"01",X"00",X"09",X"02",X"01",X"00",X"09",X"02",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"00",X"01",X"00",X"09",X"00",X"01",X"00",X"09",X"00",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"01",X"01",X"00",X"09",X"01",X"01",X"00",X"09",X"01",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"03",X"01",X"00",X"09",X"03",X"01",X"00",X"09",X"03",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"02",X"01",X"00",X"09",X"02",X"01",X"00",X"09",X"02",X"01",X"00",X"09",X"00",X"04",X"00",X"00", + X"00",X"01",X"00",X"09",X"00",X"01",X"00",X"09",X"00",X"01",X"00",X"09",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"03",X"02",X"02",X"02",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"06",X"05",X"04",X"03",X"03",X"02",X"02",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00", + X"0C",X"0A",X"08",X"07",X"06",X"05",X"04",X"03",X"03",X"02",X"02",X"02",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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"20",X"30",X"40",X"50",X"60",X"70",X"80",X"90",X"A0",X"B0",X"C0",X"D0",X"E0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"5E",X"40",X"7E",X"3D",X"E6",X"1F",X"47",X"FE",X"1F",X"C2",X"24",X"0D",X"2E",X"18",X"7E", + X"3C",X"E6",X"0F",X"77",X"4F",X"C2",X"30",X"0D",X"2E",X"05",X"7E",X"2C",X"77",X"C3",X"30",X"0D", + X"00",X"00",X"00",X"00",X"7E",X"E6",X"E0",X"B0",X"77",X"C9",X"00",X"00",X"00",X"00",X"00",X"00", + X"21",X"06",X"40",X"7E",X"07",X"07",X"07",X"07",X"2E",X"18",X"B6",X"5F",X"16",X"0F",X"2E",X"5E", + X"1A",X"77",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3A",X"1A",X"40",X"A7",X"CA",X"10",X"04",X"7E",X"FE",X"04",X"DA",X"48",X"04",X"2C",X"2C",X"7E", + X"0F",X"0F",X"0F",X"2C",X"86",X"2F",X"32",X"1B",X"40",X"2C",X"7E",X"CE",X"00",X"2F",X"E6",X"01", + X"32",X"1C",X"40",X"2D",X"2D",X"2D",X"7E",X"2C",X"86",X"3D",X"0F",X"0F",X"0F",X"E6",X"E0",X"47", + X"3A",X"1B",X"40",X"80",X"12",X"59",X"00",X"00",X"3A",X"1B",X"40",X"4F",X"3A",X"1C",X"40",X"47", + X"03",X"79",X"E6",X"1F",X"CA",X"99",X"0D",X"3E",X"20",X"81",X"4F",X"3E",X"00",X"88",X"E6",X"01", + X"47",X"79",X"E6",X"E0",X"B0",X"07",X"07",X"07",X"47",X"3E",X"11",X"90",X"47",X"FE",X"10",X"DA", + X"B4",X"0D",X"06",X"0F",X"96",X"E6",X"0F",X"07",X"07",X"07",X"07",X"80",X"12",X"C9",X"00",X"00", + X"3A",X"1A",X"40",X"A7",X"CA",X"60",X"04",X"21",X"45",X"40",X"7E",X"C6",X"CF",X"4F",X"06",X"43", + X"2E",X"4D",X"7E",X"C6",X"CF",X"5F",X"16",X"44",X"D9",X"21",X"55",X"40",X"7E",X"C6",X"CF",X"4F", + X"06",X"45",X"2E",X"5E",X"5E",X"D9",X"21",X"00",X"A0",X"7E",X"0F",X"DA",X"E9",X"0D",X"0A",X"32", + X"01",X"80",X"0D",X"1A",X"32",X"03",X"80",X"1D",X"D9",X"0A",X"32",X"05",X"80",X"0D",X"7B",X"32", + X"07",X"80",X"D9",X"7E",X"0F",X"0F",X"D2",X"E9",X"0D",X"C9",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F",X"5F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF",X"00",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/Jaleco Exerion/rtl/rom/exerion_06.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_06.vhd new file mode 100644 index 00000000..3abf5705 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_06.vhd @@ -0,0 +1,535 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_06 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 exerion_06 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"E0",X"30",X"FF",X"FF",X"FF",X"FF",X"00",X"EE",X"33",X"00",X"88",X"FF",X"0F",X"07", + X"00",X"EE",X"33",X"00",X"FF",X"FF",X"33",X"00",X"0F",X"0F",X"03",X"00",X"00",X"00",X"88",X"33", + X"00",X"00",X"10",X"40",X"FF",X"FF",X"FF",X"FF",X"88",X"5B",X"CF",X"00",X"CC",X"FF",X"0F",X"07", + X"80",X"FF",X"FF",X"00",X"3D",X"0F",X"CF",X"00",X"87",X"1E",X"0F",X"00",X"00",X"00",X"CC",X"31", + X"00",X"00",X"10",X"40",X"FF",X"FF",X"FF",X"FF",X"4C",X"4B",X"0F",X"11",X"EE",X"FF",X"E1",X"34", + X"C4",X"11",X"CC",X"11",X"D3",X"0F",X"0F",X"11",X"4B",X"0F",X"0F",X"01",X"00",X"00",X"EE",X"31", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"0F",X"32",X"EE",X"FF",X"2D",X"25", + X"E6",X"30",X"00",X"33",X"D3",X"3C",X"07",X"23",X"87",X"F0",X"1E",X"03",X"00",X"00",X"FF",X"33", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"D2",X"32",X"E2",X"F8",X"E1",X"34", + X"E6",X"F0",X"10",X"33",X"97",X"0E",X"0B",X"23",X"0F",X"0F",X"3C",X"03",X"00",X"08",X"0F",X"03", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"1F",X"E1",X"F0",X"47",X"EA",X"FB",X"0F",X"07", + X"B3",X"F0",X"70",X"66",X"97",X"0D",X"0D",X"47",X"C3",X"3C",X"E1",X"34",X"00",X"EE",X"FF",X"71", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"97",X"F0",X"78",X"CF",X"F3",X"F8",X"E1",X"BC", + X"B3",X"C0",X"F0",X"76",X"1F",X"0B",X"0E",X"47",X"E1",X"F0",X"78",X"25",X"CC",X"F3",X"FE",X"71", + X"00",X"00",X"00",X"70",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"3C",X"CF",X"FF",X"FF",X"2D",X"AD", + X"33",X"00",X"E0",X"70",X"1F",X"07",X"0F",X"47",X"E5",X"D2",X"F0",X"07",X"0F",X"F1",X"FC",X"33", + X"FF",X"FF",X"C0",X"10",X"FF",X"FF",X"FF",X"FF",X"97",X"F0",X"78",X"CF",X"FB",X"F8",X"E1",X"BC", + X"B3",X"C0",X"F0",X"76",X"1F",X"0B",X"0E",X"47",X"69",X"D2",X"B4",X"07",X"CC",X"F3",X"FE",X"71", + X"FF",X"FF",X"70",X"00",X"FF",X"FF",X"FF",X"FF",X"1F",X"E1",X"F0",X"47",X"EA",X"FA",X"0F",X"07", + X"B3",X"F0",X"70",X"66",X"1F",X"49",X"0D",X"47",X"4B",X"C3",X"96",X"16",X"00",X"EE",X"FF",X"71", + X"FF",X"FF",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"D2",X"32",X"E2",X"FA",X"A5",X"34", + X"E6",X"F0",X"10",X"33",X"1F",X"68",X"0B",X"23",X"0F",X"69",X"1E",X"12",X"00",X"08",X"0F",X"03", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"0F",X"32",X"EE",X"FF",X"A5",X"25", + X"E6",X"30",X"00",X"33",X"17",X"78",X"07",X"23",X"87",X"3C",X"1E",X"03",X"00",X"00",X"FF",X"31", + X"FF",X"FF",X"90",X"40",X"FF",X"FF",X"FF",X"FF",X"4C",X"4B",X"0F",X"11",X"EE",X"FF",X"E1",X"25", + X"C4",X"11",X"CC",X"11",X"93",X"3C",X"0F",X"11",X"87",X"96",X"1E",X"01",X"00",X"00",X"EE",X"31", + X"FF",X"FF",X"90",X"40",X"FF",X"FF",X"FF",X"FF",X"88",X"5B",X"CF",X"00",X"CC",X"FF",X"0F",X"07", + X"80",X"FF",X"FF",X"00",X"F1",X"1E",X"CF",X"00",X"0F",X"87",X"0F",X"00",X"00",X"00",X"CC",X"33", + X"FF",X"FF",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"00",X"EE",X"33",X"00",X"88",X"FF",X"0F",X"07", + X"00",X"EE",X"33",X"00",X"FF",X"FF",X"33",X"00",X"0F",X"0F",X"03",X"00",X"00",X"00",X"88",X"33", + X"FF",X"FF",X"F0",X"70",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"B0",X"78",X"44",X"00",X"00",X"00",X"00",X"70",X"F0",X"F0",X"30",X"00",X"F0",X"F0",X"30",X"00", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"90",X"B2",X"EA",X"00",X"08",X"0F",X"00",X"70",X"F4",X"F0",X"78",X"00",X"FE",X"FF",X"F0",X"00", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"C0",X"75",X"F4",X"11",X"0E",X"0F",X"03",X"72",X"FE",X"F0",X"3C",X"01",X"FE",X"FF",X"F3",X"10", + X"00",X"00",X"80",X"10",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"E8",X"32",X"E8",X"32",X"8F",X"FF",X"07",X"72",X"F4",X"F2",X"1E",X"21",X"FC",X"FF",X"F7",X"30", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F4",X"11",X"C0",X"75",X"9E",X"88",X"07",X"72",X"F0",X"F7",X"0F",X"30",X"F0",X"FF",X"FF",X"30", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"00",X"80",X"B2",X"8F",X"FF",X"0F",X"72",X"F4",X"7A",X"87",X"71",X"FC",X"FC",X"F3",X"52", + X"00",X"00",X"80",X"10",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"44",X"00",X"B0",X"78",X"0F",X"0F",X"0F",X"72",X"FE",X"3C",X"CB",X"73",X"FE",X"FF",X"7F",X"43", + 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"00",X"00",X"E1",X"38",X"8F",X"FF",X"0F",X"72",X"F4",X"1E",X"E1",X"71",X"BE",X"FF",X"F7",X"70", + X"C0",X"10",X"00",X"40",X"60",X"60",X"60",X"30",X"00",X"10",X"00",X"30",X"20",X"30",X"70",X"00", + X"60",X"30",X"E0",X"30",X"8F",X"88",X"0F",X"72",X"F0",X"0F",X"F2",X"70",X"FE",X"FC",X"7F",X"43", + X"E0",X"30",X"00",X"40",X"F0",X"40",X"F0",X"70",X"F0",X"70",X"90",X"70",X"B0",X"70",X"F0",X"00", + X"F0",X"70",X"F0",X"70",X"8F",X"FF",X"0F",X"72",X"78",X"87",X"F7",X"70",X"F6",X"FE",X"F3",X"52", + X"F0",X"70",X"F0",X"70",X"F0",X"50",X"F0",X"70",X"F0",X"70",X"90",X"70",X"90",X"70",X"F0",X"10", + X"F0",X"70",X"F0",X"70",X"1E",X"0F",X"07",X"72",X"3C",X"C3",X"F2",X"30",X"F0",X"FF",X"FF",X"30", + X"10",X"40",X"F0",X"70",X"90",X"70",X"90",X"40",X"F0",X"70",X"90",X"40",X"90",X"40",X"90",X"70", + X"90",X"40",X"90",X"40",X"8F",X"FF",X"07",X"72",X"1E",X"E5",X"F0",X"30",X"FC",X"FF",X"F7",X"30", + X"F0",X"70",X"F0",X"70",X"10",X"70",X"90",X"40",X"10",X"10",X"F0",X"40",X"F0",X"70",X"30",X"70", + X"F0",X"70",X"F0",X"40",X"0E",X"0F",X"03",X"72",X"0F",X"FE",X"F0",X"10",X"FE",X"FF",X"F3",X"10", + X"E0",X"30",X"20",X"40",X"30",X"60",X"30",X"60",X"20",X"10",X"F0",X"40",X"F0",X"70",X"30",X"60", + X"F0",X"70",X"F0",X"60",X"08",X"0F",X"00",X"70",X"87",X"F4",X"F0",X"00",X"FE",X"FF",X"F0",X"00", + X"C0",X"10",X"40",X"40",X"20",X"40",X"20",X"20",X"C0",X"10",X"F0",X"40",X"E0",X"30",X"30",X"00", + X"60",X"30",X"60",X"20",X"00",X"00",X"00",X"70",X"C3",X"F0",X"30",X"00",X"F0",X"F0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"E0",X"70",X"60",X"30",X"20",X"20",X"E0",X"30",X"D0",X"50",X"D0",X"10",X"20",X"70", + X"F0",X"70",X"10",X"40",X"10",X"00",X"10",X"60",X"00",X"60",X"E0",X"70",X"F0",X"70",X"E0",X"30", + X"00",X"00",X"90",X"00",X"90",X"40",X"30",X"60",X"10",X"40",X"90",X"40",X"90",X"00",X"30",X"70", + X"80",X"00",X"10",X"40",X"F0",X"30",X"20",X"30",X"00",X"40",X"10",X"00",X"00",X"60",X"10",X"40", + X"00",X"00",X"90",X"00",X"90",X"40",X"10",X"40",X"10",X"40",X"90",X"40",X"90",X"00",X"10",X"50", + X"80",X"00",X"F0",X"70",X"F0",X"70",X"C0",X"10",X"00",X"40",X"E0",X"70",X"80",X"10",X"10",X"40", + X"00",X"00",X"90",X"00",X"F0",X"70",X"10",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"10",X"40", + X"80",X"00",X"F0",X"70",X"F0",X"70",X"80",X"00",X"00",X"40",X"10",X"00",X"60",X"00",X"10",X"40", + X"00",X"00",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"70",X"F0",X"70",X"10",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"00",X"00",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"70",X"10",X"40",X"10",X"60",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"00",X"00",X"E0",X"70",X"10",X"40",X"E0",X"30",X"10",X"40",X"10",X"40",X"10",X"00",X"E0",X"30", + X"F0",X"70",X"10",X"40",X"10",X"20",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"E0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"00",X"E0",X"70",X"60",X"40",X"20",X"30",X"30",X"00",X"F0",X"30",X"F0",X"00",X"F0",X"30", + X"30",X"60",X"30",X"00",X"30",X"40",X"00",X"00",X"00",X"40",X"60",X"60",X"CC",X"33",X"00",X"00", + X"10",X"10",X"10",X"60",X"90",X"20",X"B0",X"70",X"10",X"00",X"00",X"40",X"00",X"30",X"00",X"40", + X"40",X"70",X"C0",X"00",X"70",X"40",X"00",X"00",X"00",X"40",X"F0",X"40",X"62",X"64",X"00",X"00", + X"10",X"10",X"10",X"50",X"90",X"10",X"90",X"70",X"F0",X"70",X"00",X"40",X"00",X"40",X"C0",X"70", + X"80",X"70",X"00",X"70",X"F0",X"40",X"00",X"00",X"F0",X"70",X"F0",X"50",X"31",X"C8",X"00",X"00", + X"F0",X"70",X"10",X"40",X"F0",X"70",X"90",X"40",X"F0",X"70",X"00",X"40",X"00",X"70",X"00",X"40", + X"C0",X"10",X"C0",X"70",X"D0",X"50",X"00",X"00",X"F0",X"70",X"90",X"70",X"31",X"C8",X"66",X"33", + X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"00",X"F0",X"70",X"90",X"70",X"00",X"00",X"F0",X"70",X"10",X"70",X"F1",X"F8",X"66",X"33", + X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"60",X"10",X"00",X"F0",X"70",X"F0",X"30",X"F0",X"70", + X"70",X"10",X"F0",X"00",X"10",X"70",X"00",X"60",X"20",X"40",X"30",X"60",X"F1",X"F8",X"00",X"00", + X"10",X"00",X"E0",X"30",X"10",X"00",X"60",X"20",X"30",X"00",X"F0",X"30",X"F0",X"00",X"F0",X"30", + X"30",X"60",X"30",X"00",X"10",X"60",X"00",X"60",X"40",X"40",X"20",X"40",X"E2",X"74",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"33",X"00",X"00", + X"BD",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"F9",X"00",X"00",X"00",X"00",X"BD",X"FF",X"FF",X"F9", + X"F9",X"F3",X"D5",X"74",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"FF",X"FF",X"FF",X"FF", + X"1F",X"F0",X"F0",X"F8",X"00",X"00",X"00",X"F9",X"CC",X"FF",X"FF",X"FF",X"1F",X"F0",X"F0",X"F8", + X"F9",X"E2",X"D5",X"33",X"FF",X"00",X"EE",X"33",X"00",X"00",X"07",X"00",X"FF",X"FF",X"FF",X"FF", + X"B5",X"F0",X"F0",X"F8",X"00",X"00",X"00",X"F9",X"E2",X"F0",X"F0",X"F8",X"A6",X"F0",X"F0",X"74", + X"F9",X"EE",X"DD",X"00",X"F9",X"00",X"F1",X"74",X"00",X"00",X"02",X"00",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"F9",X"F1",X"F0",X"F0",X"F8",X"CC",X"FF",X"FF",X"33", + X"F9",X"00",X"00",X"00",X"F9",X"88",X"F0",X"F8",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F9",X"F9",X"FF",X"FF",X"FC",X"00",X"00",X"00",X"04", + X"BD",X"FF",X"FF",X"FF",X"F9",X"C4",X"FC",X"F9",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"F1",X"F0",X"F0",X"F8",X"FF",X"00",X"88",X"74",X"77",X"00",X"00",X"0E", + X"1F",X"F0",X"F0",X"F8",X"F9",X"C4",X"32",X"F9",X"CC",X"77",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"F1",X"F0",X"F0",X"74",X"00",X"00",X"88",X"74",X"F9",X"33",X"00",X"04", + X"B5",X"F0",X"F0",X"F8",X"F9",X"C4",X"32",X"F9",X"E2",X"F8",X"00",X"F9",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"EE",X"FF",X"FF",X"33",X"FF",X"00",X"88",X"74",X"F1",X"FC",X"11",X"00", + X"FF",X"FF",X"FF",X"FF",X"F9",X"C4",X"32",X"F9",X"F1",X"F0",X"11",X"F9",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"BD",X"FF",X"FF",X"FC",X"F7",X"F0",X"FE",X"FF", + X"00",X"00",X"00",X"00",X"BD",X"F3",X"32",X"F9",X"F1",X"F3",X"32",X"F9",X"00",X"00",X"00",X"00", + X"F1",X"F0",X"F0",X"F8",X"CC",X"FF",X"00",X"00",X"1F",X"F0",X"F0",X"F8",X"88",X"F3",X"F0",X"F8", + X"FF",X"CC",X"33",X"FF",X"1F",X"F0",X"11",X"F9",X"F9",X"C4",X"32",X"F9",X"00",X"00",X"02",X"00", + X"B5",X"F0",X"F0",X"F8",X"E2",X"F0",X"11",X"02",X"A6",X"F0",X"F0",X"F8",X"00",X"CC",X"F1",X"F8", + X"F9",X"C4",X"32",X"F9",X"A6",X"F8",X"00",X"F9",X"F9",X"C4",X"32",X"F9",X"00",X"00",X"07",X"00", + X"1F",X"FF",X"FF",X"FF",X"F1",X"F0",X"32",X"07",X"CC",X"FF",X"FF",X"FF",X"CC",X"77",X"EE",X"FF", + X"F9",X"C4",X"32",X"F9",X"CC",X"77",X"04",X"FF",X"F9",X"C4",X"32",X"F9",X"00",X"00",X"02",X"00", + X"B5",X"11",X"00",X"00",X"F9",X"F7",X"32",X"02",X"00",X"00",X"00",X"00",X"B7",X"74",X"00",X"00", + X"F9",X"C4",X"32",X"F9",X"00",X"00",X"0E",X"00",X"BD",X"D5",X"FE",X"F9",X"00",X"00",X"00",X"00", + X"E2",X"11",X"00",X"00",X"F9",X"C4",X"32",X"00",X"00",X"00",X"01",X"FF",X"1F",X"74",X"00",X"00", + X"F9",X"C4",X"32",X"F9",X"CC",X"77",X"04",X"CC",X"1F",X"99",X"F0",X"F8",X"CC",X"77",X"00",X"CC", + X"CC",X"11",X"00",X"00",X"F9",X"CC",X"33",X"00",X"00",X"08",X"03",X"F9",X"BD",X"33",X"00",X"00", + X"F9",X"CC",X"33",X"F9",X"E2",X"F8",X"00",X"FB",X"B5",X"11",X"F1",X"F8",X"E2",X"F8",X"00",X"FB", + X"00",X"00",X"00",X"00",X"F9",X"00",X"00",X"00",X"00",X"00",X"01",X"F9",X"77",X"00",X"00",X"00", + X"F9",X"00",X"00",X"F9",X"F1",X"F0",X"DD",X"F8",X"EE",X"11",X"EE",X"FF",X"F1",X"F0",X"DD",X"F8", + X"87",X"F0",X"F0",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"0E",X"E1",X"F0",X"F0",X"F0",X"78",X"8F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"0C",X"C3",X"F0",X"F0",X"F0",X"3C",X"CF",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"EF",X"87",X"F0",X"F0",X"F0",X"1E",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"CF",X"1F",X"E1",X"F0",X"78",X"8F",X"3F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"0F",X"3F",X"C3",X"F0",X"3C",X"CF",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0", + X"F0",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"0F",X"EF",X"87",X"F0",X"1E",X"7F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"F0", + X"F0",X"F0",X"8F",X"FF",X"77",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"4B",X"CF",X"1F",X"69",X"8F",X"3F",X"2D",X"FF",X"FF",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"F0", + X"F0",X"78",X"CF",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"C3",X"0F",X"3F",X"0F",X"CF",X"0F",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"08",X"C3",X"F0",X"F0", + X"F0",X"3C",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"C3",X"1E",X"EF",X"0F",X"7F",X"87",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"87",X"F0",X"F0", + X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"C3",X"78",X"CF",X"9F",X"3F",X"E1",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0E",X"F0",X"F0", + X"F0",X"8F",X"FF",X"77",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"87",X"F0",X"0F",X"FF",X"0F",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0C",X"0F",X"0F", + X"0F",X"CF",X"FF",X"33",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"0E",X"F0",X"3C",X"6F",X"C3",X"F0",X"8F",X"FF",X"77",X"00",X"00",X"00",X"00",X"08",X"0F",X"0F", + X"0F",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF", + X"0C",X"C3",X"78",X"0F",X"E1",X"3C",X"CF",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF", + X"00",X"87",X"F0",X"96",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF", + X"00",X"0E",X"E1",X"F0",X"78",X"8F",X"FF",X"77",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF", + X"00",X"08",X"C3",X"F0",X"3C",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"87",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"C3",X"F0",X"3C",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"E1",X"F0",X"78",X"8F",X"FF",X"77",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"87",X"F0",X"96",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"FF", + X"0C",X"C3",X"78",X"0F",X"E1",X"3C",X"CF",X"FF",X"33",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"FF", + X"0E",X"F0",X"3C",X"6F",X"C3",X"F0",X"8F",X"FF",X"77",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"3C",X"FF", + X"87",X"F0",X"0F",X"FF",X"0F",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"3C",X"FF", + X"C3",X"78",X"CF",X"FF",X"3F",X"E1",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0F",X"0F",X"FF", + X"FF",X"00",X"08",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"3C",X"EF",X"FF",X"19",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"08",X"0F",X"0F",X"EF", + X"FF",X"11",X"0C",X"FF",X"FF",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"3C",X"FF",X"FF",X"00",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0C",X"E1",X"78",X"CF", + X"FF",X"33",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C3",X"3C",X"FF",X"FF",X"00",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"8F", + X"FF",X"7F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"0F",X"FF",X"FF",X"00",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"87",X"F0",X"F0",X"1E", + X"FF",X"1F",X"2D",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"FF",X"FF",X"00",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"3C", + X"FF",X"0F",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"0F",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"C3",X"3C",X"0F",X"3C", + X"3F",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"0F",X"0F",X"3F",X"0F",X"CF",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"0F",X"3C", + X"1F",X"E1",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"0F",X"0F",X"3F",X"0F",X"CF",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"3C", + X"87",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"3C", + X"C3",X"78",X"8F",X"FF",X"77",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"3C", + X"E1",X"3C",X"CF",X"FF",X"33",X"00",X"00",X"00",X"0F",X"0F",X"87",X"F0",X"F0",X"F0",X"3C",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"F0",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0F",X"0F",X"87",X"F0",X"F0",X"F0",X"1E",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"78",X"8F",X"FF",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"8F",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"1E",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"78",X"CF",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"0F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"F0",X"3C",X"EF",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"0F", + X"CF",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"0F", + X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"8F",X"FF",X"77", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"78",X"CF",X"FF",X"33", + X"C3",X"3C",X"3F",X"F0",X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"F0",X"3C",X"EF",X"FF",X"11", + X"C3",X"3C",X"0F",X"F0",X"0F",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF",X"00", + X"C3",X"3C",X"0F",X"F0",X"0F",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"3C",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"1E",X"0F",X"0F",X"FF", + X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"1E",X"0F",X"0F",X"FF", + X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"3F",X"0F", + X"CF",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"87",X"F0",X"F0",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"3F",X"0F", + X"CF",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"0E",X"F0",X"F0",X"F0",X"F0",X"F0",X"8F",X"FF",X"77",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF", + X"0C",X"E1",X"F0",X"F0",X"F0",X"78",X"CF",X"FF",X"33",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"FF", + X"08",X"C3",X"F0",X"F0",X"F0",X"3C",X"EF",X"FF",X"11",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"87",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"08",X"0F",X"0F",X"0F",X"EF",X"FF",X"11", + X"00",X"0E",X"F0",X"F0",X"F0",X"8F",X"FF",X"77",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0C",X"0F",X"0F",X"0F",X"CF",X"FF",X"33", + X"00",X"0C",X"E1",X"F0",X"78",X"CF",X"FF",X"33",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"F0",X"8F",X"FF",X"77", + X"00",X"08",X"0F",X"0F",X"0F",X"EF",X"FF",X"11",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"1E",X"FF",X"FF", + X"00",X"00",X"0F",X"0F",X"0F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"08",X"C3",X"F0",X"F0",X"F0",X"3C",X"EF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0C",X"E1",X"F0",X"F0",X"F0",X"78",X"CF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"3F",X"F0", + X"CF",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"0E",X"F0",X"F0",X"F0",X"F0",X"F0",X"8F",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"0F",X"F0", + X"0F",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"87",X"F0",X"F0",X"F0",X"F0",X"F0",X"1E",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"0F",X"F0", + X"0F",X"C3",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0", + X"F0",X"F0",X"3C",X"FF",X"FF",X"00",X"00",X"00",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"3C",X"FF", + X"00",X"00",X"E0",X"30",X"FF",X"FF",X"FF",X"FF",X"00",X"EE",X"33",X"00",X"88",X"FF",X"0F",X"07", + X"00",X"EE",X"33",X"00",X"FF",X"FF",X"33",X"00",X"0F",X"0F",X"03",X"00",X"00",X"00",X"88",X"33", + X"00",X"00",X"10",X"40",X"FF",X"FF",X"FF",X"FF",X"88",X"5B",X"CF",X"00",X"CC",X"FF",X"0F",X"07", + X"80",X"FF",X"FF",X"00",X"3D",X"0F",X"CF",X"00",X"87",X"1E",X"0F",X"00",X"00",X"00",X"CC",X"31", + X"00",X"00",X"10",X"40",X"FF",X"FF",X"FF",X"FF",X"4C",X"4B",X"0F",X"11",X"EE",X"FF",X"E1",X"34", + X"C4",X"11",X"CC",X"11",X"D3",X"0F",X"0F",X"11",X"4B",X"0F",X"0F",X"01",X"00",X"00",X"EE",X"31", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"0F",X"32",X"EE",X"FF",X"2D",X"25", + X"E6",X"30",X"00",X"33",X"D3",X"3C",X"07",X"23",X"87",X"F0",X"1E",X"03",X"00",X"00",X"FF",X"33", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"D2",X"32",X"E2",X"F8",X"E1",X"34", + X"E6",X"F0",X"10",X"33",X"97",X"0E",X"0B",X"23",X"0F",X"0F",X"3C",X"03",X"00",X"08",X"0F",X"03", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"1F",X"E1",X"F0",X"47",X"EA",X"FB",X"0F",X"07", + X"B3",X"F0",X"70",X"66",X"97",X"0D",X"0D",X"47",X"C3",X"3C",X"E1",X"34",X"00",X"EE",X"FF",X"71", + X"00",X"00",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"97",X"F0",X"78",X"CF",X"F3",X"F8",X"E1",X"BC", + X"B3",X"C0",X"F0",X"76",X"1F",X"0B",X"0E",X"47",X"E1",X"F0",X"78",X"25",X"CC",X"F3",X"FE",X"71", + X"00",X"00",X"00",X"70",X"FF",X"FF",X"FF",X"FF",X"F1",X"F0",X"3C",X"CF",X"FF",X"FF",X"2D",X"AD", + X"33",X"00",X"E0",X"70",X"1F",X"07",X"0F",X"47",X"E5",X"D2",X"F0",X"07",X"0F",X"F1",X"FC",X"33", + X"FF",X"FF",X"C0",X"10",X"FF",X"FF",X"FF",X"FF",X"97",X"F0",X"78",X"CF",X"FB",X"F8",X"E1",X"BC", + X"B3",X"C0",X"F0",X"76",X"1F",X"0B",X"0E",X"47",X"69",X"D2",X"B4",X"07",X"CC",X"F3",X"FE",X"71", + X"FF",X"FF",X"70",X"00",X"FF",X"FF",X"FF",X"FF",X"1F",X"E1",X"F0",X"47",X"EA",X"FA",X"0F",X"07", + X"B3",X"F0",X"70",X"66",X"1F",X"49",X"0D",X"47",X"4B",X"C3",X"96",X"16",X"00",X"EE",X"FF",X"71", + X"FF",X"FF",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"D2",X"32",X"E2",X"FA",X"A5",X"34", + X"E6",X"F0",X"10",X"33",X"1F",X"68",X"0B",X"23",X"0F",X"69",X"1E",X"12",X"00",X"08",X"0F",X"03", + X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"2E",X"C3",X"0F",X"32",X"EE",X"FF",X"A5",X"25", + X"E6",X"30",X"00",X"33",X"17",X"78",X"07",X"23",X"87",X"3C",X"1E",X"03",X"00",X"00",X"FF",X"31", + X"FF",X"FF",X"90",X"40",X"FF",X"FF",X"FF",X"FF",X"4C",X"4B",X"0F",X"11",X"EE",X"FF",X"E1",X"25", + X"C4",X"11",X"CC",X"11",X"93",X"3C",X"0F",X"11",X"87",X"96",X"1E",X"01",X"00",X"00",X"EE",X"31", + X"FF",X"FF",X"90",X"40",X"FF",X"FF",X"FF",X"FF",X"88",X"5B",X"CF",X"00",X"CC",X"FF",X"0F",X"07", + X"80",X"FF",X"FF",X"00",X"F1",X"1E",X"CF",X"00",X"0F",X"87",X"0F",X"00",X"00",X"00",X"CC",X"33", + X"FF",X"FF",X"F0",X"70",X"FF",X"FF",X"FF",X"FF",X"00",X"EE",X"33",X"00",X"88",X"FF",X"0F",X"07", + X"00",X"EE",X"33",X"00",X"FF",X"FF",X"33",X"00",X"0F",X"0F",X"03",X"00",X"00",X"00",X"88",X"33", + X"FF",X"FF",X"F0",X"70",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"B0",X"78",X"44",X"00",X"00",X"00",X"00",X"70",X"F0",X"F0",X"30",X"00",X"F0",X"F0",X"30",X"00", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"90",X"B2",X"EA",X"00",X"08",X"0F",X"00",X"70",X"F4",X"F0",X"78",X"00",X"FE",X"FF",X"F0",X"00", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"C0",X"75",X"F4",X"11",X"0E",X"0F",X"03",X"72",X"FE",X"F0",X"3C",X"01",X"FE",X"FF",X"F3",X"10", + X"00",X"00",X"80",X"10",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"E8",X"32",X"E8",X"32",X"8F",X"FF",X"07",X"72",X"F4",X"F2",X"1E",X"21",X"FC",X"FF",X"F7",X"30", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F4",X"11",X"C0",X"75",X"9E",X"88",X"07",X"72",X"F0",X"F7",X"0F",X"30",X"F0",X"FF",X"FF",X"30", + X"00",X"00",X"80",X"10",X"F0",X"60",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"EA",X"00",X"80",X"B2",X"8F",X"FF",X"0F",X"72",X"F4",X"7A",X"87",X"71",X"FC",X"FC",X"F3",X"52", + X"00",X"00",X"80",X"10",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"44",X"00",X"B0",X"78",X"0F",X"0F",X"0F",X"72",X"FE",X"3C",X"CB",X"73",X"FE",X"FF",X"7F",X"43", + 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"00",X"00",X"E1",X"38",X"8F",X"FF",X"0F",X"72",X"F4",X"1E",X"E1",X"71",X"BE",X"FF",X"F7",X"70", + X"C0",X"10",X"00",X"40",X"60",X"60",X"60",X"30",X"00",X"10",X"00",X"30",X"20",X"30",X"70",X"00", + X"60",X"30",X"E0",X"30",X"8F",X"88",X"0F",X"72",X"F0",X"0F",X"F2",X"70",X"FE",X"FC",X"7F",X"43", + X"E0",X"30",X"00",X"40",X"F0",X"40",X"F0",X"70",X"F0",X"70",X"90",X"70",X"B0",X"70",X"F0",X"00", + X"F0",X"70",X"F0",X"70",X"8F",X"FF",X"0F",X"72",X"78",X"87",X"F7",X"70",X"F6",X"FE",X"F3",X"52", + X"F0",X"70",X"F0",X"70",X"F0",X"50",X"F0",X"70",X"F0",X"70",X"90",X"70",X"90",X"70",X"F0",X"10", + X"F0",X"70",X"F0",X"70",X"1E",X"0F",X"07",X"72",X"3C",X"C3",X"F2",X"30",X"F0",X"FF",X"FF",X"30", + X"10",X"40",X"F0",X"70",X"90",X"70",X"90",X"40",X"F0",X"70",X"90",X"40",X"90",X"40",X"90",X"70", + X"90",X"40",X"90",X"40",X"8F",X"FF",X"07",X"72",X"1E",X"E5",X"F0",X"30",X"FC",X"FF",X"F7",X"30", + X"F0",X"70",X"F0",X"70",X"10",X"70",X"90",X"40",X"10",X"10",X"F0",X"40",X"F0",X"70",X"30",X"70", + X"F0",X"70",X"F0",X"40",X"0E",X"0F",X"03",X"72",X"0F",X"FE",X"F0",X"10",X"FE",X"FF",X"F3",X"10", + X"E0",X"30",X"20",X"40",X"30",X"60",X"30",X"60",X"20",X"10",X"F0",X"40",X"F0",X"70",X"30",X"60", + X"F0",X"70",X"F0",X"60",X"08",X"0F",X"00",X"70",X"87",X"F4",X"F0",X"00",X"FE",X"FF",X"F0",X"00", + X"C0",X"10",X"40",X"40",X"20",X"40",X"20",X"20",X"C0",X"10",X"F0",X"40",X"E0",X"30",X"30",X"00", + X"60",X"30",X"60",X"20",X"00",X"00",X"00",X"70",X"C3",X"F0",X"30",X"00",X"F0",X"F0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"E0",X"70",X"60",X"30",X"20",X"20",X"E0",X"30",X"D0",X"50",X"D0",X"10",X"20",X"70", + X"F0",X"70",X"10",X"40",X"10",X"00",X"10",X"60",X"00",X"60",X"E0",X"70",X"F0",X"70",X"E0",X"30", + X"00",X"00",X"90",X"00",X"90",X"40",X"30",X"60",X"10",X"40",X"90",X"40",X"90",X"00",X"30",X"70", + X"80",X"00",X"10",X"40",X"F0",X"30",X"20",X"30",X"00",X"40",X"10",X"00",X"00",X"60",X"10",X"40", + X"00",X"00",X"90",X"00",X"90",X"40",X"10",X"40",X"10",X"40",X"90",X"40",X"90",X"00",X"10",X"50", + X"80",X"00",X"F0",X"70",X"F0",X"70",X"C0",X"10",X"00",X"40",X"E0",X"70",X"80",X"10",X"10",X"40", + X"00",X"00",X"90",X"00",X"F0",X"70",X"10",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"10",X"40", + X"80",X"00",X"F0",X"70",X"F0",X"70",X"80",X"00",X"00",X"40",X"10",X"00",X"60",X"00",X"10",X"40", + X"00",X"00",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"70",X"F0",X"70",X"10",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"00",X"00",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"70",X"10",X"40",X"10",X"60",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"00",X"00",X"E0",X"70",X"10",X"40",X"E0",X"30",X"10",X"40",X"10",X"40",X"10",X"00",X"E0",X"30", + X"F0",X"70",X"10",X"40",X"10",X"20",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"E0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"00",X"E0",X"70",X"60",X"40",X"20",X"30",X"30",X"00",X"F0",X"30",X"F0",X"00",X"F0",X"30", + X"30",X"60",X"30",X"00",X"30",X"40",X"00",X"00",X"00",X"40",X"60",X"60",X"CC",X"33",X"00",X"00", + X"10",X"10",X"10",X"60",X"90",X"20",X"B0",X"70",X"10",X"00",X"00",X"40",X"00",X"30",X"00",X"40", + X"40",X"70",X"C0",X"00",X"70",X"40",X"00",X"00",X"00",X"40",X"F0",X"40",X"62",X"64",X"00",X"00", + X"10",X"10",X"10",X"50",X"90",X"10",X"90",X"70",X"F0",X"70",X"00",X"40",X"00",X"40",X"C0",X"70", + X"80",X"70",X"00",X"70",X"F0",X"40",X"00",X"00",X"F0",X"70",X"F0",X"50",X"31",X"C8",X"00",X"00", + X"F0",X"70",X"10",X"40",X"F0",X"70",X"90",X"40",X"F0",X"70",X"00",X"40",X"00",X"70",X"00",X"40", + X"C0",X"10",X"C0",X"70",X"D0",X"50",X"00",X"00",X"F0",X"70",X"90",X"70",X"31",X"C8",X"66",X"33", + X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"40",X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"70", + X"F0",X"00",X"F0",X"70",X"90",X"70",X"00",X"00",X"F0",X"70",X"10",X"70",X"F1",X"F8",X"66",X"33", + X"F0",X"70",X"F0",X"70",X"F0",X"70",X"F0",X"60",X"10",X"00",X"F0",X"70",X"F0",X"30",X"F0",X"70", + X"70",X"10",X"F0",X"00",X"10",X"70",X"00",X"60",X"20",X"40",X"30",X"60",X"F1",X"F8",X"00",X"00", + X"10",X"00",X"E0",X"30",X"10",X"00",X"60",X"20",X"30",X"00",X"F0",X"30",X"F0",X"00",X"F0",X"30", + X"30",X"60",X"30",X"00",X"10",X"60",X"00",X"60",X"40",X"40",X"20",X"40",X"E2",X"74",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"33",X"00",X"00", + X"FF",X"77",X"00",X"00",X"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"FF",X"77",X"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"FF",X"77",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"FF",X"77",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"FF",X"77",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"00",X"00",X"FF",X"77",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"00",X"00",X"00",X"00",X"FF",X"77",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"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"77", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03",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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03", + X"FF",X"FF",X"FF",X"FF",X"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"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"03", + X"FF",X"FF",X"FF",X"FF",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"F0",X"70",X"00",X"00",X"F0",X"50",X"80",X"70",X"00",X"10",X"90",X"70",X"B0",X"70",X"F0",X"70", + X"80",X"70",X"F0",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"FF",X"FF",X"FF",X"FF", + X"90",X"70",X"00",X"00",X"10",X"50",X"F0",X"70",X"F0",X"70",X"90",X"70",X"90",X"70",X"90",X"70", + X"F0",X"70",X"10",X"70",X"00",X"00",X"88",X"00",X"88",X"00",X"80",X"00",X"FF",X"FF",X"FF",X"FF", + X"10",X"40",X"F0",X"70",X"10",X"50",X"90",X"40",X"10",X"70",X"90",X"40",X"90",X"40",X"10",X"00", + X"90",X"40",X"10",X"10",X"C4",X"11",X"C4",X"11",X"E2",X"32",X"E2",X"32",X"FF",X"FF",X"FF",X"FF", + X"10",X"40",X"80",X"70",X"10",X"50",X"90",X"40",X"10",X"10",X"90",X"40",X"90",X"40",X"10",X"00", + X"90",X"40",X"10",X"10",X"00",X"00",X"88",X"00",X"88",X"00",X"80",X"00",X"FF",X"FF",X"FF",X"FF", + X"10",X"40",X"00",X"00",X"10",X"70",X"90",X"40",X"10",X"10",X"90",X"40",X"90",X"40",X"10",X"00", + X"F0",X"40",X"10",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"FF",X"FF",X"FF",X"FF", + X"F0",X"70",X"00",X"00",X"70",X"70",X"30",X"60",X"F0",X"10",X"F0",X"60",X"F0",X"70",X"10",X"00", + X"80",X"70",X"F0",X"10",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"E0",X"70",X"00",X"00",X"E0",X"50",X"00",X"70",X"00",X"10",X"A0",X"70",X"A0",X"70",X"E0",X"70", + X"80",X"70",X"E0",X"70",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"A0",X"70",X"00",X"00",X"20",X"50",X"E0",X"70",X"E0",X"70",X"A0",X"70",X"A0",X"70",X"A0",X"70", + X"E0",X"70",X"A0",X"70",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"20",X"40",X"E0",X"70",X"20",X"50",X"A0",X"40",X"20",X"70",X"A0",X"40",X"A0",X"40",X"20",X"00", + X"A0",X"40",X"A0",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"20",X"40",X"00",X"70",X"20",X"70",X"A0",X"40",X"20",X"10",X"A0",X"40",X"A0",X"40",X"20",X"00", + X"E0",X"40",X"A0",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"E0",X"70",X"00",X"00",X"60",X"70",X"A0",X"40",X"E0",X"10",X"E0",X"60",X"E0",X"70",X"20",X"00", + X"80",X"70",X"E0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"E0",X"30",X"00",X"00",X"E0",X"20",X"E0",X"30",X"00",X"10",X"A0",X"30",X"A0",X"30",X"E0",X"30", + X"E0",X"30",X"E0",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"20",X"20",X"E0",X"30",X"A0",X"20",X"A0",X"20",X"E0",X"30",X"A0",X"20",X"A0",X"20",X"20",X"30", + X"A0",X"20",X"A0",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"E0",X"30",X"80",X"30",X"A0",X"30",X"A0",X"20",X"20",X"10",X"E0",X"20",X"E0",X"30",X"20",X"00", + X"E0",X"30",X"E0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"10",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"F0",X"00",X"00",X"00",X"00",X"30",X"00",X"20",X"90",X"00",X"00",X"40",X"30",X"00", + X"10",X"C0",X"70",X"80",X"40",X"00",X"00",X"00",X"00",X"C0",X"40",X"00",X"00",X"C0",X"70",X"00", + X"00",X"00",X"C0",X"70",X"00",X"00",X"F0",X"30",X"00",X"20",X"90",X"00",X"00",X"C0",X"30",X"00", + X"10",X"80",X"30",X"80",X"C0",X"70",X"00",X"00",X"00",X"20",X"30",X"00",X"00",X"C0",X"70",X"00", + X"00",X"80",X"F0",X"F0",X"00",X"F0",X"F0",X"20",X"00",X"E0",X"F0",X"00",X"00",X"C0",X"30",X"00", + X"10",X"00",X"10",X"80",X"40",X"C0",X"F0",X"00",X"00",X"20",X"10",X"00",X"00",X"40",X"50",X"00", + X"00",X"F0",X"F0",X"10",X"C0",X"F0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"30",X"00", + X"10",X"00",X"10",X"80",X"00",X"00",X"80",X"30",X"00",X"E0",X"70",X"00",X"00",X"C0",X"70",X"00", + X"C0",X"F0",X"30",X"00",X"C0",X"10",X"10",X"00",X"00",X"E0",X"F0",X"00",X"00",X"C0",X"30",X"00", + X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"E0",X"30",X"00",X"20",X"40",X"00",X"00",X"C0",X"70",X"00", + X"F0",X"70",X"00",X"00",X"C0",X"F0",X"10",X"20",X"00",X"80",X"30",X"00",X"00",X"C0",X"30",X"00", + X"F0",X"F0",X"F0",X"F0",X"40",X"E0",X"F0",X"00",X"00",X"20",X"50",X"00",X"00",X"80",X"30",X"00", + X"F0",X"00",X"00",X"80",X"00",X"80",X"F0",X"30",X"00",X"80",X"30",X"00",X"00",X"40",X"20",X"00", + X"F0",X"F0",X"F0",X"F0",X"C0",X"F0",X"10",X"00",X"00",X"E0",X"70",X"00",X"00",X"C0",X"60",X"00", + X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"20",X"00",X"E0",X"F0",X"00",X"00",X"C0",X"30",X"00", + X"10",X"00",X"00",X"80",X"C0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"70",X"00", + X"00",X"00",X"00",X"80",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"80",X"10", + X"10",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"E0",X"C0",X"10",X"F0",X"30",X"00",X"C0",X"F0",X"00",X"00",X"90",X"30",X"10", + X"70",X"00",X"00",X"00",X"00",X"E0",X"70",X"00",X"00",X"00",X"70",X"00",X"00",X"F0",X"C0",X"10", + X"00",X"00",X"C0",X"F0",X"C0",X"00",X"10",X"30",X"00",X"60",X"10",X"00",X"00",X"10",X"10",X"10", + X"D0",X"30",X"00",X"00",X"80",X"F0",X"F0",X"10",X"00",X"00",X"70",X"00",X"00",X"90",X"30",X"00", + X"00",X"C0",X"F0",X"F0",X"40",X"00",X"00",X"20",X"00",X"C0",X"F0",X"00",X"00",X"F0",X"F0",X"10", + X"10",X"E0",X"10",X"00",X"C0",X"10",X"80",X"30",X"00",X"E0",X"00",X"00",X"00",X"10",X"10",X"00", + X"80",X"F0",X"F0",X"90",X"40",X"00",X"00",X"30",X"00",X"40",X"10",X"00",X"00",X"F0",X"F0",X"10", + X"00",X"00",X"F0",X"00",X"40",X"00",X"00",X"20",X"00",X"C0",X"30",X"00",X"00",X"F0",X"F0",X"10", + X"E0",X"F0",X"30",X"00",X"C0",X"00",X"80",X"10",X"00",X"20",X"F0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"30",X"C0",X"10",X"80",X"30",X"00",X"20",X"40",X"00",X"00",X"F0",X"F0",X"10", + X"F0",X"30",X"10",X"00",X"80",X"F0",X"F0",X"00",X"00",X"20",X"80",X"00",X"00",X"F0",X"F0",X"10", + X"00",X"00",X"80",X"F0",X"80",X"F0",X"F0",X"10",X"00",X"20",X"40",X"00",X"00",X"00",X"00",X"00", + X"70",X"00",X"10",X"00",X"00",X"F0",X"70",X"00",X"00",X"C0",X"70",X"00",X"00",X"C0",X"30",X"00", + X"00",X"00",X"F0",X"F0",X"00",X"E0",X"70",X"00",X"00",X"C0",X"30",X"00",X"00",X"30",X"80",X"10", + X"F0",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"C0",X"10",X"80",X"30",X"00",X"00",X"E0",X"00", + X"00",X"80",X"F0",X"F0",X"C0",X"30",X"00",X"C0",X"00",X"70",X"00",X"20",X"00",X"90",X"30",X"10", + X"80",X"F0",X"10",X"80",X"F0",X"00",X"80",X"F0",X"C0",X"00",X"00",X"30",X"00",X"80",X"F0",X"10", + X"10",X"F0",X"F0",X"10",X"E0",X"70",X"C0",X"F0",X"80",X"F0",X"C0",X"30",X"00",X"10",X"10",X"10", + X"00",X"80",X"F0",X"B0",X"70",X"00",X"00",X"E0",X"40",X"80",X"30",X"20",X"00",X"F0",X"10",X"00", + X"F0",X"F0",X"30",X"00",X"F0",X"F0",X"E0",X"70",X"C0",X"C0",X"F0",X"10",X"00",X"F0",X"F0",X"10", + X"00",X"00",X"00",X"E0",X"30",X"00",X"00",X"C0",X"40",X"00",X"10",X"20",X"00",X"F0",X"F0",X"10", + X"F0",X"70",X"00",X"00",X"30",X"C0",X"F0",X"30",X"40",X"80",X"30",X"00",X"00",X"F0",X"F0",X"10", + X"00",X"00",X"00",X"80",X"10",X"C0",X"70",X"80",X"40",X"00",X"10",X"20",X"00",X"00",X"80",X"10", + X"F0",X"00",X"00",X"00",X"10",X"80",X"30",X"00",X"40",X"00",X"10",X"00",X"00",X"00",X"00",X"00", + X"F0",X"10",X"10",X"00",X"10",X"80",X"30",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"C0",X"F0",X"10", + X"10",X"00",X"00",X"00",X"10",X"00",X"10",X"00",X"40",X"00",X"10",X"20",X"00",X"F0",X"70",X"00", + X"60",X"00",X"F0",X"F0",X"10",X"00",X"10",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"F0",X"70",X"00", + X"10",X"F0",X"F0",X"00",X"10",X"00",X"10",X"00",X"C0",X"F0",X"F0",X"30",X"00",X"00",X"C0",X"10", + X"30",X"00",X"F0",X"70",X"10",X"00",X"10",X"80",X"40",X"00",X"00",X"20",X"00",X"70",X"20",X"10", + X"C0",X"F0",X"F0",X"30",X"10",X"00",X"10",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"80",X"F0",X"10", + X"10",X"00",X"10",X"60",X"F0",X"F0",X"F0",X"F0",X"C0",X"F0",X"F0",X"30",X"00",X"C0",X"F0",X"10", + X"E0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"40",X"00",X"00",X"20",X"00",X"F0",X"30",X"00", + X"10",X"00",X"10",X"C0",X"F0",X"F0",X"F0",X"F0",X"80",X"F0",X"F0",X"30",X"00",X"00",X"00",X"10", + X"30",X"00",X"00",X"C0",X"F0",X"F0",X"F0",X"F0",X"C0",X"10",X"80",X"30",X"00",X"70",X"00",X"00", + X"10",X"00",X"00",X"80",X"F0",X"F0",X"F0",X"F0",X"00",X"E0",X"10",X"20",X"00",X"60",X"F0",X"00", + X"10",X"00",X"00",X"80",X"F0",X"F0",X"F0",X"F0",X"C0",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"30",X"00",X"00",X"C0",X"10",X"00",X"00",X"80",X"00",X"80",X"70",X"00",X"00",X"10",X"90",X"10", + X"10",X"00",X"00",X"80",X"10",X"00",X"00",X"80",X"40",X"C0",X"70",X"20",X"00",X"E0",X"F0",X"00", + X"F0",X"00",X"00",X"F0",X"00",X"00",X"00",X"80",X"00",X"00",X"F0",X"10",X"00",X"10",X"00",X"10", + X"30",X"00",X"00",X"C0",X"00",X"00",X"00",X"F0",X"40",X"80",X"30",X"20",X"00",X"F0",X"F0",X"10", + X"E0",X"F0",X"F0",X"70",X"F0",X"F0",X"F0",X"F0",X"00",X"E0",X"70",X"00",X"00",X"30",X"80",X"10", + X"E0",X"F0",X"F0",X"70",X"70",X"00",X"00",X"C0",X"40",X"00",X"10",X"20",X"00",X"10",X"00",X"10", + X"C0",X"F0",X"F0",X"30",X"C0",X"F0",X"F0",X"F0",X"C0",X"F0",X"00",X"00",X"00",X"E0",X"F0",X"00", + X"C0",X"F0",X"F0",X"30",X"30",X"00",X"00",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"F0",X"F0",X"10", + X"00",X"F0",X"F0",X"00",X"00",X"E0",X"10",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"C0",X"70",X"00", + X"00",X"F0",X"F0",X"00",X"10",X"00",X"00",X"80",X"C0",X"F0",X"F0",X"30",X"00",X"E0",X"F0",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/Jaleco Exerion/rtl/rom/exerion_e1.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_e1.vhd new file mode 100644 index 00000000..1322fb63 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_e1.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_e1 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of exerion_e1 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"06",X"1D",X"24",X"2B",X"30",X"68",X"A0",X"98",X"C0",X"83",X"84",X"45",X"AD",X"6B",X"9B", + X"00",X"07",X"16",X"3F",X"34",X"38",X"F5",X"F8",X"E0",X"C0",X"C6",X"87",X"46",X"FF",X"BD",X"AF"); +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/Jaleco Exerion/rtl/rom/exerion_h10.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_h10.vhd new file mode 100644 index 00000000..b72e660f --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_h10.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_h10 is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of exerion_h10 is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"3",X"9",X"0",X"0",X"A",X"3",X"1",X"B",X"9",X"F",X"3",X"8",X"8",X"5",X"7",X"3", + X"1",X"B",X"F",X"0",X"3",X"1",X"3",X"2",X"5",X"A",X"D",X"F",X"F",X"C",X"F",X"E", + X"6",X"4",X"E",X"0",X"6",X"D",X"D",X"3",X"3",X"E",X"1",X"7",X"3",X"D",X"A",X"1", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0"); +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/Jaleco Exerion/rtl/rom/exerion_i3.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_i3.vhd new file mode 100644 index 00000000..7ef16a7b --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_i3.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_i3 is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of exerion_i3 is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"1",X"2",X"3",X"0",X"1",X"3",X"2",X"0",X"1",X"3",X"2",X"0",X"0",X"2",X"3", + X"0",X"8",X"F",X"D",X"0",X"8",X"F",X"D",X"0",X"8",X"F",X"D",X"0",X"0",X"3",X"4", + X"0",X"1",X"A",X"C",X"0",X"1",X"A",X"C",X"0",X"1",X"A",X"C",X"0",X"0",X"C",X"B", + X"0",X"5",X"4",X"3",X"0",X"5",X"4",X"3",X"0",X"5",X"4",X"3",X"0",X"0",X"0",X"4", + X"0",X"E",X"D",X"F",X"0",X"E",X"D",X"F",X"0",X"E",X"D",X"F",X"0",X"0",X"D",X"F", + X"0",X"F",X"D",X"1",X"0",X"F",X"D",X"1",X"0",X"F",X"D",X"1",X"0",X"0",X"4",X"4", + X"0",X"1",X"D",X"F",X"0",X"1",X"D",X"F",X"0",X"1",X"D",X"F",X"0",X"0",X"D",X"F", + X"C",X"1",X"2",X"3",X"C",X"1",X"2",X"3",X"C",X"1",X"2",X"3",X"C",X"0",X"0",X"2", + X"C",X"0",X"0",X"2",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0"); +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/Jaleco Exerion/rtl/rom/exerion_i8.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_i8.vhd new file mode 100644 index 00000000..59c169e6 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_i8.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_i8 is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of exerion_i8 is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"3",X"3",X"A",X"A",X"5",X"5",X"D",X"D",X"9",X"9",X"9",X"9",X"9",X"9",X"9",X"9", + X"F",X"F",X"1",X"1",X"D",X"D",X"9",X"9",X"1",X"1",X"1",X"1",X"1",X"1",X"1",X"1", + X"6",X"6",X"7",X"7",X"1",X"1",X"F",X"F",X"3",X"3",X"3",X"3",X"3",X"3",X"3",X"3", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"3",X"3",X"A",X"A",X"5",X"5",X"3",X"3",X"7",X"7",X"7",X"7",X"7",X"7",X"7",X"7", + X"F",X"F",X"1",X"1",X"D",X"D",X"0",X"0",X"F",X"F",X"F",X"F",X"F",X"F",X"F",X"F", + X"6",X"6",X"7",X"7",X"1",X"1",X"E",X"E",X"D",X"D",X"D",X"D",X"D",X"D",X"D",X"D", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"3",X"3",X"A",X"A",X"5",X"5",X"0",X"F",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"F",X"F",X"1",X"1",X"D",X"D",X"0",X"F",X"B",X"C",X"1",X"0",X"E",X"E",X"E",X"E", + X"6",X"6",X"7",X"7",X"1",X"1",X"3",X"D",X"1",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0"); +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/Jaleco Exerion/rtl/rom/exerion_k4.vhd b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_k4.vhd new file mode 100644 index 00000000..8439625a --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/rom/exerion_k4.vhd @@ -0,0 +1,38 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity exerion_k4 is +port ( + clk : in std_logic; + addr : in std_logic_vector(7 downto 0); + data : out std_logic_vector(3 downto 0) +); +end entity; + +architecture prom of exerion_k4 is + type rom is array(0 to 255) of std_logic_vector(3 downto 0); + signal rom_data: rom := ( + X"0",X"0",X"1",X"0",X"2",X"0",X"1",X"0",X"3",X"0",X"1",X"0",X"2",X"0",X"1",X"0", + X"0",X"0",X"1",X"0",X"2",X"0",X"1",X"0",X"3",X"0",X"1",X"0",X"3",X"0",X"1",X"0", + X"0",X"0",X"1",X"1",X"2",X"2",X"1",X"1",X"3",X"0",X"1",X"1",X"2",X"2",X"1",X"1", + X"0",X"0",X"1",X"1",X"2",X"2",X"1",X"1",X"3",X"3",X"1",X"1",X"2",X"2",X"1",X"1", + X"0",X"0",X"1",X"0",X"2",X"2",X"2",X"2",X"3",X"0",X"1",X"0",X"2",X"2",X"2",X"2", + X"0",X"0",X"1",X"0",X"2",X"2",X"2",X"2",X"3",X"0",X"3",X"0",X"2",X"2",X"2",X"2", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0", + X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0",X"0"); +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/Jaleco Exerion/rtl/sdram.sv b/Arcade_MiST/Jaleco Exerion/rtl/sdram.sv new file mode 100644 index 00000000..d6f1c477 --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/sdram.sv @@ -0,0 +1,351 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output reg [15:0] port1_q, + + input [19:1] cpu1_addr, + output reg [15:0] cpu1_q, + input [19:1] cpu2_addr, + output reg [15:0] cpu2_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output reg [31:0] port2_q, + + input [17:2] sp_addr, + output reg [31:0] sp_q +); + +parameter MHZ = 16'd80; // 80 MHz default clock, set it to proper value to calculate refresh rate + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b001; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us +localparam RFRSH_CYCLES = 16'd78*MHZ/4'd10; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 - data0 read burst terminated + 1 ras0 + 2 data1 returned + 3 CAS0 data1 returned + 4 RAS1 cas0 + 5 ras1 + 6 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd4; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY + 1'd1; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 6 +localparam STATE_READ0 = 3'd0;// STATE_CAS0 + CAS_LATENCY + 2'd2; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_DS1b = 3'd0; +localparam STATE_READ1b = 3'd4; +localparam STATE_LAST = 3'd6; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; // Fast Input register latching incoming SDRAM data + +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[2]; +reg [24:1] addr_latch_next[2]; +reg [19:1] addr_last[2]; +reg [17:2] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +reg port1_state; +reg port2_state; + +localparam PORT_NONE = 2'd0; +localparam PORT_CPU1 = 2'd1; +localparam PORT_CPU2 = 2'd2; +localparam PORT_SP = 2'd1; +localparam PORT_REQ = 2'd3; + +reg [1:0] next_port[2]; +reg [1:0] port[2]; + +reg refresh; +reg [11:0] refresh_cnt; +reg need_refresh; + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[1]; + end else if (port1_req ^ port1_state) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 5'd0, cpu1_addr }; + end else if (cpu2_addr != addr_last[PORT_CPU2]) begin + next_port[0] = PORT_CPU2; + addr_latch_next[0] = { 5'd0, cpu2_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT1: bank 2,3 +always @(*) begin + if (port2_req ^ port2_state) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (sp_addr != addr_last2[PORT_SP]) begin + next_port[1] = PORT_SP; + addr_latch_next[1] = { 1'b1, 6'd0, sp_addr, 1'b0 }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + need_refresh <= (refresh_cnt >= RFRSH_CYCLES); + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][19:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + port1_state <= port1_req; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][16:2]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + port2_state <= port2_req; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end else if (need_refresh && !oe_latch[0] & !we_latch[0]) begin + refresh <= 1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + PORT_CPU2: begin cpu2_q <= sd_din; end + default: ; + endcase; + end + + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: port2_q[15:0] <= sd_din; + PORT_SP : sp_q[15:0] <= sd_din; + default: ; + endcase; + end + + //set DQM two cycles before the 2nd word in the burst + if(t == STATE_DS1b && oe_latch[1]) { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + + if(t == STATE_READ1b && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q[31:16] <= sd_din; port2_ack <= port2_req; end + PORT_SP : begin sp_q[31:16] <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Jaleco Exerion/rtl/ttl_chips.v b/Arcade_MiST/Jaleco Exerion/rtl/ttl_chips.v new file mode 100644 index 00000000..0296c0de --- /dev/null +++ b/Arcade_MiST/Jaleco Exerion/rtl/ttl_chips.v @@ -0,0 +1,480 @@ +`timescale 1ns/1ps + +`define ASSIGN_UNPACK_ARRAY(PK_LEN, PK_WIDTH, UNPK_DEST, PK_SRC) wire [PK_LEN*PK_WIDTH-1:0] PK_IN_BUS; assign PK_IN_BUS=PK_SRC; generate genvar unpk_idx; for (unpk_idx=0; unpk_idx