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