diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/.gitignore b/Arcade_MiST/IremM52 Hardware/MoonPatrol/.gitignore deleted file mode 100644 index 964d90b5..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build_id.vhd -Output/ diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/ReadMe.txt b/Arcade_MiST/IremM52 Hardware/MoonPatrol/ReadMe.txt index 6c1cfd11..316993a7 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/ReadMe.txt +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/ReadMe.txt @@ -1,6 +1,6 @@ --------------------------------------------------------------------------------- -- --- Arcade: Moon Patrol port to MiST by Gehstock +-- Arcade: Moon Patrol port to MiST -- 19 December 2017 -- --------------------------------------------------------------------------------- diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/mpatrol.qsf b/Arcade_MiST/IremM52 Hardware/MoonPatrol/mpatrol.qsf index 071ae6c2..8e6ac382 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/mpatrol.qsf +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/mpatrol.qsf @@ -18,7 +18,7 @@ # # Quartus II 64-Bit # Version 13.1.4 Build 182 03/12/2014 SJ Web Edition -# Date created = 18:52:55 March 05, 2019 +# Date created = 16:56:58 March 01, 2024 # # -------------------------------------------------------------------------- # # @@ -41,10 +41,62 @@ # ======================== set_global_assignment -name ORIGINAL_QUARTUS_VERSION "12.1 SP1" set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:07:52 FEBRUARY 01, 2013" -set_global_assignment -name LAST_QUARTUS_VERSION "13.1 SP4.26" +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files set_global_assignment -name SMART_RECOMPILE ON -set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:src/build_id.tcl" +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" +set_global_assignment -name SYSTEMVERILOG_FILE rtl/mpatrol.sv +set_global_assignment -name VHDL_FILE rtl/mpatrol_top.vhd +set_global_assignment -name VHDL_FILE rtl/pace.vhd +set_global_assignment -name VHDL_FILE rtl/pace_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/platform.vhd +set_global_assignment -name VHDL_FILE rtl/platform_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/platform_variant_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/target_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/project_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/moon_patrol_sound_board.vhd +set_global_assignment -name VHDL_FILE rtl/video_controller_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/sprite_pkg.vhd +set_global_assignment -name VHDL_FILE rtl/Graphics.vhd +set_global_assignment -name VHDL_FILE rtl/clk_div.vhd +set_global_assignment -name VHDL_FILE rtl/Z80.vhd +set_global_assignment -name VHDL_FILE rtl/sprom.vhd +set_global_assignment -name VHDL_FILE rtl/dprom_2r.vhd +set_global_assignment -name VHDL_FILE rtl/dpram.vhd +set_global_assignment -name VHDL_FILE rtl/spram.vhd +set_global_assignment -name VHDL_FILE rtl/iremm52_video_controller.vhd +set_global_assignment -name VHDL_FILE rtl/video_mixer.vhd +set_global_assignment -name VHDL_FILE rtl/bitmapctl_e.vhd +set_global_assignment -name VHDL_FILE rtl/bitmap1_ctl.vhd +set_global_assignment -name VHDL_FILE rtl/bitmap2_ctl.vhd +set_global_assignment -name VHDL_FILE rtl/bitmap3_ctl.vhd +set_global_assignment -name VHDL_FILE rtl/tilemapctl_e.vhd +set_global_assignment -name VHDL_FILE rtl/tilemapctl.vhd +set_global_assignment -name VHDL_FILE rtl/video_controller_pkg_body.vhd +set_global_assignment -name VHDL_FILE rtl/video_controller.vhd +set_global_assignment -name VHDL_FILE rtl/spritectl.vhd +set_global_assignment -name VHDL_FILE rtl/sprite_pkg_body.vhd +set_global_assignment -name VHDL_FILE rtl/sprite_array.vhd +set_global_assignment -name VHDL_FILE rtl/spritereg.vhd +set_global_assignment -name VHDL_FILE rtl/pll_mist.vhd +set_global_assignment -name VHDL_FILE "rtl/roms/mpa-1.3m.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpa-2.3l.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpa-3.3k.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpa-4.3j.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpe-4.3f.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpe-5.3e.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpe-1.3l.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpe-2.3k.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpe-3.3h.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpb-2.3m.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mpb-1.3n.vhd" +set_global_assignment -name VHDL_FILE "rtl/roms/mp-s1.1a.vhd" +set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip +set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip +set_global_assignment -name VHDL_FILE ../../../common/CPU/6800/cpu68.vhd +set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/vol_table_array.vhd +set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/YM2149.vhd +set_global_assignment -name QIP_FILE ../../../common/Sound/jt5205/jt5205.qip # Pin & Location Assignments # ========================== @@ -82,34 +134,6 @@ set_location_assignment PIN_91 -to SPI_SS3 set_location_assignment PIN_90 -to SPI_SS4 set_location_assignment PIN_13 -to CONF_DATA0 -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[5] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[4] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[3] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[2] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[1] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[0] - -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[5] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[4] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[3] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[2] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[1] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[0] - -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[5] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[4] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[3] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[2] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[1] -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[0] -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 LED -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L -set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO - # Classic Timing Assignments # ========================== set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 @@ -132,9 +156,11 @@ set_global_assignment -name SEARCH_PATH src/platform/m52/ -tag from_archive set_global_assignment -name SEARCH_PATH src/platform/m52/mpatrol/ -tag from_archive set_global_assignment -name SEARCH_PATH src/platform/m52/mpatrol/roms/ -tag from_archive set_global_assignment -name SEARCH_PATH src/target/mist/ -tag from_archive -set_global_assignment -name TOP_LEVEL_ENTITY mpatrol set_global_assignment -name VERILOG_INPUT_VERSION SYSTEMVERILOG_2005 set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF +set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name TOP_LEVEL_ENTITY mpatrol # Fitter Assignments # ================== @@ -146,6 +172,8 @@ 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 STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON # Assembler Assignments # ===================== @@ -157,6 +185,11 @@ set_global_assignment -name GENERATE_RBF_FILE ON set_global_assignment -name ENABLE_SIGNALTAP OFF set_global_assignment -name USE_SIGNALTAP_FILE Output/snd.stp +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" +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 @@ -167,70 +200,45 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" - # --------------------- # start ENTITY(mpatrol) + # Fitter Assignments + # ================== + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[5] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[4] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[3] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[2] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[1] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_R[0] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[5] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[4] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[3] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[2] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[1] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_G[0] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[5] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[4] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[3] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[2] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[1] + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to VGA_B[0] + 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 LED + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R + set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L + 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 + 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(mpatrol) # ------------------- -set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP -set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 -set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" -set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON -set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR" -set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" -set_global_assignment -name VHDL_FILE src/bitmapctl_e.vhd -set_global_assignment -name VHDL_FILE src/tilemapctl_e.vhd -set_global_assignment -name VHDL_FILE src/target_pkg.vhd -set_global_assignment -name VHDL_FILE src/project_pkg.vhd -set_global_assignment -name VHDL_FILE src/platform_pkg.vhd -set_global_assignment -name VHDL_FILE src/mpatrol.vhd -set_global_assignment -name VHDL_FILE src/video_mixer.vhd -set_global_assignment -name VHDL_FILE src/platform_variant_pkg.vhd -set_global_assignment -name VHDL_FILE src/spritereg.vhd -set_global_assignment -name VHDL_FILE src/spritectl.vhd -set_global_assignment -name VHDL_FILE src/sprite_pkg_body.vhd -set_global_assignment -name VHDL_FILE src/sprite_pkg.vhd -set_global_assignment -name VHDL_FILE src/video_controller_pkg_body.vhd -set_global_assignment -name VHDL_FILE src/video_controller_pkg.vhd -set_global_assignment -name VHDL_FILE src/iremm52_video_controller.vhd -set_global_assignment -name VHDL_FILE src/video_controller.vhd -set_global_assignment -name VHDL_FILE src/moon_patrol_sound_board.vhd -set_global_assignment -name VHDL_FILE src/moon_patrol_sound_prog.vhd -set_global_assignment -name VHDL_FILE src/Z80.vhd -set_global_assignment -name VHDL_FILE src/tilemapctl.vhd -set_global_assignment -name VHDL_FILE src/sprom.vhd -set_global_assignment -name VHDL_FILE src/spram.vhd -set_global_assignment -name VHDL_FILE src/platform.vhd -set_global_assignment -name VHDL_FILE src/pace_pkg.vhd -set_global_assignment -name VHDL_FILE src/pace.vhd -set_global_assignment -name VHDL_FILE src/Inputs.VHD -set_global_assignment -name VHDL_FILE src/input_mapper.vhd -set_global_assignment -name VHDL_FILE src/Graphics.VHD -set_global_assignment -name VHDL_FILE src/dprom_2r.vhd -set_global_assignment -name VHDL_FILE src/dpram.vhd -set_global_assignment -name VHDL_FILE src/clk_div.vhd -set_global_assignment -name VHDL_FILE src/bitmap3_ctl.vhd -set_global_assignment -name VHDL_FILE src/bitmap2_ctl.vhd -set_global_assignment -name VHDL_FILE src/bitmap1_ctl.vhd -set_global_assignment -name VHDL_FILE src/i82c55.vhd -set_global_assignment -name VERILOG_FILE src/keyboard.v -set_global_assignment -name VHDL_FILE src/sprite_array.vhd -set_global_assignment -name QIP_FILE src/Clock.qip -set_global_assignment -name QIP_FILE src/pll_aud.qip -set_global_assignment -name VHDL_FILE src/build_id.vhd -set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip -set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip -set_global_assignment -name VHDL_FILE ../../../common/CPU/6800/cpu68.vhd -set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/vol_table_array.vhd -set_global_assignment -name VHDL_FILE ../../../common/Sound/ym2149/YM2149.vhd -set_global_assignment -name QIP_FILE ../../../common/Sound/jt5205/jt5205.qip set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Graphics.VHD b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/Graphics.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Graphics.VHD rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/Graphics.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Z80.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/Z80.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Z80.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/Z80.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap1_ctl.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap1_ctl.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap1_ctl.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap1_ctl.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap2_ctl.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap2_ctl.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap2_ctl.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap2_ctl.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap3_ctl.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap3_ctl.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmap3_ctl.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmap3_ctl.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmapctl_e.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmapctl_e.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/bitmapctl_e.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/bitmapctl_e.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/build_id.tcl b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/build_id.tcl similarity index 67% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/build_id.tcl rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/build_id.tcl index ff180c9b..938515d8 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/build_id.tcl +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/build_id.tcl @@ -1,36 +1,35 @@ # ================================================================================ # -# Build ID VHDL Module Script +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 # -# Generates a VHDL module that contains a timestamp, +# 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_VHDL {} { +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 "src/build_id.vhd" + set outputFileName "rtl/build_id.v" set outputFile [open $outputFileName "w"] # Output the Verilog source - puts $outputFile "package build_id is" - puts $outputFile "constant BUILD_DATE : string := \"$buildDate\";" - puts $outputFile "constant BUILD_TIME : string := \"$buildTime\";" - puts $outputFile "end build_id;" + 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 VHDL module: [pwd]/$outputFileName" + 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_VHDL \ No newline at end of file +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/clk_div.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/clk_div.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/clk_div.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/clk_div.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dpram.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/dpram.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dpram.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/dpram.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dprom_2r.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/dprom_2r.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dprom_2r.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/dprom_2r.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/iremm52_video_controller.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/iremm52_video_controller.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/iremm52_video_controller.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/iremm52_video_controller.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_board.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/moon_patrol_sound_board.vhd similarity index 99% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_board.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/moon_patrol_sound_board.vhd index 7fc9a85a..c61191ec 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_board.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/moon_patrol_sound_board.vhd @@ -257,7 +257,7 @@ port map( -- rom_do <= snd_rom_do; -- cpu program rom -cpu_prog_rom : entity work.moon_patrol_sound_prog +cpu_prog_rom : entity work.mp_s11a port map( clk => clock_E, addr => cpu_addr(11 downto 0), diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol.sv b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol.sv new file mode 100644 index 00000000..a4e65a20 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol.sv @@ -0,0 +1,184 @@ +module mpatrol( + 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 +); + +`include "rtl/build_id.v" + +`define CORE_NAME "MPATROL" + +localparam CONF_STR = { + "MPATROL;;", + "O1,Video Timing,Original,Pal 50Hz;", + "O34,Scanlines,Off,25%,50%,75%;", + "O56,Bonus Life,10/30/50K,20/40/60K,10K,Never;", + "O7,Demo mode,Off,On;", +// "O9,Service,Off,On;", + "OA,Blending,Off,On;", + "OBC,Lives,5,3,2,1;", + "OD,Invulnerability,Off,On;", + "OE,Coin Mode,Free Play,1C_4P;", + "T0,Reset;", + "V,v1.0.",`BUILD_DATE +}; + +wire [1:0] scanlines = status[4:3]; +wire blend = status[10]; +wire pal = status[1]; +wire service = status[9]; +assign LED = 1; +assign AUDIO_R = AUDIO_L; + +wire clk_sys, clk_aud, clk_vid; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_vid),//36 + .c1(clk_sys),//6 + .c2(clk_aud),//3.75 0.895000 + .locked(pll_locked) + ); + +wire [63:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [15:0] joystick_0; +wire [15:0] joystick_1; +wire scandoublerD; +wire ypbpr; +wire no_csync; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_vid ), + .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 ) + ); + +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + +data_io data_io ( + .clk_sys ( clk_vid ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); + +wire [11:0] audio; +wire hs, vs, hb, vb; +wire blankn = ~(hb | vb); +wire [3:0] r, g, b; + +mpatrol_top mpatrol_top( + .clk_sys ( clk_sys ), + .clk_vid ( clk_vid ), + .clk_aud ( clk_aud ), + .reset ( status[0] | buttons[1] ), + .AUDIO ( audio ), + .IN0 ({4'b1111, ~m_coin1, ~service, ~m_two_players, ~m_one_player}), + .IN1 ({~m_fireA, 1'b1, ~m_fireB, 3'b111, ~m_left, ~m_right}), + .IN2 ({~m_fire2A, 1'b1, ~m_fire2B, 3'b111, ~m_left2, ~m_right2}), + .DIP1 ({4'b1111, ~status[6], ~status[5], ~status[12], ~status[11]}), + .DIP2 ({1'b1, ~status[13], 3'b111, ~status[14], 1'b1, 1'b1}),//cheat, nu, nu, nu, coinmode, cab, flip + .VBLANK ( vb ), + .HBLANK ( hb ), + .VSYNC ( vs ), + .HSYNC ( hs ), + .R ( r ), + .G ( g ), + .B ( b ), + .PAL ( pal ) + ); + +mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_vid ), + .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 ), + .scandoubler_disable( scandoublerD ), + .scanlines ( scanlines ), + .ypbpr ( ypbpr ), + .no_csync ( no_csync ), + .ce_divider ( 1'b0 ), + .blend ( blend ) + ); + +dac #( + .C_bits(12)) +dac( + .clk_i(clk_vid), + .res_n_i(1'b1), + .dac_i(audio), + .dac_o(AUDIO_L) + ); + +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 ( clk_vid ), + .key_strobe ( key_strobe ), + .key_pressed ( key_pressed ), + .key_code ( key_code ), + .joystick_0 ( joystick_0 ), + .joystick_1 ( joystick_1 ), + .joyswap ( 1'b0 ), + .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 diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol_top.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol_top.vhd new file mode 100644 index 00000000..6567bf9e --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/mpatrol_top.vhd @@ -0,0 +1,146 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +library work; +use work.pace_pkg.all; +use work.video_controller_pkg.all; +use work.project_pkg.all; +use work.platform_pkg.all; +use work.target_pkg.all; + +entity mpatrol_top is + port( + clk_sys : in std_logic;--6 + clk_vid : in std_logic;--24 + clk_aud : in std_logic;-- 3.58/4 + reset : in std_logic; + dn_addr : in std_logic_vector(15 downto 0); + dn_data : in std_logic_vector(7 downto 0); + dn_wr : in std_logic; + AUDIO : out std_logic_vector(11 downto 0); + IN0 : in std_logic_vector(7 downto 0); + IN1 : in std_logic_vector(7 downto 0); + IN2 : in std_logic_vector(7 downto 0); + DIP1 : in std_logic_vector(7 downto 0); + DIP2 : in std_logic_vector(7 downto 0); + VBLANK : out std_logic; + HBLANK : out std_logic; + VSYNC : out std_logic; + HSYNC : out std_logic; + R : out std_logic_vector(3 downto 0); + G : out std_logic_vector(3 downto 0); + B : out std_logic_vector(3 downto 0); + PAL : in std_logic--; + -- rst_aud : out std_logic +); +end mpatrol_top; + +architecture SYN of mpatrol_top is + signal init : std_logic := '1'; + signal clkrst_i : from_CLKRST_t; + signal buttons_i : from_BUTTONS_t; + signal switches_i : from_SWITCHES_t; + signal leds_o : to_LEDS_t; + signal inputs_i : from_INPUTS_t; + signal video_i : from_VIDEO_t; + signal video_o : to_VIDEO_t; + signal project_i : from_PROJECT_IO_t; + signal project_o : to_PROJECT_IO_t; + signal platform_i : from_PLATFORM_IO_t; + signal platform_o : to_PLATFORM_IO_t; + signal target_i : from_TARGET_IO_t; + signal target_o : to_TARGET_IO_t; + signal sound_data : std_logic_vector(7 downto 0); + signal rst_audD : std_logic; + signal rst_aud : std_logic; +begin + + clkrst_i.clk(0) <= clk_sys; + clkrst_i.clk(1) <= clk_sys; +-- clkrst_i.arst <= reset; +-- clkrst_i.arst_n <= not clkrst_i.arst; + + process (clk_sys) + variable count : std_logic_vector (11 downto 0) := (others => '0'); + begin + if rising_edge(clk_sys) then + if count = X"FFF" then + init <= '0'; + else + count := count + 1; + init <= '1'; + end if; + end if; + end process; + + process (clk_sys) begin + if rising_edge(clk_sys) then + clkrst_i.arst <= init or reset; + clkrst_i.arst_n <= not clkrst_i.arst; + end if; + end process; + + process (clk_aud) begin + if rising_edge(clk_aud) then + rst_audD <= clkrst_i.arst; + rst_aud <= rst_audD; + end if; + end process; + + GEN_RESETS : for i in 0 to 3 generate + + process (clkrst_i) + variable rst_r : std_logic_vector(2 downto 0) := (others => '0'); + begin + if clkrst_i.arst = '1' then + rst_r := (others => '1'); + elsif rising_edge(clkrst_i.clk(i)) then + rst_r := rst_r(rst_r'left-1 downto 0) & '0'; + end if; + clkrst_i.rst(i) <= rst_r(rst_r'left); + end process; + + end generate GEN_RESETS; + + + video_i.clk <= clkrst_i.clk(1); -- by convention + video_i.clk_ena <= '1'; + video_i.reset <= clkrst_i.rst(1); + + R <= video_o.rgb.r(9 downto 6); + G <= video_o.rgb.g(9 downto 6); + B <= video_o.rgb.b(9 downto 6); + HSYNC <= video_o.hsync; + VSYNC <= video_o.vsync; + HBLANK <= video_o.hblank; + VBLANK <= video_o.vblank; + +pace_inst : entity work.pace + port map ( + clkrst_i => clkrst_i, + palmode => PAL, + buttons_i => buttons_i, + switches_i => (others => '1'), + IN0 => IN0, + IN1 => IN1, + IN2 => IN2, + DIP1 => DIP1, + DIP2 => DIP2, + leds_o => open, + inputs_i => inputs_i, + video_i => video_i, + video_o => video_o, + sound_data_o => sound_data +); + +moon_patrol_sound_board : entity work.moon_patrol_sound_board + port map( + clock_E => clk_aud, + areset => rst_aud, + select_sound => sound_data, + audio_out => AUDIO +); + +end SYN; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pace.vhd similarity index 65% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pace.vhd index 138da15d..56ad8c29 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pace.vhd @@ -16,7 +16,11 @@ entity PACE is -- clocks and resets clkrst_i : in from_CLKRST_t; palmode : in std_logic; - + IN0 : in std_logic_vector(7 downto 0); + IN1 : in std_logic_vector(7 downto 0); + IN2 : in std_logic_vector(7 downto 0); + DIP1 : in std_logic_vector(7 downto 0); + DIP2 : in std_logic_vector(7 downto 0); -- misc I/O buttons_i : in from_BUTTONS_t; switches_i : in from_SWITCHES_t; @@ -31,11 +35,6 @@ entity PACE is sound_data_o : out std_logic_vector(7 downto 0) - -- custom i/o - -- project_i : in from_PROJECT_IO_t; - -- project_o : out to_PROJECT_IO_t; - -- platform_i : in from_PLATFORM_IO_t; - -- platform_o : out to_PLATFORM_IO_t ); end entity PACE; @@ -62,24 +61,6 @@ architecture SYN of PACE is begin - inputs_inst : entity work.inputs - generic map - ( - NUM_DIPS => PACE_NUM_SWITCHES, - NUM_INPUTS => 6, - CLK_1US_DIV => CLK_1US_COUNTS - ) - port map - ( - clk => clkrst_i.clk(0), - reset => clkrst_i.rst(0), - ps2clk => inputs_i.ps2_kclk, - ps2data => inputs_i.ps2_kdat, - jamma => inputs_i.jamma_n, - - dips => switches_i, - inputs => mapped_inputs - ); platform_inst : entity work.platform generic map @@ -92,29 +73,33 @@ begin clkrst_i => clkrst_i, -- misc inputs and outputs - buttons_i => buttons_i, - switches_i => switches_i, - leds_o => leds_o, + buttons_i => buttons_i, + switches_i => switches_i, + leds_o => leds_o, -- controller inputs - inputs_i => mapped_inputs, - + inputs_i => mapped_inputs, + IN0 => IN0, + IN1 => IN1, + IN2 => IN2, + DIP1 => DIP1, + DIP2 => DIP2, -- graphics - bitmap_i => from_bitmap_ctl, - bitmap_o => to_bitmap_ctl, + bitmap_i => from_bitmap_ctl, + bitmap_o => to_bitmap_ctl, - tilemap_i => from_tilemap_ctl, - tilemap_o => to_tilemap_ctl, + tilemap_i => from_tilemap_ctl, + tilemap_o => to_tilemap_ctl, - sprite_reg_o => to_sprite_reg, - sprite_i => from_sprite_ctl, - sprite_o => to_sprite_ctl, - spr0_hit => spr0_hit, + sprite_reg_o => to_sprite_reg, + sprite_i => from_sprite_ctl, + sprite_o => to_sprite_ctl, + spr0_hit => spr0_hit, - graphics_i => from_graphics, - graphics_o => to_graphics, + graphics_i => from_graphics, + graphics_o => to_graphics, - sound_data_o => sound_data_o + sound_data_o => sound_data_o ); graphics_inst : entity work.Graphics diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pace_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pace_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform.vhd similarity index 74% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform.vhd index 0a548789..90e92d15 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform.vhd @@ -28,7 +28,11 @@ entity platform is -- controller inputs inputs_i : in from_MAPPED_INPUTS_t(0 to NUM_INPUT_BYTES-1); -- graphics - + IN0 : in std_logic_vector(7 downto 0); + IN1 : in std_logic_vector(7 downto 0); + IN2 : in std_logic_vector(7 downto 0); + DIP1 : in std_logic_vector(7 downto 0); + DIP2 : in std_logic_vector(7 downto 0); bitmap_i : in from_BITMAP_CTL_a(1 to 3); bitmap_o : out to_BITMAP_CTL_a(1 to 3); @@ -90,16 +94,25 @@ architecture SYN of platform is signal sprite_cs : std_logic; -- misc signals - signal in_cs : std_logic; - signal in_d_o : std_logic_vector(7 downto 0); + signal in_cs : std_logic; + signal in_d_o : std_logic_vector(7 downto 0); signal prot_cs : std_logic; - signal prot_d_o : std_logic_vector(7 downto 0); + signal prot_d_o : std_logic_vector(7 downto 0); -- other signals - signal rst_platform : std_logic; - signal pause : std_logic; - signal rot_en : std_logic; - + signal rst_platform : std_logic; + signal pause : std_logic; + signal rot_en : std_logic; + signal vblank_int : std_logic; + + type rom_d_a is array(0 to 4) of std_logic_vector(7 downto 0); + signal rom_d : rom_d_a; + + type gfx_rom_d_a is array(0 to 1) of std_logic_vector(7 downto 0); + signal chr_rom_d : gfx_rom_d_a; + signal spr_rom_left : gfx_rom_d_a; + signal spr_rom_right : gfx_rom_d_a; + begin -- handle special keys @@ -303,12 +316,7 @@ begin nmi => '0' ); end block BLK_CPU; - - BLK_INTERRUPTS : block - - signal vblank_int : std_logic; - begin process (clk_sys, rst_sys) variable vblank_r : std_logic_vector(3 downto 0); @@ -338,126 +346,119 @@ begin -- generate INT cpu_irq <= vblank_int; - - end block BLK_INTERRUPTS; - - BLK_INPUTS : block - begin - - in_d_o <= inputs_i(0).d when cpu_a(2 downto 0) = "000" else - inputs_i(1).d when cpu_a(2 downto 0) = "001" else - inputs_i(2).d when cpu_a(2 downto 0) = "010" else - inputs_i(3).d when cpu_a(2 downto 0) = "011" else - inputs_i(4).d when cpu_a(2 downto 0) = "100" else + + in_d_o <= IN0 when cpu_a(2 downto 0) = "000" else + IN1 when cpu_a(2 downto 0) = "001" else + IN2 when cpu_a(2 downto 0) = "010" else + DIP1 when cpu_a(2 downto 0) = "011" else + DIP2 when cpu_a(2 downto 0) = "100" else X"FF"; - end block BLK_INPUTS; - - BLK_CPU_ROMS : block - - type rom_d_a is array(0 to 4) of std_logic_vector(7 downto 0); - signal rom_d : rom_d_a; - - begin - - rom_d_o <= rom_d(0) when cpu_a(M52_ROM_WIDTHAD+1 downto M52_ROM_WIDTHAD) = "00" else - rom_d(1) when cpu_a(M52_ROM_WIDTHAD+1 downto M52_ROM_WIDTHAD) = "01" else - rom_d(2) when cpu_a(M52_ROM_WIDTHAD+1 downto M52_ROM_WIDTHAD) = "10" else + rom_d_o <= rom_d(0) when cpu_a(13 downto 12) = "00" else + rom_d(1) when cpu_a(13 downto 12) = "01" else + rom_d(2) when cpu_a(13 downto 12) = "10" else rom_d(3); - GEN_CPU_ROMS : for i in M52_ROM'range generate - rom_inst : entity work.sprom - generic map - ( - init_file => PLATFORM_VARIANT_SRC_DIR & "roms/" & - M52_ROM(i) & ".hex", - widthad_a => M52_ROM_WIDTHAD - ) - port map - ( - clock => clk_sys, - address => cpu_a(M52_ROM_WIDTHAD-1 downto 0), - q => rom_d(i) - ); - end generate GEN_CPU_ROMS; - end block BLK_CPU_ROMS; - - BLK_GFX_ROMS : block - - type gfx_rom_d_a is array(0 to 1) of std_logic_vector(7 downto 0); - signal chr_rom_d : gfx_rom_d_a; - signal spr_rom_left : gfx_rom_d_a; - signal spr_rom_right : gfx_rom_d_a; - - begin - - GEN_CHAR_ROMS : for i in M52_CHAR_ROM'range generate - char_rom_inst : entity work.sprom - generic map - ( - init_file => PLATFORM_VARIANT_SRC_DIR & "roms/" & - M52_CHAR_ROM(i) & ".hex", - widthad_a => 12 - ) - port map - ( - clock => clk_video, - address => tilemap_i(1).tile_a(11 downto 0), - q => chr_rom_d(i) - ); - end generate GEN_CHAR_ROMS; +rom1 : entity work.mpa_13m +port map( + clk => clk_sys, + addr => cpu_a(11 downto 0), + data => rom_d(0) +); - tilemap_o(1).tile_d(15 downto 0) <= chr_rom_d(0) & chr_rom_d(1); +rom2 : entity work.mpa_23l +port map( + clk => clk_sys, + addr => cpu_a(11 downto 0), + data => rom_d(1) +); - GEN_SPRITE_ROMS : for i in M52_SPRITE_ROM'range generate - sprite_rom_inst : entity work.dprom_2r - generic map - ( - init_file => PLATFORM_VARIANT_SRC_DIR & "roms/" & - M52_SPRITE_ROM(i) & ".hex", - widthad_a => 12, - widthad_b => 12 - ) - port map - ( - clock => clk_video, - address_a(11 downto 5) => sprite_i.a(11 downto 5), - address_a(4) => '0', - address_a(3 downto 0) => sprite_i.a(3 downto 0), - q_a => spr_rom_left(i), - address_b(11 downto 5) => sprite_i.a(11 downto 5), - address_b(4) => '1', - address_b(3 downto 0) => sprite_i.a(3 downto 0), - q_b => spr_rom_right(i) - ); - end generate GEN_SPRITE_ROMS; +rom3 : entity work.mpa_33k +port map( + clk => clk_sys, + addr => cpu_a(11 downto 0), + data => rom_d(2) +); + +rom4 : entity work.mpa_43j +port map( + clk => clk_sys, + addr => cpu_a(11 downto 0), + data => rom_d(3) +); +--Char +rom5 : entity work.mpe_43f +port map( + clk => clk_video, + addr => tilemap_i(1).tile_a(11 downto 0), + data => chr_rom_d(1) +); + +rom6 : entity work.mpe_53e +port map( + clk => clk_video, + addr => tilemap_i(1).tile_a(11 downto 0), + data => chr_rom_d(0) +); + +tilemap_o(1).tile_d(15 downto 0) <= chr_rom_d(0) & chr_rom_d(1); + + +rom71 : entity work.mpb_23m +port map( + clk => clk_video, + addr => sprite_i.a(11 downto 5) & '0' & sprite_i.a(3 downto 0), + data => spr_rom_left(0) +); + +rom72 : entity work.mpb_23m +port map( + clk => clk_video, + addr => sprite_i.a(11 downto 5) & '1' & sprite_i.a(3 downto 0), + data => spr_rom_right(0) +); + +rom81 : entity work.mpb_13n +port map( + clk => clk_video, + addr => sprite_i.a(11 downto 5) & '0' & sprite_i.a(3 downto 0), + data => spr_rom_left(1) +); + +rom82 : entity work.mpb_13n +port map( + clk => clk_video, + addr => sprite_i.a(11 downto 5) & '1' & sprite_i.a(3 downto 0), + data => spr_rom_right(1) +); sprite_o.d(sprite_o.d'left downto 32) <= (others => '0'); sprite_o.d(31 downto 0) <= spr_rom_left(0) & spr_rom_right(0) & spr_rom_left(1) & spr_rom_right(1); - GEN_BG_ROMS : for i in M52_BG_ROM'range generate - bg_rom_inst : entity work.sprom - generic map - ( - init_file => PLATFORM_VARIANT_SRC_DIR & "roms/" & - M52_BG_ROM(i) & ".hex", - widthad_a => 12 - ) - port map - ( - clock => clk_video, - address => bitmap_i(1+i).a(11 downto 0), - q => bitmap_o(1+i).d(7 downto 0) - ); - bitmap_o(1+i).d(15 downto 8) <= (others => '0'); - end generate GEN_BG_ROMS; - - end block BLK_GFX_ROMS; +rom9 : entity work.mpe_13l +port map( + clk => clk_video, + addr => bitmap_i(3).a(11 downto 0), + data => bitmap_o(3).d(7 downto 0) +); - -- wren_a *MUST* be GND for CYCLONEII_SAFE_WRITE=VERIFIED_SAFE - vram_inst : entity work.dpram +rom10 : entity work.mpe_23k +port map( + clk => clk_video, + addr => bitmap_i(2).a(11 downto 0), + data => bitmap_o(2).d(7 downto 0) +); + +rom11 : entity work.mpe_33h +port map( + clk => clk_video, + addr => bitmap_i(1).a(11 downto 0), + data => bitmap_o(1).d(7 downto 0) +); + +vram_inst : entity work.dpram generic map ( init_file => "", @@ -479,8 +480,7 @@ begin ); tilemap_o(1).map_d(15 downto 8) <= (others => '0'); - -- wren_a *MUST* be GND for CYCLONEII_SAFE_WRITE=VERIFIED_SAFE - cram_inst : entity work.dpram +cram_inst : entity work.dpram generic map ( init_file => "", @@ -503,7 +503,7 @@ begin tilemap_o(1).attr_d(15 downto 8) <= (others => '0'); - wram_inst : entity work.spram +wram_inst : entity work.spram generic map ( widthad_a => 11 diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform_variant_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform_variant_pkg.vhd similarity index 85% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform_variant_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform_variant_pkg.vhd index 45404c4d..ae01f84b 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/platform_variant_pkg.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/platform_variant_pkg.vhd @@ -17,23 +17,23 @@ package platform_variant_pkg is -- Platform-specific constants (optional) -- - constant PLATFORM_VARIANT : string := "mpatrol"; +-- constant PLATFORM_VARIANT : string := "mpatrol"; constant PLATFORM_VARIANT_SRC_DIR : string := ""; type rom_a is array (natural range <>) of string; - constant M52_ROM : rom_a(0 to 3) := - ( - 0 => "mpa-1.3m", - 1 => "mpa-2.3l", - 2 => "mpa-3.3k", - 3 => "mpa-4.3j" - ); - constant M52_ROM_WIDTHAD : natural := 12; +-- constant M52_ROM : rom_a(0 to 3) := +-- ( +-- 0 => "mpa-1.3m", +-- 1 => "mpa-2.3l", +-- 2 => "mpa-3.3k", +-- 3 => "mpa-4.3j" +-- ); +-- constant M52_ROM_WIDTHAD : natural := 12; - constant M52_CHAR_ROM : rom_a(0 to 1) := - ( - 0 => "mpe-5.3e", - 1 => "mpe-4.3f" - ); +-- constant M52_CHAR_ROM : rom_a(0 to 1) := +-- ( +-- 0 => "mpe-5.3e", +-- 1 => "mpe-4.3f" +-- ); constant M52_SPRITE_ROM : rom_a(0 to 1) := ( @@ -41,12 +41,12 @@ package platform_variant_pkg is 1 => "mpb-1.3n" ); - constant M52_BG_ROM : rom_a(0 to 2) := - ( - 2 => "mpe-1.3l", -- mountains - 1 => "mpe-2.3k", -- hills - 0 => "mpe-3.3h" -- cityscape - ); +-- constant M52_BG_ROM : rom_a(0 to 2) := +-- ( +-- 2 => "mpe-1.3l", -- mountains +-- 1 => "mpe-2.3k", -- hills +-- 0 => "mpe-3.3h" -- cityscape +-- ); constant tile_pal : pal_a(0 to 127) := ( diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pll_mist.vhd similarity index 81% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pll_mist.vhd index f616bfa8..e1aebe3e 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/pll_mist.vhd @@ -4,7 +4,7 @@ -- MODULE: altpll -- ============================================================ --- File Name: Clock.vhd +-- File Name: pll_mist.vhd -- Megafunction Name(s): -- altpll -- @@ -14,7 +14,7 @@ -- ************************************************************ -- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! -- --- 13.1.4 Build 182 03/12/2014 Patches 4.26 SJ Web Edition +-- 13.1.4 Build 182 03/12/2014 SJ Web Edition -- ************************************************************ @@ -39,27 +39,30 @@ USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.all; -ENTITY Clock IS +ENTITY pll_mist IS PORT ( + areset : IN STD_LOGIC := '0'; inclk0 : IN STD_LOGIC := '0'; c0 : OUT STD_LOGIC ; c1 : OUT STD_LOGIC ; - c2 : OUT STD_LOGIC + c2 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC ); -END Clock; +END pll_mist; -ARCHITECTURE SYN OF clock IS +ARCHITECTURE SYN OF pll_mist IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); SIGNAL sub_wire1 : STD_LOGIC ; SIGNAL sub_wire2 : STD_LOGIC ; SIGNAL sub_wire3 : STD_LOGIC ; SIGNAL sub_wire4 : STD_LOGIC ; - SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); - SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); - SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire5 : STD_LOGIC ; + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire7_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire7 : STD_LOGIC_VECTOR (0 DOWNTO 0); @@ -126,50 +129,54 @@ ARCHITECTURE SYN OF clock IS port_extclk1 : STRING; port_extclk2 : STRING; port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; width_clock : NATURAL ); PORT ( + areset : IN STD_LOGIC ; clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); - inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0) + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC ); END COMPONENT; BEGIN - sub_wire6_bv(0 DOWNTO 0) <= "0"; - sub_wire6 <= To_stdlogicvector(sub_wire6_bv); - sub_wire3 <= sub_wire0(2); - sub_wire2 <= sub_wire0(0); + sub_wire7_bv(0 DOWNTO 0) <= "0"; + sub_wire7 <= To_stdlogicvector(sub_wire7_bv); + sub_wire4 <= sub_wire0(2); + sub_wire3 <= sub_wire0(0); sub_wire1 <= sub_wire0(1); c1 <= sub_wire1; - c0 <= sub_wire2; - c2 <= sub_wire3; - sub_wire4 <= inclk0; - sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + locked <= sub_wire2; + c0 <= sub_wire3; + c2 <= sub_wire4; + sub_wire5 <= inclk0; + sub_wire6 <= sub_wire7(0 DOWNTO 0) & sub_wire5; altpll_component : altpll GENERIC MAP ( bandwidth_type => "AUTO", clk0_divide_by => 9, clk0_duty_cycle => 50, - clk0_multiply_by => 2, + clk0_multiply_by => 8, clk0_phase_shift => "0", - clk1_divide_by => 9, + clk1_divide_by => 1075, clk1_duty_cycle => 50, - clk1_multiply_by => 8, + clk1_multiply_by => 239, clk1_phase_shift => "0", - clk2_divide_by => 9, + clk2_divide_by => 603, clk2_duty_cycle => 50, - clk2_multiply_by => 8, + clk2_multiply_by => 20, clk2_phase_shift => "0", compensate_clock => "CLK0", inclk0_input_frequency => 37037, intended_device_family => "Cyclone III", - lpm_hint => "CBX_MODULE_PREFIX=Clock", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", lpm_type => "altpll", operation_mode => "NORMAL", pll_type => "AUTO", port_activeclock => "PORT_UNUSED", - port_areset => "PORT_UNUSED", + port_areset => "PORT_USED", port_clkbad0 => "PORT_UNUSED", port_clkbad1 => "PORT_UNUSED", port_clkloss => "PORT_UNUSED", @@ -178,7 +185,7 @@ BEGIN port_fbin => "PORT_UNUSED", port_inclk0 => "PORT_USED", port_inclk1 => "PORT_UNUSED", - port_locked => "PORT_UNUSED", + port_locked => "PORT_USED", port_pfdena => "PORT_UNUSED", port_phasecounterselect => "PORT_UNUSED", port_phasedone => "PORT_UNUSED", @@ -209,11 +216,14 @@ BEGIN port_extclk1 => "PORT_UNUSED", port_extclk2 => "PORT_UNUSED", port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", width_clock => 5 ) PORT MAP ( - inclk => sub_wire5, - clk => sub_wire0 + areset => areset, + inclk => sub_wire6, + clk => sub_wire0, + locked => sub_wire2 ); @@ -240,14 +250,14 @@ END SYN; -- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" -- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" -- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "9" --- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "9" --- Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "20" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "1075" +-- Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "603" -- 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 "6.000000" --- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "24.000000" --- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "24.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "24.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "6.002791" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "0.895522" -- 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" @@ -263,27 +273,27 @@ END SYN; -- 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 "0" +-- 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 "deg" +-- 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 "2" --- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "8" --- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "37" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "8" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "239" +-- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "20" -- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "6.00000000" --- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "24.00000000" --- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "24.00000000" --- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "24.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "6.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "0.89500000" +-- 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" @@ -295,9 +305,9 @@ END SYN; -- 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 "ps" --- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "deg" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "ps" -- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" --- Retrieval info: PRIVATE: PLL_ARESET_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" @@ -306,7 +316,7 @@ END SYN; -- 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 "Clock.mif" +-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll_mist.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" @@ -335,15 +345,15 @@ END SYN; -- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" -- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "9" -- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" --- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "2" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "8" -- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" --- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "9" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "1075" -- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" --- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "8" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "239" -- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" --- Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "9" +-- Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "603" -- Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50" --- Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "8" +-- Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "20" -- Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "0" -- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" -- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" @@ -352,7 +362,7 @@ END SYN; -- 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_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" @@ -361,7 +371,7 @@ END SYN; -- 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_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" @@ -392,23 +402,28 @@ END SYN; -- 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: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..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: GEN_FILE: TYPE_NORMAL Clock.vhd TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL Clock.ppf TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL Clock.inc FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL Clock.cmp FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL Clock.bsf FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL Clock_inst.vhd FALSE +-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE -- Retrieval info: LIB_FILE: altera_mf -- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/project_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/project_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/project_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/project_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_prog.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mp-s1.1a.vhd similarity index 99% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_prog.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mp-s1.1a.vhd index a9ee3564..77fb623f 100644 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/moon_patrol_sound_prog.vhd +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mp-s1.1a.vhd @@ -1,7 +1,7 @@ library ieee; use ieee.std_logic_1164.all,ieee.numeric_std.all; -entity moon_patrol_sound_prog is +entity mp_s11a is port ( clk : in std_logic; addr : in std_logic_vector(11 downto 0); @@ -9,7 +9,7 @@ port ( ); end entity; -architecture prom of moon_patrol_sound_prog is +architecture prom of mp_s11a is type rom is array(0 to 4095) of std_logic_vector(7 downto 0); signal rom_data: rom := ( X"88",X"08",X"14",X"3F",X"8D",X"51",X"0C",X"24",X"E0",X"91",X"00",X"F9",X"3A",X"1A",X"80",X"C2", diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-1.3m.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-1.3m.vhd new file mode 100644 index 00000000..5debb3de --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-1.3m.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpa_13m is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpa_13m is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"F3",X"31",X"00",X"E8",X"ED",X"56",X"3A",X"04",X"D0",X"A7",X"F2",X"00",X"33",X"CD",X"F4",X"05", + X"CD",X"F2",X"06",X"CD",X"29",X"0D",X"C3",X"68",X"00",X"00",X"00",X"00",X"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"5F",X"16",X"00",X"19",X"5E",X"23",X"56", + X"EB",X"E9",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"D9",X"CD",X"6D",X"05",X"21",X"4E",X"E0", + X"34",X"7E",X"23",X"E6",X"0F",X"20",X"01",X"34",X"23",X"35",X"23",X"35",X"3A",X"04",X"D0",X"A7", + X"FA",X"93",X"00",X"21",X"4E",X"E0",X"34",X"01",X"03",X"00",X"21",X"4E",X"E0",X"35",X"10",X"FE", + X"0D",X"20",X"FB",X"D9",X"08",X"FB",X"FB",X"C9",X"FB",X"CD",X"8A",X"0B",X"3E",X"01",X"32",X"4D", + X"E0",X"32",X"0F",X"E5",X"3C",X"32",X"08",X"E5",X"C3",X"B7",X"0B",X"06",X"00",X"AF",X"32",X"4D", + X"E0",X"21",X"46",X"E0",X"70",X"FB",X"CD",X"45",X"07",X"CD",X"8A",X"0B",X"C3",X"B7",X"0B",X"06", + X"04",X"18",X"EA",X"CD",X"CB",X"05",X"3A",X"00",X"D0",X"2F",X"32",X"53",X"E0",X"CB",X"4F",X"28", + X"15",X"3A",X"04",X"D0",X"CB",X"67",X"20",X"0E",X"21",X"46",X"E0",X"CB",X"4E",X"20",X"07",X"3A", + X"00",X"D0",X"E6",X"01",X"20",X"F9",X"3A",X"04",X"D0",X"CB",X"5F",X"20",X"06",X"21",X"F3",X"E0", + X"34",X"CB",X"46",X"FD",X"E5",X"DD",X"E5",X"CD",X"0E",X"04",X"3A",X"41",X"E0",X"A7",X"20",X"05", + X"3E",X"02",X"32",X"48",X"E0",X"21",X"46",X"E0",X"46",X"CB",X"78",X"20",X"15",X"CB",X"48",X"20", + X"1B",X"3A",X"48",X"E0",X"A7",X"20",X"1D",X"CB",X"50",X"20",X"11",X"3A",X"47",X"E0",X"A7",X"C2", + X"8F",X"00",X"CB",X"40",X"28",X"06",X"CD",X"7A",X"04",X"CD",X"EC",X"01",X"DD",X"E1",X"FD",X"E1", + X"D9",X"08",X"FB",X"C9",X"36",X"02",X"31",X"00",X"E8",X"FB",X"CD",X"29",X"0D",X"CD",X"33",X"05", + X"28",X"FB",X"CD",X"38",X"0B",X"C3",X"B7",X"0B",X"31",X"00",X"E8",X"21",X"46",X"E0",X"35",X"FB", + X"F2",X"68",X"00",X"CD",X"96",X"0B",X"AF",X"32",X"A6",X"E1",X"21",X"15",X"E5",X"35",X"28",X"1B", + X"CD",X"D5",X"06",X"21",X"46",X"E0",X"CB",X"66",X"CA",X"B7",X"0B",X"CD",X"03",X"06",X"3A",X"15", + X"E5",X"A7",X"C2",X"B7",X"0B",X"CD",X"03",X"06",X"C3",X"B7",X"0B",X"3E",X"1B",X"CD",X"75",X"0D", + X"21",X"46",X"E0",X"CB",X"66",X"28",X"1F",X"21",X"ED",X"2A",X"CD",X"4E",X"03",X"3A",X"46",X"E0", + X"1F",X"1F",X"1F",X"E6",X"01",X"3C",X"CD",X"BD",X"03",X"CD",X"03",X"06",X"CD",X"E4",X"05",X"3A", + X"15",X"E5",X"A7",X"C2",X"B7",X"0B",X"21",X"02",X"2B",X"CD",X"4E",X"03",X"CD",X"1C",X"06",X"28", + X"03",X"CD",X"03",X"06",X"CD",X"E8",X"05",X"CD",X"29",X"0D",X"21",X"2A",X"2A",X"CD",X"00",X"03", + X"3E",X"11",X"A7",X"28",X"3D",X"3D",X"27",X"32",X"54",X"E0",X"11",X"33",X"82",X"0E",X"02",X"CD", + X"AE",X"03",X"3E",X"40",X"32",X"50",X"E0",X"3A",X"50",X"E0",X"A7",X"3A",X"54",X"E0",X"28",X"E2", + X"3A",X"48",X"E0",X"A7",X"20",X"0B",X"21",X"57",X"2C",X"CD",X"74",X"03",X"CD",X"27",X"05",X"18", + X"E6",X"CD",X"33",X"05",X"28",X"E1",X"CD",X"DA",X"01",X"CD",X"DA",X"01",X"CD",X"BF",X"0C",X"C3", + X"B7",X"0B",X"F3",X"AF",X"32",X"46",X"E0",X"C3",X"68",X"00",X"3A",X"40",X"E0",X"32",X"15",X"E5", + X"21",X"00",X"00",X"22",X"00",X"E5",X"22",X"02",X"E5",X"C3",X"03",X"06",X"DD",X"21",X"00",X"E3", + X"3E",X"20",X"32",X"E8",X"E0",X"DD",X"7E",X"00",X"3D",X"FA",X"00",X"02",X"21",X"0C",X"02",X"EF", + X"11",X"10",X"00",X"DD",X"19",X"21",X"E8",X"E0",X"35",X"20",X"EA",X"C9",X"11",X"13",X"31",X"13", + X"70",X"13",X"88",X"13",X"BC",X"13",X"C2",X"13",X"EB",X"13",X"21",X"14",X"09",X"18",X"E0",X"15", + X"FA",X"15",X"2D",X"16",X"2D",X"16",X"49",X"16",X"5D",X"16",X"8F",X"16",X"3D",X"19",X"57",X"19", + X"5E",X"19",X"D1",X"19",X"2F",X"1A",X"44",X"1A",X"92",X"1A",X"B9",X"1A",X"F0",X"1A",X"01",X"1B", + X"27",X"1B",X"33",X"14",X"E0",X"18",X"AA",X"1E",X"28",X"1F",X"AC",X"20",X"C4",X"20",X"AA",X"1E", + X"28",X"1F",X"00",X"20",X"1A",X"20",X"A4",X"1E",X"28",X"1F",X"4D",X"20",X"9C",X"20",X"23",X"1D", + X"F3",X"1D",X"51",X"1E",X"9B",X"1E",X"9B",X"1C",X"BC",X"1C",X"14",X"1E",X"29",X"1E",X"CD",X"DC", + X"0D",X"CD",X"0D",X"21",X"CD",X"3A",X"1B",X"CD",X"C7",X"1B",X"CD",X"A7",X"12",X"CD",X"E7",X"12", + X"CD",X"DC",X"0D",X"3A",X"CF",X"E1",X"21",X"D0",X"E1",X"BE",X"28",X"E2",X"5F",X"16",X"E6",X"DD", + X"21",X"00",X"00",X"DD",X"19",X"DD",X"4E",X"00",X"CB",X"21",X"20",X"11",X"21",X"CF",X"E1",X"BE", + X"20",X"03",X"C6",X"04",X"77",X"DD",X"E5",X"C1",X"79",X"C6",X"04",X"18",X"D9",X"06",X"00",X"DD", + X"70",X"00",X"DD",X"7E",X"01",X"21",X"A5",X"02",X"E5",X"21",X"D3",X"02",X"09",X"4E",X"23",X"66", + X"69",X"E9",X"21",X"D0",X"E1",X"6E",X"26",X"E6",X"71",X"23",X"77",X"23",X"73",X"23",X"72",X"2C", + X"7D",X"32",X"D0",X"E1",X"C9",X"22",X"06",X"FA",X"02",X"ED",X"02",X"22",X"03",X"2F",X"03",X"67", + X"03",X"61",X"03",X"37",X"03",X"A6",X"0D",X"01",X"12",X"18",X"12",X"00",X"00",X"3A",X"4E",X"E0", + X"DD",X"86",X"01",X"DD",X"77",X"01",X"DD",X"36",X"00",X"04",X"DD",X"6E",X"02",X"DD",X"66",X"03", + X"CD",X"DB",X"03",X"7E",X"06",X"12",X"FE",X"26",X"28",X"06",X"06",X"30",X"FE",X"27",X"20",X"0D", + X"23",X"78",X"32",X"50",X"E0",X"3A",X"50",X"E0",X"A7",X"20",X"FA",X"18",X"E6",X"CD",X"C9",X"03", + X"18",X"E1",X"3A",X"4E",X"E0",X"DD",X"BE",X"01",X"28",X"05",X"DD",X"36",X"00",X"04",X"C9",X"DD", + X"6E",X"02",X"DD",X"66",X"03",X"18",X"44",X"3A",X"50",X"E0",X"A7",X"20",X"0C",X"CD",X"2F",X"03", + X"DD",X"35",X"01",X"C8",X"3E",X"04",X"32",X"50",X"E0",X"DD",X"36",X"00",X"07",X"C9",X"CD",X"DB", + X"03",X"CD",X"C9",X"03",X"3E",X"03",X"32",X"50",X"E0",X"3A",X"50",X"E0",X"A7",X"20",X"FA",X"18", + X"F0",X"3A",X"50",X"E0",X"A7",X"20",X"08",X"3E",X"04",X"32",X"50",X"E0",X"CD",X"FA",X"02",X"DD", + X"36",X"00",X"08",X"C9",X"3A",X"4E",X"E0",X"CB",X"67",X"20",X"85",X"CD",X"DB",X"03",X"7E",X"23", + X"FE",X"21",X"C8",X"FE",X"23",X"28",X"09",X"FE",X"22",X"28",X"F0",X"AF",X"12",X"13",X"18",X"EE", + X"23",X"18",X"EB",X"7E",X"13",X"E6",X"0F",X"28",X"04",X"1B",X"CD",X"A6",X"03",X"2B",X"7E",X"1F", + X"1F",X"1F",X"1F",X"CD",X"A7",X"03",X"7E",X"E6",X"0F",X"C6",X"30",X"12",X"13",X"C9",X"FD",X"21", + X"00",X"04",X"FD",X"19",X"F5",X"1F",X"1F",X"1F",X"1F",X"CD",X"BD",X"03",X"F1",X"E6",X"0F",X"C6", + X"30",X"12",X"FD",X"71",X"00",X"13",X"FD",X"23",X"C9",X"7E",X"23",X"FE",X"21",X"28",X"33",X"FE", + X"23",X"28",X"12",X"FE",X"25",X"28",X"2D",X"FE",X"22",X"20",X"E6",X"5E",X"23",X"56",X"23",X"FD", + X"21",X"00",X"04",X"FD",X"19",X"4E",X"23",X"3A",X"F9",X"E0",X"A7",X"C8",X"79",X"A7",X"C8",X"FE", + X"03",X"38",X"0B",X"FE",X"06",X"28",X"03",X"FE",X"09",X"C0",X"C6",X"05",X"4F",X"C9",X"C6",X"0B", + X"4F",X"C9",X"E1",X"C9",X"46",X"23",X"7E",X"23",X"CD",X"C1",X"03",X"10",X"FB",X"C9",X"21",X"3E", + X"E0",X"11",X"41",X"E0",X"3A",X"00",X"D0",X"01",X"02",X"00",X"CD",X"34",X"04",X"21",X"3F",X"E0", + X"13",X"3A",X"02",X"D0",X"1F",X"F6",X"04",X"0E",X"20",X"CD",X"34",X"04",X"3A",X"4C",X"E0",X"B0", + X"32",X"01",X"D0",X"C9",X"1F",X"1F",X"1F",X"CB",X"16",X"1F",X"CB",X"16",X"7E",X"E6",X"55",X"FE", + X"54",X"28",X"0E",X"7E",X"E6",X"AA",X"C0",X"21",X"ED",X"E0",X"34",X"7E",X"E6",X"0F",X"C0",X"18", + X"19",X"78",X"B1",X"47",X"3E",X"13",X"CD",X"7D",X"0D",X"1A",X"FE",X"01",X"28",X"11",X"FE",X"08", + X"30",X"0B",X"21",X"47",X"E0",X"34",X"BE",X"C0",X"AF",X"77",X"3C",X"18",X"02",X"D6",X"08",X"21", + X"48",X"E0",X"86",X"27",X"30",X"02",X"3E",X"99",X"77",X"C9",X"3A",X"46",X"E0",X"07",X"30",X"5B", + X"11",X"01",X"D0",X"CB",X"67",X"28",X"07",X"3A",X"43",X"E0",X"3D",X"28",X"01",X"13",X"21",X"4A", + X"E0",X"7E",X"23",X"77",X"2B",X"1A",X"2F",X"77",X"2B",X"E6",X"03",X"77",X"C9",X"3A",X"0B",X"E5", + X"2A",X"F7",X"E0",X"BE",X"20",X"13",X"23",X"7E",X"54",X"5D",X"23",X"22",X"F7",X"E0",X"A7",X"28", + X"04",X"FE",X"FF",X"20",X"D9",X"32",X"E0",X"E1",X"C9",X"21",X"4A",X"E0",X"3A",X"E0",X"E1",X"A7", + X"28",X"13",X"3A",X"4E",X"E0",X"07",X"47",X"E6",X"01",X"3C",X"32",X"49",X"E0",X"78",X"E6",X"1E", + X"20",X"03",X"36",X"20",X"C9",X"7E",X"36",X"FF",X"23",X"77",X"C9",X"21",X"4D",X"E0",X"3A",X"4E", + X"E0",X"47",X"7E",X"A7",X"28",X"B7",X"FE",X"50",X"28",X"1D",X"CB",X"18",X"38",X"05",X"CB",X"18", + X"38",X"01",X"34",X"0E",X"02",X"21",X"49",X"E0",X"FE",X"18",X"38",X"01",X"0D",X"71",X"23",X"36", + X"00",X"FE",X"B0",X"D8",X"C3",X"7B",X"00",X"21",X"00",X"E3",X"7E",X"FE",X"04",X"20",X"0C",X"3A", + X"09",X"E3",X"17",X"D8",X"36",X"08",X"0E",X"0A",X"C3",X"C2",X"02",X"FE",X"08",X"C8",X"21",X"4A", + X"E0",X"36",X"20",X"23",X"36",X"00",X"C9",X"21",X"E2",X"2A",X"CD",X"00",X"03",X"3A",X"48",X"E0", + X"C3",X"AE",X"03",X"21",X"D1",X"2A",X"CD",X"74",X"03",X"CD",X"27",X"05",X"21",X"86",X"2A",X"3A", + X"48",X"E0",X"3D",X"28",X"03",X"21",X"97",X"2A",X"CD",X"00",X"03",X"3A",X"53",X"E0",X"E6",X"03", + X"C8",X"1F",X"3A",X"48",X"E0",X"06",X"80",X"38",X"06",X"D6",X"01",X"27",X"C8",X"06",X"90",X"D6", + X"01",X"27",X"F3",X"32",X"48",X"E0",X"78",X"32",X"46",X"E0",X"3C",X"FB",X"C9",X"21",X"00",X"E1", + X"11",X"40",X"C8",X"01",X"40",X"00",X"ED",X"B0",X"1E",X"20",X"0E",X"20",X"ED",X"B0",X"1E",X"C0", + X"0E",X"40",X"ED",X"B0",X"11",X"A0",X"C8",X"0E",X"20",X"ED",X"B0",X"0E",X"1C",X"7E",X"06",X"04", + X"ED",X"79",X"0C",X"10",X"FB",X"23",X"3A",X"C3",X"E1",X"A7",X"28",X"2B",X"7E",X"E6",X"7F",X"01", + X"40",X"00",X"CB",X"3F",X"30",X"01",X"04",X"20",X"F9",X"7E",X"07",X"E6",X"01",X"A8",X"5F",X"ED", + X"A3",X"3A",X"00",X"88",X"E6",X"07",X"BB",X"C2",X"C3",X"00",X"0E",X"80",X"ED",X"A3",X"0E",X"60", + X"ED",X"A3",X"0E",X"A0",X"ED",X"A3",X"7E",X"2F",X"D3",X"C0",X"C9",X"2A",X"DD",X"E1",X"7D",X"BC", + X"C8",X"26",X"E0",X"7E",X"32",X"00",X"D0",X"CB",X"FF",X"32",X"00",X"D0",X"7D",X"3C",X"E6",X"07", + X"32",X"DD",X"E1",X"C9",X"3E",X"40",X"18",X"02",X"3E",X"C0",X"32",X"50",X"E0",X"3A",X"50",X"E0", + X"A7",X"20",X"FA",X"C9",X"21",X"00",X"E0",X"01",X"00",X"07",X"36",X"00",X"23",X"0B",X"78",X"B1", + X"20",X"F8",X"C9",X"21",X"46",X"E0",X"7E",X"EE",X"08",X"77",X"21",X"00",X"E5",X"11",X"18",X"E5", + X"06",X"18",X"1A",X"4F",X"7E",X"12",X"71",X"23",X"13",X"10",X"F7",X"C9",X"3A",X"46",X"E0",X"CB", + X"5F",X"C9",X"4F",X"81",X"81",X"4F",X"06",X"00",X"21",X"0C",X"2A",X"09",X"3A",X"46",X"E0",X"A7", + X"F0",X"11",X"00",X"E5",X"06",X"03",X"A7",X"1A",X"8E",X"27",X"12",X"13",X"23",X"10",X"F8",X"CD", + X"AF",X"06",X"06",X"03",X"11",X"00",X"E5",X"21",X"08",X"E0",X"A7",X"1A",X"9E",X"23",X"13",X"10", + X"FA",X"38",X"15",X"2A",X"00",X"E5",X"22",X"08",X"E0",X"3A",X"02",X"E5",X"32",X"0A",X"E0",X"3A", + X"0E",X"E5",X"32",X"0B",X"E0",X"CD",X"85",X"06",X"11",X"84",X"80",X"CD",X"1C",X"06",X"28",X"03", + X"11",X"A4",X"80",X"21",X"02",X"E5",X"0E",X"01",X"CD",X"E7",X"03",X"06",X"03",X"7E",X"CD",X"AE", + X"03",X"2B",X"10",X"F9",X"C9",X"21",X"0B",X"E0",X"7E",X"0E",X"09",X"FE",X"1B",X"38",X"04",X"D6", + X"1A",X"0E",X"06",X"C6",X"40",X"32",X"4A",X"80",X"3A",X"F9",X"E0",X"1F",X"79",X"30",X"02",X"C6", + X"05",X"32",X"4A",X"84",X"11",X"43",X"80",X"0E",X"09",X"CD",X"E7",X"03",X"2B",X"18",X"CC",X"2A", + X"01",X"E5",X"3A",X"45",X"E0",X"3D",X"F8",X"3D",X"28",X"01",X"24",X"CB",X"2C",X"25",X"3C",X"7C", + X"20",X"05",X"A7",X"28",X"02",X"3E",X"FE",X"21",X"03",X"E5",X"BE",X"C0",X"7E",X"FE",X"03",X"C8", + X"34",X"21",X"15",X"E5",X"34",X"3A",X"15",X"E5",X"3D",X"28",X"03",X"4F",X"3E",X"01",X"21",X"7C", + X"80",X"CD",X"EC",X"06",X"CD",X"EC",X"06",X"28",X"03",X"79",X"C6",X"30",X"77",X"23",X"A7",X"C8", + X"3C",X"C9",X"21",X"40",X"E0",X"3A",X"03",X"D0",X"47",X"3C",X"E6",X"03",X"20",X"02",X"3E",X"05", + X"77",X"23",X"78",X"0F",X"0F",X"47",X"E6",X"03",X"32",X"45",X"E0",X"3A",X"04",X"D0",X"CB",X"57", + X"78",X"28",X"1F",X"1F",X"1F",X"ED",X"44",X"E6",X"0F",X"CB",X"5F",X"28",X"01",X"3C",X"77",X"23", + X"77",X"3A",X"04",X"D0",X"2F",X"1F",X"47",X"E6",X"01",X"23",X"77",X"78",X"1F",X"E6",X"01",X"23", + X"77",X"C9",X"1F",X"1F",X"2F",X"47",X"3C",X"E6",X"03",X"77",X"78",X"1F",X"1F",X"E6",X"03",X"FE", + X"02",X"DE",X"F5",X"18",X"DA",X"CD",X"29",X"0D",X"21",X"97",X"2C",X"CD",X"00",X"03",X"CD",X"27", + X"05",X"21",X"57",X"2C",X"CD",X"4E",X"03",X"11",X"54",X"E0",X"01",X"20",X"00",X"3A",X"44",X"E0", + X"A7",X"20",X"34",X"CD",X"9F",X"07",X"CD",X"E8",X"07",X"7E",X"FE",X"32",X"20",X"20",X"3E",X"53", + X"32",X"5F",X"E0",X"32",X"68",X"E0",X"21",X"62",X"E0",X"7E",X"87",X"D6",X"30",X"FE",X"3A",X"38", + X"06",X"D6",X"0A",X"77",X"2B",X"3E",X"31",X"77",X"21",X"54",X"E0",X"CD",X"4E",X"03",X"3A",X"47", + X"E0",X"A7",X"20",X"FA",X"C3",X"E8",X"05",X"CD",X"D3",X"07",X"CD",X"DD",X"07",X"18",X"E9",X"21", + X"67",X"2C",X"ED",X"B0",X"21",X"57",X"E0",X"3A",X"41",X"E0",X"11",X"08",X"00",X"FE",X"08",X"38", + X"12",X"C6",X"28",X"77",X"19",X"36",X"53",X"23",X"23",X"23",X"36",X"31",X"11",X"06",X"00",X"19", + X"36",X"00",X"C9",X"3D",X"C8",X"11",X"0B",X"00",X"19",X"C6",X"31",X"77",X"11",X"06",X"00",X"19", + X"36",X"53",X"C9",X"21",X"7D",X"2C",X"ED",X"B0",X"21",X"5B",X"E0",X"18",X"CA",X"CD",X"E8",X"07", + X"21",X"5B",X"E0",X"3A",X"42",X"E0",X"18",X"C2",X"21",X"54",X"E0",X"CD",X"4E",X"03",X"2A",X"54", + X"E0",X"11",X"40",X"00",X"19",X"22",X"54",X"E0",X"21",X"57",X"E0",X"34",X"C9",X"21",X"77",X"E2", + X"06",X"07",X"7E",X"A7",X"28",X"0B",X"2B",X"10",X"F9",X"C9",X"21",X"61",X"E2",X"06",X"12",X"18", + X"F1",X"34",X"7D",X"D6",X"50",X"87",X"87",X"DD",X"77",X"01",X"C9",X"DD",X"7E",X"07",X"E6",X"F8", + X"6F",X"26",X"20",X"29",X"29",X"DD",X"7E",X"03",X"1F",X"57",X"1F",X"1F",X"E6",X"1F",X"85",X"6F", + X"C9",X"3A",X"00",X"E3",X"FE",X"06",X"30",X"7A",X"3A",X"E2",X"E1",X"DD",X"96",X"0F",X"ED",X"44", + X"DD",X"77",X"03",X"FE",X"E0",X"38",X"6D",X"DD",X"4E",X"0B",X"0D",X"20",X"6B",X"FE",X"E8",X"30", + X"67",X"E1",X"DD",X"36",X"00",X"00",X"DD",X"7E",X"0D",X"37",X"17",X"D8",X"37",X"17",X"21",X"18", + X"2E",X"30",X"01",X"24",X"5F",X"16",X"00",X"19",X"46",X"DD",X"5E",X"01",X"16",X"E1",X"78",X"17", + X"30",X"10",X"06",X"01",X"17",X"38",X"27",X"7B",X"FE",X"60",X"38",X"06",X"62",X"D6",X"5E",X"6F", + X"36",X"00",X"FD",X"21",X"00",X"00",X"FD",X"19",X"7B",X"1F",X"1F",X"E6",X"3F",X"C6",X"50",X"6F", + X"26",X"E2",X"11",X"04",X"00",X"FD",X"72",X"02",X"FD",X"19",X"10",X"F9",X"72",X"C9",X"CD",X"82", + X"08",X"21",X"74",X"E1",X"01",X"00",X"18",X"71",X"23",X"10",X"FC",X"21",X"D1",X"E1",X"70",X"23", + X"70",X"C9",X"E1",X"C9",X"DD",X"36",X"0B",X"01",X"DD",X"7E",X"0D",X"07",X"D8",X"17",X"21",X"18", + X"2E",X"30",X"01",X"24",X"5F",X"16",X"00",X"19",X"DD",X"5E",X"01",X"16",X"E1",X"FD",X"21",X"00", + X"00",X"FD",X"19",X"56",X"23",X"5E",X"23",X"4E",X"06",X"00",X"21",X"F5",X"08",X"09",X"4E",X"23", + X"66",X"69",X"DD",X"4E",X"03",X"DD",X"7E",X"07",X"CD",X"ED",X"08",X"AF",X"E9",X"2F",X"47",X"3A", + X"3C",X"E0",X"80",X"47",X"C9",X"69",X"09",X"5A",X"09",X"CF",X"09",X"CD",X"09",X"F5",X"0A",X"43", + X"09",X"E2",X"0A",X"90",X"0A",X"56",X"0A",X"B7",X"0A",X"52",X"0A",X"9F",X"0A",X"C9",X"09",X"25", + X"0B",X"76",X"09",X"97",X"09",X"BA",X"09",X"1E",X"0A",X"44",X"0A",X"34",X"09",X"25",X"09",X"1D", + X"0B",X"B0",X"09",X"83",X"09",X"DD",X"34",X"0A",X"DD",X"7E",X"0A",X"E6",X"1F",X"FE",X"0B",X"38", + X"38",X"1C",X"18",X"35",X"3A",X"4E",X"E0",X"E6",X"03",X"28",X"01",X"14",X"CD",X"69",X"09",X"16", + X"3B",X"18",X"1B",X"FD",X"21",X"A4",X"E1",X"FD",X"77",X"0A",X"FD",X"77",X"0E",X"FD",X"77",X"12", + X"FD",X"77",X"16",X"CD",X"95",X"0A",X"3E",X"F8",X"80",X"47",X"CD",X"69",X"09",X"14",X"3E",X"10", + X"81",X"4F",X"21",X"04",X"00",X"EB",X"FD",X"19",X"EB",X"DD",X"7E",X"0B",X"A7",X"79",X"20",X"35", + X"C6",X"08",X"FE",X"20",X"38",X"35",X"FD",X"70",X"00",X"FD",X"73",X"01",X"FD",X"72",X"02",X"FD", + X"71",X"03",X"C9",X"DD",X"7E",X"08",X"1E",X"07",X"CB",X"3F",X"CB",X"13",X"C6",X"7A",X"57",X"78", + X"FE",X"80",X"D2",X"25",X"0B",X"18",X"DF",X"3E",X"08",X"80",X"47",X"FD",X"21",X"74",X"E1",X"79", + X"FE",X"F8",X"D0",X"18",X"D1",X"C6",X"08",X"FE",X"F0",X"38",X"CB",X"FD",X"36",X"02",X"00",X"C9", + X"3A",X"4E",X"E0",X"CB",X"57",X"28",X"BF",X"14",X"18",X"BC",X"3E",X"0E",X"80",X"60",X"47",X"2E", + X"01",X"CD",X"E4",X"09",X"11",X"08",X"76",X"18",X"11",X"3E",X"0A",X"18",X"02",X"3E",X"05",X"80", + X"60",X"47",X"2E",X"01",X"CD",X"E4",X"09",X"11",X"08",X"71",X"44",X"21",X"08",X"00",X"EB",X"FD", + X"19",X"EB",X"2E",X"00",X"CD",X"69",X"09",X"FD",X"70",X"04",X"2D",X"20",X"29",X"3E",X"40",X"AB", + X"FD",X"77",X"05",X"3E",X"08",X"FD",X"72",X"06",X"81",X"FD",X"77",X"07",X"C6",X"08",X"FE",X"F8", + X"30",X"0A",X"FE",X"20",X"D0",X"DD",X"7E",X"0B",X"A7",X"28",X"06",X"C9",X"DD",X"7E",X"0B",X"A7", + X"C8",X"FD",X"36",X"06",X"00",X"C9",X"14",X"FD",X"73",X"05",X"3E",X"10",X"18",X"D7",X"C5",X"D5", + X"21",X"02",X"08",X"09",X"44",X"4D",X"79",X"C6",X"08",X"FE",X"D0",X"30",X"11",X"CD",X"83",X"09", + X"11",X"04",X"00",X"FD",X"19",X"D1",X"C1",X"2E",X"00",X"FD",X"75",X"0A",X"18",X"A6",X"FD",X"36", + X"02",X"00",X"18",X"EC",X"32",X"A6",X"E1",X"32",X"AA",X"E1",X"32",X"AE",X"E1",X"CD",X"95",X"0A", + X"18",X"10",X"3E",X"18",X"18",X"02",X"3E",X"0D",X"FD",X"21",X"74",X"E1",X"80",X"47",X"3E",X"F8", + X"81",X"4F",X"AF",X"CD",X"6F",X"0A",X"EB",X"11",X"08",X"00",X"FD",X"19",X"EB",X"3E",X"10",X"81", + X"6F",X"FD",X"77",X"03",X"FD",X"77",X"07",X"FD",X"70",X"00",X"3E",X"F0",X"80",X"FD",X"77",X"04", + X"FD",X"73",X"01",X"FD",X"73",X"05",X"FD",X"72",X"02",X"14",X"14",X"FD",X"72",X"06",X"15",X"C9", + X"CD",X"95",X"0A",X"18",X"CD",X"3A",X"F9",X"E0",X"1F",X"D0",X"7B",X"F6",X"0C",X"5F",X"C9",X"FD", + X"21",X"74",X"E1",X"FD",X"36",X"0A",X"00",X"FD",X"36",X"0E",X"00",X"3E",X"18",X"80",X"47",X"AF", + X"CD",X"6F",X"0A",X"FD",X"72",X"06",X"C9",X"3E",X"18",X"80",X"47",X"FD",X"21",X"74",X"E1",X"3E", + X"F8",X"CD",X"CD",X"0A",X"21",X"0C",X"00",X"EB",X"FD",X"19",X"EB",X"3E",X"08",X"CD",X"6F",X"0A", + X"FD",X"75",X"0B",X"D6",X"10",X"FD",X"77",X"08",X"FD",X"77",X"09",X"7A",X"C6",X"03",X"FD",X"77", + X"0A",X"C9",X"FD",X"21",X"A4",X"E1",X"FD",X"77",X"06",X"CD",X"95",X"0A",X"21",X"08",X"F8",X"09", + X"44",X"4D",X"C3",X"76",X"09",X"FD",X"21",X"A4",X"E1",X"FD",X"36",X"1A",X"00",X"CD",X"95",X"0A", + X"3E",X"F8",X"CD",X"13",X"0B",X"3E",X"08",X"CD",X"0C",X"0B",X"3E",X"18",X"EB",X"11",X"08",X"00", + X"FD",X"19",X"EB",X"CD",X"6F",X"0A",X"7A",X"C6",X"02",X"FD",X"77",X"06",X"C9",X"3A",X"4E",X"E0", + X"CB",X"4F",X"28",X"01",X"1C",X"CD",X"76",X"09",X"DD",X"7E",X"01",X"FE",X"60",X"D8",X"EB",X"11", + X"A0",X"FF",X"FD",X"19",X"EB",X"C3",X"76",X"09",X"CD",X"8E",X"0C",X"CD",X"BF",X"0C",X"3A",X"04", + X"D0",X"CB",X"6F",X"C0",X"21",X"A9",X"2A",X"CD",X"00",X"03",X"3E",X"FF",X"32",X"51",X"E0",X"21", + X"53",X"E0",X"7E",X"4E",X"A9",X"A1",X"1F",X"38",X"08",X"3A",X"51",X"E0",X"47",X"79",X"10",X"F3", + X"C9",X"21",X"0E",X"E5",X"7E",X"3C",X"FE",X"34",X"30",X"E0",X"77",X"2A",X"16",X"E5",X"46",X"23", + X"7E",X"E6",X"7F",X"23",X"FE",X"06",X"20",X"F6",X"78",X"32",X"0B",X"E5",X"22",X"16",X"E5",X"32", + X"23",X"E5",X"22",X"2E",X"E5",X"CD",X"12",X"0D",X"18",X"C0",X"CD",X"B1",X"0C",X"21",X"94",X"26", + X"22",X"16",X"E5",X"C3",X"BF",X"0C",X"2A",X"16",X"E5",X"2B",X"7E",X"2B",X"E6",X"7F",X"FE",X"06", + X"20",X"F7",X"11",X"DC",X"E1",X"EB",X"7E",X"36",X"00",X"EB",X"A7",X"20",X"EC",X"7E",X"32",X"0B", + X"E5",X"23",X"23",X"22",X"16",X"E5",X"C9",X"21",X"00",X"E1",X"01",X"00",X"04",X"CD",X"FA",X"05", + X"DD",X"21",X"00",X"E3",X"DD",X"36",X"00",X"01",X"DD",X"36",X"10",X"09",X"DD",X"36",X"01",X"B0", + X"DD",X"36",X"21",X"A0",X"DD",X"21",X"70",X"E3",X"3E",X"60",X"06",X"09",X"11",X"10",X"00",X"DD", + X"77",X"01",X"DD",X"19",X"C6",X"04",X"10",X"F7",X"CD",X"96",X"0B",X"2B",X"46",X"3E",X"04",X"21", + X"00",X"C0",X"05",X"F2",X"FA",X"0B",X"3E",X"07",X"26",X"A8",X"32",X"14",X"E5",X"22",X"06",X"E3", + X"3E",X"02",X"32",X"08",X"E5",X"CD",X"8D",X"0D",X"3A",X"13",X"E5",X"3D",X"FE",X"05",X"CE",X"00", + X"06",X"FB",X"1F",X"38",X"01",X"04",X"78",X"32",X"C5",X"E1",X"CD",X"81",X"29",X"A7",X"20",X"5F", + X"21",X"0F",X"E5",X"CB",X"46",X"20",X"58",X"34",X"3A",X"10",X"E5",X"A7",X"28",X"58",X"21",X"5F", + X"2A",X"CD",X"00",X"03",X"3A",X"10",X"E5",X"FE",X"04",X"38",X"02",X"3E",X"03",X"C6",X"30",X"32", + X"56",X"81",X"3E",X"1C",X"CD",X"6F",X"0D",X"3E",X"40",X"32",X"0A",X"E3",X"0E",X"68",X"21",X"B6", + X"30",X"46",X"CB",X"78",X"20",X"14",X"23",X"5E",X"23",X"7E",X"23",X"EB",X"26",X"83",X"71",X"26", + X"87",X"70",X"0C",X"2C",X"BD",X"20",X"F5",X"EB",X"18",X"E7",X"3E",X"D3",X"21",X"D8",X"30",X"11", + X"10",X"E2",X"46",X"CB",X"78",X"20",X"08",X"12",X"13",X"10",X"FC",X"3C",X"23",X"18",X"F3",X"21", + X"46",X"E0",X"34",X"C3",X"6E",X"02",X"21",X"47",X"2A",X"CD",X"00",X"03",X"18",X"B4",X"AF",X"32", + X"4D",X"E0",X"CD",X"95",X"0C",X"CD",X"03",X"06",X"21",X"00",X"E5",X"01",X"16",X"00",X"CD",X"FA", + X"05",X"32",X"0F",X"E5",X"3A",X"40",X"E0",X"32",X"15",X"E5",X"21",X"62",X"21",X"22",X"16",X"E5", + X"C9",X"21",X"DE",X"26",X"22",X"F7",X"E0",X"21",X"03",X"E5",X"01",X"11",X"00",X"18",X"DF",X"CD", + X"29",X"0D",X"21",X"21",X"84",X"0E",X"06",X"3A",X"0E",X"E5",X"FE",X"1A",X"3E",X"00",X"38",X"01", + X"3C",X"32",X"F9",X"E0",X"C5",X"0E",X"01",X"CD",X"E7",X"03",X"79",X"C1",X"06",X"1E",X"77",X"23", + X"10",X"FC",X"23",X"23",X"0D",X"20",X"F5",X"21",X"0F",X"2B",X"CD",X"00",X"03",X"CD",X"68",X"06", + X"CD",X"85",X"06",X"3A",X"46",X"E0",X"CB",X"67",X"28",X"0F",X"CD",X"03",X"06",X"CD",X"68",X"06", + X"CD",X"03",X"06",X"21",X"72",X"2B",X"CD",X"00",X"03",X"CD",X"D5",X"06",X"CD",X"2C",X"21",X"CD", + X"8A",X"29",X"3A",X"0E",X"E5",X"0E",X"02",X"FE",X"1A",X"38",X"04",X"D6",X"1A",X"0E",X"07",X"C6", + X"40",X"32",X"52",X"80",X"79",X"32",X"52",X"84",X"C9",X"21",X"00",X"80",X"01",X"00",X"08",X"CD", + X"FA",X"05",X"21",X"00",X"E1",X"01",X"C6",X"00",X"CD",X"FA",X"05",X"3A",X"43",X"E0",X"3D",X"28", + X"09",X"21",X"46",X"E0",X"AF",X"CB",X"5E",X"28",X"01",X"3C",X"32",X"4C",X"E0",X"21",X"04",X"D0", + X"AE",X"21",X"3C",X"E0",X"36",X"EF",X"16",X"FF",X"1F",X"30",X"03",X"14",X"36",X"F1",X"23",X"72", + X"01",X"00",X"40",X"AF",X"ED",X"79",X"0C",X"10",X"FB",X"F3",X"CD",X"7D",X"0D",X"FB",X"C9",X"F3", + X"CD",X"75",X"0D",X"FB",X"C9",X"E5",X"21",X"46",X"E0",X"CB",X"7E",X"E1",X"F0",X"E5",X"2A",X"DE", + X"E1",X"26",X"E0",X"77",X"7D",X"3C",X"E6",X"07",X"32",X"DE",X"E1",X"E1",X"C9",X"CD",X"48",X"29", + X"CD",X"C2",X"0C",X"06",X"20",X"C5",X"CD",X"06",X"11",X"21",X"E2",X"E1",X"7E",X"C6",X"08",X"77", + X"C1",X"10",X"F2",X"C3",X"3B",X"0D",X"DD",X"5E",X"02",X"DD",X"56",X"03",X"01",X"4A",X"30",X"81", + X"4F",X"0A",X"4F",X"EB",X"11",X"20",X"00",X"7E",X"A7",X"20",X"03",X"19",X"18",X"F9",X"22",X"54", + X"E0",X"0A",X"03",X"3D",X"C8",X"F2",X"CD",X"0D",X"3C",X"77",X"19",X"18",X"F4",X"3A",X"54",X"E0", + X"3C",X"6F",X"E6",X"1F",X"20",X"E8",X"7D",X"D6",X"20",X"6F",X"18",X"E2",X"CD",X"5B",X"12",X"3A", + X"E2",X"E1",X"21",X"09",X"E5",X"47",X"AE",X"E6",X"F8",X"C8",X"78",X"E6",X"F8",X"77",X"CD",X"06", + X"11",X"3A",X"4D",X"E0",X"A7",X"C0",X"21",X"0B",X"E5",X"34",X"7E",X"5F",X"A7",X"28",X"07",X"E6", + X"1F",X"20",X"03",X"CD",X"D6",X"29",X"7B",X"2A",X"16",X"E5",X"BE",X"20",X"0B",X"23",X"7E",X"E6", + X"7F",X"32",X"D7",X"E1",X"23",X"22",X"16",X"E5",X"21",X"D7",X"E1",X"7E",X"3D",X"F8",X"36",X"00", + X"FE",X"18",X"D2",X"45",X"0F",X"FE",X"17",X"28",X"26",X"D6",X"06",X"FA",X"8A",X"0E",X"D6",X"07", + X"FA",X"F0",X"0E",X"87",X"87",X"87",X"5F",X"16",X"00",X"FD",X"21",X"00",X"10",X"FD",X"19",X"CD", + X"93",X"0E",X"FD",X"7E",X"06",X"A7",X"28",X"03",X"CD",X"FD",X"07",X"DD",X"71",X"00",X"C9",X"3E", + X"19",X"32",X"70",X"E3",X"C9",X"3E",X"01",X"32",X"DC",X"E1",X"2A",X"E4",X"E0",X"7D",X"E6",X"1F", + X"F6",X"C0",X"6F",X"36",X"0A",X"01",X"20",X"00",X"5D",X"09",X"36",X"0B",X"7B",X"3D",X"E6",X"1F", + X"F6",X"C0",X"6F",X"CD",X"81",X"29",X"C6",X"41",X"77",X"22",X"DA",X"E1",X"09",X"36",X"F2",X"01", + X"E0",X"03",X"09",X"3A",X"F9",X"E0",X"C6",X"05",X"77",X"C9",X"3C",X"28",X"C8",X"C6",X"05",X"32", + X"08",X"E5",X"C9",X"FD",X"7E",X"00",X"FE",X"02",X"28",X"1B",X"FE",X"07",X"38",X"1C",X"16",X"00", + X"FD",X"5E",X"05",X"DD",X"21",X"70",X"E3",X"FD",X"46",X"04",X"DD",X"7E",X"00",X"A7",X"28",X"13", + X"DD",X"19",X"10",X"F6",X"C9",X"21",X"D7",X"E1",X"36",X"11",X"11",X"F0",X"FF",X"DD",X"21",X"F0", + X"E4",X"18",X"E4",X"FD",X"7E",X"00",X"DD",X"77",X"0C",X"FD",X"7E",X"01",X"DD",X"77",X"0D",X"3A", + X"09",X"E5",X"D6",X"02",X"DD",X"77",X"0F",X"CD",X"3D",X"15",X"FD",X"86",X"03",X"DD",X"77",X"07", + X"DD",X"36",X"0B",X"00",X"DD",X"36",X"03",X"00",X"DD",X"36",X"0E",X"00",X"FD",X"4E",X"02",X"C9", + X"3C",X"CA",X"40",X"0F",X"F5",X"FD",X"21",X"4E",X"10",X"CD",X"BA",X"0E",X"F1",X"C6",X"86",X"DD", + X"77",X"0D",X"DD",X"71",X"00",X"21",X"4A",X"30",X"85",X"C6",X"80",X"6F",X"6E",X"FD",X"2A",X"E4", + X"E0",X"11",X"20",X"00",X"7E",X"23",X"3D",X"F2",X"22",X"0F",X"3C",X"FD",X"77",X"00",X"FD",X"19", + X"18",X"F2",X"C8",X"22",X"E6",X"E0",X"3D",X"28",X"11",X"FD",X"21",X"55",X"10",X"CD",X"9E",X"0E", + X"DD",X"36",X"0A",X"00",X"DD",X"34",X"0E",X"DD",X"71",X"00",X"3E",X"0D",X"32",X"D7",X"E1",X"C9", + X"2A",X"E6",X"E0",X"18",X"C8",X"D6",X"1F",X"FA",X"B7",X"0F",X"21",X"C5",X"E1",X"0E",X"FF",X"23", + X"0C",X"D6",X"08",X"F2",X"4F",X"0F",X"C6",X"08",X"28",X"10",X"77",X"23",X"23",X"23",X"77",X"23", + X"23",X"23",X"77",X"0D",X"F8",X"21",X"D6",X"E1",X"34",X"C9",X"77",X"FD",X"21",X"70",X"E3",X"11", + X"10",X"00",X"06",X"19",X"0D",X"FA",X"A5",X"0F",X"FD",X"7E",X"00",X"D6",X"22",X"FE",X"06",X"30", + X"19",X"6F",X"CB",X"4D",X"20",X"14",X"61",X"FD",X"7E",X"0D",X"FE",X"2A",X"20",X"01",X"24",X"25", + X"20",X"08",X"CB",X"55",X"20",X"09",X"FD",X"36",X"00",X"24",X"FD",X"19",X"10",X"DA",X"C9",X"FD", + X"36",X"0F",X"01",X"18",X"F5",X"FD",X"7E",X"00",X"D6",X"1E",X"FE",X"02",X"30",X"04",X"FD",X"36", + X"00",X"24",X"FD",X"19",X"10",X"EF",X"C9",X"C6",X"08",X"FE",X"04",X"30",X"08",X"21",X"0B",X"E5", + X"46",X"23",X"70",X"23",X"77",X"3A",X"D5",X"E1",X"A7",X"C8",X"5F",X"16",X"00",X"FD",X"21",X"FF", + X"E3",X"FD",X"19",X"21",X"70",X"E3",X"1E",X"10",X"01",X"3A",X"05",X"7E",X"A7",X"CA",X"5D",X"10", + X"19",X"10",X"F8",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"A5"); +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/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-2.3l.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-2.3l.vhd new file mode 100644 index 00000000..30fee4fd --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-2.3l.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpa_23l is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpa_23l is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"0E",X"12",X"F0",X"10",X"00",X"01",X"00",X"01",X"0F",X"12",X"F0",X"10",X"00",X"01",X"00", + X"02",X"10",X"12",X"F0",X"10",X"00",X"01",X"00",X"03",X"11",X"12",X"F0",X"10",X"00",X"01",X"00", + X"0D",X"25",X"12",X"FD",X"06",X"10",X"00",X"00",X"0A",X"21",X"1D",X"F0",X"05",X"10",X"00",X"00", + X"04",X"12",X"16",X"F4",X"18",X"10",X"01",X"00",X"05",X"16",X"16",X"F2",X"18",X"10",X"01",X"00", + X"06",X"1B",X"16",X"F0",X"18",X"10",X"01",X"00",X"0B",X"23",X"17",X"F0",X"01",X"20",X"00",X"00", + X"13",X"00",X"10",X"00",X"00",X"00",X"4A",X"14",X"00",X"03",X"40",X"00",X"00",X"EB",X"DD",X"21", + X"00",X"00",X"DD",X"19",X"DD",X"71",X"0D",X"DD",X"36",X"09",X"00",X"DD",X"36",X"08",X"00",X"FD", + X"56",X"07",X"DD",X"72",X"07",X"FD",X"7E",X"00",X"D6",X"1E",X"FE",X"0A",X"D0",X"CB",X"4F",X"C0", + X"FD",X"7E",X"03",X"D6",X"10",X"FE",X"E0",X"D0",X"79",X"FE",X"3A",X"28",X"36",X"CD",X"92",X"20", + X"ED",X"5F",X"E6",X"7F",X"47",X"3A",X"03",X"E3",X"80",X"D6",X"2F",X"4F",X"DD",X"96",X"03",X"C6", + X"08",X"FE",X"11",X"79",X"30",X"03",X"EE",X"10",X"4F",X"FD",X"BE",X"03",X"17",X"DD",X"77",X"0C", + X"79",X"CD",X"38",X"15",X"92",X"1F",X"1F",X"1F",X"E6",X"1F",X"C6",X"02",X"41",X"CB",X"38",X"0E", + X"2E",X"18",X"0F",X"01",X"2A",X"8F",X"CB",X"3A",X"CB",X"3A",X"CB",X"3A",X"3A",X"14",X"E5",X"EE", + X"1F",X"92",X"21",X"00",X"31",X"85",X"6F",X"56",X"FD",X"7E",X"03",X"DD",X"77",X"03",X"CB",X"3F", + X"90",X"30",X"02",X"ED",X"44",X"1E",X"FF",X"1C",X"92",X"30",X"FC",X"82",X"DD",X"73",X"05",X"06", + X"08",X"CB",X"27",X"BA",X"CB",X"13",X"CB",X"43",X"20",X"01",X"92",X"10",X"F4",X"7B",X"2F",X"DD", + X"77",X"04",X"DD",X"71",X"00",X"C9",X"21",X"D9",X"E1",X"7E",X"A7",X"C2",X"9A",X"11",X"3A",X"08", + X"E5",X"FE",X"03",X"30",X"79",X"47",X"05",X"21",X"B4",X"2C",X"3A",X"E2",X"E1",X"1F",X"1F",X"1F", + X"E6",X"1F",X"85",X"10",X"02",X"C6",X"20",X"6F",X"4E",X"3A",X"E2",X"E1",X"1F",X"1F",X"1F",X"E6", + X"1F",X"5F",X"16",X"83",X"FD",X"21",X"00",X"04",X"FD",X"19",X"EB",X"11",X"20",X"00",X"06",X"07", + X"3A",X"14",X"E5",X"B8",X"28",X"07",X"36",X"00",X"19",X"FD",X"19",X"10",X"F6",X"22",X"E4",X"E0", + X"71",X"FD",X"36",X"00",X"04",X"19",X"FD",X"19",X"36",X"F3",X"FD",X"36",X"00",X"04",X"10",X"F5", + X"3A",X"E2",X"E1",X"1F",X"1F",X"E6",X"3E",X"C6",X"00",X"6F",X"26",X"E2",X"3A",X"14",X"E5",X"EE", + X"1F",X"57",X"FD",X"21",X"24",X"2C",X"FD",X"09",X"FD",X"7E",X"00",X"5F",X"E6",X"70",X"07",X"B2", + X"07",X"07",X"07",X"77",X"E6",X"F8",X"57",X"7B",X"E6",X"07",X"B2",X"23",X"77",X"C9",X"87",X"C6", + X"7A",X"77",X"87",X"28",X"02",X"3E",X"0A",X"32",X"D8",X"E1",X"4E",X"CB",X"19",X"D8",X"CB",X"19", + X"21",X"D8",X"E1",X"35",X"F2",X"B6",X"11",X"36",X"0B",X"3A",X"14",X"E5",X"38",X"3C",X"FE",X"07", + X"28",X"3E",X"3E",X"0B",X"18",X"27",X"7E",X"21",X"14",X"E5",X"30",X"1C",X"A7",X"20",X"01",X"35", + X"C6",X"F3",X"FE",X"FC",X"38",X"02",X"D6",X"0C",X"4F",X"C6",X"03",X"FA",X"C9",X"11",X"C2",X"29", + X"11",X"79",X"D6",X"10",X"4F",X"C3",X"29",X"11",X"FE",X"09",X"20",X"01",X"34",X"2F",X"C6",X"F2", + X"FE",X"F0",X"30",X"02",X"C6",X"0C",X"4F",X"C3",X"29",X"11",X"FE",X"04",X"3E",X"0B",X"20",X"D0", + X"21",X"D9",X"E1",X"34",X"2A",X"E1",X"E1",X"22",X"F1",X"E0",X"21",X"00",X"00",X"22",X"EF",X"E0", + X"C9",X"21",X"44",X"2D",X"ED",X"53",X"EB",X"E0",X"22",X"E9",X"E0",X"3A",X"4E",X"E0",X"C6",X"03", + X"DD",X"77",X"01",X"DD",X"36",X"00",X"0B",X"C9",X"3A",X"4E",X"E0",X"DD",X"BE",X"01",X"20",X"F3", + X"2A",X"EB",X"E0",X"23",X"22",X"EB",X"E0",X"2B",X"EB",X"FD",X"21",X"00",X"04",X"FD",X"19",X"2A", + X"E9",X"E0",X"01",X"20",X"00",X"7E",X"23",X"3D",X"FE",X"03",X"38",X"0D",X"3C",X"12",X"FD",X"36", + X"00",X"80",X"EB",X"09",X"EB",X"FD",X"09",X"18",X"EC",X"3D",X"FA",X"55",X"12",X"28",X"B9",X"5E", + X"23",X"56",X"23",X"18",X"AF",X"21",X"97",X"2C",X"C3",X"00",X"03",X"3A",X"0D",X"E5",X"3D",X"F8", + X"21",X"AB",X"2C",X"3A",X"4E",X"E0",X"E6",X"3F",X"28",X"1B",X"E6",X"1F",X"C0",X"CD",X"7B",X"03", + X"CD",X"88",X"12",X"36",X"02",X"EB",X"36",X"12",X"21",X"0B",X"E5",X"7E",X"23",X"96",X"FE",X"40", + X"D8",X"23",X"36",X"00",X"C9",X"CD",X"00",X"03",X"3A",X"0D",X"E5",X"21",X"55",X"80",X"01",X"02", + X"13",X"11",X"20",X"00",X"3D",X"28",X"08",X"19",X"0C",X"05",X"3D",X"28",X"02",X"04",X"19",X"70", + X"11",X"00",X"04",X"EB",X"19",X"71",X"C9",X"21",X"70",X"E3",X"11",X"10",X"00",X"01",X"02",X"19", + X"7E",X"FE",X"14",X"28",X"2A",X"FE",X"1E",X"38",X"1B",X"FE",X"20",X"38",X"08",X"FE",X"22",X"38", + X"13",X"FE",X"2A",X"30",X"0F",X"3A",X"DF",X"E1",X"1F",X"1F",X"D8",X"79",X"32",X"DF",X"E1",X"C6", + X"15",X"C3",X"6F",X"0D",X"19",X"10",X"D9",X"3A",X"DF",X"E1",X"A7",X"C8",X"AF",X"18",X"ED",X"3A", + X"DF",X"E1",X"1F",X"0D",X"30",X"E5",X"C9",X"3A",X"DC",X"E1",X"A7",X"C8",X"3A",X"4E",X"E0",X"E6", + X"0F",X"28",X"04",X"E6",X"07",X"C0",X"3C",X"3C",X"4F",X"2A",X"DA",X"E1",X"7E",X"D6",X"5A",X"28", + X"0A",X"3C",X"06",X"04",X"C6",X"05",X"28",X"03",X"10",X"FA",X"C9",X"11",X"00",X"04",X"19",X"71", + X"C9",X"21",X"00",X"40",X"22",X"02",X"E3",X"3A",X"4E",X"E0",X"E6",X"03",X"20",X"48",X"DD",X"35", + X"0A",X"F2",X"66",X"13",X"21",X"5F",X"2A",X"CD",X"7B",X"03",X"3E",X"18",X"CD",X"75",X"0D",X"18", + X"29",X"CD",X"48",X"15",X"07",X"07",X"30",X"2B",X"2A",X"1A",X"E3",X"11",X"79",X"FF",X"19",X"7C", + X"A7",X"20",X"05",X"7D",X"FE",X"D1",X"38",X"02",X"3E",X"D1",X"5F",X"CB",X"3B",X"83",X"2F",X"6F", + X"3E",X"FF",X"DE",X"00",X"67",X"2B",X"67",X"22",X"08",X"E3",X"DD",X"34",X"00",X"CD",X"76",X"15", + X"C3",X"B8",X"08",X"CD",X"8A",X"14",X"CD",X"33",X"15",X"D6",X"1C",X"32",X"07",X"E3",X"18",X"ED", + X"DD",X"34",X"00",X"3E",X"14",X"CD",X"75",X"0D",X"CD",X"48",X"15",X"2A",X"0E",X"E3",X"CD",X"A4", + X"14",X"CD",X"33",X"15",X"D6",X"1E",X"18",X"E3",X"CD",X"48",X"15",X"2A",X"0E",X"E3",X"CD",X"A4", + X"14",X"2A",X"06",X"E3",X"ED",X"5B",X"08",X"E3",X"19",X"22",X"06",X"E3",X"21",X"0C",X"00",X"19", + X"22",X"08",X"E3",X"CB",X"14",X"38",X"0F",X"CD",X"33",X"15",X"D6",X"1D",X"47",X"3A",X"07",X"E3", + X"B8",X"38",X"03",X"DD",X"34",X"00",X"CD",X"AC",X"15",X"C3",X"B8",X"08",X"DD",X"36",X"00",X"02", + X"18",X"B6",X"2A",X"02",X"E3",X"ED",X"5B",X"04",X"E3",X"19",X"22",X"02",X"E3",X"2A",X"06",X"E3", + X"ED",X"5B",X"08",X"E3",X"19",X"22",X"06",X"E3",X"CD",X"B8",X"08",X"DD",X"35",X"0A",X"C0",X"DD", + X"34",X"00",X"DD",X"36",X"0D",X"03",X"3E",X"1F",X"C3",X"75",X"0D",X"AF",X"32",X"A2",X"E1",X"DD", + X"35",X"0A",X"F0",X"DD",X"7E",X"0D",X"FE",X"09",X"D2",X"18",X"01",X"FE",X"05",X"38",X"0B",X"CD", + X"B8",X"08",X"DD",X"34",X"0D",X"DD",X"36",X"0A",X"0E",X"C9",X"DD",X"CB",X"0A",X"4E",X"C0",X"EE", + X"07",X"DD",X"77",X"0D",X"DD",X"7E",X"0A",X"FE",X"C0",X"D2",X"B8",X"08",X"DD",X"36",X"0D",X"05", + X"C9",X"DD",X"35",X"0A",X"DD",X"7E",X"0A",X"FE",X"50",X"D0",X"21",X"4D",X"E0",X"34",X"DD",X"36", + X"00",X"04",X"C9",X"CD",X"DB",X"20",X"22",X"D6",X"E0",X"7C",X"D6",X"08",X"FE",X"F0",X"D2",X"52", + X"08",X"2A",X"D8",X"E0",X"23",X"CB",X"7C",X"20",X"02",X"2B",X"2B",X"22",X"D8",X"E0",X"2A",X"DA", + X"E0",X"ED",X"5B",X"DC",X"E0",X"19",X"4C",X"22",X"DA",X"E0",X"21",X"24",X"00",X"19",X"22",X"DC", + X"E0",X"CB",X"14",X"38",X"1F",X"C6",X"0B",X"CD",X"38",X"15",X"D6",X"08",X"B9",X"30",X"15",X"ED", + X"5B",X"DC",X"E0",X"21",X"00",X"00",X"ED",X"52",X"CB",X"3A",X"CB",X"1B",X"CB",X"3A",X"CB",X"1B", + X"19",X"22",X"DC",X"E0",X"CD",X"B8",X"08",X"C3",X"EF",X"20",X"3A",X"49",X"E0",X"87",X"21",X"28", + X"30",X"85",X"6F",X"5E",X"23",X"66",X"2E",X"00",X"22",X"0E",X"E3",X"AF",X"CB",X"13",X"17",X"57", + X"ED",X"53",X"1C",X"E3",X"ED",X"5B",X"02",X"E3",X"AF",X"ED",X"52",X"4F",X"7C",X"30",X"03",X"ED", + X"44",X"0C",X"FE",X"18",X"38",X"02",X"3E",X"18",X"21",X"30",X"30",X"85",X"6F",X"5E",X"16",X"00", + X"2A",X"04",X"E3",X"7C",X"A7",X"F2",X"D4",X"14",X"0D",X"20",X"11",X"2F",X"67",X"7D",X"2F",X"6F", + X"23",X"EB",X"18",X"03",X"0D",X"28",X"57",X"A7",X"ED",X"52",X"30",X"52",X"11",X"02",X"00",X"3A", + X"4E",X"E0",X"1F",X"2A",X"04",X"E3",X"ED",X"5A",X"22",X"04",X"E3",X"ED",X"5B",X"02",X"E3",X"19", + X"22",X"02",X"E3",X"54",X"21",X"DC",X"E1",X"7E",X"3D",X"C0",X"3A",X"0B",X"E5",X"87",X"87",X"87", + X"C6",X"08",X"82",X"D0",X"36",X"00",X"21",X"0E",X"E5",X"34",X"7E",X"06",X"09",X"FE",X"19",X"28", + X"0F",X"38",X"01",X"3D",X"D6",X"05",X"CA",X"C0",X"27",X"10",X"F9",X"FE",X"06",X"CA",X"C0",X"27", + X"3E",X"10",X"CD",X"75",X"0D",X"AF",X"0E",X"01",X"CD",X"C2",X"02",X"C3",X"12",X"0D",X"11",X"FD", + X"FF",X"18",X"AC",X"3A",X"03",X"E3",X"C6",X"20",X"47",X"3A",X"E2",X"E1",X"80",X"C6",X"06",X"CB", + X"3F",X"CB",X"3F",X"6F",X"26",X"E2",X"7E",X"C9",X"2A",X"4A",X"E0",X"7C",X"AD",X"A5",X"07",X"D0", + X"4F",X"3A",X"20",X"E3",X"A7",X"20",X"05",X"3E",X"0A",X"32",X"20",X"E3",X"21",X"30",X"E3",X"06", + X"04",X"11",X"10",X"00",X"7E",X"A7",X"28",X"05",X"19",X"10",X"F9",X"79",X"C9",X"36",X"0E",X"3E", + X"12",X"CD",X"75",X"0D",X"79",X"C9",X"3A",X"03",X"E3",X"4F",X"C6",X"04",X"CD",X"38",X"15",X"D6", + X"09",X"CD",X"C9",X"15",X"7A",X"EE",X"03",X"57",X"3E",X"09",X"CD",X"92",X"15",X"2C",X"14",X"14", + X"3E",X"0D",X"81",X"4F",X"2C",X"2C",X"7D",X"E6",X"3F",X"6F",X"7E",X"D6",X"09",X"CD",X"ED",X"08", + X"47",X"FD",X"23",X"FD",X"23",X"FD",X"23",X"FD",X"23",X"C3",X"76",X"09",X"3A",X"03",X"E3",X"4F", + X"3A",X"07",X"E3",X"C6",X"11",X"CD",X"C9",X"15",X"7A",X"EE",X"03",X"57",X"3E",X"09",X"CD",X"C5", + X"15",X"14",X"14",X"3E",X"0D",X"81",X"4F",X"18",X"D8",X"0C",X"CD",X"ED",X"08",X"47",X"11",X"00", + X"05",X"3A",X"E2",X"E1",X"CB",X"67",X"20",X"01",X"14",X"FD",X"21",X"A4",X"E1",X"C3",X"76",X"09", + X"DD",X"36",X"0A",X"0C",X"3A",X"07",X"E3",X"C6",X"0A",X"32",X"27",X"E3",X"2A",X"02",X"E3",X"11", + X"00",X"1C",X"19",X"22",X"22",X"E3",X"DD",X"34",X"00",X"C9",X"DD",X"35",X"0A",X"28",X"19",X"2A", + X"22",X"E3",X"11",X"5D",X"04",X"19",X"22",X"22",X"E3",X"DD",X"7E",X"0A",X"1F",X"3E",X"09",X"38", + X"01",X"3C",X"DD",X"77",X"0D",X"C3",X"B8",X"08",X"DD",X"34",X"00",X"DD",X"36",X"0A",X"03",X"DD", + X"36",X"0D",X"0B",X"3A",X"E2",X"E1",X"DD",X"86",X"03",X"DD",X"77",X"0F",X"C9",X"CD",X"31",X"08", + X"DD",X"35",X"0A",X"F0",X"DD",X"7E",X"0D",X"FE",X"0D",X"CA",X"52",X"08",X"FE",X"29",X"CA",X"52", + X"08",X"DD",X"34",X"0D",X"DD",X"36",X"0A",X"03",X"C9",X"3A",X"03",X"E3",X"C6",X"0A",X"DD",X"77", + X"03",X"3A",X"07",X"E3",X"C6",X"02",X"DD",X"77",X"07",X"DD",X"34",X"00",X"C9",X"3A",X"00",X"E3", + X"FE",X"06",X"30",X"2B",X"DD",X"7E",X"07",X"D6",X"03",X"FE",X"3A",X"38",X"22",X"DD",X"77",X"07", + X"CD",X"1B",X"08",X"DD",X"7E",X"07",X"1F",X"1F",X"1F",X"7A",X"17",X"E6",X"07",X"F6",X"60",X"77", + X"11",X"00",X"04",X"19",X"36",X"00",X"1F",X"D0",X"11",X"20",X"FC",X"19",X"36",X"00",X"C9",X"CD", + X"1B",X"08",X"36",X"00",X"DD",X"36",X"00",X"00",X"C9",X"DD",X"4E",X"03",X"DD",X"7E",X"0C",X"87", + X"87",X"87",X"21",X"1C",X"31",X"85",X"6F",X"3A",X"20",X"E3",X"11",X"04",X"F8",X"D6",X"0B",X"28", + X"06",X"3D",X"20",X"17",X"11",X"0A",X"F0",X"3A",X"23",X"E3",X"82",X"91",X"FE",X"E8",X"38",X"0B", + X"3A",X"27",X"E3",X"DD",X"96",X"07",X"86",X"83",X"F2",X"4E",X"17",X"DD",X"7E",X"0C",X"A7",X"F8", + X"23",X"3A",X"03",X"E3",X"91",X"86",X"23",X"46",X"23",X"B8",X"38",X"05",X"96",X"30",X"01",X"AF", + X"80",X"23",X"BE",X"D2",X"C4",X"17",X"23",X"46",X"23",X"86",X"6F",X"24",X"3A",X"07",X"E3",X"86", + X"DD",X"96",X"07",X"3D",X"80",X"F8",X"3A",X"04",X"D0",X"CB",X"77",X"C8",X"E1",X"3E",X"07",X"32", + X"00",X"E3",X"3E",X"03",X"32",X"0D",X"E3",X"AF",X"32",X"0A",X"E3",X"32",X"B0",X"E3",X"32",X"72", + X"E1",X"CD",X"52",X"08",X"06",X"03",X"3A",X"07",X"E3",X"C6",X"14",X"4F",X"3A",X"03",X"E3",X"21", + X"D3",X"E1",X"34",X"21",X"C0",X"E3",X"FD",X"21",X"DF",X"30",X"36",X"1C",X"23",X"23",X"23",X"77", + X"C6",X"10",X"CD",X"F8",X"17",X"71",X"CD",X"F8",X"17",X"23",X"23",X"FD",X"5E",X"00",X"73",X"FD", + X"23",X"23",X"23",X"23",X"10",X"E4",X"CD",X"A1",X"08",X"3E",X"1F",X"C3",X"75",X"0D",X"3A",X"E2", + X"E1",X"DD",X"86",X"03",X"32",X"2F",X"E3",X"3E",X"0D",X"32",X"20",X"E3",X"3E",X"26",X"32",X"2D", + X"E3",X"3E",X"03",X"32",X"2A",X"E3",X"3E",X"01",X"CD",X"75",X"0D",X"11",X"07",X"00",X"19",X"7E", + X"E6",X"0F",X"0E",X"01",X"FE",X"0E",X"30",X"07",X"CD",X"C2",X"02",X"E1",X"C3",X"52",X"08",X"20", + X"13",X"CD",X"F0",X"17",X"C6",X"05",X"DD",X"77",X"08",X"CD",X"C2",X"02",X"DD",X"34",X"00",X"DD", + X"36",X"0A",X"00",X"C9",X"CD",X"56",X"08",X"CD",X"F0",X"17",X"21",X"10",X"FB",X"C6",X"06",X"DD", + X"77",X"08",X"E5",X"CD",X"C2",X"02",X"E1",X"DD",X"7E",X"07",X"84",X"DD",X"77",X"07",X"DD",X"7E", + X"03",X"85",X"DD",X"77",X"03",X"DD",X"36",X"0D",X"54",X"DD",X"36",X"00",X"21",X"DD",X"36",X"0A", + X"3B",X"C3",X"56",X"08",X"47",X"DD",X"7E",X"0C",X"C6",X"80",X"4F",X"FE",X"8B",X"28",X"1B",X"FE", + X"8E",X"28",X"17",X"78",X"96",X"FE",X"04",X"D0",X"DD",X"71",X"0C",X"23",X"23",X"23",X"7E",X"1F", + X"1F",X"1F",X"1F",X"E6",X"0F",X"0E",X"01",X"C3",X"C2",X"02",X"78",X"FE",X"FC",X"30",X"E9",X"C9", + X"ED",X"5F",X"E6",X"03",X"C0",X"3E",X"02",X"C9",X"23",X"FD",X"5E",X"00",X"73",X"23",X"FD",X"5E", + X"01",X"73",X"23",X"23",X"FD",X"23",X"FD",X"23",X"C9",X"3A",X"00",X"E3",X"FE",X"06",X"D0",X"FE", + X"01",X"26",X"00",X"28",X"76",X"2A",X"1C",X"E3",X"ED",X"5B",X"1A",X"E3",X"7A",X"A7",X"FA",X"23", + X"18",X"ED",X"52",X"21",X"03",X"00",X"30",X"03",X"21",X"FE",X"FF",X"3A",X"4E",X"E0",X"1F",X"38", + X"01",X"1D",X"19",X"22",X"1A",X"E3",X"ED",X"5B",X"04",X"E3",X"A7",X"ED",X"52",X"22",X"14",X"E3", + X"EB",X"2A",X"E1",X"E1",X"19",X"22",X"E1",X"E1",X"3A",X"D9",X"E1",X"1F",X"30",X"3D",X"2A",X"EF", + X"E0",X"19",X"7C",X"C6",X"06",X"FE",X"0C",X"38",X"17",X"D6",X"12",X"67",X"E5",X"21",X"3F",X"E2", + X"11",X"42",X"E2",X"01",X"40",X"00",X"ED",X"B8",X"21",X"42",X"E2",X"0E",X"03",X"ED",X"B8",X"E1", + X"22",X"EF",X"E0",X"ED",X"5B",X"F1",X"E0",X"19",X"3A",X"08",X"E5",X"FE",X"03",X"30",X"0C",X"3A", + X"E2",X"E1",X"94",X"FE",X"F4",X"38",X"04",X"AF",X"32",X"D9",X"E1",X"7C",X"2F",X"21",X"3D",X"E0", + X"86",X"32",X"C0",X"E1",X"2A",X"14",X"E3",X"54",X"5D",X"CB",X"3C",X"CB",X"1D",X"19",X"CB",X"3C", + X"CB",X"1D",X"CB",X"3C",X"CB",X"1D",X"EB",X"2A",X"04",X"E5",X"19",X"22",X"04",X"E5",X"7C",X"2F", + X"32",X"C1",X"E1",X"CB",X"3A",X"CB",X"1B",X"2A",X"06",X"E5",X"19",X"22",X"06",X"E5",X"7C",X"2F", + X"32",X"C2",X"E1",X"CD",X"33",X"15",X"FE",X"C4",X"30",X"02",X"3E",X"C4",X"C6",X"28",X"30",X"01", + X"AF",X"47",X"C6",X"94",X"32",X"C3",X"E1",X"CB",X"28",X"78",X"C6",X"72",X"32",X"C4",X"E1",X"C9", + X"CD",X"31",X"08",X"CD",X"99",X"16",X"DD",X"35",X"0A",X"F0",X"DD",X"34",X"0A",X"DD",X"7E",X"03", + X"FE",X"E0",X"D0",X"DD",X"7E",X"0C",X"17",X"D8",X"3A",X"C0",X"E3",X"A7",X"C0",X"FD",X"21",X"70", + X"E3",X"11",X"10",X"00",X"06",X"05",X"FD",X"7E",X"00",X"FE",X"1D",X"20",X"0D",X"FD",X"7E",X"0C", + X"17",X"38",X"07",X"DD",X"7E",X"03",X"FD",X"96",X"03",X"D8",X"FD",X"19",X"10",X"E8",X"DD",X"7E", + X"07",X"FD",X"77",X"07",X"DD",X"7E",X"0F",X"D6",X"04",X"FD",X"77",X"0F",X"FD",X"36",X"00",X"11", + X"FD",X"36",X"0D",X"22",X"FD",X"36",X"0C",X"0C",X"DD",X"36",X"0A",X"43",X"C9",X"3A",X"00",X"E3", + X"FE",X"06",X"D0",X"DD",X"7E",X"04",X"C6",X"DD",X"DD",X"77",X"04",X"30",X"03",X"DD",X"35",X"0F", + X"CD",X"38",X"08",X"CD",X"99",X"16",X"C9",X"CD",X"31",X"08",X"CD",X"99",X"16",X"C9",X"CD",X"31", + X"08",X"DD",X"7E",X"0C",X"A7",X"C0",X"DD",X"7E",X"0D",X"07",X"07",X"E6",X"1C",X"21",X"00",X"2E", + X"85",X"6F",X"3A",X"03",X"E3",X"DD",X"96",X"03",X"86",X"23",X"BE",X"30",X"45",X"47",X"3A",X"00", + X"E3",X"FE",X"04",X"C8",X"3A",X"04",X"D0",X"CB",X"77",X"C8",X"78",X"46",X"0E",X"02",X"CB",X"38", + X"50",X"CB",X"38",X"BA",X"38",X"04",X"78",X"82",X"47",X"0D",X"DD",X"7E",X"03",X"80",X"D6",X"1C", + X"32",X"03",X"E3",X"79",X"32",X"0D",X"E3",X"3D",X"3D",X"32",X"05",X"E3",X"3E",X"80",X"32",X"04", + X"E3",X"23",X"7E",X"32",X"0A",X"E3",X"21",X"00",X"02",X"22",X"08",X"E3",X"3E",X"06",X"32",X"00", + X"E3",X"C9",X"96",X"FE",X"04",X"D0",X"DD",X"34",X"0C",X"23",X"23",X"7E",X"0E",X"01",X"C3",X"C2", + X"02",X"DD",X"35",X"0A",X"F2",X"0D",X"1A",X"DD",X"7E",X"0E",X"47",X"3C",X"0E",X"07",X"FE",X"06", + X"38",X"0B",X"3A",X"4E",X"E0",X"E6",X"30",X"20",X"02",X"3E",X"30",X"4F",X"AF",X"DD",X"77",X"0E", + X"DD",X"71",X"0A",X"78",X"FE",X"04",X"38",X"04",X"EE",X"07",X"3D",X"47",X"C6",X"06",X"DD",X"46", + X"0C",X"04",X"FA",X"08",X"1A",X"DD",X"77",X"0C",X"C6",X"45",X"DD",X"77",X"0D",X"3A",X"20",X"E3", + X"FE",X"0F",X"38",X"0E",X"C0",X"3A",X"03",X"E3",X"DD",X"96",X"03",X"C6",X"10",X"FE",X"30",X"DA", + X"FD",X"16",X"CD",X"38",X"08",X"DD",X"7E",X"0C",X"FE",X"06",X"C8",X"CD",X"99",X"16",X"C9",X"CD", + X"31",X"08",X"DD",X"35",X"0A",X"F0",X"DD",X"7E",X"0D",X"FE",X"4A",X"C8",X"DD",X"35",X"0D",X"DD", + X"36",X"0A",X"07",X"C9",X"3A",X"00",X"E3",X"FE",X"06",X"D0",X"DD",X"35",X"0E",X"F2",X"66",X"1A", + X"DD",X"36",X"0E",X"06",X"DD",X"7E",X"0D",X"3D",X"01",X"03",X"00",X"21",X"8E",X"1A",X"ED",X"B1", + X"20",X"01",X"7E",X"DD",X"77",X"0D",X"DD",X"7E",X"04",X"C6",X"C0",X"DD",X"77",X"04",X"30",X"03", + X"DD",X"35",X"0F",X"CD",X"38",X"08",X"DD",X"7E",X"0C",X"D6",X"04",X"CB",X"27",X"C6",X"0C",X"4F", + X"DD",X"7E",X"03",X"CD",X"38",X"15",X"91",X"DD",X"77",X"07",X"CD",X"99",X"16",X"C9",X"11",X"15", + X"1A",X"20",X"DD",X"36",X"0B",X"01",X"3A",X"00",X"E3",X"FE",X"06",X"D0",X"2A",X"72",X"E3",X"7C", + X"FE",X"08",X"28",X"09",X"11",X"70",X"00",X"19",X"22",X"72",X"E3",X"18",X"2C",X"DD",X"36",X"0A", + X"00",X"DD",X"34",X"00",X"DD",X"36",X"0E",X"80",X"C9",X"3A",X"4E",X"E0",X"1F",X"D8",X"3A",X"00", + X"E3",X"FE",X"06",X"D0",X"3A",X"4E",X"E0",X"47",X"E6",X"03",X"20",X"0D",X"DD",X"34",X"03",X"CB", + X"68",X"28",X"06",X"DD",X"35",X"03",X"DD",X"35",X"03",X"3A",X"4E",X"E0",X"E6",X"07",X"20",X"0D", + X"DD",X"7E",X"03",X"C6",X"18",X"CD",X"38",X"15",X"D6",X"10",X"DD",X"77",X"07",X"C3",X"B8",X"08", + X"DD",X"35",X"0E",X"20",X"CF",X"DD",X"36",X"0A",X"58",X"DD",X"34",X"00",X"DD",X"36",X"0D",X"52", + X"C9",X"DD",X"35",X"0A",X"28",X"15",X"2A",X"72",X"E3",X"11",X"80",X"01",X"19",X"22",X"72",X"E3", + X"7C",X"FE",X"F0",X"D2",X"52",X"08",X"CD",X"99",X"16",X"18",X"BE",X"DD",X"34",X"00",X"DD",X"36", + X"0A",X"6E",X"DD",X"36",X"0D",X"23",X"C9",X"CD",X"99",X"16",X"DD",X"35",X"0A",X"20",X"95",X"DD", + X"35",X"00",X"DD",X"35",X"0B",X"DD",X"36",X"0D",X"52",X"C9",X"21",X"EE",X"E0",X"3A",X"4E",X"E0", + X"96",X"F8",X"01",X"00",X"10",X"ED",X"5F",X"E6",X"F0",X"26",X"E4",X"51",X"59",X"6F",X"7E",X"D6", + X"1E",X"FE",X"0A",X"30",X"0A",X"CB",X"4F",X"20",X"06",X"FE",X"04",X"38",X"63",X"0C",X"5D",X"7D", + X"C6",X"10",X"10",X"E9",X"ED",X"53",X"D4",X"E1",X"0D",X"F8",X"3A",X"10",X"E5",X"E6",X"03",X"FE", + X"01",X"89",X"4F",X"FE",X"09",X"DA",X"7A",X"1B",X"0E",X"08",X"21",X"FF",X"2F",X"09",X"4E",X"06", + X"05",X"21",X"70",X"E3",X"11",X"00",X"00",X"7E",X"A7",X"28",X"39",X"D6",X"2F",X"20",X"01",X"14", + X"7D",X"C6",X"10",X"6F",X"10",X"F1",X"7A",X"B9",X"D0",X"1C",X"1D",X"C8",X"ED",X"5F",X"E6",X"0F", + X"C6",X"19",X"21",X"4E",X"E0",X"86",X"32",X"EE",X"E0",X"16",X"00",X"DD",X"21",X"00",X"E3",X"DD", + X"19",X"21",X"D4",X"E1",X"5E",X"FD",X"21",X"00",X"E4",X"FD",X"19",X"0E",X"3B",X"C3",X"64",X"10", + X"55",X"14",X"18",X"9B",X"5D",X"18",X"C9",X"3A",X"4E",X"E0",X"21",X"52",X"E0",X"AE",X"E6",X"1F", + X"C0",X"ED",X"5F",X"77",X"21",X"C6",X"E1",X"06",X"03",X"7E",X"A7",X"20",X"04",X"23",X"10",X"F9", + X"C9",X"DD",X"21",X"00",X"E4",X"04",X"78",X"48",X"06",X"10",X"FE",X"04",X"28",X"0F",X"3A",X"D6", + X"E1",X"3D",X"FA",X"FD",X"1B",X"0D",X"0D",X"DD",X"21",X"70",X"E3",X"06",X"05",X"11",X"10",X"00", + X"DD",X"7E",X"00",X"A7",X"28",X"05",X"DD",X"19",X"10",X"F6",X"C9",X"35",X"79",X"FE",X"02",X"30", + X"43",X"ED",X"5F",X"E6",X"1F",X"C6",X"20",X"DD",X"77",X"0F",X"21",X"D6",X"E1",X"35",X"ED",X"5F", + X"E6",X"1E",X"5F",X"16",X"00",X"FE",X"0E",X"3E",X"82",X"38",X"04",X"ED",X"5F",X"E6",X"80",X"DD", + X"77",X"0C",X"21",X"08",X"30",X"19",X"7E",X"DD",X"77",X"07",X"23",X"7E",X"DD",X"77",X"03",X"06", + X"00",X"21",X"59",X"1C",X"09",X"09",X"7E",X"DD",X"77",X"0D",X"DD",X"36",X"0E",X"00",X"23",X"7E", + X"DD",X"77",X"00",X"C9",X"CD",X"0A",X"08",X"18",X"C5",X"2B",X"26",X"2A",X"26",X"2B",X"22",X"2A", + X"22",X"31",X"1E",X"DD",X"7E",X"0D",X"FE",X"2B",X"D8",X"DD",X"CB",X"0E",X"7E",X"20",X"18",X"DD", + X"35",X"0E",X"F0",X"DD",X"34",X"0D",X"FE",X"2F",X"28",X"1C",X"FE",X"34",X"20",X"04",X"DD",X"36", + X"0D",X"31",X"DD",X"36",X"0E",X"08",X"C9",X"DD",X"34",X"0E",X"F8",X"DD",X"35",X"0D",X"FE",X"2C", + X"28",X"F0",X"FE",X"32",X"28",X"EC",X"DD",X"36",X"0E",X"F8",X"C9",X"DD",X"6E",X"04",X"DD",X"66", + X"05",X"CB",X"3C",X"CB",X"1D",X"DD",X"CB",X"0C",X"46",X"28",X"07",X"EB",X"21",X"00",X"00",X"A7", + X"ED",X"52",X"DD",X"75",X"04",X"DD",X"74",X"05",X"DD",X"34",X"00",X"C9",X"0E",X"3D",X"DD",X"7E", + X"09",X"A7",X"20",X"13",X"0E",X"3B",X"DD",X"46",X"05",X"CB",X"10",X"30",X"02",X"0E",X"50",X"DD", + X"7E",X"08",X"FE",X"60",X"38",X"01",X"0C",X"DD",X"71",X"0D",X"CD",X"FB",X"20",X"7C",X"FE",X"06", + X"DA",X"52",X"08",X"01",X"05",X"00",X"22",X"D6",X"E0",X"7C",X"2A",X"DC",X"E0",X"09",X"22",X"DC", + X"E0",X"ED",X"5B",X"DA",X"E0",X"19",X"22",X"DA",X"E0",X"54",X"CD",X"38",X"15",X"D6",X"08",X"BA", + X"CD",X"EF",X"20",X"30",X"35",X"DD",X"77",X"07",X"DD",X"34",X"00",X"DD",X"36",X"0B",X"00",X"DD", + X"7E",X"00",X"FE",X"2A",X"3E",X"03",X"20",X"05",X"DD",X"36",X"00",X"30",X"3D",X"CD",X"75",X"0D", + X"C3",X"56",X"08",X"CD",X"DB",X"20",X"ED",X"5B",X"14",X"E3",X"CB",X"2A",X"CB",X"1B",X"ED",X"52", + X"11",X"8E",X"00",X"ED",X"52",X"01",X"10",X"00",X"18",X"AC",X"3A",X"00",X"E3",X"FE",X"06",X"D2", + X"B8",X"08",X"21",X"05",X"06",X"DD",X"7E",X"00",X"FE",X"2A",X"30",X"03",X"21",X"0B",X"02",X"FD", + X"21",X"30",X"E3",X"11",X"10",X"00",X"06",X"04",X"FD",X"7E",X"00",X"FE",X"0F",X"20",X"14",X"FD", + X"7E",X"07",X"DD",X"96",X"07",X"FE",X"0A",X"30",X"0A",X"FD",X"7E",X"03",X"DD",X"96",X"03",X"94", + X"BD",X"38",X"2B",X"FD",X"19",X"10",X"E1",X"3A",X"07",X"E3",X"DD",X"96",X"07",X"FE",X"F0",X"DA", + X"B8",X"08",X"57",X"3A",X"03",X"E3",X"DD",X"96",X"03",X"D6",X"04",X"FE",X"EA",X"DA",X"B8",X"08", + X"3A",X"04",X"D0",X"CB",X"77",X"CA",X"B8",X"08",X"CD",X"52",X"08",X"C3",X"FD",X"16",X"FD",X"34", + X"00",X"DD",X"7E",X"0D",X"FE",X"37",X"38",X"11",X"DD",X"36",X"0C",X"00",X"DD",X"36",X"00",X"2D", + X"DD",X"36",X"0A",X"0A",X"DD",X"36",X"0D",X"4F",X"C9",X"21",X"C9",X"E1",X"01",X"01",X"05",X"FE", + X"31",X"30",X"07",X"23",X"05",X"FE",X"2A",X"28",X"01",X"23",X"3E",X"11",X"CD",X"75",X"0D",X"35", + X"20",X"08",X"23",X"23",X"23",X"7E",X"FE",X"03",X"30",X"11",X"DD",X"36",X"00",X"20",X"DD",X"36", + X"0A",X"06",X"DD",X"36",X"0D",X"37",X"78",X"CD",X"C2",X"02",X"C9",X"21",X"00",X"FC",X"D6",X"02", + X"C3",X"9D",X"17",X"DD",X"36",X"0D",X"3E",X"CD",X"23",X"16",X"D6",X"03",X"E6",X"F8",X"C6",X"06", + X"DD",X"77",X"0F",X"21",X"D1",X"E1",X"7E",X"A7",X"28",X"13",X"23",X"36",X"01",X"23",X"7E",X"A7", + X"C8",X"C3",X"52",X"08",X"DD",X"36",X"0D",X"43",X"CD",X"23",X"16",X"18",X"E6",X"34",X"DD",X"34", + X"00",X"DD",X"36",X"0A",X"04",X"CD",X"31",X"08",X"C9",X"21",X"D2",X"E1",X"7E",X"23",X"B6",X"A7", + X"C2",X"52",X"08",X"DD",X"7E",X"03",X"FE",X"F8",X"D2",X"52",X"08",X"DD",X"35",X"0A",X"20",X"E5", + X"DD",X"7E",X"0D",X"FE",X"49",X"CA",X"52",X"08",X"DD",X"34",X"0D",X"DD",X"36",X"0A",X"05",X"18", + X"D4",X"3A",X"D3",X"E1",X"A7",X"C2",X"52",X"08",X"DD",X"35",X"0A",X"20",X"C8",X"DD",X"7E",X"0D", + X"FE",X"42",X"30",X"1F",X"DD",X"34",X"0D",X"FE",X"3F",X"20",X"12",X"DD",X"7E",X"0F",X"1F",X"1F", + X"1F",X"E6",X"1F",X"5F",X"16",X"83",X"0E",X"09",X"3E",X"01",X"CD",X"C2",X"02",X"DD",X"36",X"0A", + X"02",X"18",X"A2",X"DD",X"7E",X"07",X"C6",X"08",X"DD",X"77",X"07",X"CD",X"56",X"08",X"DD",X"36", + X"0C",X"00",X"DD",X"36",X"0D",X"81",X"DD",X"36",X"00",X"13",X"C9",X"DD",X"35",X"0A",X"CA",X"52", + X"08",X"C3",X"B8",X"08",X"DD",X"35",X"0F",X"CA",X"4D",X"20",X"DD",X"34",X"00",X"DD",X"7E",X"0C", + X"CB",X"27",X"28",X"3D",X"3F",X"1F",X"E6",X"80",X"DD",X"77",X"0C",X"4F",X"ED",X"5F",X"E6",X"3F", + X"5F",X"16",X"00",X"21",X"26",X"01",X"19",X"0C",X"F2",X"D2",X"1E",X"EB",X"A7",X"21",X"00",X"00", + X"ED",X"52",X"DD",X"74",X"05",X"DD",X"75",X"04",X"EE",X"3F",X"D6",X"20",X"87",X"DD",X"77",X"08", + X"3E",X"00",X"DE",X"00",X"DD",X"77",X"09",X"ED",X"5F",X"E6",X"7F",X"C6",X"20",X"DD",X"77",X"0A", + X"C9",X"06",X"01",X"DD",X"7E",X"07",X"FE",X"44",X"38",X"0C",X"06",X"03",X"FE",X"58",X"30",X"06", + X"ED",X"5F",X"E6",X"02",X"3C",X"47",X"78",X"DD",X"86",X"0C",X"DD",X"77",X"0C",X"ED",X"5F",X"E6", + X"0F",X"C6",X"24",X"DD",X"77",X"0B",X"21",X"66",X"01",X"DD",X"75",X"04",X"DD",X"74",X"05",X"DD", + X"36",X"08",X"00",X"DD",X"36",X"09",X"00",X"C9",X"CD",X"63",X"1C",X"CD",X"DB",X"20",X"DD",X"7E", + X"0C",X"CB",X"27",X"20",X"52",X"DD",X"35",X"0A",X"28",X"49",X"2A",X"D6",X"E0",X"ED",X"5B",X"D8", + X"E0",X"19",X"7A",X"ED",X"5B",X"04",X"E3",X"ED",X"52",X"22",X"D6",X"E0",X"17",X"38",X"2F",X"DD", + X"7E",X"0D",X"06",X"A0",X"D6",X"2A",X"28",X"08",X"06",X"80",X"D6",X"07",X"38",X"02",X"06",X"D0", + X"7C",X"B8",X"30",X"1F",X"2A",X"DA",X"E0",X"ED",X"5B",X"DC",X"E0",X"19",X"22",X"DA",X"E0",X"7C", + X"FE",X"38",X"38",X"0F",X"FE",X"70",X"30",X"0B",X"CD",X"EF",X"20",X"C3",X"4C",X"1D",X"7C",X"FE", + X"16",X"30",X"E1",X"DD",X"35",X"00",X"C9",X"2A",X"D8",X"E0",X"DD",X"5E",X"0B",X"16",X"00",X"A7", + X"ED",X"52",X"22",X"D8",X"E0",X"30",X"16",X"DD",X"7E",X"03",X"D6",X"30",X"FE",X"40",X"3E",X"00", + X"30",X"04",X"ED",X"5F",X"E6",X"80",X"DD",X"86",X"0C",X"3C",X"DD",X"77",X"0C",X"EB",X"2A",X"D6", + X"E0",X"ED",X"52",X"DD",X"7E",X"0C",X"07",X"38",X"02",X"19",X"19",X"ED",X"5B",X"04",X"E3",X"ED", + X"52",X"22",X"D6",X"E0",X"2A",X"DC",X"E0",X"DD",X"5E",X"0B",X"16",X"00",X"0F",X"3D",X"0F",X"30", + X"1A",X"A7",X"ED",X"52",X"38",X"AD",X"22",X"DC",X"E0",X"EB",X"2A",X"DA",X"E0",X"A7",X"ED",X"52", + X"0F",X"38",X"02",X"19",X"19",X"22",X"DA",X"E0",X"C3",X"78",X"1F",X"19",X"18",X"E8",X"00",X"00", + X"00",X"00",X"00",X"00",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-3.3k.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-3.3k.vhd new file mode 100644 index 00000000..f74f0276 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-3.3k.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpa_33k is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpa_33k is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"DD",X"34",X"00",X"DD",X"7E",X"0C",X"E6",X"7F",X"C8",X"CD",X"28",X"1F",X"DD",X"7E",X"00",X"FE", + X"25",X"CA",X"83",X"1F",X"FE",X"24",X"CA",X"AA",X"1E",X"C9",X"CD",X"63",X"1C",X"CD",X"DB",X"20", + X"22",X"D6",X"E0",X"7C",X"D6",X"08",X"FE",X"F0",X"D2",X"52",X"08",X"ED",X"5B",X"DC",X"E0",X"2A", + X"DA",X"E0",X"19",X"22",X"DA",X"E0",X"7C",X"FE",X"30",X"DA",X"52",X"08",X"7A",X"A7",X"FA",X"78", + X"1F",X"21",X"00",X"00",X"A7",X"ED",X"52",X"22",X"DC",X"E0",X"C3",X"78",X"1F",X"3A",X"03",X"E3", + X"16",X"00",X"C6",X"10",X"DD",X"96",X"03",X"30",X"03",X"ED",X"44",X"15",X"1F",X"1F",X"1F",X"E6", + X"1E",X"4F",X"06",X"00",X"21",X"24",X"2D",X"09",X"FE",X"12",X"38",X"01",X"04",X"7E",X"CB",X"7A", + X"28",X"06",X"2F",X"5F",X"78",X"2F",X"47",X"7B",X"DD",X"77",X"04",X"DD",X"70",X"05",X"23",X"5E", + X"16",X"00",X"79",X"FE",X"0A",X"30",X"01",X"14",X"DD",X"72",X"09",X"DD",X"73",X"08",X"DD",X"36", + X"00",X"29",X"2A",X"1A",X"E3",X"DD",X"75",X"0B",X"DD",X"74",X"0F",X"C9",X"CD",X"63",X"1C",X"CD", + X"FB",X"20",X"22",X"D6",X"E0",X"7C",X"2A",X"DC",X"E0",X"C3",X"F1",X"1C",X"DD",X"35",X"0A",X"C2", + X"B8",X"08",X"DD",X"36",X"0A",X"06",X"DD",X"7E",X"0D",X"FE",X"39",X"D2",X"52",X"08",X"DD",X"34", + X"0D",X"C3",X"B8",X"08",X"DD",X"35",X"0A",X"C2",X"B8",X"08",X"DD",X"7E",X"07",X"FE",X"80",X"D2", + X"52",X"08",X"06",X"80",X"DD",X"36",X"00",X"00",X"C3",X"69",X"08",X"DD",X"E5",X"E1",X"11",X"D4", + X"E0",X"01",X"0A",X"00",X"ED",X"B0",X"ED",X"5B",X"D6",X"E0",X"2A",X"D8",X"E0",X"19",X"C9",X"DD", + X"E5",X"D1",X"21",X"D4",X"E0",X"01",X"0A",X"00",X"ED",X"B0",X"C9",X"CD",X"DB",X"20",X"EB",X"DD", + X"6E",X"0B",X"DD",X"66",X"0F",X"ED",X"4B",X"1A",X"E3",X"ED",X"42",X"19",X"C9",X"21",X"51",X"E0", + X"3A",X"00",X"E3",X"3D",X"28",X"11",X"7E",X"A7",X"F0",X"21",X"11",X"E5",X"3E",X"01",X"86",X"27", + X"77",X"23",X"7E",X"CE",X"00",X"27",X"77",X"3E",X"37",X"32",X"51",X"E0",X"11",X"90",X"80",X"FD", + X"21",X"90",X"84",X"0E",X"02",X"CD",X"E7",X"03",X"3A",X"12",X"E5",X"CD",X"BD",X"03",X"3A",X"11", + X"E5",X"C3",X"AE",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"06",X"01",X"03",X"34",X"07",X"49",X"08",X"63",X"0F",X"73",X"07",X"80",X"19",X"92",X"0F", + X"A0",X"06",X"A1",X"03",X"A2",X"2A",X"E0",X"32",X"FF",X"28",X"0F",X"0F",X"3F",X"30",X"40",X"06", + X"41",X"03",X"42",X"2A",X"4C",X"0F",X"92",X"0F",X"9F",X"28",X"A5",X"07",X"B8",X"0F",X"CD",X"0F", + X"E0",X"06",X"E1",X"03",X"00",X"19",X"01",X"08",X"14",X"07",X"20",X"33",X"4F",X"0F",X"7F",X"30", + X"80",X"06",X"81",X"03",X"82",X"22",X"9C",X"1C",X"B6",X"1C",X"C0",X"2A",X"D9",X"1C",X"DF",X"20", + X"03",X"0F",X"08",X"28",X"16",X"07",X"20",X"06",X"21",X"03",X"3C",X"22",X"52",X"1C",X"60",X"32", + X"6E",X"1C",X"7F",X"20",X"A6",X"08",X"B7",X"0F",X"BF",X"30",X"C0",X"06",X"C1",X"03",X"C4",X"08", + X"D3",X"0A",X"E6",X"0E",X"F6",X"0F",X"0C",X"10",X"1C",X"0F",X"2D",X"0E",X"39",X"07",X"4A",X"0F", + X"5B",X"0F",X"60",X"06",X"61",X"03",X"6E",X"19",X"6F",X"09",X"82",X"0F",X"8F",X"09",X"A0",X"2B", + X"A2",X"0F",X"B1",X"0F",X"FF",X"28",X"00",X"06",X"01",X"03",X"02",X"22",X"14",X"1C",X"28",X"1C", + X"40",X"2A",X"54",X"1C",X"5F",X"20",X"9F",X"28",X"A0",X"06",X"A1",X"03",X"A2",X"23",X"A6",X"1C", + X"D3",X"1C",X"E9",X"0F",X"F7",X"0A",X"FF",X"20",X"07",X"10",X"17",X"0E",X"29",X"10",X"35",X"0A", + X"40",X"06",X"41",X"02",X"42",X"1A",X"60",X"03",X"6F",X"12",X"78",X"12",X"88",X"12",X"92",X"12", + X"A3",X"12",X"A4",X"12",X"B1",X"12",X"C2",X"12",X"CD",X"12",X"CE",X"12",X"D9",X"12",X"E0",X"06", + X"E1",X"03",X"EB",X"12",X"FA",X"12",X"06",X"12",X"07",X"12",X"14",X"12",X"23",X"12",X"2C",X"12", + X"37",X"12",X"42",X"12",X"56",X"12",X"57",X"12",X"65",X"12",X"6E",X"12",X"7A",X"12",X"80",X"06", + X"81",X"03",X"85",X"12",X"86",X"12",X"91",X"12",X"92",X"12",X"A3",X"12",X"A4",X"12",X"AE",X"12", + X"B8",X"12",X"B9",X"12",X"CA",X"12",X"CB",X"12",X"D7",X"12",X"E3",X"12",X"F3",X"12",X"00",X"19", + X"20",X"06",X"21",X"03",X"22",X"2C",X"60",X"33",X"9F",X"28",X"BF",X"30",X"C0",X"06",X"C1",X"03", + X"C2",X"24",X"D5",X"1C",X"EA",X"1C",X"00",X"33",X"05",X"1C",X"18",X"1C",X"31",X"1C",X"3F",X"20", + X"48",X"30",X"60",X"06",X"61",X"03",X"7B",X"24",X"87",X"1C",X"99",X"1C",X"A0",X"2B",X"AE",X"1C", + X"C5",X"1C",X"D7",X"1C",X"DF",X"20",X"E0",X"28",X"00",X"06",X"01",X"04",X"13",X"14",X"1E",X"16", + X"2D",X"16",X"2F",X"16",X"3A",X"15",X"4C",X"16",X"4E",X"16",X"58",X"16",X"66",X"16",X"68",X"16", + X"72",X"02",X"73",X"14",X"7E",X"16",X"80",X"19",X"A0",X"86",X"A1",X"03",X"A2",X"34",X"C7",X"0F", + X"EC",X"10",X"0F",X"0A",X"1F",X"30",X"2A",X"10",X"40",X"86",X"41",X"02",X"42",X"19",X"60",X"32", + X"61",X"05",X"80",X"2A",X"BF",X"30",X"C0",X"02",X"DF",X"28",X"E0",X"06",X"E1",X"03",X"E2",X"2B", + X"00",X"23",X"01",X"03",X"2A",X"1C",X"3F",X"28",X"45",X"1C",X"57",X"1C",X"6C",X"1C",X"6D",X"20", + X"80",X"06",X"81",X"02",X"A0",X"03",X"A8",X"10",X"B4",X"0A",X"C5",X"07",X"DC",X"0F",X"E3",X"09", + X"F2",X"07",X"0A",X"10",X"0D",X"09",X"1C",X"08",X"20",X"06",X"21",X"03",X"2C",X"0F",X"2F",X"0F", + X"32",X"0A",X"45",X"13",X"54",X"13",X"66",X"13",X"77",X"0A",X"8A",X"13",X"98",X"13",X"A7",X"13", + X"B4",X"13",X"C0",X"06",X"C1",X"03",X"C5",X"09",X"D4",X"0A",X"E0",X"02",X"E7",X"0A",X"F5",X"09", + X"00",X"04",X"1C",X"16",X"2A",X"15",X"2C",X"15",X"35",X"16",X"3D",X"14",X"40",X"02",X"48",X"14", + X"4A",X"14",X"60",X"86",X"61",X"02",X"62",X"19",X"80",X"03",X"81",X"2C",X"A0",X"33",X"DF",X"28", + X"FF",X"30",X"00",X"86",X"01",X"03",X"02",X"2C",X"40",X"23",X"57",X"1C",X"5F",X"28",X"6C",X"1C", + X"83",X"1C",X"9A",X"1C",X"A0",X"86",X"A1",X"03",X"A2",X"23",X"AE",X"1C",X"C5",X"1C",X"D5",X"1C", + X"E0",X"33",X"E8",X"1C",X"F5",X"0F",X"FF",X"20",X"0A",X"09",X"1C",X"0A",X"28",X"30",X"32",X"10", + X"40",X"06",X"42",X"02",X"5B",X"2B",X"60",X"03",X"80",X"33",X"9F",X"28",X"D0",X"30",X"E0",X"06", + X"E1",X"03",X"E2",X"1B",X"20",X"17",X"60",X"18",X"80",X"06",X"81",X"03",X"C6",X"13",X"D2",X"0F", + X"DD",X"0F",X"EE",X"0E",X"FC",X"0A",X"01",X"13",X"0D",X"09",X"20",X"06",X"21",X"03",X"22",X"13", + X"2B",X"13",X"39",X"13",X"49",X"13",X"4C",X"0A",X"5C",X"0F",X"6A",X"0F",X"79",X"13",X"84",X"13", + X"86",X"0A",X"95",X"0F",X"A4",X"13",X"B3",X"13",X"B5",X"09",X"C0",X"06",X"C1",X"02",X"C2",X"19", + X"E0",X"03",X"E1",X"2C",X"EA",X"07",X"F9",X"09",X"07",X"0A",X"19",X"0F",X"2A",X"0F",X"39",X"09", + X"48",X"28",X"54",X"0F",X"60",X"06",X"61",X"03",X"7B",X"23",X"84",X"1C",X"92",X"1C",X"A0",X"23", + X"A3",X"1C",X"B3",X"1C",X"C3",X"1C",X"DC",X"1C",X"EF",X"1C",X"FF",X"20",X"00",X"06",X"01",X"03", + X"07",X"10",X"0A",X"0A",X"1A",X"0F",X"2C",X"09",X"32",X"0F",X"41",X"07",X"4F",X"08",X"5C",X"0F", + X"63",X"09",X"70",X"07",X"7D",X"0E",X"80",X"19",X"A0",X"06",X"A1",X"03",X"A2",X"24",X"AF",X"1C", + X"BC",X"1C",X"C0",X"2C",X"CA",X"1C",X"D9",X"1C",X"E8",X"1C",X"F6",X"1C",X"FF",X"28",X"05",X"0A", + X"10",X"1C",X"11",X"20",X"25",X"0C",X"32",X"0F",X"35",X"0C",X"40",X"06",X"41",X"03",X"42",X"19", + X"60",X"33",X"80",X"2B",X"83",X"0A",X"92",X"07",X"BF",X"30",X"C6",X"0F",X"C9",X"0A",X"D9",X"09", + X"DF",X"28",X"E0",X"06",X"E1",X"03",X"E2",X"24",X"EA",X"1C",X"04",X"0A",X"14",X"0F",X"1C",X"1C", + X"24",X"20",X"34",X"09",X"45",X"0F",X"49",X"0F",X"4B",X"0C",X"58",X"0C",X"67",X"0C",X"75",X"0C", + X"7A",X"0F",X"80",X"06",X"81",X"02",X"90",X"04",X"AD",X"16",X"B7",X"15",X"BE",X"14",X"C5",X"16", + X"C7",X"16",X"D4",X"14",X"DB",X"15",X"E6",X"14",X"E8",X"14",X"E9",X"16",X"F0",X"14",X"F1",X"16", + X"F2",X"14",X"02",X"15",X"04",X"15",X"0E",X"16",X"0F",X"02",X"10",X"14",X"13",X"16",X"17",X"14", + X"19",X"14",X"20",X"86",X"21",X"03",X"22",X"19",X"40",X"2C",X"41",X"33",X"42",X"03",X"BE",X"28", + X"BF",X"30",X"C0",X"86",X"C1",X"03",X"C2",X"1A",X"E8",X"12",X"F2",X"12",X"F4",X"12",X"FD",X"12", + X"08",X"12",X"13",X"12",X"22",X"12",X"23",X"12",X"2E",X"12",X"36",X"12",X"42",X"12",X"4E",X"12", + X"57",X"12",X"60",X"86",X"61",X"03",X"65",X"12",X"67",X"12",X"72",X"12",X"7A",X"12",X"83",X"12", + X"8F",X"12",X"97",X"12",X"A2",X"12",X"AB",X"12",X"B7",X"12",X"C2",X"12",X"D0",X"12",X"D8",X"12", + X"E4",X"12",X"00",X"86",X"01",X"03",X"20",X"25",X"25",X"09",X"33",X"1C",X"40",X"2C",X"48",X"10", + X"54",X"1C",X"65",X"0F",X"6F",X"1C",X"7F",X"20",X"80",X"02",X"88",X"28",X"A0",X"86",X"A1",X"05", + X"BB",X"35",X"C0",X"2C",X"DF",X"02",X"FF",X"30",X"0A",X"10",X"19",X"0A",X"1F",X"28",X"20",X"03", + X"29",X"0F",X"2C",X"0A",X"32",X"0F",X"3A",X"0F",X"40",X"06",X"41",X"02",X"47",X"0F",X"4A",X"0A", + X"50",X"0F",X"60",X"03",X"65",X"07",X"79",X"08",X"80",X"17",X"8A",X"0A",X"A0",X"18",X"C8",X"09", + X"E0",X"06",X"E1",X"03",X"EF",X"10",X"F4",X"0F",X"F7",X"0A",X"06",X"0F",X"11",X"10",X"14",X"09", + X"1A",X"1A",X"3A",X"12",X"42",X"12",X"44",X"12",X"4E",X"12",X"57",X"12",X"59",X"12",X"63",X"12", + X"6B",X"12",X"80",X"06",X"81",X"02",X"8F",X"13",X"92",X"0A",X"A0",X"03",X"A5",X"10",X"A8",X"07", + X"B2",X"0F",X"B5",X"0F",X"C5",X"13",X"D4",X"09",X"E4",X"0F",X"E6",X"0C",X"F4",X"0C",X"04",X"10", + X"06",X"0C",X"13",X"0C",X"20",X"06",X"21",X"03",X"22",X"10",X"23",X"19",X"28",X"10",X"2A",X"0A", + X"3B",X"10",X"40",X"25",X"41",X"33",X"4A",X"1C",X"55",X"1C",X"65",X"1C",X"74",X"1C",X"82",X"0F", + X"88",X"1C",X"95",X"0F",X"A5",X"1C",X"A8",X"30",X"B1",X"1C",X"B2",X"20",X"BE",X"0F",X"C0",X"06", + X"C1",X"02",X"C2",X"1B",X"CA",X"10",X"E0",X"03",X"E6",X"0A",X"F0",X"17",X"03",X"08",X"12",X"18", + X"13",X"09",X"40",X"1A",X"4A",X"0A",X"60",X"06",X"61",X"03",X"74",X"12",X"85",X"12",X"87",X"12", + X"92",X"12",X"94",X"12",X"A9",X"12",X"AA",X"12",X"B4",X"10",X"BD",X"12",X"C3",X"12",X"CC",X"0F", + X"D5",X"12",X"D7",X"12",X"E5",X"12",X"E7",X"12",X"F4",X"12",X"00",X"06",X"01",X"02",X"02",X"25", + X"03",X"2C",X"0A",X"1C",X"17",X"1C",X"20",X"03",X"27",X"10",X"37",X"1C",X"48",X"1C",X"59",X"1C", + X"6A",X"0A",X"79",X"1C",X"80",X"28",X"8D",X"0F",X"90",X"1C",X"91",X"20",X"A0",X"06",X"A1",X"03", + X"AD",X"0C",X"B2",X"0F",X"BB",X"0C",X"CB",X"0C",X"D8",X"0F",X"E5",X"0F",X"E7",X"10",X"F1",X"0F", + X"F9",X"0F",X"08",X"0C",X"0D",X"0F",X"16",X"0C",X"20",X"19",X"25",X"0F",X"28",X"09",X"36",X"10", + X"40",X"06",X"41",X"02",X"42",X"25",X"4A",X"1C",X"5A",X"0F",X"60",X"03",X"61",X"2C",X"65",X"10", + X"79",X"1C",X"88",X"1C",X"94",X"1C",X"A2",X"1C",X"AE",X"1C",X"BB",X"1C",X"BF",X"20",X"CA",X"0F", + X"D0",X"28",X"DC",X"10",X"E0",X"06",X"E1",X"03",X"E8",X"0F",X"EA",X"10",X"EC",X"0A",X"F9",X"0F", + X"08",X"13",X"0A",X"07",X"17",X"0F",X"1A",X"0A",X"2A",X"0C",X"37",X"10",X"3C",X"0C",X"43",X"02", + X"80",X"06",X"00",X"06",X"20",X"03",X"28",X"10",X"34",X"0A",X"47",X"0C",X"55",X"0C",X"5A",X"0F", + X"63",X"09",X"72",X"07",X"85",X"13",X"94",X"13",X"A0",X"06",X"A1",X"04",X"B3",X"14",X"BF",X"16", + X"CD",X"16",X"DA",X"15",X"EC",X"16",X"EE",X"16",X"F8",X"16",X"F9",X"03",X"00",X"2B",X"20",X"23", + X"40",X"86",X"4A",X"1C",X"50",X"28",X"65",X"1C",X"77",X"1C",X"7E",X"05",X"7F",X"20",X"80",X"33", + X"C8",X"03",X"CF",X"30",X"E0",X"06",X"00",X"17",X"20",X"18",X"6A",X"0A",X"73",X"07",X"01",X"02", + X"20",X"01",X"34",X"C0",X"3A",X"C2",X"48",X"20",X"54",X"C2",X"59",X"20",X"64",X"C2",X"69",X"E2", + X"6D",X"C2",X"76",X"22",X"82",X"20",X"90",X"C0",X"96",X"C0",X"9C",X"C0",X"A2",X"C0",X"BE",X"C1", + X"CB",X"C0",X"D8",X"20",X"E6",X"C2",X"F4",X"22",X"00",X"C2",X"05",X"FF",X"4D",X"00",X"4E",X"02", + X"5E",X"22",X"77",X"22",X"8A",X"22",X"8B",X"FF",X"D8",X"00",X"E0",X"02",X"45",X"22",X"55",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"46",X"E0",X"35",X"FB",X"78",X"32",X"13",X"E5",X"FE",X"05",X"CA",X"D2",X"27",X"A7",X"C2", + X"5E",X"28",X"CD",X"FA",X"29",X"3E",X"1E",X"CD",X"75",X"0D",X"21",X"0F",X"E5",X"36",X"00",X"23", + X"34",X"CD",X"48",X"29",X"CD",X"E8",X"05",X"21",X"24",X"2C",X"CD",X"00",X"03",X"CD",X"BA",X"28", + X"21",X"0C",X"2C",X"CD",X"00",X"03",X"3A",X"13",X"E5",X"17",X"17",X"17",X"17",X"26",X"00",X"E6", + X"F0",X"6F",X"20",X"01",X"24",X"22",X"98",X"E0",X"CD",X"71",X"29",X"2A",X"96",X"E0",X"56",X"2B", + X"5E",X"2A",X"11",X"E5",X"A7",X"ED",X"52",X"30",X"0E",X"19",X"EB",X"2A",X"96",X"E0",X"72",X"2B", + X"73",X"21",X"39",X"2C",X"CD",X"4E",X"03",X"2A",X"94",X"E0",X"ED",X"5B",X"11",X"E5",X"7D",X"D6", + X"01",X"27",X"6F",X"30",X"01",X"25",X"22",X"94",X"E0",X"A7",X"ED",X"52",X"38",X"50",X"CD",X"68", + X"29",X"2A",X"98",X"E0",X"7D",X"C6",X"01",X"27",X"6F",X"30",X"01",X"24",X"22",X"98",X"E0",X"CD", + X"71",X"29",X"3E",X"10",X"CD",X"75",X"0D",X"3E",X"0C",X"CD",X"EA",X"05",X"18",X"C9",X"3E",X"1D", + X"CD",X"75",X"0D",X"CD",X"D6",X"29",X"CD",X"12",X"0D",X"CD",X"48",X"29",X"3E",X"30",X"CD",X"EA", + X"05",X"CD",X"BA",X"28",X"38",X"0D",X"21",X"E4",X"2B",X"CD",X"4E",X"03",X"3A",X"F9",X"E0",X"3C", + X"C3",X"F9",X"27",X"21",X"F9",X"2B",X"CD",X"4E",X"03",X"CD",X"E8",X"05",X"18",X"0E",X"CD",X"E8", + X"05",X"11",X"01",X"E5",X"21",X"98",X"E0",X"06",X"02",X"CD",X"36",X"06",X"21",X"00",X"00",X"22", + X"11",X"E5",X"21",X"13",X"E5",X"7E",X"A7",X"C2",X"B7",X"0B",X"36",X"05",X"21",X"A2",X"23",X"22", + X"16",X"E5",X"3E",X"1A",X"32",X"0E",X"E5",X"C3",X"B7",X"0B",X"CD",X"E8",X"05",X"CD",X"5A",X"29", + X"3A",X"10",X"E5",X"D6",X"02",X"28",X"07",X"3E",X"0A",X"FA",X"CE",X"28",X"3E",X"05",X"5F",X"3A", + X"13",X"E5",X"01",X"80",X"00",X"FE",X"08",X"30",X"09",X"01",X"00",X"01",X"FE",X"03",X"30",X"02", + X"0E",X"20",X"ED",X"43",X"94",X"E0",X"83",X"87",X"5F",X"FE",X"0A",X"20",X"09",X"3A",X"10",X"E5", + X"FE",X"03",X"28",X"02",X"1E",X"14",X"16",X"00",X"21",X"0C",X"E0",X"19",X"7E",X"23",X"22",X"96", + X"E0",X"B6",X"20",X"03",X"70",X"2B",X"71",X"21",X"79",X"2B",X"CD",X"4E",X"03",X"CD",X"81",X"29", + X"A7",X"20",X"02",X"3E",X"1A",X"C6",X"40",X"1B",X"1B",X"12",X"21",X"94",X"2B",X"CD",X"4E",X"03", + X"21",X"12",X"E5",X"13",X"CD",X"9A",X"03",X"21",X"B0",X"2B",X"CD",X"4E",X"03",X"CD",X"68",X"29", + X"21",X"CC",X"2B",X"CD",X"4E",X"03",X"2A",X"96",X"E0",X"13",X"CD",X"9A",X"03",X"2A",X"94",X"E0", + X"ED",X"5B",X"11",X"E5",X"A7",X"ED",X"52",X"C9",X"21",X"00",X"E1",X"01",X"A4",X"00",X"CD",X"FA", + X"05",X"01",X"20",X"02",X"21",X"E0",X"80",X"C3",X"FA",X"05",X"21",X"00",X"E1",X"01",X"C6",X"00", + X"CD",X"FA",X"05",X"01",X"20",X"03",X"18",X"EC",X"11",X"D9",X"81",X"21",X"95",X"E0",X"C3",X"9A", + X"03",X"21",X"99",X"E0",X"11",X"97",X"82",X"CD",X"93",X"03",X"EB",X"36",X"30",X"23",X"36",X"30", + X"C9",X"3A",X"0E",X"E5",X"FE",X"1A",X"D8",X"D6",X"1A",X"C9",X"21",X"CC",X"80",X"11",X"CC",X"84", + X"01",X"02",X"10",X"CD",X"E7",X"03",X"79",X"36",X"21",X"12",X"23",X"13",X"10",X"F9",X"21",X"CC", + X"80",X"06",X"05",X"34",X"23",X"23",X"23",X"10",X"FA",X"36",X"1B",X"CD",X"81",X"29",X"21",X"CC", + X"80",X"06",X"05",X"FE",X"05",X"38",X"0C",X"16",X"03",X"36",X"29",X"23",X"15",X"20",X"FA",X"D6", + X"05",X"10",X"F0",X"57",X"87",X"87",X"82",X"5F",X"FE",X"08",X"38",X"10",X"28",X"01",X"3D",X"36", + X"29",X"23",X"D6",X"08",X"18",X"F2",X"2A",X"F4",X"E0",X"3A",X"F6",X"E0",X"3C",X"57",X"C6",X"21", + X"CB",X"66",X"28",X"07",X"D6",X"06",X"FE",X"20",X"20",X"01",X"3D",X"77",X"7A",X"FE",X"08",X"38", + X"02",X"AF",X"2C",X"32",X"F6",X"E0",X"22",X"F4",X"E0",X"C9",X"21",X"CC",X"80",X"06",X"0F",X"36", + X"29",X"23",X"10",X"FB",X"36",X"1F",X"3E",X"5A",X"32",X"52",X"80",X"C9",X"00",X"00",X"00",X"20", + X"00",X"00",X"50",X"00",X"00",X"80",X"00",X"00",X"00",X"01",X"00",X"00",X"02",X"00",X"00",X"03", + X"00",X"00",X"05",X"00",X"00",X"08",X"00",X"00",X"10",X"00",X"08",X"81",X"08",X"54",X"4F",X"20", + X"43",X"4F",X"55",X"4E",X"54",X"49",X"4E",X"55",X"45",X"20",X"47",X"41",X"4D",X"45",X"22",X"2D", + X"82",X"08",X"54",X"49",X"4D",X"45",X"21",X"46",X"81",X"08",X"42",X"45",X"47",X"49",X"4E",X"4E", + X"45",X"52",X"20",X"43",X"4F",X"55",X"52",X"53",X"45",X"20",X"47",X"4F",X"20",X"5B",X"21",X"46", + X"81",X"00",X"43",X"48",X"41",X"4D",X"50",X"49",X"4F",X"4E",X"20",X"43",X"4F",X"55",X"52",X"53", + X"45",X"20",X"31",X"20",X"47",X"4F",X"20",X"5B",X"21",X"4C",X"82",X"00",X"46",X"52",X"45",X"45", + X"20",X"50",X"4C",X"41",X"59",X"21",X"EA",X"81",X"00",X"4F",X"4E",X"4C",X"59",X"20",X"31",X"20", + X"50",X"4C",X"41",X"59",X"45",X"52",X"21",X"EA",X"81",X"00",X"31",X"20",X"4F",X"52",X"20",X"32", + X"20",X"50",X"4C",X"41",X"59",X"45",X"52",X"53",X"21",X"06",X"82",X"00",X"50",X"49",X"43",X"54", + X"55",X"52",X"45",X"20",X"4E",X"55",X"4D",X"42",X"45",X"52",X"20",X"53",X"45",X"54",X"22",X"4A", + X"82",X"00",X"4E",X"45",X"58",X"54",X"20",X"31",X"50",X"20",X"42",X"55",X"54",X"54",X"4F",X"4E", + X"21",X"6A",X"81",X"00",X"20",X"50",X"55",X"53",X"48",X"20",X"42",X"55",X"54",X"54",X"4F",X"4E", + X"20",X"21",X"D4",X"83",X"00",X"43",X"52",X"45",X"44",X"49",X"54",X"20",X"21",X"88",X"81",X"00", + X"47",X"41",X"4D",X"45",X"20",X"4F",X"56",X"45",X"52",X"20",X"50",X"4C",X"41",X"59",X"45",X"52", + X"20",X"21",X"0C",X"82",X"00",X"47",X"41",X"4D",X"45",X"20",X"4F",X"56",X"45",X"52",X"21",X"2B", + X"80",X"02",X"04",X"25",X"0F",X"14",X"05",X"22",X"41",X"80",X"01",X"0C",X"0D",X"25",X"06",X"00", + X"22",X"49",X"80",X"09",X"3F",X"22",X"4B",X"80",X"02",X"06",X"50",X"4F",X"49",X"4E",X"54",X"25", + X"04",X"00",X"12",X"25",X"05",X"00",X"07",X"22",X"6B",X"80",X"02",X"06",X"25",X"09",X"00",X"12", + X"25",X"05",X"00",X"07",X"22",X"8B",X"80",X"02",X"06",X"0E",X"0F",X"10",X"11",X"25",X"05",X"00", + X"12",X"25",X"05",X"00",X"07",X"22",X"AB",X"80",X"02",X"08",X"16",X"15",X"15",X"17",X"15",X"15", + X"18",X"15",X"15",X"19",X"15",X"15",X"1A",X"15",X"15",X"09",X"22",X"81",X"80",X"01",X"31",X"50", + X"3F",X"21",X"A1",X"80",X"01",X"32",X"50",X"3F",X"21",X"25",X"81",X"01",X"54",X"49",X"4D",X"45", + X"20",X"54",X"4F",X"20",X"52",X"45",X"41",X"43",X"48",X"20",X"50",X"4F",X"49",X"4E",X"54",X"20", + X"5E",X"00",X"5E",X"21",X"84",X"81",X"00",X"59",X"4F",X"55",X"52",X"20",X"54",X"49",X"4D",X"45", + X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"22",X"97",X"81",X"01",X"5D",X"21", + X"C4",X"81",X"00",X"54",X"48",X"45",X"20",X"41",X"56",X"45",X"52",X"41",X"47",X"45",X"20",X"54", + X"49",X"4D",X"45",X"20",X"20",X"20",X"22",X"D7",X"81",X"01",X"5D",X"21",X"04",X"82",X"01",X"54", + X"4F",X"50",X"20",X"52",X"45",X"43",X"4F",X"52",X"44",X"20",X"20",X"20",X"20",X"20",X"20",X"20", + X"20",X"20",X"5D",X"21",X"85",X"82",X"00",X"47",X"4F",X"4F",X"44",X"20",X"42",X"4F",X"4E",X"55", + X"53",X"20",X"50",X"4F",X"49",X"4E",X"54",X"53",X"21",X"67",X"82",X"00",X"53",X"4F",X"52",X"52", + X"59",X"20",X"4E",X"4F",X"20",X"42",X"4F",X"4E",X"55",X"53",X"5B",X"21",X"65",X"82",X"01",X"53", + X"50",X"45",X"43",X"49",X"41",X"4C",X"20",X"42",X"4F",X"4E",X"55",X"53",X"20",X"50",X"4F",X"49", + X"4E",X"54",X"53",X"21",X"25",X"81",X"00",X"43",X"4F",X"4E",X"47",X"52",X"41",X"54",X"55",X"4C", + X"41",X"54",X"49",X"4F",X"4E",X"53",X"20",X"5B",X"21",X"E5",X"82",X"01",X"59",X"4F",X"55",X"20", + X"48",X"41",X"56",X"45",X"20",X"42",X"52",X"4F",X"4B",X"45",X"4E",X"20",X"41",X"20",X"52",X"45", + X"43",X"4F",X"52",X"44",X"20",X"5B",X"21",X"6A",X"81",X"00",X"49",X"4E",X"53",X"45",X"52",X"54", + X"20",X"43",X"4F",X"49",X"4E",X"20",X"21",X"C7",X"81",X"00",X"31",X"20",X"50",X"4C",X"41",X"59", + X"45",X"52",X"20",X"20",X"20",X"31",X"20",X"43",X"4F",X"49",X"4E",X"20",X"21",X"C5",X"81",X"00", + X"41",X"20",X"5F",X"20",X"31",X"20",X"50",X"4C",X"41",X"59",X"45",X"52",X"20",X"20",X"20",X"31", + X"20",X"43",X"4F",X"49",X"4E",X"20",X"21",X"C8",X"82",X"00",X"5C",X"31",X"39",X"38",X"32",X"20", + X"49",X"52",X"45",X"4D",X"20",X"43",X"4F",X"52",X"50",X"2F",X"21",X"76",X"80",X"02",X"3A",X"3B", + X"3C",X"3D",X"3E",X"21",X"F0",X"F0",X"ED",X"F0",X"F0",X"FB",X"FB",X"FB",X"F0",X"E8",X"F0",X"F0", + X"F0",X"EE",X"F0",X"F0",X"F0",X"F0",X"E0",X"F0",X"F0",X"FB",X"FB",X"FB",X"F0",X"F0",X"F0",X"F2", + X"F2",X"F0",X"F0",X"F0",X"E9",X"F2",X"EF",X"E3",X"D2",X"FC",X"FD",X"FE",X"E0",X"D4",X"D3",X"EB", + X"FF",X"D5",X"F1",X"E5",X"E2",X"D0",X"D6",X"E6",X"D7",X"F0",X"E1",X"D8",X"F9",X"FB",X"F0",X"F2", + X"D9",X"EC",X"FC",X"D1",X"34",X"32",X"32",X"43",X"34",X"23",X"32",X"11",X"23",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"12",X"12",X"12",X"24",X"77",X"21",X"10",X"56",X"21",X"10",X"34",X"21", + X"23",X"23",X"21",X"31",X"22",X"21",X"11",X"00",X"77",X"77",X"66",X"65",X"55",X"44",X"43",X"33", + X"43",X"33",X"21",X"31",X"00",X"9A",X"51",X"98",X"8D",X"5F",X"B6",X"30",X"D2",X"06",X"E3",X"E3", + X"EF",X"C7",X"F7",X"B0",X"FC",X"9E",X"00",X"8E",X"03",X"82",X"06",X"77",X"07",X"6E",X"08",X"66", + X"09",X"5F",X"0A",X"59",X"03",X"48",X"81",X"B0",X"B1",X"B2",X"B3",X"B4",X"02",X"B5",X"B6",X"B7", + X"B8",X"02",X"B9",X"BA",X"BB",X"BC",X"BD",X"02",X"BE",X"BF",X"C0",X"C1",X"C2",X"02",X"C3",X"C4", + X"C5",X"C6",X"BD",X"02",X"03",X"6D",X"81",X"C7",X"C8",X"C9",X"CA",X"02",X"CB",X"BF",X"CC",X"02", + X"CD",X"BC",X"CE",X"CF",X"02",X"D0",X"D1",X"D2",X"CA",X"02",X"D3",X"D4",X"D5",X"C2",X"02",X"D6", + X"D7",X"BC",X"BD",X"02",X"D8",X"C0",X"C1",X"C2",X"02",X"D9",X"BC",X"C5",X"DA",X"02",X"DB",X"C1", + X"DC",X"02",X"03",X"06",X"82",X"B0",X"B1",X"B2",X"B3",X"B4",X"02",X"DD",X"DE",X"DF",X"B8",X"02", + X"E0",X"E1",X"E2",X"02",X"E3",X"E4",X"E5",X"02",X"00",X"E6",X"B2",X"E7",X"E8",X"02",X"00",X"E9", + X"EA",X"EB",X"EC",X"02",X"00",X"ED",X"EE",X"EF",X"B4",X"02",X"00",X"F0",X"F1",X"F2",X"02",X"F3", + X"F4",X"F5",X"BF",X"02",X"F7",X"F8",X"F9",X"B0",X"FA",X"02",X"00",X"B2",X"B3",X"FB",X"FC",X"02", + X"00",X"FD",X"B8",X"02",X"00",X"FE",X"BC",X"CE",X"CF",X"02",X"00",X"D0",X"D1",X"D2",X"CA",X"02", + X"00",X"D3",X"D4",X"D5",X"C2",X"02",X"00",X"D6",X"D7",X"BC",X"BD",X"02",X"C5",X"BF",X"C0",X"FF", + X"EC",X"02",X"C3",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"19",X"2F",X"08",X"02",X"18",X"2F",X"08",X"02",X"15",X"38",X"0D",X"04",X"15",X"38",X"0D",X"04", + X"15",X"42",X"10",X"04",X"15",X"33",X"10",X"00",X"01",X"00",X"0E",X"04",X"09",X"00",X"24",X"04", + X"0D",X"00",X"24",X"04",X"11",X"01",X"08",X"06",X"17",X"01",X"08",X"06",X"1D",X"01",X"08",X"06", + X"23",X"01",X"0A",X"02",X"25",X"01",X"0A",X"02",X"27",X"01",X"0C",X"01",X"28",X"01",X"1C",X"01", + X"29",X"01",X"1C",X"01",X"2A",X"01",X"1C",X"01",X"2B",X"01",X"1C",X"01",X"2C",X"01",X"1C",X"01", + X"2D",X"04",X"00",X"01",X"2E",X"04",X"00",X"01",X"2F",X"04",X"00",X"01",X"30",X"04",X"00",X"01", + X"31",X"04",X"00",X"01",X"31",X"84",X"00",X"01",X"31",X"C4",X"00",X"01",X"31",X"44",X"00",X"01", + X"32",X"04",X"00",X"01",X"33",X"04",X"00",X"01",X"34",X"04",X"00",X"01",X"33",X"C4",X"00",X"01", + X"34",X"C4",X"00",X"01",X"36",X"04",X"00",X"01",X"36",X"84",X"00",X"01",X"37",X"04",X"00",X"01", + X"36",X"C4",X"00",X"01",X"36",X"44",X"00",X"01",X"37",X"C4",X"00",X"01",X"38",X"09",X"00",X"01", + X"39",X"00",X"00",X"01",X"3A",X"09",X"02",X"02",X"05",X"00",X"2C",X"01",X"3D",X"0A",X"28",X"01", + X"3E",X"01",X"00",X"01",X"3F",X"01",X"00",X"01",X"40",X"01",X"00",X"01",X"41",X"01",X"00",X"01", + X"42",X"07",X"1A",X"80",X"45",X"07",X"1A",X"80",X"46",X"07",X"1A",X"80",X"47",X"07",X"1A",X"80", + X"47",X"47",X"1A",X"80",X"46",X"47",X"1A",X"80",X"45",X"47",X"1A",X"80",X"43",X"07",X"1A",X"01", + X"44",X"07",X"1A",X"01",X"43",X"87",X"1A",X"01",X"44",X"47",X"1A",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"48",X"01",X"1A",X"80",X"49",X"01",X"1A",X"80",X"4A",X"01",X"1A",X"80", + X"35",X"0A",X"2A",X"80",X"4B",X"01",X"1A",X"80",X"4C",X"01",X"1A",X"80",X"4D",X"01",X"1A",X"80", + X"4E",X"01",X"00",X"C0",X"4F",X"01",X"10",X"C0",X"53",X"01",X"10",X"C0",X"57",X"01",X"10",X"C0", + X"5B",X"01",X"12",X"C0",X"61",X"03",X"1E",X"C0",X"62",X"03",X"1E",X"C0",X"63",X"03",X"1E",X"C0", + X"64",X"03",X"14",X"C0",X"68",X"03",X"14",X"C0",X"6C",X"03",X"16",X"C0",X"6E",X"03",X"16",X"C0", + X"78",X"08",X"22",X"02",X"70",X"02",X"04",X"04",X"73",X"02",X"06",X"04",X"74",X"02",X"18",X"04", + X"75",X"02",X"20",X"04",X"7A",X"01",X"1A",X"80",X"4B",X"41",X"1A",X"80",X"4C",X"41",X"1A",X"80", + X"7B",X"09",X"26",X"02",X"07",X"00",X"2C",X"01",X"7D",X"0E",X"2E",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"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A3"); +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/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-4.3j.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-4.3j.vhd new file mode 100644 index 00000000..f90954d8 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpa-4.3j.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpa_43j is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpa_43j is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"01",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"60",X"01",X"58",X"01",X"50",X"01",X"48",X"01", + X"40",X"01",X"38",X"01",X"39",X"10",X"39",X"20",X"39",X"30",X"39",X"48",X"39",X"60",X"39",X"70", + X"39",X"80",X"39",X"98",X"39",X"B0",X"39",X"D0",X"B4",X"38",X"FF",X"58",X"8E",X"28",X"B4",X"38", + X"00",X"19",X"24",X"2C",X"33",X"39",X"3E",X"43",X"48",X"4C",X"50",X"54",X"58",X"5B",X"5F",X"62", + X"65",X"68",X"6B",X"6E",X"71",X"74",X"77",X"79",X"7C",X"7E",X"50",X"5E",X"6B",X"87",X"87",X"A2", + X"A2",X"A3",X"02",X"00",X"A4",X"A5",X"02",X"00",X"A6",X"A7",X"02",X"A8",X"A9",X"01",X"AA",X"02", + X"AB",X"AC",X"AD",X"02",X"00",X"AE",X"AF",X"02",X"B0",X"B1",X"01",X"B2",X"B3",X"B4",X"02",X"00", + X"B5",X"B6",X"B7",X"02",X"00",X"00",X"00",X"B8",X"B9",X"02",X"00",X"00",X"00",X"BA",X"02",X"00", + X"BB",X"BC",X"BD",X"02",X"BE",X"BF",X"01",X"C0",X"C1",X"02",X"00",X"C2",X"C3",X"C4",X"02",X"00", + X"00",X"00",X"C5",X"C6",X"02",X"00",X"00",X"00",X"C7",X"C8",X"02",X"00",X"C9",X"CA",X"CB",X"02", + X"CC",X"01",X"DA",X"DB",X"DC",X"02",X"00",X"00",X"F0",X"03",X"00",X"00",X"F0",X"02",X"00",X"00", + X"F0",X"02",X"DD",X"DE",X"DF",X"01",X"0F",X"04",X"05",X"0F",X"24",X"27",X"0F",X"43",X"48",X"11", + X"48",X"4E",X"12",X"4E",X"53",X"10",X"63",X"68",X"13",X"68",X"6C",X"0F",X"6C",X"6D",X"14",X"6D", + X"6E",X"12",X"6E",X"74",X"10",X"89",X"8E",X"FF",X"0C",X"03",X"03",X"03",X"02",X"01",X"FF",X"3B", + X"FF",X"70",X"FC",X"24",X"B9",X"FF",X"10",X"FC",X"24",X"3B",X"01",X"A0",X"FC",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"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"0A",X"0D",X"0F",X"11",X"13",X"15",X"16",X"18",X"19",X"1A",X"1B",X"1D",X"1E",X"1F",X"20", + X"21",X"22",X"23",X"24",X"25",X"26",X"27",X"28",X"28",X"28",X"28",X"28",X"FF",X"1F",X"01",X"1C", + X"04",X"0C",X"00",X"24",X"02",X"1D",X"05",X"20",X"08",X"0C",X"04",X"34",X"05",X"21",X"06",X"07", + X"07",X"0C",X"0C",X"14",X"05",X"1E",X"08",X"1E",X"0F",X"0C",X"12",X"34",X"02",X"1B",X"03",X"1A", + X"06",X"10",X"21",X"42",X"02",X"1D",X"04",X"1D",X"08",X"0F",X"27",X"42",X"05",X"20",X"06",X"20", + X"0B",X"0C",X"2F",X"42",X"09",X"16",X"02",X"22",X"06",X"1C",X"3A",X"4E",X"0E",X"19",X"03",X"26", + X"07",X"1C",X"40",X"4E",X"12",X"1D",X"05",X"2A",X"0A",X"1C",X"47",X"4E",X"05",X"20",X"05",X"26", + X"08",X"0C",X"51",X"45",X"05",X"19",X"05",X"1F",X"11",X"0C",X"58",X"7F",X"08",X"1E",X"04",X"1E", + X"09",X"0C",X"69",X"00",X"00",X"1B",X"16",X"1C",X"17",X"1A",X"72",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"04",X"03",X"01",X"01",X"03",X"04",X"06",X"07",X"08",X"07",X"05",X"02",X"04",X"06",X"08", + X"09",X"0B",X"01",X"03",X"04",X"06",X"07",X"09",X"0A",X"0C",X"0D",X"0C",X"0A",X"08",X"07",X"05", + X"03",X"01",X"02",X"04",X"05",X"04",X"02",X"01",X"03",X"05",X"06",X"08",X"07",X"05",X"03",X"02", + X"04",X"06",X"08",X"0A",X"0B",X"0D",X"0B",X"09",X"07",X"05",X"01",X"02",X"03",X"02",X"02",X"01", + X"04",X"06",X"07",X"08",X"06",X"04",X"01",X"02",X"04",X"06",X"08",X"0A",X"0C",X"0B",X"0A",X"05", + X"02",X"03",X"07",X"09",X"0A",X"0C",X"0B",X"09",X"03",X"03",X"07",X"09",X"09",X"0B",X"0A",X"0A", + X"0A",X"09",X"08",X"08",X"07",X"06",X"06",X"04",X"04",X"02",X"04",X"05",X"07",X"08",X"07",X"05", + X"03",X"00",X"02",X"02",X"02",X"02",X"02",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"02",X"02", + X"02",X"02",X"02",X"F8",X"F8",X"F8",X"F8",X"F8",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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3E",X"FF",X"D3",X"C0",X"32",X"C5",X"E1",X"21",X"00",X"E1",X"36",X"00",X"54",X"5D",X"13",X"01", + X"CF",X"00",X"ED",X"B0",X"3E",X"01",X"57",X"01",X"00",X"08",X"21",X"00",X"E0",X"7A",X"77",X"5E", + X"BB",X"C2",X"BB",X"34",X"23",X"0B",X"79",X"B0",X"20",X"F3",X"7A",X"07",X"30",X"E8",X"16",X"55", + X"7A",X"01",X"00",X"08",X"21",X"00",X"E0",X"77",X"23",X"3C",X"5F",X"0B",X"79",X"B0",X"28",X"09", + X"7B",X"FE",X"AB",X"20",X"F2",X"3E",X"55",X"18",X"EE",X"7A",X"01",X"00",X"08",X"21",X"00",X"E0", + X"BE",X"20",X"19",X"23",X"3C",X"5F",X"0B",X"79",X"B0",X"28",X"09",X"7B",X"FE",X"AB",X"20",X"F0", + X"3E",X"55",X"18",X"EC",X"14",X"7A",X"FE",X"AB",X"20",X"C6",X"18",X"09",X"5E",X"57",X"AF",X"C3", + X"BB",X"34",X"7A",X"18",X"DE",X"31",X"00",X"E8",X"3E",X"01",X"57",X"01",X"00",X"08",X"21",X"00", + X"80",X"7A",X"77",X"5E",X"BB",X"28",X"08",X"CD",X"3B",X"35",X"CB",X"4F",X"CA",X"F5",X"33",X"23", + X"0B",X"79",X"B0",X"20",X"EC",X"7A",X"07",X"30",X"E1",X"16",X"55",X"7A",X"01",X"00",X"08",X"21", + X"00",X"80",X"77",X"23",X"3C",X"5F",X"0B",X"79",X"B0",X"28",X"09",X"7B",X"FE",X"AB",X"20",X"F2", + X"3E",X"55",X"18",X"EE",X"7A",X"01",X"00",X"08",X"21",X"00",X"80",X"BE",X"20",X"19",X"23",X"3C", + X"5F",X"0B",X"79",X"B0",X"28",X"09",X"7B",X"FE",X"AB",X"20",X"F0",X"3E",X"55",X"18",X"EC",X"14", + X"7A",X"FE",X"AB",X"20",X"C6",X"18",X"0D",X"5E",X"57",X"CD",X"37",X"35",X"CB",X"4F",X"CA",X"F5", + X"33",X"7A",X"18",X"DA",X"DD",X"21",X"EB",X"33",X"C3",X"B1",X"35",X"21",X"66",X"3A",X"DD",X"21", + X"F5",X"33",X"C3",X"65",X"34",X"21",X"00",X"E1",X"36",X"00",X"54",X"5D",X"13",X"01",X"CF",X"00", + X"ED",X"B0",X"21",X"00",X"00",X"AF",X"32",X"00",X"E7",X"06",X"00",X"0E",X"10",X"AF",X"AE",X"23", + X"10",X"FC",X"0D",X"20",X"F9",X"E5",X"CD",X"35",X"34",X"E1",X"3A",X"00",X"E7",X"3C",X"FE",X"04", + X"20",X"E4",X"AF",X"D3",X"1C",X"FB",X"3A",X"00",X"D0",X"CB",X"4F",X"20",X"F9",X"3E",X"03",X"32", + X"01",X"E7",X"C3",X"CD",X"35",X"F5",X"FE",X"FF",X"28",X"02",X"0E",X"08",X"21",X"86",X"3A",X"09", + X"EB",X"3A",X"00",X"E7",X"0F",X"0F",X"4F",X"21",X"C4",X"80",X"09",X"E5",X"EB",X"0E",X"08",X"ED", + X"B0",X"13",X"13",X"D5",X"FD",X"E1",X"DD",X"E1",X"F1",X"CD",X"9A",X"34",X"3A",X"00",X"E7",X"C6", + X"30",X"DD",X"77",X"03",X"C9",X"7E",X"23",X"FE",X"00",X"28",X"0B",X"5E",X"23",X"56",X"23",X"4F", + X"06",X"00",X"ED",X"B0",X"18",X"EF",X"DD",X"E9",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"C6",X"30", + X"FE",X"3A",X"38",X"02",X"C6",X"07",X"FD",X"77",X"00",X"DD",X"E9",X"E6",X"0F",X"C6",X"30",X"FE", + X"3A",X"38",X"02",X"C6",X"07",X"FD",X"77",X"01",X"DD",X"E9",X"F5",X"0F",X"0F",X"0F",X"0F",X"E6", + X"0F",X"C6",X"30",X"FE",X"3A",X"38",X"02",X"C6",X"07",X"FD",X"77",X"00",X"F1",X"E6",X"0F",X"C6", + X"30",X"FE",X"3A",X"38",X"02",X"C6",X"07",X"FD",X"77",X"01",X"C9",X"08",X"D9",X"DD",X"21",X"C4", + X"34",X"C3",X"B1",X"35",X"21",X"72",X"3A",X"DD",X"21",X"CE",X"34",X"C3",X"65",X"34",X"D9",X"FD", + X"21",X"8F",X"80",X"DD",X"21",X"DB",X"34",X"7C",X"C3",X"78",X"34",X"DD",X"21",X"E3",X"34",X"7C", + X"C3",X"8B",X"34",X"FD",X"23",X"FD",X"23",X"DD",X"21",X"EF",X"34",X"7D",X"C3",X"78",X"34",X"DD", + X"21",X"F7",X"34",X"7D",X"C3",X"8B",X"34",X"FD",X"21",X"95",X"80",X"DD",X"21",X"03",X"35",X"7A", + X"C3",X"78",X"34",X"DD",X"21",X"0B",X"35",X"7A",X"C3",X"8B",X"34",X"FD",X"21",X"99",X"80",X"DD", + X"21",X"17",X"35",X"7B",X"C3",X"78",X"34",X"7B",X"DD",X"21",X"1F",X"35",X"C3",X"8B",X"34",X"3A", + X"00",X"D0",X"CB",X"47",X"CA",X"2F",X"35",X"CB",X"4F",X"20",X"F4",X"08",X"C3",X"F5",X"33",X"08", + X"B7",X"CA",X"72",X"33",X"C3",X"24",X"33",X"E5",X"D9",X"18",X"09",X"E5",X"D9",X"DD",X"21",X"44", + X"35",X"C3",X"B1",X"35",X"21",X"00",X"80",X"11",X"00",X"E0",X"01",X"A0",X"04",X"ED",X"B0",X"21", + X"00",X"80",X"36",X"00",X"54",X"5D",X"13",X"01",X"9F",X"04",X"ED",X"B0",X"21",X"72",X"3A",X"DD", + X"21",X"66",X"35",X"C3",X"65",X"34",X"D9",X"FD",X"21",X"8F",X"80",X"7C",X"CD",X"9A",X"34",X"FD", + X"23",X"FD",X"23",X"7D",X"CD",X"9A",X"34",X"FD",X"21",X"95",X"80",X"7A",X"CD",X"9A",X"34",X"FD", + X"21",X"99",X"80",X"7B",X"CD",X"9A",X"34",X"E1",X"3A",X"00",X"D0",X"CB",X"47",X"28",X"06",X"CB", + X"4F",X"28",X"10",X"18",X"F3",X"D9",X"21",X"00",X"E0",X"11",X"00",X"80",X"01",X"A0",X"04",X"ED", + X"B0",X"D9",X"C9",X"21",X"A0",X"84",X"36",X"00",X"54",X"5D",X"13",X"01",X"5F",X"03",X"ED",X"B0", + X"C9",X"21",X"00",X"84",X"01",X"FF",X"03",X"36",X"00",X"54",X"5D",X"13",X"ED",X"B0",X"21",X"00", + X"80",X"01",X"FF",X"03",X"36",X"00",X"54",X"5D",X"13",X"ED",X"B0",X"DD",X"E9",X"CD",X"AD",X"38", + X"21",X"BF",X"3E",X"CD",X"08",X"39",X"3A",X"01",X"E7",X"06",X"02",X"CD",X"1C",X"39",X"3A",X"00", + X"D0",X"CB",X"47",X"20",X"14",X"3A",X"01",X"E7",X"07",X"4F",X"06",X"00",X"DD",X"21",X"96",X"3A", + X"DD",X"09",X"DD",X"6E",X"00",X"DD",X"66",X"01",X"E9",X"DD",X"21",X"02",X"E7",X"CD",X"DD",X"38", + X"47",X"E6",X"55",X"FE",X"55",X"28",X"09",X"78",X"E6",X"AA",X"FE",X"AA",X"28",X"13",X"18",X"CE", + X"DD",X"36",X"00",X"55",X"DD",X"36",X"01",X"08",X"DD",X"36",X"02",X"01",X"CD",X"32",X"36",X"18", + X"BD",X"DD",X"36",X"00",X"AA",X"DD",X"36",X"01",X"03",X"DD",X"36",X"02",X"FF",X"CD",X"32",X"36", + X"18",X"AC",X"DD",X"56",X"00",X"1E",X"02",X"CD",X"C8",X"38",X"28",X"0E",X"CD",X"4E",X"36",X"DD", + X"56",X"00",X"1E",X"01",X"CD",X"C8",X"38",X"20",X"F3",X"C9",X"CD",X"4E",X"36",X"C9",X"3A",X"01", + X"E7",X"DD",X"BE",X"01",X"C8",X"06",X"00",X"CD",X"1C",X"39",X"DD",X"86",X"02",X"32",X"01",X"E7", + X"06",X"02",X"CD",X"1C",X"39",X"C9",X"CD",X"AD",X"38",X"21",X"10",X"3B",X"CD",X"08",X"39",X"3A", + X"03",X"D0",X"21",X"CB",X"80",X"CD",X"B2",X"36",X"3A",X"04",X"D0",X"21",X"0B",X"81",X"CD",X"B2", + X"36",X"DD",X"21",X"AC",X"3A",X"FD",X"21",X"A8",X"3A",X"3A",X"03",X"D0",X"EE",X"FF",X"06",X"02", + X"CD",X"C6",X"36",X"DD",X"21",X"F8",X"3A",X"FD",X"21",X"F4",X"3A",X"3A",X"04",X"D0",X"EE",X"FF", + X"06",X"01",X"CD",X"C5",X"36",X"CD",X"EC",X"36",X"3A",X"00",X"D0",X"CB",X"4F",X"20",X"C0",X"C3", + X"CD",X"35",X"EE",X"FF",X"06",X"08",X"0F",X"38",X"04",X"36",X"30",X"18",X"02",X"36",X"31",X"23", + X"23",X"10",X"F3",X"C9",X"0F",X"0F",X"4F",X"C5",X"DD",X"A6",X"00",X"DD",X"86",X"01",X"DD",X"23", + X"DD",X"23",X"4F",X"06",X"00",X"FD",X"6E",X"00",X"FD",X"66",X"01",X"09",X"4E",X"FD",X"6E",X"02", + X"FD",X"66",X"03",X"09",X"CD",X"11",X"39",X"C1",X"79",X"10",X"D9",X"C9",X"3A",X"04",X"D0",X"CB", + X"57",X"CA",X"06",X"37",X"21",X"77",X"3B",X"CD",X"08",X"39",X"DD",X"21",X"99",X"3B",X"FD",X"21", + X"9B",X"3B",X"06",X"01",X"18",X"10",X"21",X"7F",X"3C",X"CD",X"08",X"39",X"DD",X"21",X"92",X"3C", + X"FD",X"21",X"96",X"3C",X"06",X"02",X"3A",X"03",X"D0",X"EE",X"FF",X"0F",X"0F",X"CD",X"C4",X"36", + X"C9",X"AF",X"32",X"0F",X"E7",X"67",X"6F",X"22",X"0D",X"E7",X"CD",X"AD",X"38",X"21",X"22",X"3D", + X"CD",X"08",X"39",X"3A",X"00",X"D0",X"21",X"CB",X"80",X"CD",X"B2",X"36",X"3A",X"01",X"D0",X"21", + X"0B",X"81",X"CD",X"B2",X"36",X"3A",X"02",X"D0",X"21",X"4B",X"81",X"CD",X"B2",X"36",X"CD",X"8C", + X"37",X"3A",X"0D",X"E7",X"21",X"8C",X"81",X"CD",X"7A",X"37",X"23",X"3A",X"0E",X"E7",X"CD",X"7A", + X"37",X"3A",X"00",X"D0",X"CB",X"4F",X"20",X"CB",X"3A",X"01",X"D0",X"CB",X"4F",X"20",X"C4",X"CD", + X"AD",X"38",X"3E",X"01",X"CD",X"3C",X"39",X"C3",X"CD",X"35",X"F5",X"0F",X"0F",X"0F",X"0F",X"E6", + X"0F",X"C6",X"30",X"77",X"23",X"F1",X"E6",X"0F",X"C6",X"30",X"77",X"C9",X"21",X"0F",X"E7",X"3A", + X"4E",X"E0",X"E6",X"C0",X"BE",X"C8",X"32",X"0F",X"E7",X"3A",X"0E",X"E7",X"C6",X"01",X"27",X"32", + X"0E",X"E7",X"D0",X"3A",X"0D",X"E7",X"C6",X"01",X"27",X"32",X"0D",X"E7",X"C9",X"2A",X"53",X"3D", + X"22",X"06",X"E7",X"21",X"68",X"3D",X"FD",X"21",X"57",X"3D",X"CD",X"C0",X"37",X"C3",X"CD",X"35", + X"FD",X"22",X"0B",X"E7",X"E5",X"CD",X"AD",X"38",X"E1",X"CD",X"08",X"39",X"DD",X"21",X"08",X"E7", + X"3E",X"01",X"32",X"05",X"E7",X"06",X"02",X"CD",X"23",X"39",X"3E",X"01",X"0E",X"40",X"CD",X"3E", + X"39",X"CD",X"72",X"38",X"CD",X"7D",X"38",X"3E",X"FF",X"32",X"11",X"E7",X"3A",X"00",X"D0",X"CB", + X"4F",X"28",X"4A",X"CD",X"F2",X"38",X"E6",X"AA",X"FE",X"2A",X"28",X"13",X"CD",X"DD",X"38",X"47", + X"E6",X"55",X"FE",X"55",X"28",X"11",X"78",X"E6",X"AA",X"FE",X"AA",X"28",X"1D",X"18",X"DD",X"CD", + X"72",X"38",X"CD",X"7D",X"38",X"18",X"D5",X"DD",X"36",X"00",X"55",X"3A",X"06",X"E7",X"DD",X"77", + X"01",X"DD",X"36",X"02",X"01",X"CD",X"4F",X"38",X"18",X"C2",X"DD",X"36",X"00",X"AA",X"3A",X"07", + X"E7",X"DD",X"77",X"01",X"DD",X"36",X"02",X"FF",X"CD",X"4F",X"38",X"18",X"AF",X"CD",X"72",X"38", + X"3E",X"01",X"0E",X"20",X"CD",X"3E",X"39",X"3A",X"00",X"D0",X"CB",X"4F",X"20",X"9E",X"C9",X"CD", + X"72",X"38",X"DD",X"56",X"00",X"1E",X"02",X"CD",X"C8",X"38",X"28",X"0F",X"CD",X"95",X"38",X"DD", + X"56",X"00",X"1E",X"01",X"CD",X"C8",X"38",X"20",X"F3",X"18",X"03",X"CD",X"95",X"38",X"CD",X"7D", + X"38",X"C9",X"3E",X"00",X"32",X"00",X"D0",X"CB",X"FF",X"32",X"00",X"D0",X"C9",X"3A",X"05",X"E7", + X"4F",X"06",X"00",X"FD",X"2A",X"0B",X"E7",X"FD",X"09",X"FD",X"7E",X"00",X"32",X"00",X"D0",X"CB", + X"FF",X"32",X"00",X"D0",X"C9",X"3A",X"05",X"E7",X"DD",X"BE",X"01",X"C8",X"06",X"00",X"CD",X"23", + X"39",X"DD",X"86",X"02",X"32",X"05",X"E7",X"06",X"02",X"CD",X"23",X"39",X"C9",X"21",X"00",X"80", + X"01",X"FF",X"03",X"36",X"00",X"54",X"5D",X"13",X"ED",X"B0",X"21",X"00",X"84",X"01",X"FF",X"03", + X"36",X"00",X"54",X"5D",X"13",X"ED",X"B0",X"C9",X"0E",X"00",X"06",X"0C",X"CD",X"E2",X"38",X"A2", + X"C8",X"10",X"F9",X"0D",X"20",X"F4",X"1D",X"20",X"EF",X"3E",X"FF",X"A2",X"C9",X"CD",X"E2",X"38", + X"18",X"1F",X"21",X"10",X"E7",X"3A",X"01",X"D0",X"1F",X"CB",X"16",X"1F",X"CB",X"16",X"7E",X"EE", + X"FF",X"C9",X"21",X"11",X"E7",X"3A",X"00",X"D0",X"1F",X"CB",X"16",X"1F",X"CB",X"16",X"7E",X"EE", + X"FF",X"F5",X"AF",X"3D",X"20",X"FD",X"F1",X"C9",X"7E",X"FE",X"00",X"C8",X"CD",X"11",X"39",X"18", + X"F7",X"4E",X"06",X"00",X"23",X"5E",X"23",X"56",X"23",X"ED",X"B0",X"C9",X"4F",X"D6",X"03",X"07", + X"3C",X"18",X"01",X"4F",X"C5",X"0E",X"64",X"06",X"00",X"60",X"07",X"07",X"07",X"6F",X"29",X"29", + X"09",X"EB",X"21",X"00",X"84",X"19",X"C1",X"70",X"23",X"70",X"79",X"C9",X"0E",X"00",X"06",X"00", + X"10",X"FE",X"0D",X"20",X"F9",X"3D",X"20",X"F4",X"C9",X"C5",X"0E",X"00",X"06",X"00",X"10",X"FE", + X"F5",X"3A",X"00",X"D0",X"CB",X"4F",X"28",X"09",X"F1",X"0D",X"20",X"F0",X"3D",X"20",X"EB",X"C1", + X"C9",X"F1",X"C1",X"06",X"01",X"C9",X"CD",X"AD",X"38",X"11",X"00",X"E1",X"21",X"6D",X"3E",X"01", + X"10",X"00",X"ED",X"B0",X"11",X"60",X"E1",X"21",X"7D",X"3E",X"01",X"10",X"00",X"ED",X"B0",X"3A", + X"00",X"D0",X"CB",X"4F",X"20",X"F9",X"21",X"00",X"E1",X"36",X"00",X"54",X"5D",X"13",X"01",X"BF", + X"00",X"ED",X"B0",X"C3",X"CD",X"35",X"3E",X"01",X"32",X"12",X"E7",X"AF",X"32",X"11",X"E7",X"18", + X"2A",X"3A",X"00",X"D0",X"CB",X"4F",X"CA",X"CD",X"35",X"CD",X"F2",X"38",X"E6",X"AA",X"FE",X"2A", + X"20",X"EF",X"3A",X"12",X"E7",X"3C",X"32",X"12",X"E7",X"FE",X"01",X"28",X"0E",X"FE",X"02",X"CA", + X"E8",X"39",X"FE",X"03",X"CA",X"13",X"3A",X"D6",X"03",X"18",X"EB",X"CD",X"AD",X"38",X"21",X"1C", + X"81",X"06",X"1A",X"3E",X"5A",X"77",X"2B",X"3D",X"10",X"FB",X"21",X"0C",X"82",X"06",X"0A",X"3E", + X"39",X"77",X"2B",X"3D",X"10",X"FB",X"18",X"B9",X"CD",X"BA",X"38",X"21",X"20",X"80",X"36",X"F3", + X"54",X"5D",X"13",X"01",X"BF",X"03",X"ED",X"B0",X"21",X"8D",X"3E",X"06",X"0A",X"C5",X"5E",X"23", + X"56",X"23",X"46",X"23",X"4E",X"23",X"7E",X"23",X"EB",X"CD",X"23",X"3A",X"EB",X"C1",X"10",X"ED", + X"C3",X"A1",X"39",X"21",X"20",X"84",X"36",X"0C",X"54",X"5D",X"13",X"01",X"BF",X"03",X"ED",X"B0", + X"C3",X"A1",X"39",X"C5",X"E5",X"77",X"23",X"10",X"FC",X"E1",X"0E",X"20",X"09",X"C1",X"0D",X"20", + X"F2",X"C9",X"CD",X"AD",X"38",X"21",X"20",X"80",X"0E",X"1E",X"06",X"0F",X"C5",X"06",X"00",X"36", + X"94",X"54",X"5D",X"23",X"36",X"93",X"23",X"EB",X"ED",X"B0",X"EB",X"0E",X"1E",X"36",X"96",X"54", + X"5D",X"23",X"36",X"95",X"23",X"EB",X"ED",X"B0",X"EB",X"C1",X"10",X"E0",X"3A",X"00",X"D0",X"CB", + X"4F",X"20",X"F9",X"C3",X"CD",X"35",X"08",X"84",X"80",X"52",X"41",X"4D",X"00",X"00",X"00",X"4F", + X"4B",X"00",X"10",X"84",X"80",X"52",X"41",X"4D",X"00",X"00",X"00",X"4E",X"47",X"00",X"00",X"5D", + X"00",X"00",X"00",X"00",X"5D",X"00",X"52",X"4F",X"4D",X"00",X"00",X"00",X"4F",X"4B",X"52",X"4F", + X"4D",X"00",X"00",X"00",X"4E",X"47",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"36",X"21",X"37", + X"AD",X"37",X"66",X"39",X"96",X"39",X"32",X"3A",X"B0",X"3A",X"B8",X"3A",X"03",X"00",X"03",X"04", + X"00",X"04",X"08",X"0C",X"10",X"1B",X"26",X"31",X"01",X"73",X"81",X"35",X"01",X"73",X"81",X"33", + X"01",X"73",X"81",X"32",X"01",X"73",X"81",X"31",X"08",X"ED",X"81",X"31",X"30",X"00",X"33",X"30", + X"00",X"35",X"30",X"08",X"ED",X"81",X"32",X"30",X"00",X"34",X"30",X"00",X"36",X"30",X"08",X"ED", + X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"30",X"08",X"ED",X"81",X"00",X"00",X"00",X"00", + X"00",X"00",X"4E",X"4F",X"FA",X"3A",X"FC",X"3A",X"01",X"00",X"00",X"0A",X"07",X"B1",X"82",X"54", + X"41",X"42",X"4C",X"45",X"00",X"00",X"07",X"B1",X"82",X"55",X"50",X"52",X"49",X"47",X"48",X"54", + X"16",X"84",X"80",X"44",X"49",X"50",X"00",X"53",X"57",X"00",X"31",X"00",X"32",X"00",X"33",X"00", + X"34",X"00",X"35",X"00",X"36",X"00",X"37",X"00",X"38",X"03",X"C6",X"80",X"53",X"57",X"31",X"03", + X"06",X"81",X"53",X"57",X"32",X"0B",X"64",X"81",X"50",X"41",X"54",X"52",X"4F",X"4C",X"00",X"43", + X"41",X"52",X"53",X"0D",X"A4",X"81",X"45",X"58",X"54",X"45",X"4E",X"44",X"00",X"50",X"4F",X"49", + X"4E",X"54",X"53",X"08",X"F6",X"81",X"54",X"48",X"4F",X"55",X"53",X"41",X"4E",X"44",X"09",X"24", + X"82",X"43",X"4F",X"49",X"4E",X"00",X"4D",X"4F",X"44",X"45",X"09",X"A4",X"82",X"42",X"4F",X"44", + X"59",X"00",X"54",X"59",X"50",X"45",X"00",X"01",X"2E",X"82",X"00",X"1A",X"64",X"82",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"9F",X"3B",X"AF",X"3B",X"00", + X"10",X"20",X"30",X"40",X"50",X"60",X"60",X"70",X"80",X"90",X"A0",X"B0",X"60",X"60",X"C0",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"32",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"33",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"34",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"35",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"36",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41",X"59",X"00",X"0D", + X"31",X"82",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"32",X"50",X"4C",X"41",X"59",X"53",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"33",X"50",X"4C",X"41",X"59",X"53",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"34",X"50",X"4C",X"41",X"59",X"53",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"35",X"50",X"4C",X"41",X"59",X"53",X"0D", + X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"36",X"50",X"4C",X"41",X"59",X"53",X"0D", + X"31",X"82",X"00",X"46",X"52",X"45",X"45",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01", + X"2E",X"82",X"41",X"0B",X"64",X"82",X"43",X"4F",X"49",X"4E",X"00",X"4D",X"4F",X"44",X"45",X"00", + X"42",X"00",X"03",X"00",X"03",X"04",X"9A",X"3C",X"A2",X"3C",X"00",X"10",X"20",X"30",X"40",X"50", + X"60",X"70",X"0D",X"31",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"31",X"50",X"4C",X"41", + X"59",X"00",X"0D",X"31",X"82",X"32",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41", + X"59",X"00",X"0D",X"31",X"82",X"33",X"43",X"4F",X"49",X"4E",X"53",X"00",X"31",X"50",X"4C",X"41", + X"59",X"00",X"0D",X"31",X"82",X"00",X"46",X"52",X"45",X"45",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0D",X"71",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"32",X"50",X"4C",X"41", + X"59",X"53",X"0D",X"71",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"33",X"50",X"4C",X"41", + X"59",X"53",X"0D",X"71",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"35",X"50",X"4C",X"41", + X"59",X"53",X"0D",X"71",X"82",X"31",X"43",X"4F",X"49",X"4E",X"00",X"00",X"36",X"50",X"4C",X"41", + X"59",X"53",X"0F",X"8B",X"80",X"31",X"00",X"32",X"00",X"33",X"00",X"34",X"00",X"35",X"00",X"36", + X"00",X"37",X"00",X"38",X"04",X"C4",X"80",X"4B",X"45",X"59",X"30",X"04",X"04",X"81",X"4B",X"45", + X"59",X"31",X"04",X"44",X"81",X"4B",X"45",X"59",X"32",X"06",X"84",X"81",X"54",X"49",X"4D",X"49", + X"4E",X"47",X"00",X"0E",X"01",X"00",X"00",X"00",X"01",X"10",X"11",X"12",X"13",X"14",X"16",X"17", + X"18",X"1B",X"1C",X"1D",X"1E",X"1F",X"00",X"00",X"0B",X"27",X"80",X"53",X"00",X"4F",X"00",X"55", + X"00",X"4E",X"00",X"44",X"00",X"53",X"0E",X"44",X"81",X"30",X"37",X"00",X"53",X"50",X"41",X"43", + X"45",X"00",X"50",X"4C",X"41",X"4E",X"54",X"0D",X"64",X"81",X"30",X"38",X"00",X"55",X"46",X"4F", + X"00",X"46",X"4C",X"59",X"49",X"4E",X"47",X"0C",X"84",X"80",X"30",X"31",X"00",X"45",X"58",X"50", + X"4C",X"4F",X"53",X"49",X"4F",X"4E",X"0E",X"E4",X"80",X"30",X"34",X"00",X"43",X"41",X"52",X"00", + X"4D",X"49",X"53",X"53",X"49",X"4C",X"45",X"10",X"C4",X"80",X"30",X"33",X"00",X"55",X"46",X"4F", + X"00",X"45",X"58",X"50",X"4C",X"4F",X"53",X"49",X"4F",X"4E",X"10",X"A4",X"80",X"30",X"32",X"00", + X"50",X"4F",X"49",X"4E",X"54",X"00",X"50",X"41",X"53",X"53",X"41",X"47",X"45",X"07",X"04",X"81", + X"30",X"35",X"00",X"43",X"4F",X"49",X"4E",X"0B",X"24",X"81",X"30",X"36",X"00",X"43",X"41",X"52", + X"00",X"4A",X"55",X"4D",X"50",X"14",X"84",X"81",X"30",X"39",X"00",X"42",X"41",X"43",X"4B",X"00", + X"47",X"52",X"4F",X"55",X"4E",X"44",X"00",X"4D",X"55",X"53",X"49",X"43",X"0F",X"A4",X"81",X"31", + X"30",X"00",X"45",X"4E",X"44",X"49",X"4E",X"47",X"00",X"4D",X"55",X"53",X"49",X"43",X"10",X"C4", + X"81",X"31",X"31",X"00",X"4F",X"50",X"45",X"4E",X"49",X"4E",X"47",X"00",X"4D",X"55",X"53",X"49", + X"43",X"0F",X"E4",X"81",X"31",X"32",X"00",X"53",X"54",X"45",X"50",X"00",X"50",X"41",X"53",X"53", + X"41",X"47",X"45",X"11",X"04",X"82",X"31",X"33",X"00",X"43",X"4F",X"4E",X"47",X"52",X"41",X"54", + X"55",X"4C",X"41",X"54",X"49",X"4F",X"4E",X"10",X"24",X"82",X"31",X"34",X"00",X"43",X"41",X"52", + X"00",X"45",X"58",X"50",X"4C",X"4F",X"53",X"49",X"4F",X"4E",X"00",X"00",X"00",X"A8",X"01",X"38", + X"60",X"A8",X"41",X"38",X"98",X"90",X"81",X"38",X"60",X"90",X"C1",X"38",X"98",X"68",X"01",X"38", + X"60",X"68",X"41",X"38",X"98",X"50",X"81",X"38",X"60",X"50",X"C1",X"38",X"98",X"20",X"84",X"20", + X"07",X"00",X"00",X"87",X"20",X"07",X"08",X"00",X"85",X"20",X"08",X"02",X"00",X"86",X"05",X"08", + X"05",X"05",X"86",X"04",X"08",X"0C",X"09",X"86",X"05",X"08",X"06",X"0E",X"86",X"04",X"08",X"04", + X"12",X"86",X"05",X"08",X"03",X"17",X"86",X"04",X"08",X"00",X"1B",X"86",X"05",X"08",X"08",X"0E", + X"84",X"80",X"30",X"31",X"00",X"00",X"44",X"49",X"50",X"00",X"53",X"57",X"49",X"54",X"43",X"48", + X"0C",X"C4",X"80",X"30",X"32",X"00",X"00",X"49",X"3F",X"4F",X"00",X"50",X"4F",X"52",X"54",X"0A", + X"04",X"81",X"30",X"33",X"00",X"00",X"53",X"4F",X"55",X"4E",X"44",X"53",X"0D",X"44",X"81",X"30", + X"34",X"00",X"00",X"43",X"48",X"41",X"52",X"41",X"43",X"54",X"45",X"52",X"09",X"84",X"81",X"30", + X"35",X"00",X"00",X"43",X"4F",X"4C",X"4F",X"52",X"0F",X"C4",X"81",X"30",X"36",X"00",X"00",X"42", + X"45",X"41",X"4D",X"00",X"41",X"44",X"4A",X"55",X"53",X"54",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"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"); +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/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-1.3n.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-1.3n.vhd new file mode 100644 index 00000000..8e37407f --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-1.3n.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpb_13n is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpb_13n is + type rom is array(0 to 4095) 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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"00",X"A0",X"A0",X"B8",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"1F",X"7F",X"FF",X"F8",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"00",X"FE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F2",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"18",X"7E",X"7E",X"FF",X"FF",X"FF",X"7E",X"7E",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"18",X"7E",X"7E",X"FF",X"FF",X"FF",X"7E",X"7E",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"78",X"78",X"FC",X"FC",X"78",X"78",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"30",X"78",X"78",X"FC",X"FC",X"78",X"78",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"01",X"04",X"00",X"03",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"03",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0C",X"3E",X"78",X"F3",X"E7",X"EC",X"C8",X"00",X"01",X"01",X"03",X"03",X"01", + X"00",X"00",X"00",X"20",X"70",X"F8",X"E0",X"40",X"40",X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"E0", + X"03",X"06",X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"07",X"07",X"03",X"01",X"00",X"00",X"00", + X"C3",X"87",X"0F",X"0F",X"0F",X"CF",X"E7",X"E3",X"F0",X"F0",X"E0",X"E0",X"C0",X"00",X"00",X"00", + X"81",X"C0",X"C0",X"E0",X"E0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"1F",X"3F",X"3F",X"3F",X"3F", + X"00",X"00",X"00",X"08",X"00",X"12",X"B0",X"E8",X"38",X"1C",X"04",X"00",X"00",X"80",X"8E",X"1F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"1E",X"1F",X"0F",X"03",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"E0",X"E0", + X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"3F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"83",X"80",X"00",X"00",X"00",X"02",X"07",X"07",X"0F",X"0F",X"07",X"07",X"03",X"00",X"00", + X"20",X"80",X"E0",X"70",X"78",X"30",X"10",X"00",X"80",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"06",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"60",X"19",X"07",X"03", + X"02",X"01",X"21",X"11",X"10",X"08",X"0D",X"CF",X"E7",X"7F",X"7F",X"FF",X"FC",X"F0",X"C0",X"80", + X"00",X"00",X"10",X"10",X"89",X"89",X"0B",X"1F",X"1F",X"BE",X"1C",X"08",X"00",X"00",X"00",X"00", + X"40",X"44",X"82",X"82",X"8E",X"DF",X"FF",X"FF",X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"08",X"10",X"10",X"30",X"60",X"E1",X"F3",X"FF",X"7F",X"3F",X"0F",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"80",X"00",X"80",X"80",X"C6",X"F8",X"E0",X"80",X"80", + X"03",X"01",X"01",X"03",X"07",X"1D",X"61",X"01",X"00",X"03",X"03",X"04",X"08",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"F3",X"7F",X"38",X"30",X"10",X"20",X"20", + X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"E0",X"F9",X"FF",X"7F",X"12",X"10",X"08",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"FF",X"BD",X"39",X"10",X"10",X"20",X"20", + X"03",X"03",X"03",X"03",X"07",X"07",X"0E",X"1C",X"1C",X"3E",X"F6",X"F3",X"60",X"20",X"20",X"10", + X"C0",X"80",X"00",X"80",X"C0",X"60",X"20",X"18",X"00",X"00",X"00",X"00",X"80",X"80",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"1F",X"1F",X"3F",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"7C",X"FD",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"C7",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"80",X"C0",X"F0",X"F8",X"FC",X"FC",X"FE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"1F",X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"B1",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"FC",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FE",X"FC",X"FC",X"F8",X"F0",X"F8",X"F8",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"00",X"00",X"01",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"33",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"C0",X"E6",X"EF",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"18",X"3C",X"7D",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"C0",X"E0",X"EC",X"FE",X"FE",X"FC",X"FC",X"F8",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"3F",X"7F",X"FF",X"FF",X"7D",X"38",X"30",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"7C",X"78",X"30",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F3",X"E0",X"60",X"00",X"00",X"00",X"00",X"00",X"00", + X"FE",X"FE",X"FE",X"FC",X"D8",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"03",X"0F",X"1F",X"1F",X"1F",X"0F",X"0F",X"06",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"8E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C6",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"F8",X"F8",X"F8",X"F0",X"F0",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"9C",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"C0",X"00",X"00", + X"00",X"00",X"00",X"70",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"60",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"3F",X"7F",X"7F",X"3F",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",X"FE",X"FE",X"F4",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"02",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"20",X"70",X"F0",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"32",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"F0",X"70",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"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"60",X"F0",X"F8",X"F8",X"F8",X"F0",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"03",X"03",X"03",X"01",X"03",X"01",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"D0",X"F8",X"FC",X"F8",X"FC",X"FC",X"FC",X"FC",X"F8",X"D0",X"00",X"00",X"00",X"00", + X"00",X"03",X"07",X"07",X"0F",X"0F",X"07",X"0F",X"0F",X"0F",X"07",X"03",X"03",X"01",X"00",X"00", + X"F0",X"FC",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"FE",X"FC",X"B8",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"38",X"78",X"78",X"7C",X"FE",X"FE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0E",X"1F",X"1F",X"1F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"60",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F8",X"FC",X"FC", + X"00",X"03",X"03",X"07",X"07",X"0F",X"0F",X"3F",X"3F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"C0",X"E0",X"E0",X"F0",X"E0",X"E0",X"F0",X"F0",X"F0",X"E0",X"F0",X"F0",X"F8",X"FC",X"FE", + X"07",X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF", + X"00",X"00",X"80",X"80",X"80",X"80",X"E0",X"F0",X"F0",X"F0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"07",X"07",X"03",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"80",X"C0",X"E0",X"E0",X"E0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"03",X"00",X"00", + X"00",X"00",X"00",X"80",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"80",X"00",X"00", + X"00",X"00",X"00",X"03",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"03",X"00",X"00", + X"00",X"00",X"00",X"80",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"80",X"00",X"00", + X"00",X"00",X"00",X"03",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"03",X"00",X"00", + X"00",X"00",X"00",X"80",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"0F",X"0F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"0F",X"03", + X"C0",X"F0",X"F0",X"F8",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"F0",X"C0", + X"03",X"0F",X"0F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"0F",X"03", + X"C0",X"F0",X"F0",X"F8",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"F0",X"C0", + X"03",X"07",X"FF",X"FF",X"0F",X"0F",X"00",X"03",X"37",X"7B",X"CE",X"84",X"84",X"CE",X"7B",X"31", + X"E0",X"F0",X"F0",X"F8",X"F8",X"F8",X"00",X"C0",X"E6",X"DE",X"73",X"21",X"21",X"73",X"DE",X"8C", + X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1E",X"0C",X"00",X"3C",X"3C",X"00",X"07",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"1F",X"1F",X"3F",X"00",X"00",X"01",X"00",X"03",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"80",X"00",X"F8",X"F8",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"E0",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"84",X"84",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"0F",X"0F",X"07",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"80",X"E0",X"E0",X"F0",X"F0",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"07",X"0F",X"1F",X"3F",X"3F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"00",X"00", + X"00",X"00",X"C0",X"C0",X"E0",X"F0",X"E0",X"F0",X"F0",X"F0",X"E0",X"E0",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"07",X"0F",X"0F",X"1F",X"1F",X"1F",X"0F",X"1F",X"06",X"00",X"00",X"00", + X"00",X"00",X"00",X"80",X"E0",X"F0",X"F8",X"F8",X"F8",X"F0",X"F8",X"F0",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"0D",X"0F",X"3F",X"3F",X"3F",X"7F",X"3F",X"1F",X"1F",X"0F",X"03",X"00",X"00", + X"00",X"00",X"60",X"F0",X"F8",X"FC",X"FC",X"FC",X"F8",X"F8",X"FC",X"F8",X"F8",X"20",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"3C",X"7F",X"FC",X"38",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"78",X"FC",X"7E",X"38",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"10",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"20",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"08",X"00",X"00",X"00",X"02",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"10",X"10",X"00",X"00",X"00",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",X"FF",X"3F",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FC",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",X"FF",X"3F",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FC",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",X"FF",X"3F",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FC",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"03",X"01",X"03",X"02",X"04",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"60",X"C0",X"C0",X"E0",X"80",X"80",X"40",X"40",X"20",X"00",X"00", + X"00",X"08",X"04",X"00",X"00",X"06",X"03",X"07",X"2F",X"0F",X"1B",X"23",X"49",X"21",X"02",X"00", + X"00",X"00",X"00",X"00",X"00",X"E0",X"80",X"C0",X"E0",X"80",X"80",X"00",X"80",X"40",X"00",X"00", + X"02",X"81",X"44",X"32",X"09",X"0D",X"07",X"03",X"07",X"4D",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"20",X"88",X"B0",X"E1",X"F4",X"F8",X"F0",X"A6",X"10",X"8C",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"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"04",X"02",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"80",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"14",X"0F",X"5C",X"30",X"E6",X"2F",X"DF",X"0F",X"07",X"03",X"01",X"00",X"00",X"00",X"00", + X"00",X"A0",X"C0",X"E4",X"38",X"8D",X"E6",X"F7",X"E0",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"01",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"0F",X"2F",X"39",X"F0",X"C0",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F4",X"FE",X"9F",X"0F",X"03",X"41", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0", + X"03",X"07",X"07",X"06",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"1F",X"3F",X"3C",X"78",X"3C",X"0E",X"07",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"F8",X"FC",X"FC",X"3E",X"78",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E0",X"60",X"70",X"38",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"07",X"07",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"27",X"3F",X"3F",X"FF",X"F9",X"F0",X"E0",X"C5", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"60",X"FB",X"FF",X"7F",X"1F",X"0B",X"82",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"C0",X"C0",X"C0",X"E0",X"E0", + X"0F",X"0E",X"1E",X"1E",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"87",X"1F",X"3F",X"3F",X"7F",X"7F",X"1F",X"0F",X"07",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"F8",X"F8",X"FC",X"FE",X"FC",X"F8",X"F0",X"E0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"F0",X"7C",X"FC",X"3C",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"05",X"07",X"07",X"0F",X"0F",X"1F",X"1F",X"7D", + X"08",X"04",X"0D",X"8F",X"5F",X"FF",X"FF",X"FF",X"FF",X"EF",X"F7",X"F2",X"E0",X"E0",X"C0",X"00", + X"20",X"40",X"E0",X"F8",X"FC",X"FE",X"FF",X"FF",X"DF",X"BF",X"3F",X"1D",X"0B",X"07",X"03",X"01", + X"00",X"00",X"00",X"00",X"00",X"40",X"80",X"90",X"E0",X"E0",X"E0",X"F4",X"F8",X"F8",X"F8",X"BC", + X"3E",X"3E",X"3E",X"1C",X"70",X"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"08",X"05",X"0F",X"1F",X"07",X"02",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"90",X"A0",X"F0",X"E0",X"C0",X"C0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"78",X"3C",X"3C",X"1A",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"01",X"01",X"03",X"0B",X"07",X"07",X"0F",X"0F",X"1F", + X"01",X"27",X"1F",X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8", + X"20",X"E4",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"0F", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"D0",X"E0",X"E0",X"F0",X"F0",X"F8",X"F8",X"F8", + X"1F",X"1F",X"1F",X"0F",X"07",X"03",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"E0",X"F0",X"F4",X"FC",X"FE",X"FF",X"FF",X"7F",X"3F",X"3F",X"0F",X"03",X"01",X"01",X"00", + X"03",X"0F",X"1F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",X"F8",X"F0",X"C0",X"80",X"00", + X"F8",X"F0",X"E0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"01",X"21",X"14",X"14",X"42",X"22",X"14",X"98",X"38",X"04",X"80",X"00",X"00", + X"00",X"00",X"00",X"50",X"00",X"A4",X"28",X"40",X"42",X"44",X"2C",X"01",X"02",X"0C",X"00",X"00", + X"00",X"00",X"10",X"10",X"09",X"0D",X"86",X"10",X"48",X"08",X"08",X"04",X"00",X"00",X"00",X"00", + X"80",X"00",X"80",X"80",X"04",X"A8",X"48",X"11",X"10",X"12",X"24",X"00",X"00",X"00",X"00",X"00", + X"01",X"25",X"10",X"09",X"09",X"45",X"47",X"2E",X"32",X"80",X"10",X"00",X"00",X"08",X"00",X"00", + X"00",X"10",X"94",X"A0",X"E2",X"F4",X"34",X"1D",X"0E",X"04",X"08",X"00",X"00",X"08",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"04",X"82",X"52", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"40",X"41",X"82",X"CA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"07",X"01",X"00",X"12",X"28",X"06",X"04",X"00",X"00",X"00",X"00", + X"51",X"29",X"BB",X"5F",X"3F",X"BE",X"FC",X"98",X"08",X"04",X"00",X"00",X"00",X"00",X"00",X"00", + X"D4",X"DC",X"FE",X"FC",X"99",X"1A",X"0E",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"20",X"D0",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"04",X"01",X"01",X"01",X"08",X"08",X"04",X"24",X"14",X"95",X"55",X"4F",X"2F",X"BF",X"7F",X"7F", + X"00",X"00",X"00",X"00",X"80",X"88",X"C2",X"42",X"C4",X"CC",X"CC",X"D8",X"F8",X"F9",X"FE",X"FC", + X"00",X"00",X"00",X"00",X"00",X"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"26",X"03",X"23",X"10",X"08",X"08",X"F7",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"FF",X"7F",X"3C",X"B8",X"38",X"0C",X"88",X"08",X"04",X"00",X"00",X"10",X"00",X"20",X"00", + X"FE",X"FC",X"FF",X"7F",X"26",X"20",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00", + X"00",X"40",X"80",X"00",X"20",X"40",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"18",X"3F",X"7F",X"EF",X"8D",X"18",X"11",X"01",X"02",X"00",X"00",X"00",X"00", + X"00",X"20",X"10",X"20",X"00",X"F0",X"F0",X"E0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"18",X"00",X"00",X"00",X"18",X"38",X"30",X"91",X"81",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"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"04",X"03",X"03",X"01",X"00",X"18",X"7C",X"FF",X"8F",X"3F",X"3C",X"61",X"01",X"03",X"02", + X"80",X"40",X"40",X"60",X"60",X"20",X"00",X"00",X"80",X"F0",X"F0",X"F0",X"E0",X"C0",X"00",X"00", + X"01",X"08",X"04",X"0C",X"03",X"01",X"00",X"18",X"7C",X"FF",X"8F",X"3F",X"3C",X"61",X"01",X"03", + X"00",X"80",X"C0",X"40",X"60",X"60",X"20",X"00",X"00",X"80",X"E0",X"F0",X"F0",X"E0",X"C0",X"00", + X"01",X"08",X"04",X"06",X"02",X"07",X"01",X"00",X"18",X"7C",X"7F",X"CF",X"9F",X"1C",X"31",X"21", + X"00",X"80",X"C0",X"C0",X"60",X"60",X"60",X"20",X"00",X"00",X"80",X"E0",X"F0",X"F0",X"E0",X"C0", + X"00",X"00",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"C0",X"40",X"40",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"02",X"04",X"01",X"08",X"02",X"00",X"04",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"80",X"00",X"20",X"00",X"A0",X"00",X"40",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"0C",X"3E",X"FF",X"1E",X"0C",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1E",X"0C",X"00",X"3C",X"3C",X"00",X"07",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"3F",X"06",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1E",X"0C",X"00",X"3C",X"3C",X"00",X"07",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"25",X"05",X"09",X"05",X"25",X"18", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C6",X"29",X"29",X"29",X"29",X"29",X"C6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"25",X"25",X"19",X"25",X"25",X"18", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C6",X"29",X"29",X"29",X"29",X"29",X"C6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-2.3m.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-2.3m.vhd new file mode 100644 index 00000000..a2ffdd12 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpb-2.3m.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpb_23m is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpb_23m is + type rom is array(0 to 4095) 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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E", + X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"41",X"43",X"4F",X"47",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7E",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"80",X"C0",X"F0",X"01", + X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FC",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"0D",X"E1",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"40",X"02",X"18",X"98",X"19",X"00",X"24",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"02",X"40",X"18",X"19",X"98",X"00",X"42",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"48",X"00",X"30",X"B4",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"00",X"B4",X"30",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"04",X"02",X"02",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"0F",X"0F",X"0F",X"0F",X"1F",X"3F",X"1F",X"9F",X"BF", + X"00",X"00",X"00",X"7C",X"FF",X"FF",X"FC",X"F8",X"F3",X"F7",X"FF",X"FE",X"FE",X"FC",X"FE",X"FE", + X"00",X"00",X"10",X"98",X"88",X"00",X"10",X"B8",X"F8",X"F8",X"F0",X"30",X"10",X"00",X"10",X"00", + X"00",X"01",X"0F",X"1F",X"1F",X"3E",X"3C",X"3C",X"38",X"18",X"1C",X"00",X"00",X"00",X"00",X"00", + X"3C",X"7C",X"F0",X"F0",X"F8",X"B0",X"10",X"02",X"90",X"00",X"00",X"00",X"40",X"00",X"00",X"00", + X"FC",X"30",X"20",X"20",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"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"0F",X"1F",X"3F",X"3F",X"15",X"00",X"20",X"0C",X"0C",X"20", + X"00",X"00",X"00",X"02",X"04",X"04",X"08",X"10",X"C0",X"E3",X"FB",X"FF",X"FF",X"FF",X"F3",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"7C",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"C0",X"C0",X"C0",X"E0",X"E0", + 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"20",X"0C",X"2C",X"00",X"01",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FD",X"FC",X"7F",X"FF",X"FF",X"7F",X"3F",X"18",X"00",X"03",X"0B",X"00",X"00",X"02",X"00",X"00", + X"C0",X"70",X"10",X"80",X"84",X"CC",X"E8",X"F0",X"60",X"20",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"7F", + X"00",X"00",X"00",X"20",X"20",X"20",X"E0",X"E0",X"E0",X"41",X"E3",X"EF",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"7F",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"80",X"C0",X"F0",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"7F",X"3F",X"3F",X"0C",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"BF",X"1F",X"1F",X"06",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"C3",X"81",X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"E0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"03",X"1D", + X"00",X"01",X"02",X"12",X"11",X"09",X"CD",X"67",X"37",X"7F",X"7F",X"33",X"60",X"E0",X"C0",X"C7", + X"04",X"08",X"08",X"10",X"10",X"38",X"B8",X"FD",X"FF",X"CF",X"83",X"02",X"00",X"00",X"60",X"F9", + X"02",X"84",X"44",X"44",X"42",X"66",X"F7",X"FF",X"FF",X"C8",X"00",X"00",X"18",X"7D",X"FF",X"FF", + X"00",X"00",X"04",X"04",X"08",X"18",X"70",X"E1",X"FB",X"7F",X"3E",X"0F",X"07",X"C3",X"E3",X"E1", + X"00",X"00",X"00",X"00",X"00",X"10",X"60",X"80",X"00",X"00",X"60",X"98",X"00",X"80",X"C0",X"F0", + X"00",X"00",X"00",X"01",X"01",X"03",X"06",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"E7",X"4F",X"4F",X"C7",X"E3",X"B0",X"18",X"3E",X"3F",X"37",X"63",X"41",X"41",X"82",X"02",X"00", + X"FF",X"FF",X"FF",X"CF",X"87",X"00",X"00",X"4E",X"FF",X"FF",X"3B",X"10",X"10",X"20",X"20",X"20", + X"FF",X"FF",X"FF",X"BB",X"00",X"00",X"03",X"0F",X"1F",X"FF",X"EF",X"CB",X"C9",X"44",X"44",X"20", + X"F1",X"F3",X"E3",X"47",X"0F",X"06",X"07",X"CF",X"FD",X"7C",X"38",X"1C",X"04",X"02",X"01",X"01", + X"88",X"00",X"80",X"C0",X"E0",X"60",X"10",X"80",X"C0",X"C0",X"20",X"20",X"10",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"07",X"0F",X"07",X"0E",X"1E",X"1F", + X"00",X"00",X"01",X"0B",X"1F",X"1F",X"3F",X"7E",X"FE",X"FC",X"CC",X"00",X"00",X"01",X"03",X"07", + X"00",X"00",X"C1",X"F3",X"FF",X"FF",X"FF",X"3F",X"19",X"10",X"00",X"00",X"60",X"F9",X"FF",X"FF", + X"00",X"80",X"C0",X"F3",X"FF",X"FF",X"E7",X"C3",X"82",X"00",X"00",X"00",X"E3",X"CF",X"FF",X"FF", + X"00",X"00",X"00",X"B0",X"F8",X"FC",X"FE",X"3E",X"1F",X"13",X"01",X"01",X"83",X"C3",X"C7",X"83", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"E0",X"F0",X"F0",X"E0",X"F0", + X"1F",X"0F",X"1F",X"0F",X"07",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"87",X"C3",X"80",X"00",X"00",X"82",X"C7",X"CF",X"FF",X"7F",X"7F",X"3F",X"33",X"00",X"00",X"00", + X"FF",X"7F",X"3F",X"0D",X"00",X"00",X"00",X"00",X"83",X"87",X"CF",X"FF",X"FF",X"F3",X"20",X"00", + X"FF",X"FF",X"FD",X"D8",X"00",X"00",X"08",X"0C",X"1F",X"9F",X"FF",X"FE",X"FC",X"60",X"00",X"00", + X"E1",X"C1",X"81",X"03",X"27",X"3F",X"3F",X"7F",X"FE",X"FC",X"F0",X"E0",X"60",X"00",X"00",X"00", + X"F0",X"E0",X"E0",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"07",X"07",X"77",X"7E",X"7C",X"F0",X"E0",X"E1",X"E1",X"70",X"70",X"39",X"3F",X"1F",X"0D", + X"00",X"CE",X"FF",X"FF",X"71",X"00",X"68",X"FF",X"FF",X"99",X"00",X"00",X"CF",X"FF",X"F3",X"80", + X"39",X"FF",X"FF",X"CF",X"00",X"00",X"CF",X"FF",X"FF",X"CF",X"00",X"00",X"39",X"FF",X"EF",X"C3", + X"80",X"C0",X"F0",X"FC",X"FE",X"3E",X"0F",X"87",X"C6",X"06",X"0C",X"0E",X"CE",X"FC",X"F0",X"30", + X"00",X"00",X"00",X"00",X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"9C",X"FF",X"E7",X"80",X"00",X"91",X"FF",X"FF",X"F3",X"C0",X"00",X"00", + X"00",X"00",X"00",X"70",X"FC",X"FF",X"93",X"01",X"00",X"81",X"93",X"FF",X"FB",X"60",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"40",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"3F",X"70",X"73",X"3F",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"F0",X"BC",X"0E",X"1E",X"F4",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"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"20",X"70",X"F0",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"60",X"F0",X"70",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"F0",X"F0",X"60",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"03",X"03",X"01",X"03",X"03",X"01",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"B0",X"F8",X"FC",X"FC",X"FE",X"FC",X"FC",X"FC",X"F8",X"98",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"18",X"28",X"00",X"02",X"26", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"01",X"03",X"06",X"80",X"10",X"21",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"E0",X"E0",X"E0",X"20",X"30",X"70",X"D0",X"18",X"3C",X"1C", + X"00",X"03",X"00",X"00",X"04",X"08",X"08",X"00",X"00",X"00",X"04",X"08",X"00",X"82",X"C0",X"80", + X"00",X"C0",X"E0",X"60",X"70",X"20",X"60",X"50",X"10",X"30",X"20",X"30",X"30",X"78",X"3C",X"7E", + X"07",X"07",X"03",X"07",X"09",X"01",X"02",X"02",X"04",X"00",X"00",X"04",X"08",X"00",X"00",X"00", + X"00",X"00",X"80",X"80",X"80",X"80",X"E0",X"30",X"30",X"50",X"10",X"28",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"02",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"08",X"08",X"04",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"04",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",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"80",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"08",X"08",X"08",X"04",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"03",X"04",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"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"FE",X"FF",X"00",X"00",X"03",X"00",X"01",X"04",X"31",X"7B",X"7B",X"31",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"80",X"20",X"8C",X"DE",X"DE",X"8C",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1F",X"0F",X"1F",X"0F",X"0F",X"1F",X"07",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"E0",X"E0",X"C0",X"FF",X"FF",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"70",X"FC",X"F0",X"F0",X"F0",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"E0",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"78",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"0F",X"1E",X"38",X"71",X"73",X"27",X"67",X"63",X"70",X"60",X"39",X"1F",X"06",X"00", + X"00",X"C0",X"F0",X"7C",X"1C",X"8E",X"C6",X"E4",X"E4",X"CE",X"86",X"0C",X"BC",X"F8",X"C0",X"00", + X"06",X"0F",X"3F",X"32",X"70",X"46",X"CF",X"CF",X"87",X"CF",X"66",X"E0",X"70",X"3C",X"1F",X"07", + X"C0",X"F0",X"9C",X"0C",X"46",X"E2",X"F3",X"E2",X"F7",X"F7",X"C3",X"06",X"06",X"DC",X"F8",X"B0", + X"00",X"00",X"00",X"00",X"01",X"07",X"0F",X"0F",X"03",X"00",X"00",X"38",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"E0",X"E0",X"80",X"00",X"00",X"38",X"00",X"00",X"00",X"00", + X"00",X"01",X"03",X"07",X"07",X"07",X"03",X"05",X"18",X"3C",X"7E",X"7F",X"7E",X"3C",X"18",X"00", + X"00",X"80",X"C0",X"E0",X"E0",X"E0",X"C0",X"A0",X"18",X"3C",X"7E",X"FE",X"7E",X"3C",X"18",X"00", + X"00",X"00",X"00",X"00",X"18",X"3D",X"7E",X"7E",X"7E",X"3C",X"1A",X"01",X"00",X"00",X"00",X"00", + X"30",X"78",X"FC",X"FC",X"FC",X"78",X"30",X"10",X"10",X"30",X"78",X"FC",X"FC",X"FC",X"78",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"04",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"09",X"04",X"02",X"00",X"20",X"C0",X"18",X"23",X"02",X"04",X"00",X"00",X"00", + X"00",X"00",X"80",X"00",X"10",X"60",X"C0",X"40",X"00",X"10",X"00",X"50",X"40",X"20",X"00",X"00", + X"00",X"00",X"00",X"20",X"11",X"09",X"24",X"00",X"20",X"0A",X"1A",X"23",X"49",X"11",X"02",X"00", + X"00",X"00",X"40",X"80",X"8C",X"10",X"60",X"00",X"08",X"40",X"A0",X"10",X"40",X"20",X"00",X"00", + X"02",X"81",X"24",X"32",X"08",X"00",X"B8",X"6C",X"00",X"02",X"07",X"1D",X"20",X"40",X"89",X"10", + X"02",X"20",X"88",X"B0",X"E1",X"74",X"38",X"10",X"40",X"E0",X"7C",X"D2",X"88",X"84",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",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"80",X"E0",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"04",X"03",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"03",X"03",X"03",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"40",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"14",X"0F",X"5C",X"30",X"E0",X"40",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"A0",X"C0",X"E4",X"38",X"0D",X"06",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"02",X"4F",X"2F",X"39",X"F0",X"C0",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"C0",X"F4",X"FE",X"9F",X"0F",X"03",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"80",X"00",X"00",X"C0",X"D0", + X"03",X"07",X"07",X"06",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"60",X"70",X"38",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"04",X"02",X"02",X"01",X"00",X"20",X"14",X"03",X"07",X"07",X"53", + X"04",X"04",X"40",X"42",X"22",X"20",X"04",X"02",X"57",X"3F",X"3F",X"FF",X"F9",X"F0",X"E0",X"C0", + X"10",X"00",X"20",X"22",X"02",X"04",X"44",X"20",X"60",X"FB",X"FF",X"7F",X"1F",X"0B",X"02",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"80",X"00",X"20",X"C4",X"C8",X"C0",X"E0",X"EA", + X"0F",X"0E",X"1E",X"1E",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"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"7C",X"FC",X"3C",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"05",X"07",X"07",X"0F",X"0F",X"1F",X"1F",X"7F", + X"08",X"04",X"0D",X"8F",X"5F",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"F8",X"FC",X"FE",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"40",X"80",X"90",X"E0",X"E0",X"E0",X"F4",X"F8",X"F8",X"F8",X"FC", + X"3F",X"3F",X"3F",X"1F",X"7F",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FE",X"F7",X"FA",X"F0",X"E0",X"F8",X"FD",X"FB",X"7F",X"5F",X"1F",X"0F",X"03",X"01",X"01", + X"FF",X"FF",X"6F",X"5F",X"0F",X"1F",X"3F",X"3E",X"5E",X"F4",X"F0",X"E0",X"C0",X"80",X"80",X"00", + X"F8",X"FC",X"FC",X"FE",X"FE",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"03",X"03",X"01",X"03",X"43",X"27", + X"00",X"00",X"00",X"01",X"00",X"01",X"21",X"13",X"1B",X"1F",X"1F",X"BF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"04",X"08",X"98",X"D8",X"FE",X"FE",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"10",X"20",X"60",X"E0",X"C0",X"E0",X"F2", + X"3F",X"1F",X"1F",X"1F",X"1F",X"1F",X"BF",X"7F",X"7F",X"3F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FC", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F0",X"D0",X"C0",X"80",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"9F",X"0F",X"01",X"00",X"00",X"00", + X"F4",X"FC",X"F8",X"F8",X"FD",X"FE",X"FC",X"FC",X"FD",X"FE",X"FE",X"FE",X"FE",X"7F",X"3F",X"0F", + X"70",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"20",X"10",X"10",X"40",X"21",X"13",X"1F",X"3F",X"1F",X"3F",X"3F",X"1D", + X"00",X"00",X"00",X"50",X"00",X"20",X"20",X"40",X"C0",X"C0",X"F0",X"F9",X"FA",X"FC",X"F8",X"DC", + X"00",X"00",X"00",X"00",X"01",X"01",X"81",X"03",X"47",X"67",X"F7",X"FB",X"7F",X"7F",X"3F",X"7B", + X"80",X"00",X"80",X"80",X"00",X"80",X"80",X"C8",X"E0",X"E2",X"C4",X"EC",X"DE",X"FE",X"FE",X"CC", + X"00",X"04",X"00",X"00",X"00",X"40",X"40",X"21",X"3D",X"9F",X"7F",X"FF",X"FF",X"FF",X"7B",X"39", + X"00",X"00",X"04",X"00",X"00",X"00",X"C0",X"E1",X"F0",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"46", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"04",X"02",X"12", + X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"07",X"01",X"00",X"10",X"29",X"07",X"07",X"03",X"03",X"01",X"00", + X"11",X"09",X"8B",X"4F",X"2F",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FB",X"FB",X"71", + X"10",X"10",X"B2",X"F4",X"F9",X"FA",X"FE",X"FC",X"FE",X"FE",X"FE",X"FF",X"F7",X"EF",X"CF",X"9E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"10",X"10",X"10",X"08",X"08",X"89",X"45",X"45", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"80",X"80",X"88",X"11",X"22",X"64", + X"00",X"00",X"00",X"00",X"00",X"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"06",X"03",X"03",X"03",X"07",X"07",X"0F",X"0F",X"07",X"07",X"03",X"03",X"01",X"00", + X"67",X"37",X"37",X"1F",X"BF",X"BF",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"BB",X"71", + X"E6",X"F8",X"F9",X"FF",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"8E", + X"00",X"40",X"80",X"00",X"20",X"40",X"80",X"80",X"D0",X"C0",X"80",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"03",X"03",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"60",X"F8",X"F8",X"F4",X"FE", + X"01",X"01",X"00",X"18",X"2E",X"7E",X"7E",X"3D",X"7F",X"6F",X"36",X"00",X"00",X"00",X"00",X"00", + X"FE",X"FC",X"D8",X"30",X"00",X"02",X"07",X"0D",X"0F",X"06",X"66",X"B0",X"F8",X"78",X"60",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"05", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"A0",X"E0", + X"0F",X"0F",X"07",X"02",X"01",X"00",X"08",X"1C",X"1A",X"2E",X"3E",X"18",X"00",X"00",X"00",X"00", + X"D0",X"F0",X"F0",X"E0",X"C0",X"18",X"3E",X"3E",X"5D",X"7F",X"7F",X"36",X"0E",X"04",X"00",X"00", + X"01",X"0F",X"1F",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"B0",X"F0",X"F0",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"01",X"07",X"1F",X"3F",X"79", + X"00",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"3C",X"7E",X"7E",X"FF",X"FF",X"FF",X"FF",X"E7",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"80",X"E0",X"F8",X"FC",X"9E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"03",X"03",X"07",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"40",X"40",X"60",X"60",X"E0",X"F0",X"F0",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"08",X"04",X"06",X"03",X"07",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"80",X"C0",X"40",X"60",X"60",X"E0",X"F0",X"F0",X"70",X"10",X"00",X"00",X"00",X"00",X"00", + X"01",X"08",X"04",X"06",X"02",X"07",X"07",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"80",X"C0",X"C0",X"60",X"60",X"60",X"E0",X"F0",X"F0",X"70",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"1F",X"3F",X"79", + X"7E",X"7E",X"7E",X"7E",X"7E",X"3C",X"3C",X"7E",X"7E",X"7E",X"FF",X"FF",X"FF",X"FF",X"E7",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"80",X"E0",X"F8",X"FC",X"9E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"07",X"1F",X"3F",X"79", + X"00",X"00",X"20",X"64",X"7E",X"3C",X"3C",X"7E",X"7E",X"7E",X"FF",X"FF",X"FF",X"FF",X"E7",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"80",X"E0",X"F8",X"FC",X"9E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"0F",X"06",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1F",X"0F",X"1F",X"0F",X"0F",X"1F",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"06",X"0F",X"06",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"78",X"7E",X"3F",X"1F",X"0F",X"1F",X"0F",X"0F",X"1F",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"3C",X"21",X"21",X"39",X"05",X"05",X"38", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C6",X"29",X"29",X"29",X"29",X"29",X"C6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"98",X"A5",X"A5",X"A5",X"A5",X"A5",X"98", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C6",X"29",X"29",X"29",X"29",X"29",X"C6", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-1.3l.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-1.3l.vhd new file mode 100644 index 00000000..c6118e4b --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-1.3l.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpe_13l is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpe_13l is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"60",X"00",X"00", + X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"EE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"70",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"EE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"70",X"33",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"FF", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"F7",X"F1",X"00",X"00", + X"00",X"00",X"00",X"00",X"F1",X"33",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"FF", + X"80",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"F6",X"F3",X"00",X"00", + X"00",X"00",X"00",X"00",X"F1",X"77",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"F6", + X"C0",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"F7",X"00",X"00", + X"00",X"00",X"00",X"00",X"F1",X"FF",X"E6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"F7", + X"D1",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"00",X"00", + X"00",X"00",X"00",X"10",X"F1",X"FF",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"FF", + X"F3",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"FF",X"FE",X"00",X"00", + X"00",X"00",X"00",X"10",X"F3",X"FB",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"10",X"FF", + X"F1",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"FF",X"FC",X"00",X"00", + X"00",X"00",X"00",X"30",X"F3",X"F9",X"FE",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"00",X"0F",X"10",X"FE", + X"F3",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"FF",X"F8",X"00",X"00", + X"00",X"00",X"00",X"F0",X"F3",X"FD",X"FA",X"00",X"00",X"00",X"00",X"11",X"98",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"08",X"0F",X"30",X"FE", + X"F7",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"71",X"FF",X"F8",X"C0",X"00", + X"00",X"00",X"00",X"F0",X"F1",X"FF",X"F0",X"00",X"00",X"00",X"00",X"33",X"B8",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"88",X"00",X"00",X"08",X"09",X"30",X"FF", + X"F3",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"F8",X"FF",X"FC",X"C0",X"00", + X"00",X"00",X"00",X"F0",X"F1",X"FF",X"F0",X"00",X"00",X"00",X"00",X"33",X"E8",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"A8",X"00",X"00",X"09",X"0C",X"30",X"FF", + X"F3",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"F8",X"FF",X"FE",X"C0",X"00", + X"00",X"00",X"10",X"F0",X"F3",X"FF",X"F0",X"00",X"00",X"00",X"00",X"77",X"F8",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"75",X"EC",X"00",X"00",X"09",X"08",X"71",X"FF", + X"FB",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"F7",X"FC",X"F7",X"FC",X"E0",X"00", + X"00",X"00",X"30",X"F0",X"F1",X"FF",X"F8",X"00",X"00",X"00",X"00",X"77",X"F0",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"75",X"FC",X"00",X"00",X"09",X"08",X"71",X"FF", + X"FB",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"F7",X"FC",X"F7",X"F8",X"E0",X"00", + X"00",X"10",X"30",X"F0",X"F1",X"FF",X"F8",X"80",X"00",X"00",X"00",X"77",X"F0",X"E0",X"00",X"00", + X"00",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FC",X"80",X"00",X"0B",X"08",X"70",X"FE", + X"FF",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"66",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"FE",X"FF",X"F8",X"E0",X"00", + X"00",X"30",X"B0",X"F0",X"F3",X"FF",X"F8",X"80",X"00",X"00",X"00",X"FF",X"F8",X"E0",X"00",X"00", + X"00",X"33",X"88",X"00",X"00",X"00",X"00",X"00",X"F7",X"F8",X"80",X"00",X"0B",X"0C",X"70",X"FE", + X"FF",X"C4",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"EE",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"FE",X"FF",X"FC",X"E0",X"00", + X"00",X"30",X"F0",X"FD",X"FB",X"FF",X"FC",X"80",X"00",X"00",X"00",X"FF",X"F8",X"E0",X"00",X"00", + X"00",X"33",X"88",X"00",X"00",X"00",X"00",X"00",X"F3",X"F8",X"80",X"00",X"06",X"0C",X"71",X"FE", + X"F7",X"C4",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"EE",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"F7",X"FC",X"FF",X"FC",X"E0",X"00", + X"00",X"F0",X"F0",X"FF",X"FD",X"FF",X"FC",X"C4",X"00",X"11",X"11",X"FF",X"F8",X"E0",X"00",X"00", + X"00",X"77",X"C0",X"00",X"00",X"00",X"00",X"00",X"F7",X"FC",X"C0",X"80",X"00",X"04",X"71",X"FF", + X"F6",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"F7",X"C4",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"FE",X"FF",X"F8",X"E0",X"00", + X"00",X"F0",X"F0",X"F7",X"FE",X"FF",X"FC",X"C4",X"00",X"33",X"BB",X"FB",X"F0",X"E0",X"00",X"00", + X"00",X"FF",X"C0",X"00",X"00",X"00",X"00",X"D0",X"F3",X"FD",X"D0",X"80",X"00",X"02",X"70",X"FF", + X"F6",X"D5",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"F7",X"C4",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"FF",X"FF",X"F0",X"E0",X"00", + X"30",X"F0",X"F0",X"FB",X"FF",X"FF",X"FF",X"E0",X"00",X"33",X"FF",X"F7",X"F0",X"F4",X"00",X"00", + X"00",X"FF",X"C8",X"00",X"00",X"00",X"10",X"F0",X"F3",X"FD",X"F8",X"80",X"00",X"00",X"70",X"FF", + X"F6",X"DD",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",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"22",X"F7",X"FF",X"FF",X"F0",X"F0",X"00", + X"70",X"F0",X"F3",X"FD",X"FF",X"FF",X"FF",X"E8",X"00",X"77",X"FF",X"FF",X"F8",X"FC",X"00",X"00", + X"11",X"FE",X"C0",X"00",X"00",X"00",X"10",X"F4",X"F7",X"FF",X"FC",X"80",X"00",X"00",X"78",X"FF", + X"FE",X"FF",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FB",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"33",X"F7",X"F7",X"FE",X"F0",X"F0",X"80", + X"71",X"F8",X"F7",X"FF",X"FF",X"FF",X"FF",X"F0",X"33",X"FF",X"FF",X"FD",X"F0",X"F8",X"00",X"00", + X"11",X"FC",X"E0",X"C0",X"00",X"00",X"10",X"FC",X"FF",X"FF",X"FC",X"C0",X"00",X"00",X"F3",X"FE", + X"FE",X"FF",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FB",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"33",X"F7",X"F7",X"FE",X"F0",X"F0",X"E0", + X"FF",X"FA",X"F7",X"FF",X"FF",X"FF",X"FF",X"F1",X"FF",X"FD",X"FF",X"FC",X"F1",X"F0",X"C0",X"00", + X"33",X"F8",X"E0",X"C0",X"00",X"00",X"11",X"FE",X"FF",X"FF",X"FD",X"C4",X"00",X"00",X"F3",X"FE", + X"FF",X"FF",X"EE",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"33",X"FF",X"FF",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"33",X"F7",X"F7",X"FF",X"F0",X"F1",X"F1", + X"FF",X"F2",X"FF",X"FF",X"FF",X"FF",X"FE",X"F3",X"FF",X"F0",X"FF",X"FE",X"F0",X"F0",X"C0",X"00", + X"33",X"F8",X"E0",X"E0",X"00",X"00",X"33",X"FF",X"F7",X"FF",X"FF",X"F8",X"00",X"33",X"F3",X"FE", + X"FF",X"FF",X"FF",X"88",X"00",X"00",X"77",X"66",X"00",X"00",X"33",X"FF",X"FF",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"FF",X"FF",X"FB",X"FF",X"F3",X"F3",X"FD", + X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"FC",X"F7",X"FE",X"F0",X"FF",X"FF",X"F0",X"F0",X"E0",X"00", + X"BB",X"FE",X"E0",X"E0",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"F8",X"00",X"FF",X"F7",X"FF", + X"FF",X"FF",X"FF",X"88",X"00",X"00",X"77",X"EC",X"00",X"00",X"33",X"FF",X"FF",X"CC",X"00",X"00", + X"00",X"11",X"CC",X"00",X"00",X"00",X"00",X"00",X"11",X"FD",X"FF",X"FB",X"FE",X"F7",X"F7",X"FB", + X"FE",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F8",X"F0",X"F7",X"FE",X"F0",X"F0",X"E0",X"11", + X"FF",X"FC",X"F0",X"E0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"88",X"FF",X"F7",X"FF", + X"FF",X"FC",X"FF",X"88",X"00",X"11",X"FF",X"EC",X"00",X"00",X"33",X"FF",X"FD",X"CC",X"00",X"00", + X"00",X"11",X"CC",X"00",X"00",X"00",X"00",X"00",X"11",X"FC",X"FF",X"FF",X"FD",X"FE",X"FF",X"F7", + X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"FC",X"F8",X"FF",X"F8",X"F0",X"F1",X"F0",X"11", + X"FF",X"FC",X"FC",X"F1",X"00",X"00",X"FF",X"FF",X"FD",X"FF",X"FF",X"F2",X"88",X"FF",X"F7",X"FF", + X"FF",X"F8",X"F3",X"88",X"00",X"11",X"FF",X"EA",X"00",X"00",X"77",X"FF",X"FF",X"EC",X"00",X"00", + X"00",X"11",X"FE",X"00",X"00",X"00",X"00",X"00",X"11",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FB",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FD",X"F9",X"FF",X"FE",X"F6",X"F3",X"F8",X"11", + X"FF",X"F9",X"F9",X"F9",X"80",X"11",X"FF",X"F7",X"FD",X"FF",X"FE",X"F5",X"99",X"FF",X"FB",X"FF", + X"FF",X"F0",X"F3",X"88",X"00",X"30",X"FF",X"EE",X"00",X"00",X"77",X"FB",X"FF",X"E8",X"00",X"00", + X"00",X"11",X"FE",X"C0",X"00",X"00",X"00",X"00",X"11",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"FF",X"FD",X"FF",X"F3",X"FC",X"33", + X"FF",X"F7",X"F9",X"FB",X"80",X"11",X"FF",X"F1",X"FF",X"F8",X"FE",X"F5",X"99",X"FF",X"FF",X"FF", + X"FE",X"F0",X"F0",X"EE",X"00",X"31",X"FF",X"EE",X"00",X"00",X"77",X"FB",X"FF",X"EA",X"00",X"00", + X"00",X"11",X"FE",X"C0",X"00",X"00",X"00",X"00",X"11",X"F9",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"F9",X"FF",X"F7",X"FE",X"B3", + X"FE",X"FF",X"FF",X"FB",X"80",X"11",X"FE",X"F0",X"F3",X"FF",X"FE",X"FF",X"99",X"FF",X"FF",X"FF", + X"FF",X"F1",X"F5",X"EE",X"00",X"31",X"FF",X"FE",X"00",X"00",X"FF",X"FE",X"F7",X"E6",X"00",X"00", + X"10",X"F3",X"FD",X"F0",X"00",X"00",X"00",X"00",X"17",X"FD",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"F7", + X"FF",X"FF",X"FF",X"F3",X"C0",X"73",X"FE",X"F0",X"F3",X"FF",X"FC",X"FF",X"BB",X"FF",X"FC",X"F7", + X"FF",X"F1",X"FF",X"EE",X"00",X"F1",X"FF",X"FC",X"00",X"00",X"FF",X"FE",X"FF",X"FF",X"00",X"00", + X"10",X"F3",X"FB",X"F0",X"00",X"00",X"00",X"11",X"F9",X"FF",X"FF",X"FD",X"FC",X"F3",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"FF",X"FF",X"FE",X"FF",X"C0",X"73",X"FC",X"F4",X"FB",X"FF",X"FB",X"FF",X"BB",X"FF",X"FF",X"F7", + X"FF",X"FB",X"FF",X"FF",X"88",X"F3",X"FF",X"FC",X"00",X"10",X"FF",X"FE",X"FF",X"FF",X"C0",X"00", + X"10",X"F7",X"FF",X"F4",X"80",X"00",X"00",X"32",X"F8",X"FF",X"FF",X"F9",X"FE",X"F1",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD", + X"FF",X"FF",X"FF",X"FF",X"C8",X"F7",X"FC",X"F4",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB", + X"FF",X"FB",X"FF",X"FF",X"98",X"FD",X"FF",X"F0",X"00",X"30",X"FF",X"FE",X"F7",X"FF",X"C0",X"00", + X"70",X"FF",X"FF",X"FC",X"80",X"00",X"00",X"74",X"F9",X"F7",X"FF",X"FF",X"FF",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"FE", + X"FF",X"FF",X"FD",X"FF",X"E8",X"F7",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD", + X"FF",X"FB",X"FF",X"FF",X"F8",X"FE",X"FE",X"FC",X"E0",X"30",X"FF",X"F7",X"FF",X"FF",X"C0",X"00", + X"70",X"FF",X"F7",X"FC",X"80",X"00",X"00",X"F8",X"FB",X"F7",X"FF",X"FF",X"FF",X"FA",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FD",X"FF",X"FC",X"F7",X"F2",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"F9",X"FF",X"FD",X"FE",X"E0",X"30",X"FF",X"F7",X"FF",X"FE",X"C4",X"00", + X"71",X"F7",X"F7",X"FD",X"80",X"10",X"CC",X"F2",X"FB",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F9",X"FB",X"FF",X"FC",X"F7",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FD",X"FF",X"FF",X"FD",X"FF",X"FF",X"FF",X"F0",X"74",X"FF",X"F3",X"FF",X"FE",X"F7",X"00", + X"F1",X"F3",X"FB",X"FB",X"80",X"10",X"FF",X"FF",X"F3",X"FB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FB",X"FF",X"FC",X"FF",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"F6",X"F0",X"F8",X"FF",X"F7",X"FF",X"FC",X"F7",X"CC", + X"F3",X"F7",X"FF",X"FB",X"C0",X"30",X"FF",X"FF",X"F3",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"F0",X"F0",X"FF",X"F7",X"FF",X"FB",X"FF",X"FF", + X"FB",X"FB",X"FF",X"F7",X"FB",X"F9",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F0",X"F0",X"FC",X"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"F7",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F9",X"F4",X"F5",X"FC",X"F7",X"FF",X"FF",X"FF",X"FE", + X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F6",X"F7",X"FC",X"FF",X"FF",X"FF",X"FF",X"FD", + X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FC",X"F7",X"FF",X"FF",X"FF",X"FB", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"F8",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"FF",X"F8",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"F1",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F1",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"F0",X"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F4",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",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"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-2.3k.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-2.3k.vhd new file mode 100644 index 00000000..10a76b24 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-2.3k.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpe_23k is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpe_23k is + type rom is array(0 to 4095) 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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + 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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"EC", + X"00",X"30",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"77",X"FF", + X"C0",X"F0",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"FC",X"F3",X"FF",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",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF", + X"FC",X"F3",X"FF",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"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"F0",X"FF",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FC", + X"FF",X"FF",X"FF",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F3", + X"FF",X"FF",X"FF",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"10",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"11",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FE",X"F0",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"98",X"F4",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"FF",X"FF",X"FF",X"FC",X"FF", + X"FF",X"FF",X"FE",X"F0",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FC",X"FE",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"33",X"FF",X"FF",X"FF",X"F3",X"FF", + X"FF",X"FF",X"FF",X"FC",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"00",X"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"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FC",X"F0",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"E8",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FC",X"FF",X"FF", + X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"FD",X"FF",X"FF",X"F0",X"80",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FE",X"F0",X"F0",X"F0",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"F9",X"FF",X"FE",X"F2",X"80",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"FC",X"F0",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"C0", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FB",X"FF",X"F9",X"FE",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",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"80",X"00",X"00",X"00",X"00",X"00",X"10",X"E0", + X"70",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F7",X"FF",X"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FC",X"F0",X"F0",X"F0",X"F7",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"33",X"F8", + X"F0",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FE",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F8",X"F0",X"F0",X"F1",X"FF",X"FC",X"F0",X"F0",X"C0",X"00",X"00",X"00",X"00",X"FF",X"FE", + X"F1",X"FC",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FD",X"FF",X"FF",X"FF",X"FE",X"F0",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FC",X"F0",X"F0",X"F0",X"F7",X"FF",X"F8",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"F3",X"FF",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"F9",X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F0",X"F0",X"F0",X"F1",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"C0",X"00",X"00",X"33",X"FF",X"FF", + X"F7",X"FF",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"F3",X"FF",X"FF",X"FF",X"F3",X"F0",X"F0",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC", + X"F3",X"FE",X"F6",X"F7",X"FF",X"FE",X"F0",X"F0",X"F0",X"F7",X"F0",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FC",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00", + X"E0",X"00",X"00",X"00",X"00",X"00",X"11",X"FC",X"FF",X"FF",X"FC",X"FF",X"FF",X"FC",X"F0",X"C0", + X"00",X"FF",X"FF",X"FF",X"FC",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"F3",X"F6",X"F1",X"FE",X"F0",X"E0",X"33",X"FF",X"FF",X"FF", + X"FF",X"FF",X"F8",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"CC", + X"F0",X"00",X"00",X"00",X"00",X"00",X"33",X"F9",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"E0", + X"FF",X"FF",X"FF",X"FC",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F9",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FE",X"F0",X"FF",X"FF",X"F7",X"FC",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF", + X"F3",X"FF",X"F0",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FE", + X"F4",X"80",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",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"F8",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"F9",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"F3",X"FF",X"FF",X"FF",X"FC", + X"FF",X"FC",X"F1",X"FC",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"FE",X"E0",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F5",X"FF",X"FF", + X"FF",X"FE",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F0",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FC",X"F7",X"FE",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF", + X"FC",X"F0",X"80",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",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"FE",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F0",X"FF",X"FC",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF", + X"F8",X"F0",X"C0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"FF",X"FF",X"FF",X"FF",X"F3",X"FF", + X"FC",X"F3",X"FF",X"F0",X"F0",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"F0",X"F3",X"F0",X"00",X"33",X"FC",X"FF",X"FF",X"FF",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F1",X"FF",X"FF",X"FF",X"FC",X"FF",X"FF", + X"FF",X"FF",X"FE",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"FF", + X"F1",X"F7",X"FE",X"C0",X"77",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FC",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"F0", + X"F3",X"FF",X"FC",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"FF",X"FC",X"FF",X"FE",X"F7",X"FF",X"FF", + X"FF",X"FF",X"F8",X"F0",X"F0",X"F0",X"F0",X"80",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FC", + X"FF",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"F3",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FC",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"C0",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"FC",X"FE",X"F3",X"FF",X"FF",X"FF", + X"FF",X"F0",X"F0",X"F0",X"F6",X"F0",X"F0",X"F0",X"F0",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FC",X"F0",X"F0",X"FC",X"FF",X"FB",X"F2",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"F8",X"F0",X"F1",X"FF",X"FF",X"FF",X"FF",X"F8",X"F0",X"F0",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE", + X"F1",X"FE",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",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"F8", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F2",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"FE",X"F7", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"FF",X"FC",X"FF",X"F3",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F3",X"FF",X"FF",X"FF",X"FC",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-3.3h.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-3.3h.vhd new file mode 100644 index 00000000..60e5f6f1 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-3.3h.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpe_33h is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpe_33h is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",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"11",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",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"11",X"11",X"8F",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"44",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",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"11",X"77",X"EF",X"0D",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"02",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",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"FF",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"00",X"00",X"44",X"02",X"00",X"00",X"00",X"00", + X"00",X"11",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"11",X"FD",X"FB",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"02",X"04",X"00",X"00",X"00", + X"00",X"33",X"FF",X"CF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"FF",X"FF",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"44",X"02",X"04",X"00",X"00",X"00", + X"00",X"FF",X"FF",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"00",X"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"F3",X"F3",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"44",X"02",X"04",X"00",X"00",X"00", + X"11",X"FF",X"FF",X"EF",X"0F",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"FF",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"22",X"33",X"0C",X"04",X"00",X"00",X"11", + X"FF",X"FF",X"FF",X"8F",X"0F",X"0F",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"22",X"FF",X"8F",X"04",X"00",X"00",X"33", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"0C",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"11",X"FF",X"EF",X"08",X"00",X"00",X"33", + X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0C",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"32",X"FC",X"FD",X"E9",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"11",X"FF",X"FF",X"08",X"00",X"00",X"33", + X"F5",X"F5",X"F5",X"FA",X"FA",X"5A",X"0C",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"33",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"88",X"11",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"01",X"00",X"33",X"F5",X"FA",X"0C",X"00",X"00",X"11", + X"F5",X"F5",X"F5",X"FA",X"FA",X"5A",X"08",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"33",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"88",X"11",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"01",X"00",X"77",X"FF",X"FF",X"0E",X"00",X"00",X"33", + X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0C",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"EF",X"0C",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"11",X"F1",X"F1",X"E1",X"00",X"00",X"00",X"00",X"00",X"44",X"22",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"01",X"00",X"77",X"FF",X"EF",X"0E",X"00",X"00",X"77", + X"F8",X"FC",X"F3",X"FC",X"F3",X"E1",X"0E",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"11",X"F1",X"F1",X"E1",X"00",X"00",X"00",X"00",X"00",X"44",X"22",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"01",X"00",X"77",X"FF",X"CF",X"0E",X"00",X"00",X"77", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0E",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"32",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"22",X"44",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"11",X"00",X"33",X"FF",X"FF",X"0C",X"00",X"11",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"08",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"8F",X"00",X"00",X"00",X"00", + X"00",X"00",X"44",X"11",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"00",X"22",X"44",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"06",X"00",X"32",X"7D",X"B6",X"84",X"00",X"11",X"F0", + X"FC",X"F0",X"FC",X"F3",X"F0",X"F3",X"F0",X"08",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"00",X"00", + X"00",X"00",X"55",X"FF",X"FF",X"FF",X"EF",X"08",X"00",X"00",X"00",X"00",X"22",X"44",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"08",X"33",X"FF",X"FF",X"0C",X"00",X"11",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00",X"EF",X"08",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"EF",X"0F",X"08",X"00",X"00",X"00", + X"00",X"00",X"33",X"FF",X"FF",X"FF",X"EF",X"08",X"00",X"00",X"00",X"00",X"11",X"88",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"EF",X"0C",X"33",X"FF",X"FF",X"0C",X"00",X"33",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0C",X"00",X"00",X"00",X"11",X"FF",X"0C",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F5",X"F5",X"FA",X"5A",X"08",X"00",X"00",X"00", + X"00",X"00",X"77",X"FF",X"FF",X"FF",X"EF",X"08",X"00",X"00",X"00",X"33",X"11",X"88",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"F6",X"0E",X"77",X"FF",X"FF",X"8E",X"00",X"77",X"FF", + X"ED",X"ED",X"FF",X"FF",X"B7",X"B7",X"CF",X"0E",X"00",X"00",X"00",X"33",X"FF",X"8E",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"0F",X"08",X"00",X"00",X"00", + X"00",X"00",X"77",X"FF",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"00",X"77",X"99",X"99",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"0E",X"77",X"FF",X"FF",X"8E",X"00",X"77",X"FF", + X"ED",X"ED",X"FF",X"FF",X"B7",X"B7",X"8F",X"0E",X"00",X"00",X"00",X"77",X"FF",X"8F",X"00",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"FE",X"FD",X"F6",X"F7",X"CF",X"08",X"00",X"00",X"00",X"77",X"99",X"99",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"32",X"76",X"04",X"77",X"FF",X"FF",X"8E",X"00",X"33",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"0C",X"00",X"00",X"00",X"74",X"FD",X"EF",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"0F",X"08",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"8F",X"08",X"00",X"00",X"00",X"33",X"11",X"88",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"0E",X"75",X"FA",X"F5",X"CA",X"00",X"33",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"0C",X"00",X"00",X"00",X"77",X"FF",X"FF",X"00",X"02", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"8F",X"08",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EF",X"0E",X"00",X"00",X"00",X"11",X"33",X"CC",X"88",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"8F",X"77",X"FF",X"FF",X"CF",X"00",X"00",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"08",X"02", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"F4",X"F2",X"C3",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"F6",X"FD",X"FF",X"EF",X"0F",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"CF",X"08", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"EF",X"FF",X"FF",X"FF",X"CF",X"08",X"00",X"11", + X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"08",X"00",X"00",X"00",X"00",X"FA",X"F8",X"2F",X"08",X"02", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"8F",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"33",X"FB",X"FD",X"FB",X"FD",X"0C", + X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"EF",X"FF",X"FF",X"FF",X"EF",X"0E",X"00",X"00", + X"77",X"B7",X"B6",X"6D",X"FC",X"0E",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"08",X"02", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F7",X"A5",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F", + X"00",X"00",X"00",X"00",X"11",X"FC",X"7D",X"F4",X"7F",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"FF",X"0C",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"08",X"02", + X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00", + X"00",X"00",X"FE",X"FF",X"F6",X"FF",X"FF",X"8F",X"00",X"11",X"ED",X"ED",X"FC",X"B7",X"F3",X"C3", + X"08",X"00",X"00",X"00",X"11",X"F8",X"7D",X"F4",X"3F",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"EF",X"0C",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"EF",X"0C",X"11", + X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"CF",X"0C",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FD",X"8F",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF", + X"0C",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"BF",X"BF",X"FA",X"FD",X"8F",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"8F",X"0C",X"00",X"00",X"00",X"00",X"33",X"FF",X"FF",X"8F",X"0C",X"33", + X"CF",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0C",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"D3",X"D3",X"FF",X"FF",X"8F",X"00",X"00", + X"33",X"FF",X"F7",X"8F",X"0F",X"0C",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"EF",X"0C",X"77", + X"EF",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"0C",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"8F",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0E",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FB",X"FB",X"FF",X"FF",X"8F",X"00",X"00", + X"33",X"FF",X"FF",X"EF",X"0F",X"08",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"EF",X"0E",X"77", + X"EF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"74",X"C2",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"EF",X"FF",X"FF",X"0F",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF", + X"0E",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"00",X"00", + X"11",X"FF",X"FF",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"DE",X"FF", + X"E9",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"EF",X"7F",X"F6",X"4B",X"00",X"77",X"D3",X"DB",X"DB",X"DB",X"DB",X"F8", + X"0E",X"00",X"00",X"00",X"11",X"B6",X"6D",X"FB",X"B7",X"FF",X"FF",X"F6",X"F6",X"8F",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"CF",X"0C",X"00",X"00",X"00",X"00",X"FC",X"FD",X"F9",X"FB",X"FF",X"FC", + X"F9",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"0E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"EF",X"FF",X"FF",X"8F",X"00",X"77",X"DB",X"DB",X"DB",X"DB",X"DB",X"E9", + X"0E",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"CF",X"0C",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC", + X"FF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"EF",X"FF",X"FF",X"0F",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF", + X"0C",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00", + X"33",X"FF",X"FF",X"FF",X"CF",X"0C",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"77",X"FF",X"CF",X"FF",X"FF",X"0E",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF", + X"0C",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"BF",X"FF",X"FF",X"CF",X"0E",X"00",X"00", + X"77",X"FF",X"FF",X"FF",X"EF",X"0E",X"00",X"00",X"00",X"00",X"FE",X"FA",X"FA",X"FA",X"DF",X"FF", + X"FB",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"CE",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"77",X"FF",X"3F",X"FF",X"EF",X"0E",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF", + X"08",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"BF",X"FF",X"FF",X"CF",X"0E",X"00",X"00", + X"77",X"FF",X"FF",X"FF",X"CF",X"0E",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"BF",X"F9", + X"FF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"11",X"FF",X"FF",X"FF",X"CF",X"08",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F", + X"08",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"1F",X"FF",X"FF",X"CF",X"08",X"00",X"00", + X"77",X"FF",X"FF",X"FF",X"8F",X"0E",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"BF",X"FF", + X"EF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"FC",X"FC",X"FC",X"E9",X"08",X"00",X"00",X"33",X"FF",X"EF",X"2F",X"0F",X"0C", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"EF",X"0F",X"FF",X"FF",X"CF",X"00",X"00",X"00", + X"77",X"FF",X"FF",X"FF",X"0F",X"0E",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"7F",X"FF", + X"EF",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"CF",X"08",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"EF",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"F9",X"0F",X"0F",X"7F",X"FF",X"8E",X"00",X"00",X"00", + X"77",X"FF",X"FF",X"FF",X"CF",X"0E",X"00",X"00",X"00",X"00",X"77",X"FF",X"0F",X"0F",X"7F",X"F5", + X"C7",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"CE",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"11",X"FF",X"FF",X"FF",X"CF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"CF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"3F",X"FF",X"CF",X"0E",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"3F",X"FF", + X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"8F",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"11",X"FF",X"FF",X"FF",X"8F",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"8E",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"EF",X"FF",X"FF",X"CF",X"0E",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"00",X"00",X"11",X"FF",X"FF",X"EF",X"7F",X"FF", + X"CF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"FF",X"8F",X"08",X"00",X"00",X"00",X"00", + X"00",X"00",X"33",X"FF",X"FF",X"FF",X"8F",X"00",X"00",X"00",X"00",X"77",X"FF",X"EF",X"0E",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"EF",X"FF",X"FF",X"CF",X"0E",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"CF",X"7F",X"EF", + X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"8E",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"77",X"FF",X"FF",X"FF",X"8E",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"8F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"8F",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"CF",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F",X"0F",X"FF",X"EF", + X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"33",X"8C",X"0F",X"0C",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"CF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"CF",X"FF",X"EF", + X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"FF",X"AA",X"1D",X"CF",X"0C",X"00",X"00",X"00", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00",X"FD",X"FA",X"F5",X"CF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"F7",X"F8",X"E7",X"0F",X"0F",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"EF",X"0F",X"0F", + X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"88",X"11",X"FF",X"0F",X"00",X"00",X"00", + X"00",X"00",X"F8",X"F1",X"F8",X"F8",X"0F",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"8F",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"0F",X"0E",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"EF",X"0F",X"0F", + X"08",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0E",X"00",X"00", + X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"0F",X"0C",X"00",X"00",X"11",X"FF",X"FF",X"CF",X"0F",X"08", + X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0E",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF", + X"08",X"00",X"00",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00", + X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"0F",X"0E",X"00",X"00",X"33",X"FF",X"FF",X"FF",X"0F",X"0C", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"00",X"00",X"00",X"FF",X"F7",X"FD",X"FF",X"CF", + X"08",X"00",X"00",X"00",X"00",X"00",X"76",X"F6",X"F6",X"F4",X"F2",X"F6",X"96",X"86",X"00",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"CF",X"0E", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"08",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"00",X"00",X"FF",X"FF",X"F7",X"FD",X"0F",X"0F", + X"0F",X"08",X"00",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"08",X"00", + X"00",X"FF",X"F1",X"F8",X"FE",X"F3",X"F8",X"0F",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"EF",X"0E", + X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"08",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F", + X"0F",X"0E",X"00",X"00",X"00",X"11",X"FA",X"FA",X"FA",X"FA",X"F5",X"F5",X"E5",X"A5",X"08",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0C",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF", + X"0F",X"0F",X"0C",X"00",X"00",X"11",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AF",X"AF",X"08",X"00", + X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"CF",X"0E",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F", + X"00",X"00",X"33",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0C",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"8F",X"0F",X"0C",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"0E",X"00", + X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"8F",X"0E",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + X"00",X"00",X"33",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"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"8F",X"0C",X"00",X"00",X"77",X"FF",X"F9",X"FC",X"F0",X"F0",X"CF",X"0F",X"0F",X"0E",X"00", + X"00",X"77",X"FF",X"FF",X"F0",X"F3",X"0F",X"0E",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F", + X"00",X"00",X"77",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"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"CF",X"0C",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0E",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F", + 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"0F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"00",X"11",X"FD",X"F9",X"0F",X"0F",X"0F",X"0F", + X"0F",X"0F",X"0C",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + 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"0F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"8F",X"0F",X"08",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + 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"0F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"77",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + X"3F",X"EF",X"0F",X"08",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F", + 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"0F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"EF",X"0F",X"0C",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + 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"0F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",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"0F",X"0C",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"EF",X"0F", + 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"8F",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",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"0F",X"0C",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"CF",X"0F", + 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"CF",X"00",X"00", + X"FF",X"FF",X"FF",X"EF",X"0F",X"0F",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"0F",X"0C",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F",X"00", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"8F",X"0F", + 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"CF",X"00",X"00", + X"FF",X"FF",X"FF",X"CF",X"0F",X"0F",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"EF",X"0F",X"0C",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",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/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-4.3f.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-4.3f.vhd new file mode 100644 index 00000000..4f7b50e5 --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-4.3f.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpe_43f is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpe_43f is + type rom is array(0 to 4095) 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"10",X"11",X"7F",X"FF",X"9C",X"08",X"00", + X"00",X"E0",X"F8",X"FC",X"FC",X"C8",X"40",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"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"FF",X"F1",X"FD",X"FB",X"F7",X"F1", + X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"78",X"FC",X"FC",X"FC",X"78",X"30",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"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FF",X"DF",X"EF",X"07",X"EF",X"DF",X"00",X"00",X"FF",X"1F",X"7F",X"3F",X"7F",X"1F", + X"00",X"00",X"FF",X"1F",X"BF",X"BF",X"BF",X"7F",X"00",X"00",X"FF",X"1F",X"5F",X"5F",X"5F",X"1F", + X"00",X"00",X"FF",X"1F",X"BF",X"BF",X"BF",X"BF",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF", + X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF", + X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF",X"07",X"07",X"07",X"07",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"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"36",X"63",X"63",X"7F",X"63",X"63", + X"00",X"7E",X"63",X"63",X"7E",X"63",X"63",X"7E",X"00",X"1E",X"33",X"60",X"60",X"60",X"33",X"1E", + X"00",X"7C",X"66",X"63",X"63",X"63",X"66",X"7C",X"00",X"7E",X"60",X"60",X"7C",X"60",X"60",X"7F", + X"00",X"7F",X"60",X"60",X"7E",X"60",X"60",X"60",X"00",X"1F",X"30",X"60",X"67",X"63",X"33",X"1F", + X"00",X"63",X"63",X"63",X"7F",X"63",X"63",X"63",X"00",X"7E",X"18",X"18",X"18",X"18",X"18",X"7E", + X"00",X"03",X"03",X"03",X"03",X"03",X"63",X"3C",X"00",X"63",X"66",X"6C",X"78",X"7C",X"6E",X"67", + X"00",X"60",X"60",X"60",X"60",X"60",X"60",X"7F",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63", + X"00",X"63",X"73",X"7B",X"7F",X"6F",X"67",X"63",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"3E", + X"00",X"7E",X"63",X"63",X"63",X"7E",X"60",X"60",X"00",X"3E",X"63",X"63",X"63",X"6B",X"67",X"3D", + X"00",X"7E",X"63",X"63",X"67",X"7C",X"6E",X"67",X"00",X"3C",X"66",X"60",X"3E",X"03",X"63",X"3E", + X"00",X"7E",X"18",X"18",X"18",X"18",X"18",X"18",X"00",X"63",X"63",X"63",X"63",X"63",X"63",X"3E", + X"00",X"63",X"63",X"63",X"77",X"3E",X"1C",X"08",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",X"63", + X"00",X"63",X"77",X"3E",X"1C",X"3E",X"77",X"63",X"00",X"66",X"66",X"66",X"3C",X"18",X"18",X"18", + X"00",X"7E",X"7E",X"0C",X"18",X"30",X"7E",X"7E",X"03",X"07",X"06",X"0C",X"08",X"00",X"60",X"60", + X"3C",X"42",X"99",X"A1",X"A5",X"99",X"42",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"50",X"50",X"50",X"50",X"50",X"50",X"40",X"40", + X"00",X"00",X"00",X"00",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F8",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00", + X"00",X"33",X"73",X"73",X"00",X"00",X"00",X"00",X"7E",X"7F",X"7F",X"3F",X"1F",X"0F",X"1F",X"0F", + X"00",X"00",X"80",X"80",X"C0",X"C1",X"E1",X"E3",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"1F",X"01",X"03", + 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"80",X"80",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"07",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"80",X"E0",X"F8",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"0F",X"07",X"07",X"C7",X"FF",X"FF",X"FF",X"FF", + X"F0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"66",X"00",X"00",X"C0",X"E0",X"F0",X"F0",X"F8", + X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"70", + X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"67",X"03",X"01",X"03",X"03",X"00",X"01",X"03", + X"66",X"00",X"00",X"03",X"07",X"1F",X"3F",X"3F",X"C0",X"C0",X"E1",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"C3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"C0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"F8",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"C0",X"F1",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"01",X"C7",X"FF",X"FF",X"FF",X"FF",X"FF", + X"C7",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"C0",X"C0",X"C0",X"C0",X"80",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"7E",X"FE", + X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"7E",X"7E",X"7E",X"7E",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"E0", + X"00",X"00",X"C0",X"F0",X"F8",X"F8",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"80",X"80",X"C0",X"C0",X"E0",X"F0",X"F8",X"F8",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"01",X"01",X"0F",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"03",X"07",X"0F",X"0F",X"0F",X"0F",X"1F",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"C0",X"F0",X"FC",X"FE",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80", + X"C0",X"F0",X"F0",X"F0",X"F0",X"F8",X"F8",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"01",X"01",X"03",X"07",X"0F",X"0F",X"0F",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"F0",X"F0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FF",X"FF",X"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"80",X"80",X"80", + X"80",X"E0",X"F0",X"F0",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"00",X"00",X"80",X"81",X"81",X"C3",X"E7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"01",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"03", + X"07",X"07",X"0F",X"1F",X"3F",X"3F",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"1F",X"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"F0",X"F0",X"F0",X"FC",X"FC",X"FE",X"FE",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"80",X"80",X"98",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC", + X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"F0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"03",X"07",X"07",X"0F",X"1F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"01",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F", + X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"1F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"7F",X"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"F8",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"03",X"1F",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"C0",X"FC",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"E1",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"07",X"3F",X"FF",X"FF",X"FF",X"FF",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"E0",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F", + X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"E0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"80",X"E0",X"F8",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"C3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",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"F0",X"FF",X"FF", + X"00",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"F0",X"FF",X"FF",X"FF",X"FF",X"00",X"3E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"E0",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"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"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0F",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"C3",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"C7",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"0F",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"01",X"01",X"01",X"01",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F", + X"1F",X"1F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"7E",X"7E",X"7E",X"7E",X"FC",X"FC",X"FC",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"FC",X"FC",X"FE",X"FE",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"CF",X"CF",X"C7",X"C7",X"83",X"83",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"0F",X"0F", + X"BF",X"BF",X"FF",X"FF",X"FD",X"FD",X"F1",X"F1",X"C3",X"C3",X"03",X"03",X"07",X"07",X"07",X"07", + X"0F",X"0F",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"3F",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8", + X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"7E",X"7E",X"7E",X"7E", + X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"3F",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"E1", + X"80",X"00",X"00",X"00",X"01",X"01",X"01",X"03",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",X"FE", + X"F0",X"F0",X"F0",X"F0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"07",X"07", + X"3F",X"3F",X"3F",X"1F",X"1F",X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"E0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80", + X"C3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F", + X"3F",X"3F",X"3F",X"3F",X"7E",X"7E",X"7E",X"FE",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",X"E0",X"80", + X"00",X"00",X"00",X"00",X"81",X"81",X"81",X"81",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07", + X"FC",X"FC",X"FD",X"FF",X"FF",X"FF",X"FC",X"F8",X"3C",X"FF",X"FF",X"FF",X"FF",X"0F",X"07",X"07", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"E0",X"E0",X"E0",X"E0", + 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"F0", + X"E0",X"E0",X"E0",X"E0",X"C0",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"01",X"00",X"00",X"00",X"01",X"03",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FE",X"FE",X"FE",X"FE",X"FE", + X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"03",X"07",X"0F",X"0F",X"0F",X"0F",X"7F",X"7F",X"7F",X"3F",X"3F",X"3F",X"1F",X"07", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0", + X"C0",X"80",X"80",X"80",X"00",X"00",X"00",X"01",X"87",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC", + X"E0",X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07", + X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"3F",X"3F",X"7E",X"7E",X"7E",X"7E", + X"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"E0",X"E0",X"E0", + X"F8",X"F8",X"F8",X"F8",X"F0",X"F0",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"F8",X"F8",X"F8",X"F8",X"F0",X"F0",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"87",X"9F",X"BF",X"FF",X"FF",X"FF",X"C0",X"00", + X"80",X"80",X"81",X"03",X"07",X"07",X"07",X"07",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC"); +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/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-5.3e.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-5.3e.vhd new file mode 100644 index 00000000..044c684e --- /dev/null +++ b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/roms/mpe-5.3e.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity mpe_53e is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of mpe_53e is + type rom is array(0 to 4095) 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"10",X"10",X"10",X"00",X"63",X"F7",X"63", + X"00",X"00",X"70",X"00",X"00",X"30",X"B0",X"30",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"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F", + X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F", + X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",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"01",X"21",X"13",X"1B",X"1F",X"0F",X"0D",X"00",X"00",X"08",X"90",X"B0",X"F0",X"E0",X"60", + X"00",X"FC",X"30",X"30",X"30",X"30",X"30",X"30",X"00",X"FC",X"30",X"30",X"30",X"30",X"30",X"FC", + X"00",X"C6",X"EE",X"FE",X"FE",X"D6",X"C6",X"C6",X"00",X"FC",X"C0",X"C0",X"F8",X"C0",X"C0",X"FE", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"78",X"FC",X"FC",X"FC",X"78",X"30", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF", + X"FF",X"8F",X"8F",X"8F",X"8F",X"FF",X"FF",X"FF",X"FF",X"CF",X"CF",X"CF",X"CF",X"FF",X"FF",X"FF", + X"FF",X"EF",X"EF",X"EF",X"EF",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"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"FF",X"80",X"80",X"80",X"80",X"FF",X"FF",X"FF",X"FF",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"FF", + X"FF",X"E0",X"E0",X"E0",X"E0",X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF", + X"FF",X"F8",X"F8",X"F8",X"F8",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF", + X"FF",X"FE",X"FE",X"FE",X"FE",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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"1C",X"26",X"63",X"63",X"63",X"32",X"1C",X"00",X"18",X"38",X"18",X"18",X"18",X"18",X"7E", + X"00",X"3E",X"63",X"47",X"1E",X"3C",X"70",X"7F",X"00",X"3F",X"06",X"0C",X"1E",X"03",X"63",X"3E", + X"00",X"0E",X"1E",X"36",X"66",X"7F",X"06",X"06",X"00",X"7C",X"60",X"7C",X"06",X"06",X"66",X"3C", + X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",X"00",X"7F",X"63",X"06",X"0C",X"18",X"18",X"18", + X"00",X"3C",X"62",X"72",X"3C",X"4F",X"43",X"3E",X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C", + X"00",X"38",X"6D",X"61",X"61",X"6D",X"39",X"00",X"00",X"E6",X"B6",X"B6",X"F6",X"B6",X"B3",X"00", + X"00",X"DE",X"CC",X"CC",X"CC",X"CC",X"8C",X"00",X"00",X"F3",X"6C",X"6C",X"6C",X"6C",X"F3",X"00", + X"00",X"93",X"DB",X"DF",X"DF",X"DB",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"10",X"00", + X"00",X"00",X"14",X"14",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80", + X"20",X"20",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"20",X"20", + X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"08",X"08",X"08", + X"02",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"3F", + 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"E0",X"F8",X"FC", + X"00",X"00",X"01",X"01",X"03",X"03",X"06",X"07",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"AF",X"FF", + X"FF",X"CC",X"8C",X"8C",X"FF",X"FF",X"FF",X"FF",X"FE",X"CF",X"C7",X"C3",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"80",X"80",X"C0",X"C0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"F0",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0", + X"0F",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"FF",X"7F",X"1F",X"07",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"F0",X"C0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"3C",X"00",X"00",X"00",X"00", + X"F3",X"F3",X"FB",X"38",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"3F",X"1F",X"0F",X"0F",X"07", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"8F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"99",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FC",X"F8",X"E0",X"C0",X"C0",X"FF",X"FF",X"1E",X"00",X"00",X"00",X"00",X"00", + X"FF",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"3C",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"3F",X"03",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"07",X"00",X"00",X"00",X"00", + X"FC",X"FC",X"F0",X"C0",X"00",X"00",X"00",X"00",X"3F",X"0E",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FE",X"38",X"00",X"00",X"00",X"00",X"00", + X"3F",X"0E",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"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80", + X"FF",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF", + X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"70",X"18",X"18",X"24",X"00",X"01",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"80",X"40",X"40",X"80",X"10",X"18",X"20",X"06",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"01",X"0E",X"10",X"60",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"02",X"04",X"0A",X"08",X"08",X"08",X"18",X"A4",X"C0",X"90",X"00",X"80",X"00", + X"00",X"00",X"40",X"30",X"0C",X"06",X"05",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"40",X"30",X"00",X"10",X"00",X"08",X"08",X"04",X"08",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"00",X"02",X"05",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"03",X"04",X"08",X"08",X"14",X"20",X"60",X"C0",X"20",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"30",X"10",X"10",X"28",X"04",X"04",X"02",X"02",X"05",X"01",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80", + X"80",X"60",X"30",X"30",X"10",X"10",X"10",X"10",X"00",X"03",X"01",X"01",X"00",X"01",X"00",X"00", + X"00",X"00",X"80",X"81",X"81",X"02",X"26",X"1C",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"0E",X"F0",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"02",X"02", + X"05",X"04",X"08",X"18",X"30",X"20",X"C0",X"C0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"18",X"10",X"30",X"20",X"40",X"40",X"40",X"A0",X"80",X"80",X"00",X"00",X"80",X"00", + X"00",X"00",X"30",X"10",X"00",X"0C",X"04",X"0A",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"80",X"80",X"18",X"38",X"44",X"04",X"04",X"04",X"00",X"00",X"00", + X"02",X"02",X"01",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"40",X"40",X"90", + X"0F",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"02",X"06",X"04",X"08",X"10",X"E0", + X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"0C",X"08",X"18",X"10",X"00",X"10", + X"10",X"10",X"28",X"20",X"20",X"20",X"20",X"60",X"40",X"80",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"30",X"60",X"40",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"18",X"3C",X"0C",X"14",X"04",X"04",X"00",X"00",X"02",X"02",X"04",X"00",X"00",X"01", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"3C",X"30",X"20",X"30",X"28", + X"20",X"20",X"40",X"40",X"20",X"00",X"40",X"C0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"03",X"02",X"02",X"02", + X"7E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"02",X"03",X"01",X"01",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"20",X"20",X"20",X"60",X"40",X"40",X"40",X"C0",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"C0", + X"40",X"40",X"00",X"00",X"02",X"02",X"0E",X"08",X"38",X"20",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"03",X"02",X"02",X"02",X"06",X"04",X"04",X"04", + X"0C",X"08",X"08",X"08",X"18",X"10",X"10",X"10",X"30",X"20",X"20",X"20",X"60",X"40",X"40",X"40", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"1E", + X"70",X"C0",X"80",X"80",X"80",X"00",X"00",X"80",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"01", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"02",X"03",X"01",X"01",X"01",X"01", + X"0C",X"08",X"08",X"08",X"18",X"30",X"60",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1C",X"30",X"20",X"20",X"60",X"40",X"40",X"60", + X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"03",X"02",X"02",X"02",X"06",X"0C",X"18",X"70", + X"00",X"80",X"80",X"C0",X"40",X"40",X"40",X"40",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"06",X"00",X"00",X"00",X"00",X"00",X"F0",X"80",X"00", + X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"60",X"30",X"10",X"10",X"10",X"10", + X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"18",X"10",X"10",X"10",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"80",X"80",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01", + X"01",X"01",X"01",X"01",X"03",X"02",X"02",X"02",X"06",X"04",X"1C",X"F0",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"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"0F", + X"38",X"60",X"40",X"40",X"C0",X"80",X"80",X"C0",X"78",X"00",X"00",X"00",X"00",X"00",X"01",X"03", + X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"01",X"03",X"02",X"02",X"02", + X"00",X"10",X"10",X"10",X"30",X"20",X"20",X"20",X"60",X"40",X"40",X"40",X"C0",X"80",X"80",X"80", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"01",X"01",X"01",X"01", + X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"10",X"10", + X"00",X"04",X"04",X"04",X"0C",X"08",X"08",X"08",X"F8",X"80",X"80",X"80",X"80",X"00",X"00",X"00", + X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"04",X"04",X"04",X"0C",X"08",X"08",X"08", + X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"E0", + X"00",X"40",X"40",X"C0",X"80",X"80",X"80",X"00",X"00",X"01",X"01",X"01",X"03",X"02",X"02",X"02"); +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/IremM52 Hardware/MoonPatrol/src/spram.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spram.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/spram.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spram.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_array.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_array.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_array.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_array.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_pkg_body.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_pkg_body.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprite_pkg_body.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprite_pkg_body.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/spritectl.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spritectl.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/spritectl.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spritectl.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/spritereg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spritereg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/spritereg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/spritereg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprom.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprom.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/sprom.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/sprom.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/target_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/target_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/target_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/target_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/tilemapctl.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/tilemapctl.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/tilemapctl.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/tilemapctl.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/tilemapctl_e.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/tilemapctl_e.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/tilemapctl_e.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/tilemapctl_e.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller_pkg.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller_pkg.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller_pkg.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller_pkg.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller_pkg_body.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller_pkg_body.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_controller_pkg_body.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_controller_pkg_body.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_mixer.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_mixer.vhd similarity index 100% rename from Arcade_MiST/IremM52 Hardware/MoonPatrol/src/video_mixer.vhd rename to Arcade_MiST/IremM52 Hardware/MoonPatrol/rtl/video_mixer.vhd diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.qip b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.qip deleted file mode 100644 index 3a7624fb..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Clock.qip +++ /dev/null @@ -1,4 +0,0 @@ -set_global_assignment -name IP_TOOL_NAME "ALTPLL" -set_global_assignment -name IP_TOOL_VERSION "13.1" -set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "Clock.vhd"] -set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "Clock.ppf"] diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Inputs.VHD b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Inputs.VHD deleted file mode 100644 index ef42f7bd..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/Inputs.VHD +++ /dev/null @@ -1,85 +0,0 @@ -Library IEEE; -Use IEEE.std_logic_1164.all; - -library work; -use work.pace_pkg.all; - - -entity inputs is - generic - ( - NUM_DIPS : integer := 8; - NUM_INPUTS : integer := 2; - CLK_1US_DIV : natural := 30 - ); - port - ( - clk : in std_logic; - reset : in std_logic; - ps2clk : in std_logic; - ps2data : in std_logic; - jamma : in from_JAMMA_t; - - dips : in std_logic_vector(NUM_DIPS-1 downto 0); - inputs : out from_MAPPED_INPUTS_t(0 to NUM_INPUTS-1) - ); -end entity inputs; - -architecture SYN of inputs is - - - - signal reset_n : std_logic; - signal tick_1us : std_logic; - signal ps2_reset : std_logic; - signal ps2_press : std_logic; - signal ps2_release : std_logic; - signal ps2_scancode : std_logic_vector(7 downto 0); - -begin - - reset_n <= not reset; - --- ps2clk <= 'Z'; --- ps2data <= 'Z'; - - - - inputmapper_inst : entity work.inputmapper - generic map - ( - NUM_DIPS => NUM_DIPS, - NUM_INPUTS => NUM_INPUTS - ) - port map - ( - clk => clk, - rst_n => reset_n, - - reset => ps2_reset, - key_down => ps2_press, - key_up => ps2_release, - data => ps2_scancode, - jamma => jamma, - - dips => dips, - inputs => inputs - ); - - process (clk, reset) - variable count : integer range 0 to CLK_1US_DIV := 0; - begin - if reset = '1' then - count := 0; - tick_1us <= '0'; - elsif rising_edge(clk) then - tick_1us <= '0'; - count := count + 1; - if count = CLK_1US_DIV then - count := 0; - tick_1us <= '1'; - end if; - end if; - end process; - -end architecture SYN; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dac.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dac.vhd deleted file mode 100644 index 9685a6cc..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/dac.vhd +++ /dev/null @@ -1,48 +0,0 @@ -------------------------------------------------------------------------------- --- --- Delta-Sigma DAC --- --- Refer to Xilinx Application Note XAPP154. --- --- This DAC requires an external RC low-pass filter: --- --- dac_o 0---XXXXX---+---0 analog audio --- 3k3 | --- === 4n7 --- | --- GND --- -------------------------------------------------------------------------------- - -library ieee; - use ieee.std_logic_1164.all; - use ieee.numeric_std.all; - -entity dac is - generic ( - C_bits : integer := 12 - ); - port ( - clk_i : in std_logic; - res_n_i : in std_logic; - dac_i : in std_logic_vector(C_bits-1 downto 0); - dac_o : out std_logic - ); -end dac; - -architecture rtl of dac is - signal sig_in: unsigned(C_bits downto 0); -begin - seq: process(clk_i, res_n_i) - begin - if res_n_i = '0' then - sig_in <= to_unsigned(2**C_bits, sig_in'length); - dac_o <= '0'; - elsif rising_edge(clk_i) then - -- not dac_i(C_bits-1) effectively adds 0x8..0 to dac_i - --sig_in <= sig_in + unsigned(sig_in(C_bits) & (not dac_i(C_bits-1)) & dac_i(C_bits-2 downto 0)); - sig_in <= sig_in + unsigned(sig_in(C_bits) & dac_i); - dac_o <= sig_in(C_bits); - end if; - end process seq; -end rtl; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/gen_ram.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/gen_ram.vhd deleted file mode 100644 index f1a95608..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/gen_ram.vhd +++ /dev/null @@ -1,84 +0,0 @@ --- ----------------------------------------------------------------------- --- --- Syntiac's generic VHDL support files. --- --- ----------------------------------------------------------------------- --- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) --- http://www.syntiac.com/fpga64.html --- --- Modified April 2016 by Dar (darfpga@aol.fr) --- http://darfpga.blogspot.fr --- Remove address register when writing --- --- ----------------------------------------------------------------------- --- --- gen_rwram.vhd --- --- ----------------------------------------------------------------------- --- --- generic ram. --- --- ----------------------------------------------------------------------- - -library IEEE; -use IEEE.STD_LOGIC_1164.ALL; -use IEEE.numeric_std.ALL; - --- ----------------------------------------------------------------------- - -entity gen_ram is - generic ( - dWidth : integer := 8; - aWidth : integer := 10 - ); - port ( - clk : in std_logic; - we : in std_logic; - addr : in std_logic_vector((aWidth-1) downto 0); - d : in std_logic_vector((dWidth-1) downto 0); - q : out std_logic_vector((dWidth-1) downto 0) - ); -end entity; - --- ----------------------------------------------------------------------- - -architecture rtl of gen_ram is - subtype addressRange is integer range 0 to ((2**aWidth)-1); - type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); - signal ram: ramDef; - - signal rAddrReg : std_logic_vector((aWidth-1) downto 0); - signal qReg : std_logic_vector((dWidth-1) downto 0); -begin --- ----------------------------------------------------------------------- --- Signals to entity interface --- ----------------------------------------------------------------------- --- q <= qReg; - --- ----------------------------------------------------------------------- --- Memory write --- ----------------------------------------------------------------------- - process(clk) - begin - if rising_edge(clk) then - if we = '1' then - ram(to_integer(unsigned(addr))) <= d; - end if; - end if; - end process; - --- ----------------------------------------------------------------------- --- Memory read --- ----------------------------------------------------------------------- -process(clk) - begin - if rising_edge(clk) then --- qReg <= ram(to_integer(unsigned(rAddrReg))); --- rAddrReg <= addr; ----- qReg <= ram(to_integer(unsigned(addr))); - q <= ram(to_integer(unsigned(addr))); - end if; - end process; ---q <= ram(to_integer(unsigned(addr))); -end architecture; - diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/i82c55.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/i82c55.vhd deleted file mode 100644 index 3cce30d1..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/i82c55.vhd +++ /dev/null @@ -1,686 +0,0 @@ --- --- A simulation model of Scramble hardware --- Copyright (c) MikeJ - Feb 2007 --- --- All rights reserved --- --- Redistribution and use in source and synthezised forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- Redistributions in synthesized form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- Neither the name of the author nor the names of other contributors may --- be used to endorse or promote products derived from this software without --- specific prior written permission. --- --- THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" --- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR --- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE --- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR --- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. --- --- You are responsible for any legal issues arising from your use of this code. --- --- The latest version of this file can be found at: www.fpgaarcade.com --- --- Email support@fpgaarcade.com --- --- Revision list --- --- version 001 initial release --- - -library ieee ; - use ieee.std_logic_1164.all ; - use ieee.std_logic_unsigned.all; - use ieee.numeric_std.all; - -entity I82C55 is - port ( - - I_ADDR : in std_logic_vector(1 downto 0); -- A1-A0 - I_DATA : in std_logic_vector(7 downto 0); -- D7-D0 - O_DATA : out std_logic_vector(7 downto 0); - O_DATA_OE_L : out std_logic; - - I_CS_L : in std_logic; - I_RD_L : in std_logic; - I_WR_L : in std_logic; - - I_PA : in std_logic_vector(7 downto 0); - O_PA : out std_logic_vector(7 downto 0); - O_PA_OE_L : out std_logic_vector(7 downto 0); - - I_PB : in std_logic_vector(7 downto 0); - O_PB : out std_logic_vector(7 downto 0); - O_PB_OE_L : out std_logic_vector(7 downto 0); - - I_PC : in std_logic_vector(7 downto 0); - O_PC : out std_logic_vector(7 downto 0); - O_PC_OE_L : out std_logic_vector(7 downto 0); - - RESET : in std_logic; - ENA : in std_logic; -- (CPU) clk enable - CLK : in std_logic - ); -end; - -architecture RTL of I82C55 is - - -- registers - signal bit_mask : std_logic_vector(7 downto 0); - signal r_porta : std_logic_vector(7 downto 0); - signal r_portb : std_logic_vector(7 downto 0); - signal r_portc : std_logic_vector(7 downto 0); - signal r_control : std_logic_vector(7 downto 0); - -- - signal porta_we : std_logic; - signal portb_we : std_logic; - signal porta_re : std_logic; - signal portb_re : std_logic; - -- - signal porta_we_t1 : std_logic; - signal portb_we_t1 : std_logic; - signal porta_re_t1 : std_logic; - signal portb_re_t1 : std_logic; - -- - signal porta_we_rising : boolean; - signal portb_we_rising : boolean; - signal porta_re_rising : boolean; - signal portb_re_rising : boolean; - -- - signal groupa_mode : std_logic_vector(1 downto 0); -- port a/c upper - signal groupb_mode : std_logic; -- port b/c lower - -- - signal porta_read : std_logic_vector(7 downto 0); - signal portb_read : std_logic_vector(7 downto 0); - signal portc_read : std_logic_vector(7 downto 0); - signal control_read : std_logic_vector(7 downto 0); - signal mode_clear : std_logic; - -- - signal a_inte1 : std_logic; - signal a_inte2 : std_logic; - signal b_inte : std_logic; - -- - signal a_intr : std_logic; - signal a_obf_l : std_logic; - signal a_ibf : std_logic; - signal a_ack_l : std_logic; - signal a_stb_l : std_logic; - signal a_ack_l_t1 : std_logic; - signal a_stb_l_t1 : std_logic; - -- - signal b_intr : std_logic; - signal b_obf_l : std_logic; - signal b_ibf : std_logic; - signal b_ack_l : std_logic; - signal b_stb_l : std_logic; - signal b_ack_l_t1 : std_logic; - signal b_stb_l_t1 : std_logic; - -- - signal a_ack_l_rising : boolean; - signal a_stb_l_rising : boolean; - signal b_ack_l_rising : boolean; - signal b_stb_l_rising : boolean; - -- - signal porta_ipreg : std_logic_vector(7 downto 0); - signal portb_ipreg : std_logic_vector(7 downto 0); -begin - -- - -- mode 0 - basic input/output - -- mode 1 - strobed input/output - -- mode 2/3 - bi-directional bus - -- - -- control word (write) - -- - -- D7 mode set flag 1 = active - -- D6..5 GROUPA mode selection (mode 0,1,2) - -- D4 GROUPA porta 1 = input, 0 = output - -- D3 GROUPA portc upper 1 = input, 0 = output - -- D2 GROUPB mode selection (mode 0 ,1) - -- D1 GROUPB portb 1 = input, 0 = output - -- D0 GROUPB portc lower 1 = input, 0 = output - -- - -- D7 bit set/reset 0 = active - -- D6..4 x - -- D3..1 bit select - -- d0 1 = set, 0 - reset - -- - -- all output registers including status are reset when mode is changed - --1. Port A: - --All Modes: Output data is cleared, input data is not cleared. - - --2. Port B: - --Mode 0: Output data is cleared, input data is not cleared. - --Mode 1 and 2: Both output and input data are cleared. - - --3. Port C: - --Mode 0:Output data is cleared, input data is not cleared. - --Mode 1 and 2: IBF and INTR are cleared and OBF# is set. - --Outputs in Port C which are not used for handshaking or interrupt signals are cleared. - --Inputs such as STB#, ACK#, or "spare" inputs are not affected. The interrupts for Ports A and B are disabled. - - p_bit_mask : process(I_DATA) - begin - bit_mask <= x"01"; - case I_DATA(3 downto 1) is - when "000" => bit_mask <= x"01"; - when "001" => bit_mask <= x"02"; - when "010" => bit_mask <= x"04"; - when "011" => bit_mask <= x"08"; - when "100" => bit_mask <= x"10"; - when "101" => bit_mask <= x"20"; - when "110" => bit_mask <= x"40"; - when "111" => bit_mask <= x"80"; - when others => null; - end case; - end process; - - p_write_reg_reset : process(RESET, CLK) - variable r_portc_masked : std_logic_vector(7 downto 0); - variable r_portc_setclr : std_logic_vector(7 downto 0); - begin - if (RESET = '1') then - r_porta <= x"00"; - r_portb <= x"00"; - r_portc <= x"00"; - r_control <= x"9B"; -- 10011011 - mode_clear <= '1'; - elsif rising_edge(CLK) then - - r_portc_masked := (not bit_mask) and r_portc; - for i in 0 to 7 loop - r_portc_setclr(i) := bit_mask(i) and I_DATA(0); - end loop; - - if (ENA = '1') then - mode_clear <= '0'; - if (I_CS_L = '0') and (I_WR_L = '0') then - case I_ADDR is - when "00" => r_porta <= I_DATA; - when "01" => r_portb <= I_DATA; - when "10" => r_portc <= I_DATA; - - when "11" => if (I_DATA(7) = '0') then -- set/clr - r_portc <= r_portc_masked or r_portc_setclr; - else - --mode_clear <= '1'; - --r_porta <= x"00"; - --r_portb <= x"00"; -- clear port b input reg - --r_portc <= x"00"; -- clear control sigs - r_control <= I_DATA; -- load new mode - end if; - when others => null; - end case; - end if; - end if; - end if; - end process; - - p_decode_control : process(r_control) - begin - groupa_mode <= r_control(6 downto 5); - groupb_mode <= r_control(2); - end process; - - p_oe : process(I_CS_L, I_RD_L) - begin - O_DATA_OE_L <= '1'; - if (I_CS_L = '0') and (I_RD_L = '0') then - O_DATA_OE_L <= '0'; - end if; - end process; - - p_read : process(I_ADDR, porta_read, portb_read, portc_read, control_read) - begin - O_DATA <= x"00"; -- default - --if (I_CS_L = '0') and (I_RD_L = '0') then -- not required - case I_ADDR is - when "00" => O_DATA <= porta_read; - when "01" => O_DATA <= portb_read; - when "10" => O_DATA <= portc_read; - when "11" => O_DATA <= control_read; - when others => null; - end case; - --end if; - end process; - control_read(7) <= '1'; -- always 1 - control_read(6 downto 0) <= r_control(6 downto 0); - - p_rw_control : process(I_CS_L, I_RD_L, I_WR_L, I_ADDR) - begin - porta_we <= '0'; - portb_we <= '0'; - porta_re <= '0'; - portb_re <= '0'; - - if (I_CS_L = '0') and (I_ADDR = "00") then - porta_we <= not I_WR_L; - porta_re <= not I_RD_L; - end if; - - if (I_CS_L = '0') and (I_ADDR = "01") then - portb_we <= not I_WR_L; - portb_re <= not I_RD_L; - end if; - end process; - - p_rw_control_reg : process - begin - wait until rising_edge(CLK); - if (ENA = '1') then - porta_we_t1 <= porta_we; - portb_we_t1 <= portb_we; - porta_re_t1 <= porta_re; - portb_re_t1 <= portb_re; - - a_stb_l_t1 <= a_stb_l; - a_ack_l_t1 <= a_ack_l; - b_stb_l_t1 <= b_stb_l; - b_ack_l_t1 <= b_ack_l; - end if; - end process; - - porta_we_rising <= (porta_we = '0') and (porta_we_t1 = '1'); -- falling as inverted - portb_we_rising <= (portb_we = '0') and (portb_we_t1 = '1'); -- " - porta_re_rising <= (porta_re = '0') and (porta_re_t1 = '1'); -- falling as inverted - portb_re_rising <= (portb_re = '0') and (portb_re_t1 = '1'); -- " - -- - a_stb_l_rising <= (a_stb_l = '1') and (a_stb_l_t1 = '0'); - a_ack_l_rising <= (a_ack_l = '1') and (a_ack_l_t1 = '0'); - b_stb_l_rising <= (b_stb_l = '1') and (b_stb_l_t1 = '0'); - b_ack_l_rising <= (b_ack_l = '1') and (b_ack_l_t1 = '0'); - -- - -- GROUP A - -- in mode 1 - -- - -- d4=1 (porta = input) - -- pc7,6 io (d3=1 input, d3=0 output) - -- pc5 output a_ibf - -- pc4 input a_stb_l - -- pc3 output a_intr - -- - -- d4=0 (porta = output) - -- pc7 output a_obf_l - -- pc6 input a_ack_l - -- pc5,4 io (d3=1 input, d3=0 output) - -- pc3 output a_intr - -- - -- GROUP B - -- in mode 1 - -- d1=1 (portb = input) - -- pc2 input b_stb_l - -- pc1 output b_ibf - -- pc0 output b_intr - -- - -- d1=0 (portb = output) - -- pc2 input b_ack_l - -- pc1 output b_obf_l - -- pc0 output b_intr - - - -- WHEN AN INPUT - -- - -- stb_l a low on this input latches input data - -- ibf a high on this output indicates data latched. set by stb_l and reset by rising edge of RD_L - -- intr a high on this output indicates interrupt. set by stb_l high, ibf high and inte high. reset by falling edge of RD_L - -- inte A controlled by bit/set PC4 - -- inte B controlled by bit/set PC2 - - -- WHEN AN OUTPUT - -- - -- obf_l output will go low when cpu has written data - -- ack_l input - a low on this clears obf_l - -- intr output set when ack_l is high, obf_l is high and inte is one. reset by falling edge of WR_L - -- inte A controlled by bit/set PC6 - -- inte B controlled by bit/set PC2 - - -- GROUP A - -- in mode 2 - -- - -- porta = IO - -- - -- control bits 2..0 still control groupb/c lower 2..0 - -- - -- - -- PC7 output a_obf - -- PC6 input a_ack_l - -- PC5 output a_ibf - -- PC4 input a_stb_l - -- PC3 is still interrupt out - p_control_flags : process(RESET, CLK) - variable we : boolean; - variable set1 : boolean; - variable set2 : boolean; - begin - if (RESET = '1') then - a_obf_l <= '1'; - a_inte1 <= '0'; - a_ibf <= '0'; - a_inte2 <= '0'; - a_intr <= '0'; - -- - b_inte <= '0'; - b_obf_l <= '1'; - b_ibf <= '0'; - b_intr <= '0'; - elsif rising_edge(CLK) then - we := (I_CS_L = '0') and (I_WR_L = '0') and (I_ADDR = "11") and (I_DATA(7) = '0'); - - if (ENA = '1') then - if (mode_clear = '1') then - a_obf_l <= '1'; - a_inte1 <= '0'; - a_ibf <= '0'; - a_inte2 <= '0'; - a_intr <= '0'; - -- - b_inte <= '0'; - b_obf_l <= '1'; - b_ibf <= '0'; - b_intr <= '0'; - else - if (bit_mask(7) = '1') and we then - a_obf_l <= I_DATA(0); - else - if porta_we_rising then - a_obf_l <= '0'; - elsif (a_ack_l = '0') then - a_obf_l <= '1'; - end if; - end if; - -- - if (bit_mask(6) = '1') and we then a_inte1 <= I_DATA(0); end if; -- bus set when mode1 & input? - -- - if (bit_mask(5) = '1') and we then - a_ibf <= I_DATA(0); - else - if porta_re_rising then - a_ibf <= '0'; - elsif (a_stb_l = '0') then - a_ibf <= '1'; - end if; - end if; - -- - if (bit_mask(4) = '1') and we then a_inte2 <= I_DATA(0); end if; -- bus set when mode1 & output? - -- - set1 := a_ack_l_rising and (a_obf_l = '1') and (a_inte1 = '1'); - set2 := a_stb_l_rising and (a_ibf = '1') and (a_inte2 = '1'); - -- - if (bit_mask(3) = '1') and we then - a_intr <= I_DATA(0); - else - if (groupa_mode(1) = '1') then - if (porta_we = '1') or (porta_re = '1') then - a_intr <= '0'; - elsif set1 or set2 then - a_intr <= '1'; - end if; - else - if (r_control(4) = '0') then -- output - if (porta_we = '1') then -- falling ? - a_intr <= '0'; - elsif set1 then - a_intr <= '1'; - end if; - elsif (r_control(4) = '1') then -- input - if (porta_re = '1') then -- falling ? - a_intr <= '0'; - elsif set2 then - a_intr <= '1'; - end if; - end if; - end if; - end if; - -- - if (bit_mask(2) = '1') and we then b_inte <= I_DATA(0); end if; -- bus set? - - if (bit_mask(1) = '1') and we then - b_obf_l <= I_DATA(0); - else - if (r_control(1) = '0') then -- output - if portb_we_rising then - b_obf_l <= '0'; - elsif (b_ack_l = '0') then - b_obf_l <= '1'; - end if; - else - if portb_re_rising then - b_ibf <= '0'; - elsif (b_stb_l = '0') then - b_ibf <= '1'; - end if; - end if; - end if; - - if (bit_mask(0) = '1') and we then - b_intr <= I_DATA(0); - else - if (r_control(1) = '0') then -- output - if (portb_we = '1') then -- falling ? - b_intr <= '0'; - elsif b_ack_l_rising and (b_obf_l = '1') and (b_inte = '1') then - b_intr <= '1'; - end if; - else - if (portb_re = '1') then -- falling ? - b_intr <= '0'; - elsif b_stb_l_rising and (b_ibf = '1') and (b_inte = '1') then - b_intr <= '1'; - end if; - end if; - end if; - - end if; - end if; - end if; - end process; - - p_porta : process(r_porta, r_control, groupa_mode, r_porta, I_PA, porta_ipreg, a_ack_l) - begin - -- D4 GROUPA porta 1 = input, 0 = output - O_PA <= x"FF"; -- if not driven, float high - O_PA_OE_L <= x"FF"; - porta_read <= x"00"; - - if (groupa_mode = "00") then -- simple io - if (r_control(4) = '0') then -- output - O_PA <= r_porta; - O_PA_OE_L <= x"00"; - end if; - porta_read <= I_PA; - elsif (groupa_mode = "01") then -- strobed - if (r_control(4) = '0') then -- output - O_PA <= r_porta; - O_PA_OE_L <= x"00"; - end if; - porta_read <= porta_ipreg; - else -- if (groupa_mode(1) = '1') then -- bi dir - if (a_ack_l = '0') then -- output enable - O_PA <= r_porta; - O_PA_OE_L <= x"00"; - end if; - porta_read <= porta_ipreg; -- latched data - end if; - - end process; - - p_portb : process(r_portb, r_control, groupb_mode, r_portb, I_PB, portb_ipreg) - begin - O_PB <= x"FF"; -- if not driven, float high - O_PB_OE_L <= x"FF"; - portb_read <= x"00"; - - if (groupb_mode = '0') then -- simple io - if (r_control(1) = '0') then -- output - O_PB <= r_portb; - O_PB_OE_L <= x"00"; - end if; - portb_read <= I_PB; - else -- strobed mode - if (r_control(1) = '0') then -- output - O_PB <= r_portb; - O_PB_OE_L <= x"00"; - end if; - portb_read <= portb_ipreg; - end if; - end process; - - p_portc_out : process(r_portc, r_control, groupa_mode, groupb_mode, - a_obf_l, a_ibf, a_intr,b_obf_l, b_ibf, b_intr) - begin - O_PC <= x"FF"; -- if not driven, float high - O_PC_OE_L <= x"FF"; - - -- bits 7..4 - if (groupa_mode = "00") then -- simple io - if (r_control(3) = '0') then -- output - O_PC (7 downto 4) <= r_portc(7 downto 4); - O_PC_OE_L(7 downto 4) <= x"0"; - end if; - elsif (groupa_mode = "01") then -- mode1 - - if (r_control(4) = '0') then -- port a output - O_PC (7) <= a_obf_l; - O_PC_OE_L(7) <= '0'; - -- 6 is ack_l input - if (r_control(3) = '0') then -- port c output - O_PC (5 downto 4) <= r_portc(5 downto 4); - O_PC_OE_L(5 downto 4) <= "00"; - end if; - else -- port a input - if (r_control(3) = '0') then -- port c output - O_PC (7 downto 6) <= r_portc(7 downto 6); - O_PC_OE_L(7 downto 6) <= "00"; - end if; - O_PC (5) <= a_ibf; - O_PC_OE_L(5) <= '0'; - -- 4 is stb_l input - end if; - - else -- if (groupa_mode(1) = '1') then -- mode2 - O_PC (7) <= a_obf_l; - O_PC_OE_L(7) <= '0'; - -- 6 is ack_l input - O_PC (5) <= a_ibf; - O_PC_OE_L(5) <= '0'; - -- 4 is stb_l input - end if; - - -- bit 3 (controlled by group a) - if (groupa_mode = "00") then -- group a steals this bit - --if (groupb_mode = '0') then -- we will let bit 3 be driven, data sheet is a bit confused about this - if (r_control(0) = '0') then -- ouput (note, groupb control bit) - O_PC (3) <= r_portc(3); - O_PC_OE_L(3) <= '0'; - end if; - -- - else -- stolen - O_PC (3) <= a_intr; - O_PC_OE_L(3) <= '0'; - end if; - - -- bits 2..0 - if (groupb_mode = '0') then -- simple io - if (r_control(0) = '0') then -- output - O_PC (2 downto 0) <= r_portc(2 downto 0); - O_PC_OE_L(2 downto 0) <= "000"; - end if; - else - -- mode 1 - -- 2 is input - if (r_control(1) = '0') then -- output - O_PC (1) <= b_obf_l; - O_PC_OE_L(1) <= '0'; - else -- input - O_PC (1) <= b_ibf; - O_PC_OE_L(1) <= '0'; - end if; - O_PC (0) <= b_intr; - O_PC_OE_L(0) <= '0'; - end if; - end process; - - p_portc_in : process(r_portc, I_PC, r_control, groupa_mode, groupb_mode, a_ibf, b_obf_l, - a_obf_l, a_inte1, a_inte2, a_intr, b_inte, b_ibf, b_intr) - begin - portc_read <= x"00"; - - a_stb_l <= '1'; - a_ack_l <= '1'; - b_stb_l <= '1'; - b_ack_l <= '1'; - - if (groupa_mode = "01") then -- mode1 or 2 - if (r_control(4) = '0') then -- port a output - a_ack_l <= I_PC(6); - else -- port a input - a_stb_l <= I_PC(4); - end if; - elsif (groupa_mode(1) = '1') then -- mode 2 - a_ack_l <= I_PC(6); - a_stb_l <= I_PC(4); - end if; - - if (groupb_mode = '1') then - if (r_control(1) = '0') then -- output - b_ack_l <= I_PC(2); - else -- input - b_stb_l <= I_PC(2); - end if; - end if; - - if (groupa_mode = "00") then -- simple io - portc_read(7 downto 3) <= I_PC(7 downto 3); - elsif (groupa_mode = "01") then - if (r_control(4) = '0') then -- port a output - portc_read(7 downto 3) <= a_obf_l & a_inte1 & I_PC(5 downto 4) & a_intr; - else -- input - portc_read(7 downto 3) <= I_PC(7 downto 6) & a_ibf & a_inte2 & a_intr; - end if; - else -- mode 2 - portc_read(7 downto 3) <= a_obf_l & a_inte1 & a_ibf & a_inte2 & a_intr; - end if; - - if (groupb_mode = '0') then -- simple io - portc_read(2 downto 0) <= I_PC(2 downto 0); - else - if (r_control(1) = '0') then -- output - portc_read(2 downto 0) <= b_inte & b_obf_l & b_intr; - else -- input - portc_read(2 downto 0) <= b_inte & b_ibf & b_intr; - end if; - end if; - end process; - - p_ipreg : process - begin - wait until rising_edge(CLK); - -- pc4 input a_stb_l - -- pc2 input b_stb_l - - if (ENA = '1') then - if (a_stb_l = '0') then - porta_ipreg <= I_PA; - end if; - - if (mode_clear = '1') then - portb_ipreg <= (others => '0'); - elsif (b_stb_l = '0') then - portb_ipreg <= I_PB; - end if; - end if; - end process; - -end architecture RTL; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/input_mapper.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/input_mapper.vhd deleted file mode 100644 index a4d45fc1..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/input_mapper.vhd +++ /dev/null @@ -1,90 +0,0 @@ -library IEEE; -use IEEE.std_logic_1164.all; -use IEEE.std_logic_unsigned.all; - -library work; -use work.pace_pkg.all; - -entity inputmapper is - generic - ( - NUM_DIPS : integer := 8; - NUM_INPUTS : integer := 2 - ); - port - ( - clk : in std_logic; - rst_n : in std_logic; - - -- inputs from keyboard controller - reset : in std_logic; - key_down : in std_logic; - key_up : in std_logic; - data : in std_logic_vector(7 downto 0); - -- inputs from jamma connector - jamma : in from_JAMMA_t; - - -- user outputs - dips : in std_logic_vector(NUM_DIPS-1 downto 0); - inputs : out from_MAPPED_INPUTS_t(0 to NUM_INPUTS-1) - ); -end inputmapper; - -architecture SYN of inputmapper is - -begin - - process (clk, rst_n, dips) - variable jamma_v : from_MAPPED_INPUTS_t(0 to NUM_INPUTS-1); - variable keybd_v : from_MAPPED_INPUTS_t(0 to NUM_INPUTS-1); - begin - - -- note: all inputs are active LOW - - if rst_n = '0' then - for i in 0 to NUM_INPUTS-1 loop - jamma_v(i).d := (others =>'1'); - keybd_v(i).d := (others =>'0'); - end loop; - - elsif rising_edge (clk) then - - -- handle JAMMA inputs - jamma_v(0).d(0) := jamma.p(1).start; - jamma_v(0).d(1) := jamma.p(2).start; - jamma_v(0).d(2) := jamma.service; - jamma_v(0).d(3) := jamma.coin(1) and jamma.p(1).button(3); - jamma_v(1).d(0) := jamma.p(1).right; - jamma_v(1).d(1) := jamma.p(1).left; - jamma_v(1).d(2) := jamma.p(1).down; - jamma_v(1).d(3) := jamma.p(1).up; - jamma_v(1).d(5) := jamma.p(1).button(2); - jamma_v(1).d(7) := jamma.p(1).button(1); - jamma_v(2).d(4) := jamma.coin(2); - - - -- this is PS/2 reset only - if (reset = '1') then - for i in 0 to NUM_INPUTS-2 loop - keybd_v(i).d := (others =>'1'); - end loop; - keybd_v(NUM_INPUTS-1).d := (others =>'0'); - end if; - end if; -- rising_edge (clk) - - -- assign outputs - inputs(0).d <= jamma_v(0).d and not keybd_v(0).d; - inputs(1).d <= jamma_v(1).d and not keybd_v(1).d; - inputs(2).d <= jamma_v(2).d and not keybd_v(2).d; - inputs(3).d <= dips(7 downto 0); --"11111111"; -- 1C/1C, 10/30/50K, 3 lives - - inputs(4).d <= dips(15 downto 8);--"11111100"; - -- activate service which is only checked on startup - -- inputs(4).d <= "01111100"; - inputs(NUM_INPUTS-1).d <= keybd_v(NUM_INPUTS-1).d; - - end process; - -end architecture SYN; - - diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/keyboard.v b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/keyboard.v deleted file mode 100644 index d2e154b9..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/keyboard.v +++ /dev/null @@ -1,80 +0,0 @@ -module keyboard -( - input clk, - input reset, - input ps2_kbd_clk, - input ps2_kbd_data, - - output reg[9:0] joystick -); - -reg [11:0] shift_reg = 12'hFFF; -wire[11:0] kdata = {ps2_kbd_data,shift_reg[11:1]}; -wire [7:0] kcode = kdata[9:2]; -reg release_btn = 0; - -reg [7:0] code; -reg input_strobe = 0; - -always @(negedge clk) begin - reg old_reset = 0; - - old_reset <= reset; - - if(~old_reset & reset)begin - joystick <= 0; - end - - if(input_strobe) begin - case(code) - 'h16: joystick[1] <= ~release_btn; // 1 - 'h1E: joystick[2] <= ~release_btn; // 2 - - 'h75: joystick[4] <= ~release_btn; // arrow up - 'h72: joystick[5] <= ~release_btn; // arrow down - 'h6B: joystick[6] <= ~release_btn; // arrow left - 'h74: joystick[7] <= ~release_btn; // arrow right - - 'h29: joystick[0] <= ~release_btn; // Space - 'h11: joystick[8] <= ~release_btn; // Left Alt - 'h0d: joystick[9] <= ~release_btn; // Tab - 'h76: joystick[3] <= ~release_btn; // Escape - endcase - end -end - -always @(posedge clk) begin - reg [3:0] prev_clk = 0; - reg old_reset = 0; - reg action = 0; - - old_reset <= reset; - input_strobe <= 0; - - if(~old_reset & reset)begin - prev_clk <= 0; - shift_reg <= 12'hFFF; - end else begin - prev_clk <= {ps2_kbd_clk,prev_clk[3:1]}; - if(prev_clk == 1) begin - if (kdata[11] & ^kdata[10:2] & ~kdata[1] & kdata[0]) begin - shift_reg <= 12'hFFF; - if (kcode == 8'he0) ; - // Extended key code follows - else if (kcode == 8'hf0) - // Release code follows - action <= 1; - else begin - // Cancel extended/release flags for next time - action <= 0; - release_btn <= action; - code <= kcode; - input_strobe <= 1; - end - end else begin - shift_reg <= kdata; - end - end - end -end -endmodule diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/mpatrol.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/mpatrol.vhd deleted file mode 100644 index b322277e..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/mpatrol.vhd +++ /dev/null @@ -1,311 +0,0 @@ -library ieee; -use ieee.std_logic_1164.all; -use ieee.std_logic_unsigned.all; -use ieee.numeric_std.all; - -library work; -use work.pace_pkg.all; -use work.video_controller_pkg.all; - -use work.build_id.all; -use work.mist.all; - -entity mpatrol is - port - ( - CLOCK_27 : in std_logic; - SPI_SCK : in std_logic; - SPI_DI : in std_logic; - SPI_SS2 : in std_logic; - SPI_SS3 : in std_logic; - SPI_SS4 : in std_logic; - SPI_DO : out std_logic; - LED : out std_logic; - CONF_DATA0 : in std_logic; - AUDIO_L : out std_logic; - AUDIO_R : out std_logic; - VGA_VS : out std_logic; - VGA_HS : out std_logic; - VGA_R : out std_logic_vector(5 downto 0); - VGA_G : out std_logic_vector(5 downto 0); - VGA_B : out std_logic_vector(5 downto 0) - ); - -end mpatrol; - -architecture SYN of mpatrol is - - signal init : std_logic := '1'; - signal clk_sys : std_logic; - signal clk_aud : std_logic; - signal clk_dac : std_logic; - signal clk_vid : std_logic; - signal rst_audD : std_logic; - signal rst_aud : std_logic; - signal clkrst_i : from_CLKRST_t; - signal buttons_i : from_BUTTONS_t; - signal switches_i : from_SWITCHES_t; - signal leds_o : to_LEDS_t; - signal inputs_i : from_INPUTS_t; - signal video_i : from_VIDEO_t; - signal video_o : to_VIDEO_t; - --MIST - signal audio : std_logic; - signal status : std_logic_vector(63 downto 0); - signal joystick1 : std_logic_vector(31 downto 0); - signal joystick2 : std_logic_vector(31 downto 0); - signal joystick : std_logic_vector(7 downto 0); - signal kbd_joy : std_logic_vector(9 downto 0); - signal switches : std_logic_vector(1 downto 0); - signal buttons : std_logic_vector(1 downto 0); - signal ps2_kbd_clk : std_logic; - signal ps2_kbd_data : std_logic; - signal scandoubler_disable : std_logic; - signal ypbpr : std_logic; - signal no_csync : std_logic; - signal reset : std_logic; - signal audio_out : std_logic_vector(11 downto 0); - signal sound_data : std_logic_vector(7 downto 0); - - constant CONF_STR : string := - "MPATROL;;"& - "O12,Scandoubler Fx,None,CRT 25%,CRT 50%,CRT 75%;"& - "OB,Video timings,Original,PAL;"& - "O34,Patrol cars,5,3,2,1;"& - "O56,New car at,10/30/50K,20/40/60K,10K,Never;"& - "OA,Freeze,Disable,Enable;"& - "O7,Demo mode,Off,On;"& - "O8,Sector selection,Off,On;"& - "O9,Test mode,Off,On;"& - "T0,Reset;"& - "V,v"&BUILD_DATE; - - -- convert string to std_logic_vector to be given to user_io - function to_slv(s: string) return std_logic_vector is - constant ss: string(1 to s'length) := s; - variable rval: std_logic_vector(1 to 8 * s'length); - variable p: integer; - variable c: integer; - begin - for i in ss'range loop - p := 8 * i; - c := character'pos(ss(i)); - rval(p - 7 to p) := std_logic_vector(to_unsigned(c,8)); - end loop; - return rval; - end function; - -component keyboard - port ( - clk :in STD_LOGIC; - reset :in STD_LOGIC; - ps2_kbd_clk :in STD_LOGIC; - ps2_kbd_data :in STD_LOGIC; - joystick :out STD_LOGIC_VECTOR(9 downto 0)); -end component; - -begin - ---CLOCK -Clock_inst : entity work.Clock - port map ( - inclk0 => CLOCK_27, - c0 => clk_sys, -- 6 - c1 => clk_vid -- 24 - ); - -pll_aud_inst : entity work.pll_aud - port map ( - inclk0 => CLOCK_27, - c0 => clk_aud, -- 3.58/4 - c1 => clk_dac -- clk_aud * 100 - ); - - clkrst_i.clk(0) <= clk_sys; - clkrst_i.clk(1) <= clk_sys; - - video_i.clk <= clk_sys; - video_i.clk_ena <= '1'; - video_i.reset <= clkrst_i.rst(1); - ---RESET - process (clk_sys) - variable count : std_logic_vector (11 downto 0) := (others => '0'); - begin - if rising_edge(clk_sys) then - if count = X"FFF" then - init <= '0'; - else - count := count + 1; - init <= '1'; - end if; - end if; - end process; - - process (clk_sys) begin - if rising_edge(clk_sys) then - clkrst_i.arst <= init or status(0) or buttons(1); - clkrst_i.arst_n <= not clkrst_i.arst; - end if; - end process; - - process (clk_aud) begin - if rising_edge(clk_aud) then - rst_audD <= clkrst_i.arst; - rst_aud <= rst_audD; - end if; - end process; - - GEN_RESETS : for i in 0 to 3 generate - - process (clkrst_i) - variable rst_r : std_logic_vector(2 downto 0) := (others => '0'); - begin - if clkrst_i.arst = '1' then - rst_r := (others => '1'); - elsif rising_edge(clkrst_i.clk(i)) then - rst_r := rst_r(rst_r'left-1 downto 0) & '0'; - end if; - clkrst_i.rst(i) <= rst_r(rst_r'left); - end process; - - end generate GEN_RESETS; - -user_io_inst : user_io - generic map (STRLEN => CONF_STR'length) - port map ( - clk_sys => clk_sys, - conf_str => to_slv(CONF_STR), - SPI_CLK => SPI_SCK, - SPI_SS_IO => CONF_DATA0, - SPI_MOSI => SPI_DI, - SPI_MISO => SPI_DO, - switches => switches, - buttons => buttons, - scandoubler_disable => scandoubler_disable, - ypbpr => ypbpr, - no_csync => no_csync, - joystick_1 => joystick2, - joystick_0 => joystick1, - status => status, - ps2_kbd_clk => ps2_kbd_clk, - ps2_kbd_data => ps2_kbd_data - ); - -u_keyboard : keyboard - port map( - clk => clk_sys, - reset => '0', - ps2_kbd_clk => ps2_kbd_clk, - ps2_kbd_data => ps2_kbd_data, - joystick => kbd_joy -); - - joystick <= joystick1(7 downto 0) or joystick2(7 downto 0); - - inputs_i.jamma_n.coin(1) <= not (joystick(6) or kbd_joy(3));--ESC - inputs_i.jamma_n.p(1).start <= not (kbd_joy(1) or joystick1(7));--KB 1 - inputs_i.jamma_n.p(1).up <= not (joystick(3) or kbd_joy(4)); - inputs_i.jamma_n.p(1).down <= not (joystick(2) or kbd_joy(5)); - inputs_i.jamma_n.p(1).left <= not (joystick(1) or kbd_joy(6)); - inputs_i.jamma_n.p(1).right <= not (joystick(0) or kbd_joy(7)); - inputs_i.jamma_n.p(1).button(1) <= not (joystick(4) or kbd_joy(0));--Fire - inputs_i.jamma_n.p(1).button(2) <= not (joystick(5) or kbd_joy(8) or joystick(3) or kbd_joy(4));--Jump - inputs_i.jamma_n.p(1).button(3) <= '1'; - inputs_i.jamma_n.p(1).button(4) <= '1'; - inputs_i.jamma_n.p(1).button(5) <= '1'; - inputs_i.jamma_n.p(2).start <= not (kbd_joy(2) or joystick2(7));--KB 2 - inputs_i.jamma_n.p(2).up <= not (joystick(3) or kbd_joy(4)); - inputs_i.jamma_n.p(2).down <= not (joystick(2) or kbd_joy(5)); - inputs_i.jamma_n.p(2).left <= not (joystick(1) or kbd_joy(6)); - inputs_i.jamma_n.p(2).right <= not (joystick(0) or kbd_joy(7)); - inputs_i.jamma_n.p(2).button(1) <= not (joystick(4) or kbd_joy(0));--Fire - inputs_i.jamma_n.p(2).button(2) <= not (joystick(5) or kbd_joy(8) or joystick(3) or kbd_joy(4)); --Jump - inputs_i.jamma_n.p(2).button(3) <= '1'; - inputs_i.jamma_n.p(2).button(4) <= '1'; - inputs_i.jamma_n.p(2).button(5) <= '1'; - -- not currently wired to any inputs - inputs_i.jamma_n.coin_cnt <= (others => '1'); - inputs_i.jamma_n.coin(2) <= '1'; - inputs_i.jamma_n.service <= '1'; - inputs_i.jamma_n.tilt <= '1'; - inputs_i.jamma_n.test <= '1'; - - LED <= '1'; - -moon_patrol_sound_board : entity work.moon_patrol_sound_board - port map( - clock_E => clk_aud, - areset => rst_aud, - select_sound => sound_data, - audio_out => audio_out, - dbg_cpu_addr => open - ); - -dac : entity work.dac - generic map ( - C_bits => 12 - ) - port map ( - clk_i => clk_dac, - res_n_i => not rst_aud, - dac_i => audio_out, - dac_o => audio - ); - -AUDIO_R <= audio; -AUDIO_L <= audio; - -switches_i(15) <= not status(9); -- Test mode -switches_i(14) <= not status(7); -switches_i(13) <= not status(8); -- Sector select -switches_i(12) <= not status(10);-- Freeze enable -switches_i(11 downto 8) <= "1100"; -switches_i( 7 downto 4) <= "1111"; -switches_i( 1 downto 0) <= not status(4 downto 3); -- Patrol cars -switches_i( 3 downto 2) <= not status(6 downto 5); -- New car - -pace_inst : entity work.pace - port map ( - clkrst_i => clkrst_i, - palmode => status(11), - buttons_i => buttons_i, - switches_i => switches_i, - leds_o => open, - inputs_i => inputs_i, - video_i => video_i, - video_o => video_o, - sound_data_o => sound_data - ); - -mist_video: work.mist.mist_video - generic map ( - SD_HCNT_WIDTH => 10 - ) - port map ( - clk_sys => clk_vid, - scanlines => status(2 downto 1), - scandoubler_disable => scandoubler_disable, - ypbpr => ypbpr, - no_csync => no_csync, - rotate => "00", - ce_divider => "001", - - SPI_SCK => SPI_SCK, - SPI_SS3 => SPI_SS3, - SPI_DI => SPI_DI, - - HSync => not video_o.hsync, - VSync => not video_o.vsync, - R => video_o.rgb.r(9 downto 4), - G => video_o.rgb.g(9 downto 4), - B => video_o.rgb.b(9 downto 4), - - VGA_HS => VGA_HS, - VGA_VS => VGA_VS, - VGA_R => VGA_R, - VGA_G => VGA_G, - VGA_B => VGA_B - ); - -end SYN; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace_pkg_body.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace_pkg_body.vhd deleted file mode 100644 index e1cedf87..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pace_pkg_body.vhd +++ /dev/null @@ -1,50 +0,0 @@ -library work; - -package body pace_pkg is - - function NULL_TO_FLASH return to_FLASH_t is - begin - return ((others => '0'), (others => '0'), '0', '0', '0'); - end NULL_TO_FLASH; - - function NULL_TO_SRAM return to_SRAM_t is - begin - return ((others => '0'), (others => '0'), (others => '0'), '0', '0', '0'); - end NULL_TO_SRAM; - - function NULL_TO_AUDIO return to_AUDIO_t is - begin - return ('0', (others => '0'), (others => '0')); - end NULL_TO_AUDIO; - - function NULL_TO_SPI return to_SPI_t is - begin - return (others => '0'); - end NULL_TO_SPI; - - function NULL_TO_SERIAL return to_SERIAL_t is - begin - return (others => '0'); - end NULL_TO_SERIAL; - - function NULL_TO_SOUND return to_SOUND_t is - begin - return ((others => '0'), (others => '0'), '0', '0'); - end NULL_TO_SOUND; - - function NULL_FROM_OSD return from_OSD_t is - begin - return (others => (others => '0')); - end NULL_FROM_OSD; - - function NULL_TO_OSD return to_OSD_t is - begin - return ('0', (others => '0'), (others => '0'), '0'); - end NULL_TO_OSD; - - function NULL_TO_GP return to_GP_t is - begin - return ((others => '0'), (others => '0')); - end NULL_TO_GP; - -end package body pace_pkg; diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.qip b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.qip deleted file mode 100644 index 7f9f1053..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.qip +++ /dev/null @@ -1,4 +0,0 @@ -set_global_assignment -name IP_TOOL_NAME "ALTPLL" -set_global_assignment -name IP_TOOL_VERSION "13.1" -set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "pll_aud.vhd"] -set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll_aud.ppf"] diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.vhd deleted file mode 100644 index 8988613f..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/pll_aud.vhd +++ /dev/null @@ -1,397 +0,0 @@ --- megafunction wizard: %ALTPLL% --- GENERATION: STANDARD --- VERSION: WM1.0 --- MODULE: altpll - --- ============================================================ --- File Name: pll_aud.vhd --- 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 Patches 4.26 SJ Web Edition --- ************************************************************ - - ---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. - - -LIBRARY ieee; -USE ieee.std_logic_1164.all; - -LIBRARY altera_mf; -USE altera_mf.all; - -ENTITY pll_aud IS - PORT - ( - areset : IN STD_LOGIC := '0'; - inclk0 : IN STD_LOGIC := '0'; - c0 : OUT STD_LOGIC ; - c1 : OUT STD_LOGIC ; - locked : OUT STD_LOGIC - ); -END pll_aud; - - -ARCHITECTURE SYN OF pll_aud IS - - SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); - SIGNAL sub_wire1 : STD_LOGIC ; - SIGNAL sub_wire2 : STD_LOGIC ; - SIGNAL sub_wire3 : STD_LOGIC ; - SIGNAL sub_wire4 : STD_LOGIC ; - SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); - SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); - SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); - - - - COMPONENT altpll - GENERIC ( - bandwidth_type : STRING; - clk0_divide_by : NATURAL; - clk0_duty_cycle : NATURAL; - clk0_multiply_by : NATURAL; - clk0_phase_shift : STRING; - clk1_divide_by : NATURAL; - clk1_duty_cycle : NATURAL; - clk1_multiply_by : NATURAL; - clk1_phase_shift : STRING; - compensate_clock : STRING; - inclk0_input_frequency : NATURAL; - intended_device_family : STRING; - lpm_hint : STRING; - lpm_type : STRING; - operation_mode : STRING; - pll_type : STRING; - port_activeclock : STRING; - port_areset : STRING; - port_clkbad0 : STRING; - port_clkbad1 : STRING; - port_clkloss : STRING; - port_clkswitch : STRING; - port_configupdate : STRING; - port_fbin : STRING; - port_inclk0 : STRING; - port_inclk1 : STRING; - port_locked : STRING; - port_pfdena : STRING; - port_phasecounterselect : STRING; - port_phasedone : STRING; - port_phasestep : STRING; - port_phaseupdown : STRING; - port_pllena : STRING; - port_scanaclr : STRING; - port_scanclk : STRING; - port_scanclkena : STRING; - port_scandata : STRING; - port_scandataout : STRING; - port_scandone : STRING; - port_scanread : STRING; - port_scanwrite : STRING; - port_clk0 : STRING; - port_clk1 : STRING; - port_clk2 : STRING; - port_clk3 : STRING; - port_clk4 : STRING; - port_clk5 : STRING; - port_clkena0 : STRING; - port_clkena1 : STRING; - port_clkena2 : STRING; - port_clkena3 : STRING; - port_clkena4 : STRING; - port_clkena5 : STRING; - port_extclk0 : STRING; - port_extclk1 : STRING; - port_extclk2 : STRING; - port_extclk3 : STRING; - self_reset_on_loss_lock : STRING; - width_clock : NATURAL - ); - PORT ( - areset : IN STD_LOGIC ; - clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); - inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); - locked : OUT STD_LOGIC - ); - END COMPONENT; - -BEGIN - sub_wire6_bv(0 DOWNTO 0) <= "0"; - sub_wire6 <= To_stdlogicvector(sub_wire6_bv); - sub_wire3 <= sub_wire0(0); - sub_wire1 <= sub_wire0(1); - c1 <= sub_wire1; - locked <= sub_wire2; - c0 <= sub_wire3; - sub_wire4 <= inclk0; - sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; - - altpll_component : altpll - GENERIC MAP ( - bandwidth_type => "AUTO", - clk0_divide_by => 5400, - clk0_duty_cycle => 50, - clk0_multiply_by => 179, - clk0_phase_shift => "0", - clk1_divide_by => 54, - clk1_duty_cycle => 50, - clk1_multiply_by => 179, - clk1_phase_shift => "0", - compensate_clock => "CLK0", - inclk0_input_frequency => 37037, - intended_device_family => "Cyclone III", - lpm_hint => "CBX_MODULE_PREFIX=pll_aud", - lpm_type => "altpll", - operation_mode => "NORMAL", - pll_type => "AUTO", - port_activeclock => "PORT_UNUSED", - port_areset => "PORT_USED", - port_clkbad0 => "PORT_UNUSED", - port_clkbad1 => "PORT_UNUSED", - port_clkloss => "PORT_UNUSED", - port_clkswitch => "PORT_UNUSED", - port_configupdate => "PORT_UNUSED", - port_fbin => "PORT_UNUSED", - port_inclk0 => "PORT_USED", - port_inclk1 => "PORT_UNUSED", - port_locked => "PORT_USED", - port_pfdena => "PORT_UNUSED", - port_phasecounterselect => "PORT_UNUSED", - port_phasedone => "PORT_UNUSED", - port_phasestep => "PORT_UNUSED", - port_phaseupdown => "PORT_UNUSED", - port_pllena => "PORT_UNUSED", - port_scanaclr => "PORT_UNUSED", - port_scanclk => "PORT_UNUSED", - port_scanclkena => "PORT_UNUSED", - port_scandata => "PORT_UNUSED", - port_scandataout => "PORT_UNUSED", - port_scandone => "PORT_UNUSED", - port_scanread => "PORT_UNUSED", - port_scanwrite => "PORT_UNUSED", - port_clk0 => "PORT_USED", - port_clk1 => "PORT_USED", - port_clk2 => "PORT_UNUSED", - port_clk3 => "PORT_UNUSED", - port_clk4 => "PORT_UNUSED", - port_clk5 => "PORT_UNUSED", - port_clkena0 => "PORT_UNUSED", - port_clkena1 => "PORT_UNUSED", - port_clkena2 => "PORT_UNUSED", - port_clkena3 => "PORT_UNUSED", - port_clkena4 => "PORT_UNUSED", - port_clkena5 => "PORT_UNUSED", - port_extclk0 => "PORT_UNUSED", - port_extclk1 => "PORT_UNUSED", - port_extclk2 => "PORT_UNUSED", - port_extclk3 => "PORT_UNUSED", - self_reset_on_loss_lock => "OFF", - width_clock => 5 - ) - PORT MAP ( - areset => areset, - inclk => sub_wire5, - clk => sub_wire0, - locked => sub_wire2 - ); - - - -END SYN; - --- ============================================================ --- 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 "1" --- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "1" --- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" --- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" --- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "0.895000" --- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "89.500000" --- 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 "deg" --- 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: MULT_FACTOR0 NUMERIC "1" --- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "1" --- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "0.89500000" --- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "89.50000000" --- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "1" --- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" --- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 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_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: 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_aud.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: 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_CLKENA0 STRING "0" --- Retrieval info: PRIVATE: USE_CLKENA1 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 "5400" --- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" --- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "179" --- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" --- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "54" --- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" --- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "179" --- Retrieval info: CONSTANT: CLK1_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_UNUSED" --- 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: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..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: 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: locked 0 0 0 0 @locked 0 0 0 0 --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud.vhd TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud.ppf TRUE --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud.inc FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud.cmp FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud.bsf FALSE --- Retrieval info: GEN_FILE: TYPE_NORMAL pll_aud_inst.vhd FALSE --- Retrieval info: LIB_FILE: altera_mf --- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-1.3m.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-1.3m.hex deleted file mode 100644 index d0c47e2b..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-1.3m.hex +++ /dev/null @@ -1,257 +0,0 @@ -:10000000F33100E8ED563A04D0A7F20033CDF40501 -:10001000CDF206CD290DC3680000000000000000ED -:100020000000000000000000875F1600195E2356E4 -:10003000EBE900000000000008D9CD6D05214EE07D -:10004000347E23E60F200134233523353A04D0A72C -:10005000FA9300214EE034010300214EE03510FEFA -:100060000D20FBD908FBFBC9FBCD8A0B3E01324DAD -:10007000E0320FE53C3208E5C3B70B0600AF324D66 -:10008000E02146E070FBCD4507CD8A0BC3B70B06D8 -:100090000418EACDCB053A00D02F3253E0CB4F28DD -:1000A000153A04D0CB67200E2146E0CB4E20073A0C -:1000B00000D0E60120F93A04D0CB5F200621F3E01E -:1000C00034CB46FDE5DDE5CD0E043A41E0A7200541 -:1000D0003E023248E02146E046CB782015CB48204E -:1000E0001B3A48E0A7201DCB5020113A47E0A7C299 -:1000F0008F00CB402806CD7A04CDEC01DDE1FDE197 -:10010000D908FBC936023100E8FBCD290DCD3305F6 -:1001100028FBCD380BC3B70B3100E82146E035FB97 -:10012000F26800CD960BAF32A6E12115E535281B0C -:10013000CDD5062146E0CB66CAB70BCD03063A15EE -:10014000E5A7C2B70BCD0306C3B70B3E1BCD750D9C -:100150002146E0CB66281F21ED2ACD4E033A46E02A -:100160001F1F1FE6013CCDBD03CD0306CDE4053ABC -:1001700015E5A7C2B70B21022BCD4E03CD1C0628D7 -:1001800003CD0306CDE805CD290D212A2ACD000394 -:100190003E11A7283D3D273254E01133820E02CD97 -:1001A000AE033E403250E03A50E0A73A54E028E235 -:1001B0003A48E0A7200B21572CCD7403CD27051812 -:1001C000E6CD330528E1CDDA01CDDA01CDBF0CC390 -:1001D000B70BF3AF3246E0C368003A40E03215E5B2 -:1001E0002100002200E52202E5C30306DD2100E331 -:1001F0003E2032E8E0DD7E003DFA0002210C02EFF5 -:10020000111000DD1921E8E03520EAC9111331137E -:1002100070138813BC13C213EB1321140918E015D3 -:10022000FA152D162D1649165D168F163D195719FC -:100230005E19D1192F1A441A921AB91AF01A011B11 -:10024000271B3314E018AA1E281FAC20C420AA1EA6 -:10025000281F00201A20A41E281F4D209C20231D8B -:10026000F31D511E9B1E9B1CBC1C141E291ECDDCA5 -:100270000DCD0D21CD3A1BCDC71BCDA712CDE71259 -:10028000CDDC0D3ACFE121D0E1BE28E25F16E6DDFC -:10029000210000DD19DD4E00CB21201121CFE1BE70 -:1002A0002003C60477DDE5C179C60418D90600DD50 -:1002B0007000DD7E0121A502E521D302094E2366EF -:1002C00069E921D0E16E26E6712377237323722C2E -:1002D0007D32D0E1C92206FA02ED0222032F036724 -:1002E0000361033703A60D0112181200003A4EE015 -:1002F000DD8601DD7701DD360004DD6E02DD66039B -:10030000CDDB037E0612FE2628060630FE27200DD2 -:1003100023783250E03A50E0A720FA18E6CDC9031E -:1003200018E13A4EE0DDBE012805DD360004C9DDE6 -:100330006E02DD660318443A50E0A7200CCD2F036F -:10034000DD3501C83E043250E0DD360007C9CDDBA3 -:1003500003CDC9033E033250E03A50E0A720FA181B -:10036000F03A50E0A720083E043250E0CDFA02DD1A -:10037000360008C93A4EE0CB672085CDDB037E23EB -:10038000FE21C8FE232809FE2228F0AF121318EE22 -:100390002318EB7E13E60F28041BCDA6032B7E1F2C -:1003A0001F1F1FCDA7037EE60FC6301213C9FD2104 -:1003B0000004FD19F51F1F1F1FCDBD03F1E60FC679 -:1003C0003012FD710013FD23C97E23FE212833FE68 -:1003D000232812FE25282DFE2220E65E235623FD2B -:1003E000210004FD194E233AF9E0A7C879A7C8FEF9 -:1003F00003380BFE062803FE09C0C6054FC9C60B0D -:100400004FC9E1C946237E23CDC10310FBC9213E5C -:10041000E01141E03A00D0010200CD3404213FE078 -:10042000133A02D01FF6040E20CD34043A4CE0B04B -:100430003201D0C91F1F1FCB161FCB167EE655FEFB -:1004400054280E7EE6AAC021EDE0347EE60FC018E7 -:100450001978B1473E13CD7D0D1AFE012811FE0813 -:10046000300B2147E034BEC0AF773C1802D60821DC -:1004700048E0862730023E9977C93A46E007305B6C -:100480001101D0CB6728073A43E03D280113214AE8 -:10049000E07E23772B1A2F772BE60377C93A0BE5FB -:1004A0002AF7E0BE2013237E545D2322F7E0A7281D -:1004B00004FEFF20D932E0E1C9214AE03AE0E1A799 -:1004C00028133A4EE00747E6013C3249E078E61E41 -:1004D00020033620C97E36FF2377C9214DE03A4EEE -:1004E000E0477EA728B7FE50281DCB183805CB184B -:1004F0003801340E022149E0FE1838010D7123360F -:1005000000FEB0D8C37B002100E37EFE04200C3A3D -:1005100009E317D836080E0AC3C202FE08C8214AEA -:10052000E03620233600C921E22ACD00033A48E014 -:10053000C3AE0321D12ACD7403CD270521862A3AE3 -:1005400048E03D280321972ACD00033A53E0E60313 -:10055000C81F3A48E006803806D60127C80690D65C -:100560000127F33248E0783246E03CFBC92100E144 -:100570001140C8014000EDB01E200E20EDB01EC09D -:100580000E40EDB011A0C80E20EDB00E1C7E06048A -:10059000ED790C10FB233AC3E1A7282B7EE67F01FF -:1005A0004000CB3F30010420F97E07E601A85FED53 -:1005B000A33A0088E607BBC2C3000E80EDA30E601D -:1005C000EDA30EA0EDA37E2FD3C0C92ADDE17DBC33 -:1005D000C826E07E3200D0CBFF3200D07D3CE6075B -:1005E00032DDE1C93E4018023EC03250E03A50E0F0 -:1005F000A720FAC92100E00100073600230B78B1DB -:1006000020F8C92146E07EEE08772100E51118E5C3 -:1006100006181A4F7E1271231310F7C93A46E0CB21 -:100620005FC94F81814F0600210C2A093A46E0A795 -:10063000F01100E50603A71A8E2712132310F8CD38 -:10064000AF0606031100E52108E0A71A9E23131048 -:10065000FA38152A00E52208E03A02E5320AE03AC3 -:100660000EE5320BE0CD8506118480CD1C062803F3 -:1006700011A4802102E50E01CDE70306037ECDAE75 -:10068000032B10F9C9210BE07E0E09FE1B3804D69E -:100690001A0E06C640324A803AF9E01F793002C687 -:1006A00005324A841143800E09CDE7032B18CC2A6A -:1006B00001E53A45E03DF83D280124CB2C253C7C62 -:1006C0002005A728023EFE2103E5BEC07EFE03C82A -:1006D000342115E5343A15E53D28034F3E01217CD0 -:1006E00080CDEC06CDEC06280379C6307723A7C869 -:1006F0003CC92140E03A03D0473CE60320023E05D6 -:100700007723780F0F47E6033245E03A04D0CB5702 -:1007100078281F1F1FED44E60FCB5F28013C77238D -:10072000773A04D02F1F47E6012377781FE601238D -:1007300077C91F1F2F473CE60377781F1FE603FE8C -:1007400002DEF518DACD290D21972CCD0003CD2737 -:100750000521572CCD4E031154E00120003A44E00E -:10076000A72034CD9F07CDE8077EFE3220203E53E0 -:10077000325FE03268E02162E07E87D630FE3A38B0 -:1007800006D60A772B3E31772154E0CD4E033A4707 -:10079000E0A720FAC3E805CDD307CDDD0718E9218E -:1007A000672CEDB02157E03A41E0110800FE08380F -:1007B00012C6287719365323232336311106001920 -:1007C0003600C93DC8110B0019C631771106001952 -:1007D0003653C9217D2CEDB0215BE018CACDE80766 -:1007E000215BE03A42E018C22154E0CD4E032A5486 -:1007F000E0114000192254E02157E034C92177E28A -:1008000006077EA7280B2B10F9C92161E2061218F2 -:10081000F1347DD6508787DD7701C9DD7E07E6F8A4 -:100820006F26202929DD7E031F571F1FE61F856FB6 -:10083000C93A00E3FE06307A3AE2E1DD960FED4474 -:10084000DD7703FEE0386DDD4E0B0D206BFEE830EA -:1008500067E1DD360000DD7E0D3717D83717211828 -:100860002E3001245F16001946DD5E0116E178176F -:10087000301006011738277BFE60380662D65E6F9F -:100880003600FD210000FD197B1F1FE63FC6506F9B -:1008900026E2110400FD7202FD1910F972C9CD8221 -:1008A000082174E1010018712310FC21D1E17023AB -:1008B00070C9E1C9DD360B01DD7E0D07D81721189F -:1008C0002E3001245F160019DD5E0116E1FD2100C6 -:1008D00000FD1956235E234E060021F508094E231C -:1008E0006669DD4E03DD7E07CDED08AFE92F473A9F -:1008F0003CE08047C969095A09CF09CD09F50A4387 -:1009000009E20A900A560AB70A520A9F0AC909253B -:100910000B76099709BA091E0A440A340925091DEC -:100920000BB0098309DD340ADD7E0AE61FFE0B38B1 -:10093000381C18353A4EE0E603280114CD69091633 -:100940003B181BFD21A4E1FD770AFD770EFD771210 -:10095000FD7716CD950A3EF88047CD6909143E1003 -:10096000814F210400EBFD19EBDD7E0BA7792035CB -:10097000C608FE203835FD7000FD7301FD7202FDD2 -:100980007103C9DD7E081E07CB3FCB13C67A5778AB -:10099000FE80D2250B18DF3E088047FD2174E179E7 -:1009A000FEF8D018D1C608FEF038CBFD360200C9DB -:1009B0003A4EE0CB5728BF1418BC3E0E8060472E3D -:1009C00001CDE40911087618113E0A18023E05808F -:1009D00060472E01CDE40911087144210800EBFDA8 -:1009E00019EB2E00CD6909FD70042D20293E40AB86 -:1009F000FD77053E08FD720681FD7707C608FEF803 -:100A0000300AFE20D0DD7E0BA72806C9DD7E0BA7AD -:100A1000C8FD360600C914FD73053E1018D7C5D5AC -:100A200021020809444D79C608FED03011CD830952 -:100A3000110400FD19D1C12E00FD750A18A6FD365E -:100A4000020018EC32A6E132AAE132AEE1CD950AFD -:100A500018103E1818023E0DFD2174E180473EF843 -:100A6000814FAFCD6F0AEB110800FD19EB3E1081ED -:100A70006FFD7703FD7707FD70003EF080FD770482 -:100A8000FD7301FD7305FD72021414FD720615C994 -:100A9000CD950A18CD3AF9E01FD07BF60C5FC9FD61 -:100AA0002174E1FD360A00FD360E003E188047AF86 -:100AB000CD6F0AFD7206C93E188047FD2174E13EE4 -:100AC000F8CDCD0A210C00EBFD19EB3E08CD6F0AE5 -:100AD000FD750BD610FD7708FD77097AC603FD7703 -:100AE0000AC9FD21A4E1FD7706CD950A2108F80980 -:100AF000444DC37609FD21A4E1FD361A00CD950AC7 -:100B00003EF8CD130B3E08CD0C0B3E18EB11080040 -:100B1000FD19EBCD6F0A7AC602FD7706C93A4EE0A1 -:100B2000CB4F28011CCD7609DD7E01FE60D8EB118C -:100B3000A0FFFD19EBC37609CD8E0CCDBF0C3A0496 -:100B4000D0CB6FC021A92ACD00033EFF3251E02156 -:100B500053E07E4EA9A11F38083A51E0477910F3BF -:100B6000C9210EE57E3CFE3430E0772A16E54623A7 -:100B70007EE67F23FE0620F678320BE52216E5326C -:100B800023E5222EE5CD120D18C0CDB10C219426FF -:100B90002216E5C3BF0C2A16E52B7E2BE67FFE0648 -:100BA00020F711DCE1EB7E3600EBA720EC7E320B68 -:100BB000E523232216E5C92100E1010004CDFA0551 -:100BC000DD2100E3DD360001DD361009DD3601B040 -:100BD000DD3621A0DD2170E33E600609111000DD45 -:100BE0007701DD19C60410F7CD960B2B463E042184 -:100BF00000C005F2FA0B3E0726A83214E52206E3F0 -:100C00003E023208E5CD8D0D3A13E53DFE05CE00DE -:100C100006FB1F3801047832C5E1CD8129A7205F8A -:100C2000210FE5CB462058343A10E5A72858215F1C -:100C30002ACD00033A10E5FE0438023E03C63032E6 -:100C400056813E1CCD6F0D3E40320AE30E6821B640 -:100C50003046CB782014235E237E23EB2683712637 -:100C600087700C2CBD20F5EB18E73ED321D830114E -:100C700010E246CB782008121310FC3C2318F32115 -:100C800046E034C36E0221472ACD000318B4AF32C8 -:100C90004DE0CD950CCD03062100E5011600CDFAFF -:100CA00005320FE53A40E03215E52162212216E5D2 -:100CB000C921DE2622F7E02103E501110018DFCD6E -:100CC000290D2121840E063A0EE5FE1A3E00380158 -:100CD0003C32F9E0C50E01CDE70379C1061E77234A -:100CE00010FC23230D20F5210F2BCD0003CD68062A -:100CF000CD85063A46E0CB67280FCD0306CD6806C2 -:100D0000CD030621722BCD0003CDD506CD2C21CDF0 -:100D10008A293A0EE50E02FE1A3804D61A0E07C6C4 -:100D20004032528079325284C9210080010008CDBE -:100D3000FA052100E101C600CDFA053A43E03D285D -:100D4000092146E0AFCB5E28013C324CE02104D0C3 -:100D5000AE213CE036EF16FF1F30031436F123724C -:100D6000010040AFED790C10FBF3CD7D0DFBC9F315 -:100D7000CD750DFBC9E52146E0CB7EE1F0E52ADE2D -:100D8000E126E0777D3CE60732DEE1E1C9CD482986 -:100D9000CDC20C0620C5CD061121E2E17EC6087742 -:100DA000C110F2C33B0DDD5E02DD5603014A308106 -:100DB0004F0A4FEB1120007EA720031918F9225487 -:100DC000E00A033DC8F2CD0D3C771918F43A54E01F -:100DD0003C6FE61F20E87DD6206F18E2CD5B123A0B -:100DE000E2E12109E547AEE6F8C878E6F877CD06F6 -:100DF000113A4DE0A7C0210BE5347E5FA72807E636 -:100E00001F2003CDD6297B2A16E5BE200B237EE6C4 -:100E10007F32D7E1232216E521D7E17E3DF8360067 -:100E2000FE18D2450FFE172826D606FA8A0ED607D8 -:100E3000FAF00E8787875F1600FD210010FD19CD9F -:100E4000930EFD7E06A72803CDFD07DD7100C93E88 -:100E5000193270E3C93E0132DCE12AE4E07DE61F8D -:100E6000F6C06F360A0120005D09360B7B3DE61F98 -:100E7000F6C06FCD8129C6417722DAE10936F20149 -:100E8000E003093AF9E0C60577C93C28C8C605322F -:100E900008E5C9FD7E00FE02281BFE07381C16006F -:100EA000FD5E05DD2170E3FD4604DD7E00A728130D -:100EB000DD1910F6C921D7E1361111F0FFDD21F05F -:100EC000E418E4FD7E00DD770CFD7E01DD770D3A50 -:100ED00009E5D602DD770FCD3D15FD8603DD7707E9 -:100EE000DD360B00DD360300DD360E00FD4E02C997 -:100EF0003CCA400FF5FD214E10CDBA0EF1C686DD7D -:100F0000770DDD7100214A3085C6806F6EFD2AE4C1 -:100F1000E01120007E233DF2220F3CFD7700FD19F9 -:100F200018F2C822E6E03D2811FD215510CD9E0E95 -:100F3000DD360A00DD340EDD71003E0D32D7E1C929 -:100F40002AE6E018C8D61FFAB70F21C5E10EFF2325 -:100F50000CD608F24F0FC6082810772323237723D7 -:100F60002323770DF821D6E134C977FD2170E311F1 -:100F7000100006190DFAA50FFD7E00D622FE0630E0 -:100F8000196FCB4D201461FD7E0DFE2A2001242512 -:100F90002008CB552009FD360024FD1910DAC9FDC3 -:100FA000360F0118F5FD7E00D61EFE023004FD3618 -:100FB0000024FD1910EFC9C608FE043008210BE516 -:100FC00046237023773AD5E1A7C85F1600FD21FFBD -:100FD000E3FD192170E31E10013A057EA7CA5D10DA -:100FE0001910F8C900000000000000000000000017 -:100FF000000000000000000000000000000000A54C -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-2.3l.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-2.3l.hex deleted file mode 100644 index 2e75750c..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-2.3l.hex +++ /dev/null @@ -1,257 +0,0 @@ -:10000000000E12F010000100010F12F010000100AC -:10001000021012F010000100031112F01000010094 -:100020000D2512FD061000000A211DF0051000002C -:10003000041216F418100100051616F2181001002B -:10004000061B16F0181001000B2317F0012000000A -:100050001300100000004A140003400000EBDD21F3 -:100060000000DD19DD710DDD360900DD360800FD0B -:100070005607DD7207FD7E00D61EFE0AD0CB4FC0AC -:10008000FD7E03D610FEE0D079FE3A2836CD9220D0 -:10009000ED5FE67F473A03E380D62F4FDD9603C638 -:1000A00008FE11793003EE104FFDBE0317DD770C0B -:1000B00079CD3815921F1F1FE61FC60241CB380E9F -:1000C0002E180F012A8FCB3ACB3ACB3A3A14E5EEF1 -:1000D0001F92210031856F56FD7E03DD7703CB3FF4 -:1000E000903002ED441EFF1C9230FC82DD73050649 -:1000F00008CB27BACB13CB4320019210F47B2FDD22 -:100100007704DD7100C921D9E17EA7C29A113A08AE -:10011000E5FE033079470521B42C3AE2E11F1F1FA9 -:10012000E61F851002C6206F4E3AE2E11F1F1FE650 -:100130001F5F1683FD210004FD19EB112000060747 -:100140003A14E5B82807360019FD1910F622E4E044 -:1001500071FD36000419FD1936F3FD36000410F563 -:100160003AE2E11F1FE63EC6006F26E23A14E5EED2 -:100170001F57FD21242CFD09FD7E005FE67007B2AC -:1001800007070777E6F8577BE607B22377C987C6E4 -:100190007A778728023E0A32D8E14ECB19D8CB199C -:1001A00021D8E135F2B611360B3A14E5383CFE079A -:1001B000283E3E0B18277E2114E5301CA720013570 -:1001C000C6F3FEFC3802D60C4FC603FAC911C22989 -:1001D0001179D6104FC32911FE092001342FC6F220 -:1001E000FEF03002C60C4FC32911FE043E0B20D096 -:1001F00021D9E1342AE1E122F1E021000022EFE0FF -:10020000C921442DED53EBE022E9E03A4EE0C6036C -:10021000DD7701DD36000BC93A4EE0DDBE0120F38B -:100220002AEBE02322EBE02BEBFD210004FD192A51 -:10023000E9E00120007E233DFE03380D3C12FD362F -:100240000080EB09EBFD0918EC3DFA551228B95E68 -:1002500023562318AF21972CC300033A0DE53DF830 -:1002600021AB2C3A4EE0E63F281BE61FC0CD7B03B6 -:10027000CD88123602EB3612210BE57E2396FE4026 -:10028000D8233600C9CD00033A0DE521558001027F -:10029000131120003D2808190C053D28020419708F -:1002A000110004EB1971C92170E31110000102194A -:1002B0007EFE14282AFE1E381BFE203808FE223837 -:1002C00013FE2A300F3ADFE11F1FD87932DFE1C673 -:1002D00015C36F0D1910D93ADFE1A7C8AF18ED3A71 -:1002E000DFE11F0D30E5C93ADCE1A7C83A4EE0E690 -:1002F0000F2804E607C03C3C4F2ADAE17ED65A2894 -:100300000A3C0604C605280310FAC9110004197135 -:10031000C92100402202E33A4EE0E6032048DD35E1 -:100320000AF26613215F2ACD7B033E18CD750D18A6 -:1003300029CD48150707302B2A1AE31179FF197CBC -:10034000A720057DFED138023ED15FCB3B832F6FC6 -:100350003EFFDE00672B672208E3DD3400CD761513 -:10036000C3B808CD8A14CD3315D61C3207E318ED77 -:10037000DD34003E14CD750DCD48152A0EE3CDA415 -:1003800014CD3315D61E18E3CD48152A0EE3CDA49F -:10039000142A06E3ED5B08E3192206E3210C001999 -:1003A0002208E3CB14380FCD3315D61D473A07E3A7 -:1003B000B83803DD3400CDAC15C3B808DD36000213 -:1003C00018B62A02E3ED5B04E3192202E32A06E3EE -:1003D000ED5B08E3192206E3CDB808DD350AC0DD80 -:1003E0003400DD360D033E1FC3750DAF32A2E1DDD3 -:1003F000350AF0DD7E0DFE09D21801FE05380BCD61 -:10040000B808DD340DDD360A0EC9DDCB0A4EC0EE6C -:1004100007DD770DDD7E0AFEC0D2B808DD360D059A -:10042000C9DD350ADD7E0AFE50D0214DE034DD36CF -:100430000004C9CDDB2022D6E07CD608FEF0D252E3 -:10044000082AD8E023CB7C20022B2B22D8E02ADA02 -:10045000E0ED5BDCE0194C22DAE02124001922DC1B -:10046000E0CB14381FC60BCD3815D608B93015EDC2 -:100470005BDCE0210000ED52CB3ACB1BCB3ACB1B2F -:100480001922DCE0CDB808C3EF203A49E0872128E3 -:1004900030856F5E23662E00220EE3AFCB13175715 -:1004A000ED531CE3ED5B02E3AFED524F7C3003ED07 -:1004B000440CFE1838023E18213030856F5E16005D -:1004C0002A04E37CA7F2D4140D20112F677D2F6F2F -:1004D00023EB18030D2857A7ED5230521102003AB2 -:1004E0004EE01F2A04E3ED5A2204E3ED5B02E31918 -:1004F0002202E35421DCE17E3DC03A0BE587878789 -:10050000C60882D03600210EE5347E0609FE192881 -:100510000F38013DD605CAC02710F9FE06CAC0270C -:100520003E10CD750DAF0E01CDC202C3120D11FDEF -:10053000FF18AC3A03E3C620473AE2E180C606CB97 -:100540003FCB3F6F26E27EC92A4AE07CADA507D0AB -:100550004F3A20E3A720053E0A3220E32130E3068C -:10056000041110007EA728051910F979C9360E3E2E -:1005700012CD750D79C93A03E34FC604CD3815D6AF -:1005800009CDC9157AEE03573E09CD92152C1414E6 -:100590003E0D814F2C2C7DE63F6F7ED609CDED08B8 -:1005A00047FD23FD23FD23FD23C376093A03E34FD3 -:1005B0003A07E3C611CDC9157AEE03573E09CDC5FA -:1005C0001514143E0D814F18D80CCDED08471100BD -:1005D000053AE2E1CB67200114FD21A4E1C37609CD -:1005E000DD360A0C3A07E3C60A3227E32A02E31192 -:1005F000001C192222E3DD3400C9DD350A28192A3E -:1006000022E3115D04192222E3DD7E0A1F3E093830 -:10061000013CDD770DC3B808DD3400DD360A03DDAB -:10062000360D0B3AE2E1DD8603DD770FC9CD3108E7 -:10063000DD350AF0DD7E0DFE0DCA5208FE29CA52D4 -:1006400008DD340DDD360A03C93A03E3C60ADD7757 -:10065000033A07E3C602DD7707DD3400C93A00E359 -:10066000FE06302BDD7E07D603FE3A3822DD770703 -:10067000CD1B08DD7E071F1F1F7A17E607F6607780 -:100680001100041936001FD01120FC193600C9CD05 -:100690001B083600DD360000C9DD4E03DD7E0C8709 -:1006A0008787211C31856F3A20E31104F8D60B2887 -:1006B000063D2017110AF03A23E38291FEE8380B39 -:1006C0003A27E3DD96078683F24E17DD7E0CA7F806 -:1006D000233A03E39186234623B83805963001AFC9 -:1006E0008023BED2C417234623866F243A07E386AD -:1006F000DD96073D80F83A04D0CB77C8E13E07325B -:1007000000E33E03320DE3AF320AE332B0E332726C -:10071000E1CD520806033A07E3C6144F3A03E3213A -:10072000D3E13421C0E3FD21DF30361C23232377BE -:10073000C610CDF81771CDF8172323FD5E0073FDA9 -:100740002323232310E4CDA1083E1FC3750D3AE2F5 -:10075000E1DD8603322FE33E0D3220E33E26322DCB -:10076000E33E03322AE33E01CD750D110700197EE9 -:10077000E60F0E01FE0E3007CDC202E1C352082083 -:1007800013CDF017C605DD7708CDC202DD3400DDDC -:10079000360A00C9CD5608CDF0172110FBC606DD7C -:1007A0007708E5CDC202E1DD7E0784DD7707DD7ED7 -:1007B0000385DD7703DD360D54DD360021DD360A95 -:1007C0003BC3560847DD7E0CC6804FFE8B281BFEC0 -:1007D0008E28177896FE04D0DD710C2323237E1F0C -:1007E0001F1F1FE60F0E01C3C20278FEFC30E9C9CD -:1007F000ED5FE603C03E02C923FD5E007323FD5E8C -:1008000001732323FD23FD23C93A00E3FE06D0FE36 -:1008100001260028762A1CE3ED5B1AE37AA7FA2367 -:1008200018ED52210300300321FEFF3A4EE01F383D -:10083000011D19221AE3ED5B04E3A7ED522214E334 -:10084000EB2AE1E11922E1E13AD9E11F303D2AEF3B -:10085000E0197CC606FE0C3817D61267E5213FE288 -:100860001142E2014000EDB82142E20E03EDB8E191 -:1008700022EFE0ED5BF1E0193A08E5FE03300C3AB7 -:10088000E2E194FEF43804AF32D9E17C2F213DE05F -:100890008632C0E12A14E3545DCB3CCB1D19CB3C1E -:1008A000CB1DCB3CCB1DEB2A04E5192204E57C2FA4 -:1008B00032C1E1CB3ACB1B2A06E5192206E57C2F93 -:1008C00032C2E1CD3315FEC430023EC4C628300129 -:1008D000AF47C69432C3E1CB2878C67232C4E1C9AF -:1008E000CD3108CD9916DD350AF0DD340ADD7E0301 -:1008F000FEE0D0DD7E0C17D83AC0E3A7C0FD217022 -:10090000E31110000605FD7E00FE1D200DFD7E0C8E -:10091000173807DD7E03FD9603D8FD1910E8DD7E4C -:1009200007FD7707DD7E0FD604FD770FFD3600113A -:10093000FD360D22FD360C0CDD360A43C93A00E3C4 -:10094000FE06D0DD7E04C6DDDD77043003DD350F25 -:10095000CD3808CD9916C9CD3108CD9916C9CD31FC -:1009600008DD7E0CA7C0DD7E0D0707E61C21002EEA -:10097000856F3A03E3DD96038623BE3045473A0090 -:10098000E3FE04C83A04D0CB77C878460E02CB38D1 -:1009900050CB38BA38047882470DDD7E0380D61CF0 -:1009A0003203E379320DE33D3D3205E33E8032040C -:1009B000E3237E320AE32100022208E33E063200EE -:1009C000E3C996FE04D0DD340C23237E0E01C3C29E -:1009D00002DD350AF20D1ADD7E0E473C0E07FE06DB -:1009E000380B3A4EE0E63020023E304FAFDD770E56 -:1009F000DD710A78FE043804EE073D47C606DD4681 -:100A00000C04FA081ADD770CC645DD770D3A20E3B1 -:100A1000FE0F380EC03A03E3DD9603C610FE30DA4F -:100A2000FD16CD3808DD7E0CFE06C8CD9916C9CD61 -:100A30003108DD350AF0DD7E0DFE4AC8DD350DDDFD -:100A4000360A07C93A00E3FE06D0DD350EF2661A13 -:100A5000DD360E06DD7E0D3D010300218E1AEDB15F -:100A600020017EDD770DDD7E04C6C0DD7704300316 -:100A7000DD350FCD3808DD7E0CD604CB27C60C4FF4 -:100A8000DD7E03CD381591DD7707CD9916C9111597 -:100A90001A20DD360B013A00E3FE06D02A72E37C11 -:100AA000FE082809117000192272E3182CDD360A9D -:100AB00000DD3400DD360E80C93A4EE01FD83A0022 -:100AC000E3FE06D03A4EE047E603200DDD3403CBCB -:100AD000682806DD3503DD35033A4EE0E607200DD4 -:100AE000DD7E03C618CD3815D610DD7707C3B808EC -:100AF000DD350E20CFDD360A58DD3400DD360D52EF -:100B0000C9DD350A28152A72E3118001192272E322 -:100B10007CFEF0D25208CD991618BEDD3400DD36C9 -:100B20000A6EDD360D23C9CD9916DD350A2095DD17 -:100B30003500DD350BDD360D52C921EEE03A4EE0D1 -:100B400096F8010010ED5FE6F026E451596F7ED66D -:100B50001EFE0A300ACB4F2006FE0438630C5D7D72 -:100B6000C61010E9ED53D4E10DF83A10E5E603FEA6 -:100B700001894FFE09DA7A1B0E0821FF2F094E0664 -:100B8000052170E31100007EA72839D62F2001141B -:100B90007DC6106F10F17AB9D01C1DC8ED5FE60F4D -:100BA000C619214EE08632EEE01600DD2100E3DDBD -:100BB0001921D4E15EFD2100E4FD190E3BC3641050 -:100BC0005514189B5D18C93A4EE02152E0AEE61F5D -:100BD000C0ED5F7721C6E106037EA720042310F94C -:100BE000C9DD2100E40478480610FE04280F3AD637 -:100BF000E13DFAFD1B0D0DDD2170E306051110002E -:100C0000DD7E00A72805DD1910F6C93579FE023012 -:100C100043ED5FE61FC620DD770F21D6E135ED5F9E -:100C2000E61E5F1600FE0E3E823804ED5FE680DDB4 -:100C3000770C210830197EDD7707237EDD770306E8 -:100C40000021591C09097EDD770DDD360E00237E5B -:100C5000DD7700C9CD0A0818C52B262A262B222AA3 -:100C600022311EDD7E0DFE2BD8DDCB0E7E2018DD61 -:100C7000350EF0DD340DFE2F281CFE342004DD3649 -:100C80000D31DD360E08C9DD340EF8DD350DFE2CD4 -:100C900028F0FE3228ECDD360EF8C9DD6E04DD6684 -:100CA00005CB3CCB1DDDCB0C462807EB210000A774 -:100CB000ED52DD7504DD7405DD3400C90E3DDD7EC9 -:100CC00009A720130E3BDD4605CB1030020E50DD88 -:100CD0007E08FE6038010CDD710DCDFB207CFE0628 -:100CE000DA520801050022D6E07C2ADCE00922DC89 -:100CF000E0ED5BDAE01922DAE054CD3815D608BA17 -:100D0000CDEF203035DD7707DD3400DD360B00DD3B -:100D10007E00FE2A3E032005DD3600303DCD750DF8 -:100D2000C35608CDDB20ED5B14E3CB2ACB1BED5281 -:100D3000118E00ED5201100018AC3A00E3FE06D20D -:100D4000B808210506DD7E00FE2A3003210B02FDD6 -:100D50002130E31110000604FD7E00FE0F2014FD7B -:100D60007E07DD9607FE0A300AFD7E03DD960394BA -:100D7000BD382BFD1910E13A07E3DD9607FEF0DAE6 -:100D8000B808573A03E3DD9603D604FEEADAB8085A -:100D90003A04D0CB77CAB808CD5208C3FD16FD344B -:100DA00000DD7E0DFE373811DD360C00DD36002DFE -:100DB000DD360A0ADD360D4FC921C9E1010105FE04 -:100DC0003130072305FE2A2801233E11CD750D354C -:100DD00020082323237EFE033011DD360020DD367C -:100DE0000A06DD360D3778CDC202C92100FCD602D5 -:100DF000C39D17DD360D3ECD2316D603E6F8C60695 -:100E0000DD770F21D1E17EA72813233601237EA7AA -:100E1000C8C35208DD360D43CD231618E634DD3441 -:100E200000DD360A04CD3108C921D2E17E23B6A700 -:100E3000C25208DD7E03FEF8D25208DD350A20E5F5 -:100E4000DD7E0DFE49CA5208DD340DDD360A051877 -:100E5000D43AD3E1A7C25208DD350A20C8DD7E0DA1 -:100E6000FE42301FDD340DFE3F2012DD7E0F1F1FBE -:100E70001FE61F5F16830E093E01CDC202DD360A52 -:100E80000218A2DD7E07C608DD7707CD5608DD36DD -:100E90000C00DD360D81DD360013C9DD350ACA527E -:100EA00008C3B808DD350FCA4D20DD3400DD7E0CE7 -:100EB000CB27283D3F1FE680DD770C4FED5FE63FF7 -:100EC0005F1600212601190CF2D21EEBA7210000AB -:100ED000ED52DD7405DD7504EE3FD62087DD770821 -:100EE0003E00DE00DD7709ED5FE67FC620DD770A94 -:100EF000C90601DD7E07FE44380C0603FE583006A5 -:100F0000ED5FE6023C4778DD860CDD770CED5FE6B1 -:100F10000FC624DD770B216601DD7504DD7405DD68 -:100F2000360800DD360900C9CD631CCDDB20DD7E2F -:100F30000CCB272052DD350A28492AD6E0ED5BD8B4 -:100F4000E0197AED5B04E3ED5222D6E017382FDD8D -:100F50007E0D06A0D62A28080680D607380206D0BD -:100F60007CB8301F2ADAE0ED5BDCE01922DAE07CA5 -:100F7000FE38380FFE70300BCDEF20C34C1D7CFEC9 -:100F80001630E1DD3500C92AD8E0DD5E0B1600A77A -:100F9000ED5222D8E03016DD7E03D630FE403E0012 -:100FA0003004ED5FE680DD860C3CDD770CEB2AD665 -:100FB000E0ED52DD7E0C0738021919ED5B04E3ED1C -:100FC0005222D6E02ADCE0DD5E0B16000F3D0F302A -:100FD0001AA7ED5238AD22DCE0EB2ADAE0A7ED5299 -:100FE0000F3802191922DAE0C3781F1918E8000037 -:100FF00000000000000000000000000000000000F1 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-3.3k.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-3.3k.hex deleted file mode 100644 index 91b7d40f..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-3.3k.hex +++ /dev/null @@ -1,257 +0,0 @@ -:10000000DD3400DD7E0CE67FC8CD281FDD7E00FEDE -:1000100025CA831FFE24CAAA1EC9CD631CCDDB20BE -:1000200022D6E07CD608FEF0D25208ED5BDCE02A56 -:10003000DAE01922DAE07CFE30DA52087AA7FA78A0 -:100040001F210000A7ED5222DCE0C3781F3A03E332 -:100050001600C610DD96033003ED44151F1F1FE682 -:100060001E4F060021242D09FE123801047ECB7A92 -:1000700028062F5F782F477BDD7704DD7005235E30 -:10008000160079FE0A300114DD7209DD7308DD36D1 -:1000900000292A1AE3DD750BDD740FC9CD631CCD71 -:1000A000FB2022D6E07C2ADCE0C3F11CDD350AC24D -:1000B000B808DD360A06DD7E0DFE39D25208DD3481 -:1000C0000DC3B808DD350AC2B808DD7E07FE80D250 -:1000D00052080680DD360000C36908DDE5E111D471 -:1000E000E0010A00EDB0ED5BD6E02AD8E019C9DDE9 -:1000F000E5D121D4E0010A00EDB0C9CDDB20EBDD74 -:100100006E0BDD660FED4B1AE3ED4219C92151E08C -:100110003A00E33D28117EA7F02111E53E01862734 -:1001200077237ECE0027773E373251E0119080FD55 -:100130002190840E02CDE7033A12E5CDBD033A11BA -:10014000E5C3AE0300000000000000000000000056 -:10015000000000000000000000000000000000009F -:100160000006010334074908630F73078019920FD3 -:10017000A006A103A22AE032FF280F0F3F3040065D -:100180004103422A4C0F920F9F28A507B80FCD0FAD -:10019000E006E10300190108140720334F0F7F30F8 -:1001A0008006810382229C1CB61CC02AD91CDF2039 -:1001B000030F08281607200621033C22521C603238 -:1001C0006E1C7F20A608B70FBF30C006C103C4084D -:1001D000D30AE60EF60F0C101C0F2D0E39074A0F2E -:1001E0005B0F600661036E196F09820F8F09A02BE8 -:1001F000A20FB10FFF28000601030222141C281CC5 -:10020000402A541C5F209F28A006A103A223A61CFD -:10021000D31CE90FF70AFF200710170E2910350A23 -:1002200040064102421A60036F127812881292123D -:10023000A312A412B112C212CD12CE12D912E0062C -:10024000E103EB12FA1206120712141223122C12F7 -:10025000371242125612571265126E127A12800627 -:1002600081038512861291129212A312A412AE1269 -:10027000B812B912CA12CB12D712E312F312001934 -:1002800020062103222C60339F28BF30C006C10303 -:10029000C224D51CEA1C0033051C181C311C3F204D -:1002A0004830600661037B24871C991CA02BAE1C80 -:1002B000C51CD71CDF20E0280006010413141E16FD -:1002C0002D162F163A154C164E1658166616681629 -:1002D000720273147E168019A086A103A234C70F80 -:1002E000EC100F0A1F302A1040864102421960327A -:1002F0006105802ABF30C002DF28E006E103E22B5F -:10030000002301032A1C3F28451C571C6C1C6D2030 -:1003100080068102A003A810B40AC507DC0FE30918 -:10032000F2070A100D091C08200621032C0F2F0FBD -:10033000320A451354136613770A8A139813A713C6 -:10034000B413C006C103C509D40AE002E70AF509DF -:1003500000041C162A152C1535163D1440024814AD -:100360004A146086610262198003812CA033DF2861 -:10037000FF3000860103022C4023571C5F286C1CB1 -:10038000831C9A1CA086A103A223AE1CC51CD51CED -:10039000E033E81CF50FFF200A091C0A2830321050 -:1003A000400642025B2B600380339F28D030E0067A -:1003B000E103E21B2017601880068103C613D20FE9 -:1003C000DD0FEE0EFC0A01130D0920062103221396 -:1003D0002B13391349134C0A5C0F6A0F79138413DA -:1003E000860A950FA413B313B509C006C102C2193A -:1003F000E003E12CEA07F909070A190F2A0F390966 -:100400004828540F600661037B23841C921CA023A0 -:10041000A31CB31CC31CDC1CEF1CFF200006010343 -:1004200007100A0A1A0F2C09320F41074F085C0FF8 -:10043000630970077D0E8019A006A103A224AF1CDA -:10044000BC1CC02CCA1CD91CE81CF61CFF28050AC1 -:10045000101C1120250C320F350C400641034219A7 -:100460006033802B830A9207BF30C60FC90AD909AF -:10047000DF28E006E103E224EA1C040A140F1C1C36 -:1004800024203409450F490F4B0C580C670C750C90 -:100490007A0F800681029004AD16B715BE14C516FA -:1004A000C716D414DB15E614E814E916F014F11697 -:1004B000F214021504150E160F0210141316171459 -:1004C0001914208621032219402C41334203BE28EF -:1004D000BF30C086C103C21AE812F212F412FD1234 -:1004E00008121312221223122E12361242124E1228 -:1004F0005712608661036512671272127A128312B4 -:100500008F129712A212AB12B712C212D012D812C7 -:10051000E4120086010320252509331C402C4810D5 -:10052000541C650F6F1C7F2080028828A086A105BF -:10053000BB35C02CDF02FF300A10190A1F28200328 -:10054000290F2C0A320F3A0F40064102470F4A0A80 -:10055000500F60036507790880178A0AA018C80938 -:10056000E006E103EF10F40FF70A060F111014096B -:100570001A1A3A12421244124E12571259126312A8 -:100580006B12800681028F13920AA003A510A807A0 -:10059000B20FB50FC513D409E40FE60CF40C041028 -:1005A000060C130C200621032210231928102A0AF6 -:1005B0003B10402541334A1C551C651C741C820F9E -:1005C000881C950FA51CA830B11CB220BE0FC00618 -:1005D000C102C21BCA10E003E60AF0170308121892 -:1005E0001309401A4A0A60066103741285128712C1 -:1005F00092129412A912AA12B410BD12C312CC0FF7 -:10060000D512D712E512E712F412000601020225F4 -:10061000032C0A1C171C20032710371C481C591CCC -:100620006A0A791C80288D0F901C9120A006A103D6 -:10063000AD0CB20FBB0CCB0CD80FE50FE710F10FD0 -:10064000F90F080C0D0F160C2019250F280936106C -:100650004006410242254A1C5A0F6003612C651076 -:10066000791C881C941CA21CAE1CBB1CBF20CA0F8A -:10067000D028DC10E006E103E80FEA10EC0AF90FDD -:1006800008130A07170F1A0A2A0C37103C0C4302EA -:100690008006000620032810340A470C550C5A0F18 -:1006A0006309720785139413A006A104B314BF163F -:1006B000CD16DA15EC16EE16F816F903002B2023EA -:1006C00040864A1C5028651C771C7E057F2080339D -:1006D000C803CF30E006001720186A0A730701022A -:1006E000200134C03AC2482054C2592064C269E291 -:1006F0006DC27622822090C096C09CC0A2C0BEC1AE -:10070000CBC0D820E6C2F42200C205FF4D004E0245 -:100710005E2277228A228BFFD800E002452255C252 -:1007200000000000000000000000000000000000C9 -:1007300000000000000000000000000000000000B9 -:1007400000000000000000000000000000000000A9 -:100750000000000000000000000000000000000099 -:100760000000000000000000000000000000000089 -:100770000000000000000000000000000000000079 -:100780000000000000000000000000000000000069 -:100790000000000000000000000000000000000059 -:1007A0000000000000000000000000000000000049 -:1007B0000000000000000000000000000000000039 -:1007C0002146E035FB783213E5FE05CAD227A7C2E1 -:1007D0005E28CDFA293E1ECD750D210FE53600238A -:1007E00034CD4829CDE80521242CCD0003CDBA28ED -:1007F000210C2CCD00033A13E5171717172600E636 -:10080000F06F2001242298E0CD71292A96E0562B22 -:100810005E2A11E5A7ED52300E19EB2A96E0722BF5 -:100820007321392CCD4E032A94E0ED5B11E57DD682 -:1008300001276F3001252294E0A7ED523850CD6892 -:10084000292A98E07DC601276F3001242298E0CD47 -:1008500071293E10CD750D3E0CCDEA0518C93E1D1F -:10086000CD750DCDD629CD120DCD48293E30CDEA1E -:1008700005CDBA28380D21E42BCD4E033AF9E03CE2 -:10088000C3F92721F92BCD4E03CDE805180ECDE88D -:10089000051101E52198E00602CD3606210000226F -:1008A00011E52113E57EA7C2B70B360521A223224D -:1008B00016E53E1A320EE5C3B70BCDE805CD5A2931 -:1008C0003A10E5D60228073E0AFACE283E055F3ADE -:1008D00013E5018000FE083009010001FE0330022B -:1008E0000E20ED4394E083875FFE0A20093A10E56D -:1008F000FE0328021E141600210CE0197E23229606 -:10090000E0B62003702B7121792BCD4E03CD8129C8 -:10091000A720023E1AC6401B1B1221942BCD4E036A -:100920002112E513CD9A0321B02BCD4E03CD6829BA -:1009300021CC2BCD4E032A96E013CD9A032A94E0C6 -:10094000ED5B11E5A7ED52C92100E101A400CDFA4C -:100950000501200221E080C3FA052100E101C60063 -:10096000CDFA0501200318EC11D9812195E0C39A35 -:10097000032199E0119782CD9303EB363023363073 -:10098000C93A0EE5FE1AD8D61AC921CC8011CC84FA -:10099000010210CDE70379362112231310F921CC7F -:1009A0008006053423232310FA361BCD812921CC60 -:1009B000800605FE05380C16033629231520FAD6C5 -:1009C0000510F0578787825FFE08381028013D36F2 -:1009D0002923D60818F22AF4E03AF6E03C57C6215B -:1009E000CB662807D606FE2020013D777AFE083820 -:1009F00002AF2C32F6E022F4E0C921CC80060F369B -:100A0000292310FB361F3E5A325280C900000020B5 -:100A10000000500000800000000100000200000300 -:100A200000000500000800001000088108544F2055 -:100A3000434F554E54494E55452047414D45222D73 -:100A4000820854494D4521468108424547494E4E4A -:100A5000455220434F5552534520474F205B214676 -:100A600081004348414D50494F4E20434F5552530A -:100A700045203120474F205B214C8200465245459E -:100A800020504C415921EA81004F4E4C59203120D1 -:100A9000504C4159455221EA810031204F522032B9 -:100AA00020504C415945525321068200504943542D -:100AB000555245204E554D42455220534554224AE9 -:100AC00082004E45585420315020425554544F4EC8 -:100AD000216A8100205055534820425554544F4EAE -:100AE0002021D48300435245444954202188810069 -:100AF00047414D45204F56455220504C4159455293 -:100B000020210C820047414D45204F564552212B54 -:100B1000800204250F1405224180010C0D250600DA -:100B2000224980093F224B800206504F494E5425EE -:100B300004001225050007226B8002062509001219 -:100B400025050007228B8002060E0F1011250500D7 -:100B5000122505000722AB8002081615151715157A -:100B60001815151915151A1515092281800131500E -:100B70003F21A1800132503F2125810154494D453B -:100B800020544F20524541434820504F494E542055 -:100B90005E005E21848100594F55522054494D45D5 -:100BA00020202020202020202020229781015D214C -:100BB000C481005448452041564552414745205480 -:100BC000494D4520202022D781015D210482015416 -:100BD0004F50205245434F524420202020202020B7 -:100BE00020205D21858200474F4F4420424F4E55C3 -:100BF0005320504F494E545321678200534F525255 -:100C000059204E4F20424F4E55535B216582015370 -:100C100050454349414C20424F4E555320504F4977 -:100C20004E545321258100434F4E47524154554C59 -:100C30004154494F4E53205B21E58201594F5520C5 -:100C4000484156452042524F4B454E204120524587 -:100C5000434F5244205B216A8100494E5345525410 -:100C600020434F494E2021C781003120504C41592B -:100C700045522020203120434F494E2021C581007C -:100C800041205F203120504C4159455220202031D5 -:100C900020434F494E2021C882005C313938322030 -:100CA0004952454D20434F52502F217680023A3B06 -:100CB0003C3D3E21F0F0EDF0F0FBFBFBF0E8F0F006 -:100CC000F0EEF0F0F0F0E0F0F0FBFBFBF0F0F0F213 -:100CD000F2F0F0F0E9F2EFE3D2FCFDFEE0D4D3EB6A -:100CE000FFD5F1E5E2D0D6E6D7F0E1D8F9FBF0F296 -:100CF000D9ECFCD1343232433423321123010000C9 -:100D00000000000012121224772110562110342105 -:100D1000232321312221110077776665554443331F -:100D200043332131009A51988D5FB630D206E3E308 -:100D3000EFC7F7B0FC9E008E03820677076E086649 -:100D4000095F0A59034881B0B1B2B3B402B5B6B76E -:100D5000B802B9BABBBCBD02BEBFC0C1C202C3C4E7 -:100D6000C5C6BD02036D81C7C8C9CA02CBBFCC02CC -:100D7000CDBCCECF02D0D1D2CA02D3D4D5C202D6F6 -:100D8000D7BCBD02D8C0C1C202D9BCC5DA02DBC122 -:100D9000DC02030682B0B1B2B3B402DDDEDFB8021A -:100DA000E0E1E202E3E4E50200E6B2E7E80200E99E -:100DB000EAEBEC0200EDEEEFB40200F0F1F202F328 -:100DC000F4F5BF02F7F8F9B0FA0200B2B3FBFC0287 -:100DD00000FDB80200FEBCCECF0200D0D1D2CA02C4 -:100DE00000D3D4D5C20200D6D7BCBD02C5BFC0FF58 -:100DF000EC02C30100000000000000000000000041 -:100E0000192F0802182F080215380D0415380D0483 -:100E1000154210041533100001000E0409002404CB -:100E20000D00240411010806170108061D0108061B -:100E300023010A0225010A0227010C0128011C01D5 -:100E400029011C012A011C012B011C012C011C0180 -:100E50002D0400012E0400012F04000130040001C4 -:100E6000310400013184000131C40001314400012A -:100E700032040001330400013404000133C40001D2 -:100E800034C4000136040001368400013704000137 -:100E900036C400013644000137C40001380900019E -:100EA000390000013A09020205002C013D0A28011F -:100EB0003E0100013F01000140010001410100012C -:100EC00042071A8045071A8046071A8047071A808A -:100ED00047471A8046471A8045471A8043071A0138 -:100EE00044071A0143871A0144471A010000000011 -:100EF0000000000048011A8049011A804A011A8046 -:100F0000350A2A804B011A804C011A804D011A8043 -:100F10004E0100C04F0110C0530110C0570110C056 -:100F20005B0112C061031EC062031EC063031EC0CA -:100F3000640314C0680314C06C0316C06E0316C0AB -:100F40007808220270020404730206047402180472 -:100F5000750220047A011A804B411A804C411A8094 -:100F60007B09260207002C017D0E2E0100000000E7 -:100F70000000000000000000000000000000000071 -:100F80000000000000000000000000000000000061 -:100F90000000000000000000000000000000000051 -:100FA0000000000000000000000000000000000041 -:100FB0000000000000000000000000000000000031 -:100FC0000000000000000000000000000000000021 -:100FD0000000000000000000000000000000000011 -:100FE0000000000000000000000000000000000001 -:100FF000000000000000000000000000000000A34E -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-4.3j.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-4.3j.hex deleted file mode 100644 index f5703f2d..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpa-4.3j.hex +++ /dev/null @@ -1,257 +0,0 @@ -:100000000102020303040405600158015001480184 -:100010004001380139103920393039483960397098 -:100020003980399839B039D0B438FF588E28B4386F -:100030000019242C33393E43484C5054585B5F62BE -:1000400065686B6E717477797C7E505E6B8787A272 -:10005000A2A30200A4A50200A6A702A8A901AA02C1 -:10006000ABACAD0200AEAF02B0B101B2B3B40200AE -:10007000B5B6B702000000B8B902000000BA02002D -:10008000BBBCBD02BEBF01C0C10200C2C3C40200EE -:100090000000C5C602000000C7C80200C9CACB02E2 -:1000A000CC01DADBDC020000F0030000F00200000B -:1000B000F002DDDEDF010F04050F24270F43481196 -:1000C000484E124E5310636813686C0F6C6D146DBC -:1000D0006E126E7410898EFF0C0303030201FF3B46 -:1000E000FF70FC24B9FF10FC243B01A0FC5300006E -:1000F0000000000000000000000000000000000000 -:10010000070A0D0F1113151618191A1B1D1E1F2093 -:10011000212223242526272828282828FF1F011CE0 -:10012000040C0024021D0520080C043405210607D8 -:10013000070C0C14051E081E0F0C1234021B031AA8 -:1001400006102142021D041D080F2742052006202B -:100150000B0C2F4209160222061C3A4E0E190326DA -:10016000071C404E121D052A0A1C474E0520052675 -:10017000080C51450519051F110C587F081E041E57 -:10018000090C6900001B161C171A722000000000E1 -:10019000000000000000000000000000000000005F -:1001A000000000000000000000000000000000004F -:1001B000000000000000000000000000000000003F -:1001C000000000000000000000000000000000002F -:1001D000000000000000000000000000000000001F -:1001E000000000000000000000000000000000000F -:1001F00000000000000000000000000000000000FF -:1002000002040301010304060708070502040608A7 -:10021000090B0103040607090A0C0D0C0A0807055F -:100220000301020405040201030506080705030291 -:100230000406080A0B0D0B0907050102030202015F -:1002400004060708060401020406080A0C0B0A0546 -:10025000020307090A0C0B0903030709090B0A0A21 -:100260000A0908080706060404020405070807052A -:1002700003000202020202F8F8F8F8F8F8F80202A5 -:10028000020202F8F8F8F8F802000000000000008E -:10029000000000000000000000000000000000005E -:1002A000000000000000000000000000000000004E -:1002B000000000000000000000000000000000003E -:1002C000000000000000000000000000000000002E -:1002D000000000000000000000000000000000001E -:1002E000000000000000000000000000000000000E -:1002F00000000000000000000000000000000000FE -:100300003EFFD3C032C5E12100E13600545D130148 -:10031000CF00EDB03E01570100082100E07A775E82 -:10032000BBC2BB34230B79B020F37A0730E81655F3 -:100330007A0100082100E077233C5F0B79B028099F -:100340007BFEAB20F23E5518EE7A0100082100E05A -:10035000BE2019233C5F0B79B028097BFEAB20F04F -:100360003E5518EC147AFEAB20C618095E57AFC391 -:10037000BB347A18DE3100E83E0157010008210045 -:10038000807A775EBB2808CD3B35CB4FCAF5332347 -:100390000B79B020EC7A0730E116557A010008217C -:1003A000008077233C5F0B79B028097BFEAB20F2FD -:1003B0003E5518EE7A010008210080BE2019233C2A -:1003C0005F0B79B028097BFEAB20F03E5518EC148A -:1003D0007AFEAB20C6180D5E57CD3735CB4FCAF528 -:1003E000337A18DADD21EB33C3B13521663ADD21EA -:1003F000F533C365342100E13600545D1301CF00AD -:10040000EDB0210000AF3200E706000E10AFAE23C2 -:1004100010FC0D20F9E5CD3534E13A00E73CFE044F -:1004200020E4AFD31CFB3A00D0CB4F20F93E03327F -:1004300001E7C3CD35F5FEFF28020E0821863A09F3 -:10044000EB3A00E70F0F4F21C48009E5EB0E08EDF2 -:10045000B01313D5FDE1DDE1F1CD9A343A00E7C6E2 -:1004600030DD7703C97E23FE00280B5E2356234F21 -:100470000600EDB018EFDDE90F0F0F0FE60FC630E5 -:10048000FE3A3802C607FD7700DDE9E60FC630FE0A -:100490003A3802C607FD7701DDE9F50F0F0F0FE6C9 -:1004A0000FC630FE3A3802C607FD7700F1E60FC6E8 -:1004B00030FE3A3802C607FD7701C908D9DD21C4EC -:1004C00034C3B13521723ADD21CE34C36534D9FD50 -:1004D000218F80DD21DB347CC37834DD21E3347C63 -:1004E000C38B34FD23FD23DD21EF347DC37834DD60 -:1004F00021F7347DC38B34FD219580DD2103357ACE -:10050000C37834DD210B357AC38B34FD219980DD2E -:100510002117357BC378347BDD211F35C38B343AFB -:1005200000D0CB47CA2F35CB4F20F408C3F5330892 -:10053000B7CA7233C32433E5D91809E5D9DD21449C -:1005400035C3B1352100801100E001A004EDB021D8 -:1005500000803600545D13019F04EDB021723ADD36 -:10056000216635C36534D9FD218F807CCD9A34FD59 -:1005700023FD237DCD9A34FD2195807ACD9A34FDDB -:100580002199807BCD9A34E13A00D0CB472806CB25 -:100590004F281018F3D92100E011008001A004EDCC -:1005A000B0D9C921A0843600545D13015F03EDB0BA -:1005B000C921008401FF033600545D13EDB0210012 -:1005C0008001FF033600545D13EDB0DDE9CDAD3899 -:1005D00021BF3ECD08393A01E70602CD1C393A0069 -:1005E000D0CB4720143A01E7074F0600DD21963AA9 -:1005F000DD09DD6E00DD6601E9DD2102E7CDDD38D4 -:1006000047E655FE55280978E6AAFEAA281318CE13 -:10061000DD360055DD360108DD360201CD323618F3 -:10062000BDDD3600AADD360103DD3602FFCD3236F0 -:1006300018ACDD56001E02CDC838280ECD4E36DD72 -:1006400056001E01CDC83820F3C9CD4E36C93A0137 -:10065000E7DDBE01C80600CD1C39DD86023201E7A8 -:100660000602CD1C39C9CDAD3821103BCD08393A31 -:1006700003D021CB80CDB2363A04D0210B81CDB24C -:1006800036DD21AC3AFD21A83A3A03D0EEFF06024E -:10069000CDC636DD21F83AFD21F43A3A04D0EEFF1A -:1006A0000601CDC536CDEC363A00D0CB4F20C0C3C5 -:1006B000CD35EEFF06080F380436301802363123E8 -:1006C0002310F3C90F0F4FC5DDA600DD8601DD2322 -:1006D000DD234F0600FD6E00FD6601094EFD6E0232 -:1006E000FD660309CD1139C17910D9C93A04D0CBBF -:1006F00057CA063721773BCD0839DD21993BFD21CB -:100700009B3B06011810217F3CCD0839DD21923C2E -:10071000FD21963C06023A03D0EEFF0F0FCDC43602 -:10072000C9AF320FE7676F220DE7CDAD3821223D0B -:10073000CD08393A00D021CB80CDB2363A01D02154 -:100740000B81CDB2363A02D0214B81CDB236CD8C61 -:10075000373A0DE7218C81CD7A37233A0EE7CD7AEF -:10076000373A00D0CB4F20CB3A01D0CB4F20C4CD6D -:10077000AD383E01CD3C39C3CD35F50F0F0F0FE637 -:100780000FC6307723F1E60FC63077C9210FE73A5D -:100790004EE0E6C0BEC8320FE73A0EE7C601273288 -:1007A0000EE7D03A0DE7C60127320DE7C92A533DBF -:1007B0002206E721683DFD21573DCDC037C3CD3529 -:1007C000FD220BE7E5CDAD38E1CD0839DD2108E7A5 -:1007D0003E013205E70602CD23393E010E40CD3EF3 -:1007E00039CD7238CD7D383EFF3211E73A00D0CB9B -:1007F0004F284ACDF238E6AAFE2A2813CDDD384725 -:10080000E655FE55281178E6AAFEAA281D18DDCD6A -:100810007238CD7D3818D5DD3600553A06E7DD77DC -:1008200001DD360201CD4F3818C2DD3600AA3A0785 -:10083000E7DD7701DD3602FFCD4F3818AFCD7238D6 -:100840003E010E20CD3E393A00D0CB4F209EC9CD7F -:100850007238DD56001E02CDC838280FCD9538DD20 -:1008600056001E01CDC83820F31803CD9538CD7D34 -:1008700038C93E003200D0CBFF3200D0C93A05E77C -:100880004F0600FD2A0BE7FD09FD7E003200D0CBAC -:10089000FF3200D0C93A05E7DDBE01C80600CD230E -:1008A00039DD86023205E70602CD2339C9210080F1 -:1008B00001FF033600545D13EDB021008401FF03F6 -:1008C0003600545D13EDB0C90E00060CCDE238A21F -:1008D000C810F90D20F41D20EF3EFFA2C9CDE2386B -:1008E000181F2110E73A01D01FCB161FCB167EEE42 -:1008F000FFC92111E73A00D01FCB161FCB167EEEA1 -:10090000FFF5AF3D20FDF1C97EFE00C8CD113918BD -:10091000F74E0600235E235623EDB0C94FD60307DA -:100920003C18014FC50E640600600707076F2929B0 -:1009300009EB21008419C170237079C90E000600EB -:1009400010FE0D20F93D20F4C9C50E00060010FE72 -:10095000F53A00D0CB4F2809F10D20F03D20EBC136 -:10096000C9F1C10601C9CDAD381100E1216D3E01CB -:100970001000EDB01160E1217D3E011000EDB03AB4 -:1009800000D0CB4F20F92100E13600545D1301BFA8 -:1009900000EDB0C3CD353E013212E7AF3211E7189A -:1009A0002A3A00D0CB4FCACD35CDF238E6AAFE2A7E -:1009B00020EF3A12E73C3212E7FE01280EFE02CA8F -:1009C000E839FE03CA133AD60318EBCDAD38211C23 -:1009D00081061A3E5A772B3D10FB210C82060A3EF7 -:1009E00039772B3D10FB18B9CDBA3821208036F36A -:1009F000545D1301BF03EDB0218D3E060AC55E2391 -:100A0000562346234E237E23EBCD233AEBC110ED34 -:100A1000C3A139212084360C545D1301BF03EDB00E -:100A2000C3A139C5E5772310FCE10E2009C10D20D3 -:100A3000F2C9CDAD382120800E1E060FC506003646 -:100A400094545D23369323EBEDB0EB0E1E36965493 -:100A50005D23369523EBEDB0EBC110E03A00D0CB2F -:100A60004F20F9C3CD3508848052414D0000004F1E -:100A70004B0010848052414D0000004E4700005D45 -:100A8000000000005D00524F4D0000004F4B524FE0 -:100A90004D0000004E470000000000006636213780 -:100AA000AD3766399639323AB03AB83A03000304A2 -:100AB0000004080C101B263101738135017381334A -:100AC000017381320173813108ED8131300033309F -:100AD00000353008ED81323000343000363008ED1A -:100AE00081000000000000313008ED8100000000AE -:100AF00000004E4FFA3AFC3A0100000A07B1825456 -:100B000041424C45000007B1825550524947485474 -:100B1000168480444950005357003100320033009E -:100B200034003500360037003803C6805357310390 -:100B300006815357320B6481504154524F4C00434D -:100B40004152530DA481455854454E4400504F49DD -:100B50004E545308F68154484F5553414E4409248E -:100B600082434F494E004D4F444509A482424F44B1 -:100B700059005459504500012E82001A6482000029 -:100B80000000000000000000000000000000000065 -:100B90000000000000000000000F009F3BAF3B0082 -:100BA00010203040506060708090A0B06060C00D38 -:100BB000318231434F494E000031504C4159000DB4 -:100BC000318232434F494E530031504C4159000D50 -:100BD000318233434F494E530031504C4159000D3F -:100BE000318234434F494E530031504C4159000D2E -:100BF000318235434F494E530031504C4159000D1D -:100C0000318236434F494E530031504C4159000D0B -:100C10003182000000000000000000000000000D14 -:100C2000318231434F494E000032504C4159530DEF -:100C3000318231434F494E000033504C4159530DDE -:100C4000318231434F494E000034504C4159530DCD -:100C5000318231434F494E000035504C4159530DBC -:100C6000318231434F494E000036504C4159530DAB -:100C7000318200465245450000000000000000019E -:100C80002E82410B6482434F494E004D4F44450034 -:100C90004200030003049A3CA23C00102030405064 -:100CA00060700D318231434F494E000031504C414C -:100CB00059000D318232434F494E530031504C415F -:100CC00059000D318233434F494E530031504C414E -:100CD00059000D31820046524545000000000000D9 -:100CE00000000D718231434F494E000032504C419B -:100CF00059530D718231434F494E000033504C41DE -:100D000059530D718231434F494E000035504C41CB -:100D100059530D718231434F494E000036504C41BA -:100D200059530F8B803100320033003400350036C8 -:100D30000037003804C4804B4559300404814B45CA -:100D400059310444814B45593206848154494D49F7 -:100D50004E47000E01000000011011121314161767 -:100D6000181B1C1D1E1F00000B278053004F005531 -:100D7000004E004400530E4481303700535041432D -:100D80004500504C414E540D648130380055464F5B -:100D900000464C59494E470C84803031004558502C -:100DA0004C4F53494F4E0EE48030340043415200C3 -:100DB0004D495353494C4510C48030330055464F7C -:100DC000004558504C4F53494F4E10A480303200CC -:100DD000504F494E540050415353414745070481F9 -:100DE000303500434F494E0B248130360043415289 -:100DF000004A554D501484813039004241434B0024 -:100E000047524F554E44004D555349430FA481312D -:100E10003000454E44494E47004D5553494310C498 -:100E2000813131004F50454E494E47004D55534991 -:100E3000430FE48131320053544550005041535325 -:100E4000414745110482313300434F4E47524154CC -:100E5000554C4154494F4E10248231340043415285 -:100E6000004558504C4F53494F4E000000A80138E0 -:100E700060A84138989081386090C13898680138EE -:100E800060684138985081386050C138982084207B -:100E90000700008720070800852008020086050853 -:100EA00005058604080C09860508060E8604080454 -:100EB000128605080317860408001B860508080E1D -:100EC000848030310000444950005357495443480E -:100ED0000CC48030320000493F4F00504F52540A3A -:100EE000048130330000534F554E44530D4481303C -:100EF00034000043484152414354455209848130F3 -:100F0000350000434F4C4F520FC481303600004231 -:100F100045414D0041444A55535400000000000033 -:100F200000000000000000000000000000000000C1 -:100F300000000000000000000000000000000000B1 -:100F400000000000000000000000000000000000A1 -:100F50000000000000000000000000000000000091 -:100F60000000000000000000000000000000000081 -:100F70000000000000000000000000000000000071 -:100F80000000000000000000000000000000000061 -:100F90000000000000000000000000000000000051 -:100FA0000000000000000000000000000000000041 -:100FB0000000000000000000000000000000000031 -:100FC0000000000000000000000000000000000021 -:100FD0000000000000000000000000000000000011 -:100FE0000000000000000000000000000000000001 -:100FF00000000000000000000000000000000003EE -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-1.3n.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-1.3n.hex deleted file mode 100644 index bee982ff..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-1.3n.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000000000000000000000000000000F0 -:1000100000000000000000000000000000000000E0 -:1000200000000000000000000000000000000301CC -:100030000000000000000000A0A0A000A0A0B8F0F8 -:1000400000000000000000000000001F7FFFF80318 -:1000500000000000000000000000000080C000FE62 -:100060000000000000000000000000000000000090 -:100070004000000000000000000000000000000040 -:10008000030000000000000000000000000000006D -:10009000F21E000000000000000000000000000050 -:1000A000187E7EFFFFFF7E7E18000000000000002B -:1000B0000000000000000000000000000000000040 -:1000C000187E7EFFFFFF7E7E18000000000000000B -:1000D0000000000000000000000000000000000020 -:1000E00000307878FCFC78783000000000000000D8 -:1000F0000000000000000000000000000000000000 -:1001000000307878FCFC78783000000000000000B7 -:1001100000000000000000000000000000000000DF -:1001200000000000000000000000000104000301C6 -:1001300000000000000000010103030000000000B7 -:100140000000000C3E78F3E7ECC800010103030156 -:100150000000002070F8E040400080C0E0F0F0E0D7 -:100160000306000000010307070707030100000062 -:10017000C3870F0F0FCFE7E3F0F0E0E0C00000000F -:1001800081C0C0E0E0C0C0800000000000000000AE -:10019000E0C00000000000000000000000000000BF -:1001A000000000000000000000000E1F3F3F3F3F26 -:1001B000000000080012B0E8381C040000808E1F08 -:1001C00000000000000000000000081E1F0F0300D8 -:1001D0000000000000000000000000008080E0E05F -:1001E0001F0E0000000000000000000000000000E2 -:1001F0003F3F3F3F1F0E00000000000000000000D6 -:100200000283800000000207070F0F0707030000AA -:100210002080E0707830100080C0C0808000000036 -:100220000000000006010100000000006019070343 -:100230000201211110080DCFE77F7FFFFCF0C08085 -:100240000000101089890B1F1FBE1C080000000051 -:10025000404482828EDFFFFF81000000000000002A -:1002600000080810103060E1F3FF7F3F0F0000002E -:100270000000000000404080008080C6F8E08080E0 -:1002800003010103071D61010003030408000000CE -:1002900000000000008080C0C0F37F3830102020B4 -:1002A00000000000000040E0E0F9FF7F12100808A5 -:1002B0000000000000003C7E7EFFBD3910102020B1 -:1002C0000303030307070E1C1C3EF6F360202010F7 -:1002D000C0800080C06020180000000080804000C6 -:1002E000000000000000000000000000000000000E -:1002F00000000000000000000000000C1F1F3F3F36 -:10030000000000000000000000307CFDFFFFFFFF48 -:10031000000000000000000000C7FFFFFFFFFFFF1C -:1003200000000000000000000080C0F0F8FCFCFEAF -:1003300000000000000000000000000000000000BD -:1003400000000000000000000000000000000000AD -:100350001F3F3F3F1F0F070100000000000000008B -:10036000FFFFFFFFFFFFFFB10000000000000000E3 -:10037000FFFFFFFFFFFFFCF0E000000000000000B7 -:10038000FEFCFCF8F0F8F83000000000000000006F -:10039000000000000000000000000000000000005D -:1003A000000000000000000000000000000101004B -:1003B0000000000000000001010333FFFFFFFFFF0A -:1003C00000000000000000C0E6EFFFFFFFFFFFFF9E -:1003D000000000000000183C7DFFFFFFFFFFFFFF53 -:1003E00000000000000000C0E0ECFEFEFCFCF8FC99 -:1003F00000000000000000000000000000000000FD -:1004000000000000000000000000000000000000EC -:100410007F3F7FFFFF7D38300000000000000000BC -:10042000FFFFFFFFFFFFFFFF7C78300000000000B0 -:10043000FFFFFFFFFFFFF7F3E06000000000000098 -:10044000FEFEFEFCD8C0C0800000000000000000DE -:10045000000000000000000000000000000000009C -:100460000000000001030F1F1F1F0F0F06000000F8 -:10047000000000008EFFFFFFFFFFFFFF30000000C5 -:1004800000000030FFFFFFFFFFFFFFFFC60000007E -:100490000000000000C0F0F8F8F8F0F030000000B4 -:1004A0000000000001070F1F1F1F0F0301010000C4 -:1004B000000000009CFFFFFFFFFFFFFFF3C00000F4 -:1004C00000000070FCFFFFFFFFFFFFFFFB6000006C -:1004D00000000000C0E0F0F0F0F0E0E040000000BC -:1004E00000000000000C3F7F7F3F0C000000000078 -:1004F0000000000000F0FCFEFEF4C0000000000060 -:10050000000000000000022C0000000000000000BD -:1005100000000000002070F06000000000000000FB -:100520000000000000000432000000000000000095 -:10053000000000000060F0702000000000000000DB -:1005400000000000000001010000000000000000A9 -:100550000000000060F0F8F8F8F060000000000013 -:10056000000000010303030103010100000000007B -:100570000000D0F8FCF8FCFCFCFCF8D00000000007 -:10058000000307070F0F070F0F0F070303010000FA -:10059000F0FCFEFEFFFFFFFFFEFFFFFEFCB80000C9 -:1005A000000000000000000000183878787CFEFE93 -:1005B000000000000000000000000000000000003B -:1005C000000000000E1F1F1F7F7F7FFFFFFFFFFF48 -:1005D000000000000060E0E0E0E0F0F0F0F8FCFC7B -:1005E00000030307070F0F3F3F7F7FFFFFFFFFFF62 -:1005F00000C0E0E0F0E0E0F0F0F0E0F0F0F8FCFE49 -:1006000007070F1F1F3F3F3F3F7F7F7F7FFFFFFF9A -:10061000000080808080E0F0F0F0F0F8F8F8F8F862 -:1006200000000000010307070707030100000000A6 -:100630000000000080C0E0E0E0E0C08000000000BA -:10064000000000030F0F1F1F1F1F1F0F0F030000CD -:1006500000000080E0E0F0F0F0F0F0E0E08000006A -:10066000000000030F0F1F1F1F1F1F0F0F030000AD -:1006700000000080E0E0F0F0F0F0F0E0E08000004A -:10068000000000030F0F1F1F1F1F1F0F0F0300008D -:1006900000000080E0E0F0F0F0F0F0E0E08000002A -:1006A0000000000000000000010000000000000049 -:1006B00000000000000080000000000000000000BA -:1006C000030F0F1F1F3F3F3F3F3F3F1F1F0F0F03F2 -:1006D000C0F0F0F8F8FCFCFCFCFCFCF8F8F0F0C012 -:1006E000030F0F1F1F3F3F3F3F3F3F1F1F0F0F03D2 -:1006F000C0F0F0F8F8FCFCFCFCFCFCF8F8F0F0C0F2 -:100700000307FFFF0F0F0003377BCE8484CE7B31BE -:10071000E0F0F0F8F8F800C0E6DE73212173DE8C1B -:1007200000003C000000000000000000000000008D -:1007300000000000000000000000000000000000B9 -:1007400000000000000000000000000000000000A9 -:10075000000000787E3F1E0C003C3C0007000000BB -:10076000000000000C1F1F3F0000010003000000FC -:10077000000000000080C08000F8F800C000000009 -:10078000000000000000000000E0E00000000000A9 -:100790000000000000000000000000000000000059 -:1007A0008484FC0000000000000000000000000045 -:1007B0000000000000000000000000000000000039 -:1007C00000000000010307070F0F070100000000F1 -:1007D0000000000080E0E0F0F0F0E0C00000000069 -:1007E000000002070F1F3F3F1F1F1F0F03010000E4 -:1007F0000000C0C0E0F0E0F0F0F0E0E080000000B9 -:1008000000000001070F0F1F1F1F0F1F0600000031 -:1008100000000080E0F0F8F8F8F0F8F04000000088 -:100820000000000D0F3F3F3F7F3F1F1F0F030000E1 -:10083000000060F0F8FCFCFCF8F8FCF8F820000080 -:1008400000000000000002003C7FFC3800000000B7 -:10085000000000000000800078FC7E3800000000EE -:100860000000000000000004000010010000000073 -:100870000000000000800020000000A00000000038 -:10088000000000000001080000000201000000005C -:1008900000000000100000101000000040000000E8 -:1008A00000000000030F3FFFFF3F070000000000B3 -:1008B00000000000C0F0FCFFFFFCE00000000000B2 -:1008C00000000000030F3FFFFF3F07000000000093 -:1008D00000000000C0F0FCFFFFFCE0000000000092 -:1008E00000000000030F3FFFFF3F07000000000073 -:1008F00000000000C0F0FCFFFFFCE0000000000072 -:1009000000000000000103070301030204000000CF -:10091000000000001060C0C0E08080404020000067 -:1009200000080400000603072F0F1B2349210200C3 -:100930000000000000E080C0E080800080400000F7 -:1009400002814432090D0703074D0000000000003A -:10095000022088B0E1F4F8F0A6108C02000000003C -:100960000000000000000003000000000000000084 -:1009700000000000000000E0000000000000000097 -:100980000000000000040201000000000000000060 -:100990000000000000000000804000000000000097 -:1009A0000000000000010101010101000000000041 -:1009B0000000000000000000000000000000000037 -:1009C00000140F5C30E62FDF0F070301000000006A -:1009D00000A0C0E4388DE6F7E080000000000000D1 -:1009E0000000000000000000000000000000010105 -:1009F000000000000000000000020F2F39F0C0824C -:100A0000000000000000000000C0F4FE9F0F034142 -:100A10000000000000000000000000000000C0C056 -:100A2000030707060E0000000000000000000000A1 -:100A30000F1F3F3C783C0E07020000000000000042 -:100A4000E0F8FCFC3E78E0C0800000000000000000 -:100A5000E060703818000000000000000000000096 -:100A60000000000000000000000000000307070372 -:100A70000000000000000002273F3FFFF9F0E0C542 -:100A8000000000000000002060FBFF7F1F0B82A021 -:100A90000000000000000000000000C0C0C0E0E056 -:100AA0000F0E1E1E3C0000000000000000000000B1 -:100AB000871F3F3F7F7F1F0F0702000000000000DD -:100AC000F0F8F8FCFEFCF8F0E0E0C0800000000068 -:100AD000F07CFC3C1E000000000000000000000054 -:100AE00000000000000000090507070F0F1F1F7D11 -:100AF00008040D8F5FFFFFFFFFEFF7F2E0E0C0009B -:100B00002040E0F8FCFEFFFFDFBF3F1D0B070301A5 -:100B10000000000000408090E0E0E0F4F8F8F8BC4D -:100B20003E3E3E1C7000000000000000000000007F -:100B3000000108050F1F070204000000000000006C -:100B4000000090A0F0E0C0C0A00000000000000085 -:100B5000783C3C1A0E00000000000000000000007D -:100B60000000000000000000000000000000000085 -:100B70000000000000000000000000000000010074 -:100B80000000000000000000000000000000200045 -:100B90000000000000000000000000000000000055 -:100BA000000000000100000101030B07070F0F1FE9 -:100BB00001271F3F3FFFFFFFFFFFFFFFFFFEFCF886 -:100BC00020E4F8FEFFFFFFFFFFFFFFFFFFFF3F0FE7 -:100BD0000000000000808080D0E0E0F0F0F8F8F83D -:100BE0001F1F1F0F0703030100000000000000008B -:100BF000C0E0F0F4FCFEFFFF7F3F3F0F0301010068 -:100C0000030F1F3F7FFFFFFFFEFCF8F8F0C08000DE -:100C1000F8F0E0E0C000000000000000000000006C -:100C200000000201211414422214983804800000AC -:100C30000000005000A4284042442C01020C000097 -:100C400000001010090D861048080804000000007C -:100C50008000808004A848111012240000000000C9 -:100C6000012510090945472E3280100000080000B8 -:100C7000001094A0E2F4341D0E04080000080000E7 -:100C80000000000000000000000000000000000064 -:100C9000000000000000000000000010000482526C -:100CA000000000000000000000008080404182CA77 -:100CB0000000000000000000000000000000000034 -:100CC00000000000080701001228060400000000D0 -:100CD0005129BB5F3FBEFC980804000000000000E3 -:100CE000D4DCFEFC991A0E0C12000000000000007B -:100CF00000008000000080000020D0808000000004 -:100D000000000000000000000000000000000000E3 -:100D100004010101080804241495554F2FBF7F7F5B -:100D2000000000008088C242C4CCCCD8F8F9FEFC98 -:100D300000000000000000000000000000000000B3 -:100D40000008260323100808F70000000000000038 -:100D50007FFF7F3CB8380C8808040000100020009A -:100D6000FEFCFF7F262010000000000000100000A5 -:100D70000040800020400000100000000000000043 -:100D80000000000000000000000000000000000063 -:100D90000000000000000000000000000000000053 -:100DA0000000000000000000000000000000000043 -:100DB0000000000000000000000000000000000033 -:100DC0000000000000000000000000000000000023 -:100DD0000000000000000000000000000000000013 -:100DE0000000000000000000000000000000000003 -:100DF00000000000000000000000000000000000F3 -:100E0000000000183F7FEF8D181101020000000064 -:100E10000020102000F0F0E0E0C0800000000000A2 -:100E200000000000000002000000000001000000BF -:100E30000000000008180000001838309181000000 -:100E400000000000000040000000000080000000E2 -:100E50000000000000000000000000000000000092 -:100E6000000403030100187CFF8F3F3C6101030273 -:100E7000804040606020000080F0F0F0E0C00000A2 -:100E80000108040C030100187CFF8F3F3C61010343 -:100E90000080C040606020000080E0F0F0E0C00012 -:100EA0000108040602070100187C7FCF9F1C312136 -:100EB0000080C0C060606020000080E0F0F0E0C012 -:100EC000000003020000000000000000010000001C -:100ED0000000000000000000000000000100000011 -:100EE0000000C04040000000000000008000000042 -:100EF00000000000000000000000000000000000F2 -:100F000000000000000000000000000000000000E1 -:100F100000000000000000000000000000000000D1 -:100F20000000000000000000000000008000000041 -:100F300000000000000000000000000000000000B1 -:100F4000000000000204010802000402000000008A -:100F50000000000080002000A00040800000000091 -:100F600000000000000000000C3EFF1E0C0000000E -:100F7000000000787E3F1E0C003C3C000700000093 -:100F80000000000000000000000E3F06000000000E -:100F9000000000787E3F1E0C003C3C000700000073 -:100FA00000000000000000000018250509052518B4 -:100FB000000000000000000000C62929292929C6D8 -:100FC0000000000000000000001825251925251844 -:100FD000000000000000000000C62929292929C6B8 -:100FE0000000000000000000000000000000000001 -:100FF00000000000000000000000000000000000F1 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-2.3m.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-2.3m.hex deleted file mode 100644 index 180ca65c..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpb-2.3m.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000000000000000000000000000000F0 -:1000100000000000000000000000000000000000E0 -:100020000000000000000000000000000000000EC2 -:10003000000000000040404040404041434F470F17 -:10004000000000000000000000007EFFFFFFFFFF37 -:1000500000000000000000000000000080C0F0016F -:100060003F7FFFFFFFFFFF7F000000000000000058 -:10007000FFFFFFFFFFFFFFFF000000000000000088 -:10008000FCFFFFFFFFFFFFFF00000000000000007B -:100090000DE1FCFCFCFCF8F8000000000000000092 -:1000A0000840021898190024000000000000000019 -:1000B0000000000000000000000000000000000040 -:1000C00010024018199800420800000000000000CB -:1000D0000000000000000000000000000000000020 -:1000E0000000480030B4004800000000000000009C -:1000F0000000000000000000000000000000000000 -:1001000000200000B43000001000000000000000DB -:1001100000000000000000000000000000000000DF -:1001200000000000000000000004040202010000C2 -:10013000000000000003030F0F0F0F1F3F1F9FBFA2 -:100140000000007CFFFFFCF8F3F7FFFEFEFCFEFE64 -:1001500000001098880010B8F8F8F0301000100077 -:1001600000010F1F1F3E3C3C38181C00000000001F -:100170003C7CF0F0F8B0100290000000400000005D -:10018000FC302020000040000000000000000000C3 -:1001900000800000000000000000000000000000DF -:1001A0000000000000000F1F3F3F1500200C0C2036 -:1001B0000000000204040810C0E3FBFFFFFFF3F09F -:1001C0000000000000000000307CFFFFFFFFFFFF89 -:1001D0000000000000000000000000C0C0C0E0E01F -:1001E000000200000000000000000000000000000D -:1001F000200C2C000108000000000000000000009E -:10020000FDFC7FFFFF7F3F1800030B000002000092 -:10021000C070108084CCE8F0602040000000000036 -:1002200000000000000000000000000000000000CE -:10023000000000000000000000000000030F3F7FEE -:10024000000000202020E0E0E041E3EFFFFFFFFF9F -:1002500000000000000000007FFFFFFFFFFFFFFF26 -:100260000000000000000000000080C0F0FFFFFF61 -:10027000000000000000000000000000000000007E -:10028000000000000000000000000000000000006E -:10029000FFFFFFFFFF7F7F3F3F0C000000000000DB -:1002A000FFFFFFFFFFFFBF1F1F0600000000000051 -:1002B000FFFFFFFFFFFFC38181000000000000007F -:1002C000FCFCFCFCF8F8F0E0E0C0000000000000DE -:1002D000000000000000000000000000000000001E -:1002E0000000000000000003000000000000031DEB -:1002F000000102121109CD67377F7F3360E0C0C76C -:10030000040808101038B8FDFFCF8302000060F920 -:10031000028444444266F7FFFFC80000187DFFFFD7 -:1003200000000404081870E1FB7F3E0F07C3E3E1FF -:100330000000000000106080000060980080C0F0A5 -:100340000000000101030608000000000000010099 -:10035000E74F4FC7E3B0183E3F3763414182020089 -:10036000FFFFFFCF8700004EFFFF3B101020202033 -:10037000FFFFFFBB0000030F1FFFEFCBC94444206A -:10038000F1F3E3470F0607CFFD7C381C040201019F -:10039000880080C0E0601080C0C0202010000000F5 -:1003A00000000000000000000002070F070E1E1FE3 -:1003B0000000010B1F1F3F7EFEFCCC000001030765 -:1003C0000000C1F3FFFFFF3F1910000060F9FFFFBD -:1003D0000080C0F3FFFFE7C382000000E3CFFFFF10 -:1003E000000000B0F8FCFE3E1F13010183C3C78369 -:1003F00000000000000000008080C0E0F0F0E0F0AD -:100400001F0F1F0F0707030100000000000000007E -:1004100087C380000082C7CFFF7F7F3F330000008B -:10042000FF7F3F0D000000008387CFFFFFF3200018 -:10043000FFFFFDD80000080C1F9FFFFEFC600000BE -:10044000E1C18103273F3F7FFEFCF0E06000000038 -:10045000F0E0E0C0C080800000000000000000006C -:10046000030707777E7CF0E0E1E17070393F1F0DF4 -:1004700000CEFFFF710068FFFF990000CFFFF380FF -:1004800039FFFFCF0000CFFFFFCF000039FFEFC3E0 -:1004900080C0F0FCFE3E0F87C6060C0ECEFCF0308E -:1004A0000000000001070F1F1F1F0F0301010000C4 -:1004B000000000009CFFE7800091FFFFF3C00000F8 -:1004C00000000070FCFF9301008193FFFB600000BF -:1004D00000000000C0E0F0F0F0F0E0E040000000BC -:1004E00000000000000C3F70733F0C000000000093 -:1004F0000000000000F0BC0E1EF4C0000000000070 -:1005000000000000000000200000000000000000CB -:1005100000000000002070F06000000000000000FB -:1005200000000000000004000000000000000000C7 -:10053000000000000060F0702000000000000000DB -:1005400000000000000000000000000000000000AB -:10055000000000000000000000000000000000009B -:10056000000000000000000000000000000000008B -:1005700000000000000060F0F060000000000000DB -:10058000000000010303010303010100000000005B -:100590000000B0F8FCFCFEFCFCFCF8980000000039 -:1005A00000000000000000000008081828000226D3 -:1005B000000000000000000000000000000000003B -:1005C0000000000002000800010306801021000066 -:1005D000000000000060E0E0E0203070D0183C1C1B -:1005E0000003000004080800000004080082C08026 -:1005F00000C0E060702060501030203030783C7EC9 -:1006000007070307090102020400000408000000B4 -:10061000000080808080E0303050102848000000CA -:1006200000000000000000000201000000000000C7 -:1006300000000000000000000000000000000000BA -:100640000000000000000000080804020000000094 -:10065000000000000000000000000000000000009A -:10066000000000000000040808080000000000006E -:10067000000000000000000000000000000000007A -:100680000000000000030000000000000000000067 -:10069000000000000080400000000000000000009A -:1006A0000000000000000103010000000000000045 -:1006B00000000000000080C080000000000000007A -:1006C00000000000000008080808080402000000FC -:1006D000000000000000000000000000000000001A -:1006E00000000003040800000000000000000000FB -:1006F000000000C00000000000000000000000003A -:100700000000FEFF000003000104317B7B3100008C -:10071000000000000000C00080208CDEDE8C0000A5 -:1007200000000000000000000000000000000000C9 -:1007300000000000000000000000000000000000B9 -:1007400000000000000000000000000000000000A9 -:10075000000000787E3F1F0F1F0F0F1F07000000D3 -:100760000000000030E0E0C0FFFFFFFF03000000DA -:100770000000000000000070FCF0F0F0C00000007D -:10078000000000000000000000E0E00000000000A9 -:100790000000000000000000000000000000000059 -:1007A0007878000000000000000000000000000059 -:1007B0000000000000000000000000000000000039 -:1007C0000000000000000101010000000000000026 -:1007D00000000000000080C0C08000000000000099 -:1007E00000000000000103070703010000000000F3 -:1007F00000000000008080C0C0C080000000000039 -:1008000000030F1E3871732767637060391F06007D -:1008100000C0F07C1C8EC6E4E4CE860CBCF8C000A0 -:10082000060F3F327046CFCF87CF66E0703C1F0780 -:10083000C0F09C0C46E2F3E2F7F7C30606DCF8B022 -:100840000000000001070F0F030000380000000047 -:100850000000000000C0E0E0800000380000000060 -:100860000001030707070305183C7E7F7E3C180044 -:100870000080C0E0E0E0C0A0183C7EFE7E3C180096 -:1008800000000000183D7E7E7E3C1A010000000042 -:100890003078FCFCFC783010103078FCFCFC7830B0 -:1008A00000000000000000001C0300000000000029 -:1008B0000000000000000000000000000000000038 -:1008C00000000000000000000C0300000000000019 -:1008D0000000000000000000008000000000000098 -:1008E0000000000000000000040300000000000001 -:1008F000000000000000000000C000000000000038 -:100900000000000904020020C018230204000000B7 -:10091000000080001060C040001000504020000027 -:100920000000002011092400200A1A2349110200A6 -:10093000000040808C1060000840A01040200000A3 -:10094000028124320800B86C0002071D2040891083 -:10095000022088B0E174381040E07CD28884001016 -:100960000000000000000103010000000000000082 -:1009700000000000000080E0800000000000000097 -:10098000000000000004030303000000000000005A -:100990000000000000008080804000000000000097 -:1009A0000000000000050303030101000000000037 -:1009B0000000000000408080800000000000000077 -:1009C00000140F5C30E040C0000000000000000098 -:1009D00000A0C0E4380D0607000000000000000081 -:1009E0000000000000000000000000000100010500 -:1009F000000000000000000004024F2F39F0C0800A -:100A0000000000000000000020C0F4FE9F0F030162 -:100A10000000000000000000000000800000C0D0C6 -:100A2000030707060E0000000000000000000000A1 -:100A300000000000000000000000000000000000B6 -:100A400000000000000000000000000000000000A6 -:100A5000E060703818000000000000000000000096 -:100A600000000000000402020100201403070753E5 -:100A70000404404222200402573F3FFFF9F0E0C047 -:100A8000100020220204442060FBFF7F1F0B0200A5 -:100A90000000000000001020800020C4C8C0E0EA70 -:100AA0000F0E1E1E3C0000000000000000000000B1 -:100AB00080000000000000000000000000000000B6 -:100AC0000000000000000000000000000000000026 -:100AD000F07CFC3C1E000000000000000000000054 -:100AE00000000000000000090507070F0F1F1F7F0F -:100AF00008040D8F5FFFFFFFFFFFFFFFFFFFFFFFFA -:100B00002040E0F8FCFEFFFFFFFFFFFFFFFFFFFFBD -:100B10000000000000408090E0E0E0F4F8F8F8FC0D -:100B20003F3F3F1F7F030100000000000000000066 -:100B3000FFFEF7FAF0E0F8FDFB7F5F1F0F030101F6 -:100B4000FFFF6F5F0F1F3F3E5EF4F0E0C08080004C -:100B5000F8FCFCFEFEC0C0800000000000000000A9 -:100B6000000000000000000000040303010343270D -:100B700000000001000121131B1F1FBFFFFFFFFF2B -:100B80000000000000040898D8FEFEFFFFFFFFFFF2 -:100B9000000000000000000000102060E0C0E0F253 -:100BA0003F1F1F1F1F1FBF7F7F3F7F7F7F7FFFFC78 -:100BB000FFFFFFFFFFFFFFFFFFFEFCF0D0C0800044 -:100BC000FFFFFFFFFFFFFFFFFFFF9F0F0100000080 -:100BD000F4FCF8F8FDFEFCFCFDFEFEFEFE7F3F0F80 -:100BE0007020000000000000000000000000000075 -:100BF00000000000000000000000000000000000F5 -:100C000000000000000000000000000000000000E4 -:100C100004000000000000000000000000000000D0 -:100C2000000000002010104021131F3F1F3F3F1DF8 -:100C30000000005000202040C0C0F0F9FAFCF8DCB1 -:100C400000000000010181034767F7FB7F7F3F7BC6 -:100C500080008080008080C8E0E2C4ECDEFEFECC34 -:100C600000040000004040213D9F7FFFFFFF7B39D3 -:100C7000000004000000C0E1F0F8FEFFFFFFFF46A7 -:100C80000000000000000000000000000000000064 -:100C9000000000000000000000000010000402122C -:100CA000000000000000000000000000000000083C -:100CB0000000000000000000000000000000000034 -:100CC00000000000080701001029070703030100C6 -:100CD00011098B4F2FBFFFFFFFFFFFFFF7FBFB71DA -:100CE0001010B2F4F9FAFEFCFEFEFEFFF7EFCF9E05 -:100CF00000000000000000000000000000000000F4 -:100D000000000000000000000000000000000000E3 -:100D10000000000000000020101010080889454560 -:100D20000000000000000000404080808811226424 -:100D300000000000000000000000000000000000B3 -:100D400000080603030307070F0F0707030301004B -:100D50006737371FBFBFBFFFFFFFFFFFFFFBBB7141 -:100D6000E6F8F9FFFEFEFFFFFFFFFFFFFFFFDF8E4C -:100D70000040800020408080D0C080808000000043 -:100D80000000000000000000000000010303030257 -:100D900000000000000000000000E060F8F8F4FE31 -:100DA000010100182E7E7E3D7F6F3600000000009E -:100DB000FEFCD8300002070D0F0666B0F878600020 -:100DC000000000000000000000000000000103051A -:100DD00000000000000000000000000000C0A0E0D3 -:100DE0000F0F07020100081C1A2E3E180000000019 -:100DF000D0F0F0E0C0183E3E5D7F7F360E0400006C -:100E0000010F1F07000000000000000000000000AC -:100E1000B0F0F0F0F0000000000000000000000062 -:100E2000000000000000000000000001071F3F79E3 -:100E3000007E7E7E7E7E7E3C7E7EFFFFFFFFE7C3E0 -:100E4000000000000000000000000080E0F8FC9EB0 -:100E50000000000000000000000000000000000092 -:100E600000040303070F0703000000000000000058 -:100E70008040406060E0F0F0700000000000000082 -:100E80000108040603070F0703000000000000002C -:100E90000080C0406060E0F0F070100000000000D2 -:100EA000010804060207070F070300000000000006 -:100EB0000080C0C0606060E0F0F0701000000000D2 -:100EC000000000000000000000000001071F3F7943 -:100ED0007E7E7E7E7E3C3C7E7E7EFFFFFFFFE7C304 -:100EE000000000000000000000000080E0F8FC9E10 -:100EF00000000000000000000000000000000000F2 -:100F0000000000000000000000000001071F3F7902 -:100F1000000020647E3C3C7E7E7EFFFFFFFFE7C337 -:100F2000000000000000000000000080E0F8FC9ECF -:100F300000000000000000000000000000000000B1 -:100F400000000000000000000000000000000000A1 -:100F50000000000000000000000000000000000091 -:100F6000000000000000000000060F060000000066 -:100F7000000000787E3F1F0F1F0F0F1F07000000AB -:100F8000000000000000000000060F060000000046 -:100F9000000000787E3F1F0F1F0F0F1F070000008B -:100FA0000000000000000000003C21213905053848 -:100FB000000000000000000000C62929292929C6D8 -:100FC00000000000000000000098A5A5A5A5A598B8 -:100FD000000000000000000000C62929292929C6B8 -:100FE0000000000000000000000000000000000001 -:100FF00000000000000000000000000000000000F1 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-1.3l.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-1.3l.hex deleted file mode 100644 index 2c6736ca..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-1.3l.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000000400000000000000000000000B0 -:10001000000000000000000000000000000000CC14 -:1000200000000000000000000000000000000000D0 -:10003000000000000000000000000000760000004A -:100040000000000060000000000000000000000050 -:10005000000000000000000000000000000000CCD4 -:100060000000000000000000000000000000000090 -:1000700000000000000000000000000076600000AA -:100080000000000060000000000000000000000010 -:10009000000000000000000000000000000011EE61 -:1000A0000000000000000000000000000000000050 -:1000B000000000000000000000000000FEF0000052 -:1000C00000000000701100000000000000000000AF -:1000D000000000000000000000000000000011EE21 -:1000E0000000000000000000000000000000000010 -:1000F000000000000000000000000000FFF0000011 -:1001000000000000703388000000000000000000C4 -:10011000000000000000000000000000000010FFD0 -:10012000800000000000000000000000000000004F -:10013000000000000000000000000011F7F10000C6 -:1001400000000000F133CC000000000000000000BF -:10015000000000000000000000000000000010FF90 -:100160008088000000000000000000000000000087 -:10017000000000000000000000000011F6F3000085 -:1001800000000000F177CC0000000000000000003B -:10019000000000000000000000000000000010F659 -:1001A000C088000000000000000000000000000007 -:1001B000000000000000000000000011FFF7000038 -:1001C00000000000F1FFE600000000000000000059 -:1001D000000000000000000000000000000010F718 -:1001E000D1880000000000000000000000000000B6 -:1001F000000000000000000000000011FFFF0000F0 -:1002000000000010F1FFEE00000000000000000000 -:10021000000000000000000000000000000010FFCF -:10022000F388000000000000000000000000000053 -:10023000000000000000000000000030FFFE000091 -:1002400000000010F3FBEE000000000000000000C2 -:10025000000000000000000000000000000310FF8C -:10026000F188000000000000000000000000000015 -:10027000000000000000000000000031FFFC000052 -:1002800000000030F3F9FE00000000110000000043 -:10029000000000000000000033000000000F10FE0E -:1002A000F3CC00000000000000000000000000008F -:1002B000000000000000000000000070FFF80000D7 -:1002C000000000F0F3FDFA0000000011988000002B -:1002D000000000000000000033000000080F30FEA6 -:1002E000F7CC00000000000000000000000000004B -:1002F00000000000000000000000CC71FFF8C0000A -:10030000000000F0F1FFF00000000033B8800000B2 -:10031000000000000000000033880000080930FFE2 -:10032000F3CC00000000000000000000000000000E -:1003300000000000000000000000CCF8FFFCC0003E -:10034000000000F0F1FFF00000000033E8C0000002 -:10035000000000000000000033A80000090C30FF7E -:10036000F3CC000000000000000000770000000057 -:1003700000000000000000000000FFF8FFFEC000C9 -:10038000000010F0F3FFF00000000077F8C000005C -:10039000000000000000000075EC0000090871FF7B -:1003A000FBCC00000000000000000077000000000F -:1003B00000000000000000000000F7FCF7FCE00077 -:1003C000000030F0F1FFF80000000077F0C00000FE -:1003D000000000000000000075FC0000090871FF2B -:1003E000FBCC0000000000000000007700000000CF -:1003F00000000000000000000000F7FCF7F8E0003B -:10040000001030F0F1FFF88000000077F0E000000D -:10041000003300000000000077FC80000B0870FE35 -:10042000FFCC000000000000000000776600000024 -:1004300000000000000000000000F7FEFFF8E000F0 -:100440000030B0F0F3FFF880000000FFF8E000009B -:100450000033880000000000F7F880000B0C70FEED -:10046000FFC400000000000000000077EE00000064 -:1004700000000000000000000000F7FEFFFCE000AC -:100480000030F0FDFBFFFC80000000FFF8E0000002 -:100490000033880000000000F3F88000060C71FEB5 -:1004A000F7C400000000000000000077EECC000060 -:1004B00000000000000000000000F7FCFFFCE0006E -:1004C00000F0F0FFFDFFFCC4001111FFF8E0000098 -:1004D0000077C00000000000F7FCC080000471FF3E -:1004E000F6D5000000000000000000FFF7C4000087 -:1004F00000000000000000000000F3FEFFF8E00034 -:1005000000F0F0F7FEFFFCC40033BBFBF0E000009E -:1005100000FFC000000000D0F3FDD080000270FF9B -:10052000F6D5000000000000000000FFF7C4000046 -:1005300000000000000000000000F3FFFFF0E000FA -:1005400030F0F0FBFFFFFFE00033FFF7F0F40000B6 -:1005500000FFC800000010F0F3FDF880000070FFFD -:10056000F6DDCC0000000000000000FFFFCC000022 -:1005700000000000000000000022F7FFFFF0F00084 -:1005800070F0F3FDFFFFFFE80077FFFFF8FC0000CD -:1005900011FEC000000010F4F7FFFC80000078FF9F -:1005A000FEFFCC0000000000000000FFFBCC0000BC -:1005B00000000000000000000033F7F7FEF0F080BC -:1005C00071F8F7FFFFFFFFF033FFFFFDF0F80000C9 -:1005D00011FCE0C0000010FCFFFFFCC00000F3FEB7 -:1005E000FEFFEE0000000000000000FFFBCC00005A -:1005F00000000000000000000033F7F7FEF0F0E01C -:10060000FFFAF7FFFFFFFFF1FFFDFFFCF1F0C00075 -:1006100033F8E0C0000011FEFFFFFDC40000F3FE50 -:10062000FFFFEE0000006600000033FFFFCC00007B -:1006300000000000000000000033F7F7FFF0F1F1C8 -:10064000FFF2FFFFFFFFFEF3FFF0FFFEF0F0C00040 -:1006500033F8E0E0000033FFF7FFFFF80033F3FE6C -:10066000FFFFFF8800007766000033FFFFCC00002B -:10067000000000000000000000FFFFFBFFF3F3FD9F -:10068000FFF3FFFFFFFFFCF7FEF0FFFFF0F0E000DD -:10069000BBFEE0E0000033FFFFFFFFF800FFF7FFC5 -:1006A000FFFFFF88000077EC000033FFFFCC000065 -:1006B0000011CC000000000011FDFFFBFEF7F7FB6E -:1006C000FEF7FFFFFFFFFFFCF8F0F7FEF0F0E01190 -:1006D000FFFCF0E00000FFFFFFFFFFFC88FFF7FFDB -:1006E000FFFCFF880011FFEC000033FFFDCC000091 -:1006F0000011CC000000000011FCFFFFFDFEFFF721 -:10070000FDFFFFFFFFFFFFFBFCF8FFF8F0F1F0112A -:10071000FFFCFCF10000FFFFFDFFFFF288FFF7FF89 -:10072000FFF8F3880011FFEA000077FFFFEC0000FC -:100730000011FE000000000011FCFFFFFFFFFFFFA3 -:10074000FBFFFFFFFFFFF7FFFDF9FFFEF6F3F811D8 -:10075000FFF9F9F98011FFF7FDFFFEF599FFFBFFA7 -:10076000FFF0F3880030FFEE000077FBFFE80000A9 -:100770000011FEC00000000011FDFFFFFFFFFFFFA2 -:10078000FFFFFFFFFFFFFFFFFFFDFFFDFFF3FC3358 -:10079000FFF7F9FB8011FFF1FFF8FEF599FFFFFF6E -:1007A000FEF0F0EE0031FFEE000077FBFFEA000004 -:1007B0000011FEC00000000011F9FFFFF7FFFFFF6E -:1007C000FFFFFFFCFFFFFFFFFFFEFFF9FFF7FEB398 -:1007D000FEFFFFFB8011FEF0F3FFFEFF99FFFFFF1E -:1007E000FFF1F5EE0031FFFE0000FFFEF7E600002E -:1007F00010F3FDF00000000017FDFFFFFBFFFFFFFF -:10080000FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF708 -:10081000FFFFFFF3C073FEF0F3FFFCFFBBFFFCF72D -:10082000FFF1FFEE00F1FFFC0000FFFEFFFF000004 -:1008300010F3FBF000000011F9FFFFFDFCF3FFFFD8 -:10084000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C4 -:10085000FFFFFEFFC073FCF4FBFFFBFFBBFFFFF7D6 -:10086000FFFBFFFF88F3FFFC0010FFFEFFFFC0004F -:1008700010F7FFF480000032F8FFFFF9FEF1FFFFF0 -:10088000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7A -:10089000FFFFFFFFC8F7FCF4FFFFFFFFFFFFFFFBB9 -:1008A000FFFBFFFF98FDFFF00030FFFEF7FFC000E9 -:1008B00070FFFFFC80000074F9F7FFFFFFF0FFFFFF -:1008C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE39 -:1008D000FFFFFDFFE8F7F8FEFFFFFFFFFFFFFFFD53 -:1008E000FFFBFFFFF8FEFEFCE030FFF7FFFFC0005C -:1008F00070FFF7FC800000F8FBF7FFFFFFFAFFFF37 -:10090000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 -:10091000FFFFFDFFFCF7F2FEFFFFFFFFFFFFFFFF02 -:10092000FFFFFFFFF9FFFDFEE030FFF7FFFEC40011 -:1009300071F7F7FD8010CCF2FBF7FFFFFFFFFFFF21 -:10094000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 -:10095000FFF9FBFFFCF7FFFFF7FFFFFFFFFFFFFFC4 -:10096000FFFDFFFFFDFFFFFFF074FFF3FFFEF70049 -:10097000F1F3FBFB8010FFFFF3FBFFFFFFFFFFFF27 -:10098000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 -:10099000FFFFFBFFFCFFFFFFFBFFFFFFFFFFFFFF72 -:1009A000FFFEFFFFFFFFFFF6F0F8FFF7FFFCF7CCBD -:1009B000F3F7FFFBC030FFFFF3FDFFFFFFFFFFFF7B -:1009C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 -:1009D000FFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFF28 -:1009E000FFFFFFFFFFFFFEFEF0F0FFF7FFFBFFFF43 -:1009F000FBFBFFF7FBF9FFFFFBFFFFFFFFFFFFFF25 -:100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 -:100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 -:100A2000FFFFFFFFFFFFFFFCF0F0FCF3FFFFFFFF06 -:100A3000FFFFFFF7FFFFF7FFFDFFFFFFFFFFFFFFD8 -:100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 -:100A5000FFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFAE -:100A6000FFFFFFFFFFFFFFF9F4F5FCF7FFFFFFFEBD -:100A7000FFFFFFFFFFF7FFFFFEFFFFFFFFFFFFFF8F -:100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 -:100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 -:100AA000FFFFFFFFFFFFFFF7F6F7FCFFFFFFFFFD74 -:100AB000FFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFF4E -:100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 -:100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 -:100AE000FFFFFFFFFFFFFFFFFEFFFCF7FFFFFFFB26 -:100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 -:100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 -:100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 -:100B2000FFFFFFFFFFFFFFFFFCFFF8F7FFFFFFFFE7 -:100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 -:100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 -:100B6000FFFFFFFFFFFFFFFFFBFFF8F7FFFFFFFFA8 -:100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 -:100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 -:100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 -:100BA000FFFFFFFFFFFFFFFFFFFFF8F1FFFFFFFF6A -:100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -:100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 -:100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 -:100BE000FFFFFFFFFFFFFFFFFFFFF0F0FFFFFFFF33 -:100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 -:100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 -:100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 -:100C2000FFFFFFFFFFFFFFFFFFFFF0F3FFFFFFFFEF -:100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 -:100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -:100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 -:100C6000FFFFFFFFFFFFFFFFFFFFF0F7FFFFFFFFAB -:100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 -:100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 -:100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 -:100CA000FFFFFFFFFFFFFFFFFFFFF0F1FFFFFFFF71 -:100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 -:100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 -:100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 -:100CE000FFFFFFFFFFFFFFFFFFFFF0F0FFFFFFFF32 -:100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 -:100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 -:100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 -:100D2000FFFFFFFFFFFFFFFFFFFFF0F3FFFFFFFFEE -:100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 -:100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 -:100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 -:100D6000FFFFFFFFFFFFFFFFFFFFF4FFFFFFFFFF9E -:100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 -:100D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 -:100D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 -:100DA000FFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFF5B -:100DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 -:100DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 -:100DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 -:100DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 -:100DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 -:100E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 -:100E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 -:100E2000FFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFD6 -:100E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 -:100E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 -:100E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 -:100E6000FFFFFFFFFFFFFFFFFFFFFFF1FFFFFFFFA0 -:100E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 -:100E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 -:100E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 -:100EA000FFFFFFFFFFFFFFFFFFFFFEF0FFFFFFFF62 -:100EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 -:100EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 -:100ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 -:100EE000FFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFF1E -:100EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 -:100F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 -:100F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 -:100F2000FFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFD5 -:100F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 -:100F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 -:100F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 -:100F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 -:100F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 -:100F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 -:100F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 -:100FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 -:100FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 -:100FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 -:100FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 -:100FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 -:100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-2.3k.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-2.3k.hex deleted file mode 100644 index d3867b31..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-2.3k.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000000000000000000000000000000F0 -:1000100000000000000000000000000000000000E0 -:1000200000000000000000000000000000000000D0 -:1000300000000000000000000000000000000000C0 -:1000400000000000000000000000000000000000B0 -:1000500000000000000000000000000000000000A0 -:100060000000000000000000000000000000000090 -:100070000000000000000000000000000000000080 -:10008000000000000000000000000000000000C0B0 -:100090000000E00000000000000000000000000080 -:1000A0000000000000000000000000000000000050 -:1000B0000000000000000000000000000000000040 -:1000C000000000000000000000000000000011EC33 -:1000D0000030F00000000000000000000000000000 -:1000E0000000000000000000000000000000000010 -:1000F0000000000000000000000000000000000000 -:10010000000000000000000000000000000077FF79 -:10011000C0F0FFC000000000000000000000000070 -:1001200000000000000000000000000000000000CF -:1001300000000000000000000000000000000000BF -:100140000000000000000000000000000000FFFFB1 -:10015000FCF3FFC8000000000000000000000000E9 -:10016000000000000000000000000000000000008F -:10017000000000000000000000000000000000007F -:100180000000000000000000000000000033FFFF3E -:10019000FCF3FFF800000000000000000000000079 -:1001A000000000000000000000000000000000004F -:1001B000000000000000000000000000000000003F -:1001C00000000000000000000000000000FFFFFF32 -:1001D000F0FFFFF000000000000000000000000041 -:1001E000000000000000000000000000000000000F -:1001F00000000000000000000000000000000000FF -:1002000000000000000000000000000033FFFFFCC1 -:10021000FFFFFFF0C0000000000000000000000031 -:1002200000000000000000000000000000000000CE -:100230000000000000000000000000C000000000FE -:10024000000000000000000000000000FFFFFFF3BE -:10025000FFFFFFF0F00000000000000000000000C1 -:10026000000000000000000000000000000000008E -:100270000000000000000000003310F0000000004B -:10028000000000000000000000000011FFFFFFFF61 -:10029000FFFEF0F0F0000000000000000000000091 -:1002A000000000000000000000000000000000004E -:1002B0000000000000000000003398F480000000FF -:1002C0000000000000000000000000FFFFFFFCFF36 -:1002D000FFFFFEF0F0C00000000000000000000082 -:1002E000000000000000000000000000000000000E -:1002F00000000000000000000077FCFEC0000000CD -:100300000000000000000000000033FFFFFFF3FFCB -:10031000FFFFFFFCF0F00000000000000000000004 -:1003200000000000000000000000000000000000CD -:10033000000000000000000000FFFFFFC000000000 -:1003400000000000000000000000FFFFFFFFFFFFB3 -:10035000FFFFFFFCF0F08000000000000000000044 -:10036000000000000000000000000000000000008D -:10037000000000000000000000FFFFFFE800000098 -:1003800000000000000000000077FFFFFFFCFFFFFF -:10039000FFFFFFF0F0F0E0000000000000000000B0 -:1003A000000000000000000000000000000000004D -:1003B000000000000000000011FDFFFFF0800000C1 -:1003C000000000000000000011FFFFFFFFFFFFFF23 -:1003D000FFFFFEF0F0F0F0800000000000000000E1 -:1003E000000000000000000000000000000000000D -:1003F000000000000000000033F9FFFEF280000062 -:100400000000000000000000FFFFFFFFFFFFFFFFF4 -:10041000FFFFFCF0F0F0F0F000000000000010C062 -:1004200000C000000000000000000000000000000C -:10043000000000000000000077FBFFF9FEC0000094 -:100440000000000000000077FFFFFFFFFFFFFFFF3D -:10045000FFFFF0F0F0F0F0F080000000000010E08E -:1004600070E000000000000000000000000000003C -:100470000000000000000000FFFFFFF7FFF0000099 -:1004800000000000000033FFFFFFFFFFFFFFFFFF42 -:10049000FFFCF0F0F0F7F0F0F0000000000033F89F -:1004A000F0F8000000000000000000000000000064 -:1004B0000000000000000011FEFFFFFFFFF0000041 -:1004C000000000000033FFFFFFFFFFFFFFFFFFFF03 -:1004D000FFF8F0F0F1FFFCF0F0C000000000FFFEBC -:1004E000F1FCC0000000000000000000000000005F -:1004F0000000000000000033FDFFFFFFFEF0800061 -:100500000000000000FFFFF8FFFFFFFFFFFFFFFFFD -:10051000FCF0F0F0F7FFF8F0F0F000000000FFFF53 -:10052000F3FFE000000000000000000000000000F9 -:100530000000000000000077F9FFFFFFFCF0C000A2 -:1005400000000000FFFFF1FFFFFFFFFFFFFFFFFFC5 -:10055000F0F0F0F1FFFFF0F0F0F0C0000033FFFF2B -:10056000F7FFF8000000000000000000000000009D -:1005700000000000000000FFF3FFFFFFF3F0F000B9 -:100580000000FFFFFFF8FFFFFFFFFFFFFFFFFFFC83 -:10059000F3FEF6F7FFFEF0F0F0F7F00000FFFFFFCC -:1005A000FFFFFCC00000000000000000000033005E -:1005B000E0000000000011FCFFFFFCFFFFFCF0C0AA -:1005C00000FFFFFFFCF1FFFFFFFFFFFFFFFFFFF357 -:1005D000FFFFFFFFFFF8F3F6F1FEF0E033FFFFFF50 -:1005E000FFFFF8F00000000000000000000033CC26 -:1005F000F0000000000033F9FFFFFFFFFFF0F0E024 -:10060000FFFFFFFCF1FFFFFFFFFFFFF9FFFFFFFF11 -:10061000FFFFFFFFFEF0FFFFF7FCF0F0FFFFFFFF23 -:10062000F3FFF0F080000000000000000000FFFE7B -:10063000F48000000000FFFFFFFFFFFFFEF0F0FF6F -:10064000FFFFFFFFFFFFFFFFFFFFF8F7FFFFFFFFC9 -:10065000FFFFFFFFF9FFFFFFFFFFF8F3FFFFFFFCC6 -:10066000FFFCF1FCE0000000000000000000FFFFC4 -:10067000FEE000000033FFFFFFFFFFFFFCF5FFFF80 -:10068000FFFEF3FFFFFFFFFFFFFFFFFFFFFFFFFF87 -:10069000FFFFFFFFFFFFFFFFFFFEF0F7FFFFFFFF82 -:1006A000FFFCF7FEF0800000000000000011FFFFDB -:1006B000FCF080000077FFFFFFFFFFFFF0FFFFFF70 -:1006C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A -:1006D000FFFFFFFFFFFFFFFFFFFEF3FFFFFFFFFF37 -:1006E000FFF0FFFCF0E00000000000000077FFFFDB -:1006F000F8F0C00000FFFFFFFFFFFCF3FFFFFFFF6C -:10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 -:10071000FFFFFFFFFFFFFFFFFFF8FFFFFFFFF3FFFC -:10072000FCF3FFF0F0F080000000000000FFFFFF8E -:10073000F0F3F00033FCFFFFFFFFF3FFFFFFFFFFCD -:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 -:10075000FFFFFFFFFFFFFFFFFEF1FFFFFFFCFFFFBB -:10076000FFFFFEF0F0F0E0000000000033FFFFFFAD -:10077000F1F7FEC077F3FFFFFFFFFFFFFFFFFFFF73 -:10078000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 -:10079000FFFFFFFFFFFFFFFFF1FFFFFFFFFFFFFF77 -:1007A000FFFFFCF0F0F0F0000000000033FFFFF06E -:1007B000F3FFFCF3FFFFFFFFFFFFFFFFFFFFFFFF64 -:1007C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 -:1007D000FFFFFFFFFFFFFFFCFFFFFCFFFEF7FFFF38 -:1007E000FFFFF8F0F0F0F08000000011FFFFFFFCC9 -:1007F000FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF15 -:10080000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 -:10081000FFFFFFFFFFFFFFFFFFFFF0F3FFFFFFFF03 -:10082000FFFFF0F0F0F0F0E0000011FFFFFFFFFF2E -:10083000FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB -:10084000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 -:10085000FFFFFFFFFFFFFFFFFFFFF8F7FFFFFFFFB7 -:10086000FFFCF0F0F0F0F0F0C000FFFFFFFFFFFF33 -:10087000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 -:10088000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 -:10089000FFFFFFFFFFFFFFFFFFFFFCFEF3FFFFFF78 -:1008A000FFF0F0F0F6F0F0F0F0F3FFFFFFFFFFFFD6 -:1008B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 -:1008C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 -:1008D000FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFF34 -:1008E000FCF0F0FCFFFBF2F0F0F0FFFFFFFFFFFF7A -:1008F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 -:10090000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 -:10091000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 -:10092000F8F0F1FFFFFFFFF8F0F0F3FFFFFFFFFF2C -:10093000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 -:10094000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 -:10095000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA8 -:10096000F1FEF7FFFFFFFFFFF0F0F0FFFFFFFFFFDB -:10097000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 -:10098000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 -:10099000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86E -:1009A000FFFFFFFFFFFFFFFFFCF2F0F0FFFFFFFF85 -:1009B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 -:1009C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 -:1009D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF730 -:1009E000FFFFFFFFFFFFFFFFF0FFFCFFF3FFFFFF35 -:1009F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 -:100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 -:100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 -:100A2000FFFFFFFFFFFFFFFCF3FFFFFFFCFFFFFFE8 -:100A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 -:100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 -:100A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 -:100A6000FFFFFFFFFFFFFEF1FFFFFFFFFFFFFFFFA5 -:100A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 -:100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 -:100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 -:100AA000FFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFF5C -:100AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 -:100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 -:100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 -:100AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 -:100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 -:100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 -:100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 -:100B2000FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFD8 -:100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 -:100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 -:100B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 -:100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 -:100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 -:100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 -:100BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 -:100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -:100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 -:100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 -:100BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 -:100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 -:100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 -:100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 -:100C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 -:100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 -:100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -:100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 -:100C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 -:100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 -:100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 -:100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 -:100CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 -:100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 -:100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 -:100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 -:100CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 -:100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 -:100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 -:100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 -:100D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 -:100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 -:100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 -:100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 -:100D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 -:100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 -:100D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 -:100D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 -:100DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 -:100DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 -:100DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 -:100DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 -:100DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 -:100DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 -:100E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 -:100E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 -:100E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 -:100E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 -:100E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 -:100E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 -:100E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 -:100E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 -:100E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 -:100E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 -:100EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 -:100EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 -:100EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 -:100ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 -:100EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 -:100EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 -:100F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 -:100F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 -:100F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 -:100F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 -:100F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 -:100F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 -:100F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 -:100F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 -:100F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 -:100F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 -:100FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 -:100FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 -:100FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 -:100FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 -:100FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 -:100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-3.3h.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-3.3h.hex deleted file mode 100644 index bbd11c77..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-3.3h.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000011000000000000000000000000DF -:10001000000000000000000000004400000000009C -:10002000000044020000000000000000000000008A -:1000300000000000000000000000000000000000C0 -:10004000000000110000010000000000000000009E -:10005000000000000000000000004402000000005A -:10006000000044020000000000000000000000004A -:100070000000000000000000000000000000000080 -:1000800000000011118F01000000000000000000BE -:10009000000000000000000000004402000000001A -:1000A000000044020000000000000000000000000A -:1000B0000000000000000000000000000000000040 -:1000C0000000001177EF0D000000000000000000AC -:1000D00000000000000000000000440200000000DA -:1000E00000004402000000000000000000000000CA -:1000F0000000000000000000000000000000000000 -:1001000000000000FFFF0F000000000000000000E2 -:100110000000000000000000000044020000000099 -:100120000011FF8F08000000000000000000000028 -:1001300000000000000000000000000000000000BF -:1001400000000011FDFB870000000000000000001F -:100150000000000000000000000044020400000055 -:100160000033FFCF0C000000000000000000000082 -:10017000000000000000000000000000000000007F -:1001800000000011FFFF8F000000000000000000D1 -:1001900000000000000000000022440204000000F3 -:1001A00000FFFFFF0F000000000000000000000043 -:1001B000000000000000000000000000000000003F -:1001C00000000011F3F3C300000000000000000075 -:1001D00000000000000000000022440204000000B3 -:1001E00011FFFFEF0F0800000000000000000000FA -:1001F00000000000000000000000000000000000FF -:1002000000000033FFFF8F08000000000000000026 -:1002100000000000000000010022330C0400001167 -:10022000FFFFFF8F0F0F080000000000000000001C -:1002300000000000000000000000000000000000BE -:1002400000000033FFFFCF080000000000000000A6 -:1002500000000000000000010022FF8F04000033B6 -:10026000FFFFFFFF8F0F0C000000000001000000E7 -:10027000000000000000000000000000000000007E -:1002800000000033FFFFCF08000000000000000066 -:1002900000000000000000010011FFEF0800003323 -:1002A000FFFFFFFFFF0F0C00000000000100000037 -:1002B000000000000000000000000000000000003E -:1002C00000004432FCFDE9080000000000000000CE -:1002D00000000000000000010011FFFF08000033D3 -:1002E000F5F5F5FAFA5A0C000000000001000000D4 -:1002F000000000000000000000330C0000000000BF -:1003000000004433FFFFCF08000000008811000008 -:1003100000000000000022010033F5FA0C0000117B -:10032000F5F5F5FAFA5A0800000000000100000097 -:10033000000000000000000011FF8F080000000016 -:1003400000004433FFFFCF080000000088110000C8 -:1003500000000000000022010077FFFF0E000033C4 -:10036000FFFFFFFFFF8F0C000000000005000000F2 -:10037000000000000000000033FFEF0C0000000050 -:1003800000004411F1F1E1000000000044220000EF -:1003900000000000000022010077FFEF0E00007750 -:1003A000F8FCF3FCF3E10E00000000000500000083 -:1003B000000000000000000077FFFF0E00000000BA -:1003C00000004411F1F1E1000000000044220000AF -:1003D00000000000000022010077FFCF0E00007730 -:1003E000FFFFFFFFFFEF0E00000000000500000010 -:1003F000000000000000000077FFFF0E000000007A -:1004000000004432FFFFCF0800000000224400003B -:1004100000000000000022110033FFFF0C0011FF5C -:10042000FFFFFFFFFFFF0F080000000005000000B6 -:100430000000000000000000FFFFFF8F0000000030 -:1004400000004411FFFFCF0800000000224400001C -:10045000000000000000220600327DB6840011F08A -:10046000FCF0FCF3F0F3F0080000000005000000D1 -:100470000000000000000000FFFFFF0F0000000070 -:10048000000055FFFFFFEF080000000022440000BD -:1004900000000000000011FF0833FFFF0C0011FFF7 -:1004A000FFFFFFFFFFFF8F0800000000EF080000C4 -:1004B0000000000000000000FFFFEF0F0800000038 -:1004C000000033FFFFFFEF0800000000118800006C -:1004D00000000000000033EF0C33FFFF0C0033FF7F -:1004E000FFFFFFFFFFFF8F0C00000011FF0C00005B -:1004F0000200000000000000F5F5FA5A08000000B4 -:10050000000077FFFFFFEF08000000331188CC00E8 -:1005100000000000000077F60E77FFFF8E0077FFE7 -:10052000EDEDFFFFB7B7CF0E00000033FF8E0000E8 -:100530000200000000000000FFFFCF0F08000000D5 -:10054000000077FFFFFFCF08000000779999EE00C9 -:1005500000000000000077FF0E77FFFF8E0077FF9E -:10056000EDEDFFFFB7B78F0E00000077FF8F0000A3 -:100570000200000000000000000000000000000079 -:100580000000FEFDF6F7CF08000000779999EE0015 -:1005900000000000000032760477FFFF8E0033FF7A -:1005A000FFFFFFFFFFEF0F0C00000074FDEF0000E6 -:1005B0000200000000000000FFFFFF0F0800000025 -:1005C0000000FFFFFFFF8F08000000331188CC0000 -:1005D00000000000000077FF0E75FAF5CA0033FF37 -:1005E000FFFFFFFFFFEF0F0C00000077FFFF00028F -:1005F0000200000000000000FFFFFF8F0800000065 -:100600000000FFFFFFFFEF0E0000001133CC880059 -:10061000000000000000FFFF8F77FFFFCF0000FF0A -:10062000FFFFFFFFFFCF0F00000000FFFFCF08021A -:100630000200000000000000FCF4F2C30000000013 -:100640000000FFF6FDFFEF0F000011FFFFFFCF08D6 -:100650000000000000FFFFFFEFFFFFFFCF080011C9 -:10066000FFFFFFFFFF0F0800000000FAF82F08024D -:100670000200000000000000FFFFFF8F00000000EC -:100680000000FFFFFFFFFF0F000033FBFDFBFD0C31 -:100690000000000011FFFFFFEFFFFFFFEF0E000063 -:1006A00077B7B66DFC0E0000000000FFFFCF080218 -:1006B000020000000000000077FFFF0E00000000B5 -:1006C0000000FFFFFFFFF7A50000FFFFFFFFFF8F08 -:1006D0000000000011FC7DF47FFFFFFFFF0E000013 -:1006E00033FFFFFFFF0C0000000000FFFFCF0802F8 -:1006F0000E0000000000000077FFFF0E0000000069 -:100700000000FEFFF6FFFF8F0011EDEDFCB7F3C315 -:100710000800000011F87DF43FFFFFFFFF0E00000E -:1007200033FFFFFFEF0C0000000011FFFFEF0C1183 -:100730008F0000000000000033FFCF0C000000001D -:100740000000FFFFFFFFFD8F0033FFFFFFFFFFCF24 -:100750000C00000011FFFFFFFFBFBFFAFD8F00007C -:1007600033FFFFFF8F0C0000000033FFFF8F0C33BF -:10077000CF0800000000000011FF8F0800000000FB -:100780000000FFFFFFFFFF8F0033FFFFFFFFFFFFB2 -:100790000C00000011FFFFFFFFD3D3FFFF8F00000D -:1007A00033FFF78F0F0C0000000077FFFFEF0C778F -:1007B000EF0800000000000000330C000000000003 -:1007C0000000FFFFFFFFFF8F0077FFFFFFFFFFFF2E -:1007D0000E00000011FFFFFFFFFBFBFFFF8F00007B -:1007E00033FFFFEF0F080000000077FFFFEF0E77E9 -:1007F000EF0C0000000000000074C20000000000C8 -:100800000000FFFFEFFFFF0F0077FFFFFFFFFFCFAD -:100810000E00000011FFFFFFFFFFFFFFFF8F000032 -:1008200011FFFFFF8F0800000000FFFFFFFFDEFF4A -:10083000E90C00000000000000778E0000000000BE -:100840000000FFFFEF7FF64B0077D3DBDBDBDBF84D -:100850000E00000011B66DFBB7FFFFF6F68F00002B -:1008600033FFFFFFCF0C00000000FCFDF9FBFFFC95 -:10087000F90C00000000000000770E0000000000EE -:100880000000FFFFEFFFFF8F0077DBDBDBDBDBE947 -:100890000E00000011FFFFFFFFFFFFFFFF0F000032 -:1008A00033FFFFFFCF0C00000000FFFFFFFFFFFC46 -:1008B000FF0C00000000000000778E000000000028 -:1008C0000000FFFFEFFFFF0F0033FFFFFFFFFFEF11 -:1008D0000C00000011FFFFFFFFFFFFFFFF0E0000F5 -:1008E00033FFFFFFCF0C00000000FFFFFFFFFFFF03 -:1008F000FF0C00000000000000778E0000000000E8 -:10090000000077FFCFFFFF0E0033FFFFFFFFFFEF79 -:100910000C00000011FFFFFFFFBFFFFFCF0E000024 -:1009200077FFFFFFEF0E00000000FEFAFAFADFFF8C -:10093000FB0C0000000000000077CE00000000006B -:10094000000077FF3FFFEF0E0011FFFFFFFFFFCF1B -:100950000800000011FFFFFFFFBFFFFFCF0E0000E8 -:1009600077FFFFFFCF0E00000000FFFFFFFFBFF982 -:10097000FF0C00000000000000778E000000000067 -:10098000000011FFFFFFCF080011FFFFFFFFFF0F67 -:100990000800000011FFFFFFFF1FFFFFCF0800004E -:1009A00077FFFFFF8F0E00000000FFFFFFFFBFFF7C -:1009B000EF0C00000000000000778E000000000037 -:1009C000000000FCFCFCE908000033FFEF2F0F0CD7 -:1009D0000000000000FFFFFFEF0FFFFFCF0000004F -:1009E00077FFFFFF0F0E0000000077FFFFFF7FFF84 -:1009F000EF0C00000000000000778E0000000000F7 -:100A0000000000FFFFFFCF08000011FFFFFFEF080D -:100A1000000000000000FFF90F0F7FFF8E000000B4 -:100A200077FFFFFFCF0E0000000077FF0F0F7FF56D -:100A3000C7080000000000000077CE0000000000A2 -:100A4000000011FFFFFFCF00000000FFFFFFCF00FD -:100A5000000000000000FFFFCF3FFFCF0E000000AE -:100A6000FFFFFFFFEF0F0000000011FFFFFF3FFF40 -:100A7000CF0000000000000000FF8F000000000019 -:100A8000000011FFFFFF8F0000000077FFFF8E00C6 -:100A900000000000000077FFEFFFFFCF0E00000016 -:100AA000FFFFFFFFCF0F0000000011FFFFEF7FFFF0 -:100AB000CF0000000000000011FF8F0800000000C0 -:100AC000000033FFFFFF8F0000000077FFEF0E00F4 -:100AD00000000000000077FFEFFFFFCF0E000000D6 -:100AE000FFFFFFFF0F0F0000000000FFFFCF7FEFB1 -:100AF0008F0000000000000000778E000000000062 -:100B0000000077FFFFFF8E00000000FFFFFF8F0057 -:100B100000000000000077FFFFFFFF8F00000000D3 -:100B2000FFFFFFCF0F0F0000000000FF7F0FFFEF60 -:100B30008F00000000000033FF338C0F0C0000001A -:100B40000000FFFFFFFF0E00000000FFFFFFCF00CF -:100B500000000000000077FFFFFFEF0F0000000023 -:100B6000FFFFFFFF8F0F000000000077FFCFFFEFB8 -:100B70000E00000000000033FFAA1DCF0C00000093 -:100B80000000FFFFFFFF0E00000000FDFAF5CF00A0 -:100B9000000000000000FEF7F8E70F0F0000000063 -:100BA000FFFFFFFFFF0F000000000077FFEF0F0FB8 -:100BB0000C000000000000FFFF8811FF0F00000084 -:100BC0000000F8F1F8F80F00000000FFFFFF8F00B1 -:100BD000000000000000FFFFFFFF0F0E00000000FC -:100BE000FFFFFFFFEF0F0000000000FFFFEF0F0F00 -:100BF00008000000000077FFFFFFFFFF0F0E00005E -:100C00000033FFFFFFFF0F0C000011FFFFCF0F08A5 -:100C10000000000077FFFFFFFFFFFF0E0000000055 -:100C2000FFFFFFFFCF0F0000000000FFFFFFFFCF1F -:100C300008000000000077FFFFFFFFFF8F0F00009C -:100C40000077FFFFFFFF0F0E000033FFFFFF0F0CC9 -:100C5000000000FFFFFFFFFFFFFFFFCF0F000000BE -:100C6000FFFFFFFF8F0F0000000000FFF7FDFFCF29 -:100C700008000000000076F6F6F4F2F69686000012 -:100C800000FFFFFFFFFF0F0F000077FFFFFFCF0EFA -:100C9000000000FFFFFFFFFFFFFFFFEF0F08000056 -:100CA000FFFFFFFFEF0F00000000FFFFF7FD0F0F3A -:100CB0000F0800000011FFFFFFFFFFFFCF0F08002C -:100CC00000FFF1F8FEF3F80F000077FFFFFFEF0ED3 -:100CD000000011FFFFFFFFFFFFFFFFFFCF08000035 -:100CE000FFFFFFFFFF0F00000077FFFFFFFFFF8FF9 -:100CF0000F0E00000011FAFAFAFAF5F5E5A5080062 -:100D000000FFFFFFFFFFCF0F0000FFFFFFFFCF0F30 -:100D1000000011FFFFFFFFFFFFFFFFFFEF0C0000D0 -:100D2000FFFFFFFFEF0F000000FFFFFFFFFFFFEFE0 -:100D30000F0F0C000011FFFFFFFFFFFFAFAF080018 -:100D40000077FFFFFFFFCF0E0000FFFFFFFFEF0F59 -:100D5000000033FFFFFFFFFFFFFFFFFFFF0C00005E -:100D6000FFFFFFFFCF0F000000FFFFFFFFFFFFFFB0 -:100D70008F0F0C000077FFFFFFFFFFFF8F0F0E00AC -:100D80000077FFFFFFFF8F0E0000FFFFFFFFCF0F79 -:100D9000000033FFFFFFFFFFFFFFFFFFFF0F00001B -:100DA000FFFFFFFF8F0F000000FFFFFFFFFFFFFFB0 -:100DB000FF8F0C000077FFF9FCF0F0CF0F0F0E0053 -:100DC0000077FFFFF0F30F0E0000FFFFFFFF8F0F14 -:100DD000000077FFFFFFFFFFFFFFFFFFFF0F000097 -:100DE000FFFFFFFF0F0F00000077FFFFFFFFFFFF78 -:100DF000FFCF0C000077FFFFFFFFFFFFFF8F0E000C -:100E000000FFFFFFFFFF0F0F0000FFFFFFFFEF0FCF -:100E10000000FFFFFFFFFFFFFFFFFFFFFF0F0000CE -:100E2000FFFFFFFF8F0F00000011FDF90F0F0F0FE5 -:100E30000F0F0C0000FFFFFFFFFFFFFFFFCF0F00B2 -:100E400000FFFFFFFFFF0F0F0000FFFFFFFFCF0FAF -:100E50000000FFFFFFFFFFFFFFFFFFFFFF0F00008E -:100E6000FFFFFFFFCF0F000077FFFFFFFFFFFFFF38 -:100E7000FF8F0F0800FFFFFFFFFFFFFFFFCF0F00F7 -:100E800000FFFFFFFFFFFF0F0000FFFFFFFFCF0F7F -:100E90000000FFFFFFFFFFFFFFFFFFFFFF0F00004E -:100EA000FFFFFFFFCF0F000077FFFFFFFFFFCF0F18 -:100EB0003FEF0F0800FFFFFFFFFFFFFFFFEF0F00F7 -:100EC00000FFFFFFFFFFEF0F0000FFFFFFFFEF0F2F -:100ED0000000FFFFFFFFFFFFFFFFFFFFFF0F00000E -:100EE000FFFFFFFF8F0F0000FFFFFFFFFFFFFFFF70 -:100EF000FFEF0F0C00FFFFFFFFFFFFFFFFEF0F00F3 -:100F000000FFFFFFFFFFCF0F0000FFFFFFFFCF0F2E -:100F10000000FFFFFFFFFFFFFFFFFFFFFF0F0000CD -:100F2000FFFFFFFF8F0F0000FFFFFFFFFFFFFFFF2F -:100F3000FFFF0F0C00FFFFFFFFFFFFFFFFCF0F00C2 -:100F400000FFFFFFFFFFCF0F0000FFFFFFFFEF0FCE -:100F50000000FFFFFFFFFFFFFFFFFFFFFF8F00000D -:100F6000FFFFFFFF0F0F0000FFFFFFFFFFFFFFFF6F -:100F7000FFFF0F0C00FFFFFFFFFFFFFFFFCF0F0082 -:100F800000FFFFFFFFFF8F0F0000FFFFFFFFCF0FEE -:100F90000000FFFFFFFFFFFFFFFFFFFFFFCF00008D -:100FA000FFFFFFEF0F0F0000FFFFFFFFFFFFFFFF3F -:100FB000FFFF0F0C00FFFFFFFFFFFFFFFF8F0F0082 -:100FC00000FFFFFFFFFF0F0F0000FFFFFFFF8F0F6E -:100FD0000000FFFFFFFFFFFFFFFFFFFFFFCF00004D -:100FE000FFFFFFCF0F0F0000FFFFFFFFFFFFFFFF1F -:100FF000FFEF0F0C00FFFFFFFFFFFFFFFF0F0F00D2 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-4.3f.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-4.3f.hex deleted file mode 100644 index 197f16d3..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-4.3f.hex +++ /dev/null @@ -1,257 +0,0 @@ -:1000000000000000000000000010117FFF9C0800AD -:1000100000E0F8FCFCC84000000000000000000008 -:10002000FFFFFFFFFFFFF0F0FFFFFFFFFFFF0F0FDE -:10003000F0F0F0F0F0F0F0F00F0F0F0F0F0F0F0FC8 -:10004000F0F0FFFFFFFFFFFF0F0FFFF1FDFBF7F1E8 -:100050007F7F7F7F7F7F7F7F7FFFFFFFFFFFFFFF30 -:100060000000000000000000000000000000000090 -:100070000000000000000000000000000000000080 -:100080000000000000000000000000000000000070 -:10009000003078FCFCFC783000000000000000001C -:1000A000FFFFFFFFFFFF00000000FFFFFFFFFFFF5C -:1000B0000000FFDFEF07EFDF0000FF1F7F3F7F1F24 -:1000C0000000FF1FBFBFBF7F0000FF1F5F5F5F1FFC -:1000D0000000FF1FBFBFBFBFFF07070707FFFFFFEE -:1000E000FF07070707FFFFFFFF07070707FFFFFFE0 -:1000F000FF07070707FFFFFFFF07070707FFFFFFD0 -:100100000000000000000000FF00000000FFFFFFF3 -:10011000FF00000000FFFFFFFF00000000FFFFFFE7 -:10012000FF00000000FFFFFFFF00000000FFFFFFD7 -:10013000FF00000000FFFFFFFF00000000FFFFFFC7 -:10014000FF00000000FFFFFFFF00000000FFFFFFB7 -:10015000000000000000000000000000000000009F -:10016000000000000000000000000000000000008F -:100170000000000000000000000000000000030379 -:10018000000000000000000000000000000000006F -:10019000000000000000000000000000000000005F -:1001A000000000000000000000000000000000004F -:1001B000000000000000000000000000000000003F -:1001C000000000000000000000000000000000002F -:1001D000000000000000000000000000000000001F -:1001E000000000000000000000000000000000000F -:1001F000000000000000000000000000003C0000C3 -:100200000000000000000000001C3663637F636391 -:10021000007E63637E63637E001E33606060331E16 -:10022000007C66636363667C007E60607C60607FE8 -:10023000007F60607E606060001F30606763331F16 -:10024000006363637F636363007E18181818187E69 -:10025000000303030303633C0063666C787C6E67F2 -:10026000006060606060607F0063777F7F6B6363C6 -:100270000063737B7F6F6763003E63636363633E0A -:10028000007E6363637E6060003E6363636B673D13 -:10029000007E6363677C6E67003C66603E03633E7E -:1002A000007E181818181818006363636363633EB0 -:1002B00000636363773E1C080063636B7F7F776333 -:1002C0000063773E1C3E7763006666663C1818182C -:1002D000007E7E0C18307E7E0307060C08006060EE -:1002E0003C4299A1A599423C00000000000000009A -:1002F00000000000000000000000000055000000A9 -:1003000000000000000000000000000000000000ED -:1003100000000000000000000000000000000000DD -:1003200000000000000000000000000000000000CD -:1003300000000000000000000000000000000000BD -:10034000404040404040404050505050505040404D -:1003500000000000070301000000000000E0F8FCBE -:100360000000000000000001000000000000550037 -:1003700000337373000000007E7F7F3F1F0F1F0F4D -:1003800000008080C0C1E1E300000000FF00000029 -:1003900000000000FF00000000000000FF0000005F -:1003A00000000000FF00000000000000FF1F01032C -:1003B00000000000FFFFFFFF00000000008080C081 -:1003C000000000000000000000000000000000002D -:1003D000000000000000000000000000000000001D -:1003E00000070FFFFFFFFFFF0080E0F8FFFFFFFFA8 -:1003F00000000F3FFFFFFFFF0F0707C7FFFFFFFFD3 -:10040000F0F0F8FFFFFFFFFF660000C0E0F0F0F83B -:1004100066000000000000006600000000000070A0 -:1004200066000000000000006703010303000103F1 -:1004300066000003071F3F3FC0C0E1FFFFFFFFFF53 -:100440000007FFFFFFFFFFFF00C3FFFFFFFFFFFFEE -:1004500000C0FCFFFFFFFFFF000000F8FFFFFFFFF1 -:1004600000030F3FFFFFFFFFC0F1FFFFFFFFFFFF94 -:10047000FCFFFFFFFFFFFFFF0001C7FFFFFFFFFFC4 -:10048000C7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFBC -:10049000C0C0C0C080FFFFFF0000000000000000DF -:1004A000000000000000000000000000000000004C -:1004B000000000000000000000FFFFFF00007EFEC3 -:1004C000FCFCFCFCF8F8F8F8FCFCFCFCF8F8F8F88C -:1004D000000000000000000000000000000000001C -:1004E000000000000000000000000000000000000C -:1004F00000000000000000000000000000000000FC -:100500003F3F3F3F7E7E7E7EF0F0F0F0E0E0E0E0B7 -:100510000000C0F0F8F8FCFCFFFFFFFFFFFFFFFF4B -:100520008080C0C0E0F0F8F8FEFFFFFFFFFFFFFF94 -:100530000000000001010F1F7FFFFFFFFFFFFFFF13 -:1005400000000303070F0F0F0F1FBFFFFFFFFFFF89 -:100550000000C0F0FCFEFFFF0000000000008080F3 -:10056000C0F0F0F0F0F8F8FCFEFFFFFFFFFFFFFF28 -:100570000000010103070F0F0F9FFFFFFFFFFFFFA9 -:10058000000003070F0F1F3F7FFFFFFFFFFFFFFF6D -:100590000000F0F0F0F8FCFCFEFEFFFFFFFFFFFFA5 -:1005A000FFFFFFFFFFFFFFFF0000000000808080D3 -:1005B00080E0F0F0F0F0F0F0F8FFFFFFFFFFFFFF4A -:1005C0000000808181C3E7FFFFFFFFFFFFFFFFFF08 -:1005D000010FFFFFFFFFFFFF000000000101030309 -:1005E00007070F1F3F3FFFFFFFFFFFFFFFFFFFFF5B -:1005F00000001F1F3F3F7F7F7FFFFFFFFFFFFFFFC9 -:100600000000F0F0F0FCFCFEFEFFFFFFFFFFFFFF2D -:100610000000000000808098FCFCFCFCFCFCFCFC62 -:10062000FEFEFFFFFFFFFFFF0000008080C0C0F064 -:10063000FFFFFFFFFFFFFFFF00030307070F1FFF81 -:10064000FFFFFFFFFFFFFFFF00010F0F1F1F1F1F17 -:100650001F1F3F3F3F3F3F7F7FFFFFFFFFFFFFFF2A -:1006600000001F3F7FFFFFFFFFFFFFF7FFFFFFFFC0 -:10067000FFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFF0A -:10068000000000F8FFFFFFFF00000FFFFFFFFFFF6C -:1006900000000F3FFFFFFFFF0000031FFFFFFFFFF2 -:1006A0000000C0FCFFFFFFFF0000E1FFFFFFFFFFB6 -:1006B0000000073FFFFFFFFF80FFFFFFFFFFFFFF7F -:1006C0000000E0FFFFFFFFFFF0FFFFFFFFFFFFFF66 -:1006D0000000F8FCFCFCFCFCFCFCFEFEFEFEFEFE4A -:1006E000FFFFFFFFFFFFFFFF1F3F3F3F3F3F3F3F3A -:1006F0003F3F7F7F7F7F7FFFFFFFFFFFFFFFFFFF0A -:1007000000FCFFFFFFFFFFFF00F0FFFFFFFFFFFF09 -:1007100000E0FCFFFFFFFFFF0080E0F8FFFFFFFFAE -:1007200000000000000000F000C3FFFFFFFFFFFF1C -:100730000FFFFFFFFFFFFFFF0000000000F0FFFFC3 -:10074000003FFFFFFFFFFFFF1F7FFFFFFFFFFFFFD8 -:10075000000000F0FFFFFFFF003EFFFFFFFFFFFF75 -:100760000000FCFFFFFFFFFF0000E0FFFFFFFFFFB7 -:10077000000003FFFFFFFFFF00030FFFFFFFFFFF6E -:100780000000FFFFFFFFFFFF000FFFFFFFFFFFFF66 -:1007900000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 -:1007A000000000000000000F00000000000000FF3B -:1007B000000000000000FFFF00000000000FFFFF2E -:1007C0000000000000FFFFFF00000000FFFFFFFF30 -:1007D0000000000FFFFFFFFF000000FFFFFFFFFF13 -:1007E000000000C3FFFFFFFF000000C7FFFFFFFF87 -:1007F00000003FFFFFFFFFFF00030FFFFFFFFFFFB2 -:100800000000000000000000FFFFFFFFFFFFFFFFF0 -:10081000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 -:10082000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 -:10083000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 -:10084000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 -:10085000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 -:10086000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 -:10087000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 -:10088000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 -:10089000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 -:1008A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 -:1008B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 -:1008C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 -:1008D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 -:1008E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 -:1008F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 -:10090000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 -:10091000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 -:10092000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 -:10093000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 -:10094000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 -:10095000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 -:10096000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 -:10097000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 -:10098000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 -:10099000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 -:1009A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 -:1009B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 -:1009C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 -:1009D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 -:1009E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 -:1009F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 -:100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 -:100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 -:100A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 -:100A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 -:100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 -:100A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 -:100A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 -:100A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 -:100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 -:100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 -:100AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 -:100AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 -:100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 -:100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 -:100AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 -:100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 -:100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 -:100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 -:100B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 -:100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 -:100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 -:100B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 -:100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 -:100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 -:100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 -:100BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 -:100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -:100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 -:100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 -:100BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 -:100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 -:100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 -:100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 -:100C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 -:100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 -:100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -:100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 -:100C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 -:100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 -:100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 -:100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 -:100CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 -:100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 -:100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 -:100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 -:100CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 -:100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 -:100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 -:100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 -:100D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 -:100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 -:100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 -:100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 -:100D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 -:100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 -:100D80000101010103030303070707070F0F0F0FFB -:100D90001F1F1F1F3F3F3F3F7E7E7E7EFCFCFCFCF3 -:100DA0000000000000000000F8F8FCFCFEFEFFFF61 -:100DB000FFFFFFFFCFCFC7C7838380800000000005 -:100DC00000000000000000000000000003030F0FFF -:100DD000BFBFFFFFFDFDF1F1C3C303030707070713 -:100DE0000F0F0F0F1F1F1F1F00000000000000004B -:100DF0003F3FFFFFFEFEFEFEFCFCFCFCF8F8F8F8AF -:100E0000F0F0F0F0E0E0E0E0C0C0C0C080808080A2 -:100E100000000000000000000000000000000000D2 -:100E20000003070F1F1F1F1F3F3F3F3F7E7E7E7E39 -:100E3000FFFFFF7F7F7F3F1FFFFFFFFFFFFFFFE100 -:100E400080000000010101030FFFFFFFFFFFFFFE15 -:100E50000000000000000000F0F8FCFCFEFEFEFEBA -:100E6000F0F0F0F0E0C08000000001030707070782 -:100E70003F3F3F1F1F1F0F07000000000000000042 -:100E80003FFFFFFFFFFFFFF8E0C0C0C08080808011 -:100E9000C3FFFFFFFFFFFFFFFCFEFFFFFFFFFF7F22 -:100EA0003F3F3F3F7E7E7EFEFCFCFCFCF8F0E08096 -:100EB0000000000081818181030303030707070706 -:100EC000FCFCFDFFFFFFFCF83CFFFFFFFF0F0707E7 -:100ED0000000000000000000000080C0E0E0E0E052 -:100EE0000000000000000000FFFFFFFFFFFFFFF019 -:100EF000E0E0E0E0C0FFFFFFFFFFFFFF00000000B9 -:100F0000FFFFFFFFFFFFFF010000000103FFFFFFE6 -:100F1000FFFFFFFF00000000C0F0FCFEFEFEFEFE33 -:100F2000FEFEFEFEFCFCFCFCF8F8E0000000000009 -:100F3000000103070F0F0F0F7F7F7F3F3F3F1F070A -:100F400000000000000000007FFFFFFFFFFFFFF038 -:100F5000C08080800000000187FFFFFFFFFFFEFCD4 -:100F60000000000000000000E7F7FFFFFFFFFFFFA9 -:100F70007F7F7F7FFFFFFFFFFEFEFEFEFCFCFCFC91 -:100F8000E0E0E0E0C0C0C0C08080808000000000E1 -:100F90000000000001010101000000000707070731 -:100FA0007F7F7F7FFFFFFFFF3F3F3F3F7E7E7E7E55 -:100FB000000000000000000000000000E0E0E0E0B1 -:100FC000F8F8F8F8F0F0F0F0000000000000000081 -:100FD0000000000000000000F8F8F8F8F0F0F0F071 -:100FE0000000000000000000879FBFFFFFFFC0005F -:100FF0008080810307070707FEFEFEFEFCFCFCFC69 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-5.3e.hex b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-5.3e.hex deleted file mode 100644 index 92a2e6cf..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/roms/mpe-5.3e.hex +++ /dev/null @@ -1,257 +0,0 @@ -:100000000000000000000000001010100063F76303 -:10001000000070000030B030000000000000000060 -:10002000FFFFFFFFFFFFF0F0FFFFFFFFFFFF0F0FDE -:10003000F0F0F0F0F0F0F0F00F0F0F0F0F0F0F0FC8 -:10004000F0F0FFFFFFFFFFFF0F0FFFFFFFFFFFFFBE -:1000500000000000000000000000000000000000A0 -:10006000000121131B1F0F0D00000890B0F0E0608D -:1000700000FC30303030303000FC3030303030FC7C -:1000800000C6EEFEFED6C6C600FCC0C0F8C0C0FE6C -:100090000000000000000000003078FCFCFC78301C -:1000A000FFFFFFFFFFFF00000000FFFFFFFFFFFF5C -:1000B0000000FFFFFFFFFFFF0000FFFFFFFFFFFF4C -:1000C0000000FFFFFFFFFFFF0000FFFFFFFFFFFF3C -:1000D0000000FFFFFFFFFFFFFF0F0F0F0FFFFFFFEE -:1000E000FF8F8F8F8FFFFFFFFFCFCFCFCFFFFFFFA0 -:1000F000FFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFF50 -:100100000000000000000000FF00000000FFFFFFF3 -:10011000FF80808080FFFFFFFFC0C0C0C0FFFFFFE7 -:10012000FFE0E0E0E0FFFFFFFFF0F0F0F0FFFFFF97 -:10013000FFF8F8F8F8FFFFFFFFFCFCFCFCFFFFFFF7 -:10014000FFFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFC3 -:10015000000000000000000000000000000000009F -:10016000000000000000000000000000000000008F -:10017000000000000000000000000000000000007F -:10018000001C26636363321C001838181818187E88 -:10019000003E63471E3C707F003F060C1E03633E1B -:1001A000000E1E36667F0606007C607C0606663CF6 -:1001B000001E30607E63633E007F63060C181818D3 -:1001C000003C62723C4F433E003E63633F03063C8B -:1001D00000386D61616D390000E6B6B6F6B6B30061 -:1001E00000DECCCCCCCC8C0000F36C6C6C6CF300DF -:1001F0000093DBDFDFDB990000000000000000005F -:1002000000000000000000000000000000000000EE -:1002100000000000000000000000000000000000DE -:1002200000000000000000000000000000000000CE -:1002300000000000000000000000000000000000BE -:1002400000000000000000000000000000000000AE -:10025000000000000000000000000000000000009E -:10026000000000000000000000000000000000008E -:10027000000000000000000000000000000000007E -:10028000000000000000000000000000000000006E -:10029000000000000000000000000000000000005E -:1002A000000000000000000000000000000000004E -:1002B000000000000000000000000000000000003E -:1002C000000000000000000000000000000000002E -:1002D000000000000000000000000000000000001E -:1002E000003C7E7E7E7E3C0000001000000010007E -:1002F00000001414140000000000000000000000C2 -:1003000080808080000000000000000080808080ED -:1003100020202020000000000000000020202020DD -:10032000080808080000000000000000080808088D -:1003300002020202000000000000000002020202AD -:1003400000000000000000000000000000071F3F48 -:1003500000000000FFFFFFFF0000000000E0F8FCCD -:1003600000000101030306077FFFFFFFFFFFAFFF50 -:10037000FFCC8C8CFFFFFFFFFECFC7C3FFFFFFFF4B -:1003800000008080C0C0E0E00000000000FFFFFF30 -:100390000000000000FFFFFF0000000000FFFFFF63 -:1003A0000000000000FFFFFF0000000000FFFFFF53 -:1003B0000000000000FFFFFF0000000000FFFFFF43 -:1003C0000000000000F0FFFF000000000000FFFF41 -:1003D00000000000000000FF00000000000000F02E -:1003E0000F08100000000000FF7F1F070000000042 -:1003F000FFFFF0C000000000FFFFFF3C0000000016 -:10040000F3F3FB3800000000FFFFFF3F1F0F0F0753 -:10041000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F5C -:10042000FFFFFFFFFFFFFFFF99FFFFFFFFFFFFFF42 -:10043000FFFFFFFCF8E0C0C0FFFF1E00000000004F -:10044000FFF8000000000000FF3C0000000000007A -:10045000FF3F030000000000FFFFFF070000000057 -:10046000FCFCF0C0000000003F0E00000000000097 -:100470000300000000000000FFFE38000000000044 -:100480003F0E00000000000080000000000000009F -:100490000000000000000000FF80808080808080DD -:1004A000FF0101010101010180808080808080FFC7 -:1004B00001010101010101FF000000000000000036 -:1004C000000000000000000000000000000000002C -:1004D000000000000000000000000000000000001C -:1004E000000000000000000000000000000000000C -:1004F00000000000000000000000000000000000FC -:1005000000000000000000000000000000000000EB -:100510000000C07018182400010600000000000050 -:10052000808040408010182006010000000000007C -:100530000000000001010E106080000000000000BB -:1005400000000202040A08080818A4C090008000F5 -:10055000000040300C06050800000000000080008C -:1005600040300010000808040801000000000000EE -:10057000000001000205080808000000000000005B -:10058000000003040808142060C0200000000000E0 -:1005900000003010102804040202050100000000D1 -:1005A00000010000000000000000000000808080CA -:1005B00080603030101010100003010100010000B5 -:1005C000000080818102261C100000000000000055 -:1005D000010EF0080000000000000000010102020E -:1005E000050408183020C0C0A00000000000000072 -:1005F000000018103020404040A0808000008000A3 -:1006000000003010000C040A02010101010000008A -:10061000000000000080801838440404040000003A -:100620000202010200000000000000800040409033 -:100630000F0400000000000000030206040810E0A0 -:10064000100000000000000000010C08181000104D -:100650001010282020202060408040000000000072 -:10066000000010306040C08000000000000000006A -:1006700000000000000000000000008000000000FA -:10068000000000000000000000000000000000006A -:10069000000000000000000000000000000000005A -:1006A000000000000000000000000000000000004A -:1006B000000000000000000000000000000000003A -:1006C000000000000000000000000000000000002A -:1006D0000000183C0C140404000002020400000195 -:1006E00002000000000000000000183C302030280C -:1006F00020204040200040C0A0000000000000007A -:1007000000000000000000000000000000000000E9 -:1007100000000000000000000000000000000000D9 -:1007200000000000000000000000000000000000C9 -:1007300000000000000000000000000000000000B9 -:1007400000000000000000000000000000000000A9 -:100750000000000000000000000000000000000099 -:100760000000000000000000000000000000000089 -:100770000000000000000000000000000000000079 -:100780000000000000000000000000000000000069 -:100790000000000000000000000000000000000059 -:1007A0000000000000000000000000000000000049 -:1007B0000000000000000000000000000000000039 -:1007C0000000000000000000000000000000000029 -:1007D0000000000000000000000000000000000019 -:1007E0000000000000000000000000000000000009 -:1007F00000000000000000000000000000000000F9 -:1008000000000000000000000000000000000000E8 -:1008100000000000000000000000000000000000D8 -:1008200000000000000000000000000000000000C8 -:1008300000000000000000000000000000000000B8 -:1008400000000000000000000000000000000000A8 -:100850000000000000000000000000000000000098 -:100860000000000000000000000000000000000088 -:100870000000000000000000000000000000000078 -:100880000000000000000000000000000000000068 -:100890000000000000000000000000000000000058 -:1008A0000000000000000000000000000000000048 -:1008B0000000000000000000000000000000000038 -:1008C0000000000000000000000000000000000028 -:1008D0000000000000000000000000000000000018 -:1008E0000000000000000000000000000000000008 -:1008F00000000000000000000000000000000000F8 -:1009000000000000000000000000000000000000E7 -:1009100000000000000000000000000000000000D7 -:1009200000000000000000000000000000000000C7 -:1009300000000000000000000000000000000000B7 -:1009400000000000000000000000000000000000A7 -:100950000000000000000000000000000000000097 -:100960000000000000000000000000000000000087 -:100970000000000000000000000000000000000077 -:100980000000000000000000000000000000000067 -:100990000000000000000000000000000000000057 -:1009A0000000000000000000000000000000000047 -:1009B0000000000000000000000000000000000037 -:1009C0000000000000000000000000000000000027 -:1009D0000000000000000000000000000000000017 -:1009E0000000000000000000000000000000000007 -:1009F00000000000000000000000000000000000F7 -:100A000000000000000000000000000000000000E6 -:100A100000000000000000000000000000000000D6 -:100A200000000000000000000000000000000000C6 -:100A300000000000000000000000000000000000B6 -:100A400000000000000000000000000000000000A6 -:100A50000000000000000000000000000000000096 -:100A60000000000000000000000000000000000086 -:100A70000000000000000000000000000000000076 -:100A80000000000000000000000000000000000066 -:100A90000000000000000000000000000000000056 -:100AA0000000000000000000000000000000000046 -:100AB0000000000000000000000000000000000036 -:100AC0000000000000000000000000000000000026 -:100AD0000000000000000000000000000000000016 -:100AE0000000000000000000000000000000000006 -:100AF00000000000000000000000000000000000F6 -:100B000000000000000000000000000000000000E5 -:100B100000000000000000000000000000000000D5 -:100B200000000000000000000000000000000000C5 -:100B300000000000000000000000000000000000B5 -:100B400000000000000000000000000000000000A5 -:100B50000000000000000000000000000000000095 -:100B60000000000000000000000000000000000085 -:100B70000000000000000000000000000000000075 -:100B80000000000000000000000000000000000065 -:100B90000000000000000000000000000000000055 -:100BA0000000000000000000000000000000000045 -:100BB0000000000000000000000000000000000035 -:100BC0000000000000000000000000000000000025 -:100BD0000000000000000000000000000000000015 -:100BE0000000000000000000000000000000000005 -:100BF00000000000000000000000000000000000F5 -:100C000000000000000000000000000000000000E4 -:100C100000000000000000000000000000000000D4 -:100C200000000000000000000000000000000000C4 -:100C300000000000000000000000000000000000B4 -:100C400000000000000000000000000000000000A4 -:100C50000000000000000000000000000000000094 -:100C60000000000000000000000000000000000084 -:100C70000000000000000000000000000000000074 -:100C80000000000000000000000000000000000064 -:100C90000000000000000000000000000000000054 -:100CA0000000000000000000000000000000000044 -:100CB0000000000000000000000000000000000034 -:100CC0000000000000000000000000000000000024 -:100CD0000000000000000000000000000000000014 -:100CE0000000000000000000000000000000000004 -:100CF00000000000000000000000000000000000F4 -:100D000000000000000000000000000000000000E3 -:100D100000000000000000000000000000000000D3 -:100D200000000000000000000000000000000000C3 -:100D300000000000000000000000000000000000B3 -:100D400000000000000000000000000000000000A3 -:100D50000000000000000000000000000000000093 -:100D60000000000000000000000000000000000083 -:100D70000000000000000000000000000000000073 -:100D80000000000000000000000000000000000063 -:100D90000000000000000000010101010302020246 -:100DA0007E000000000000000006020301010000B8 -:100DB000000000003020202060404040C080808043 -:100DC000000000000000000000000000008080C063 -:100DD0004040000002020E083820E0000000000041 -:100DE00000000000000000000F00000000000000F4 -:100DF00000000000010101010302020206040404D4 -:100E00000C080808181010103020202060404040C6 -:100E1000C000000000000000008080808000000012 -:100E200000000000000000000000000001010101BE -:100E30000000000000000000000000000000001E94 -:100E400070C0808080000080F00000000000000181 -:100E5000FF00000000000000000602030101010184 -:100E60000C080808183060C00000000000000000F6 -:100E7000000000000000000003000000000000006F -:100E800000000000000000071C302020604040608F -:100E90003C00000000000000000100000000008095 -:100EA000000000000101010103020202060C18709B -:100EB000008080C040404040C080808080000000B2 -:100EC00000000000000003060000000000F08000A9 -:100ED0003F0000000000000000C060301010101043 -:100EE000C080808080000000000000000000000F33 -:100EF000181010103000000000000000FF808080FB -:100F000000000000000000FE0000000000000000E3 -:100F100000000000FF0000000000000001010101CE -:100F2000010101010302020206041CF0800000001E -:100F300000000000000000000000000000000000B1 -:100F40000700000000000000000000000000000F8B -:100F500038604040C08080C078000000000001037D -:100F6000FE00000000000000000000000000000083 -:100F70000000000000000000010101010302020264 -:100F8000001010103020202060404040C080808041 -:100F900080000000000000000000000000000000D1 -:100FA00000000000000000004000000001010101FD -:100FB000FC00000000000000000000000010101005 -:100FC000000404040C080808F880808080000000F9 -:100FD0000100000000000000060404040C080808DA -:100FE000F8000000000000000000000000003FE0EA -:100FF000004040C080808000000101010302020225 -:00000001FF diff --git a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/target_top.vhd b/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/target_top.vhd deleted file mode 100644 index 530eb43c..00000000 --- a/Arcade_MiST/IremM52 Hardware/MoonPatrol/src/target_top.vhd +++ /dev/null @@ -1,206 +0,0 @@ -library ieee; -use ieee.std_logic_1164.all; -use ieee.std_logic_unsigned.all; -use ieee.numeric_std.all; - -library work; -use work.pace_pkg.all; -use work.sdram_pkg.all; -use work.video_controller_pkg.all; -use work.project_pkg.all; -use work.platform_pkg.all; -use work.target_pkg.all; - -entity target_top is - port - ( - clock_30 : in std_logic; - clock_v : in std_logic; - clock_3p58 : in std_logic; - reset : in std_logic; - - dn_addr : in std_logic_vector(15 downto 0); - dn_data : in std_logic_vector(7 downto 0); - dn_wr : in std_logic; - - AUDIO : out signed(12 downto 0); - JOY : in std_logic_vector(7 downto 0); - JOY2 : in std_logic_vector(7 downto 0); - - VGA_VBLANK : out std_logic; - VGA_HBLANK : out std_logic; - - VGA_VS : out std_logic; - VGA_HS : out std_logic; - VGA_R : out std_logic_vector(3 downto 0); - VGA_G : out std_logic_vector(3 downto 0); - VGA_B : out std_logic_vector(3 downto 0) - ); -end target_top; - -architecture SYN of target_top is - - signal clkrst_i : from_CLKRST_t; - signal buttons_i : from_BUTTONS_t; - signal switches_i : from_SWITCHES_t; - signal leds_o : to_LEDS_t; - signal inputs_i : from_INPUTS_t; - signal flash_i : from_FLASH_t; - signal flash_o : to_FLASH_t; - signal sram_i : from_SRAM_t; - signal sram_o : to_SRAM_t; - signal sdram_i : from_SDRAM_t; - signal sdram_o : to_SDRAM_t; - signal video_i : from_VIDEO_t; - signal video_o : to_VIDEO_t; - signal audio_i : from_AUDIO_t; - signal audio_o : to_AUDIO_t; - signal ser_i : from_SERIAL_t; - signal ser_o : to_SERIAL_t; - signal project_i : from_PROJECT_IO_t; - signal project_o : to_PROJECT_IO_t; - signal platform_i : from_PLATFORM_IO_t; - signal platform_o : to_PLATFORM_IO_t; - signal target_i : from_TARGET_IO_t; - signal target_o : to_TARGET_IO_t; - - signal sound_data : std_logic_vector(7 downto 0); -begin - - clkrst_i.clk(0)<=clock_30; - clkrst_i.clk(1)<=clock_v; - - clkrst_i.arst <= reset; - clkrst_i.arst_n <= not clkrst_i.arst; - - GEN_RESETS : for i in 0 to 3 generate - - process (clkrst_i.clk(i), clkrst_i.arst) - variable rst_r : std_logic_vector(2 downto 0) := (others => '0'); - begin - if clkrst_i.arst = '1' then - rst_r := (others => '1'); - elsif rising_edge(clkrst_i.clk(i)) then - rst_r := rst_r(rst_r'left-1 downto 0) & '0'; - end if; - clkrst_i.rst(i) <= rst_r(rst_r'left); - end process; - - end generate GEN_RESETS; - - inputs_i.jamma_n.coin(1) <= JOY(7); - inputs_i.jamma_n.p(1).start <= JOY(6); - - inputs_i.jamma_n.coin(2) <= JOY2(7); - inputs_i.jamma_n.p(2).start <= JOY2(6); - - inputs_i.jamma_n.p(1).up <= not JOY(3); - inputs_i.jamma_n.p(1).down <= not JOY(2); - inputs_i.jamma_n.p(1).left <= not JOY(1); - inputs_i.jamma_n.p(1).right <= not JOY(0); - - inputs_i.jamma_n.p(1).button(1) <= not JOY(4); - inputs_i.jamma_n.p(1).button(2) <= not JOY(5); - inputs_i.jamma_n.p(1).button(3) <= '1'; - inputs_i.jamma_n.p(1).button(4) <= '1'; - inputs_i.jamma_n.p(1).button(5) <= '1'; - - inputs_i.jamma_n.p(2).up <= not JOY2(3); - inputs_i.jamma_n.p(2).down <= not JOY2(2); - inputs_i.jamma_n.p(2).left <= not JOY2(1); - inputs_i.jamma_n.p(2).right <= not JOY2(0); - - inputs_i.jamma_n.p(2).button(1) <= not JOY2(4); - inputs_i.jamma_n.p(2).button(2) <= not JOY2(5); - inputs_i.jamma_n.p(2).button(3) <= '1'; - inputs_i.jamma_n.p(2).button(4) <= '1'; - inputs_i.jamma_n.p(2).button(5) <= '1'; - - - -- not currently wired to any inputs - inputs_i.jamma_n.coin_cnt <= (others => '1'); - --inputs_i.jamma_n.coin(2) <= '1'; - inputs_i.jamma_n.service <= '1'; - inputs_i.jamma_n.tilt <= '1'; - inputs_i.jamma_n.test <= '1'; - - video_i.clk <= clkrst_i.clk(1); -- by convention - video_i.clk_ena <= '1'; - video_i.reset <= clkrst_i.rst(1); - - VGA_R <= video_o.rgb.r(9 downto 6); - VGA_G <= video_o.rgb.g(9 downto 6); - VGA_B <= video_o.rgb.b(9 downto 6); - VGA_HS <= video_o.hsync; - VGA_VS <= video_o.vsync; - VGA_HBLANK <= video_o.hblank; - VGA_VBLANK <= video_o.vblank; - - pace_inst : entity work.pace - port map - ( - -- clocks and resets - clkrst_i => clkrst_i, - - -- misc inputs and outputs - buttons_i => buttons_i, - switches_i => switches_i, - leds_o => open, - - -- controller inputs - inputs_i => inputs_i, - - -- external ROM/RAM - flash_i => flash_i, - flash_o => flash_o, - sram_i => sram_i, - sram_o => sram_o, - sdram_i => sdram_i, - sdram_o => sdram_o, - - -- VGA video - video_i => video_i, - video_o => video_o, - - -- sound - audio_i => audio_i, - audio_o => audio_o, - - -- SPI (flash) - spi_i.din => '0', - spi_o => open, - - -- serial - ser_i => ser_i, - ser_o => ser_o, - - sound_data_o => sound_data, - - dn_addr => dn_addr, - dn_data => dn_data, - dn_wr => dn_wr, - - -- custom i/o - project_i => project_i, - project_o => project_o, - platform_i => platform_i, - platform_o => platform_o, - target_i => target_i, - target_o => target_o - ); - - moon_patrol_sound_board : entity work.moon_patrol_sound_board - port map( - clock_3p58 => clock_3p58, - reset => reset, - - clock_30 => clock_30, - dn_addr => dn_addr, - dn_data => dn_data, - dn_wr => dn_wr, - - select_sound => sound_data, - audio_out => AUDIO - ); - -end SYN; diff --git a/common/CPU/T80/k580vi53.v b/common/CPU/T80/k580vi53.v new file mode 100644 index 00000000..27301fb4 --- /dev/null +++ b/common/CPU/T80/k580vi53.v @@ -0,0 +1,310 @@ +// +// K580VI53 timer implementation +// +// Copyright (c) 2016 Sorgelig +// +// +// 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 . +// +// altera message_off 10240 + + +`default_nettype none + +module k580vi53 +( + // CPU bus + input reset, + input clk_sys, + input [1:0] addr, + input [7:0] din, + output [7:0] dout, + input wr, + input rd, + + // Timer signals + input [2:0] clk_timer, + input [2:0] gate, + output [2:0] out, + output [2:0] sound_active +); + +wire [7:0] dout0; +wire [7:0] dout1; +wire [7:0] dout2; + +assign dout = dout0 & dout1 & dout2; + +timer t0(reset, clk_sys, clk_timer[0], din, dout0, wr && (addr == 3) && (din[7:6] == 0), wr && (addr == 0), rd && (addr == 0), gate[0], out[0], sound_active[0]); +timer t1(reset, clk_sys, clk_timer[1], din, dout1, wr && (addr == 3) && (din[7:6] == 1), wr && (addr == 1), rd && (addr == 1), gate[1], out[1], sound_active[1]); +timer t2(reset, clk_sys, clk_timer[2], din, dout2, wr && (addr == 3) && (din[7:6] == 2), wr && (addr == 2), rd && (addr == 2), gate[2], out[2], sound_active[2]); + +endmodule + +module timer +( + input reset, + input clk_sys, + input clk_timer, + input [7:0] din, + output [7:0] dout, + input wr_cw, + input wr, + input rd, + input gate, + output reg out, + output reg sound_active +); + +reg [7:0] q; +reg [7:0] cw; +reg [15:0] counter; +reg [15:0] ld_count; +reg [7:0] load; +reg pause; +reg stop1; + + +assign dout = q; + +always @(posedge clk_sys) begin + reg [15:0] l_counter; + reg msbw, msbr; // according to Siemens doc, read and write have indepenent msb flag. + reg latched; + + reg old_wr_cw, old_wr, old_rd; + old_wr_cw <= wr_cw; + old_wr <= wr; + old_rd <= rd; + + if(!old_wr_cw && wr_cw) begin + msbw <=0; + msbr <=0; + if(!din[5:4]) begin + if(!latched) begin + latched <=1; + l_counter <= counter; + end + end else begin + cw <= din; + latched <=0; + stop1 <=1; + pause<=1; + end + end + + if(!old_wr && wr) begin + case(cw[5:4]) + 1: begin // high speed mode + ld_count[7:0] <= check(din); + ld_count[15:8] <= 0; + stop1 <=0; + load <=load + 1'd1; + pause <=0; + end + 2: begin // low precision mode + ld_count[7:0] <= 0; + ld_count[15:8] <= check(din); + stop1 <=0; + load <=load + 1'd1; + pause <=0; + end + default: begin // full mode + if(msbw) ld_count[15:8] <= check(din); + else ld_count[7:0] <= check(din); + msbw <= ~msbw; + pause <= ~msbw; + if(msbw) begin + stop1 <=0; + load <=load + 1'd1; + end + end + endcase + end + + if(!old_rd && rd) begin + casex({latched, msbr, cw[5:4]}) + 4'b0X01: q <=counter[7:0]; + 4'b0X10: q <=counter[15:8]; + 4'b0011: q <=counter[7:0]; + 4'b0111: q <=counter[15:8]; + 4'b1X01: begin q <=l_counter[7:0]; latched <=0; end + 4'b1X10: begin q <=l_counter[15:8]; latched <=0; end + 4'b1011: q <=l_counter[7:0]; + 4'b1111: begin q <=l_counter[15:8]; latched <=0; end + endcase + msbr <= ~msbr; + end + + if(!rd || reset) q <= 255; + + if(reset) begin + stop1 <=1; + ld_count <=0; + cw <= 0; + end +end + +function [15:0] minus1; + input [15:0] value; + begin + if(!cw[0]) minus1 = value-1'd1; + else begin + minus1 = value; + if(!minus1[3:0]) begin + minus1[3:0] = 9; + if(!minus1[7:4]) begin + minus1[7:4] = 9; + if(!minus1[11:8]) begin + minus1[11:8] = 9; + if(!minus1[15:12]) begin + minus1[15:12] = 9; + end else minus1[15:12] = minus1[15:12]-1'd1; + end else minus1[11:8] = minus1[11:8]-1'd1; + end else minus1[7:4] = minus1[7:4]-1'd1; + end else minus1[3:0] = minus1[3:0]-1'd1; + end + end +endfunction + +function [7:0] check; + input [7:0] value; + begin + if(!cw[0]) check = value; + else begin + check[3:0] = (value[3:0]>9) ? 4'd9 : value[3:0]; + check[7:4] = (value[7:4]>9) ? 4'd9 : value[7:4]; + end; + end +endfunction + +reg stop2; +wire stop = stop1 | stop2; + +// +// With bugs implemented: +// +// M0,M1,M4,M5 - counter doesn't stop at the end but wrap around instead. +// +// M1,M5 - setting of Control Word doesn't reset counter. +// Counter continue to count old value after ccounter register is set. +// +always @(posedge clk_sys) begin + reg [7:0] old_load; + reg old_gate; + reg start, count_en, m3state; + reg [7:0] stop_delay; + reg old_clk; + + // cannot treat it as clock enable because timer clock + // can be fed from output of other timer + old_clk <= clk_timer; + if(old_clk & ~clk_timer) begin + stop2 <= stop1; + + old_load <= load; + old_gate <= gate; + start <= stop; + + // Assume sound is generated by mode 3 and mode 0(DAC emulation). + sound_active <= (!cw[3:1] || (cw[2:1] == 2'b11)) && !stop; + + casex(cw[3:1]) + 3'b000: if(stop) begin out <=0; count_en <=0; end + else begin + if(start || (old_load != load)) begin + counter <= ld_count; + out <=0; + count_en <=1; + end else if(!pause && gate) begin + counter <= minus1(counter); + if(counter == 1) begin + out <=1; + count_en <=0; + end + end + end + + 3'b001: if(stop) begin out <=1; count_en <=0; end + else begin + if(!old_gate & gate) begin + counter <= ld_count; + out <=0; + count_en <=1; + end else begin + counter <= minus1(counter); + if((counter == 1) && count_en) begin + out <=1; + count_en <=0; + end + end + end + + 3'bX10: if(stop || !gate) out <=1; + else begin + if(start || (!old_gate & gate) || (counter <= 1)) begin + counter <=ld_count; + out <=1; + end else begin + counter <= minus1(counter); + if(counter == 2) out <=0; + end + end + + 3'bX11: if(stop || !gate) begin out <=1; m3state <=1; end + else begin + if(start || (!old_gate & gate) || (counter <= 2)) begin + counter <=ld_count; + out <= m3state; + m3state <= ~m3state; + end else begin + counter <= !counter[0] ? minus1(minus1(counter)) : out ? minus1(counter) : minus1(minus1(minus1(counter))); + end + end + + 3'b100: if(stop) begin out <=1; count_en <=0; end + else begin + out <=1; + if(start) begin + counter <=ld_count; + count_en <=1; + end else if(gate) begin + counter <= minus1(counter); + if((counter == 1) && count_en) begin + out <=0; + count_en <=0; + end + end + end + + 3'b101: if(stop) begin out <=1; count_en <=0; end + else begin + out <=1; + if(!old_gate & gate) begin + counter <=ld_count; + out <=1; + count_en <=1; + end else begin + counter <= minus1(counter); + if((counter == 1) && count_en) begin + out <=0; + count_en <=0; + end + end + end + endcase + end +end + +endmodule diff --git a/common/IO/A6532.vhd b/common/IO/A6532.vhd new file mode 100644 index 00000000..4fe9ad4f --- /dev/null +++ b/common/IO/A6532.vhd @@ -0,0 +1,225 @@ +-- A6532 RAM-I/O-Timer (RIOT) +-- Copyright 2006, 2010 Retromaster +-- +-- This file is part of A2601. +-- +-- A2601 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 any later version. +-- +-- A2601 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 A2601. If not, see . + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity ramx8 is + generic(addr_width : integer := 7); + port(clk: in std_logic; + r: in std_logic; + d_in: in std_logic_vector(7 downto 0); + d_out: out std_logic_vector(7 downto 0); + a: in std_logic_vector(addr_width - 1 downto 0)); +end ramx8; + +architecture arch of ramx8 is + type ram_type is array (0 to 2**addr_width - 1) of + std_logic_vector(7 downto 0); + signal ram: ram_type; +begin + + process (clk, r, a) + begin + if (clk'event and clk = '1') then + if (r = '1') then + d_out <= ram(to_integer(unsigned(a))); + else + ram(to_integer(unsigned(a))) <= d_in; + end if; + end if; + end process; + +end arch; + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_arith.all; +use ieee.std_logic_unsigned.all; + +entity A6532 is + port(clk: in std_logic; + ph2_en: in std_logic; + r: in std_logic; + rs: in std_logic; + cs: in std_logic; + irq: out std_logic; + d: inout std_logic_vector(7 downto 0) := "ZZZZZZZZ"; + pa: inout std_logic_vector(7 downto 0); + pb: inout std_logic_vector(7 downto 0); + pa7: in std_logic; + a: in std_logic_vector(6 downto 0)); +end A6532; + +architecture arch of A6532 is + + signal pa_reg: std_logic_vector(7 downto 0) := "00000000"; + signal pb_reg: std_logic_vector(7 downto 0) := "00000000"; + signal pa_ddr: std_logic_vector(7 downto 0) := "00000000"; + signal pb_ddr: std_logic_vector(7 downto 0) := "00000000"; + signal pa_in: std_logic_vector(7 downto 0); + signal pb_in: std_logic_vector(7 downto 0); + + signal timer: std_logic_vector(7 downto 0) := "00000000"; + signal timer_write: std_logic; + signal timer_read: std_logic; + signal timer_intr: std_logic := '0'; + signal timer_intvl: std_logic_vector(1 downto 0) := "11"; + signal timer_dvdr: std_logic_vector(10 downto 0) := "00000000001"; + signal timer_inc: std_logic; + signal timer_irq_en: std_logic := '0'; + + signal edge_pol: std_logic := '0'; + signal edge_irq_en: std_logic := '0'; + signal edge_intr_lo: std_logic := '0'; + signal edge_intr_hi: std_logic := '0'; + signal edge_intr: std_logic; + + signal intr_read: std_logic; + + signal ram_d_out: std_logic_vector(7 downto 0); + signal ram_r: std_logic; + +begin + + io: for i in 0 to 7 generate + -- TEMPORARY FIX + pa(i) <= pa_reg(i) when pa_ddr(i) = '1' else 'Z'; + pb(i) <= pb_reg(i) when pb_ddr(i) = '1' else 'Z'; + --pa(i) <= 'Z'; + --pb(i) <= 'Z'; + pa_in(i) <= pa(i); + pb_in(i) <= pb(i) when pb_ddr(i) = '0' else pb_reg(i); + end generate; + + ram: work.ramx8 port map(clk, ram_r, d, ram_d_out, a); + + ram_r <= (not rs and r) or rs or not cs; + + timer_write <= (not r) and rs and a(2) and a(4) and cs; + timer_read <= r and rs and a(2) and (not a(0)) and cs; + intr_read <= r and rs and a(0) and a(2) and cs; + + irq <= not ((timer_intr and timer_irq_en) or (edge_intr and edge_irq_en)); + edge_intr <= edge_intr_lo when edge_pol = '0' else edge_intr_hi; + + process(clk, ph2_en, cs, r, rs, a, ram_d_out, pa_in, pa_ddr, pb_in, pb_ddr, timer, timer_intr, edge_intr) + begin + if r = '1' then + if (cs = '0') then + d <= "ZZZZZZZZ"; + elsif rs = '0' then + d <= ram_d_out; + elsif a(2) = '0' then + case a(1 downto 0) is + when "00" => + d <= pa_in; + when "01" => + d <= pa_ddr; + when "10" => + d <= pb_in; + when "11" => + d <= pb_ddr; + when others => + null; + end case; + elsif a(0) = '0' then + d <= timer; + elsif a(0) = '1' then + d <= timer_intr & edge_intr & "000000"; + else + d <= "--------"; + end if; + else + d <= "ZZZZZZZZ"; + if (clk'event and clk = '1' and cs = '1' and ph2_en = '1') then + if (rs = '1') then + if a(2) = '0' then + case a(1 downto 0) is + when "00" => + --pa_reg <= d; + when "01" => + pa_ddr <= d; + when "10" => + pb_reg <= d; + when "11" => + pb_ddr <= d; + when others => + null; + end case; + elsif a(4) = '0' then + edge_pol <= a(0); + edge_irq_en <= a(1); + end if; + end if; + end if; + end if; + end process; + + process(pa7, intr_read) + begin + if (intr_read = '1') then + edge_intr_lo <= '0'; + elsif (pa7'event and pa7 = '1') then + edge_intr_lo <= '1'; + end if; + + if (intr_read = '1') then + edge_intr_hi <= '0'; + elsif (pa7'event and pa7 = '0') then + edge_intr_hi <= '1'; + end if; + end process; + + with timer_intvl select timer_inc <= + timer_dvdr(0) when "00", + timer_dvdr(3) when "01", + timer_dvdr(6) when "10", + timer_dvdr(10) when "11", + '-' when others; + + process(clk, ph2_en) + begin + if (clk'event and clk = '1' and ph2_en = '1') then + if (timer_inc = '1') then + timer_dvdr <= "00000000001"; + else + timer_dvdr <= timer_dvdr + 1; + end if; + + if (timer_write = '1') then + timer <= d - 1; + timer_intvl <= a(1 downto 0); + timer_irq_en <= a(3); + timer_dvdr <= "00000000001"; + elsif (timer_intr = '0') then + timer <= timer - timer_inc; + elsif (not (timer = X"00")) then + timer <= timer - 1; + end if; + + if (timer = X"00" and timer_inc = '1' and timer_intr = '0' and timer_write = '0') then + timer_intr <= '1'; + elsif (timer_read = '1' or timer_write = '1') then + timer_intr <= '0'; + end if; + end if; + end process; + +end arch; diff --git a/common/Sound/JT49/filter/firjt49.hex b/common/Sound/JT49/filter/firjt49.hex new file mode 100644 index 00000000..b49e4780 --- /dev/null +++ b/common/Sound/JT49/filter/firjt49.hex @@ -0,0 +1,512 @@ +FFF4 +FFF8 +FFFE +0004 +000B +0010 +0012 +0010 +000A +0001 +FFF5 +FFE9 +FFE0 +FFDD +FFE2 +FFF0 +0004 +001C +0032 +0040 +0041 +0033 +0015 +FFED +FFC2 +FF9E +FF8C +FF91 +FFB2 +FFEC +0033 +007A +00B0 +00C5 +00AE +006B +0004 +FF8D +FF1E +FED2 +FEC2 +FEFA +FF79 +002A +00EF +019B +0204 +0205 +018C +009F +FF5E +FE03 +FCD7 +FC29 +FC3F +FD48 +FF51 +0240 +05D2 +09A8 +0D4E +1050 +124B +12FB +124B +1050 +0D4E +09A8 +05D2 +0240 +FF51 +FD48 +FC3F +FC29 +FCD7 +FE03 +FF5E +009F +018C +0205 +0204 +019B +00EF +002A +FF79 +FEFA +FEC2 +FED2 +FF1E +FF8D +0004 +006B +00AE +00C5 +00B0 +007A +0033 +FFEC +FFB2 +FF91 +FF8C +FF9E +FFC2 +FFED +0015 +0033 +0041 +0040 +0032 +001C +0004 +FFF0 +FFE2 +FFDD +FFE0 +FFE9 +FFF5 +0001 +000A +0010 +0012 +0010 +000B +0004 +FFFE +FFF8 +FFF4 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 diff --git a/common/Sound/JT49/filter/jt49_filters.qip b/common/Sound/JT49/filter/jt49_filters.qip new file mode 100644 index 00000000..1d72465d --- /dev/null +++ b/common/Sound/JT49/filter/jt49_filters.qip @@ -0,0 +1,3 @@ +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "jtframe_dcrm.v"] +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "jtframe_fir.v"] +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "jtframe_jt49_filters.v"] diff --git a/common/Sound/JT49/filter/jtframe_dcrm.v b/common/Sound/JT49/filter/jtframe_dcrm.v new file mode 100644 index 00000000..5a79bf13 --- /dev/null +++ b/common/Sound/JT49/filter/jtframe_dcrm.v @@ -0,0 +1,69 @@ +/* This file is part of JT49. + + JT49 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. + + JT49 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 JT49. If not, see . + + Author: Jose Tejada Gomez. Twitter: @topapate + Version: 1.0 + Date: 25-11-2020 + + */ + +// This is pretty much a copy of jt49_dcrm2 + +// DC removal filter +// input is unsigned +// output is signed + +module jtframe_dcrm #(parameter + SW = 8, + SIGNED_INPUT = 0 +)( + input rst, + input clk, + input sample, + input [SW-1:0] din, + output signed [SW-1:0] dout +); + +localparam DW=10; // width of the decimal portion + +reg signed [SW+DW:0] integ, exact, error; +//reg signed [2*(9+DW)-1:0] mult; +// wire signed [SW+DW:0] plus1 = { {SW+DW{1'b0}},1'b1}; +reg signed [SW:0] pre_dout; +// reg signed [SW+DW:0] dout_ext; +reg signed [SW:0] q; + +always @(*) begin + exact = integ+error; + q = exact[SW+DW:DW]; + pre_dout = { SIGNED_INPUT ? din[SW-1] : 1'b0, din } - q; + //dout_ext = { pre_dout, {DW{1'b0}} }; + //mult = dout_ext; +end + +assign dout = pre_dout[SW-1:0]; + +always @(posedge clk) + if( rst ) begin + integ <= {SW+DW+1{1'b0}}; + error <= {SW+DW+1{1'b0}}; + end else if( sample ) begin + /* verilator lint_off WIDTH */ + integ <= integ + pre_dout; //mult[SW+DW*2:DW]; + /* verilator lint_on WIDTH */ + error <= exact-{q, {DW{1'b0}}}; + end + +endmodule \ No newline at end of file diff --git a/common/Sound/JT49/filter/jtframe_fir.v b/common/Sound/JT49/filter/jtframe_fir.v new file mode 100644 index 00000000..3555753b --- /dev/null +++ b/common/Sound/JT49/filter/jtframe_fir.v @@ -0,0 +1,106 @@ +/* This file is part of JTFRAME. + JTFRAME 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. + JTFRAME 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 JTFRAME. If not, see . + Author: Jose Tejada Gomez. Twitter: @topapate + Version: 1.0 + Date: 22-11-2020 +*/ + +// Generic FIR filter for stereo signals +// Max 127 coefficients + +// Parameters +// KMAX = number of coefficients (8 bit value) +// COEFFS = hex file with filter coefficients + +module jtframe_fir( + input rst, + input clk, + input sample, + input signed [15:0] l_in, + input signed [15:0] r_in, + output reg signed [15:0] l_out, + output reg signed [15:0] r_out +); + +parameter [6:0] KMAX = 7'd68; +parameter COEFFS = "filter.hex"; + +reg signed [15:0] ram[0:511]; // dual port RAM +reg [6:0] pt_wr, pt_rd, cnt; +reg st; +reg signed [35:0] acc_l, acc_r; +reg signed [15:0] coeff; +reg signed [31:0] p_l, p_r; + +function signed [35:0] ext; + input signed [31:0] p; + ext = { {4{p[31]}}, p }; +endfunction + +function [6:0] loop_inc; + input [6:0] s; + loop_inc = s == KMAX-7'd1 ? 7'd0 : s+7'd1; +endfunction + +function signed [15:0] sat; + input [35:0] a; + sat = a[35:30] == {6{a[29]}} ? a[29:14] : { a[35], {15{~a[35]}} }; +endfunction + +always@(posedge clk, posedge rst) begin + if( rst ) begin + l_out <= 16'd0; + r_out <= 16'd0; + pt_rd <= 7'd0; + pt_wr <= 7'd0; + cnt <= 7'd0; + acc_l <= 36'd0; + acc_r <= 36'd0; + p_l <= 32'd0; + p_r <= 32'd0; + end else begin + if( sample ) begin + pt_rd <= pt_wr; + cnt <= 0; + ram[ { 2'd1, pt_wr } ] <= l_in; + ram[ { 2'd2, pt_wr } ] <= r_in; + pt_wr <= loop_inc( pt_wr ); + acc_l <= 36'd0; + acc_r <= 36'd0; + p_l <= 32'd0; + p_r <= 32'd0; + st <= 0; + end else begin + if( cnt < KMAX ) begin + st <= ~st; + if( st == 0 ) begin + coeff <= ram[ {2'd0, cnt } ]; + end else begin + p_l <= ram[ {2'd1, pt_rd } ] * coeff; + p_r <= ram[ {2'd2, pt_rd } ] * coeff; + acc_l <= acc_l + ext(p_l); + acc_r <= acc_r + ext(p_r); + cnt <= cnt+7'd1; + pt_rd <= loop_inc( pt_rd ); + end + end else begin + l_out <= sat(acc_l); + r_out <= sat(acc_r); + end + end + end +end + +initial begin + $readmemh( COEFFS, ram ); +end +endmodule diff --git a/common/Sound/JT49/filter/jtframe_jt49_filters.v b/common/Sound/JT49/filter/jtframe_jt49_filters.v new file mode 100644 index 00000000..85867dbe --- /dev/null +++ b/common/Sound/JT49/filter/jtframe_jt49_filters.v @@ -0,0 +1,60 @@ +/* This file is part of JTFRAME. + JTFRAME 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. + JTFRAME 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 JTFRAME. If not, see . + Author: Jose Tejada Gomez. Twitter: @topapate + Version: 1.0 + Date: 25-11-2020 +*/ + +module jtframe_jt49_filters( + input rst, + input clk, + input [ 9:0] din0, + input [ 9:0] din1, + input [ 9:0] din2, + input sample, + output signed [15:0] dout +); + +localparam W=11,WD=16-W; + +wire signed [W-1:0] dcrm_snd; +reg [W-1:0] base_snd; +wire signed [ 15:0] dcrm16 = { dcrm_snd, dcrm_snd[W-2:W-WD-1] }; +//assign dout = dcrm16; + +always @(posedge clk, posedge rst ) begin + if( rst ) begin + base_snd <= {W{1'd0}}; + end else if(sample) begin + base_snd <= { {W-10{1'b0}}, din0} + { {W-10{1'b0}}, din1} + { {W-10{1'b0}}, din2}; + end +end + +jtframe_dcrm #(.SW(W)) u_dcrm( + .rst ( rst ), + .clk ( clk ), + .sample ( sample ), + .din ( base_snd ), + .dout ( dcrm_snd ) +); + +jtframe_fir #(.KMAX(126),.COEFFS("firjt49.hex")) u_fir( + .rst ( rst ), + .clk ( clk ), + .sample ( sample ), + .l_in ( dcrm16 ), + .r_in ( 16'd0 ), + .l_out ( dout ), + .r_out ( ) +); + +endmodule \ No newline at end of file