mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-03-07 19:20:57 +00:00
Add Mario Bros Project Files
This commit is contained in:
30
Arcade_MiST/Nintendo Mario Bros/MarioBros.qpf
Normal file
30
Arcade_MiST/Nintendo Mario Bros/MarioBros.qpf
Normal file
@@ -0,0 +1,30 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2014 Altera Corporation
|
||||
# Your use of Altera Corporation's design tools, logic functions
|
||||
# and other software and tools, and its AMPP partner logic
|
||||
# functions, and any output files from any of the foregoing
|
||||
# (including device programming or simulation files), and any
|
||||
# associated documentation or information are expressly subject
|
||||
# to the terms and conditions of the Altera Program License
|
||||
# Subscription Agreement, Altera MegaCore Function License
|
||||
# Agreement, or other applicable license agreement, including,
|
||||
# without limitation, that your use is for the sole purpose of
|
||||
# programming logic devices manufactured by Altera and sold by
|
||||
# Altera or its authorized distributors. Please refer to the
|
||||
# applicable agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 64-Bit
|
||||
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
|
||||
# Date created = 16:52:48 September 16, 2019
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
QUARTUS_VERSION = "13.1"
|
||||
DATE = "16:52:48 September 16, 2019"
|
||||
|
||||
# Revisions
|
||||
|
||||
PROJECT_REVISION = "MarioBros"
|
||||
262
Arcade_MiST/Nintendo Mario Bros/MarioBros.qsf
Normal file
262
Arcade_MiST/Nintendo Mario Bros/MarioBros.qsf
Normal file
@@ -0,0 +1,262 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2014 Altera Corporation
|
||||
# Your use of Altera Corporation's design tools, logic functions
|
||||
# and other software and tools, and its AMPP partner logic
|
||||
# functions, and any output files from any of the foregoing
|
||||
# (including device programming or simulation files), and any
|
||||
# associated documentation or information are expressly subject
|
||||
# to the terms and conditions of the Altera Program License
|
||||
# Subscription Agreement, Altera MegaCore Function License
|
||||
# Agreement, or other applicable license agreement, including,
|
||||
# without limitation, that your use is for the sole purpose of
|
||||
# programming logic devices manufactured by Altera and sold by
|
||||
# Altera or its authorized distributors. Please refer to the
|
||||
# applicable agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 64-Bit
|
||||
# Version 13.1.4 Build 182 03/12/2014 SJ Full Version
|
||||
# Date created = 19:25:53 March 30, 2021
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1) The default values for assignments are stored in the file:
|
||||
# MarioBros_assignment_defaults.qdf
|
||||
# If this file doesn't exist, see file:
|
||||
# assignment_defaults.qdf
|
||||
#
|
||||
# 2) Altera recommends that you do not modify this file. This
|
||||
# file is updated automatically by the Quartus II software
|
||||
# and any changes you make may be lost or overwritten.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
|
||||
|
||||
# Project-Wide Assignments
|
||||
# ========================
|
||||
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 16.1.2
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "01:53:30 APRIL 20, 2017"
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
|
||||
# Pin & Location Assignments
|
||||
# ==========================
|
||||
set_location_assignment PIN_7 -to LED
|
||||
set_location_assignment PIN_54 -to CLOCK_27
|
||||
set_location_assignment PIN_144 -to VGA_R[5]
|
||||
set_location_assignment PIN_143 -to VGA_R[4]
|
||||
set_location_assignment PIN_142 -to VGA_R[3]
|
||||
set_location_assignment PIN_141 -to VGA_R[2]
|
||||
set_location_assignment PIN_137 -to VGA_R[1]
|
||||
set_location_assignment PIN_135 -to VGA_R[0]
|
||||
set_location_assignment PIN_133 -to VGA_B[5]
|
||||
set_location_assignment PIN_132 -to VGA_B[4]
|
||||
set_location_assignment PIN_125 -to VGA_B[3]
|
||||
set_location_assignment PIN_121 -to VGA_B[2]
|
||||
set_location_assignment PIN_120 -to VGA_B[1]
|
||||
set_location_assignment PIN_115 -to VGA_B[0]
|
||||
set_location_assignment PIN_114 -to VGA_G[5]
|
||||
set_location_assignment PIN_113 -to VGA_G[4]
|
||||
set_location_assignment PIN_112 -to VGA_G[3]
|
||||
set_location_assignment PIN_111 -to VGA_G[2]
|
||||
set_location_assignment PIN_110 -to VGA_G[1]
|
||||
set_location_assignment PIN_106 -to VGA_G[0]
|
||||
set_location_assignment PIN_136 -to VGA_VS
|
||||
set_location_assignment PIN_119 -to VGA_HS
|
||||
set_location_assignment PIN_65 -to AUDIO_L
|
||||
set_location_assignment PIN_80 -to AUDIO_R
|
||||
set_location_assignment PIN_105 -to SPI_DO
|
||||
set_location_assignment PIN_88 -to SPI_DI
|
||||
set_location_assignment PIN_126 -to SPI_SCK
|
||||
set_location_assignment PIN_127 -to SPI_SS2
|
||||
set_location_assignment PIN_91 -to SPI_SS3
|
||||
set_location_assignment PIN_13 -to CONF_DATA0
|
||||
set_location_assignment PIN_49 -to SDRAM_A[0]
|
||||
set_location_assignment PIN_44 -to SDRAM_A[1]
|
||||
set_location_assignment PIN_42 -to SDRAM_A[2]
|
||||
set_location_assignment PIN_39 -to SDRAM_A[3]
|
||||
set_location_assignment PIN_4 -to SDRAM_A[4]
|
||||
set_location_assignment PIN_6 -to SDRAM_A[5]
|
||||
set_location_assignment PIN_8 -to SDRAM_A[6]
|
||||
set_location_assignment PIN_10 -to SDRAM_A[7]
|
||||
set_location_assignment PIN_11 -to SDRAM_A[8]
|
||||
set_location_assignment PIN_28 -to SDRAM_A[9]
|
||||
set_location_assignment PIN_50 -to SDRAM_A[10]
|
||||
set_location_assignment PIN_30 -to SDRAM_A[11]
|
||||
set_location_assignment PIN_32 -to SDRAM_A[12]
|
||||
set_location_assignment PIN_83 -to SDRAM_DQ[0]
|
||||
set_location_assignment PIN_79 -to SDRAM_DQ[1]
|
||||
set_location_assignment PIN_77 -to SDRAM_DQ[2]
|
||||
set_location_assignment PIN_76 -to SDRAM_DQ[3]
|
||||
set_location_assignment PIN_72 -to SDRAM_DQ[4]
|
||||
set_location_assignment PIN_71 -to SDRAM_DQ[5]
|
||||
set_location_assignment PIN_69 -to SDRAM_DQ[6]
|
||||
set_location_assignment PIN_68 -to SDRAM_DQ[7]
|
||||
set_location_assignment PIN_86 -to SDRAM_DQ[8]
|
||||
set_location_assignment PIN_87 -to SDRAM_DQ[9]
|
||||
set_location_assignment PIN_98 -to SDRAM_DQ[10]
|
||||
set_location_assignment PIN_99 -to SDRAM_DQ[11]
|
||||
set_location_assignment PIN_100 -to SDRAM_DQ[12]
|
||||
set_location_assignment PIN_101 -to SDRAM_DQ[13]
|
||||
set_location_assignment PIN_103 -to SDRAM_DQ[14]
|
||||
set_location_assignment PIN_104 -to SDRAM_DQ[15]
|
||||
set_location_assignment PIN_58 -to SDRAM_BA[0]
|
||||
set_location_assignment PIN_51 -to SDRAM_BA[1]
|
||||
set_location_assignment PIN_85 -to SDRAM_DQMH
|
||||
set_location_assignment PIN_67 -to SDRAM_DQML
|
||||
set_location_assignment PIN_60 -to SDRAM_nRAS
|
||||
set_location_assignment PIN_64 -to SDRAM_nCAS
|
||||
set_location_assignment PIN_66 -to SDRAM_nWE
|
||||
set_location_assignment PIN_59 -to SDRAM_nCS
|
||||
set_location_assignment PIN_33 -to SDRAM_CKE
|
||||
set_location_assignment PIN_43 -to SDRAM_CLK
|
||||
set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component"
|
||||
|
||||
# Classic Timing Assignments
|
||||
# ==========================
|
||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
|
||||
|
||||
# Analysis & Synthesis Assignments
|
||||
# ================================
|
||||
set_global_assignment -name FAMILY "Cyclone III"
|
||||
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
|
||||
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
|
||||
set_global_assignment -name TOP_LEVEL_ENTITY MarioBros_MiST
|
||||
set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP
|
||||
|
||||
# Fitter Assignments
|
||||
# ==================
|
||||
set_global_assignment -name DEVICE EP3C25E144C8
|
||||
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
|
||||
set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
|
||||
set_global_assignment -name ENABLE_NCE_PIN OFF
|
||||
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
|
||||
set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL"
|
||||
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
|
||||
set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON
|
||||
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
|
||||
# Assembler Assignments
|
||||
# =====================
|
||||
set_global_assignment -name GENERATE_RBF_FILE ON
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
|
||||
# SignalTap II Assignments
|
||||
# ========================
|
||||
set_global_assignment -name ENABLE_SIGNALTAP OFF
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/gberet.stp
|
||||
|
||||
# Power Estimation Assignments
|
||||
# ============================
|
||||
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
|
||||
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
|
||||
|
||||
# Advanced I/O Timing Assignments
|
||||
# ===============================
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
|
||||
|
||||
# ----------------------------
|
||||
# start ENTITY(MarioBros_MiST)
|
||||
|
||||
# Pin & Location Assignments
|
||||
# ==========================
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQ[*]
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_A[*]
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[0]
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[1]
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQMH
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQML
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nRAS
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCAS
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nWE
|
||||
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCS
|
||||
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*]
|
||||
set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*]
|
||||
|
||||
# Fitter Assignments
|
||||
# ==================
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_A[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQ[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_BA[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQML
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQMH
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nRAS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCAS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nWE
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CKE
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CLK
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_R[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_G[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_B[*]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_HS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_VS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO
|
||||
|
||||
# start DESIGN_PARTITION(Top)
|
||||
# ---------------------------
|
||||
|
||||
# Incremental Compilation Assignments
|
||||
# ===================================
|
||||
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
|
||||
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
|
||||
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
||||
|
||||
# end DESIGN_PARTITION(Top)
|
||||
# -------------------------
|
||||
|
||||
# end ENTITY(MarioBros_MiST)
|
||||
# --------------------------
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/MarioBros_MiST.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_top.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_main.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_input.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_video.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_hv_generator.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_adec.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_dma.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_obj.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_col_pal.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_vram.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_logic.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_sound.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_sound_mixer.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_sound_digital.v
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/snd_rom.vhd
|
||||
set_global_assignment -name VERILOG_FILE rtl/m58715ip.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_iir_filter.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/mario_bram.v
|
||||
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7u.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7t.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7s.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7p.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7n.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/obj_7m.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/gfx_3j.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/gfx_3f.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/clut_4p.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/adec_5p.vhd
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/pll.v
|
||||
set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/CPU/T80/T80.qip"
|
||||
set_global_assignment -name QIP_FILE ../../common/CPU/t48/T48.qip
|
||||
set_global_assignment -name QIP_FILE "D:/GitHub/Mist_FPGA/common/mist/mist.qip"
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
BIN
Arcade_MiST/Nintendo Mario Bros/Snapshot/MarioBros.rbf
Normal file
BIN
Arcade_MiST/Nintendo Mario Bros/Snapshot/MarioBros.rbf
Normal file
Binary file not shown.
37
Arcade_MiST/Nintendo Mario Bros/clean.bat
Normal file
37
Arcade_MiST/Nintendo Mario Bros/clean.bat
Normal file
@@ -0,0 +1,37 @@
|
||||
@echo off
|
||||
del /s *.bak
|
||||
del /s *.orig
|
||||
del /s *.rej
|
||||
del /s *~
|
||||
rmdir /s /q db
|
||||
rmdir /s /q incremental_db
|
||||
rmdir /s /q output_files
|
||||
rmdir /s /q simulation
|
||||
rmdir /s /q greybox_tmp
|
||||
rmdir /s /q hc_output
|
||||
rmdir /s /q .qsys_edit
|
||||
rmdir /s /q hps_isw_handoff
|
||||
rmdir /s /q sys\.qsys_edit
|
||||
rmdir /s /q sys\vip
|
||||
cd sys
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
cd ..
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
del build_id.v
|
||||
del c5_pin_model_dump.txt
|
||||
del PLLJ_PLLSPE_INFO.txt
|
||||
del /s *.qws
|
||||
del /s *.ppf
|
||||
del /s *.ddb
|
||||
del /s *.csv
|
||||
del /s *.cmp
|
||||
del /s *.sip
|
||||
del /s *.spd
|
||||
del /s *.bsf
|
||||
del /s *.f
|
||||
del /s *.sopcinfo
|
||||
del /s *.xml
|
||||
del /s new_rtl_netlist
|
||||
del /s old_rtl_netlist
|
||||
|
||||
pause
|
||||
259
Arcade_MiST/Nintendo Mario Bros/rtl/MarioBros_MiST.sv
Normal file
259
Arcade_MiST/Nintendo Mario Bros/rtl/MarioBros_MiST.sv
Normal file
@@ -0,0 +1,259 @@
|
||||
module MarioBros_MiST(
|
||||
output LED,
|
||||
output [5:0] VGA_R,
|
||||
output [5:0] VGA_G,
|
||||
output [5:0] VGA_B,
|
||||
output VGA_HS,
|
||||
output VGA_VS,
|
||||
output AUDIO_L,
|
||||
output AUDIO_R,
|
||||
input SPI_SCK,
|
||||
output SPI_DO,
|
||||
input SPI_DI,
|
||||
input SPI_SS2,
|
||||
input SPI_SS3,
|
||||
input SPI_SS4,
|
||||
input CONF_DATA0,
|
||||
input CLOCK_27,
|
||||
output [12:0] SDRAM_A,
|
||||
inout [15:0] SDRAM_DQ,
|
||||
output SDRAM_DQML,
|
||||
output SDRAM_DQMH,
|
||||
output SDRAM_nWE,
|
||||
output SDRAM_nCAS,
|
||||
output SDRAM_nRAS,
|
||||
output SDRAM_nCS,
|
||||
output [1:0] SDRAM_BA,
|
||||
output SDRAM_CLK,
|
||||
output SDRAM_CKE
|
||||
);
|
||||
|
||||
|
||||
`include "rtl\build_id.v"
|
||||
|
||||
localparam CONF_STR = {
|
||||
"MARIO;ROM;",
|
||||
"O34,Scanlines,Off,25%,50%,75%;",
|
||||
"O5,Blending,Off,On;",
|
||||
"O6,Service,Off,On;",
|
||||
"O7A,Analogue Sound Vol,100%,Off,10%,20%,30%,40%,50%,60%,70%,80%,90%,;",
|
||||
|
||||
"T0,Reset;",
|
||||
"V,v1.00.",`BUILD_DATE
|
||||
};
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
assign AUDIO_R = AUDIO_L;
|
||||
assign SDRAM_CLK = ~clk_sys;
|
||||
assign SDRAM_CKE = 1;
|
||||
|
||||
wire clk_sys, clk_sd, pll_locked;
|
||||
pll pll(
|
||||
.inclk0(CLOCK_27),
|
||||
.c0(clk_sd),//96
|
||||
.c1(clk_sys),//48
|
||||
.locked(pll_locked)
|
||||
);
|
||||
|
||||
wire [31:0] status;
|
||||
wire [1:0] buttons;
|
||||
wire [1:0] switches;
|
||||
wire [7:0] joystick_0;
|
||||
wire [7:0] joystick_1;
|
||||
wire scandoublerD;
|
||||
wire ypbpr;
|
||||
wire [15:0] audio;
|
||||
wire hs_n, vs_n;
|
||||
wire hb, vb;
|
||||
wire blankn = ~vb;//~(hb | vb);
|
||||
wire [2:0] r, g;
|
||||
wire [1:0] b;
|
||||
|
||||
wire ioctl_downl;
|
||||
wire [7:0] ioctl_index;
|
||||
wire ioctl_wr;
|
||||
wire [24:0] ioctl_addr;
|
||||
wire [7:0] ioctl_dout;
|
||||
reg port1_req, port2_req;
|
||||
reg [23:0] port1_a, port2_a;
|
||||
wire [15:0] cpu_rom_addr;
|
||||
wire [15:0] cpu_rom_do;
|
||||
wire [11:0] bg_rom_addr;
|
||||
wire [15:0] bg_rom_do;
|
||||
|
||||
data_io #(.ROM_DIRECT_UPLOAD(0)) data_io(
|
||||
.clk_sys ( clk_sys ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS2 ( SPI_SS2 ),
|
||||
.SPI_SS4 ( SPI_SS4 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.SPI_DO ( SPI_DO ),
|
||||
.ioctl_download( ioctl_downl ),
|
||||
.ioctl_index ( ioctl_index ),
|
||||
.ioctl_wr ( ioctl_wr ),
|
||||
.ioctl_addr ( ioctl_addr ),
|
||||
.ioctl_dout ( ioctl_dout )
|
||||
);
|
||||
|
||||
sdram sdram(
|
||||
.*,
|
||||
.init_n ( pll_locked ),
|
||||
.clk ( clk_sys ),
|
||||
|
||||
// port1 used for main CPU
|
||||
.port1_req ( port1_req ),
|
||||
.port1_ack ( ),
|
||||
.port1_a ( ioctl_addr[23:1] ),
|
||||
.port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ),
|
||||
.port1_we ( ioctl_downl ),
|
||||
.port1_d ( {ioctl_dout, ioctl_dout} ),
|
||||
.port1_q ( ),
|
||||
|
||||
.cpu1_addr ( ioctl_downl ? 15'h7fff : cpu_rom_addr[15:1] ),
|
||||
.cpu1_q ( cpu_rom_do ),
|
||||
|
||||
// port2 for sound board
|
||||
.port2_req ( port2_req ),
|
||||
.port2_ack ( ),
|
||||
.port2_a ( ioctl_addr[23:1] - 17'h10000 ),
|
||||
.port2_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ),
|
||||
.port2_we ( ioctl_downl ),
|
||||
.port2_d ( {ioctl_dout, ioctl_dout} ),
|
||||
.port2_q ( ),
|
||||
|
||||
.snd_addr ( ioctl_downl ? 15'h7fff : bg_rom_addr[11:1] ),
|
||||
.snd_q ( bg_rom_do )
|
||||
);
|
||||
|
||||
|
||||
// ROM download controller
|
||||
always @(posedge clk_sys) begin
|
||||
reg ioctl_wr_last = 0;
|
||||
|
||||
ioctl_wr_last <= ioctl_wr;
|
||||
if (ioctl_downl) begin
|
||||
if (~ioctl_wr_last && ioctl_wr) begin
|
||||
port1_req <= ~port1_req;
|
||||
port2_req <= ~port2_req;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// reset signal generation
|
||||
reg reset = 1;
|
||||
reg rom_loaded = 0;
|
||||
always @(posedge clk_sys) begin
|
||||
reg ioctl_downlD;
|
||||
reg [15:0] reset_count;
|
||||
ioctl_downlD <= ioctl_downl;
|
||||
|
||||
// generate a second reset signal - needed for some reason
|
||||
if (status[0] | buttons[1] | ~rom_loaded) reset_count <= 16'hffff;
|
||||
else if (reset_count != 0) reset_count <= reset_count - 1'd1;
|
||||
|
||||
if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1;
|
||||
reset <= status[0] | buttons[1] | ioctl_downl | ~rom_loaded | (reset_count == 16'h0001);
|
||||
end
|
||||
|
||||
mario_top mario_top(
|
||||
.I_CLK_48M(clk_sys),
|
||||
.I_RESETn(~reset),
|
||||
|
||||
.I_ANLG_VOL(status[11:8]),
|
||||
.I_SW1(m_sw1),
|
||||
.I_SW2(m_sw2),
|
||||
.I_DIPSW(8'b0_000_00_00),//Upright,Coins,Coins,Coins,Bonus,Bonus,Player,Player
|
||||
.O_VGA_R(r),
|
||||
.O_VGA_G(g),
|
||||
.O_VGA_B(b),
|
||||
.O_HBLANK(hb),
|
||||
.O_VBLANK(vb),
|
||||
.O_VGA_HSYNCn(hs_n),
|
||||
.O_VGA_VSYNCn(vs_n),
|
||||
.O_SOUND_DAT(audio),
|
||||
.cpu_rom_addr(cpu_rom_addr),
|
||||
.cpu_rom_do(cpu_rom_addr[0] ? cpu_rom_do[15:8] : cpu_rom_do[7:0]),
|
||||
.bg_rom_addr(bg_rom_addr),
|
||||
.bg_rom_do(bg_rom_do)
|
||||
|
||||
);
|
||||
|
||||
mist_video #(.COLOR_DEPTH(3),.SD_HCNT_WIDTH(11)) mist_video(
|
||||
.clk_sys(clk_sys),
|
||||
.SPI_SCK(SPI_SCK),
|
||||
.SPI_SS3(SPI_SS3),
|
||||
.SPI_DI(SPI_DI),
|
||||
.R(blankn ? r : 0),
|
||||
.G(blankn ? g : 0),
|
||||
.B(blankn ? {b[1], b} : 0),
|
||||
.HSync(~hs_n),
|
||||
.VSync(~vs_n),
|
||||
.VGA_R(VGA_R),
|
||||
.VGA_G(VGA_G),
|
||||
.VGA_B(VGA_B),
|
||||
.VGA_VS(VGA_VS),
|
||||
.VGA_HS(VGA_HS),
|
||||
.ce_divider(1'b1),
|
||||
.blend(status[5]),
|
||||
.scandoubler_disable(scandoublerD),
|
||||
.scanlines(status[4:3]),
|
||||
.ypbpr(ypbpr)
|
||||
);
|
||||
|
||||
user_io #(
|
||||
.STRLEN(($size(CONF_STR)>>3)))
|
||||
user_io(
|
||||
.clk_sys (clk_sys ),
|
||||
.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 ),
|
||||
.key_strobe (key_strobe ),
|
||||
.key_pressed (key_pressed ),
|
||||
.key_code (key_code ),
|
||||
.joystick_0 (joystick_0 ),
|
||||
.joystick_1 (joystick_1 ),
|
||||
.status (status )
|
||||
);
|
||||
|
||||
dac #(
|
||||
.C_bits(16))
|
||||
dac(
|
||||
.clk_i(clk_sys),
|
||||
.res_n_i(1'b1),
|
||||
.dac_i({~audio[15],audio[14:0]}),
|
||||
.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;
|
||||
|
||||
wire [7:0]m_sw1={~status[6],~{m_two_players},~{m_one_player},~m_fireC,1'b1,1'b1,~m_left,~m_right};
|
||||
wire [7:0]m_sw2={1'b1,1'b1,~{m_coin1},~m_fire2C,1'b1,1'b1,~m_left2,~m_right2};
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
wire key_strobe;
|
||||
arcade_inputs inputs (
|
||||
.clk ( clk_sys ),
|
||||
.key_strobe ( key_strobe ),
|
||||
.key_pressed ( key_pressed ),
|
||||
.key_code ( key_code ),
|
||||
.joystick_0 ( joystick_0 ),
|
||||
.joystick_1 ( joystick_1 ),
|
||||
.rotate ( 1'b0 ),
|
||||
.orientation ( 2'b10 ),
|
||||
.joyswap ( 1'b0 ),
|
||||
.oneplayer ( 1'b1 ),
|
||||
.controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ),
|
||||
.player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ),
|
||||
.player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
35
Arcade_MiST/Nintendo Mario Bros/rtl/build_id.tcl
Normal file
35
Arcade_MiST/Nintendo Mario Bros/rtl/build_id.tcl
Normal file
@@ -0,0 +1,35 @@
|
||||
# ================================================================================
|
||||
#
|
||||
# Build ID Verilog Module Script
|
||||
# Jeff Wiencrot - 8/1/2011
|
||||
#
|
||||
# Generates a Verilog module that contains a timestamp,
|
||||
# from the current build. These values are available from the build_date, build_time,
|
||||
# physical_address, and host_name output ports of the build_id module in the build_id.v
|
||||
# Verilog source file.
|
||||
#
|
||||
# ================================================================================
|
||||
|
||||
proc generateBuildID_Verilog {} {
|
||||
|
||||
# Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html)
|
||||
set buildDate [ clock format [ clock seconds ] -format %y%m%d ]
|
||||
set buildTime [ clock format [ clock seconds ] -format %H%M%S ]
|
||||
|
||||
# Create a Verilog file for output
|
||||
set outputFileName "rtl/build_id.v"
|
||||
set outputFile [open $outputFileName "w"]
|
||||
|
||||
# Output the Verilog source
|
||||
puts $outputFile "`define BUILD_DATE \"$buildDate\""
|
||||
puts $outputFile "`define BUILD_TIME \"$buildTime\""
|
||||
close $outputFile
|
||||
|
||||
# Send confirmation message to the Messages window
|
||||
post_message "Generated build identification Verilog module: [pwd]/$outputFileName"
|
||||
post_message "Date: $buildDate"
|
||||
post_message "Time: $buildTime"
|
||||
}
|
||||
|
||||
# Comment out this line to prevent the process from automatically executing when the file is sourced:
|
||||
generateBuildID_Verilog
|
||||
75
Arcade_MiST/Nintendo Mario Bros/rtl/dpram.vhd
Normal file
75
Arcade_MiST/Nintendo Mario Bros/rtl/dpram.vhd
Normal file
@@ -0,0 +1,75 @@
|
||||
LIBRARY ieee;
|
||||
USE ieee.std_logic_1164.all;
|
||||
|
||||
LIBRARY altera_mf;
|
||||
USE altera_mf.altera_mf_components.all;
|
||||
|
||||
entity dpram is
|
||||
generic (
|
||||
addr_width_g : integer := 8;
|
||||
data_width_g : integer := 8
|
||||
);
|
||||
PORT
|
||||
(
|
||||
address_a : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
|
||||
address_b : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
|
||||
clock_a : IN STD_LOGIC := '1';
|
||||
clock_b : IN STD_LOGIC ;
|
||||
data_a : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
|
||||
data_b : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0) := (others => '0');
|
||||
enable_a : IN STD_LOGIC := '1';
|
||||
enable_b : IN STD_LOGIC := '1';
|
||||
wren_a : IN STD_LOGIC := '0';
|
||||
wren_b : IN STD_LOGIC := '0';
|
||||
q_a : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
|
||||
q_b : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0)
|
||||
);
|
||||
END dpram;
|
||||
|
||||
|
||||
ARCHITECTURE SYN OF dpram IS
|
||||
BEGIN
|
||||
altsyncram_component : altsyncram
|
||||
GENERIC MAP (
|
||||
address_reg_b => "CLOCK1",
|
||||
clock_enable_input_a => "NORMAL",
|
||||
clock_enable_input_b => "NORMAL",
|
||||
clock_enable_output_a => "BYPASS",
|
||||
clock_enable_output_b => "BYPASS",
|
||||
indata_reg_b => "CLOCK1",
|
||||
intended_device_family => "Cyclone III",
|
||||
lpm_type => "altsyncram",
|
||||
numwords_a => 2**addr_width_g,
|
||||
numwords_b => 2**addr_width_g,
|
||||
operation_mode => "BIDIR_DUAL_PORT",
|
||||
outdata_aclr_a => "NONE",
|
||||
outdata_aclr_b => "NONE",
|
||||
outdata_reg_a => "UNREGISTERED",
|
||||
outdata_reg_b => "UNREGISTERED",
|
||||
power_up_uninitialized => "FALSE",
|
||||
read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ",
|
||||
read_during_write_mode_port_b => "NEW_DATA_NO_NBE_READ",
|
||||
widthad_a => addr_width_g,
|
||||
widthad_b => addr_width_g,
|
||||
width_a => data_width_g,
|
||||
width_b => data_width_g,
|
||||
width_byteena_a => 1,
|
||||
width_byteena_b => 1,
|
||||
wrcontrol_wraddress_reg_b => "CLOCK1"
|
||||
)
|
||||
PORT MAP (
|
||||
address_a => address_a,
|
||||
address_b => address_b,
|
||||
clock0 => clock_a,
|
||||
clock1 => clock_b,
|
||||
clocken0 => enable_a,
|
||||
clocken1 => enable_b,
|
||||
data_a => data_a,
|
||||
data_b => data_b,
|
||||
wren_a => wren_a,
|
||||
wren_b => wren_b,
|
||||
q_a => q_a,
|
||||
q_b => q_b
|
||||
);
|
||||
|
||||
END SYN;
|
||||
129
Arcade_MiST/Nintendo Mario Bros/rtl/m58715ip.v
Normal file
129
Arcade_MiST/Nintendo Mario Bros/rtl/m58715ip.v
Normal file
@@ -0,0 +1,129 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// M58715 module.
|
||||
// The M58715 chip produces the digital sounds (music and most
|
||||
// of the sound effects). It is an 8039 with embedded RAM and ROM.
|
||||
// The embedded ROM appears to only be used for protection.
|
||||
// see mario_roms.v for more information.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module M58715IP(
|
||||
input I_CLK,
|
||||
input I_CLK_EN,
|
||||
input I_RSTn,
|
||||
input I_INTn,
|
||||
input I_EA,
|
||||
output O_PSENn,
|
||||
output O_RDn,
|
||||
output O_WRn,
|
||||
output O_ALE,
|
||||
output O_PROGn,
|
||||
input I_T0,
|
||||
output O_T0,
|
||||
input I_T1,
|
||||
input [7:0] I_DB,
|
||||
output [7:0] O_DB,
|
||||
input [7:0] I_P1,
|
||||
output [7:0] O_P1,
|
||||
input [7:0] I_P2,
|
||||
output [7:0] O_P2
|
||||
);
|
||||
|
||||
|
||||
|
||||
wire W_PSENn;
|
||||
assign O_PSENn = W_PSENn ;
|
||||
|
||||
//----------------------------------
|
||||
// M58715 has 128-Byte internal RAM
|
||||
//----------------------------------
|
||||
|
||||
wire [7:0]t48_ram_a;
|
||||
wire t48_ram_we;
|
||||
wire [7:0]t48_ram_do;
|
||||
wire [7:0]t48_ram_di;
|
||||
|
||||
ram_128_8 t48_ram
|
||||
(
|
||||
.I_CLK(I_CLK),
|
||||
.I_ADDR(t48_ram_a[6:0]),
|
||||
.I_D(t48_ram_di),
|
||||
.I_CE(1'b1),
|
||||
.I_WE(t48_ram_we),
|
||||
.O_D(t48_ram_do)
|
||||
);
|
||||
|
||||
//-----------------------------------
|
||||
// M58715 has 2KB internal ROM
|
||||
//
|
||||
// * Using the 8039 hack to bypass
|
||||
// the internal ROM until the pmem
|
||||
// interface can be made to work.
|
||||
// All ROM accesses are external.
|
||||
//------------------------------------
|
||||
|
||||
//wire [10:0]t48_int_rom_a;
|
||||
//wire [7:0]t48_int_rom_do;
|
||||
//
|
||||
//SUB_INT_ROM bootrom
|
||||
//(
|
||||
// .CLK(I_CLK),
|
||||
// .AD(t48_int_rom_a),
|
||||
// .DO(t48_int_rom_do)
|
||||
//);
|
||||
|
||||
//----------
|
||||
// T48 Core
|
||||
//----------
|
||||
|
||||
wire xtal3_s;
|
||||
|
||||
t48_core t48_core
|
||||
(
|
||||
.xtal_i(I_CLK),
|
||||
.xtal_en_i(I_CLK_EN),
|
||||
.reset_i(I_RSTn),
|
||||
.t0_i(I_T0),
|
||||
.t0_o(O_T0),
|
||||
.t0_dir_o(),
|
||||
.int_n_i(I_INTn),
|
||||
//.ea_i(I_EA),
|
||||
.ea_i(1'b1), // 8039 hack
|
||||
.rd_n_o(O_RDn),
|
||||
.psen_n_o(W_PSENn),
|
||||
.wr_n_o(O_WRn),
|
||||
.ale_o(O_ALE),
|
||||
.db_i(I_DB),
|
||||
.db_o(O_DB),
|
||||
.db_dir_o(),
|
||||
.t1_i(I_T1),
|
||||
.p2_i(I_P2),
|
||||
.p2_o(O_P2),
|
||||
.p2_low_imp_o(),
|
||||
.p1_i(I_P1),
|
||||
.p1_o(O_P1),
|
||||
.p1_low_imp_o(),
|
||||
.prog_n_o(O_PROGn),
|
||||
.clk_i(I_CLK),
|
||||
.en_clk_i(xtal3_s),
|
||||
.xtal3_o(xtal3_s),
|
||||
.dmem_addr_o(t48_ram_a),
|
||||
.dmem_we_o(t48_ram_we),
|
||||
.dmem_data_i(t48_ram_do),
|
||||
.dmem_data_o(t48_ram_di),
|
||||
.pmem_addr_o(),
|
||||
.pmem_data_i(8'h00)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
323
Arcade_MiST/Nintendo Mario Bros/rtl/mario_adec.v
Normal file
323
Arcade_MiST/Nintendo Mario Bros/rtl/mario_adec.v
Normal file
@@ -0,0 +1,323 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Address decoding.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_adec
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_12M,
|
||||
input I_CEN_4Mp,
|
||||
input I_CEN_4Mn,
|
||||
input I_RESET_n,
|
||||
input [15:0]I_AB,
|
||||
input [7:0]I_DB,
|
||||
input I_MREQ_n,
|
||||
input I_RFSH_n,
|
||||
input I_RD_n,
|
||||
input I_WR_n,
|
||||
input I_VRAMBUSY_n,
|
||||
input I_VBLK_n,
|
||||
output O_WAIT_n,
|
||||
output O_NMI_n,
|
||||
output [3:0]O_MROM_CSn,
|
||||
output [1:0]O_MRAM_CSn,
|
||||
output O_3J_G_n, // To LS245. Not used?
|
||||
output O_OBJ_RQ_n, // 7000 H - 73FF H
|
||||
output O_OBJ_RD_n, // 7000 H - 73FF H (R mode)
|
||||
output O_OBJ_WR_n, // 7000 H - 73FF H (W mode)
|
||||
output O_VRAM_RD_n, // 7400 H - 77FF H (R mode)
|
||||
output O_VRAM_WR_n, // 7400 H - 77FF H (W mode)
|
||||
output O_SW1_OE_n, // 7C00 H (R mode)
|
||||
output O_SW2_OE_n, // 7C80 H (R mode)
|
||||
output O_DIPSW_OE_n, // 7F80 H (R mode)
|
||||
output [7:0]O_4C_Q, // Misc addressing
|
||||
output [7:0]O_2L_Q, // Misc control signals
|
||||
output [7:0]O_7M_Q, // Sound control signals
|
||||
output [7:0]O_7J_Q // Sound data
|
||||
);
|
||||
|
||||
//----------
|
||||
// CPU WAIT
|
||||
//----------
|
||||
|
||||
reg W_3D_Q;
|
||||
reg W_4D1_Qn;
|
||||
assign O_WAIT_n = W_4D1_Qn;
|
||||
|
||||
always@(posedge I_CLK_48M or negedge I_VBLK_n)
|
||||
begin
|
||||
if(I_VBLK_n == 1'b0)
|
||||
W_4D1_Qn <= 1'b1;
|
||||
else if (I_CEN_4Mp)
|
||||
W_4D1_Qn <= I_VRAMBUSY_n | W_4A2_Q[1] | ~I_RFSH_n;
|
||||
end
|
||||
|
||||
// Enable signal for writing to VRAM and OBJRAM.
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
W_3D_Q <= W_4D1_Qn;
|
||||
end
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPU NMI
|
||||
// NMI is activated at the start of each VBLANK.
|
||||
// CPU can clear the NMI via register @ 2L.
|
||||
//-----------------------------------------------
|
||||
|
||||
wire W_VBLK = ~I_VBLK_n;
|
||||
reg W_VBLK_q;
|
||||
reg W_4D2_Q;
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
W_VBLK_q <= W_VBLK;
|
||||
end
|
||||
wire W_VBLK_rise = ~W_VBLK_q & W_VBLK;
|
||||
|
||||
always@(posedge I_CLK_48M or negedge W_2L_Q[4])
|
||||
begin
|
||||
if(~W_2L_Q[4])
|
||||
W_4D2_Q <= 1'b1;
|
||||
else if (W_VBLK_rise)
|
||||
W_4D2_Q <= 1'b0;
|
||||
end
|
||||
|
||||
assign O_NMI_n = W_4D2_Q;
|
||||
|
||||
//---------------------------
|
||||
// Address Decoder PROM @ 5B
|
||||
//---------------------------
|
||||
|
||||
wire [7:0]W_PROM5B_Q;
|
||||
|
||||
//ADEC_PROM prom5b(I_CLK_48M, I_AB[15:11], W_PROM5B_Q,
|
||||
// I_DLCLK, I_DLADDR, I_DLDATA, I_DLWR);
|
||||
|
||||
adec_5p adec_5p(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(I_AB[15:11]),
|
||||
.data(W_PROM5B_Q)
|
||||
);
|
||||
|
||||
assign O_MROM_CSn = {W_PROM5B_Q[7],W_PROM5B_Q[2:0]};
|
||||
|
||||
//--------------
|
||||
// 74LS139 @ 4A
|
||||
//--------------
|
||||
|
||||
wire [3:0]W_4A1_Q, W_4A2_Q;
|
||||
|
||||
logic_74xx139 U_4A_1
|
||||
(
|
||||
.I_G(W_PROM5B_Q[4]),
|
||||
.I_Sel({1'b0,I_AB[11]}),
|
||||
.O_Q(W_4A1_Q)
|
||||
);
|
||||
|
||||
// This output goes to a LS245 @ 7H enable which is not used in the FPGA implementation.
|
||||
assign O_3J_G_n = W_4A1_Q[0] & W_4C_Q[2] & W_4C_Q[3];
|
||||
|
||||
logic_74xx139 U_4A_2
|
||||
(
|
||||
.I_G(W_PROM5B_Q[4] | I_MREQ_n),
|
||||
.I_Sel(I_AB[11:10]),
|
||||
.O_Q(W_4A2_Q)
|
||||
);
|
||||
|
||||
assign O_OBJ_RQ_n = W_4A2_Q[0];
|
||||
|
||||
//------------------------------------
|
||||
// 74LS138 @ 3A
|
||||
// Address decoding 7000H - 7FFFH (R)
|
||||
//------------------------------------
|
||||
|
||||
wire [7:0]W_3A_Q;
|
||||
|
||||
logic_74xx138 U_3A
|
||||
(
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_RD_n),
|
||||
.I_G2b(I_MREQ_n),
|
||||
.I_Sel({W_PROM5B_Q[4],I_AB[11:10]}),
|
||||
.O_Q(W_3A_Q)
|
||||
);
|
||||
|
||||
assign O_OBJ_RD_n = W_3A_Q[0]; // 7000H - 73FFH - Sprite RAM (R)
|
||||
assign O_VRAM_RD_n = W_3A_Q[1]; // 7400H - 77FFH - VRAM (R)
|
||||
|
||||
//------------------------------------
|
||||
// 74LS138 @ 3B
|
||||
// Address decoding 7000H - 7FFFH (W)
|
||||
//------------------------------------
|
||||
|
||||
wire [7:0]W_3B_Q;
|
||||
|
||||
logic_74xx138 U_3B
|
||||
(
|
||||
.I_G1(W_3D_Q),
|
||||
//.I_G1(1'b1), // No Wait
|
||||
.I_G2a(I_WR_n),
|
||||
.I_G2b(I_MREQ_n),
|
||||
.I_Sel({W_PROM5B_Q[4],I_AB[11:10]}),
|
||||
.O_Q(W_3B_Q)
|
||||
);
|
||||
|
||||
assign O_OBJ_WR_n = W_3B_Q[0]; // 7000H - 73FFH - Sprite RAM (W)
|
||||
assign O_VRAM_WR_n = W_3B_Q[1]; // 7400H - 77FFH - VRAM (W)
|
||||
|
||||
//--------------------------------------
|
||||
// 74LS138 @ 3C
|
||||
// Address decoding 6000H - 6FFFH (R/W)
|
||||
// RAM0 @ 7B - 6000H - 67FFH
|
||||
// RAM1 @ 7A - 6800H - 6FFFH
|
||||
//--------------------------------------
|
||||
|
||||
wire [7:0]W_3C_Q;
|
||||
|
||||
logic_74xx138 U_3C
|
||||
(
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_MREQ_n),
|
||||
.I_G2b(I_RD_n & I_WR_n),
|
||||
.I_Sel({W_PROM5B_Q[3],1'b0, I_AB[11]}),
|
||||
.O_Q(W_3C_Q)
|
||||
);
|
||||
|
||||
assign O_MRAM_CSn = W_3C_Q[1:0];
|
||||
|
||||
//------------------------------------
|
||||
// 74LS138 @ 4B
|
||||
// Address decoding 7C00H - 7FFFH (R)
|
||||
// Enable signals for reading inputs
|
||||
// and and DIP switches
|
||||
//------------------------------------
|
||||
|
||||
wire [7:0]W_4B_Q;
|
||||
|
||||
logic_74xx138 U_4B
|
||||
(
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_RD_n),
|
||||
.I_G2b(W_4A2_Q[3]),
|
||||
.I_Sel(I_AB[9:7]),
|
||||
.O_Q(W_4B_Q)
|
||||
);
|
||||
|
||||
assign O_SW1_OE_n = W_4B_Q[0]; // 7C00H - Service,2P Start,1P Start,Jump,D,U,L,R
|
||||
assign O_SW2_OE_n = W_4B_Q[1]; // 7C80H - x,Coin 2,Coin 1,Jump2,2D,2U,2L,2R
|
||||
assign O_DIPSW_OE_n = W_4B_Q[7]; // 7F80H - Dip switches
|
||||
|
||||
//------------------------------------
|
||||
// 74LS138 @ 4C
|
||||
// Address decoding 7C00H - 7FFFH (W)
|
||||
// Miscellaneous addressing.
|
||||
//------------------------------------
|
||||
|
||||
wire [7:0]W_4C_Q;
|
||||
|
||||
logic_74xx138 U_4C
|
||||
(
|
||||
.I_G1(1'b1),
|
||||
.I_G2a(I_WR_n),
|
||||
.I_G2b(W_4A2_Q[3]),
|
||||
.I_Sel(I_AB[9:7]),
|
||||
.O_Q(W_4C_Q)
|
||||
);
|
||||
|
||||
// W_4C_Q[0] - 7C00H - Mario Walk analogue sound trigger
|
||||
// W_4C_Q[1] - 7C80H - Luigi Walk analogue sound trigger
|
||||
// W_4C_Q[2] - 7D00H - V MOV, Vertical scroll register select
|
||||
// W_4C_Q[3] - 7D80H - ??? Write to video.
|
||||
// W_4C_Q[4] - 7E00H - Write to sound register (sound select) (7J).
|
||||
// W_4C_Q[5] - 7E80H - Enable for misc. control signals (2L).
|
||||
// W_4C_Q[6] - 7F00H - Enable for sound port (7M).
|
||||
assign O_4C_Q = W_4C_Q;
|
||||
|
||||
//--------------------------------------
|
||||
// 74LS259 @ 2L
|
||||
// Misc control signals (7E80H - 7E87H)
|
||||
//--------------------------------------
|
||||
|
||||
reg [7:0]W_2L_Q;
|
||||
|
||||
always@(posedge I_CLK_48M or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
W_2L_Q <= 0;
|
||||
end
|
||||
else if (I_CEN_12M) begin
|
||||
if(W_4C_Q[5] == 1'b0) begin
|
||||
case(I_AB[2:0])
|
||||
3'h0 : W_2L_Q[0] <= I_DB[0]; // 7E80H - T ROM - GFX bank select
|
||||
3'h1 : W_2L_Q[1] <= I_DB[0]; // 7E81H - 2PSL - sprite bank select
|
||||
3'h2 : W_2L_Q[2] <= I_DB[0]; // 7E82H - Flip (must be inverted)
|
||||
3'h3 : W_2L_Q[3] <= I_DB[0]; // 7E83H - CREF 0 - colour palette bank select.
|
||||
3'h4 : W_2L_Q[4] <= I_DB[0]; // 7E84H - Reset NMI (Sets flip flop)
|
||||
3'h5 : W_2L_Q[5] <= I_DB[0]; // 7E85H - Z80 DMA RDY write
|
||||
3'h6 : W_2L_Q[6] <= I_DB[0]; // 7E86H - Coin counter 1 (misnumbered on schematic)
|
||||
3'h7 : W_2L_Q[7] <= I_DB[0]; // 7E87H - Coin counter 2 (misnumbered on schematic)
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign O_2L_Q = W_2L_Q;
|
||||
|
||||
//----------------------------
|
||||
// 74LS259 @ 7M
|
||||
// Sound Port (7F00H - 7F07H)
|
||||
// Tiggers sound effects.
|
||||
//----------------------------
|
||||
|
||||
reg [7:0]W_7M_Q;
|
||||
|
||||
always@(posedge I_CLK_48M or negedge I_RESET_n)
|
||||
begin
|
||||
if(I_RESET_n == 1'b0) begin
|
||||
W_7M_Q <= 0;
|
||||
end
|
||||
else if (I_CEN_12M) begin
|
||||
if(W_4C_Q[6] == 1'b0) begin
|
||||
case(I_AB[2:0])
|
||||
3'h0 : W_7M_Q[0] <= I_DB[0]; // 7F00H - /INT
|
||||
3'h1 : W_7M_Q[1] <= I_DB[0]; // 7F01H - T0
|
||||
3'h2 : W_7M_Q[2] <= I_DB[0]; // 7F02H - T1
|
||||
3'h3 : W_7M_Q[3] <= I_DB[0]; // 7F03H - PA0
|
||||
3'h4 : W_7M_Q[4] <= I_DB[0]; // 7F04H - PA1
|
||||
3'h5 : W_7M_Q[5] <= I_DB[0]; // 7F05H - PA2
|
||||
3'h6 : W_7M_Q[6] <= I_DB[0]; // 7F06H - PA3
|
||||
3'h7 : W_7M_Q[7] <= I_DB[0]; // 7F07H - Skid analogue sound trigger.
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign O_7M_Q = W_7M_Q;
|
||||
|
||||
|
||||
//--------------------------
|
||||
// 74LS374 @ 7J
|
||||
// Sound data (7E00H)
|
||||
// Data latch for sound CPU
|
||||
//--------------------------
|
||||
|
||||
reg [7:0]W_7J_Q;
|
||||
|
||||
reg W_4C_Q4q;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
W_4C_Q4q <= W_4C_Q[4];
|
||||
end
|
||||
wire W_4C_Q4_rise = ~W_4C_Q4q & W_4C_Q[4];
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (W_4C_Q4_rise)
|
||||
W_7J_Q <= I_DB;
|
||||
end
|
||||
|
||||
assign O_7J_Q = W_7J_Q;
|
||||
|
||||
|
||||
endmodule
|
||||
324
Arcade_MiST/Nintendo Mario Bros/rtl/mario_bram.v
Normal file
324
Arcade_MiST/Nintendo Mario Bros/rtl/mario_bram.v
Normal file
@@ -0,0 +1,324 @@
|
||||
//-------------------
|
||||
// Block RAM modules
|
||||
//-------------------
|
||||
|
||||
module ram_1024_8_8
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [9:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
wire [7:0]W_DOA,W_DOB;
|
||||
assign O_DA = I_CEA ? W_DOA : 8'h00;
|
||||
assign O_DB = I_CEB ? W_DOB : 8'h00;
|
||||
|
||||
dpram #(10,8) ram_1024_8_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(W_DOA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRB),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(W_DOB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_1024_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [9:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
wire [7:0]W_DO;
|
||||
assign O_D = I_CE ? W_DO : 8'h00;
|
||||
|
||||
dpram #(10,8) ram_1024_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(W_DO),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2N
|
||||
(
|
||||
input I_CLK,
|
||||
input [7:0]I_ADDR,
|
||||
input [3:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [3:0]O_D
|
||||
);
|
||||
|
||||
dpram #(8,4) ram_256_4
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_256_8
|
||||
(
|
||||
input I_CLKA,
|
||||
input [7:0]I_ADDRA,
|
||||
input [7:0]I_DA,
|
||||
input I_CEA,
|
||||
input I_WEA,
|
||||
output [7:0]O_DA
|
||||
);
|
||||
|
||||
dpram #(8,8) ram_256_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKA)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_64_9
|
||||
(
|
||||
input I_CLKA,
|
||||
input [5:0]I_ADDRA,
|
||||
input [8:0]I_DA,
|
||||
input I_CEA,
|
||||
input I_WEA,
|
||||
output [8:0]O_DA
|
||||
);
|
||||
|
||||
|
||||
dpram #(6,9) ram_64x9
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKA)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2EF
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [7:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
dpram #(9,8) ram_512_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a({1'b0,I_ADDRA}),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b({1'b1,I_ADDRB}),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(O_DB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module double_scan
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [8:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
dpram #(9,8) ram_512_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(O_DA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRB),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(O_DB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_128_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [6:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
dpram #(7,8) ram_128_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_2048_8_8
|
||||
(
|
||||
input I_CLKA,I_CLKB,
|
||||
input [10:0]I_ADDRA,I_ADDRB,
|
||||
input [7:0]I_DA,I_DB,
|
||||
input I_CEA,I_CEB,
|
||||
input I_OEA,I_OEB,
|
||||
input I_WEA,I_WEB,
|
||||
output [7:0]O_DA,O_DB
|
||||
);
|
||||
|
||||
wire [7:0]W_DOA,W_DOB;
|
||||
assign O_DA = I_CEA & I_OEA ? W_DOA : 8'h00;
|
||||
assign O_DB = I_CEB & I_OEB ? W_DOB : 8'h00;
|
||||
|
||||
dpram #(11,8) ram_2048_8_8
|
||||
(
|
||||
.clock_a(I_CLKA),
|
||||
.address_a(I_ADDRA),
|
||||
.data_a(I_DA),
|
||||
.enable_a(I_CEA),
|
||||
.wren_a(I_WEA),
|
||||
.q_a(W_DOA),
|
||||
|
||||
.clock_b(I_CLKB),
|
||||
.address_b(I_ADDRB),
|
||||
.data_b(I_DB),
|
||||
.enable_b(I_CEB),
|
||||
.wren_b(I_WEB),
|
||||
.q_b(W_DOB)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module ram_2048_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [10:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
dpram #(11,8) ram_2048_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
module ram_4096_8
|
||||
(
|
||||
input I_CLK,
|
||||
input [11:0]I_ADDR,
|
||||
input [7:0]I_D,
|
||||
input I_CE,
|
||||
input I_WE,
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
|
||||
dpram #(12,8) ram_4096_8
|
||||
(
|
||||
.clock_a(I_CLK),
|
||||
.address_a(I_ADDR),
|
||||
.data_a(I_D),
|
||||
.wren_a(I_WE),
|
||||
.enable_a(I_CE),
|
||||
.q_a(O_D),
|
||||
|
||||
.clock_b(I_CLK)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
78
Arcade_MiST/Nintendo Mario Bros/rtl/mario_col_pal.v
Normal file
78
Arcade_MiST/Nintendo Mario Bros/rtl/mario_col_pal.v
Normal file
@@ -0,0 +1,78 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Colour palette.
|
||||
// Based on the Donkey Kong version by Katsumi Degawa.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_col_pal
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_24Mn,
|
||||
input I_CEN_6M,
|
||||
input [6:0]I_VRAM_D,
|
||||
input [6:0]I_OBJ_D,
|
||||
input I_CMPBLKn,
|
||||
input I_CPAL_SEL,
|
||||
output [2:0]O_R,
|
||||
output [2:0]O_G,
|
||||
output [1:0]O_B
|
||||
);
|
||||
|
||||
// Link CL2 on the schematics
|
||||
// Uncut = 0 - Inverted colour palette
|
||||
// Cut = 1 - Standard colour palette
|
||||
parameter CL2 = 1'b1;
|
||||
|
||||
//-------------------------------------
|
||||
// Parts 4U, 5T (74LS157)
|
||||
// Selects sprites or backgound pixels
|
||||
// Sprites take priority
|
||||
//-------------------------------------
|
||||
|
||||
wire [6:0]W_4U5T_Y = (~(I_OBJ_D[0]|I_OBJ_D[1]|I_OBJ_D[2])) ? I_VRAM_D: I_OBJ_D;
|
||||
|
||||
//--------------
|
||||
// Parts 6T, 6U
|
||||
//--------------
|
||||
|
||||
wire [8:0]W_6TU_D = {I_CPAL_SEL,W_4U5T_Y[6:0],I_CMPBLKn};
|
||||
reg [8:0]W_6TU_Q;
|
||||
wire W_6TU_RST = I_CMPBLKn | W_6TU_Q[0];
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_24Mn) begin
|
||||
if(W_6TU_RST == 1'b0)
|
||||
W_6TU_Q <= 9'b0;
|
||||
else if (I_CEN_6M)
|
||||
W_6TU_Q <= W_6TU_D;
|
||||
end
|
||||
end
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Colour PROM 4P (512 x 8bit)
|
||||
// The PROM actually contains 2 versions of the colour palette:
|
||||
// 0 - 255 = Inverted palette
|
||||
// 256 - 512 = Standard palette
|
||||
// Link CL2 on the PCB is used for selecting the palette.
|
||||
//--------------------------------------------------------------
|
||||
|
||||
wire [8:0]W_PAL_AB = {CL2,W_6TU_Q[8:1]};
|
||||
wire [7:0]W_4P_DO;
|
||||
|
||||
//CLUT_PROM_512_8 prom4p(I_CLK_48M, W_PAL_AB, W_4P_DO,
|
||||
// I_DLCLK, I_DLADDR, I_DLDATA, I_DLWR);
|
||||
|
||||
clut_4p clut_4p(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_PAL_AB),
|
||||
.data(W_4P_DO)
|
||||
);
|
||||
|
||||
assign {O_R, O_G, O_B} = W_4P_DO; // 3R:3G:2B
|
||||
|
||||
endmodule
|
||||
|
||||
76
Arcade_MiST/Nintendo Mario Bros/rtl/mario_dma.v
Normal file
76
Arcade_MiST/Nintendo Mario Bros/rtl/mario_dma.v
Normal file
@@ -0,0 +1,76 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Simplified sprite DMA.
|
||||
// To Do: Implement full z80 DMA controller.
|
||||
// Mario Bros transfers $180 bytes from $6900 to $7000
|
||||
// when DMA is triggered.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_dma
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_4M,
|
||||
input I_RSTn,
|
||||
input I_DMA_TRIG,
|
||||
input [7:0]I_DMA_DS,
|
||||
|
||||
output [9:0]O_DMA_AS,
|
||||
output [9:0]O_DMA_AD,
|
||||
output [7:0]O_DMA_DD,
|
||||
output O_DMA_CES,
|
||||
output O_DMA_CED
|
||||
);
|
||||
|
||||
parameter dma_cnt_end = 10'h180;
|
||||
|
||||
reg W_DMA_EN = 1'b0;
|
||||
reg [10:0]W_DMA_CNT;
|
||||
reg [7:0]W_DMA_DATA;
|
||||
reg [9:0]DMA_ASr;
|
||||
reg [9:0]DMA_ADr;
|
||||
reg [7:0]DMA_DDr;
|
||||
reg DMA_CESr, DMA_CEDr;
|
||||
|
||||
always @(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_4M) begin
|
||||
reg old_trig;
|
||||
old_trig <= I_DMA_TRIG;
|
||||
if(~old_trig & I_DMA_TRIG)
|
||||
begin
|
||||
DMA_ASr <= 10'h100;
|
||||
DMA_ADr <= 0;
|
||||
W_DMA_CNT <= 0;
|
||||
W_DMA_EN <= 1'b1;
|
||||
DMA_CESr <= 1'b1;
|
||||
DMA_CEDr <= 1'b1;
|
||||
end
|
||||
else if(W_DMA_EN == 1'b1)
|
||||
begin
|
||||
case(W_DMA_CNT[1:0])
|
||||
1: DMA_DDr <= I_DMA_DS;
|
||||
2: DMA_ASr <= DMA_ASr + 1'd1;
|
||||
3: DMA_ADr <= DMA_ADr + 1'd1;
|
||||
default:;
|
||||
endcase
|
||||
W_DMA_CNT <= W_DMA_CNT + 1'd1;
|
||||
W_DMA_EN <= W_DMA_CNT==dma_cnt_end*4 ? 1'b0 : 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
DMA_CESr <= 1'b0;
|
||||
DMA_CEDr <= 1'b0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign O_DMA_AS = DMA_ASr;
|
||||
assign O_DMA_AD = DMA_ADr;
|
||||
assign O_DMA_DD = DMA_DDr;
|
||||
assign O_DMA_CES = DMA_CESr;
|
||||
assign O_DMA_CED = DMA_CEDr;
|
||||
|
||||
endmodule
|
||||
111
Arcade_MiST/Nintendo Mario Bros/rtl/mario_hv_generator.v
Normal file
111
Arcade_MiST/Nintendo Mario Bros/rtl/mario_hv_generator.v
Normal file
@@ -0,0 +1,111 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG H&V COUNTER
|
||||
//
|
||||
// Version : 2.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
// 2005- 2- 9 some changed.
|
||||
//================================================================================
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2 H 1 H 2 H 4H 8H 16 H 32H 64 H 128 H 256 H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0], V_CNT[1], V_CNT[2], V_CNT[3], V_CNT[4], V_CNT[5], V_CNT[6], V_CNT[7]
|
||||
// 1 V 2 V 4 V 8 V 16 V 32 V 64 V 128 V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
|
||||
module mario_hv_generator(
|
||||
input I_CLK,
|
||||
input I_CEN,
|
||||
input I_RST_n,
|
||||
input I_VFLIP,
|
||||
output [9:0]H_CNT,
|
||||
output [7:0]V_CNT,
|
||||
output [7:0]VF_CNT,
|
||||
output H_BLANKn,
|
||||
output V_BLANKn,
|
||||
output C_BLANKn,
|
||||
output H_SYNCn,
|
||||
output V_SYNCn,
|
||||
output VCKn
|
||||
);
|
||||
|
||||
parameter H_count = 768;
|
||||
parameter H_BL_P = 511;
|
||||
parameter H_BL_W = 767;
|
||||
parameter V_CL_P = 576;
|
||||
parameter V_CL_W = 640;
|
||||
|
||||
parameter V_BL_P = 239;
|
||||
parameter V_BL_W = 15;
|
||||
|
||||
reg [9:0]H_CNT_r = 0;
|
||||
always@(posedge I_CLK)
|
||||
begin
|
||||
if (I_CEN)
|
||||
H_CNT_r <= (H_CNT_r == H_count - 1'd1)? 0 : H_CNT_r + 1'd1 ;
|
||||
end
|
||||
|
||||
|
||||
assign H_CNT = H_CNT_r;
|
||||
|
||||
reg H_BLANK = 1'b0;
|
||||
reg V_CLK = 1'b0;
|
||||
reg V_CLK_q;
|
||||
|
||||
always@(posedge I_CLK) begin
|
||||
if (H_CNT == H_BL_P)
|
||||
H_BLANK <= 1'b1;
|
||||
else if (H_CNT == H_BL_W)
|
||||
H_BLANK <= 1'b0;
|
||||
|
||||
if (H_CNT == V_CL_P)
|
||||
V_CLK <= 1'b1;
|
||||
else if (H_CNT == V_CL_W)
|
||||
V_CLK <= 1'b0;
|
||||
V_CLK_q <= V_CLK;
|
||||
end
|
||||
|
||||
assign H_SYNCn = ~V_CLK;
|
||||
assign H_BLANKn = ~H_BLANK;
|
||||
wire V_CLK_EN = ~V_CLK_q & V_CLK;
|
||||
|
||||
reg [8:0]V_CNT_r;
|
||||
always@(posedge I_CLK or negedge I_RST_n)
|
||||
begin
|
||||
if(I_RST_n == 1'b0)
|
||||
V_CNT_r <= 0 ;
|
||||
else if (V_CLK_EN)
|
||||
V_CNT_r <= (V_CNT_r == 255)? 9'd504 : V_CNT_r + 1'd1;
|
||||
end
|
||||
|
||||
reg V_BLANK;
|
||||
always@(posedge I_CLK or negedge I_RST_n)
|
||||
begin
|
||||
if(I_RST_n == 1'b0)begin
|
||||
V_BLANK <= 1'b0;
|
||||
end
|
||||
else if (V_CLK_EN) begin
|
||||
if (V_CNT_r == V_BL_P)
|
||||
V_BLANK <= 1'b1;
|
||||
else if (V_CNT_r == V_BL_W)
|
||||
V_BLANK <= 1'b0;
|
||||
end
|
||||
end
|
||||
|
||||
assign V_CNT[7:0] = V_CNT_r[7:0];
|
||||
assign V_SYNCn = ~V_CNT_r[8];
|
||||
assign V_BLANKn = ~V_BLANK;
|
||||
assign C_BLANKn = ~(H_BLANK | V_BLANK);
|
||||
assign VF_CNT[7:0]= V_CNT ^ {8{I_VFLIP}};
|
||||
assign VCKn = V_CLK;
|
||||
endmodule
|
||||
171
Arcade_MiST/Nintendo Mario Bros/rtl/mario_iir_filter.v
Normal file
171
Arcade_MiST/Nintendo Mario Bros/rtl/mario_iir_filter.v
Normal file
@@ -0,0 +1,171 @@
|
||||
/*MIT License
|
||||
Copyright (c) 2019 Gregory Hogan (Soltan_G42)
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.*/
|
||||
|
||||
module iir_1st_order
|
||||
#(
|
||||
parameter COEFF_WIDTH = 18,
|
||||
parameter COEFF_SCALE = 15,
|
||||
parameter DATA_WIDTH = 16,
|
||||
parameter COUNT_BITS = 11
|
||||
)
|
||||
(
|
||||
input clk,
|
||||
input reset,
|
||||
input [COUNT_BITS - 1 : 0] div,
|
||||
input signed [COEFF_WIDTH - 1 : 0] A2, B1, B2,
|
||||
input signed [DATA_WIDTH - 1 :0] in,
|
||||
output signed [DATA_WIDTH - 1:0] out
|
||||
);
|
||||
|
||||
reg signed [DATA_WIDTH-1:0] x0,x1,y0;
|
||||
reg signed [DATA_WIDTH + COEFF_WIDTH - 1 : 0] out32;
|
||||
reg [COUNT_BITS - 1:0] count;
|
||||
|
||||
// Usage:
|
||||
// Design your 1st order iir low/high-pass with a tool that will give you the
|
||||
// filter coefficients for the difference equation. Filter coefficients can
|
||||
// be generated in Octave/matlab/scipy using a command similar to
|
||||
// [B, A] = butter( 1, 3500/(106528/2), 'low') for a 3500 hz 1st order low-pass
|
||||
// assuming 106528Hz sample rate.
|
||||
//
|
||||
// The Matlab output is:
|
||||
// B = [0.093863 0.093863]
|
||||
// A = [1.00000 -0.81227]
|
||||
//
|
||||
// Then scale coefficients by multiplying by 2^COEFF_SCALE and round to nearest integer
|
||||
//
|
||||
// B = [3076 3076]
|
||||
// A = [32768 -26616]
|
||||
//
|
||||
// Discard A(1) because it is assumed 1.0 before scaling
|
||||
//
|
||||
// This leaves you with A2 = -26616 , B1 = 3076 , B2 = 3076
|
||||
// B1 + B2 - A2 should sum to 2^COEFF_SCALE = 32768
|
||||
//
|
||||
// Sample frequency is "clk rate/div": for Genesis this is 53.69mhz/504 = 106528hz
|
||||
//
|
||||
// COEFF_WIDTH must be at least COEFF_SCALE+1 and must be large enough to
|
||||
// handle temporary overflow during this computation: out32 <= (B1*x0 + B2*x1) - A2*y0
|
||||
|
||||
assign out = y0;
|
||||
|
||||
always @ (*) begin
|
||||
out32 <= (B1*x0 + B2*x1) - A2*y0; //Previous output is y0 not y1
|
||||
end
|
||||
|
||||
always @ (posedge clk) begin
|
||||
if(reset) begin
|
||||
count <= 0;
|
||||
x0 <= 0;
|
||||
x1 <= 0;
|
||||
y0 <= 0;
|
||||
end
|
||||
else begin
|
||||
count <= count + 1'd1;
|
||||
if (count == div - 1) begin
|
||||
count <= 0;
|
||||
y0 <= {out32[DATA_WIDTH + COEFF_WIDTH - 1] , out32[COEFF_SCALE + DATA_WIDTH - 2 : COEFF_SCALE]};
|
||||
x1 <= x0;
|
||||
x0 <= in;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule //iir_1st_order
|
||||
|
||||
|
||||
|
||||
module iir_2nd_order
|
||||
#(
|
||||
parameter COEFF_WIDTH = 18,
|
||||
parameter COEFF_SCALE = 14,
|
||||
parameter DATA_WIDTH = 16,
|
||||
parameter COUNT_BITS = 10
|
||||
)
|
||||
(
|
||||
input clk,
|
||||
input reset,
|
||||
input [COUNT_BITS - 1 : 0] div,
|
||||
input signed [COEFF_WIDTH - 1 : 0] A2, A3, B1, B2, B3,
|
||||
input signed [DATA_WIDTH - 1 : 0] in,
|
||||
output [DATA_WIDTH - 1 : 0] out
|
||||
);
|
||||
|
||||
reg signed [DATA_WIDTH-1 : 0] x0,x1,x2;
|
||||
reg signed [DATA_WIDTH-1 : 0] y0,y1;
|
||||
reg signed [(DATA_WIDTH + COEFF_WIDTH - 1) : 0] out32;
|
||||
reg [COUNT_BITS : 0] count;
|
||||
|
||||
|
||||
// Usage:
|
||||
// Design your 1st order iir low/high-pass with a tool that will give you the
|
||||
// filter coefficients for the difference equation. Filter coefficients can
|
||||
// be generated in Octave/matlab/scipy using a command similar to
|
||||
// [B, A] = butter( 2, 5000/(48000/2), 'low') for a 5000 hz 2nd order low-pass
|
||||
// assuming 48000Hz sample rate.
|
||||
//
|
||||
// Output is:
|
||||
// B = [ 0.072231 0.144462 0.072231]
|
||||
// A = [1.00000 -1.10923 0.39815]
|
||||
//
|
||||
// Then scale coefficients by multiplying by 2^COEFF_SCALE and round to nearest integer
|
||||
// Make sure your coefficients can be stored as a signed number with COEFF_WIDTH bits.
|
||||
//
|
||||
// B = [1183 2367 1183]
|
||||
// A = [16384 -18174 6523]
|
||||
//
|
||||
// Discard A(1) because it is assumed 1.0 before scaling
|
||||
//
|
||||
// This leaves you with A2 = -18174 , A3 = 6523, B1 = 1183 , B2 = 2367 , B3 = 1183
|
||||
// B1 + B2 + B3 - A2 - A3 should sum to 2^COEFF_SCALE = 16384
|
||||
//
|
||||
// Sample frequency is "clk rate/div"
|
||||
//
|
||||
// COEFF_WIDTH must be at least COEFF_SCALE+1 and must be large enough to
|
||||
// handle temporary overflow during this computation:
|
||||
// out32 <= (B1*x0 + B2*x1 + B3*x2) - (A2*y0 + A3*y1);
|
||||
|
||||
assign out = y0;
|
||||
|
||||
always @ (*) begin
|
||||
out32 <= (B1*x0 + B2*x1 + B3*x2) - (A2*y0 + A3*y1); //Previous output is y0 not y1
|
||||
end
|
||||
|
||||
always @ (posedge clk) begin
|
||||
if(reset) begin
|
||||
count <= 0;
|
||||
x0 <= 0;
|
||||
x1 <= 0;
|
||||
x2 <= 0;
|
||||
y0 <= 0;
|
||||
y1 <= 0;
|
||||
end
|
||||
else begin
|
||||
count <= count + 1'd1;
|
||||
if (count == div - 1) begin
|
||||
count <= 0;
|
||||
y1 <= y0;
|
||||
y0 <= {out32[DATA_WIDTH + COEFF_WIDTH - 1] , out32[(DATA_WIDTH + COEFF_SCALE - 2) : COEFF_SCALE]};
|
||||
x2 <= x1;
|
||||
x1 <= x0;
|
||||
x0 <= in;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule //iir_2nd_order
|
||||
74
Arcade_MiST/Nintendo Mario Bros/rtl/mario_input.v
Normal file
74
Arcade_MiST/Nintendo Mario Bros/rtl/mario_input.v
Normal file
@@ -0,0 +1,74 @@
|
||||
//---------------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Controls and DIP Switches.
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
// CONTROLS
|
||||
//
|
||||
// BIT 0 1 2 3 4 5 6 7
|
||||
//---------------------------------------------------------------------------------
|
||||
// SW1(MAIN) RIGHT LEFT - - JUMP 1P START 2P START TEST
|
||||
// SW2(SUB) RIGHT2 LEFT2 - - JUMP2 COIN - -
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
// DIP SWITCHES
|
||||
//
|
||||
// Toggle (DIP1) Settings:
|
||||
// A B C D E F G H Option
|
||||
//---------------------------------------------------------------------------------
|
||||
// Number of Players per Game
|
||||
// --------------------------
|
||||
// Off Off 3
|
||||
// On Off 4
|
||||
// Off On 5
|
||||
// On On 6
|
||||
//
|
||||
// Coin/Credit
|
||||
// ----------
|
||||
// Off Off 1/1
|
||||
// On Off 2/1
|
||||
// Off On 1/2
|
||||
// On On 1/3
|
||||
//
|
||||
// Extra Life
|
||||
// ----------
|
||||
// Off Off 20,000 points
|
||||
// On Off 30,000 points
|
||||
// Off On 40,000 points
|
||||
// On On No extra life
|
||||
//
|
||||
// Difficulty
|
||||
// ----------
|
||||
// Off Off (1) Easy
|
||||
// On Off (3) Hard
|
||||
// Off On (2) Medium
|
||||
// On On (4) Hardest
|
||||
//
|
||||
//---------------------------------------------------------------------------------
|
||||
// NOTE: Mario Bros does not have a cocktail mode.
|
||||
|
||||
module mario_inport
|
||||
(
|
||||
input [7:0]I_SW1,
|
||||
input [7:0]I_SW2,
|
||||
input [7:0]I_DIPSW,
|
||||
input I_SW1_OEn,
|
||||
input I_SW2_OEn,
|
||||
input I_DIPSW_OEn,
|
||||
|
||||
output [7:0]O_D
|
||||
);
|
||||
|
||||
wire [7:0]W_SW1 = I_SW1_OEn ? 8'h00: ~I_SW1;
|
||||
wire [7:0]W_SW2 = I_SW2_OEn ? 8'h00: ~I_SW2;
|
||||
|
||||
wire [7:0]W_DIPSW = I_DIPSW_OEn ? 8'h00: {I_DIPSW[6],I_DIPSW[7],I_DIPSW[5:0]};
|
||||
|
||||
assign O_D = W_SW1 | W_SW2 | W_DIPSW;
|
||||
|
||||
endmodule
|
||||
117
Arcade_MiST/Nintendo Mario Bros/rtl/mario_logic.v
Normal file
117
Arcade_MiST/Nintendo Mario Bros/rtl/mario_logic.v
Normal file
@@ -0,0 +1,117 @@
|
||||
//===============================================================================
|
||||
// FPGA DONKEY KONG used LOGIC IP
|
||||
//
|
||||
// Version : 1.00
|
||||
//
|
||||
// Copyright(c) 2003 - 2004 Katsumi Degawa , All rights reserved
|
||||
//
|
||||
// Important !
|
||||
//
|
||||
// This program is freeware for non-commercial use.
|
||||
// An author does no guarantee about this program.
|
||||
// You can use this under your own risk.
|
||||
//
|
||||
//================================================================================
|
||||
|
||||
//================================================
|
||||
// 74xx109
|
||||
// JK FLIP-FLOPS with PRESET & RST
|
||||
// PRESET NO USE
|
||||
//================================================
|
||||
|
||||
module logic_74xx109(
|
||||
input FAST_CLK,
|
||||
input CLK,
|
||||
input RST,
|
||||
input I_J,
|
||||
input I_K,
|
||||
output O_Q
|
||||
);
|
||||
|
||||
reg CLK_q;
|
||||
reg Q;
|
||||
|
||||
assign O_Q = Q;
|
||||
|
||||
always@(posedge FAST_CLK)begin
|
||||
CLK_q <= CLK;
|
||||
end
|
||||
|
||||
wire CLK_rise = ~CLK_q & CLK;
|
||||
|
||||
always@(posedge FAST_CLK or negedge RST)
|
||||
begin
|
||||
if(RST == 1'b0) Q <= 1'b0;
|
||||
else if (CLK_rise) begin
|
||||
case({I_J,I_K})
|
||||
2'b00: Q <= 1'b0;
|
||||
2'b01: Q <= Q;
|
||||
2'b10: Q <= ~Q;
|
||||
2'b11: Q <= 1'b1;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
//================================================
|
||||
// 74xx138
|
||||
// 3-to-8 line decoder
|
||||
//================================================
|
||||
|
||||
module logic_74xx138(
|
||||
input I_G1,
|
||||
input I_G2a,
|
||||
input I_G2b,
|
||||
input [2:0]I_Sel,
|
||||
output reg [7:0]O_Q
|
||||
);
|
||||
|
||||
wire [2:0]I_G = {I_G1,I_G2a,I_G2b};
|
||||
always@(I_G or I_Sel or O_Q)
|
||||
begin
|
||||
if(I_G == 3'b100 )begin
|
||||
case(I_Sel)
|
||||
3'b000: O_Q = 8'b11111110;
|
||||
3'b001: O_Q = 8'b11111101;
|
||||
3'b010: O_Q = 8'b11111011;
|
||||
3'b011: O_Q = 8'b11110111;
|
||||
3'b100: O_Q = 8'b11101111;
|
||||
3'b101: O_Q = 8'b11011111;
|
||||
3'b110: O_Q = 8'b10111111;
|
||||
3'b111: O_Q = 8'b01111111;
|
||||
endcase
|
||||
end
|
||||
else begin
|
||||
O_Q = 8'b11111111;
|
||||
end
|
||||
end
|
||||
endmodule
|
||||
|
||||
//================================================
|
||||
// 74xx139
|
||||
// 2-to-4 line decoder
|
||||
//================================================
|
||||
|
||||
module logic_74xx139(
|
||||
input I_G,
|
||||
input [1:0]I_Sel,
|
||||
output reg [3:0]O_Q
|
||||
);
|
||||
|
||||
always@(I_G or I_Sel or O_Q)
|
||||
begin
|
||||
if(I_G == 1'b0 )begin
|
||||
case(I_Sel)
|
||||
2'b00: O_Q = 4'b1110;
|
||||
2'b01: O_Q = 4'b1101;
|
||||
2'b10: O_Q = 4'b1011;
|
||||
2'b11: O_Q = 4'b0111;
|
||||
endcase
|
||||
end
|
||||
else begin
|
||||
O_Q = 4'b1111;
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
272
Arcade_MiST/Nintendo Mario Bros/rtl/mario_main.v
Normal file
272
Arcade_MiST/Nintendo Mario Bros/rtl/mario_main.v
Normal file
@@ -0,0 +1,272 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Main CPU, ROM, RAM, address decoding, DMA and inputs.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_main
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_12M,
|
||||
input I_MCPU_CEN4Mp,
|
||||
input I_MCPU_CEN4Mn,
|
||||
input I_MCPU_RESETn,
|
||||
|
||||
input I_VRAMBUSY_n,
|
||||
input I_VBLK_n,
|
||||
input [7:0]I_SW1,
|
||||
input [7:0]I_SW2,
|
||||
input [7:0]I_DIPSW,
|
||||
input [7:0]I_VRAM_DB,
|
||||
|
||||
output [15:0]O_MCPU_A,
|
||||
output [7:0]WI_D,
|
||||
output [15:0]cpu_rom_addr,
|
||||
input [7:0]cpu_rom_do,
|
||||
output O_MCPU_RDn,
|
||||
output O_MCPU_WRn,
|
||||
|
||||
output [9:0]O_DMAD_A,
|
||||
output [7:0]O_DMAD_D,
|
||||
output O_DMAD_CE,
|
||||
|
||||
output O_OBJ_RQn,
|
||||
output O_OBJ_RDn,
|
||||
output O_OBJ_WRn,
|
||||
output O_VRAM_RDn,
|
||||
output O_VRAM_WRn,
|
||||
output [7:0]O_4C_Q,
|
||||
output [7:0]O_2L_Q,
|
||||
output [7:0]O_7M_Q,
|
||||
output [7:0]O_7J_Q
|
||||
);
|
||||
|
||||
//-----------------------
|
||||
// Main CPU - Z80 (4MHz)
|
||||
//-----------------------
|
||||
|
||||
wire W_MCPU_WAITn;
|
||||
wire W_MCPU_RFSHn;
|
||||
wire W_MCPU_M1n;
|
||||
wire W_MCPU_NMIn;
|
||||
wire W_MCPU_MREQn;
|
||||
wire W_MCPU_RDn;
|
||||
wire W_MCPU_WRn;
|
||||
wire [15:0]W_MCPU_A;
|
||||
|
||||
// INPUT DATA BUS
|
||||
wire [7:0]ZDO, ZDI;
|
||||
assign WI_D = ZDI;
|
||||
|
||||
T80pa z80core(
|
||||
.RESET_n(I_MCPU_RESETn),
|
||||
.CLK(I_CLK_48M),
|
||||
.CEN_p(I_MCPU_CEN4Mp),
|
||||
.CEN_n(I_MCPU_CEN4Mn),
|
||||
.WAIT_n(W_MCPU_WAITn),
|
||||
.INT_n(1'b1),
|
||||
.NMI_n(W_MCPU_NMIn),
|
||||
.BUSRQ_n(),
|
||||
.BUSAK_n(),
|
||||
.M1_n(W_MCPU_M1n),
|
||||
.IORQ_n(),
|
||||
.MREQ_n(W_MCPU_MREQn),
|
||||
.RD_n(W_MCPU_RDn),
|
||||
.WR_n(W_MCPU_WRn),
|
||||
.RFSH_n(W_MCPU_RFSHn),
|
||||
.A(W_MCPU_A),
|
||||
.DI(ZDO),
|
||||
.DO(ZDI)
|
||||
);
|
||||
|
||||
assign O_MCPU_A = W_MCPU_A;
|
||||
assign O_MCPU_RDn = W_MCPU_RDn;
|
||||
assign O_MCPU_WRn = W_MCPU_WRn;
|
||||
assign cpu_rom_addr = W_MCPU_A;
|
||||
// CPU Data Bus (Data In)
|
||||
wire [7:0]WO_D = W_MROM_DO | W_MRAM7B_DO | W_MRAM7A_DO | W_SW_DO | I_VRAM_DB;
|
||||
assign ZDO = WO_D;
|
||||
|
||||
//------------------
|
||||
// Address decoding
|
||||
//------------------
|
||||
|
||||
wire [3:0]W_MROM_CS_n;
|
||||
wire [1:0]W_MRAM_CS_n;
|
||||
|
||||
wire W_OBJ_RQn;
|
||||
wire W_OBJ_RDn;
|
||||
wire W_OBJ_WRn;
|
||||
wire W_VRAM_RDn;
|
||||
wire W_VRAM_WRn;
|
||||
wire W_SW1_OEn;
|
||||
wire W_SW2_OEn;
|
||||
wire W_DIPSW_OEn;
|
||||
wire [7:0]W_4C_Q;
|
||||
wire [7:0]W_2L_Q;
|
||||
wire [7:0]W_7M_Q;
|
||||
wire [7:0]W_7J_Q;
|
||||
|
||||
mario_adec adec
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_12M(I_CEN_12M),
|
||||
.I_CEN_4Mp(I_MCPU_CEN4Mp),
|
||||
.I_CEN_4Mn(I_MCPU_CEN4Mn),
|
||||
.I_RESET_n(I_MCPU_RESETn),
|
||||
.I_AB(W_MCPU_A),
|
||||
.I_DB(WI_D),
|
||||
.I_MREQ_n(W_MCPU_MREQn),
|
||||
.I_RFSH_n(W_MCPU_RFSHn),
|
||||
.I_RD_n(W_MCPU_RDn),
|
||||
.I_WR_n(W_MCPU_WRn),
|
||||
.I_VRAMBUSY_n(I_VRAMBUSY_n),
|
||||
.I_VBLK_n(I_VBLK_n),
|
||||
.O_WAIT_n(W_MCPU_WAITn),
|
||||
.O_NMI_n(W_MCPU_NMIn),
|
||||
|
||||
.O_MROM_CSn(W_MROM_CS_n),
|
||||
.O_MRAM_CSn(W_MRAM_CS_n),
|
||||
|
||||
.O_3J_G_n(/*W_3J_G_n*/),
|
||||
.O_OBJ_RQ_n(W_OBJ_RQn),
|
||||
.O_OBJ_RD_n(W_OBJ_RDn),
|
||||
.O_OBJ_WR_n(W_OBJ_WRn),
|
||||
.O_VRAM_RD_n(W_VRAM_RDn),
|
||||
.O_VRAM_WR_n(W_VRAM_WRn),
|
||||
.O_SW1_OE_n(W_SW1_OEn),
|
||||
.O_SW2_OE_n(W_SW2_OEn),
|
||||
.O_DIPSW_OE_n(W_DIPSW_OEn),
|
||||
.O_4C_Q(W_4C_Q),
|
||||
.O_2L_Q(W_2L_Q),
|
||||
.O_7M_Q(W_7M_Q),
|
||||
.O_7J_Q(W_7J_Q)
|
||||
);
|
||||
|
||||
assign O_OBJ_RQn = W_OBJ_RQn;
|
||||
assign O_OBJ_RDn = W_OBJ_RDn;
|
||||
assign O_OBJ_WRn = W_OBJ_WRn;
|
||||
assign O_VRAM_RDn = W_VRAM_RDn;
|
||||
assign O_VRAM_WRn = W_VRAM_WRn;
|
||||
assign O_4C_Q = W_4C_Q;
|
||||
assign O_2L_Q = W_2L_Q;
|
||||
assign O_7M_Q = W_7M_Q;
|
||||
assign O_7J_Q = W_7J_Q;
|
||||
|
||||
//----------
|
||||
// Main ROM
|
||||
//----------
|
||||
|
||||
wire [7:0]W_MROM_DO;
|
||||
|
||||
assign cpu_rom_addr = W_MCPU_A;
|
||||
|
||||
assign W_MROM_DO = (W_MROM_CS_n[0] == 1'b0 & W_MCPU_RDn == 1'b0) ? cpu_rom_do :
|
||||
(W_MROM_CS_n[1] == 1'b0 & W_MCPU_RDn == 1'b0) ? cpu_rom_do :
|
||||
(W_MROM_CS_n[2] == 1'b0 & W_MCPU_RDn == 1'b0) ? cpu_rom_do :
|
||||
(W_MROM_CS_n[3] == 1'b0 & W_MCPU_RDn == 1'b0) ? cpu_rom_do :
|
||||
8'h00;
|
||||
|
||||
//---------------------
|
||||
// Main CPU RAM 7A, 7B
|
||||
// 2 x 2KB (6116)
|
||||
//---------------------
|
||||
|
||||
wire [7:0]W_7B_DO;
|
||||
reg [7:0]W_MRAM7B_DO;
|
||||
|
||||
ram_2048_8 U_7B // 6000H - 67FFH
|
||||
(
|
||||
.I_CLK(I_CLK_48M),
|
||||
.I_ADDR(W_MCPU_A[10:0]),
|
||||
.I_D(WI_D),
|
||||
.I_CE(~W_MRAM_CS_n[0]),
|
||||
.I_WE(~W_MCPU_WRn),
|
||||
.O_D(W_7B_DO)
|
||||
);
|
||||
|
||||
wire [7:0]W_7A_DO;
|
||||
reg [7:0]W_MRAM7A_DO;
|
||||
|
||||
ram_2048_8_8 U_7A // 6800H - 6FFFH
|
||||
(
|
||||
// A Port
|
||||
.I_CLKA(I_CLK_48M),
|
||||
.I_ADDRA(W_MCPU_A[10:0]),
|
||||
.I_DA(WI_D),
|
||||
.I_CEA(~W_MRAM_CS_n[1]),
|
||||
.I_OEA(~W_MCPU_RDn),
|
||||
.I_WEA(~W_MCPU_WRn),
|
||||
.O_DA(W_7A_DO),
|
||||
|
||||
// B Port - DMA port (read-only)
|
||||
.I_CLKB(I_CLK_48M),
|
||||
.I_ADDRB(W_DMAS_A),
|
||||
.I_DB(8'h00),
|
||||
.I_CEB(W_DMAS_CE),
|
||||
.I_OEB(1'b1),
|
||||
.I_WEB(1'b0),
|
||||
.O_DB(W_DMAS_D)
|
||||
);
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_12M) begin
|
||||
W_MRAM7B_DO <= (W_MCPU_RDn == 1'b0 & W_MRAM_CS_n[0] == 1'b0) ? W_7B_DO : 8'h00;
|
||||
W_MRAM7A_DO <= (W_MCPU_RDn == 1'b0 & W_MRAM_CS_n[1] == 1'b0) ? W_7A_DO : 8'h00;
|
||||
end
|
||||
end
|
||||
|
||||
//------------------------------------------
|
||||
// Sprite DMA
|
||||
// transfers $180 bytes from $6900 to $7000
|
||||
//------------------------------------------
|
||||
|
||||
wire [9:0]W_DMAS_A;
|
||||
wire [7:0]W_DMAS_D;
|
||||
wire W_DMAS_CE;
|
||||
wire [9:0]W_DMAD_A;
|
||||
wire [7:0]W_DMAD_D;
|
||||
wire W_DMAD_CE;
|
||||
|
||||
mario_dma sprite_dma
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_4M(I_MCPU_CEN4Mn),
|
||||
.I_DMA_TRIG(W_2L_Q[5]),
|
||||
.I_DMA_DS(W_DMAS_D),
|
||||
|
||||
.O_DMA_AS(W_DMAS_A),
|
||||
.O_DMA_CES(W_DMAS_CE),
|
||||
.O_DMA_AD(W_DMAD_A),
|
||||
.O_DMA_DD(W_DMAD_D),
|
||||
.O_DMA_CED(W_DMAD_CE)
|
||||
);
|
||||
|
||||
assign O_DMAD_A = W_DMAD_A;
|
||||
assign O_DMAD_D = W_DMAD_D;
|
||||
assign O_DMAD_CE = W_DMAD_CE;
|
||||
|
||||
//---------------------------
|
||||
// Inputs
|
||||
// Controls and dip switches
|
||||
//---------------------------
|
||||
|
||||
wire [7:0]W_SW_DO;
|
||||
|
||||
mario_inport inport
|
||||
(
|
||||
.I_SW1(I_SW1),
|
||||
.I_SW2(I_SW2),
|
||||
.I_DIPSW(I_DIPSW),
|
||||
.I_SW1_OEn(W_SW1_OEn),
|
||||
.I_SW2_OEn(W_SW2_OEn),
|
||||
.I_DIPSW_OEn(W_DIPSW_OEn),
|
||||
|
||||
.O_D(W_SW_DO)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
626
Arcade_MiST/Nintendo Mario Bros/rtl/mario_obj.v
Normal file
626
Arcade_MiST/Nintendo Mario Bros/rtl/mario_obj.v
Normal file
@@ -0,0 +1,626 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Objects (sprites)
|
||||
// Based on the Donkey Kong version by Katsumi Degawa.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2H 1H 2H 4H 8H 16H 32H 64H 128H 256H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0],V_CNT[1],V_CNT[2],V_CNT[3],V_CNT[4],V_CNT[5],V_CNT[6],V_CNT[7]
|
||||
// 1V 2V 4V 8V 16V 32V 64V 128V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
//-----------------------------------------------------------------------------------------
|
||||
|
||||
module mario_obj
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_24Mp,
|
||||
input I_CEN_24Mn,
|
||||
input I_CEN_12M,
|
||||
input [9:0]I_AB,
|
||||
input [7:0]I_DB,
|
||||
//input [7:0]I_OBJ_D,
|
||||
input I_OBJ_WRn,
|
||||
input I_OBJ_RDn,
|
||||
input I_OBJ_RQn,
|
||||
input I_2PSL,
|
||||
input I_FLIPn,
|
||||
input I_CMPBLKn,
|
||||
input [9:0]I_H_CNT,
|
||||
input [7:0]I_VF_CNT,
|
||||
input [9:0]I_OBJ_DMA_A,
|
||||
input [7:0]I_OBJ_DMA_D,
|
||||
input I_OBJ_DMA_CE,
|
||||
output [7:0]O_DB, // Not used
|
||||
output [6:0]O_OBJ_DO,
|
||||
output O_FLIP_VRAM,
|
||||
output O_FLIP_HV,
|
||||
output O_L_CMPBLKn
|
||||
);
|
||||
|
||||
reg [1:0] cnt;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
cnt <= cnt + 1'd1;
|
||||
end
|
||||
wire I_CLK_12M; // as data not clock
|
||||
assign I_CLK_12M = (cnt == 0) || (cnt == 1);
|
||||
|
||||
|
||||
// Add a bit delay to make it work correctly
|
||||
reg I_CMPBLKn_delayed;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
I_CMPBLKn_delayed <= I_CMPBLKn;
|
||||
end
|
||||
|
||||
//------------
|
||||
// Part 6P(1)
|
||||
//------------
|
||||
|
||||
reg W_6P1;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
W_6P1 <= ~(I_H_CNT[0]&I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
end
|
||||
end
|
||||
|
||||
//-----------------
|
||||
// Part 4K (LS139)
|
||||
//-----------------
|
||||
|
||||
wire W_4K1_G = ~(I_H_CNT[0]&I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
|
||||
wire [3:0]W_4K1_Q;
|
||||
wire [3:0]W_4K2_QB;
|
||||
|
||||
logic_74xx139 U_4K1
|
||||
(
|
||||
.I_G(W_4K1_G),
|
||||
.I_Sel({~I_H_CNT[9],I_H_CNT[3]}),
|
||||
.O_Q(W_4K1_Q)
|
||||
|
||||
);
|
||||
|
||||
// The outputs from this are wired
|
||||
// differently from DK, DKJ and DK3.
|
||||
logic_74xx139 U_4K2
|
||||
(
|
||||
.I_G(1'b0),
|
||||
.I_Sel({I_H_CNT[3],I_H_CNT[2]}),
|
||||
.O_Q(W_4K2_QB)
|
||||
);
|
||||
|
||||
reg [3:0]W_4K2_Q;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
W_4K2_Q <= W_4K2_QB;
|
||||
end
|
||||
end
|
||||
|
||||
//------
|
||||
// Flip
|
||||
//------
|
||||
|
||||
wire W_FLIP_1 = ~I_FLIPn; // INV
|
||||
wire W_FLIP_2 = W_FLIP_1 ^ 1'b1; // INV => XOR
|
||||
wire W_FLIP_3 = ~W_FLIP_2; // INV => XOR => INV
|
||||
wire W_FLIP_4 = W_FLIP_3 | W_4K2_Q[0];
|
||||
wire W_FLIP_5 = ~W_FLIP_4;
|
||||
|
||||
assign O_FLIP_VRAM = W_FLIP_1;
|
||||
assign O_FLIP_HV = W_FLIP_3;
|
||||
|
||||
//------------
|
||||
// DB CONTROL
|
||||
//------------
|
||||
|
||||
wire [7:0]WI_DB = I_OBJ_WRn ? 8'h00: I_DB;
|
||||
wire [7:0]WO_DB;
|
||||
//assign O_DB = I_OBJ_RDn ? 8'h00: WO_DB;
|
||||
|
||||
//------------------------------------------------
|
||||
// Object RAM 8B, 8C
|
||||
// 2 x 2148 (1KB)
|
||||
// Sprite data is written to these RAM's via DMA.
|
||||
//------------------------------------------------
|
||||
|
||||
wire [9:0]W_OBJ_AB = {I_2PSL, I_H_CNT[8:0]};
|
||||
wire [7:0]W_OBJ_DI;
|
||||
|
||||
ram_1024_8_8 U_8BC
|
||||
(
|
||||
// A Port - DMA port (write)
|
||||
.I_CLKA(I_CLK_48M),
|
||||
.I_ADDRA(I_OBJ_DMA_A),
|
||||
.I_DA(I_OBJ_DMA_D),
|
||||
.I_CEA(I_OBJ_DMA_CE),
|
||||
.I_WEA(1'b1),
|
||||
.O_DA(),
|
||||
|
||||
// B Port (read)
|
||||
.I_CLKB(I_CLK_48M),
|
||||
.I_ADDRB(W_OBJ_AB[9:0]),
|
||||
.I_DB(8'h00),
|
||||
.I_CEB(1'b1),
|
||||
.I_WEB(1'b0),
|
||||
.O_DB(W_OBJ_DI)
|
||||
);
|
||||
|
||||
//------------
|
||||
// AB CONTROL
|
||||
//------------
|
||||
|
||||
wire W_AB_SEL = I_OBJ_WRn & I_OBJ_RDn & I_OBJ_RQn;
|
||||
wire [9:0]W_obj_AB = W_AB_SEL ? {I_2PSL,I_H_CNT[8:0]} : I_AB ;
|
||||
wire W_obj_CS = W_AB_SEL ? 1'b0 : I_OBJ_WRn & I_OBJ_RDn;
|
||||
|
||||
//--------------
|
||||
// VFC_CNT[7:0]
|
||||
//--------------
|
||||
|
||||
reg I_H_CNT9_q;
|
||||
wire I_H_CNT9_fall = I_H_CNT9_q & ~I_H_CNT[9];
|
||||
always@(posedge I_CLK_48M) begin
|
||||
I_H_CNT9_q <= I_H_CNT[9];
|
||||
end
|
||||
|
||||
reg [7:0]W_VFC_CNT;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_H_CNT9_fall) begin
|
||||
W_VFC_CNT <= I_VF_CNT; // 6J, 7J
|
||||
end
|
||||
end
|
||||
|
||||
//-----------------
|
||||
// Part 7D (LS273)
|
||||
//-----------------
|
||||
|
||||
reg [7:0]W_7D_Q;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
if (I_CLK_12M == 1'b0)
|
||||
W_7D_Q <= W_OBJ_DI;
|
||||
end
|
||||
end
|
||||
|
||||
//----------------------
|
||||
// Parts 6E,7E,6F,7F
|
||||
// 4-bit adders (LS283)
|
||||
//----------------------
|
||||
|
||||
wire [7:0]W_67E_A = W_7D_Q;
|
||||
wire [7:0]W_67E_B = {4'b1111,I_FLIPn,W_FLIP_1,W_FLIP_1,1'b1};
|
||||
wire [8:0]W_67E_Q = W_67E_A + W_67E_B + 8'b00000001;
|
||||
|
||||
wire [7:0]W_67F_A = W_67E_Q[7:0];
|
||||
wire [7:0]W_67F_B = I_VF_CNT[7:0];
|
||||
wire [8:0]W_67F_Q = W_67F_A + W_67F_B;
|
||||
|
||||
//----
|
||||
|
||||
reg W_5F;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
if (I_CLK_12M)
|
||||
W_5F <= ~(W_67F_Q[7]&W_67F_Q[6]&W_67F_Q[5]&W_67F_Q[4]);
|
||||
end
|
||||
end
|
||||
|
||||
reg CLK_4F;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
CLK_4F = ~(I_H_CNT[0] & (~I_H_CNT[1]));
|
||||
end
|
||||
end
|
||||
wire W_5E = ~(W_5CD_Q[6] | W_5CD_Q[7]);
|
||||
wire W_4J = ~(I_H_CNT[2]&I_H_CNT[3]&I_H_CNT[4]&I_H_CNT[5]&I_H_CNT[6]&I_H_CNT[7]&I_H_CNT[8] & W_5E);
|
||||
|
||||
//---------------
|
||||
//Part 4F (LS74)
|
||||
//---------------
|
||||
|
||||
reg W_4F_Q;
|
||||
wire W_RST_4F = ~I_H_CNT[9];
|
||||
|
||||
reg CLK_4F_q;
|
||||
wire CLK_4F_rise = ~CLK_4F_q & CLK_4F;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
CLK_4F_q <= CLK_4F;
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M or negedge W_RST_4F)
|
||||
begin
|
||||
if(W_RST_4F == 0) W_4F_Q <= 1'b0;
|
||||
else if (CLK_4F_rise) W_4F_Q <= ~(W_5F & W_4J);
|
||||
end
|
||||
|
||||
//-----------------
|
||||
// Counters 5C, 5D
|
||||
//-----------------
|
||||
|
||||
wire CLK_5CD = ~(I_CLK_12M & (~I_H_CNT[9]) & W_4F_Q & W_5E);
|
||||
wire W_5CD_RST = ~I_H_CNT[9];
|
||||
reg [7:0]W_5CD_Q;
|
||||
|
||||
reg CLK_5CD_q;
|
||||
wire CLK_5CD_rise = ~CLK_5CD_q & CLK_5CD;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
CLK_5CD_q <= CLK_5CD;
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M or negedge W_5CD_RST)
|
||||
begin
|
||||
if(W_5CD_RST == 1'b0) W_5CD_Q <= 0;
|
||||
else if (CLK_5CD_rise) W_5CD_Q <= W_5CD_Q + 1'd1;
|
||||
end
|
||||
|
||||
//---------
|
||||
// Part 8D
|
||||
//---------
|
||||
|
||||
reg [7:0]W_8D_Q;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
if (I_CLK_12M == 1'b0)
|
||||
W_8D_Q <= W_7D_Q;
|
||||
end
|
||||
end
|
||||
|
||||
//----------------------------------------------------
|
||||
// RAM 8E
|
||||
// 64 x 9 bits bipolar RAM with inverted O/C outputs.
|
||||
// A LS240 is used to re-invert the outputs.
|
||||
//----------------------------------------------------
|
||||
|
||||
wire [5:0]W_RAM_8E_AB = ~I_H_CNT[9] ? W_5CD_Q[5:0] : I_H_CNT[7:2];
|
||||
wire [8:0]W_RAM_8E_DIB = {W_8D_Q[7:0],W_4J};
|
||||
wire [8:0]W_RAM_8E_DOB;
|
||||
|
||||
ram_64_9 U_8E
|
||||
(
|
||||
.I_CLKA(I_CLK_48M),
|
||||
.I_ADDRA(W_RAM_8E_AB),
|
||||
.I_DA(W_RAM_8E_DIB),
|
||||
.I_CEA(1'b1),
|
||||
.I_WEA(~CLK_5CD),
|
||||
.O_DA(W_RAM_8E_DOB)
|
||||
);
|
||||
|
||||
reg [7:0]W_HD;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn)
|
||||
W_HD <= W_RAM_8E_DOB[8:1]; // Not on the schematics?
|
||||
end
|
||||
|
||||
// Add a bit delay to make it work correctly
|
||||
reg [8:0] W_RAM_8E_DOB_delayed;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
W_RAM_8E_DOB_delayed <= W_RAM_8E_DOB;
|
||||
end
|
||||
|
||||
//----------------------
|
||||
// Parts 6K,7K,6L,7L
|
||||
// 4-bit adders (LS283)
|
||||
//----------------------
|
||||
|
||||
wire [7:0]W_67K_A = W_RAM_8E_DOB_delayed[8:1];
|
||||
wire [7:0]W_67K_B = {4'b1111,W_FLIP_5,W_FLIP_4,W_FLIP_4,1'b1};
|
||||
wire [8:0]W_67K_Q = W_67K_A + W_67K_B + 8'b00000001;
|
||||
|
||||
wire [7:0]W_67L_A = W_67K_Q[7:0];
|
||||
wire [7:0]W_67L_B = W_VFC_CNT[7:0];
|
||||
wire [8:0]W_67L_Q = W_67L_A + W_67L_B;
|
||||
|
||||
//-------------------
|
||||
// Part 6M (LS273)
|
||||
//-------------------
|
||||
|
||||
wire [7:0]W_6M_D = W_67L_Q[7:0];
|
||||
reg [7:0]W_6M_Q;
|
||||
reg W_4K2_Q0_q;
|
||||
wire W_4K2_Q0_rise = ~W_4K2_Q0_q & W_4K2_Q[0];
|
||||
always@(posedge I_CLK_48M) begin
|
||||
W_4K2_Q0_q <= W_4K2_Q[0];
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (W_4K2_Q0_rise)
|
||||
W_6M_Q <= W_6M_D;
|
||||
end
|
||||
|
||||
//-------------------
|
||||
// Part 8J (LS273)
|
||||
//-------------------
|
||||
|
||||
reg [7:0]W_8J_Q;
|
||||
|
||||
reg W_4K2_Q1_q;
|
||||
wire W_4K2_Q1_rise = ~W_4K2_Q1_q & W_4K2_Q[1];
|
||||
always@(posedge I_CLK_48M) begin
|
||||
W_4K2_Q1_q <= W_4K2_Q[1];
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (W_4K2_Q1_rise)
|
||||
W_8J_Q <= W_HD[7:0];
|
||||
end
|
||||
|
||||
//-------------------
|
||||
// Part 6R (LS377)
|
||||
//-------------------
|
||||
|
||||
wire [7:0]W_6R_D = {W_8J_Q[7],I_CMPBLKn_delayed,~I_H_CNT[9],
|
||||
~(I_H_CNT[9]|W_FLIP_2),W_8J_Q[3:0]};
|
||||
reg [7:0]W_6R_Q;
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_12M) begin
|
||||
if(W_6P1 == 1'b0)
|
||||
W_6R_Q <= W_6R_D;
|
||||
else
|
||||
W_6R_Q <= W_6R_Q;
|
||||
end
|
||||
end
|
||||
|
||||
assign O_L_CMPBLKn = W_6R_Q[6];
|
||||
|
||||
//---------------
|
||||
// Part 3M
|
||||
// J-K flip flop
|
||||
//---------------
|
||||
|
||||
wire W_3M_Q;
|
||||
|
||||
logic_74xx109 U_3M
|
||||
(
|
||||
.FAST_CLK(I_CLK_48M),
|
||||
.CLK(W_4K2_Q[0]),
|
||||
.RST(I_H_CNT[9]),
|
||||
.I_J(~W_RAM_8E_DOB[0]),
|
||||
.I_K(1'b1),
|
||||
.O_Q(W_3M_Q)
|
||||
);
|
||||
|
||||
wire W_6P2 = ~(W_6M_Q[4]&W_6M_Q[5]&W_6M_Q[6]&W_6M_Q[7]);
|
||||
wire W_4L = W_3M_Q | W_6P2;
|
||||
wire W_6S = ~(W_4L | W_6P1);
|
||||
|
||||
//-----------------
|
||||
// Part 8K (LS373)
|
||||
//-----------------
|
||||
|
||||
wire W_8K_G = ~W_4K2_Q[2];
|
||||
reg [7:0]W_8K_Q;
|
||||
|
||||
always@(W_8K_G or W_HD[7:0])
|
||||
begin
|
||||
if(W_8K_G)
|
||||
W_8K_Q <= W_HD[7:0];
|
||||
else
|
||||
W_8K_Q <= W_8K_Q;
|
||||
end
|
||||
|
||||
//------------------------
|
||||
// Object ROMs (6 x 2732)
|
||||
//------------------------
|
||||
|
||||
wire [11:0]W_ROM_OBJ_AB;
|
||||
assign W_ROM_OBJ_AB[3:0] = W_6M_Q[3:0]^{W_8J_Q[6],W_8J_Q[6],W_8J_Q[6],W_8J_Q[6]};
|
||||
assign W_ROM_OBJ_AB[11:4] = W_8K_Q;
|
||||
wire [47:0]W_ROM_OBJ_D;
|
||||
|
||||
//OBJ_ROM objrom(I_CLK_48M, W_ROM_OBJ_AB, W_ROM_OBJ_D,
|
||||
// I_CLK_48M, I_DLADDR, I_DLDATA, I_DLWR);
|
||||
|
||||
obj_7m obj_7m(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[47:40])
|
||||
);
|
||||
|
||||
obj_7n obj_7n(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[39:32])
|
||||
);
|
||||
|
||||
obj_7p obj_7p(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[31:24])
|
||||
);
|
||||
|
||||
obj_7s obj_7s(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[23:16])
|
||||
);
|
||||
|
||||
obj_7t obj_7t(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[15:8])
|
||||
);
|
||||
|
||||
obj_7u obj_7u(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_ROM_OBJ_AB),
|
||||
.data(W_ROM_OBJ_D[7:0])
|
||||
);
|
||||
|
||||
//-----------------------------
|
||||
// Parts 8N, 8P
|
||||
// Shift registers (2 x LS299)
|
||||
//-----------------------------
|
||||
|
||||
wire W_8N_Qa, W_8P_Qh;
|
||||
|
||||
wire [1:0]C_8NP = W_8LM_Y[1:0];
|
||||
wire [15:0]W_8NP = W_ROM_OBJ_D[47:32];
|
||||
reg [15:0]reg_8NP;
|
||||
|
||||
assign W_8N_Qa = reg_8NP[15];
|
||||
assign W_8P_Qh = reg_8NP[0];
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_12M) begin
|
||||
case(C_8NP)
|
||||
2'b00: reg_8NP <= reg_8NP;
|
||||
2'b10: reg_8NP <= {reg_8NP[14:0],1'b0};
|
||||
2'b01: reg_8NP <= {1'b0,reg_8NP[15:1]};
|
||||
2'b11: reg_8NP <= W_8NP;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
//-----------------------------
|
||||
// Parts 8R, 8S
|
||||
// Shift registers (2 x LS299)
|
||||
//-----------------------------
|
||||
|
||||
wire W_8R_Qa, W_8S_Qh;
|
||||
|
||||
wire [1:0]C_8RS = W_8LM_Y[1:0];
|
||||
wire [15:0]W_8RS = W_ROM_OBJ_D[31:16];
|
||||
reg [15:0]reg_8RS;
|
||||
|
||||
assign W_8R_Qa = reg_8RS[15];
|
||||
assign W_8S_Qh = reg_8RS[0];
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_12M) begin
|
||||
case(C_8RS)
|
||||
2'b00: reg_8RS <= reg_8RS;
|
||||
2'b10: reg_8RS <= {reg_8RS[14:0],1'b0};
|
||||
2'b01: reg_8RS <= {1'b0,reg_8RS[15:1]};
|
||||
2'b11: reg_8RS <= W_8RS;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
//-----------------------------
|
||||
// Parts 8T, 8U
|
||||
// Shift registers (2 x LS299)
|
||||
//-----------------------------
|
||||
|
||||
wire W_8T_Qa, W_8U_Qh;
|
||||
|
||||
wire [1:0]C_8TU = W_8LM_Y[1:0];
|
||||
wire [15:0]W_8TU = W_ROM_OBJ_D[15:0];
|
||||
reg [15:0]reg_8TU;
|
||||
|
||||
assign W_8T_Qa = reg_8TU[15];
|
||||
assign W_8U_Qh = reg_8TU[0];
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_12M) begin
|
||||
case(C_8TU)
|
||||
2'b00: reg_8TU <= reg_8TU;
|
||||
2'b10: reg_8TU <= {reg_8TU[14:0],1'b0};
|
||||
2'b01: reg_8TU <= {1'b0,reg_8TU[15:1]};
|
||||
2'b11: reg_8TU <= W_8TU;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
//--------------
|
||||
// Parts 8L, 8M
|
||||
// 2 x LS157
|
||||
//--------------
|
||||
|
||||
wire [4:0]W_8LM_A, W_8LM_B, W_8LM_Y;
|
||||
|
||||
assign W_8LM_A = {W_8N_Qa,W_8R_Qa,W_8T_Qa,1'b1,W_6S};
|
||||
assign W_8LM_B = {W_8P_Qh,W_8S_Qh,W_8U_Qh,W_6S,1'b1};
|
||||
assign W_8LM_Y = W_6R_Q[7] ? W_8LM_B : W_8LM_A;
|
||||
|
||||
//--------------
|
||||
// Parts 4M, 5M
|
||||
// 2 x LS163
|
||||
//--------------
|
||||
|
||||
reg CLK_4M5M;
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn)
|
||||
CLK_4M5M <= ~(~(I_H_CNT[0] & W_6R_Q[5]) & I_CLK_12M);
|
||||
end
|
||||
|
||||
wire [7:0]W_4M5M_DI = W_67K_Q[7:0];
|
||||
|
||||
wire W_4M5M_RST = W_4K1_Q[3] | W_6R_Q[5];
|
||||
wire W_4M5M_LD = W_4K1_Q[1];
|
||||
|
||||
reg [7:0]W_4M5M_Q;
|
||||
|
||||
reg CLK_4M5M_q;
|
||||
wire CLK_4M5M_rise = ~CLK_4M5M_q & CLK_4M5M;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
CLK_4M5M_q <= CLK_4M5M;
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (CLK_4M5M_rise) begin
|
||||
if(W_4M5M_LD == 1'b0)
|
||||
W_4M5M_Q <= W_4M5M_DI;
|
||||
else begin
|
||||
if(W_4M5M_RST == 1'b0)
|
||||
W_4M5M_Q <= 0 ;
|
||||
else
|
||||
W_4M5M_Q <= W_4M5M_Q + 1'd1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
//-------------------------------
|
||||
// ECL RAM (2 x 256x4bit) 3R, 3P
|
||||
//-------------------------------
|
||||
|
||||
wire [7:0]W_RAM_3RP_AB = W_4M5M_Q[7:0]^{8{W_6R_Q[4]}};
|
||||
|
||||
wire [6:0]W_4S5S_A = {W_6R_Q[3:0],W_8LM_Y[2],W_8LM_Y[3],W_8LM_Y[4]};
|
||||
wire [6:0]W_RAM_3RP_DI = W_6R_Q[5] ? 7'h00 :(W_8LM_Y[2]|W_8LM_Y[3]|W_8LM_Y[4])? W_4S5S_A : W_RAM_3RP_DO;
|
||||
wire [6:0]W_RAM_3RP_DO;
|
||||
|
||||
ram_256_8 U_3RP
|
||||
(
|
||||
.I_CLKA(I_CLK_48M),
|
||||
.I_ADDRA(W_RAM_3RP_AB),
|
||||
.I_DA(W_RAM_3RP_DI),
|
||||
.I_CEA(1'b1),
|
||||
.I_WEA(~CLK_4M5M),
|
||||
.O_DA(W_RAM_3RP_DO)
|
||||
);
|
||||
|
||||
//-----------------
|
||||
// Part 4T (LS373)
|
||||
//-----------------
|
||||
|
||||
reg [6:0]W_OBJ_DO;
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_24Mp) begin
|
||||
if(~I_CLK_12M)
|
||||
W_OBJ_DO <= W_RAM_3RP_DO;
|
||||
else
|
||||
W_OBJ_DO <= W_OBJ_DO ;
|
||||
end
|
||||
end
|
||||
|
||||
assign O_OBJ_DO = W_OBJ_DO;
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
84
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound.v
Normal file
84
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound.v
Normal file
@@ -0,0 +1,84 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Top level sound module.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_sound
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_12M,
|
||||
input I_CEN_11M,
|
||||
input I_RESETn,
|
||||
input [7:0]I_SND_DATA,
|
||||
input [9:0]I_SND_CTRL,
|
||||
input [3:0]I_ANLG_VOL,
|
||||
input [3:0]I_H_CNT,
|
||||
output signed [15:0]O_SND_DAT
|
||||
);
|
||||
|
||||
//------------------------------------------------
|
||||
// Digital sound
|
||||
// Background music and some of the sound effects
|
||||
//------------------------------------------------
|
||||
|
||||
wire [15:0]W_D_S_DATA;
|
||||
|
||||
mario_sound_digital digital_sound
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_12M(I_CEN_12M),
|
||||
.I_CEN_11M(I_CEN_11M),
|
||||
.I_RST(I_RESETn),
|
||||
.I_SND_DATA(I_SND_DATA),
|
||||
.I_SND_CTRL(I_SND_CTRL[6:0]),
|
||||
|
||||
.O_SND_OUT(W_D_S_DATA)
|
||||
);
|
||||
|
||||
//--------------------------------------
|
||||
// Analogue Sounds (samples)
|
||||
// Mario run, Luigi run and skid sounds
|
||||
//--------------------------------------
|
||||
|
||||
wire signed [15:0]W_WAVROM_DS[0:2];
|
||||
|
||||
//mario_sound_analog analog_sound
|
||||
//(
|
||||
// .I_CLK_48M(I_CLK_48M),
|
||||
// .I_RESETn(I_RESETn),
|
||||
//
|
||||
// .I_SND_CTRL(I_SND_CTRL[9:7]),
|
||||
// .I_ANLG_VOL(I_ANLG_VOL),
|
||||
// .I_H_CNT(I_H_CNT),
|
||||
//
|
||||
// .I_DLADDR(I_DLADDR),
|
||||
// .I_DLDATA(I_DLDATA),
|
||||
// .I_DLWR(I_DLWR),
|
||||
//
|
||||
// .O_WAVROM_DS0(W_WAVROM_DS[0]),
|
||||
// .O_WAVROM_DS1(W_WAVROM_DS[1]),
|
||||
// .O_WAVROM_DS2(W_WAVROM_DS[2])
|
||||
//);
|
||||
|
||||
//----------------------------------
|
||||
// Sound Mixer (Analogue & Digital)
|
||||
//----------------------------------
|
||||
|
||||
wire signed [15:0]W_SND_MIX;
|
||||
|
||||
mario_sound_mixer mixer
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_SND1(W_WAVROM_DS[0]),
|
||||
.I_SND2(W_WAVROM_DS[1]),
|
||||
.I_SND3(W_WAVROM_DS[2]),
|
||||
.I_SND4(W_D_S_DATA),
|
||||
.O_SND_DAT(W_SND_MIX)
|
||||
);
|
||||
|
||||
assign O_SND_DAT = W_SND_MIX;
|
||||
|
||||
endmodule
|
||||
160
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound_digital.v
Normal file
160
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound_digital.v
Normal file
@@ -0,0 +1,160 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Digital sound module.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_sound_digital
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_12M,
|
||||
input I_CEN_11M,
|
||||
input I_RST,
|
||||
input I_DLCLK,
|
||||
input [16:0]I_DLADDR,
|
||||
input [7:0]I_DLDATA,
|
||||
input I_DLWR,
|
||||
input [7:0]I_SND_DATA,
|
||||
input [6:0]I_SND_CTRL,
|
||||
|
||||
output signed [15:0]O_SND_DAC,
|
||||
output signed [15:0]O_SND_OUT
|
||||
);
|
||||
|
||||
//----------------
|
||||
// Sub CPU M58715
|
||||
//----------------
|
||||
|
||||
wire [7:0]M58715_DBI;
|
||||
wire [7:0]M58715_DBO;
|
||||
wire [7:0]M58715_PAI;
|
||||
wire [7:0]M58715_PBI;
|
||||
wire M58715_ALE;
|
||||
wire M58715_RDn;
|
||||
wire M58715_WRn;
|
||||
wire M58715_PSENn;
|
||||
|
||||
wire [7:0]M58715_PAO = {4'b0000, I_SND_CTRL[6:3]};
|
||||
|
||||
M58715IP SOUND_CPU
|
||||
(
|
||||
.I_CLK(I_CLK_48M),
|
||||
.I_CLK_EN(I_CEN_11M),
|
||||
.I_RSTn(I_RST),
|
||||
.I_INTn(~I_SND_CTRL[0]),
|
||||
.I_EA(~M58715_PBI[5]),
|
||||
.O_PSENn(M58715_PSENn),
|
||||
.O_RDn(M58715_RDn),
|
||||
.O_WRn(M58715_WRn),
|
||||
.O_ALE(M58715_ALE),
|
||||
.O_PROGn(),
|
||||
.I_T0(I_SND_CTRL[1]),
|
||||
.O_T0(),
|
||||
.I_T1(I_SND_CTRL[2]),
|
||||
.I_DB(M58715_DBO),
|
||||
.O_DB(M58715_DBI),
|
||||
.I_P1(M58715_PAO),
|
||||
.O_P1(M58715_PAI),
|
||||
.I_P2(8'h00),
|
||||
.O_P2(M58715_PBI)
|
||||
);
|
||||
|
||||
//--------------------------------------------
|
||||
// The Mario Bros schematics show a sound ROM
|
||||
// labelled as 2732 with the pinout of a 2764.
|
||||
// A 2732 is used on the real board with the
|
||||
// option of using a 2764.
|
||||
// M58715 has 2KB internal ROM. The External
|
||||
// 4KB ROM is accessed as 2 banks of 2KB.
|
||||
//--------------------------------------------
|
||||
|
||||
wire [11:0]S_ROM_A;
|
||||
reg [7:0]L_ROM_A;
|
||||
|
||||
reg M58715_ALE_q;
|
||||
wire M58715_ALE_fall = M58715_ALE_q & ~M58715_ALE;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
M58715_ALE_q <= M58715_ALE;
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (M58715_ALE_fall)
|
||||
L_ROM_A <= M58715_DBI;
|
||||
end
|
||||
|
||||
wire A12 = ~M58715_RDn & ~M58715_PBI[7];
|
||||
wire S_ROM_OE = ~A12 & M58715_PSENn;
|
||||
|
||||
assign S_ROM_A = {M58715_PBI[3:0],L_ROM_A[7:0]};
|
||||
|
||||
|
||||
reg S_7J_OC;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_12M)
|
||||
S_7J_OC <= ~(~M58715_RDn & M58715_PBI[7]);
|
||||
end
|
||||
|
||||
wire [7:0]S_PROG_D ;
|
||||
|
||||
//SUB_EXT_ROM srom5k(I_CLK_48M, S_ROM_A, 1'b0, S_ROM_OE, S_PROG_D,
|
||||
// I_CLK_48M, I_DLADDR, I_DLDATA, I_DLWR);
|
||||
snd_rom snd_rom(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(S_ROM_A),
|
||||
.data(S_PROG_D)
|
||||
);
|
||||
|
||||
|
||||
|
||||
// M58715 Data Bus
|
||||
wire [7:0]M58715_DO = S_7J_OC == 1'b0 ? I_SND_DATA : S_PROG_D;
|
||||
|
||||
reg [7:0]DO;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_12M)
|
||||
DO <= M58715_DO;
|
||||
end
|
||||
|
||||
assign M58715_DBO = DO;
|
||||
|
||||
// Sound out
|
||||
reg [15:0]SND_DAC;
|
||||
|
||||
reg M58715_WRn_q;
|
||||
wire M58715_WRn_rise = ~M58715_WRn_q & M58715_WRn;
|
||||
always@(posedge I_CLK_48M) begin
|
||||
M58715_WRn_q <= M58715_WRn;
|
||||
end
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (M58715_WRn_rise)
|
||||
SND_DAC <= {2{~M58715_DBI[7],M58715_DBI[6:0]}}; // 16-bit signed;
|
||||
end
|
||||
|
||||
//-----------------------------------------------------
|
||||
// Sound filter
|
||||
// Low pass filter. f= 1178.9 Hz @ 48KHz.
|
||||
//-----------------------------------------------------
|
||||
|
||||
// Reduce volume
|
||||
wire [15:0]W_SND_IN = {SND_DAC[15],SND_DAC[15:1]} + {{3{SND_DAC[15]}}, SND_DAC[15:3]};
|
||||
|
||||
wire [15:0]W_FILT_OUT;
|
||||
|
||||
iir_1st_order filter
|
||||
(
|
||||
.clk(I_CLK_48M),
|
||||
.reset(~I_RST),
|
||||
.div(12'd1000), // 48Mhz / 1000 = 48KHz
|
||||
.A2(-18'sd28065),
|
||||
.B1(18'sd2352),
|
||||
.B2(18'sd2352),
|
||||
.in(W_SND_IN),
|
||||
.out(W_FILT_OUT)
|
||||
);
|
||||
|
||||
assign O_SND_OUT = W_FILT_OUT;
|
||||
|
||||
endmodule
|
||||
38
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound_mixer.v
Normal file
38
Arcade_MiST/Nintendo Mario Bros/rtl/mario_sound_mixer.v
Normal file
@@ -0,0 +1,38 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Sound mixer.
|
||||
// Mixes the analogue sounds (samples) with the digital
|
||||
// sound produced by the M58715 chip.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_sound_mixer
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input [15:0]I_SND1,I_SND2,I_SND3,I_SND4,
|
||||
output signed [15:0]O_SND_DAT
|
||||
);
|
||||
|
||||
wire signed [18:0]sound_mix = {{3{I_SND1[15]}}, I_SND1} +
|
||||
{{3{I_SND2[15]}}, I_SND2} +
|
||||
{{3{I_SND3[15]}}, I_SND3} +
|
||||
{{3{I_SND4[15]}}, I_SND4};
|
||||
|
||||
reg signed [15:0]dac_di;
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if(sound_mix >= 19'sh07FFF)
|
||||
dac_di <= 16'sh7FFF;
|
||||
else if(sound_mix <= -19'sh08000)
|
||||
dac_di <= -16'sh8000;
|
||||
else
|
||||
dac_di <= sound_mix[15:0];
|
||||
end
|
||||
|
||||
|
||||
assign O_SND_DAT = dac_di;
|
||||
|
||||
endmodule
|
||||
249
Arcade_MiST/Nintendo Mario Bros/rtl/mario_top.v
Normal file
249
Arcade_MiST/Nintendo Mario Bros/rtl/mario_top.v
Normal file
@@ -0,0 +1,249 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Top level module
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_top
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_RESETn,
|
||||
|
||||
input [3:0] I_ANLG_VOL,
|
||||
input [7:0] I_SW1,
|
||||
input [7:0] I_SW2,
|
||||
input [7:0] I_DIPSW,
|
||||
|
||||
output [15:0] cpu_rom_addr,
|
||||
input [7:0] cpu_rom_do,
|
||||
output [11:0] bg_rom_addr,
|
||||
input [15:0] bg_rom_do,
|
||||
|
||||
output [2:0] O_VGA_R,
|
||||
output [2:0] O_VGA_G,
|
||||
output [1:0] O_VGA_B,
|
||||
output O_HBLANK,
|
||||
output O_VBLANK,
|
||||
output O_VGA_HSYNCn,
|
||||
output O_VGA_VSYNCn,
|
||||
output O_PIX,
|
||||
|
||||
output signed [15:0] O_SOUND_DAT
|
||||
);
|
||||
|
||||
wire W_RESETn = I_RESETn;
|
||||
wire W_CPU_RESETn = W_RESETn;
|
||||
wire W_CLK_48M = I_CLK_48M;
|
||||
wire cen24p, cen24n, cen12p, cen12n, cen11, cen6, cen4p, cen4n;
|
||||
|
||||
reg [2:0] div8;
|
||||
|
||||
always @(posedge W_CLK_48M) begin
|
||||
div8 <= div8 + 1'd1;
|
||||
end
|
||||
|
||||
assign cen24p = div8[0];
|
||||
assign cen24n = ~div8[0];
|
||||
assign cen12p = div8[0] & div8[1];
|
||||
assign cen12n = div8[0] & ~div8[1];
|
||||
assign cen6 = div8 == 0;
|
||||
|
||||
reg [3:0] div12;
|
||||
|
||||
always @(posedge W_CLK_48M) begin
|
||||
div12 <= div12 + 1'd1;
|
||||
if (div12 == 4'd11) begin
|
||||
div12 <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
assign cen4p = div12 == 0;
|
||||
assign cen4n = div12 == 6;
|
||||
|
||||
reg [2:0] div8b;
|
||||
reg [2:0] div5;
|
||||
reg flip;
|
||||
|
||||
always @(posedge W_CLK_48M) begin
|
||||
if (flip) begin
|
||||
div8b <= div8b + 1'd1;
|
||||
if (div8b == 7) begin
|
||||
flip <= 1'b0;
|
||||
div5 <= 0;
|
||||
end
|
||||
end else begin
|
||||
div5 <= div5 + 1'd1;
|
||||
if (div5 == 4) begin
|
||||
flip <= 1'b1;
|
||||
div8b <= 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign cen11 = flip ? (div8b == 0 || div8b == 4) : (div5 == 0);
|
||||
|
||||
//-----------------
|
||||
// Video timing
|
||||
//-----------------
|
||||
|
||||
|
||||
wire [9:0]W_H_CNT;
|
||||
wire [7:0]W_V_CNT;
|
||||
wire [7:0]W_VF_CNT;
|
||||
wire W_HBLANKn;
|
||||
wire W_VBLANKn;
|
||||
wire W_CBLANKn;
|
||||
wire W_HSYNCn;
|
||||
wire W_VSYNCn;
|
||||
wire W_VCKn;
|
||||
|
||||
mario_hv_generator hv
|
||||
(
|
||||
.I_CLK(W_CLK_48M),
|
||||
.I_CEN(cen12n),
|
||||
.I_RST_n(W_RESETn),
|
||||
.I_VFLIP(W_FLIP_HV),
|
||||
.H_CNT(W_H_CNT),
|
||||
.V_CNT(W_V_CNT), // Not used
|
||||
.VF_CNT(W_VF_CNT),
|
||||
.H_BLANKn(W_HBLANKn),
|
||||
.V_BLANKn(W_VBLANKn),
|
||||
.C_BLANKn(W_CBLANKn),
|
||||
.H_SYNCn(W_HSYNCn),
|
||||
.V_SYNCn(W_VSYNCn),
|
||||
.VCKn(W_VCKn)
|
||||
);
|
||||
|
||||
assign O_PIX = W_H_CNT[0];
|
||||
|
||||
assign O_HBLANK = ~W_HBLANKn;
|
||||
assign O_VBLANK = ~W_VBLANKn;
|
||||
assign O_VGA_HSYNCn = W_HSYNCn;
|
||||
assign O_VGA_VSYNCn = W_VSYNCn;
|
||||
|
||||
//-----------------------------------------
|
||||
// Main CPU
|
||||
// ROM, RAM, address decoding, inputs etc.
|
||||
//-----------------------------------------
|
||||
|
||||
wire [15:0]W_MCPU_A;
|
||||
wire [7:0]ZDI;
|
||||
wire [7:0]WI_D = ZDI;
|
||||
wire W_MCPU_RDn;
|
||||
wire W_MCPU_WRn;
|
||||
|
||||
wire [9:0]W_DMAD_A;
|
||||
wire [7:0]W_DMAD_D;
|
||||
wire W_DMAD_CE;
|
||||
|
||||
wire W_OBJ_RQn;
|
||||
wire W_OBJ_RDn;
|
||||
wire W_OBJ_WRn;
|
||||
wire W_VRAM_RDn;
|
||||
wire W_VRAM_WRn;
|
||||
|
||||
wire [7:0]W_4C_Q;
|
||||
wire [7:0]W_2L_Q;
|
||||
wire [7:0]W_7M_Q;
|
||||
wire [7:0]W_7J_Q;
|
||||
|
||||
mario_main maincpu
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_12M(cen12p),
|
||||
.I_MCPU_CEN4Mp(cen4p),
|
||||
.I_MCPU_CEN4Mn(cen4n),
|
||||
.I_MCPU_RESETn(W_CPU_RESETn),
|
||||
.I_VRAMBUSY_n(W_VRAMBUSYn),
|
||||
.I_VBLK_n(W_VBLANKn),
|
||||
.I_VRAM_DB(W_VRAM_DB),
|
||||
.I_SW1(I_SW1),
|
||||
.I_SW2(I_SW2),
|
||||
.I_DIPSW(I_DIPSW),
|
||||
.cpu_rom_addr(cpu_rom_addr),
|
||||
.cpu_rom_do(cpu_rom_do),
|
||||
.O_MCPU_A(W_MCPU_A),
|
||||
.WI_D(ZDI),
|
||||
.O_MCPU_RDn(W_MCPU_RDn),
|
||||
.O_MCPU_WRn(W_MCPU_WRn),
|
||||
.O_DMAD_A(W_DMAD_A),
|
||||
.O_DMAD_D(W_DMAD_D),
|
||||
.O_DMAD_CE(W_DMAD_CE),
|
||||
.O_OBJ_RQn(W_OBJ_RQn),
|
||||
.O_OBJ_RDn(W_OBJ_RDn),
|
||||
.O_OBJ_WRn(W_OBJ_WRn),
|
||||
.O_VRAM_RDn(W_VRAM_RDn),
|
||||
.O_VRAM_WRn(W_VRAM_WRn),
|
||||
.O_4C_Q(W_4C_Q),
|
||||
.O_2L_Q(W_2L_Q),
|
||||
.O_7M_Q(W_7M_Q),
|
||||
.O_7J_Q(W_7J_Q)
|
||||
);
|
||||
|
||||
//------------------------------------
|
||||
// Video
|
||||
// Background tiles, sprites, colours
|
||||
//------------------------------------
|
||||
|
||||
wire W_VRAMBUSYn;
|
||||
wire [7:0]W_VRAM_DB;
|
||||
wire [7:0]W_OBJ_DB;
|
||||
wire W_FLIP_HV;
|
||||
|
||||
mario_video vid
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_24Mp(cen24p),
|
||||
.I_CEN_24Mn(cen24n),
|
||||
.I_CEN_12M(cen12p),
|
||||
.I_CEN_6M(cen6),
|
||||
.I_RESETn(W_RESETn),
|
||||
.I_CPU_A(W_MCPU_A[9:0]),
|
||||
.I_CPU_D(WI_D),
|
||||
|
||||
.I_VRAM_WRn(W_VRAM_WRn),
|
||||
.I_VRAM_RDn(W_VRAM_RDn),
|
||||
.I_2L_Q(W_2L_Q),
|
||||
.I_VMOV(W_4C_Q[2]),
|
||||
|
||||
.I_H_CNT(W_H_CNT),
|
||||
.I_VF_CNT(W_VF_CNT),
|
||||
.I_CBLANKn(W_CBLANKn),
|
||||
.I_VBLKn(W_VBLANKn),
|
||||
.I_VCKn(W_VCKn),
|
||||
.I_OBJDMA_A(W_DMAD_A),
|
||||
.I_OBJDMA_D(W_DMAD_D),
|
||||
.I_OBJDMA_CE(W_DMAD_CE),
|
||||
.bg_rom_addr(bg_rom_addr),
|
||||
.bg_rom_do(bg_rom_do),
|
||||
.O_VRAM_DB(W_VRAM_DB),
|
||||
.O_VRAMBUSYn(W_VRAMBUSYn),
|
||||
.O_FLIP_HV(W_FLIP_HV),
|
||||
.O_OBJ_DB(W_OBJ_DB), // Not used
|
||||
.O_VGA_RED(O_VGA_R),
|
||||
.O_VGA_GRN(O_VGA_G),
|
||||
.O_VGA_BLU(O_VGA_B)
|
||||
);
|
||||
|
||||
|
||||
//-------
|
||||
// Sound
|
||||
//-------
|
||||
|
||||
mario_sound sound
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_12M(cen12p),
|
||||
.I_CEN_11M(cen11),
|
||||
.I_RESETn(W_RESETn),
|
||||
.I_SND_DATA(W_7J_Q),
|
||||
.I_SND_CTRL({W_4C_Q[1:0],W_7M_Q}),
|
||||
.I_ANLG_VOL(I_ANLG_VOL),
|
||||
.I_H_CNT(W_H_CNT[3:0]),
|
||||
.O_SND_DAT(O_SOUND_DAT)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
149
Arcade_MiST/Nintendo Mario Bros/rtl/mario_video.v
Normal file
149
Arcade_MiST/Nintendo Mario Bros/rtl/mario_video.v
Normal file
@@ -0,0 +1,149 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Top level video module.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
module mario_video
|
||||
(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_24Mp,
|
||||
input I_CEN_24Mn,
|
||||
input I_CEN_6M,
|
||||
input I_CEN_12M,
|
||||
input I_RESETn,
|
||||
input [9:0]I_CPU_A,
|
||||
input [7:0]I_CPU_D,
|
||||
input I_VRAM_WRn,
|
||||
input I_VRAM_RDn,
|
||||
input [7:0]I_2L_Q,
|
||||
input I_VMOV,
|
||||
input [9:0]I_H_CNT,
|
||||
input [7:0]I_VF_CNT,
|
||||
input I_CBLANKn,
|
||||
input I_VBLKn,
|
||||
input I_VCKn,
|
||||
input [9:0]I_OBJDMA_A,
|
||||
input [7:0]I_OBJDMA_D,
|
||||
input I_OBJDMA_CE,
|
||||
output [7:0]O_VRAM_DB,
|
||||
output O_VRAMBUSYn,
|
||||
output O_FLIP_HV,
|
||||
output [7:0]O_OBJ_DB,
|
||||
output [2:0]O_VGA_RED,
|
||||
output [2:0]O_VGA_GRN,
|
||||
output [1:0]O_VGA_BLU,
|
||||
output [15:0]bg_rom_addr,
|
||||
input [15:0]bg_rom_do
|
||||
);
|
||||
|
||||
//------------------
|
||||
// VRAM
|
||||
// Background tiles
|
||||
//------------------
|
||||
|
||||
wire [3:0]W_VRAM_COL;
|
||||
wire [1:0]W_VRAM_VID;
|
||||
wire [7:0]W_VRAM_DB;
|
||||
wire W_VRAMBUSYn;
|
||||
wire W_TROMn = I_2L_Q[0];
|
||||
|
||||
mario_vram vram
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_24Mp(I_CEN_24Mp),
|
||||
.I_CEN_24Mn(I_CEN_24Mn),
|
||||
.I_AB(I_CPU_A),
|
||||
.I_DB(I_CPU_D),
|
||||
.I_VRAM_WRn(I_VRAM_WRn),
|
||||
.I_VRAM_RDn(I_VRAM_RDn),
|
||||
.I_FLIP(W_FLIP_VRAM),
|
||||
.I_H_CNT(I_H_CNT),
|
||||
.I_CMPBLK(I_CBLANKn),
|
||||
.I_VBLKn(I_VBLKn),
|
||||
.I_VCKn(I_VCKn),
|
||||
.I_GFXBANK(W_TROMn),
|
||||
.I_VMOV(I_VMOV),
|
||||
.O_DB(W_VRAM_DB),
|
||||
.O_COL(W_VRAM_COL),
|
||||
.O_VID(W_VRAM_VID),
|
||||
.O_VRAMBUSYn(W_VRAMBUSYn),
|
||||
.bg_rom_addr(bg_rom_addr),
|
||||
.bg_rom_do(bg_rom_do)
|
||||
);
|
||||
|
||||
wire [6:0]W_VRAM_DAT = {W_VRAM_COL[3:0],1'b0,W_VRAM_VID[1:0]};
|
||||
|
||||
assign O_VRAM_DB = W_VRAM_DB;
|
||||
assign O_VRAMBUSYn = W_VRAMBUSYn;
|
||||
|
||||
//-------------------
|
||||
// Objects / Sprites
|
||||
//-------------------
|
||||
|
||||
wire [6:0]W_OBJ_DAT;
|
||||
wire W_FLIP_VRAM;
|
||||
wire W_FLIP_HV;
|
||||
wire W_FLIPn = ~I_2L_Q[2];
|
||||
wire W_2PSL = I_2L_Q[1];
|
||||
wire W_L_CMPBLKn;
|
||||
wire [7:0]W_OBJ_DB;
|
||||
|
||||
mario_obj sprites
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_24Mp(I_CEN_24Mp),
|
||||
.I_CEN_24Mn(I_CEN_24Mn),
|
||||
.I_CEN_12M(I_CEN_12M),
|
||||
.I_AB(), // Not used
|
||||
.I_DB(/*W_2N_DO*/), // Not used
|
||||
.I_OBJ_WRn(1'b1), // Not used
|
||||
.I_OBJ_RDn(1'b1), // Not used
|
||||
.I_OBJ_RQn(1'b1), // Not used
|
||||
.I_2PSL(W_2PSL),
|
||||
.I_FLIPn(W_FLIPn),
|
||||
.I_CMPBLKn(I_CBLANKn),
|
||||
.I_H_CNT(I_H_CNT),
|
||||
.I_VF_CNT(I_VF_CNT),
|
||||
.I_OBJ_DMA_A(I_OBJDMA_A),
|
||||
.I_OBJ_DMA_D(I_OBJDMA_D),
|
||||
.I_OBJ_DMA_CE(I_OBJDMA_CE),
|
||||
.O_DB(W_OBJ_DB), // Not used
|
||||
.O_OBJ_DO(W_OBJ_DAT),
|
||||
.O_FLIP_VRAM(W_FLIP_VRAM),
|
||||
.O_FLIP_HV(W_FLIP_HV),
|
||||
.O_L_CMPBLKn(W_L_CMPBLKn)
|
||||
);
|
||||
|
||||
assign O_OBJ_DB = W_OBJ_DB;
|
||||
assign O_FLIP_HV = W_FLIP_HV;
|
||||
|
||||
//----------------
|
||||
// Colour Palette
|
||||
//----------------
|
||||
|
||||
wire [2:0]W_R;
|
||||
wire [2:0]W_G;
|
||||
wire [1:0]W_B;
|
||||
|
||||
mario_col_pal cpal
|
||||
(
|
||||
.I_CLK_48M(I_CLK_48M),
|
||||
.I_CEN_24Mn(I_CEN_24Mn),
|
||||
.I_CEN_6M(I_CEN_6M),
|
||||
.I_VRAM_D(W_VRAM_DAT),
|
||||
.I_OBJ_D(W_OBJ_DAT),
|
||||
.I_CMPBLKn(W_L_CMPBLKn),
|
||||
.I_CPAL_SEL(I_2L_Q[3]),
|
||||
.O_R(W_R),
|
||||
.O_G(W_G),
|
||||
.O_B(W_B)
|
||||
);
|
||||
|
||||
assign O_VGA_RED = W_R;
|
||||
assign O_VGA_GRN = W_G;
|
||||
assign O_VGA_BLU = W_B;
|
||||
|
||||
endmodule
|
||||
233
Arcade_MiST/Nintendo Mario Bros/rtl/mario_vram.v
Normal file
233
Arcade_MiST/Nintendo Mario Bros/rtl/mario_vram.v
Normal file
@@ -0,0 +1,233 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Mario Bros Arcade
|
||||
//
|
||||
// Author: gaz68 (https://github.com/gaz68) June 2020
|
||||
//
|
||||
// Video RAM (background tiles)
|
||||
// Based on the Donkey Kong version by Katsumi Degawa.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// H_CNT[0],H_CNT[1],H_CNT[2],H_CNT[3],H_CNT[4],H_CNT[5],H_CNT[6],H_CNT[7],H_CNT[8],H_CNT[9]
|
||||
// 1/2 H 1 H 2 H 4H 8H 16 H 32H 64 H 128 H 256 H
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// V_CNT[0], V_CNT[1], V_CNT[2], V_CNT[3], V_CNT[4], V_CNT[5], V_CNT[6], V_CNT[7]
|
||||
// 1 V 2 V 4 V 8 V 16 V 32 V 64 V 128 V
|
||||
//-----------------------------------------------------------------------------------------
|
||||
// VF_CNT[0],VF_CNT[1],VF_CNT[2],VF_CNT[3],VF_CNT[4],VF_CNT[5],VF_CNT[6],VF_CNT[7]
|
||||
// 1 VF 2 VF 4 VF 8 VF 16 VF 32 VF 64 VF 128 VF
|
||||
//-----------------------------------------------------------------------------------------
|
||||
|
||||
module mario_vram(
|
||||
input I_CLK_48M,
|
||||
input I_CEN_24Mp,
|
||||
input I_CEN_24Mn,
|
||||
input [9:0]I_AB,
|
||||
input [7:0]I_DB,
|
||||
input I_VRAM_WRn,
|
||||
input I_VRAM_RDn,
|
||||
input I_FLIP,
|
||||
input [9:0]I_H_CNT,
|
||||
input I_CMPBLK,
|
||||
input I_VBLKn,
|
||||
input I_VCKn,
|
||||
input I_GFXBANK,
|
||||
input I_VMOV,
|
||||
|
||||
output [7:0]O_DB,
|
||||
output reg [3:0]O_COL,
|
||||
output [1:0]O_VID,
|
||||
output O_VRAMBUSYn,
|
||||
output [15:0]bg_rom_addr,
|
||||
input [15:0]bg_rom_do
|
||||
);
|
||||
|
||||
//---------------------------------------------------
|
||||
// Vertical scroll register
|
||||
// Used to make screen bounce when POW block is used
|
||||
//---------------------------------------------------
|
||||
|
||||
reg [7:0]W_1E_Q;
|
||||
reg [7:0]W_1AC_Q;
|
||||
wire [7:0]W_1BD_Q = W_1E_Q[7:0]^{8{I_FLIP}};
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_24Mn) begin
|
||||
reg VCKnp, VBLKnp, VMOVp;
|
||||
VCKnp <= I_VCKn;
|
||||
VBLKnp <= I_VBLKn;
|
||||
VMOVp <= I_VMOV;
|
||||
|
||||
if(I_VMOV && !VMOVp) W_1E_Q <= I_DB;
|
||||
|
||||
if(I_VBLKn && !VBLKnp)
|
||||
W_1AC_Q <= W_1BD_Q; // Load
|
||||
else
|
||||
if(!VCKnp && I_VCKn)
|
||||
W_1AC_Q <= W_1AC_Q + 8'd1;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
wire [7:0]W_VF_CNT = W_1AC_Q[7:0]^{8{I_FLIP}};
|
||||
|
||||
//-------------------------
|
||||
// VRAM
|
||||
// 2 x 2114 @ 3D, 3E (1KB)
|
||||
//-------------------------
|
||||
|
||||
wire [7:0]WI_DB = I_VRAM_WRn ? 8'h00: I_DB;
|
||||
wire [7:0]WO_DB;
|
||||
|
||||
assign O_DB = I_VRAM_RDn ? 8'h00: WO_DB;
|
||||
|
||||
wire [4:0]W_HF_CNT = I_H_CNT[8:4]^{I_FLIP,I_FLIP,I_FLIP,I_FLIP,I_FLIP};
|
||||
wire [9:0]W_CNT_AB = {W_VF_CNT[7:3],W_HF_CNT[4:0]};
|
||||
wire [9:0]W_VRAM_AB = I_CMPBLK ? W_CNT_AB : I_AB ;
|
||||
wire W_VRAM_CS = I_CMPBLK ? 1'b0 : I_VRAM_WRn & I_VRAM_RDn;
|
||||
wire W_2S4 = I_CMPBLK ? 1'b0 : 1'b1 ;
|
||||
|
||||
ram_1024_8 U_3DE(
|
||||
|
||||
.I_CLK(I_CLK_48M),
|
||||
.I_ADDR(W_VRAM_AB),
|
||||
.I_D(WI_DB),
|
||||
.I_CE(~W_VRAM_CS),
|
||||
.I_WE(~I_VRAM_WRn),
|
||||
.O_D(WO_DB)
|
||||
|
||||
);
|
||||
|
||||
reg CLK_3K;
|
||||
|
||||
// TCOL 0-2 connections to 3K are numbered
|
||||
// in the wrong order on the schematics
|
||||
reg [3:0]TCOL;
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mn) begin
|
||||
reg CLK_3Kp, H_CNT0p;
|
||||
|
||||
CLK_3K <= ~(I_H_CNT[1]&I_H_CNT[2]&I_H_CNT[3]);
|
||||
CLK_3Kp <= CLK_3K;
|
||||
|
||||
if (CLK_3Kp && !CLK_3K) TCOL <= {1'b1,WO_DB[7:5]};
|
||||
|
||||
// Fix for timing issue
|
||||
H_CNT0p <= I_H_CNT[0];
|
||||
if (!H_CNT0p && I_H_CNT[0]) O_COL <= TCOL;
|
||||
end
|
||||
end
|
||||
|
||||
//-------------------
|
||||
// Video ROMs 3F, 3J
|
||||
//-------------------
|
||||
|
||||
wire [11:0]W_VROM_AB = {I_GFXBANK,WO_DB[7:0],W_VF_CNT[2:0]};
|
||||
wire [15:0]W_3FJ_DO;
|
||||
|
||||
//VID_ROM roms3FJ(I_CLK_48M, W_VROM_AB, 1'b0, W_3FJ_DO,
|
||||
// I_DLCLK, I_DLADDR, I_DLDATA, I_DLWR);
|
||||
|
||||
gfx_3f gfx_3f(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_VROM_AB),
|
||||
.data(W_3FJ_DO[15:8])
|
||||
);
|
||||
|
||||
gfx_3j gfx_3j(
|
||||
.clk(I_CLK_48M),
|
||||
.addr(W_VROM_AB),
|
||||
.data(W_3FJ_DO[7:0])
|
||||
);
|
||||
|
||||
//assign bg_rom_addr = W_VROM_AB;
|
||||
//assign W_3FJ_DO = bg_rom_do;
|
||||
|
||||
//-------------------
|
||||
// Shift register 2H
|
||||
//-------------------
|
||||
|
||||
wire W_2H_Qa, W_2H_Qh;
|
||||
|
||||
wire [1:0]C_2H = W_2K_Y[1:0];
|
||||
wire [7:0]W_2H = W_3FJ_DO[7:0];
|
||||
reg [7:0]reg_2H;
|
||||
|
||||
assign W_2H_Qa = reg_2H[7];
|
||||
assign W_2H_Qh = reg_2H[0];
|
||||
|
||||
//-------------------
|
||||
// Shift register 2J
|
||||
//-------------------
|
||||
|
||||
wire W_2J_Qa, W_2J_Qh;
|
||||
|
||||
wire [1:0]C_2J = W_2K_Y[1:0];
|
||||
wire [7:0]W_2J = W_3FJ_DO[15:8];
|
||||
reg [7:0]reg_2J;
|
||||
|
||||
assign W_2J_Qa = reg_2J[7];
|
||||
assign W_2J_Qh = reg_2J[0];
|
||||
|
||||
always@(posedge I_CLK_48M) begin
|
||||
if (I_CEN_24Mp) begin
|
||||
reg H_CNT0p;
|
||||
H_CNT0p <= I_H_CNT[0];
|
||||
|
||||
if (!H_CNT0p && I_H_CNT[0]) begin
|
||||
case(C_2H)
|
||||
2'b00: reg_2H <= reg_2H;
|
||||
2'b10: reg_2H <= {reg_2H[6:0],1'b0};
|
||||
2'b01: reg_2H <= {1'b0,reg_2H[7:1]};
|
||||
2'b11: reg_2H <= W_2H;
|
||||
endcase
|
||||
|
||||
case(C_2J)
|
||||
2'b00: reg_2J <= reg_2J;
|
||||
2'b10: reg_2J <= {reg_2J[6:0],1'b0};
|
||||
2'b01: reg_2J <= {1'b0,reg_2J[7:1]};
|
||||
2'b11: reg_2J <= W_2J;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
//---------
|
||||
// Part 2K
|
||||
//---------
|
||||
|
||||
wire [3:0]W_2K_a,W_2K_b;
|
||||
wire [3:0]W_2K_Y;
|
||||
|
||||
assign W_2K_a = {W_2H_Qa,W_2J_Qa,1'b1,~(CLK_3K|W_2S4)};
|
||||
assign W_2K_b = {W_2H_Qh,W_2J_Qh,~(CLK_3K|W_2S4),1'b1};
|
||||
assign W_2K_Y = I_FLIP ? W_2K_b : W_2K_a;
|
||||
|
||||
assign O_VID[0] = W_2K_Y[2];
|
||||
assign O_VID[1] = W_2K_Y[3];
|
||||
|
||||
//------------------
|
||||
// VRAM BUSY signal
|
||||
//------------------
|
||||
|
||||
reg W_VRAMBUSY;
|
||||
|
||||
always@(posedge I_CLK_48M)
|
||||
begin
|
||||
if (I_CEN_24Mp) begin
|
||||
reg last_HCNT2;
|
||||
last_HCNT2 <= I_H_CNT[2];
|
||||
|
||||
if(I_H_CNT[9] == 1'b0)
|
||||
W_VRAMBUSY <= 1'b1;
|
||||
else if (I_H_CNT[2] && !last_HCNT2)
|
||||
W_VRAMBUSY <= I_H_CNT[4]&I_H_CNT[5]&I_H_CNT[6]&I_H_CNT[7];
|
||||
end
|
||||
end
|
||||
|
||||
assign O_VRAMBUSYn = ~W_VRAMBUSY;
|
||||
|
||||
|
||||
endmodule
|
||||
4
Arcade_MiST/Nintendo Mario Bros/rtl/pll.qip
Normal file
4
Arcade_MiST/Nintendo Mario Bros/rtl/pll.qip
Normal file
@@ -0,0 +1,4 @@
|
||||
set_global_assignment -name IP_TOOL_NAME "ALTPLL"
|
||||
set_global_assignment -name IP_TOOL_VERSION "13.1"
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "pll.v"]
|
||||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.ppf"]
|
||||
337
Arcade_MiST/Nintendo Mario Bros/rtl/pll.v
Normal file
337
Arcade_MiST/Nintendo Mario Bros/rtl/pll.v
Normal file
@@ -0,0 +1,337 @@
|
||||
// megafunction wizard: %ALTPLL%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altpll
|
||||
|
||||
// ============================================================
|
||||
// File Name: pll.v
|
||||
// Megafunction Name(s):
|
||||
// altpll
|
||||
//
|
||||
// Simulation Library Files(s):
|
||||
// altera_mf
|
||||
// ============================================================
|
||||
// ************************************************************
|
||||
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||||
//
|
||||
// 13.1.4 Build 182 03/12/2014 SJ Full Version
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//Copyright (C) 1991-2014 Altera Corporation
|
||||
//Your use of Altera Corporation's design tools, logic functions
|
||||
//and other software and tools, and its AMPP partner logic
|
||||
//functions, and any output files from any of the foregoing
|
||||
//(including device programming or simulation files), and any
|
||||
//associated documentation or information are expressly subject
|
||||
//to the terms and conditions of the Altera Program License
|
||||
//Subscription Agreement, Altera MegaCore Function License
|
||||
//Agreement, or other applicable license agreement, including,
|
||||
//without limitation, that your use is for the sole purpose of
|
||||
//programming logic devices manufactured by Altera and sold by
|
||||
//Altera or its authorized distributors. Please refer to the
|
||||
//applicable agreement for further details.
|
||||
|
||||
|
||||
// synopsys translate_off
|
||||
`timescale 1 ps / 1 ps
|
||||
// synopsys translate_on
|
||||
module pll (
|
||||
inclk0,
|
||||
c0,
|
||||
c1,
|
||||
locked);
|
||||
|
||||
input inclk0;
|
||||
output c0;
|
||||
output c1;
|
||||
output locked;
|
||||
|
||||
wire [4:0] sub_wire0;
|
||||
wire sub_wire2;
|
||||
wire [0:0] sub_wire6 = 1'h0;
|
||||
wire [0:0] sub_wire3 = sub_wire0[0:0];
|
||||
wire [1:1] sub_wire1 = sub_wire0[1:1];
|
||||
wire c1 = sub_wire1;
|
||||
wire locked = sub_wire2;
|
||||
wire c0 = sub_wire3;
|
||||
wire sub_wire4 = inclk0;
|
||||
wire [1:0] sub_wire5 = {sub_wire6, sub_wire4};
|
||||
|
||||
altpll altpll_component (
|
||||
.inclk (sub_wire5),
|
||||
.clk (sub_wire0),
|
||||
.locked (sub_wire2),
|
||||
.activeclock (),
|
||||
.areset (1'b0),
|
||||
.clkbad (),
|
||||
.clkena ({6{1'b1}}),
|
||||
.clkloss (),
|
||||
.clkswitch (1'b0),
|
||||
.configupdate (1'b0),
|
||||
.enable0 (),
|
||||
.enable1 (),
|
||||
.extclk (),
|
||||
.extclkena ({4{1'b1}}),
|
||||
.fbin (1'b1),
|
||||
.fbmimicbidir (),
|
||||
.fbout (),
|
||||
.fref (),
|
||||
.icdrclk (),
|
||||
.pfdena (1'b1),
|
||||
.phasecounterselect ({4{1'b1}}),
|
||||
.phasedone (),
|
||||
.phasestep (1'b1),
|
||||
.phaseupdown (1'b1),
|
||||
.pllena (1'b1),
|
||||
.scanaclr (1'b0),
|
||||
.scanclk (1'b0),
|
||||
.scanclkena (1'b1),
|
||||
.scandata (1'b0),
|
||||
.scandataout (),
|
||||
.scandone (),
|
||||
.scanread (1'b0),
|
||||
.scanwrite (1'b0),
|
||||
.sclkout0 (),
|
||||
.sclkout1 (),
|
||||
.vcooverrange (),
|
||||
.vcounderrange ());
|
||||
defparam
|
||||
altpll_component.bandwidth_type = "AUTO",
|
||||
altpll_component.clk0_divide_by = 9,
|
||||
altpll_component.clk0_duty_cycle = 50,
|
||||
altpll_component.clk0_multiply_by = 32,
|
||||
altpll_component.clk0_phase_shift = "0",
|
||||
altpll_component.clk1_divide_by = 9,
|
||||
altpll_component.clk1_duty_cycle = 50,
|
||||
altpll_component.clk1_multiply_by = 16,
|
||||
altpll_component.clk1_phase_shift = "0",
|
||||
altpll_component.compensate_clock = "CLK0",
|
||||
altpll_component.inclk0_input_frequency = 37037,
|
||||
altpll_component.intended_device_family = "Cyclone III",
|
||||
altpll_component.lpm_hint = "CBX_MODULE_PREFIX=pll",
|
||||
altpll_component.lpm_type = "altpll",
|
||||
altpll_component.operation_mode = "NORMAL",
|
||||
altpll_component.pll_type = "AUTO",
|
||||
altpll_component.port_activeclock = "PORT_UNUSED",
|
||||
altpll_component.port_areset = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkloss = "PORT_UNUSED",
|
||||
altpll_component.port_clkswitch = "PORT_UNUSED",
|
||||
altpll_component.port_configupdate = "PORT_UNUSED",
|
||||
altpll_component.port_fbin = "PORT_UNUSED",
|
||||
altpll_component.port_inclk0 = "PORT_USED",
|
||||
altpll_component.port_inclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_locked = "PORT_USED",
|
||||
altpll_component.port_pfdena = "PORT_UNUSED",
|
||||
altpll_component.port_phasecounterselect = "PORT_UNUSED",
|
||||
altpll_component.port_phasedone = "PORT_UNUSED",
|
||||
altpll_component.port_phasestep = "PORT_UNUSED",
|
||||
altpll_component.port_phaseupdown = "PORT_UNUSED",
|
||||
altpll_component.port_pllena = "PORT_UNUSED",
|
||||
altpll_component.port_scanaclr = "PORT_UNUSED",
|
||||
altpll_component.port_scanclk = "PORT_UNUSED",
|
||||
altpll_component.port_scanclkena = "PORT_UNUSED",
|
||||
altpll_component.port_scandata = "PORT_UNUSED",
|
||||
altpll_component.port_scandataout = "PORT_UNUSED",
|
||||
altpll_component.port_scandone = "PORT_UNUSED",
|
||||
altpll_component.port_scanread = "PORT_UNUSED",
|
||||
altpll_component.port_scanwrite = "PORT_UNUSED",
|
||||
altpll_component.port_clk0 = "PORT_USED",
|
||||
altpll_component.port_clk1 = "PORT_USED",
|
||||
altpll_component.port_clk2 = "PORT_UNUSED",
|
||||
altpll_component.port_clk3 = "PORT_UNUSED",
|
||||
altpll_component.port_clk4 = "PORT_UNUSED",
|
||||
altpll_component.port_clk5 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena2 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena3 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena4 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena5 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk0 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk2 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk3 = "PORT_UNUSED",
|
||||
altpll_component.self_reset_on_loss_lock = "OFF",
|
||||
altpll_component.width_clock = 5;
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
// ============================================================
|
||||
// CNX file retrieval info
|
||||
// ============================================================
|
||||
// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "9"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "9"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "96.000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "48.000000"
|
||||
// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
|
||||
// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
|
||||
// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"
|
||||
// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps"
|
||||
// Retrieval info: PRIVATE: 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 "32"
|
||||
// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "16"
|
||||
// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "96.00000000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "48.00000000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0"
|
||||
// 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 "ps"
|
||||
// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||||
// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif"
|
||||
// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||||
// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
|
||||
// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
|
||||
// Retrieval info: PRIVATE: SPREAD_USE STRING "0"
|
||||
// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1"
|
||||
// Retrieval info: PRIVATE: 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 "9"
|
||||
// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "32"
|
||||
// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||||
// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "9"
|
||||
// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "16"
|
||||
// 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_UNUSED"
|
||||
// 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: 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: @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.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL pll_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
// Retrieval info: CBX_MODULE_PREFIX: ON
|
||||
24
Arcade_MiST/Nintendo Mario Bros/rtl/rom/adec_5p.vhd
Normal file
24
Arcade_MiST/Nintendo Mario Bros/rtl/rom/adec_5p.vhd
Normal file
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity adec_5p is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(4 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of adec_5p is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"FE",X"FE",X"FE",X"FE",X"FD",X"FD",X"FD",X"FD",X"FB",X"FB",X"FB",X"FB",X"F7",X"F7",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"FF",X"FF",X"FF",X"7F",X"7F");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
54
Arcade_MiST/Nintendo Mario Bros/rtl/rom/clut_4p.vhd
Normal file
54
Arcade_MiST/Nintendo Mario Bros/rtl/rom/clut_4p.vhd
Normal file
@@ -0,0 +1,54 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity clut_4p is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(8 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of clut_4p is
|
||||
type rom is array(0 to 511) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"FF",X"D7",X"6B",X"00",X"1F",X"93",X"FB",X"FF",X"FF",X"E3",X"00",X"4F",X"00",X"FF",X"7F",X"FE",
|
||||
X"FF",X"74",X"08",X"0F",X"00",X"FF",X"7F",X"FE",X"FF",X"1F",X"00",X"0F",X"00",X"FF",X"7F",X"FE",
|
||||
X"FF",X"00",X"03",X"1F",X"7F",X"13",X"92",X"FE",X"FF",X"00",X"E0",X"F4",X"FE",X"EC",X"92",X"5F",
|
||||
X"FF",X"00",X"08",X"1C",X"9E",X"5E",X"92",X"FE",X"FF",X"FC",X"E4",X"E3",X"F3",X"00",X"B2",X"DF",
|
||||
X"FF",X"00",X"FE",X"FF",X"1C",X"1F",X"03",X"6C",X"FF",X"00",X"FE",X"FF",X"E3",X"E0",X"00",X"6C",
|
||||
X"FF",X"FE",X"9B",X"0A",X"00",X"1F",X"13",X"FF",X"FF",X"E3",X"9B",X"0E",X"00",X"DF",X"BC",X"FF",
|
||||
X"FF",X"1F",X"C8",X"00",X"FC",X"F1",X"EA",X"E3",X"FF",X"17",X"7F",X"00",X"FF",X"0F",X"1F",X"97",
|
||||
X"FF",X"E8",X"FE",X"00",X"FF",X"6F",X"FC",X"7A",X"FF",X"07",X"B7",X"00",X"FF",X"BF",X"FC",X"7A",
|
||||
X"FF",X"FE",X"9B",X"0A",X"00",X"1F",X"13",X"7A",X"FF",X"E3",X"9B",X"0E",X"00",X"DF",X"BC",X"FF",
|
||||
X"FF",X"00",X"6E",X"92",X"DB",X"1F",X"9F",X"8E",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"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",
|
||||
X"FF",X"00",X"92",X"FE",X"DB",X"00",X"00",X"92",X"FF",X"FF",X"FF",X"FF",X"FF",X"EC",X"FF",X"FF",
|
||||
X"FF",X"00",X"FE",X"FF",X"00",X"8C",X"F9",X"FE",X"FF",X"00",X"FE",X"FF",X"F7",X"00",X"F9",X"FE",
|
||||
X"FF",X"A0",X"FE",X"FF",X"EF",X"F7",X"00",X"8C",X"FF",X"A0",X"FE",X"FF",X"83",X"EF",X"F7",X"00",
|
||||
X"FF",X"0F",X"5F",X"FF",X"00",X"83",X"EF",X"F7",X"FF",X"0F",X"5F",X"FF",X"FE",X"00",X"83",X"EF",
|
||||
X"FF",X"00",X"1E",X"FF",X"F9",X"FE",X"00",X"83",X"FF",X"00",X"1E",X"FF",X"8C",X"F9",X"FE",X"00",
|
||||
X"00",X"28",X"94",X"FF",X"E0",X"6C",X"04",X"00",X"00",X"1C",X"FF",X"B0",X"FF",X"00",X"80",X"01",
|
||||
X"00",X"8B",X"F7",X"F0",X"FF",X"00",X"80",X"01",X"00",X"E0",X"FF",X"F0",X"FF",X"00",X"80",X"01",
|
||||
X"00",X"FF",X"FC",X"E0",X"80",X"EC",X"6D",X"01",X"00",X"FF",X"1F",X"0B",X"01",X"13",X"6D",X"A0",
|
||||
X"00",X"FF",X"F7",X"E3",X"61",X"A1",X"6D",X"01",X"00",X"03",X"1B",X"1C",X"0C",X"FF",X"4D",X"20",
|
||||
X"00",X"FF",X"01",X"00",X"E3",X"E0",X"FC",X"93",X"00",X"FF",X"01",X"00",X"1C",X"1F",X"FF",X"93",
|
||||
X"00",X"01",X"64",X"F5",X"FF",X"E0",X"EC",X"00",X"00",X"1C",X"64",X"F1",X"FF",X"20",X"43",X"00",
|
||||
X"00",X"E0",X"37",X"FF",X"03",X"0E",X"15",X"1C",X"00",X"E8",X"80",X"FF",X"00",X"F0",X"E0",X"68",
|
||||
X"00",X"17",X"01",X"FF",X"00",X"90",X"03",X"85",X"00",X"F8",X"48",X"FF",X"00",X"40",X"03",X"85",
|
||||
X"00",X"01",X"64",X"F5",X"FF",X"E0",X"EC",X"85",X"00",X"1C",X"64",X"F1",X"FF",X"20",X"43",X"00",
|
||||
X"00",X"FF",X"91",X"6D",X"24",X"E0",X"60",X"71",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"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",
|
||||
X"00",X"FF",X"6D",X"01",X"24",X"FF",X"FF",X"6D",X"00",X"00",X"00",X"00",X"00",X"13",X"00",X"00",
|
||||
X"00",X"FF",X"01",X"00",X"FF",X"73",X"06",X"01",X"00",X"FF",X"01",X"00",X"08",X"FF",X"06",X"01",
|
||||
X"00",X"5F",X"01",X"00",X"10",X"08",X"FF",X"73",X"00",X"5F",X"01",X"00",X"7C",X"10",X"08",X"FF",
|
||||
X"00",X"F0",X"A0",X"00",X"FF",X"7C",X"10",X"08",X"00",X"F0",X"A0",X"00",X"01",X"FF",X"7C",X"10",
|
||||
X"00",X"FF",X"E1",X"00",X"06",X"01",X"FF",X"7C",X"00",X"FF",X"E1",X"00",X"73",X"06",X"01",X"FF");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/gfx_3f.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/gfx_3f.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity gfx_3f 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 gfx_3f is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"1C",X"26",X"63",X"63",X"63",X"32",X"1C",X"00",X"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"24",X"36",X"36",X"00",X"00",X"00",X"00",X"3E",X"00",X"00",X"00",
|
||||
X"00",X"38",X"1C",X"0E",X"07",X"0E",X"1C",X"38",X"00",X"00",X"00",X"3E",X"00",X"00",X"3E",X"00",
|
||||
X"00",X"0E",X"1C",X"38",X"70",X"38",X"1C",X"0E",X"00",X"18",X"00",X"18",X"38",X"63",X"63",X"3E",
|
||||
X"3C",X"42",X"99",X"A5",X"85",X"99",X"42",X"3C",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",
|
||||
X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
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"3E",X"63",X"63",X"60",X"60",X"60",X"60",X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",
|
||||
X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",
|
||||
X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",
|
||||
X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",
|
||||
X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",X"00",X"08",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"00",
|
||||
X"00",X"00",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"0C",X"0C",X"0C",X"0C",X"0C",X"18",X"00",X"0C",X"18",X"18",X"18",X"18",X"18",X"0C",
|
||||
X"00",X"5E",X"46",X"46",X"CE",X"C6",X"C6",X"5E",X"00",X"3A",X"5B",X"5B",X"5B",X"5A",X"5A",X"3A",
|
||||
X"00",X"96",X"D6",X"D6",X"CE",X"D6",X"D6",X"CE",X"00",X"39",X"5A",X"5A",X"3A",X"5A",X"5A",X"3A",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"18",X"18",X"00",X"18",X"38",X"38",X"38",
|
||||
X"00",X"00",X"22",X"14",X"08",X"14",X"22",X"00",X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"30",X"30",X"00",X"54",X"54",X"54",X"54",X"54",X"40",X"28",
|
||||
X"00",X"24",X"24",X"24",X"20",X"24",X"20",X"10",X"00",X"12",X"12",X"12",X"08",X"12",X"10",X"08",
|
||||
X"00",X"41",X"91",X"91",X"91",X"91",X"81",X"41",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"EF",X"EF",X"FF",X"FF",X"EF",X"EF",X"FF",X"BC",
|
||||
X"FB",X"FB",X"FB",X"FF",X"EF",X"FB",X"FF",X"EF",X"0E",X"1F",X"37",X"37",X"37",X"37",X"3F",X"1E",
|
||||
X"00",X"00",X"F0",X"80",X"D8",X"A0",X"F8",X"E0",X"00",X"00",X"01",X"01",X"02",X"00",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"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"24",X"00",X"42",X"00",X"24",X"00",X"18",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"7C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"00",X"8E",X"93",X"93",X"93",X"93",X"93",X"93",
|
||||
X"00",X"F1",X"99",X"99",X"D9",X"19",X"19",X"F1",X"00",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",
|
||||
X"00",X"00",X"F0",X"80",X"D8",X"A0",X"F8",X"E0",X"00",X"00",X"01",X"01",X"02",X"00",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"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"D3",X"D3",X"D3",X"8F",X"00",X"FE",X"FE",X"00",X"AA",X"AA",X"AA",X"A9",X"00",X"7F",X"7F",X"00",
|
||||
X"00",X"FE",X"FE",X"00",X"81",X"C1",X"CF",X"D3",X"24",X"00",X"42",X"00",X"24",X"00",X"18",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",
|
||||
X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",
|
||||
X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",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"3E",X"63",X"63",X"60",X"60",X"60",X"60",
|
||||
X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",
|
||||
X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",
|
||||
X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",
|
||||
X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",
|
||||
X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",
|
||||
X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",
|
||||
X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
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"1F",
|
||||
X"FC",X"06",X"03",X"01",X"FF",X"FF",X"FE",X"FC",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3F",X"60",X"C0",X"80",X"FF",X"FF",X"7F",X"3F",X"FF",X"00",X"00",X"3C",X"3C",X"3C",X"7E",X"FF",
|
||||
X"FF",X"00",X"00",X"3C",X"3C",X"3C",X"7E",X"FF",X"FF",X"00",X"00",X"3C",X"3C",X"3C",X"7E",X"FF",
|
||||
X"00",X"00",X"08",X"0E",X"00",X"00",X"80",X"E0",X"2C",X"6C",X"6C",X"EC",X"1C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"78",X"F0",X"C0",X"F0",X"F8",X"FC",X"FB",X"B7",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",
|
||||
X"00",X"00",X"08",X"0E",X"00",X"00",X"80",X"E0",X"2C",X"6C",X"6C",X"EC",X"1C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"02",X"02",X"66",X"77",X"FF",X"FF",X"FF",X"FE",X"20",X"22",X"66",X"76",X"7F",X"FF",X"FF",X"FF",
|
||||
X"40",X"40",X"66",X"EE",X"FF",X"FF",X"FF",X"7F",X"7F",X"01",X"03",X"07",X"0F",X"1F",X"3F",X"7F",
|
||||
X"7F",X"01",X"03",X"07",X"0F",X"1F",X"3F",X"7F",X"7F",X"01",X"03",X"07",X"0F",X"1F",X"3F",X"7F",
|
||||
X"FC",X"06",X"03",X"01",X"FF",X"FF",X"FE",X"FC",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3F",X"60",X"C0",X"80",X"FF",X"FF",X"7F",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7C",X"3F",X"F3",X"BD",X"FF",X"FF",X"C7",X"01",
|
||||
X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",
|
||||
X"00",X"7E",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",
|
||||
X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
X"00",X"63",X"73",X"7B",X"7F",X"6F",X"67",X"63",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"63",X"63",X"63",X"7F",X"63",X"63",X"63",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"18",X"18",X"00",X"18",X"38",X"38",X"38",
|
||||
X"FC",X"06",X"03",X"01",X"FF",X"FF",X"FE",X"FC",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3F",X"60",X"C0",X"80",X"FF",X"FF",X"7F",X"3F",X"00",X"00",X"77",X"77",X"77",X"77",X"77",X"77",
|
||||
X"00",X"00",X"77",X"77",X"77",X"77",X"77",X"77",X"00",X"00",X"77",X"77",X"77",X"77",X"77",X"77",
|
||||
X"00",X"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",
|
||||
X"00",X"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",
|
||||
X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1F",X"00",X"00",X"00",X"00",X"00",X"20",X"30",X"30",
|
||||
X"00",X"1C",X"26",X"63",X"63",X"63",X"32",X"1C",X"00",X"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"18",X"18",X"00",X"18",X"38",X"38",X"38",
|
||||
X"00",X"1C",X"26",X"63",X"63",X"63",X"32",X"1C",X"00",X"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"24",X"36",X"36",X"00",X"00",X"00",X"00",X"3E",X"00",X"00",X"00",
|
||||
X"00",X"38",X"1C",X"0E",X"07",X"0E",X"1C",X"38",X"00",X"00",X"00",X"3E",X"00",X"00",X"3E",X"00",
|
||||
X"00",X"0E",X"1C",X"38",X"70",X"38",X"1C",X"0E",X"00",X"18",X"00",X"18",X"38",X"63",X"63",X"3E",
|
||||
X"00",X"6E",X"31",X"39",X"4E",X"14",X"14",X"08",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",
|
||||
X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
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"3E",X"63",X"63",X"60",X"60",X"60",X"60",X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",
|
||||
X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",
|
||||
X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",
|
||||
X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",
|
||||
X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",X"00",X"08",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"00",
|
||||
X"00",X"00",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"0C",X"0C",X"0C",X"0C",X"0C",X"18",X"00",X"0C",X"18",X"18",X"18",X"18",X"18",X"0C",
|
||||
X"00",X"5E",X"46",X"46",X"CE",X"C6",X"C6",X"5E",X"00",X"3A",X"5B",X"5B",X"5B",X"5A",X"5A",X"3A",
|
||||
X"00",X"96",X"D6",X"D6",X"CE",X"D6",X"D6",X"CE",X"00",X"39",X"5A",X"5A",X"3A",X"5A",X"5A",X"3A",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"18",X"18",X"00",X"18",X"38",X"38",X"38",
|
||||
X"00",X"00",X"22",X"14",X"08",X"14",X"22",X"00",X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",
|
||||
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"00",X"04",X"26",X"3C",X"66",X"3C",X"64",X"20",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"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"24",X"36",X"36",X"00",X"00",X"00",X"00",X"3E",X"00",X"00",X"00",
|
||||
X"00",X"38",X"1C",X"0E",X"07",X"0E",X"1C",X"38",X"00",X"0E",X"1C",X"38",X"70",X"38",X"1C",X"0E",
|
||||
X"00",X"0E",X"1C",X"38",X"70",X"38",X"1C",X"0E",X"00",X"18",X"00",X"18",X"38",X"63",X"63",X"3E",
|
||||
X"00",X"6E",X"31",X"39",X"4E",X"14",X"14",X"08",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",
|
||||
X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
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"3E",X"63",X"63",X"60",X"60",X"60",X"60",X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",
|
||||
X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",
|
||||
X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",
|
||||
X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",
|
||||
X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",X"00",X"08",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"00",
|
||||
X"00",X"B6",X"B7",X"B7",X"B6",X"B6",X"06",X"36",X"00",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"0C",X"0C",X"0C",X"0C",X"0C",X"18",X"00",X"0C",X"18",X"18",X"18",X"18",X"18",X"0C",
|
||||
X"00",X"5E",X"46",X"46",X"CE",X"C6",X"C6",X"5E",X"00",X"3A",X"5B",X"5B",X"5B",X"5A",X"5A",X"3A",
|
||||
X"00",X"96",X"D6",X"D6",X"CE",X"D6",X"D6",X"CE",X"00",X"39",X"5A",X"5A",X"3A",X"5A",X"5A",X"3A",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"18",X"18",X"00",X"18",X"38",X"38",X"38",
|
||||
X"00",X"00",X"22",X"14",X"08",X"14",X"22",X"00",X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FF",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",
|
||||
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"00",X"04",X"26",X"3C",X"66",X"3C",X"64",X"20",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"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"24",X"36",X"36",X"00",X"00",X"00",X"00",X"3E",X"00",X"00",X"00",
|
||||
X"00",X"3E",X"41",X"5D",X"45",X"5D",X"41",X"3E",X"00",X"F6",X"06",X"06",X"E6",X"36",X"37",X"E6",
|
||||
X"00",X"F1",X"9B",X"9B",X"F3",X"9B",X"9B",X"F1",X"00",X"78",X"CD",X"CD",X"60",X"C1",X"CC",X"78",
|
||||
X"3C",X"42",X"99",X"A5",X"85",X"99",X"42",X"3C",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",
|
||||
X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
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"3E",X"63",X"63",X"60",X"60",X"60",X"60",X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",
|
||||
X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",
|
||||
X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",
|
||||
X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",
|
||||
X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",X"00",X"08",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"30",X"B0",X"B0",X"F0",X"70",X"30",
|
||||
X"00",X"B6",X"B7",X"B7",X"B6",X"B6",X"06",X"36",X"00",X"99",X"99",X"99",X"99",X"CF",X"80",X"00",
|
||||
X"00",X"F1",X"19",X"F9",X"99",X"F3",X"01",X"00",X"00",X"CD",X"CC",X"CD",X"CD",X"7C",X"00",X"00",
|
||||
X"00",X"7C",X"66",X"66",X"66",X"7C",X"60",X"60",X"00",X"1E",X"33",X"33",X"33",X"1E",X"00",X"00",
|
||||
X"00",X"3C",X"66",X"66",X"66",X"3C",X"00",X"00",X"00",X"86",X"86",X"86",X"86",X"8F",X"06",X"0C",
|
||||
X"00",X"D9",X"DF",X"DF",X"D9",X"D9",X"0F",X"06",X"00",X"9A",X"DA",X"DA",X"DA",X"8D",X"00",X"00",
|
||||
X"00",X"6F",X"60",X"EF",X"EC",X"67",X"00",X"00",X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",
|
||||
X"00",X"98",X"D8",X"D8",X"DB",X"9B",X"00",X"18",X"00",X"C7",X"30",X"30",X"30",X"E7",X"00",X"00",
|
||||
X"00",X"C6",X"C7",X"C3",X"C3",X"C3",X"C0",X"C0",X"00",X"66",X"66",X"66",X"66",X"3E",X"00",X"00",
|
||||
X"00",X"5E",X"03",X"03",X"03",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"1C",X"26",X"63",X"63",X"63",X"32",X"1C",X"00",X"7E",X"18",X"18",X"18",X"18",X"1C",X"18",
|
||||
X"00",X"7F",X"07",X"1E",X"3C",X"70",X"63",X"3E",X"00",X"3E",X"63",X"60",X"3C",X"18",X"30",X"7E",
|
||||
X"00",X"30",X"30",X"7F",X"33",X"36",X"3C",X"38",X"00",X"3E",X"63",X"60",X"60",X"3F",X"03",X"3F",
|
||||
X"00",X"3E",X"63",X"63",X"3F",X"03",X"06",X"3C",X"00",X"0C",X"0C",X"0C",X"18",X"30",X"63",X"7F",
|
||||
X"00",X"3E",X"61",X"61",X"1E",X"27",X"23",X"1E",X"00",X"1E",X"30",X"60",X"7E",X"63",X"63",X"3E",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"00",X"00",X"00",X"3E",X"00",X"00",X"00",
|
||||
X"00",X"38",X"1C",X"0E",X"07",X"0E",X"1C",X"38",X"00",X"00",X"00",X"3E",X"00",X"00",X"3E",X"00",
|
||||
X"00",X"0E",X"1C",X"38",X"70",X"38",X"1C",X"0E",X"00",X"18",X"00",X"18",X"38",X"63",X"63",X"3E",
|
||||
X"3C",X"42",X"99",X"A5",X"85",X"99",X"42",X"3C",X"00",X"63",X"63",X"7F",X"63",X"63",X"36",X"1C",
|
||||
X"00",X"3F",X"63",X"63",X"3F",X"63",X"63",X"3F",X"00",X"3C",X"66",X"03",X"03",X"03",X"66",X"3C",
|
||||
X"00",X"1F",X"33",X"63",X"63",X"63",X"33",X"1F",X"00",X"7F",X"03",X"03",X"3F",X"03",X"03",X"7F",
|
||||
X"00",X"03",X"03",X"03",X"3F",X"03",X"03",X"7F",X"00",X"7C",X"66",X"63",X"73",X"03",X"06",X"7C",
|
||||
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"3E",X"63",X"63",X"60",X"60",X"60",X"60",X"00",X"73",X"3B",X"1F",X"0F",X"1B",X"33",X"63",
|
||||
X"00",X"7E",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"63",X"63",X"6B",X"7F",X"7F",X"77",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"03",X"03",X"3F",X"63",X"63",X"63",X"3F",X"00",X"5E",X"33",X"7B",X"63",X"63",X"63",X"3E",
|
||||
X"00",X"73",X"3B",X"1F",X"73",X"63",X"63",X"3F",X"00",X"3E",X"63",X"60",X"3E",X"03",X"33",X"1E",
|
||||
X"00",X"18",X"18",X"18",X"18",X"18",X"18",X"7E",X"00",X"3E",X"63",X"63",X"63",X"63",X"63",X"63",
|
||||
X"00",X"08",X"1C",X"3E",X"77",X"63",X"63",X"63",X"00",X"63",X"77",X"7F",X"7F",X"6B",X"63",X"63",
|
||||
X"00",X"63",X"77",X"3E",X"1C",X"3C",X"77",X"63",X"00",X"18",X"18",X"18",X"3C",X"66",X"66",X"66",
|
||||
X"00",X"7F",X"07",X"0E",X"1C",X"38",X"70",X"7F",X"00",X"08",X"06",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"30",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"00",
|
||||
X"00",X"00",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"0C",X"0C",X"0C",X"0C",X"0C",X"18",X"00",X"0C",X"18",X"18",X"18",X"18",X"18",X"0C",
|
||||
X"00",X"5E",X"46",X"46",X"CE",X"C6",X"C6",X"5E",X"00",X"3A",X"5B",X"5B",X"5B",X"5A",X"5A",X"3A",
|
||||
X"00",X"96",X"D6",X"D6",X"CE",X"D6",X"D6",X"CE",X"00",X"39",X"5A",X"5A",X"3A",X"5A",X"5A",X"3A",
|
||||
X"00",X"33",X"33",X"00",X"33",X"77",X"77",X"77",X"00",X"00",X"00",X"00",X"00",X"20",X"30",X"30",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"06",X"00",X"00",X"00",X"18",X"18",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"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;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/gfx_3j.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/gfx_3j.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity gfx_3j 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 gfx_3j is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"3C",X"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C1",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C1",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C1",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C1",X"82",X"86",X"61",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"81",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"6C",X"5A",X"48",X"48",X"00",X"00",X"00",X"7E",X"40",X"00",X"00",X"00",
|
||||
X"78",X"40",X"20",X"10",X"18",X"30",X"60",X"40",X"00",X"00",X"7E",X"40",X"00",X"7E",X"40",X"00",
|
||||
X"1E",X"30",X"60",X"C0",X"80",X"40",X"20",X"10",X"38",X"20",X"38",X"60",X"C7",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",
|
||||
X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",
|
||||
X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",
|
||||
X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",
|
||||
X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",X"18",X"16",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"70",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"40",X"00",
|
||||
X"00",X"38",X"20",X"20",X"00",X"00",X"00",X"00",X"FE",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"24",X"10",X"10",X"10",X"10",X"10",X"20",X"1C",X"30",X"20",X"20",X"20",X"20",X"24",X"10",
|
||||
X"FE",X"A0",X"80",X"98",X"10",X"00",X"38",X"A0",X"3E",X"44",X"A4",X"A4",X"A4",X"A5",X"A5",X"44",
|
||||
X"BE",X"68",X"28",X"28",X"10",X"28",X"28",X"10",X"7B",X"46",X"A5",X"A5",X"45",X"A5",X"A5",X"45",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"38",X"20",X"20",X"18",X"60",X"40",X"40",X"40",
|
||||
X"00",X"62",X"44",X"28",X"10",X"28",X"44",X"00",X"00",X"00",X"38",X"20",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"60",X"50",X"40",X"40",X"00",X"2B",X"2B",X"2B",X"2B",X"2B",X"3F",X"16",
|
||||
X"00",X"93",X"93",X"93",X"9F",X"93",X"9F",X"8E",X"00",X"C9",X"C9",X"C9",X"C7",X"C9",X"CF",X"C7",
|
||||
X"00",X"38",X"4C",X"4C",X"4C",X"4C",X"7C",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"50",X"50",X"50",X"50",X"50",X"00",X"A0",X"EF",X"49",X"59",X"41",X"49",X"49",X"59",X"20",
|
||||
X"FB",X"92",X"92",X"96",X"88",X"92",X"96",X"88",X"0E",X"11",X"24",X"24",X"24",X"24",X"2C",X"10",
|
||||
X"00",X"00",X"F0",X"F0",X"F8",X"A0",X"00",X"00",X"00",X"00",X"07",X"07",X"07",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"24",X"24",X"42",X"42",X"24",X"24",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"80",X"10",X"10",X"10",X"10",X"10",X"10",X"8E",X"11",X"20",X"20",X"20",X"20",X"20",X"20",
|
||||
X"F3",X"0A",X"22",X"62",X"22",X"22",X"E2",X"02",X"1D",X"11",X"11",X"11",X"11",X"10",X"11",X"11",
|
||||
X"00",X"00",X"F0",X"F0",X"F8",X"A0",X"00",X"00",X"00",X"00",X"07",X"07",X"07",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"D3",X"D3",X"D3",X"8F",X"00",X"01",X"01",X"FE",X"AA",X"AA",X"AA",X"A9",X"00",X"80",X"80",X"7F",
|
||||
X"FE",X"01",X"01",X"00",X"81",X"C1",X"CF",X"D3",X"18",X"24",X"24",X"42",X"42",X"24",X"24",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",
|
||||
X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",
|
||||
X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",
|
||||
X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",
|
||||
X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",
|
||||
X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",
|
||||
X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",
|
||||
X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",
|
||||
X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",
|
||||
X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"00",X"0E",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",X"C0",X"C0",X"C0",X"C0",X"F0",X"00",X"00",X"E1",X"31",X"31",X"31",X"31",X"E7",X"00",
|
||||
X"00",X"E3",X"E6",X"E6",X"E6",X"E6",X"E3",X"00",X"00",X"00",X"00",X"0F",X"1C",X"1C",X"0F",X"00",
|
||||
X"00",X"E0",X"F0",X"00",X"06",X"F6",X"F0",X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",
|
||||
X"00",X"07",X"0F",X"00",X"60",X"6F",X"0F",X"00",X"00",X"81",X"C3",X"C3",X"C3",X"FF",X"FF",X"00",
|
||||
X"00",X"81",X"C3",X"C3",X"C3",X"FF",X"FF",X"00",X"00",X"81",X"C3",X"C3",X"C3",X"FF",X"FF",X"00",
|
||||
X"00",X"EF",X"E7",X"E1",X"00",X"FE",X"7E",X"1E",X"2E",X"6E",X"6E",X"EE",X"1E",X"02",X"00",X"FF",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"1A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"C0",X"F8",X"F0",X"C0",X"F0",X"78",X"7C",X"7B",X"37",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",
|
||||
X"00",X"EF",X"E7",X"E1",X"00",X"FE",X"7E",X"1E",X"2E",X"6E",X"6E",X"EE",X"1E",X"02",X"00",X"FF",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"1A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FE",X"BA",X"BB",X"77",X"FF",X"FF",X"FE",X"FF",X"FF",X"BB",X"BB",X"B7",X"7F",X"DD",X"EF",
|
||||
X"7F",X"7F",X"7B",X"77",X"FF",X"FF",X"FF",X"7F",X"80",X"C0",X"E0",X"F0",X"E8",X"DC",X"BE",X"80",
|
||||
X"80",X"C0",X"E0",X"F0",X"E8",X"DC",X"BE",X"80",X"80",X"C0",X"E0",X"F0",X"E8",X"DC",X"BE",X"80",
|
||||
X"00",X"E0",X"F0",X"00",X"06",X"F6",X"F0",X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",
|
||||
X"00",X"07",X"0F",X"00",X"60",X"6F",X"0F",X"00",X"FF",X"01",X"01",X"01",X"01",X"03",X"06",X"FC",
|
||||
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"80",X"80",X"80",X"80",X"C0",X"60",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"83",X"C0",X"0C",X"5E",X"82",X"00",X"78",X"00",
|
||||
X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",
|
||||
X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"00",X"0E",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"38",X"20",X"20",X"18",X"60",X"40",X"40",X"40",
|
||||
X"00",X"E0",X"F0",X"00",X"06",X"F6",X"F0",X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",
|
||||
X"00",X"07",X"0F",X"00",X"60",X"6F",X"0F",X"00",X"77",X"77",X"00",X"88",X"88",X"00",X"77",X"77",
|
||||
X"77",X"77",X"00",X"88",X"88",X"00",X"77",X"77",X"77",X"77",X"00",X"08",X"08",X"00",X"77",X"77",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"7C",X"C0",X"88",X"04",X"04",X"EC",X"98",X"00",X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C0",X"84",X"9E",X"40",X"74",X"4C",X"20",X"00",X"00",X"00",X"00",X"60",X"50",X"40",X"40",
|
||||
X"3C",X"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C0",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C0",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C0",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C0",X"82",X"86",X"60",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"80",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7C",X"C0",X"88",X"04",X"04",X"EC",X"98",X"00",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"38",X"20",X"20",X"18",X"60",X"40",X"40",X"40",
|
||||
X"3C",X"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C1",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C1",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C1",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C1",X"82",X"86",X"61",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"81",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"6C",X"5A",X"48",X"48",X"00",X"00",X"00",X"7E",X"40",X"00",X"00",X"00",
|
||||
X"78",X"40",X"20",X"10",X"18",X"30",X"60",X"40",X"00",X"00",X"7E",X"40",X"00",X"7E",X"40",X"00",
|
||||
X"1E",X"30",X"60",X"C0",X"80",X"40",X"20",X"10",X"38",X"20",X"38",X"60",X"C7",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",
|
||||
X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",
|
||||
X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",
|
||||
X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",
|
||||
X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",X"18",X"16",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"70",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"40",X"00",
|
||||
X"00",X"38",X"20",X"20",X"00",X"00",X"00",X"00",X"FE",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"24",X"10",X"10",X"10",X"10",X"10",X"20",X"1C",X"30",X"20",X"20",X"20",X"20",X"24",X"10",
|
||||
X"FE",X"A0",X"80",X"98",X"10",X"00",X"38",X"A0",X"3E",X"44",X"A4",X"A4",X"A4",X"A5",X"A5",X"44",
|
||||
X"BE",X"68",X"28",X"28",X"10",X"28",X"28",X"10",X"7B",X"46",X"A5",X"A5",X"45",X"A5",X"A5",X"45",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"38",X"20",X"20",X"18",X"60",X"40",X"40",X"40",
|
||||
X"00",X"62",X"44",X"28",X"10",X"28",X"44",X"00",X"00",X"00",X"38",X"20",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C1",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C1",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C1",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C1",X"82",X"86",X"61",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"81",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"6C",X"5A",X"48",X"48",X"00",X"00",X"00",X"7E",X"40",X"00",X"00",X"00",
|
||||
X"78",X"40",X"20",X"10",X"18",X"30",X"60",X"40",X"1E",X"30",X"60",X"C0",X"80",X"40",X"20",X"10",
|
||||
X"1E",X"30",X"60",X"C0",X"80",X"40",X"20",X"10",X"38",X"20",X"38",X"60",X"C7",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",
|
||||
X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",
|
||||
X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",
|
||||
X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",
|
||||
X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",X"18",X"16",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"70",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"40",X"00",
|
||||
X"FE",X"48",X"48",X"48",X"49",X"48",X"78",X"48",X"FE",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"24",X"10",X"10",X"10",X"10",X"10",X"20",X"1C",X"30",X"20",X"20",X"20",X"20",X"24",X"10",
|
||||
X"FE",X"A0",X"80",X"98",X"10",X"00",X"38",X"A0",X"3E",X"44",X"A4",X"A4",X"A4",X"A5",X"A5",X"44",
|
||||
X"BE",X"68",X"28",X"28",X"10",X"28",X"28",X"10",X"7B",X"46",X"A5",X"A5",X"45",X"A5",X"A5",X"45",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"38",X"20",X"20",X"18",X"60",X"40",X"40",X"40",
|
||||
X"00",X"62",X"44",X"28",X"10",X"28",X"44",X"00",X"00",X"00",X"38",X"20",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C1",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C1",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C1",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C1",X"82",X"86",X"61",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"81",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"6C",X"5A",X"48",X"48",X"00",X"00",X"00",X"7E",X"40",X"00",X"00",X"00",
|
||||
X"3E",X"41",X"BE",X"A2",X"BA",X"A2",X"BE",X"40",X"FE",X"08",X"08",X"F8",X"18",X"49",X"C8",X"08",
|
||||
X"F1",X"0A",X"24",X"64",X"0C",X"24",X"64",X"02",X"78",X"85",X"12",X"32",X"81",X"1E",X"33",X"81",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",
|
||||
X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",
|
||||
X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",
|
||||
X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",
|
||||
X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",X"18",X"16",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"70",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"70",X"40",X"41",X"41",X"40",X"01",X"81",X"40",
|
||||
X"FE",X"48",X"48",X"48",X"49",X"48",X"78",X"48",X"BB",X"22",X"22",X"22",X"66",X"10",X"00",X"00",
|
||||
X"F3",X"0A",X"E2",X"02",X"66",X"04",X"00",X"00",X"DF",X"12",X"13",X"12",X"32",X"80",X"00",X"00",
|
||||
X"FD",X"83",X"89",X"89",X"99",X"80",X"80",X"80",X"1E",X"21",X"44",X"44",X"4C",X"20",X"00",X"00",
|
||||
X"3C",X"42",X"88",X"88",X"98",X"40",X"00",X"00",X"8E",X"08",X"08",X"08",X"19",X"10",X"08",X"10",
|
||||
X"FB",X"26",X"20",X"20",X"22",X"26",X"10",X"08",X"BF",X"65",X"25",X"25",X"25",X"12",X"00",X"00",
|
||||
X"FF",X"90",X"9F",X"10",X"13",X"88",X"00",X"00",X"00",X"00",X"38",X"20",X"20",X"00",X"00",X"00",
|
||||
X"B8",X"60",X"20",X"27",X"24",X"24",X"38",X"20",X"EF",X"38",X"41",X"41",X"CF",X"08",X"00",X"00",
|
||||
X"CF",X"09",X"08",X"04",X"04",X"04",X"00",X"00",X"EF",X"89",X"89",X"89",X"99",X"41",X"01",X"01",
|
||||
X"FE",X"A1",X"04",X"04",X"3C",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3C",X"62",X"C8",X"84",X"84",X"94",X"4C",X"20",X"FE",X"80",X"20",X"20",X"20",X"24",X"20",X"20",
|
||||
X"FF",X"80",X"38",X"60",X"C0",X"87",X"9C",X"40",X"7E",X"C1",X"84",X"9C",X"00",X"60",X"CE",X"80",
|
||||
X"70",X"40",X"CF",X"80",X"4C",X"48",X"40",X"40",X"7E",X"C1",X"80",X"80",X"9F",X"00",X"7C",X"40",
|
||||
X"7E",X"C1",X"84",X"9C",X"00",X"0C",X"78",X"40",X"1C",X"10",X"10",X"30",X"60",X"C7",X"9C",X"80",
|
||||
X"7E",X"C1",X"82",X"86",X"61",X"48",X"5C",X"20",X"3E",X"60",X"C0",X"9E",X"81",X"84",X"9C",X"40",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"00",X"00",X"00",X"7E",X"40",X"00",X"00",X"00",
|
||||
X"78",X"40",X"20",X"10",X"18",X"30",X"60",X"40",X"00",X"00",X"7E",X"40",X"00",X"7E",X"40",X"00",
|
||||
X"1E",X"30",X"60",X"C0",X"80",X"40",X"20",X"10",X"38",X"20",X"38",X"60",X"C7",X"84",X"9C",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"84",X"9C",X"80",X"84",X"8C",X"48",X"20",
|
||||
X"7F",X"C0",X"84",X"9C",X"40",X"84",X"9C",X"40",X"7C",X"C2",X"89",X"04",X"04",X"EC",X"98",X"00",
|
||||
X"3F",X"60",X"C4",X"84",X"84",X"94",X"4C",X"20",X"FF",X"80",X"04",X"7C",X"40",X"04",X"FC",X"80",
|
||||
X"07",X"04",X"04",X"7C",X"40",X"04",X"FC",X"80",X"FC",X"82",X"89",X"94",X"84",X"04",X"F8",X"80",
|
||||
X"E7",X"84",X"84",X"9C",X"80",X"84",X"84",X"84",X"FE",X"80",X"20",X"20",X"20",X"20",X"E6",X"80",
|
||||
X"7E",X"C1",X"84",X"84",X"80",X"80",X"80",X"80",X"F7",X"84",X"04",X"00",X"30",X"64",X"C4",X"84",
|
||||
X"FE",X"80",X"08",X"08",X"08",X"08",X"08",X"08",X"E7",X"84",X"9C",X"94",X"80",X"80",X"88",X"84",
|
||||
X"E7",X"84",X"84",X"84",X"80",X"90",X"88",X"84",X"3E",X"41",X"84",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"07",X"04",X"7C",X"C0",X"84",X"84",X"9C",X"40",X"DE",X"A1",X"CC",X"84",X"84",X"84",X"9C",X"40",
|
||||
X"F7",X"84",X"04",X"E0",X"84",X"84",X"9C",X"40",X"7E",X"C1",X"84",X"9E",X"41",X"74",X"4C",X"20",
|
||||
X"38",X"20",X"20",X"20",X"20",X"20",X"E6",X"80",X"7E",X"C1",X"84",X"84",X"84",X"84",X"84",X"84",
|
||||
X"18",X"30",X"60",X"C0",X"88",X"84",X"84",X"84",X"E7",X"8C",X"88",X"80",X"80",X"94",X"84",X"84",
|
||||
X"E7",X"8C",X"88",X"00",X"60",X"C0",X"88",X"84",X"38",X"20",X"20",X"64",X"C2",X"88",X"88",X"88",
|
||||
X"FF",X"80",X"18",X"30",X"60",X"C0",X"8F",X"80",X"18",X"16",X"08",X"08",X"00",X"00",X"00",X"00",
|
||||
X"70",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"04",X"08",X"10",X"20",X"40",X"00",
|
||||
X"00",X"38",X"20",X"20",X"00",X"00",X"00",X"00",X"FE",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"24",X"10",X"10",X"10",X"10",X"10",X"20",X"1C",X"30",X"20",X"20",X"20",X"20",X"24",X"10",
|
||||
X"FE",X"A0",X"80",X"98",X"10",X"00",X"38",X"A0",X"3E",X"44",X"A4",X"A4",X"A4",X"A5",X"A5",X"44",
|
||||
X"BE",X"68",X"28",X"28",X"10",X"28",X"28",X"10",X"7B",X"46",X"A5",X"A5",X"45",X"A5",X"A5",X"45",
|
||||
X"77",X"44",X"44",X"33",X"C4",X"88",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"20",X"20",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"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;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7m.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7m.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7m 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 obj_7m 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"0D",X"00",X"0F",X"07",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"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"1F",X"1F",X"0F",X"07",X"07",X"0F",X"06",X"0D",
|
||||
X"00",X"00",X"00",X"07",X"0F",X"0F",X"0F",X"4F",X"EF",X"FF",X"7F",X"3F",X"07",X"0F",X"06",X"0D",
|
||||
X"00",X"00",X"1E",X"1F",X"1F",X"1F",X"1F",X"3F",X"7F",X"7F",X"3F",X"0A",X"07",X"0F",X"06",X"0D",
|
||||
X"00",X"00",X"3C",X"3F",X"1F",X"4F",X"EF",X"EF",X"FF",X"7F",X"3F",X"0F",X"07",X"0F",X"07",X"0E",
|
||||
X"00",X"07",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"03",X"07",X"17",X"3F",X"3F",X"3F",X"1F",X"07",X"07",X"03",X"07",X"03",X"06",X"06",
|
||||
X"00",X"00",X"0C",X"0F",X"07",X"07",X"07",X"07",X"07",X"07",X"03",X"03",X"07",X"03",X"06",X"06",
|
||||
X"00",X"00",X"00",X"1F",X"1F",X"4F",X"FF",X"FF",X"7F",X"0F",X"1D",X"1B",X"00",X"0F",X"07",X"00",
|
||||
X"34",X"06",X"3F",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"00",
|
||||
X"00",X"00",X"06",X"0F",X"0F",X"07",X"0F",X"4F",X"EF",X"FF",X"7F",X"3F",X"1F",X"3F",X"1A",X"37",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"2D",X"6F",X"63",X"FD",X"FF",X"FD",X"F9",X"2D",X"2D",X"2D",X"0D",X"04",X"01",X"01",X"01",
|
||||
X"35",X"04",X"3F",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"00",X"00",X"03",X"27",X"EF",X"FF",X"EF",X"FF",X"FF",X"7F",X"3F",X"1F",X"3F",X"1A",X"37",
|
||||
X"00",X"00",X"00",X"03",X"27",X"EF",X"FF",X"EF",X"FF",X"FF",X"7F",X"3F",X"1F",X"3F",X"1A",X"37",
|
||||
X"00",X"00",X"00",X"03",X"27",X"EF",X"FF",X"EF",X"EF",X"FF",X"7F",X"3F",X"1F",X"3F",X"1A",X"37",
|
||||
X"00",X"3C",X"3F",X"3F",X"1F",X"DF",X"FE",X"FF",X"7F",X"0F",X"06",X"0D",X"0D",X"00",X"0F",X"07",
|
||||
X"00",X"3F",X"3F",X"DF",X"FE",X"FF",X"3F",X"0F",X"1D",X"1B",X"00",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"0F",X"0F",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"03",X"07",X"1F",X"1F",X"3D",X"3F",X"3F",X"0F",X"0B",X"1F",X"1C",X"39",X"F9",X"ED",X"24",X"04",
|
||||
X"03",X"07",X"1F",X"1F",X"3D",X"BF",X"FF",X"EF",X"7B",X"7F",X"3C",X"19",X"09",X"0D",X"04",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"EE",X"EE",X"EE",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"EE",X"EE",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"EE",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"EE",
|
||||
X"00",X"00",X"00",X"00",X"1F",X"3F",X"3F",X"3F",X"1F",X"1F",X"4F",X"FF",X"FF",X"FF",X"03",X"03",
|
||||
X"06",X"06",X"06",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"00",X"00",X"00",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"7F",X"FF",X"FF",X"6F",X"06",X"0D",
|
||||
X"00",X"00",X"02",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"03",X"07",X"03",X"06",X"06",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0F",X"0E",X"1D",X"3F",X"33",X"60",X"60",X"60",X"60",X"60",X"60",X"30",X"38",X"1C",X"0F",X"07",
|
||||
X"6B",X"DE",X"0B",X"12",X"43",X"07",X"07",X"05",X"17",X"06",X"0D",X"0B",X"0B",X"1B",X"17",X"0F",
|
||||
X"0D",X"0F",X"1F",X"3F",X"31",X"60",X"60",X"60",X"60",X"60",X"60",X"30",X"38",X"1C",X"0F",X"07",
|
||||
X"FC",X"75",X"22",X"17",X"07",X"27",X"86",X"0D",X"0B",X"0B",X"0B",X"17",X"17",X"0F",X"0F",X"0E",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"3E",X"7E",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"00",X"00",X"40",X"40",X"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"40",X"40",X"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"40",X"40",X"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"02",X"02",X"00",X"40",X"40",X"4E",X"0E",X"00",X"00",X"40",X"40",X"4E",X"0E",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"FE",X"FE",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"4E",X"4E",X"4E",X"4E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"4F",X"4F",X"4F",X"4F",X"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"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"06",X"1E",X"3E",X"7E",X"7E",X"FE",X"FE",X"FE",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"44",X"AA",X"AA",X"AA",X"AA",X"44",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"4A",X"4A",X"4A",X"4A",X"31",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"4A",X"4A",X"4A",X"4A",X"31",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"4A",X"4A",X"4A",X"4A",X"31",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"31",X"4A",X"4A",X"4A",X"4A",X"31",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"55",X"55",X"55",X"55",X"22",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"55",X"55",X"55",X"55",X"22",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"AA",X"AA",X"AA",X"AA",X"44",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"13",X"17",X"3F",X"3F",X"FF",X"3C",X"3B",X"0C",X"0F",X"0F",X"08",X"03",X"D3",X"DD",X"4F",X"07",
|
||||
X"13",X"17",X"3F",X"3F",X"FF",X"BC",X"FB",X"C4",X"0F",X"0F",X"08",X"03",X"03",X"1D",X"0F",X"07",
|
||||
X"07",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"04",X"44",X"9F",X"BF",X"BF",X"7F",X"1B",X"11",X"41",X"C1",X"C1",X"C1",X"03",X"03",
|
||||
X"00",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"FF",X"FF",X"00",
|
||||
X"01",X"01",X"01",X"01",X"03",X"03",X"0F",X"FE",X"F8",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"BF",X"7F",X"3F",X"7F",X"7F",X"F3",X"E7",X"4F",X"0E",X"06",X"00",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"7F",X"BF",X"3F",X"3F",X"33",X"73",X"71",X"21",X"00",X"00",
|
||||
X"E0",X"7F",X"7F",X"FF",X"7F",X"FF",X"7F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"70",X"61",X"7F",X"7F",X"FF",X"7F",X"FF",X"7F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",
|
||||
X"E3",X"7F",X"7F",X"FF",X"7F",X"FF",X"7F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"38",X"7F",X"7F",X"FF",X"7F",X"FF",X"7F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",
|
||||
X"38",X"7F",X"7F",X"FF",X"FF",X"FF",X"7F",X"3F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"1C",X"41",X"21",X"00",X"03",X"07",X"0E",X"0D",X"03",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"01",X"0D",X"0E",X"23",X"40",X"03",X"07",X"0E",X"0D",X"03",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"0E",X"1C",X"00",X"10",X"21",X"03",X"07",X"06",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"F4",X"72",X"30",X"00",X"00",X"00",X"CB",X"CB",X"7B",X"37",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"03",X"03",X"02",X"00",X"00",X"00",X"06",X"1D",X"3D",X"7B",X"F7",X"E7",X"67",X"26",X"02",X"01",
|
||||
X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"0F",X"0F",X"03",X"3D",X"0F",X"07",X"34",X"7E",X"3F",X"0F",
|
||||
X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"7F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"7F",X"3F",X"7F",X"7F",X"37",X"00",X"00",X"00",X"00",X"00",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"BF",X"7F",X"3F",X"7F",X"7F",X"73",X"27",X"01",X"00",X"00",X"00",
|
||||
X"01",X"03",X"0B",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"03",X"03",X"07",X"07",X"07",X"0F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07",X"03",X"00",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"1F",X"0F",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"01",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"08",X"44",X"62",X"61",X"30",X"32",X"14",X"18",X"1A",X"0A",X"03",X"03",X"01",X"01",
|
||||
X"20",X"11",X"0A",X"44",X"62",X"61",X"20",X"32",X"15",X"1B",X"1A",X"0A",X"02",X"02",X"01",X"01",
|
||||
X"20",X"30",X"58",X"48",X"62",X"61",X"20",X"30",X"10",X"00",X"10",X"08",X"00",X"02",X"01",X"01",
|
||||
X"00",X"30",X"08",X"00",X"42",X"40",X"40",X"70",X"00",X"00",X"00",X"42",X"62",X"03",X"08",X"00",
|
||||
X"20",X"20",X"08",X"00",X"00",X"80",X"40",X"00",X"00",X"00",X"00",X"80",X"40",X"00",X"02",X"11",
|
||||
X"4C",X"08",X"00",X"00",X"40",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"C0",X"30",X"0C",X"03",X"01",X"07",X"7F",X"FF",X"3F",X"0F",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"20",X"F8",X"F7",X"F0",X"F0",X"F0",X"70",X"31",X"1B",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"01",X"03",X"07",X"0F",X"1F",X"3F",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"60",X"10",X"0F",X"80",X"E0",X"F8",X"FF",X"7F",X"1F",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"60",X"18",X"07",X"80",X"E0",X"F8",X"FF",X"7F",X"1F",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"60",X"C0",X"80",X"FF",X"FF",X"7F",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"EE",X"EE",X"EE",X"EE",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"EE",X"EE",X"EE",X"EE",X"EE",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"0E",X"0E",X"EE",X"EE",X"EE",X"EE",X"E0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"22",X"66",X"76",X"7F",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"22",X"66",X"76",X"7F",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"40",X"66",X"EE",X"FF",X"FF",X"FF",X"7F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"08",X"05",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"40",X"21",X"19",X"8B",X"6D",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"B1",X"69",X"16",X"36",X"30",X"27",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"81",X"63",X"9E",X"6D",X"21",X"74",X"86",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"C0",X"30",X"0C",X"03",X"30",X"3C",X"7C",X"FC",X"3C",X"0E",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"20",X"98",X"C7",X"C0",X"C0",X"C3",X"63",X"23",X"1F",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"3C",X"3C",X"3C",X"7E",X"FF",
|
||||
X"00",X"03",X"0F",X"1F",X"1D",X"39",X"35",X"34",X"36",X"37",X"37",X"1B",X"1C",X"0F",X"03",X"00",
|
||||
X"00",X"00",X"00",X"01",X"03",X"03",X"23",X"37",X"3E",X"1E",X"1C",X"0F",X"07",X"03",X"00",X"00",
|
||||
X"00",X"03",X"0F",X"0C",X"19",X"1B",X"1B",X"1C",X"0F",X"03",X"00",X"00",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"0E",X"0E",X"1B",X"19",X"1A",X"1A",X"0C",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"0B",X"0F",X"06",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"07",X"06",X"06",X"07",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"01",X"02",X"07",X"07",X"06",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"01",X"03",X"01",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"00",X"00",X"00",X"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"02",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"10",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"03",X"04",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"04",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"02",X"04",X"04",X"08",X"08",X"00",X"00",X"00",X"04",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"02",X"02",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"30",X"30",X"00",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"54",X"54",X"50",X"43",X"37",X"07",X"17",X"27",X"72",X"56",X"56",X"46",X"26",X"00",X"00",X"00",
|
||||
X"A4",X"A4",X"90",X"43",X"37",X"07",X"37",X"67",X"E2",X"A6",X"86",X"C6",X"06",X"00",X"00",X"00",
|
||||
X"04",X"A8",X"A8",X"50",X"43",X"17",X"07",X"37",X"27",X"72",X"2E",X"26",X"16",X"0E",X"00",X"00",
|
||||
X"A8",X"A8",X"9D",X"4D",X"35",X"25",X"57",X"E7",X"F7",X"52",X"56",X"05",X"37",X"07",X"04",X"08",
|
||||
X"54",X"54",X"2D",X"1D",X"05",X"05",X"37",X"67",X"C7",X"E2",X"F6",X"D5",X"57",X"67",X"34",X"18",
|
||||
X"24",X"48",X"4D",X"0D",X"35",X"05",X"77",X"C7",X"E7",X"F2",X"56",X"55",X"27",X"37",X"04",X"08",
|
||||
X"0E",X"20",X"4E",X"7E",X"E3",X"C7",X"57",X"67",X"0F",X"37",X"48",X"90",X"20",X"00",X"00",X"00",
|
||||
X"0E",X"20",X"4E",X"7E",X"E3",X"C7",X"57",X"67",X"0F",X"17",X"08",X"28",X"24",X"20",X"10",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"F1",X"FF",X"7F",X"FF",X"7F",X"7F",X"7F",X"3F",X"3F",X"1F",X"0F",X"0E",X"00",X"00",X"00",X"00",
|
||||
X"CF",X"67",X"3F",X"7F",X"3F",X"3F",X"1F",X"1F",X"0F",X"0F",X"0E",X"05",X"01",X"00",X"00",X"00",
|
||||
X"38",X"1C",X"3C",X"1C",X"1C",X"1F",X"3F",X"7F",X"7F",X"7F",X"7B",X"31",X"39",X"18",X"00",X"00",
|
||||
X"38",X"1C",X"18",X"1F",X"0F",X"4F",X"CF",X"FF",X"FF",X"FF",X"EE",X"C6",X"66",X"64",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",
|
||||
X"00",X"00",X"0C",X"0C",X"00",X"0C",X"0E",X"06",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"18",X"18",X"18",X"7F",X"04",X"08",X"00",X"00",X"0F",X"08",X"00",X"08",X"04",X"03",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"00",X"00",X"F0",X"F8",X"1C",X"0F",X"00",
|
||||
X"00",X"00",X"0C",X"0C",X"00",X"0C",X"0E",X"06",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0F",X"00",X"18",X"18",X"18",X"7F",
|
||||
X"00",X"18",X"18",X"18",X"7F",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",
|
||||
X"00",X"00",X"01",X"02",X"04",X"09",X"10",X"01",X"04",X"0C",X"0C",X"0C",X"0C",X"0C",X"0C",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"07",X"78",X"C7",X"00",X"00",X"00",X"00",X"C7",X"FF",X"78",X"00",X"03",
|
||||
X"FF",X"FF",X"FF",X"FF",X"F0",X"07",X"F8",X"00",X"00",X"00",X"00",X"F8",X"FF",X"0F",X"00",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"00",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"01",X"00",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"10",X"88",X"6D",X"1D",X"0D",X"3D",X"27",X"73",X"77",X"FA",X"5E",X"4F",X"4F",X"27",X"24",X"18",
|
||||
X"04",X"08",X"08",X"0B",X"03",X"02",X"01",X"01",X"01",X"03",X"07",X"06",X"06",X"06",X"06",X"02",
|
||||
X"05",X"09",X"08",X"03",X"03",X"03",X"1B",X"33",X"63",X"F1",X"FB",X"5B",X"4A",X"2A",X"20",X"10",
|
||||
X"04",X"08",X"08",X"0B",X"03",X"02",X"01",X"01",X"01",X"03",X"07",X"06",X"06",X"06",X"06",X"02",
|
||||
X"00",X"03",X"04",X"04",X"0F",X"1A",X"1A",X"0E",X"03",X"01",X"05",X"19",X"37",X"0E",X"3E",X"1C",
|
||||
X"00",X"03",X"04",X"04",X"0F",X"1A",X"1A",X"0E",X"13",X"71",X"F5",X"F1",X"E3",X"40",X"00",X"00",
|
||||
X"00",X"03",X"04",X"04",X"0F",X"3A",X"9A",X"CE",X"F3",X"71",X"05",X"01",X"03",X"00",X"00",X"00",
|
||||
X"07",X"08",X"8F",X"D7",X"79",X"2C",X"03",X"11",X"05",X"01",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"41",X"E5",X"F1",X"13",X"0E",X"1A",X"1A",X"0F",X"08",X"04",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"41",X"E5",X"F1",X"13",X"0E",X"1A",X"1A",X"0F",X"08",X"04",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"40",X"40",X"60",X"60",X"30",X"30",X"10",X"10",X"1F",X"0B",X"03",X"03",X"01",X"01",
|
||||
X"00",X"00",X"40",X"40",X"60",X"60",X"3F",X"3C",X"1C",X"1C",X"1F",X"0B",X"03",X"03",X"01",X"01",
|
||||
X"00",X"00",X"40",X"7F",X"7A",X"7D",X"3F",X"3C",X"1C",X"1C",X"1F",X"0B",X"03",X"03",X"01",X"01",
|
||||
X"3F",X"60",X"7F",X"7A",X"7D",X"7F",X"3F",X"3C",X"1C",X"1C",X"1F",X"0B",X"03",X"03",X"01",X"01",
|
||||
X"3F",X"60",X"7F",X"7F",X"7A",X"7D",X"3F",X"3C",X"1C",X"1C",X"1F",X"0B",X"03",X"03",X"01",X"01",
|
||||
X"00",X"00",X"40",X"40",X"60",X"60",X"30",X"30",X"10",X"10",X"1A",X"0A",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"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"00",X"00",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"00",X"00",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"08",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"08",X"00",
|
||||
X"00",X"0C",X"0C",X"0C",X"0C",X"4C",X"4C",X"4C",X"4C",X"4C",X"4C",X"4C",X"0C",X"0C",X"0C",X"00",
|
||||
X"02",X"06",X"06",X"26",X"26",X"66",X"66",X"66",X"66",X"66",X"66",X"26",X"26",X"06",X"06",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"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"03",X"04",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"0B",X"04",X"03",X"00",X"00",X"00",
|
||||
X"00",X"00",X"02",X"04",X"04",X"08",X"08",X"00",X"00",X"00",X"04",X"04",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"02",X"02",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"04",X"05",X"05",X"05",X"05",X"05",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"01",X"0F",X"01",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"0E",X"0D",X"FF",X"0D",X"0E",X"07",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"0F",X"1C",X"19",X"1B",X"FF",X"1B",X"19",X"1C",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",X"07",X"07",X"07",X"07",X"07",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"08",X"00",X"01",X"03",X"23",X"03",X"01",X"00",X"00",X"08",X"00",X"00",X"00",
|
||||
X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"80",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"02",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"01",X"01",X"01",X"03",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"03",X"03",X"01",X"00",X"00",X"01",X"01",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"04",X"04",X"04",X"0C",X"0C",X"0C",X"0C",X"14",
|
||||
X"00",X"00",X"00",X"00",X"20",X"22",X"72",X"22",X"24",X"04",X"04",X"0C",X"0C",X"0C",X"0C",X"14",
|
||||
X"20",X"20",X"20",X"20",X"20",X"22",X"FA",X"22",X"24",X"24",X"24",X"2C",X"2C",X"2C",X"0C",X"14",
|
||||
X"07",X"0F",X"1F",X"1F",X"3F",X"3F",X"7F",X"BF",X"7F",X"3F",X"33",X"73",X"71",X"21",X"00",X"00",
|
||||
X"31",X"07",X"3F",X"3F",X"3F",X"7F",X"7F",X"27",X"1F",X"3F",X"38",X"13",X"07",X"07",X"07",X"03",
|
||||
X"00",X"00",X"00",X"06",X"0F",X"07",X"03",X"31",X"7B",X"F3",X"FF",X"CF",X"EF",X"66",X"04",X"00",
|
||||
X"00",X"03",X"1B",X"1B",X"3D",X"3C",X"14",X"B3",X"FF",X"FF",X"7F",X"37",X"03",X"01",X"01",X"00",
|
||||
X"00",X"06",X"01",X"1F",X"1E",X"0F",X"0F",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"03",
|
||||
X"00",X"00",X"06",X"1F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"7C",X"9C",X"0E",X"0E",X"04",
|
||||
X"07",X"25",X"57",X"57",X"F3",X"E7",X"DF",X"77",X"07",X"1B",X"2C",X"48",X"90",X"00",X"00",X"00",
|
||||
X"0C",X"10",X"2C",X"78",X"60",X"3F",X"07",X"1F",X"07",X"2B",X"09",X"00",X"03",X"00",X"00",X"01",
|
||||
X"01",X"00",X"00",X"03",X"00",X"08",X"2B",X"07",X"1F",X"07",X"1F",X"23",X"7C",X"70",X"3C",X"10",
|
||||
X"00",X"00",X"00",X"10",X"92",X"4A",X"14",X"0F",X"6F",X"DF",X"EF",X"67",X"3F",X"CF",X"6A",X"0E",
|
||||
X"00",X"20",X"32",X"6A",X"24",X"A5",X"8F",X"0F",X"3F",X"7F",X"5F",X"77",X"2F",X"0B",X"0E",X"06",
|
||||
X"06",X"0F",X"0D",X"37",X"7A",X"6F",X"3F",X"3F",X"0F",X"2F",X"47",X"27",X"EA",X"FA",X"78",X"30",
|
||||
X"01",X"05",X"01",X"13",X"4E",X"FA",X"FA",X"CF",X"08",X"04",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0E",X"1F",X"19",X"17",X"03",X"03",X"05",X"04",X"02",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"01",X"02",X"02",X"04",X"05",X"03",X"03",X"0F",X"1D",X"19",X"0A",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"47",X"DD",X"ED",X"7F",X"39",X"00",X"02",X"00",
|
||||
X"00",X"30",X"78",X"18",X"4B",X"7C",X"3A",X"17",X"1D",X"2B",X"0E",X"1D",X"27",X"0B",X"00",X"00",
|
||||
X"00",X"00",X"0B",X"27",X"1D",X"0E",X"2B",X"1D",X"17",X"3A",X"3C",X"2B",X"2C",X"34",X"18",X"00",
|
||||
X"1B",X"09",X"0D",X"05",X"07",X"07",X"02",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"27",X"32",X"12",X"1A",X"1E",X"0A",X"0B",X"0D",X"07",X"07",X"07",X"07",X"05",X"01",X"01",X"01",
|
||||
X"12",X"09",X"0D",X"05",X"07",X"07",X"03",X"03",X"03",X"03",X"0A",X"25",X"1F",X"3F",X"1F",X"0E",
|
||||
X"32",X"0B",X"05",X"07",X"03",X"03",X"03",X"02",X"40",X"00",X"80",X"C0",X"60",X"7A",X"30",X"00",
|
||||
X"0E",X"03",X"81",X"00",X"00",X"02",X"00",X"20",X"30",X"18",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"00",X"00",X"08",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"03",X"35",X"53",X"55",X"57",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"06",X"08",X"0E",X"02",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"01",X"01",X"01",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"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"07",X"0C",X"09",X"09",X"09",X"0C",X"0F",X"08",X"0F",X"0C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"07",X"08",X"08",X"09",X"09",X"09",X"09",X"08",X"0F",X"0C",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"07",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"07",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"06",X"1E",X"3E",X"7E",X"7E",X"FE",X"FE",X"FE",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"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",
|
||||
X"7F",X"80",X"80",X"00",X"D9",X"FB",X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"00",X"80",X"80",X"7F",
|
||||
X"00",X"00",X"00",X"7F",X"80",X"80",X"00",X"D9",X"FA",X"AA",X"AA",X"A9",X"00",X"80",X"80",X"7F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"80",X"80",X"FB",X"AA",X"AB",X"80",X"80",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"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",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;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7n.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7n.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7n 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 obj_7n 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"78",X"00",X"F0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"E0",X"D0",X"BC",X"BC",X"FC",X"F0",X"E0",X"C0",X"E0",X"F0",X"80",X"DC",
|
||||
X"00",X"00",X"00",X"E0",X"E0",X"E0",X"F0",X"60",X"FC",X"FF",X"FF",X"C3",X"E0",X"F0",X"80",X"DC",
|
||||
X"00",X"00",X"00",X"C0",X"E0",X"E0",X"E0",X"F0",X"FC",X"FE",X"FE",X"84",X"E0",X"F0",X"80",X"DC",
|
||||
X"00",X"00",X"3C",X"FC",X"FC",X"FA",X"FF",X"6F",X"FE",X"FC",X"F0",X"E0",X"E0",X"F0",X"80",X"DC",
|
||||
X"00",X"F8",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"F0",X"F0",X"F8",X"F8",X"DE",X"FF",X"FB",X"F3",X"E0",X"F0",X"F8",X"40",X"EE",X"BC",
|
||||
X"00",X"00",X"38",X"F8",X"F8",X"F8",X"FC",X"F8",X"F8",X"F0",X"E0",X"F0",X"F8",X"40",X"EE",X"BC",
|
||||
X"00",X"00",X"00",X"FE",X"FE",X"FF",X"77",X"FF",X"FE",X"F0",X"80",X"DE",X"FC",X"F8",X"C0",X"00",
|
||||
X"FC",X"1C",X"DC",X"38",X"78",X"78",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"00",X"00",X"E0",X"F8",X"F8",X"78",X"E0",X"F0",X"F0",X"F0",X"B8",X"F8",X"1C",X"7C",
|
||||
X"E0",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"71",X"FF",X"FF",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"FE",X"FE",X"FC",X"F0",X"F0",
|
||||
X"E0",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"20",X"F0",X"F8",X"F8",X"F0",X"F8",X"BC",X"FE",X"FE",X"EE",X"DE",X"8C",X"C0",X"00",X"70",
|
||||
X"00",X"20",X"F0",X"F8",X"F8",X"F0",X"F8",X"BC",X"FE",X"F8",X"EE",X"DE",X"8C",X"C0",X"00",X"70",
|
||||
X"00",X"20",X"F0",X"F8",X"F8",X"F0",X"F8",X"BC",X"FE",X"FE",X"EE",X"DE",X"8C",X"C0",X"00",X"70",
|
||||
X"00",X"3C",X"FC",X"FC",X"F8",X"FB",X"EF",X"FF",X"FE",X"F0",X"80",X"DC",X"38",X"20",X"F8",X"C0",
|
||||
X"00",X"FC",X"FC",X"FB",X"EF",X"FF",X"FE",X"70",X"80",X"DE",X"3C",X"F8",X"C0",X"00",X"00",X"00",
|
||||
X"B0",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"C0",X"E0",X"F8",X"F8",X"DC",X"FC",X"FC",X"F8",X"F8",X"FC",X"1C",X"CE",X"CF",X"DB",X"92",X"90",
|
||||
X"C0",X"E0",X"F8",X"F8",X"DC",X"FD",X"FF",X"F7",X"FE",X"FE",X"1C",X"C8",X"C8",X"D8",X"90",X"90",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"EE",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"EE",X"EE",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"EE",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"EE",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"E0",X"F0",X"F0",X"68",X"FA",X"FF",X"FF",X"FF",X"F0",X"88",X"80",
|
||||
X"EE",X"9C",X"10",X"00",X"90",X"E8",X"E0",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"08",X"F8",X"FC",X"FC",X"F8",X"F0",X"FE",X"BE",X"FE",X"F8",X"F0",X"E0",X"F0",X"80",X"DC",
|
||||
X"00",X"08",X"78",X"FC",X"FC",X"FC",X"FC",X"DF",X"FF",X"FC",X"F8",X"F0",X"F8",X"40",X"EE",X"9C",
|
||||
X"00",X"00",X"00",X"00",X"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"70",X"B8",X"FC",X"4C",X"06",X"06",X"06",X"06",X"06",X"06",X"0C",X"1C",X"38",X"F0",X"C0",
|
||||
X"38",X"DD",X"EA",X"C0",X"40",X"60",X"A4",X"A0",X"F0",X"F0",X"72",X"B0",X"B8",X"D8",X"D8",X"F0",
|
||||
X"B0",X"F0",X"F8",X"FC",X"8C",X"06",X"06",X"06",X"06",X"06",X"06",X"0C",X"1C",X"38",X"F0",X"C0",
|
||||
X"6B",X"77",X"D6",X"60",X"69",X"E0",X"F0",X"70",X"B0",X"B8",X"D8",X"D8",X"F8",X"F0",X"F0",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"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",X"F0",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"52",X"52",X"52",X"F7",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"7E",X"7E",X"7E",X"7E",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"1E",X"1E",X"1E",X"1E",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"40",X"40",X"4E",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"10",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"FE",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"10",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"FE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"7E",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"F0",X"F0",X"F0",
|
||||
X"00",X"00",X"1E",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"F7",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",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"FC",X"FC",X"FC",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"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"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",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"47",X"F1",X"52",X"54",X"65",X"42",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"42",X"4C",X"50",X"52",X"8C",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"5E",X"4A",X"4A",X"4C",X"88",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"50",X"50",X"5C",X"44",X"9C",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8C",X"52",X"52",X"4C",X"52",X"8C",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"24",X"54",X"54",X"54",X"54",X"26",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"24",X"54",X"54",X"74",X"14",X"66",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F3",X"14",X"64",X"83",X"94",X"67",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"C8",X"E8",X"FC",X"FC",X"FF",X"7C",X"BC",X"60",X"E0",X"E0",X"20",X"80",X"97",X"77",X"E4",X"E0",
|
||||
X"C8",X"E8",X"FC",X"FC",X"FF",X"7D",X"BF",X"63",X"E0",X"E0",X"20",X"80",X"90",X"70",X"E0",X"E0",
|
||||
X"0E",X"7C",X"D0",X"E0",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"C0",X"E0",X"F0",X"F0",X"F8",X"9A",X"8B",X"0B",X"13",X"F0",X"88",X"80",
|
||||
X"00",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"FF",X"FF",X"00",
|
||||
X"86",X"86",X"86",X"86",X"86",X"06",X"06",X"06",X"0E",X"0C",X"1C",X"38",X"F8",X"E0",X"80",X"00",
|
||||
X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",X"86",
|
||||
X"00",X"80",X"80",X"C0",X"E0",X"F0",X"F8",X"FC",X"DE",X"BE",X"1A",X"50",X"78",X"78",X"70",X"30",
|
||||
X"00",X"80",X"80",X"C0",X"EC",X"FE",X"FF",X"FF",X"CD",X"A8",X"3C",X"BC",X"D8",X"D8",X"C0",X"00",
|
||||
X"F0",X"E0",X"C0",X"F0",X"FC",X"F0",X"F0",X"B3",X"3F",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",
|
||||
X"E0",X"E0",X"C0",X"80",X"F0",X"F8",X"FC",X"FB",X"B7",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",
|
||||
X"C0",X"C0",X"80",X"F0",X"F8",X"FC",X"FB",X"B7",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",X"00",
|
||||
X"00",X"78",X"F0",X"C0",X"F0",X"F8",X"FC",X"FB",X"B7",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",
|
||||
X"78",X"F0",X"C0",X"F0",X"F8",X"FC",X"FB",X"B7",X"7F",X"67",X"4E",X"4E",X"04",X"00",X"00",X"00",
|
||||
X"00",X"00",X"E0",X"C0",X"00",X"E0",X"E0",X"30",X"00",X"CC",X"9C",X"FC",X"FC",X"1C",X"18",X"80",
|
||||
X"C0",X"80",X"00",X"00",X"00",X"E0",X"E0",X"30",X"00",X"CC",X"9C",X"FC",X"FC",X"1C",X"18",X"80",
|
||||
X"F0",X"E0",X"00",X"00",X"F0",X"F0",X"18",X"80",X"E6",X"CE",X"FE",X"FE",X"8E",X"8C",X"40",X"00",
|
||||
X"78",X"70",X"E0",X"00",X"00",X"0E",X"7C",X"78",X"80",X"CC",X"9C",X"FC",X"AC",X"AC",X"88",X"C0",
|
||||
X"C0",X"80",X"00",X"08",X"0E",X"0E",X"06",X"82",X"00",X"00",X"D8",X"F8",X"F8",X"38",X"30",X"00",
|
||||
X"EE",X"FE",X"EC",X"F8",X"F8",X"F8",X"FB",X"FF",X"FE",X"FC",X"E0",X"C0",X"80",X"00",X"00",X"00",
|
||||
X"E0",X"F0",X"E8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",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"80",X"80",X"C0",X"F0",X"E8",X"E8",X"E8",X"F8",X"F0",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"80",X"C0",X"E0",X"F8",X"F0",X"F4",X"D4",X"9A",X"3E",X"9E",X"0C",X"00",X"00",X"00",
|
||||
X"C0",X"E0",X"F0",X"F0",X"F8",X"F8",X"F8",X"F8",X"FC",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"E0",X"F0",X"F8",X"F8",X"FC",X"FC",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FC",X"FC",X"F8",X"F8",X"F0",X"E0",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"E0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",
|
||||
X"00",X"00",X"00",X"20",X"E0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",X"00",X"00",
|
||||
X"00",X"20",X"E0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"20",X"C0",X"00",X"40",X"40",X"40",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"80",X"00",X"08",X"10",X"20",X"C0",X"00",X"40",X"40",X"40",X"A0",X"50",X"20",X"00",X"00",X"00",
|
||||
X"00",X"0A",X"12",X"26",X"46",X"8C",X"04",X"40",X"40",X"30",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"20",X"20",X"40",X"70",X"00",X"40",X"10",X"10",X"10",X"08",X"00",X"30",X"20",X"00",X"00",X"00",
|
||||
X"00",X"08",X"08",X"5C",X"00",X"00",X"00",X"04",X"02",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",
|
||||
X"04",X"1C",X"88",X"02",X"00",X"00",X"60",X"22",X"04",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"7F",X"01",X"03",X"07",X"0F",X"1F",X"3F",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"18",X"F0",X"11",X"31",X"73",X"F2",X"F4",X"F8",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"03",X"0D",X"33",X"C3",X"07",X"0F",X"0F",X"1F",X"3C",X"30",X"C0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"06",X"08",X"F0",X"01",X"07",X"1F",X"FF",X"FE",X"F8",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"06",X"03",X"01",X"FF",X"FF",X"FE",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"06",X"18",X"E0",X"01",X"07",X"1F",X"FF",X"FE",X"F8",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"EE",X"EE",X"EE",X"EE",X"E0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"EE",X"EE",X"EE",X"EE",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"EE",X"EE",X"EE",X"EE",X"EE",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"02",X"02",X"66",X"77",X"FF",X"FF",X"FF",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"22",X"66",X"76",X"7F",X"7F",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"22",X"66",X"76",X"7F",X"7F",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"02",X"04",X"48",X"F8",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"80",X"01",X"02",X"8E",X"FC",X"14",X"4E",X"EC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"87",X"8F",X"F9",X"F2",X"E6",X"CF",X"11",X"F6",X"00",X"00",X"00",X"00",X"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"3C",X"3C",X"3C",X"7E",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"19",X"E3",X"03",X"03",X"C3",X"C6",X"C4",X"F8",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"03",X"0C",X"30",X"C0",X"0C",X"3C",X"3E",X"3F",X"3C",X"70",X"C0",X"00",
|
||||
X"00",X"E0",X"F0",X"C8",X"80",X"80",X"80",X"C4",X"60",X"70",X"30",X"32",X"60",X"C0",X"80",X"00",
|
||||
X"00",X"60",X"F0",X"98",X"0C",X"6C",X"6C",X"6C",X"4C",X"9C",X"38",X"F8",X"F0",X"E0",X"00",X"00",
|
||||
X"00",X"E0",X"F0",X"38",X"98",X"CC",X"EC",X"2C",X"8C",X"EC",X"FC",X"78",X"70",X"60",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"70",X"F0",X"98",X"58",X"58",X"38",X"F0",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"E0",X"30",X"B0",X"30",X"B0",X"E0",X"60",X"20",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"60",X"F0",X"B0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"C0",X"60",X"E0",X"60",X"20",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"80",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"80",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"08",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"08",X"80",X"00",X"00",X"00",
|
||||
X"00",X"80",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"20",X"20",X"20",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"40",X"40",X"40",X"40",X"48",X"08",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"E0",X"10",X"E8",X"68",X"A8",X"A8",X"A8",X"A8",X"E8",X"10",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"0C",X"0C",X"00",X"0A",X"00",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"2A",X"2A",X"12",X"C4",X"F8",X"E0",X"DC",X"C6",X"8E",X"D4",X"C8",X"D0",X"C0",X"00",X"00",X"00",
|
||||
X"20",X"29",X"12",X"C2",X"F8",X"E0",X"D8",X"C4",X"8E",X"CE",X"CA",X"C0",X"C0",X"00",X"00",X"00",
|
||||
X"94",X"54",X"54",X"14",X"C0",X"F8",X"E0",X"DC",X"CE",X"8B",X"C9",X"C5",X"C0",X"C0",X"00",X"00",
|
||||
X"29",X"29",X"72",X"66",X"78",X"60",X"F8",X"CC",X"C6",X"8F",X"DF",X"7B",X"E3",X"C6",X"5C",X"38",
|
||||
X"52",X"52",X"64",X"70",X"60",X"6E",X"F7",X"CF",X"CB",X"8A",X"C2",X"46",X"C4",X"C0",X"40",X"20",
|
||||
X"48",X"24",X"64",X"60",X"78",X"60",X"FC",X"C6",X"CF",X"9F",X"DB",X"56",X"C6",X"CC",X"40",X"20",
|
||||
X"E0",X"04",X"EA",X"EA",X"CF",X"E7",X"FB",X"EE",X"E0",X"D8",X"24",X"12",X"09",X"00",X"00",X"00",
|
||||
X"E0",X"04",X"EA",X"EA",X"CF",X"E7",X"FB",X"EE",X"E0",X"D0",X"20",X"28",X"48",X"08",X"10",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"E0",X"C0",X"9C",X"BE",X"E0",X"E0",X"E0",X"F0",X"F1",X"FF",X"1F",X"3F",X"3E",X"5E",X"1C",X"18",
|
||||
X"0E",X"1C",X"08",X"04",X"6C",X"FC",X"FC",X"FC",X"F8",X"F8",X"78",X"30",X"30",X"20",X"40",X"00",
|
||||
X"1E",X"38",X"1E",X"1C",X"1C",X"9C",X"F8",X"F0",X"E0",X"E0",X"E0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"3B",X"36",X"3E",X"7E",X"FF",X"FE",X"FE",X"FE",X"FC",X"F8",X"E0",X"60",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"EF",X"EF",X"EF",X"E0",X"0F",X"E0",X"20",X"20",X"20",X"20",X"E1",X"EF",X"2F",X"21",X"F0",
|
||||
X"5F",X"5F",X"5F",X"2F",X"17",X"08",X"07",X"00",X"00",X"80",X"E0",X"FF",X"3F",X"00",X"00",X"00",
|
||||
X"2F",X"2F",X"2F",X"E0",X"DE",X"0E",X"46",X"52",X"5A",X"1A",X"82",X"1A",X"5A",X"52",X"46",X"0E",
|
||||
X"00",X"00",X"80",X"E0",X"F0",X"F8",X"FC",X"7C",X"BC",X"5E",X"5E",X"5E",X"5E",X"5E",X"DE",X"00",
|
||||
X"5E",X"5F",X"5F",X"2F",X"17",X"0B",X"04",X"03",X"00",X"80",X"E0",X"FF",X"3F",X"00",X"00",X"00",
|
||||
X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"DE",X"00",X"2F",X"2F",X"2F",X"E0",
|
||||
X"00",X"2F",X"2F",X"2F",X"E0",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",X"5E",
|
||||
X"00",X"60",X"80",X"7F",X"FF",X"80",X"FF",X"00",X"00",X"00",X"00",X"00",X"0D",X"1E",X"1F",X"FF",
|
||||
X"FF",X"EF",X"EF",X"EF",X"E0",X"0F",X"E0",X"20",X"20",X"20",X"20",X"E1",X"EF",X"2F",X"21",X"F0",
|
||||
X"FF",X"EF",X"EF",X"EF",X"60",X"8F",X"60",X"20",X"20",X"20",X"20",X"61",X"EF",X"AF",X"21",X"70",
|
||||
X"EF",X"EF",X"EF",X"E0",X"0F",X"E0",X"A0",X"20",X"20",X"20",X"20",X"E1",X"EF",X"EF",X"2F",X"21",
|
||||
X"00",X"00",X"00",X"00",X"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"24",X"68",X"70",X"64",X"6C",X"ED",X"D9",X"FB",X"BB",X"FE",X"DE",X"DE",X"CC",X"48",X"20",
|
||||
X"40",X"20",X"A0",X"A0",X"80",X"80",X"80",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"80",X"80",X"80",
|
||||
X"50",X"48",X"08",X"F0",X"F0",X"E0",X"EC",X"C6",X"83",X"47",X"6D",X"6A",X"4A",X"44",X"0C",X"00",
|
||||
X"40",X"20",X"A0",X"A0",X"80",X"80",X"80",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"80",X"80",X"80",
|
||||
X"00",X"80",X"40",X"40",X"E0",X"B0",X"B0",X"E0",X"80",X"00",X"40",X"30",X"D8",X"E0",X"F8",X"70",
|
||||
X"00",X"80",X"40",X"40",X"E0",X"B0",X"B0",X"E0",X"90",X"1C",X"5E",X"1E",X"8E",X"04",X"00",X"00",
|
||||
X"00",X"80",X"40",X"40",X"E0",X"B8",X"B2",X"E6",X"9E",X"1C",X"40",X"00",X"80",X"00",X"00",X"00",
|
||||
X"C0",X"20",X"E2",X"D6",X"3C",X"68",X"80",X"10",X"40",X"00",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"03",X"4F",X"1E",X"90",X"E0",X"B0",X"B0",X"E0",X"20",X"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"03",X"4F",X"1E",X"90",X"E0",X"B0",X"B0",X"E0",X"20",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"00",X"00",X"00",X"F0",X"F0",X"A0",X"80",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"18",X"18",X"18",X"F0",X"F0",X"A0",X"80",X"80",X"00",
|
||||
X"00",X"00",X"00",X"FE",X"AE",X"5C",X"FC",X"18",X"18",X"18",X"F0",X"F0",X"A0",X"80",X"80",X"00",
|
||||
X"FC",X"06",X"FA",X"AE",X"5E",X"FC",X"FC",X"18",X"18",X"18",X"F0",X"F0",X"A0",X"80",X"80",X"00",
|
||||
X"FC",X"06",X"FA",X"FE",X"AE",X"5C",X"FC",X"18",X"18",X"18",X"F0",X"F0",X"A0",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"40",X"20",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"06",X"03",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"FE",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"FE",
|
||||
X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"10",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"18",X"10",X"00",
|
||||
X"00",X"30",X"30",X"30",X"30",X"32",X"32",X"32",X"32",X"32",X"32",X"30",X"30",X"30",X"30",X"00",
|
||||
X"40",X"60",X"60",X"64",X"64",X"66",X"66",X"66",X"66",X"66",X"66",X"64",X"64",X"60",X"60",X"40",
|
||||
X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"80",X"80",X"80",
|
||||
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"00",X"80",X"80",X"80",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"40",X"40",X"40",X"48",X"08",X"10",X"00",X"80",X"80",X"80",
|
||||
X"00",X"00",X"E0",X"10",X"E8",X"68",X"A8",X"A8",X"A8",X"A8",X"E8",X"10",X"E0",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"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"80",
|
||||
X"00",X"00",X"00",X"E0",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"C0",X"F8",X"C0",X"80",X"80",X"80",X"80",X"80",X"00",X"00",
|
||||
X"80",X"80",X"80",X"E0",X"F0",X"B8",X"D8",X"FF",X"D8",X"B8",X"F0",X"E0",X"80",X"80",X"80",X"80",
|
||||
X"80",X"80",X"F0",X"F8",X"9C",X"CC",X"EC",X"FF",X"EC",X"CC",X"9C",X"F8",X"F0",X"80",X"80",X"80",
|
||||
X"00",X"00",X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"10",X"00",X"C0",X"E0",X"E4",X"E0",X"C0",X"00",X"00",X"10",X"80",X"00",X"00",
|
||||
X"80",X"00",X"04",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"04",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"F0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"E0",X"C0",X"C0",X"C0",X"C0",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"40",X"60",X"F0",X"E0",X"E0",X"E0",X"C0",X"C0",X"80",X"80",X"C0",X"E0",X"00",
|
||||
X"80",X"80",X"80",X"80",X"90",X"B0",X"B8",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0",X"B8",X"B8",X"B0",
|
||||
X"80",X"80",X"90",X"90",X"90",X"90",X"FC",X"B0",X"B0",X"B0",X"B0",X"B0",X"B0",X"B8",X"B8",X"B0",
|
||||
X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"A0",X"A0",X"A0",X"B0",X"B0",X"B0",X"B8",X"B8",X"B0",
|
||||
X"00",X"80",X"80",X"C0",X"EC",X"FE",X"FF",X"FF",X"CD",X"A8",X"3C",X"BC",X"D8",X"D8",X"C0",X"00",
|
||||
X"C0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"F0",X"F0",X"78",X"F8",X"80",X"60",X"00",
|
||||
X"20",X"70",X"70",X"39",X"3E",X"FC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"78",X"00",X"00",
|
||||
X"00",X"00",X"84",X"8E",X"CE",X"CC",X"FC",X"FE",X"FF",X"FE",X"FC",X"FC",X"FC",X"FC",X"F8",X"F8",
|
||||
X"C0",X"E0",X"E0",X"E0",X"C0",X"10",X"F8",X"F8",X"E4",X"FE",X"FE",X"FC",X"FC",X"FC",X"F0",X"EC",
|
||||
X"00",X"20",X"66",X"F7",X"F3",X"FF",X"CF",X"DE",X"8C",X"C0",X"E0",X"F0",X"60",X"00",X"00",X"00",
|
||||
X"70",X"54",X"72",X"7E",X"C7",X"E3",X"EA",X"E6",X"F0",X"EC",X"12",X"09",X"04",X"00",X"00",X"00",
|
||||
X"60",X"F0",X"B0",X"EC",X"6E",X"96",X"DC",X"EC",X"E2",X"F3",X"E0",X"E4",X"56",X"5C",X"0E",X"00",
|
||||
X"04",X"0E",X"5F",X"57",X"14",X"C4",X"E2",X"E0",X"E8",X"FC",X"F6",X"DE",X"EC",X"B0",X"F0",X"60",
|
||||
X"00",X"00",X"00",X"10",X"92",X"A4",X"10",X"C0",X"CE",X"F3",X"E7",X"CF",X"EA",X"EA",X"A4",X"E8",
|
||||
X"80",X"00",X"00",X"C0",X"00",X"10",X"94",X"C0",X"D8",X"C0",X"F8",X"CC",X"1C",X"28",X"18",X"60",
|
||||
X"08",X"1C",X"66",X"1E",X"04",X"98",X"C0",X"D8",X"E0",X"D4",X"90",X"00",X"C0",X"00",X"00",X"80",
|
||||
X"00",X"40",X"00",X"90",X"E6",X"BF",X"BF",X"E6",X"20",X"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"D0",X"E4",X"B8",X"70",X"D4",X"B8",X"E8",X"5C",X"3C",X"D4",X"34",X"2C",X"18",X"00",
|
||||
X"00",X"0C",X"1E",X"18",X"D2",X"3C",X"5C",X"E8",X"B8",X"D4",X"70",X"B8",X"E4",X"D0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"20",X"10",X"F1",X"5D",X"5B",X"7E",X"CC",X"80",X"A0",X"80",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"40",X"20",X"A0",X"C0",X"C0",X"F0",X"B8",X"98",X"50",
|
||||
X"30",X"F8",X"98",X"E8",X"C0",X"C0",X"A0",X"20",X"40",X"40",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"98",X"90",X"30",X"60",X"60",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"34",X"28",X"60",X"50",X"E0",X"A0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"00",
|
||||
X"CC",X"98",X"90",X"A0",X"20",X"40",X"40",X"C0",X"40",X"40",X"00",X"A4",X"F8",X"FC",X"78",X"30",
|
||||
X"CC",X"98",X"30",X"60",X"E0",X"40",X"C0",X"80",X"00",X"04",X"00",X"81",X"07",X"1E",X"0C",X"00",
|
||||
X"70",X"C0",X"82",X"00",X"00",X"00",X"18",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"20",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"8C",X"52",X"22",X"32",X"2C",X"20",X"10",X"08",X"05",X"03",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"01",X"6D",X"AF",X"AB",X"A9",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"F0",X"B0",X"80",X"80",X"F0",X"30",X"F0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"D8",X"D8",X"58",X"58",X"58",X"58",X"D8",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FC",X"26",X"26",X"E6",X"26",X"26",X"26",X"26",X"FE",X"06",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FC",X"42",X"42",X"72",X"66",X"5E",X"52",X"42",X"FE",X"06",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"1B",X"9B",X"9B",X"9F",X"8F",X"87",X"8F",X"9B",X"13",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"FE",X"01",X"01",X"00",X"83",X"C3",X"CF",X"D3",X"D3",X"D3",X"D3",X"8F",X"00",X"01",X"01",X"FE",
|
||||
X"00",X"00",X"00",X"FE",X"01",X"01",X"00",X"83",X"CF",X"D3",X"D3",X"8F",X"00",X"01",X"01",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"01",X"01",X"CF",X"D3",X"DF",X"01",X"01",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7p.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7p.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7p 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 obj_7p 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"1F",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"07",X"07",X"00",X"00",X"03",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"3F",X"1F",
|
||||
X"0C",X"18",X"1C",X"18",X"00",X"00",X"00",X"40",X"E0",X"C0",X"00",X"00",X"07",X"1F",X"3F",X"1F",
|
||||
X"30",X"60",X"60",X"60",X"00",X"00",X"00",X"20",X"60",X"40",X"00",X"00",X"07",X"1F",X"3F",X"1F",
|
||||
X"78",X"38",X"00",X"00",X"00",X"40",X"E0",X"C0",X"80",X"00",X"00",X"00",X"07",X"1F",X"3F",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"00",X"00",X"00",
|
||||
X"00",X"10",X"1C",X"08",X"18",X"38",X"38",X"30",X"00",X"00",X"00",X"03",X"0F",X"1F",X"0F",X"0F",
|
||||
X"00",X"00",X"20",X"30",X"18",X"08",X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"1F",X"0F",X"0F",
|
||||
X"00",X"00",X"3C",X"00",X"00",X"40",X"E0",X"C0",X"00",X"1F",X"7F",X"3B",X"1E",X"00",X"00",X"00",
|
||||
X"7C",X"3E",X"00",X"00",X"00",X"00",X"00",X"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"70",X"38",X"10",X"40",X"E0",X"C0",X"00",X"00",X"1F",X"7F",X"FF",X"7F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",X"0F",X"0E",X"04",X"00",X"00",X"00",
|
||||
X"7D",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"20",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"1F",X"7F",X"FF",X"7F",
|
||||
X"00",X"00",X"00",X"00",X"20",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"1F",X"7F",X"FF",X"7F",
|
||||
X"00",X"00",X"00",X"00",X"20",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"1F",X"7F",X"FF",X"7F",
|
||||
X"78",X"00",X"00",X"00",X"00",X"C0",X"E0",X"00",X"00",X"0F",X"3F",X"1F",X"1F",X"0F",X"00",X"00",
|
||||
X"78",X"00",X"00",X"C0",X"C0",X"00",X"00",X"1F",X"7F",X"3F",X"1E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"09",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"30",X"70",X"E0",X"E0",X"C0",X"00",X"01",X"03",X"03",X"07",X"07",X"07",X"EF",X"ED",X"2C",X"07",
|
||||
X"30",X"70",X"E0",X"E0",X"C0",X"80",X"C1",X"C3",X"03",X"07",X"07",X"07",X"0F",X"0D",X"0C",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"11",X"11",X"EE",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"EE",X"11",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"EE",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"06",X"47",X"E0",X"C0",X"C0",X"40",X"00",X"00",X"40",X"C0",X"C0",X"C1",X"0B",X"1F",
|
||||
X"0F",X"0F",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"40",X"E0",X"EF",X"7F",X"3F",X"1F",
|
||||
X"00",X"00",X"02",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"1F",X"0F",X"0F",
|
||||
X"00",X"00",X"3F",X"40",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"40",X"3F",
|
||||
X"08",X"09",X"06",X"04",X"03",X"00",X"00",X"00",X"00",X"40",X"40",X"20",X"20",X"10",X"08",X"06",
|
||||
X"5B",X"BF",X"1B",X"11",X"41",X"01",X"01",X"02",X"12",X"03",X"02",X"02",X"06",X"06",X"1A",X"0A",
|
||||
X"0A",X"09",X"09",X"06",X"01",X"00",X"00",X"00",X"00",X"40",X"40",X"20",X"20",X"10",X"08",X"06",
|
||||
X"35",X"7F",X"23",X"11",X"01",X"24",X"85",X"0A",X"0C",X"0C",X"0C",X"19",X"19",X"09",X"09",X"09",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"1E",X"7E",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"1E",X"7E",X"FE",X"FE",X"FC",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"3E",X"7E",X"FE",X"FE",X"FC",X"BE",X"BE",X"3E",X"3E",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",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"01",X"01",X"01",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",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"BE",X"BE",X"BE",X"BE",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"BF",X"BF",X"BF",X"BF",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"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"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"2F",X"4F",X"17",X"22",X"14",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"20",X"60",X"C0",X"C0",X"04",X"03",X"07",X"17",X"1F",X"3F",X"3F",X"7F",X"FF",X"DD",X"5F",X"3F",
|
||||
X"20",X"60",X"C0",X"C0",X"04",X"83",X"C7",X"EF",X"7F",X"7F",X"3F",X"1F",X"0F",X"1D",X"1F",X"3F",
|
||||
X"2F",X"0F",X"1F",X"0F",X"17",X"07",X"09",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"03",X"60",X"40",X"40",X"00",X"04",X"0E",X"4E",X"FE",X"FE",X"FF",X"0B",X"1F",
|
||||
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"00",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"03",X"FF",X"FE",X"00",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"08",X"10",X"20",X"20",X"00",X"80",X"40",X"00",X"70",X"7F",X"F3",X"E7",X"4F",X"0E",X"06",X"00",
|
||||
X"08",X"10",X"20",X"20",X"00",X"00",X"40",X"80",X"30",X"3F",X"33",X"73",X"71",X"21",X"00",X"00",
|
||||
X"E0",X"7F",X"61",X"C0",X"00",X"80",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"70",X"7D",X"7F",X"61",X"C0",X"00",X"80",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",
|
||||
X"FB",X"7F",X"61",X"C0",X"00",X"80",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E1",X"F9",X"7F",X"61",X"C0",X"00",X"80",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",
|
||||
X"F9",X"FF",X"61",X"C0",X"00",X"80",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"1C",X"41",X"21",X"00",X"03",X"07",X"0E",X"0D",X"03",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"01",X"0D",X"0E",X"23",X"40",X"03",X"07",X"0E",X"0D",X"03",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"0E",X"1C",X"00",X"10",X"21",X"03",X"07",X"06",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"F4",X"72",X"30",X"00",X"00",X"00",X"CB",X"CB",X"7B",X"37",X"03",X"03",X"03",X"01",X"01",X"00",
|
||||
X"03",X"03",X"02",X"00",X"00",X"00",X"06",X"1D",X"3D",X"7B",X"F7",X"E7",X"67",X"26",X"02",X"01",
|
||||
X"06",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"3D",X"0F",X"07",X"04",X"7E",X"37",X"0F",
|
||||
X"06",X"08",X"10",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"08",X"10",X"20",X"20",X"00",X"00",X"00",X"00",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"08",X"10",X"20",X"20",X"00",X"00",X"40",X"00",X"70",X"7F",X"37",X"00",X"00",X"00",X"00",X"00",
|
||||
X"08",X"10",X"20",X"20",X"00",X"80",X"40",X"00",X"70",X"7F",X"73",X"27",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"08",X"08",X"08",X"08",X"08",X"0C",X"06",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"08",X"0C",X"06",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"04",X"06",X"03",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"01",
|
||||
X"00",X"00",X"00",X"00",X"06",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",
|
||||
X"00",X"00",X"06",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"67",X"31",X"19",X"1C",X"0E",X"0C",X"09",X"03",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"4E",X"64",X"31",X"19",X"1C",X"1C",X"0C",X"08",X"00",X"01",X"01",X"01",X"01",X"00",X"00",
|
||||
X"1F",X"0E",X"04",X"21",X"11",X"10",X"0C",X"0C",X"00",X"09",X"0A",X"02",X"01",X"01",X"00",X"00",
|
||||
X"0C",X"04",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"21",X"10",X"00",X"00",X"00",X"00",
|
||||
X"10",X"01",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"08",X"40",X"00",X"01",X"00",X"00",
|
||||
X"4C",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"C0",X"C0",X"E0",X"F0",X"F0",X"F8",X"3C",X"0C",X"02",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"8C",X"8E",X"4F",X"0F",X"0F",X"07",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"F0",X"E8",X"DC",X"BE",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"E0",X"70",X"1F",X"87",X"E0",X"78",X"1F",X"07",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"E0",X"78",X"1F",X"87",X"E0",X"78",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"1F",X"3F",X"00",X"60",X"6F",X"0F",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"0E",X"0E",X"10",X"11",X"E1",X"E0",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"E0",X"EE",X"0E",X"10",X"10",X"01",X"E1",X"EE",X"0E",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"E1",X"E1",X"10",X"10",X"0E",X"0E",X"E0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"FF",X"FF",X"BB",X"BB",X"B7",X"7F",X"DD",X"EF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"FF",X"FF",X"BB",X"BB",X"B7",X"7F",X"DD",X"EF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"7F",X"7B",X"77",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"00",X"00",X"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"0F",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"09",X"09",X"0F",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"61",X"12",X"1E",X"0B",X"79",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"80",X"C0",X"C0",X"C1",X"C3",X"F3",X"3F",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"38",X"B8",X"FC",X"7C",X"3C",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"81",X"C3",X"C3",X"C3",X"FF",X"FF",X"00",
|
||||
X"00",X"03",X"0E",X"18",X"12",X"36",X"2A",X"2B",X"29",X"28",X"28",X"14",X"1B",X"0C",X"03",X"00",
|
||||
X"00",X"00",X"00",X"01",X"02",X"02",X"22",X"36",X"3D",X"11",X"13",X"08",X"04",X"03",X"00",X"00",
|
||||
X"00",X"03",X"0C",X"0B",X"16",X"14",X"14",X"13",X"0C",X"03",X"00",X"00",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"0E",X"0A",X"15",X"16",X"15",X"15",X"0B",X"08",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"0A",X"0E",X"05",X"02",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"03",X"04",X"05",X"05",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"01",X"02",X"05",X"04",X"05",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"01",X"02",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",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"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"02",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"10",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"03",X"03",X"06",X"06",X"06",X"06",X"06",X"03",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"00",X"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"00",X"00",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"02",X"01",X"00",X"00",X"00",X"00",
|
||||
X"7F",X"E0",X"1F",X"30",X"3F",X"1F",X"1F",X"0F",X"07",X"07",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"54",X"54",X"50",X"43",X"77",X"07",X"17",X"27",X"72",X"50",X"52",X"42",X"20",X"00",X"00",X"00",
|
||||
X"A4",X"A4",X"90",X"43",X"77",X"07",X"37",X"67",X"E2",X"A0",X"82",X"C2",X"00",X"00",X"00",X"00",
|
||||
X"04",X"A8",X"A8",X"50",X"43",X"37",X"07",X"37",X"27",X"72",X"68",X"62",X"32",X"18",X"00",X"00",
|
||||
X"A8",X"A8",X"92",X"42",X"72",X"26",X"57",X"E7",X"F7",X"D2",X"D0",X"40",X"71",X"03",X"04",X"08",
|
||||
X"54",X"54",X"22",X"32",X"02",X"06",X"37",X"67",X"C7",X"E2",X"F0",X"D0",X"D1",X"E3",X"74",X"38",
|
||||
X"24",X"48",X"42",X"42",X"32",X"06",X"77",X"C7",X"E7",X"F2",X"D0",X"D0",X"61",X"33",X"04",X"08",
|
||||
X"60",X"6A",X"C0",X"F0",X"E3",X"C7",X"57",X"67",X"0F",X"77",X"48",X"90",X"20",X"00",X"00",X"00",
|
||||
X"60",X"6A",X"C0",X"F0",X"E3",X"C7",X"57",X"67",X"0F",X"17",X"28",X"28",X"24",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"00",X"00",X"00",X"00",X"00",
|
||||
X"F1",X"FF",X"63",X"C0",X"00",X"00",X"00",X"40",X"40",X"20",X"10",X"00",X"00",X"00",X"00",X"00",
|
||||
X"CF",X"7F",X"3F",X"63",X"01",X"03",X"23",X"27",X"15",X"17",X"06",X"04",X"00",X"00",X"00",X"00",
|
||||
X"38",X"1D",X"3F",X"07",X"06",X"07",X"27",X"7F",X"7F",X"7F",X"5B",X"31",X"31",X"10",X"00",X"00",
|
||||
X"38",X"1F",X"1F",X"08",X"0B",X"4F",X"CF",X"FF",X"FF",X"BE",X"EE",X"C6",X"46",X"44",X"00",X"00",
|
||||
X"FF",X"00",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"07",X"03",X"01",X"00",X"00",
|
||||
X"7F",X"7F",X"7F",X"7F",X"3B",X"30",X"33",X"27",X"20",X"26",X"20",X"26",X"2B",X"24",X"33",X"38",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"3F",
|
||||
X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"07",X"03",X"01",X"00",X"00",
|
||||
X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3C",X"3F",X"7F",X"7F",X"7F",X"7F",
|
||||
X"3F",X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",
|
||||
X"00",X"00",X"01",X"03",X"07",X"0E",X"1F",X"1E",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3C",
|
||||
X"03",X"00",X"00",X"00",X"F8",X"87",X"38",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E0",X"00",X"00",X"00",X"0F",X"F8",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"00",X"00",X"00",X"01",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"10",X"88",X"62",X"32",X"0A",X"3E",X"2F",X"77",X"77",X"FA",X"D8",X"CE",X"CD",X"67",X"64",X"38",
|
||||
X"04",X"08",X"08",X"0B",X"03",X"02",X"01",X"01",X"01",X"03",X"07",X"06",X"06",X"06",X"06",X"02",
|
||||
X"05",X"09",X"08",X"03",X"03",X"03",X"1B",X"33",X"63",X"F1",X"FB",X"DB",X"CB",X"6B",X"63",X"30",
|
||||
X"04",X"08",X"08",X"0B",X"03",X"02",X"01",X"01",X"01",X"03",X"07",X"06",X"06",X"06",X"06",X"02",
|
||||
X"00",X"03",X"17",X"1F",X"00",X"05",X"05",X"01",X"0C",X"0E",X"0A",X"1E",X"34",X"0E",X"3E",X"1C",
|
||||
X"00",X"0B",X"17",X"0F",X"00",X"05",X"05",X"01",X"1C",X"7E",X"FA",X"F6",X"E0",X"40",X"00",X"00",
|
||||
X"00",X"03",X"17",X"1F",X"00",X"25",X"85",X"C1",X"FC",X"7E",X"0A",X"06",X"00",X"00",X"00",X"00",
|
||||
X"07",X"2F",X"B0",X"C8",X"66",X"23",X"0C",X"1E",X"0A",X"06",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"46",X"EA",X"FE",X"1C",X"01",X"05",X"05",X"00",X"1F",X"17",X"0B",X"00",X"00",X"00",X"00",X"00",
|
||||
X"46",X"EA",X"FE",X"1C",X"01",X"05",X"05",X"00",X"1F",X"27",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"3F",X"1A",X"1D",X"0F",X"0E",X"0E",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"3A",X"1D",X"1F",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"3F",X"1A",X"1D",X"0F",X"0E",X"0E",X"0E",X"05",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"02",X"07",X"0A",X"0A",X"0F",X"07",X"02",X"0A",X"07",X"02",X"00",X"00",
|
||||
X"00",X"FF",X"FF",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"00",
|
||||
X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",
|
||||
X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",
|
||||
X"00",X"00",X"00",X"20",X"20",X"60",X"60",X"60",X"60",X"60",X"60",X"20",X"20",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"30",X"30",X"70",X"70",X"70",X"70",X"70",X"70",X"70",X"30",X"10",X"00",X"00",
|
||||
X"00",X"08",X"18",X"38",X"38",X"78",X"78",X"78",X"78",X"78",X"78",X"38",X"38",X"18",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"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"03",X"03",X"06",X"06",X"06",X"06",X"06",X"03",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"00",X"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"00",X"00",X"02",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"02",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"03",X"04",X"0B",X"0A",X"0A",X"0A",X"0A",X"0A",X"0B",X"04",X"03",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"02",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"03",X"04",X"09",X"0A",X"00",X"0A",X"09",X"04",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"08",X"13",X"16",X"14",X"00",X"14",X"16",X"13",X"08",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",X"05",X"07",X"02",X"07",X"05",X"03",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"02",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"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"19",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"04",X"04",X"04",X"04",X"05",X"0B",X"00",
|
||||
X"00",X"00",X"00",X"03",X"04",X"09",X"09",X"09",X"09",X"04",X"04",X"02",X"02",X"05",X"09",X"00",
|
||||
X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",
|
||||
X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",
|
||||
X"00",X"00",X"01",X"01",X"01",X"01",X"01",X"01",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",
|
||||
X"08",X"10",X"20",X"20",X"00",X"00",X"40",X"80",X"70",X"3F",X"33",X"73",X"71",X"21",X"00",X"00",
|
||||
X"36",X"08",X"20",X"20",X"30",X"70",X"78",X"24",X"1E",X"3F",X"38",X"13",X"07",X"07",X"05",X"03",
|
||||
X"00",X"00",X"00",X"06",X"0F",X"07",X"03",X"31",X"7A",X"B2",X"FE",X"FE",X"DF",X"5E",X"3C",X"18",
|
||||
X"00",X"03",X"5B",X"FB",X"D5",X"DC",X"F4",X"F3",X"FE",X"FC",X"7C",X"34",X"00",X"00",X"00",X"00",
|
||||
X"0F",X"19",X"1F",X"1F",X"1E",X"0F",X"0F",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"18",X"20",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"44",X"9C",X"0E",X"0E",X"04",
|
||||
X"30",X"65",X"D0",X"D0",X"F3",X"E7",X"5B",X"33",X"03",X"39",X"2C",X"48",X"90",X"00",X"00",X"00",
|
||||
X"3C",X"70",X"6C",X"78",X"20",X"1F",X"07",X"1B",X"23",X"29",X"09",X"00",X"03",X"00",X"00",X"01",
|
||||
X"01",X"00",X"00",X"03",X"00",X"08",X"2B",X"27",X"1B",X"03",X"1B",X"21",X"7C",X"30",X"1E",X"1C",
|
||||
X"00",X"00",X"00",X"10",X"92",X"4A",X"34",X"0F",X"67",X"D7",X"E7",X"E7",X"B1",X"41",X"2A",X"00",
|
||||
X"00",X"61",X"F2",X"EA",X"A4",X"25",X"0F",X"0F",X"0F",X"27",X"17",X"01",X"04",X"02",X"02",X"00",
|
||||
X"00",X"02",X"04",X"00",X"10",X"27",X"27",X"0F",X"0F",X"6F",X"C3",X"A1",X"EA",X"FA",X"39",X"10",
|
||||
X"06",X"0A",X"0E",X"1C",X"41",X"E5",X"E5",X"C0",X"1F",X"17",X"0B",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0E",X"1F",X"19",X"16",X"00",X"08",X"16",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"00",X"00",X"01",X"03",X"03",X"07",X"16",X"08",X"00",X"0E",X"1D",X"19",X"0A",
|
||||
X"00",X"00",X"00",X"00",X"00",X"05",X"0B",X"0F",X"40",X"D2",X"E2",X"78",X"3E",X"07",X"05",X"03",
|
||||
X"00",X"30",X"79",X"1A",X"4B",X"73",X"25",X"08",X"62",X"D4",X"F1",X"62",X"18",X"34",X"3C",X"18",
|
||||
X"18",X"3C",X"34",X"18",X"62",X"F1",X"D4",X"62",X"08",X"25",X"33",X"2B",X"2E",X"35",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"18",X"18",X"18",X"18",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"00",X"06",X"66",X"76",X"5E",X"4E",X"46",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"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",
|
||||
X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",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"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"00",X"7F",X"7F",X"00",X"D9",X"FB",X"AA",X"AA",X"AA",X"AA",X"AA",X"A9",X"00",X"7F",X"7F",X"00",
|
||||
X"00",X"00",X"00",X"00",X"7F",X"7F",X"00",X"D9",X"FA",X"AA",X"AA",X"A9",X"00",X"7F",X"7F",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"7F",X"7F",X"FB",X"AA",X"AB",X"7F",X"7F",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7s.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7s.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7s 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 obj_7s 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"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"80",X"00",X"F0",X"E0",X"00",X"00",X"0C",X"0C",X"0C",X"00",X"00",X"00",X"E0",X"F0",X"F8",X"FC",
|
||||
X"00",X"00",X"00",X"1C",X"1C",X"1C",X"04",X"00",X"00",X"03",X"03",X"03",X"E0",X"F0",X"F8",X"FC",
|
||||
X"00",X"00",X"10",X"38",X"1C",X"14",X"00",X"00",X"04",X"0E",X"0E",X"04",X"E0",X"F0",X"F8",X"FC",
|
||||
X"1E",X"1C",X"00",X"00",X"00",X"02",X"07",X"03",X"00",X"00",X"00",X"00",X"E0",X"F0",X"F8",X"FC",
|
||||
X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"00",X"F0",X"F8",X"FC",X"FE",X"9C",
|
||||
X"3C",X"38",X"00",X"00",X"18",X"18",X"1C",X"10",X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FE",X"BC",
|
||||
X"00",X"00",X"0F",X"00",X"00",X"03",X"03",X"00",X"00",X"70",X"FC",X"FE",X"FC",X"00",X"00",X"00",
|
||||
X"E0",X"00",X"00",X"20",X"70",X"78",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"00",X"00",X"00",X"06",X"06",X"06",X"02",X"02",X"00",X"00",X"80",X"C0",X"E0",X"F0",
|
||||
X"10",X"38",X"70",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"01",X"07",X"07",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"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"08",X"1C",X"0E",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"0E",X"1E",X"8C",X"C0",X"E0",X"F0",
|
||||
X"08",X"1C",X"0E",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"0E",X"1E",X"8C",X"C0",X"E0",X"F0",
|
||||
X"08",X"1C",X"0E",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"0E",X"1E",X"8C",X"C0",X"E0",X"F0",
|
||||
X"1E",X"00",X"00",X"00",X"00",X"03",X"03",X"00",X"00",X"F0",X"F8",X"FC",X"38",X"20",X"00",X"00",
|
||||
X"1E",X"00",X"00",X"03",X"07",X"00",X"00",X"70",X"FC",X"FE",X"3C",X"00",X"00",X"00",X"00",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"00",X"00",
|
||||
X"0C",X"0E",X"07",X"07",X"03",X"00",X"C0",X"E0",X"F0",X"F0",X"F0",X"F0",X"FB",X"DB",X"9A",X"E0",
|
||||
X"0C",X"0E",X"07",X"07",X"03",X"01",X"C3",X"E3",X"F0",X"F0",X"F0",X"F0",X"F8",X"D8",X"98",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"10",X"10",X"EE",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"EE",X"10",X"10",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"EE",X"10",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"02",X"03",X"03",X"03",X"F0",X"88",X"BC",
|
||||
X"FE",X"9C",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"04",X"06",X"03",X"03",X"01",X"00",X"0E",X"0E",X"06",X"00",X"00",X"E0",X"F0",X"F8",X"FC",
|
||||
X"00",X"04",X"06",X"03",X"03",X"01",X"00",X"07",X"03",X"00",X"00",X"F0",X"F8",X"FC",X"FE",X"9C",
|
||||
X"00",X"00",X"FC",X"02",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"02",X"FC",
|
||||
X"50",X"90",X"60",X"A0",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"EC",X"FE",X"6A",X"40",X"80",X"80",X"44",X"40",X"20",X"20",X"A2",X"40",X"40",X"68",X"68",X"50",
|
||||
X"70",X"30",X"20",X"60",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"7A",X"FF",X"D2",X"80",X"C9",X"40",X"40",X"90",X"D0",X"D8",X"68",X"28",X"28",X"10",X"10",X"90",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"BE",X"BE",X"3E",X"3E",X"1E",
|
||||
X"7E",X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FE",X"7E",X"7E",X"FA",X"F2",X"F0",X"F0",X"F0",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"F0",X"FC",X"FE",X"FE",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"FA",X"F2",X"F0",X"F0",X"F0",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"F8",X"FC",X"FE",X"FE",X"7E",X"F0",X"FC",X"FE",X"FE",X"7E",X"7E",X"FA",X"F2",X"F0",X"F0",X"F0",
|
||||
X"1E",X"1E",X"1E",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"52",X"F7",X"F7",X"F7",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",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"FE",X"FE",X"FE",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"F7",X"F7",X"F7",X"F7",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F4",X"E2",X"F0",X"48",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"04",X"06",X"03",X"03",X"40",X"80",X"C0",X"D0",X"F0",X"F8",X"F8",X"FC",X"FF",X"77",X"F4",X"F8",
|
||||
X"04",X"06",X"03",X"03",X"40",X"81",X"C3",X"D7",X"FE",X"FE",X"FC",X"F8",X"F0",X"70",X"F0",X"F8",
|
||||
X"FE",X"FC",X"D0",X"E0",X"F0",X"E8",X"40",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"00",X"00",X"00",X"90",X"62",X"77",X"F7",X"EF",X"F0",X"FA",X"FC",
|
||||
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"00",X"FF",X"FF",X"00",
|
||||
X"36",X"36",X"36",X"36",X"36",X"36",X"76",X"66",X"EE",X"CC",X"9C",X"38",X"F8",X"E0",X"80",X"00",
|
||||
X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",X"36",
|
||||
X"00",X"00",X"00",X"00",X"20",X"30",X"38",X"7C",X"DE",X"BE",X"1A",X"50",X"70",X"70",X"50",X"30",
|
||||
X"00",X"00",X"00",X"00",X"2C",X"3E",X"3F",X"7F",X"CD",X"A8",X"38",X"A8",X"D8",X"D8",X"C0",X"00",
|
||||
X"F0",X"E0",X"C0",X"F0",X"7C",X"70",X"70",X"33",X"3F",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",
|
||||
X"E0",X"E0",X"DC",X"F8",X"F0",X"78",X"7C",X"7B",X"37",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",
|
||||
X"F0",X"E0",X"C0",X"F0",X"78",X"7C",X"7B",X"37",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",X"00",
|
||||
X"C0",X"F8",X"F0",X"C0",X"F0",X"78",X"7C",X"7B",X"37",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",
|
||||
X"F8",X"F0",X"C0",X"F0",X"78",X"7C",X"7B",X"37",X"7F",X"65",X"46",X"46",X"04",X"00",X"00",X"00",
|
||||
X"00",X"00",X"E0",X"C0",X"00",X"E0",X"E0",X"30",X"00",X"CC",X"9C",X"FC",X"F4",X"0C",X"08",X"80",
|
||||
X"C0",X"80",X"00",X"00",X"00",X"E0",X"E0",X"30",X"00",X"CC",X"9C",X"FC",X"F4",X"0C",X"08",X"80",
|
||||
X"F0",X"E0",X"00",X"00",X"F0",X"F0",X"18",X"80",X"E6",X"CE",X"FE",X"FA",X"86",X"84",X"40",X"00",
|
||||
X"78",X"70",X"E0",X"00",X"00",X"0E",X"7C",X"78",X"80",X"CC",X"9C",X"F4",X"8C",X"8C",X"88",X"C0",
|
||||
X"C0",X"80",X"00",X"08",X"0E",X"0E",X"06",X"82",X"00",X"00",X"D8",X"38",X"F8",X"18",X"10",X"00",
|
||||
X"2E",X"1E",X"0C",X"08",X"08",X"08",X"0B",X"1F",X"3E",X"FC",X"E0",X"C0",X"80",X"00",X"00",X"00",
|
||||
X"20",X"10",X"08",X"08",X"08",X"08",X"08",X"18",X"30",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"20",X"20",X"20",X"60",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"30",X"28",X"28",X"68",X"F8",X"F0",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"20",X"38",X"30",X"70",X"D0",X"9A",X"3E",X"9E",X"0C",X"00",X"00",X"00",
|
||||
X"20",X"10",X"08",X"08",X"00",X"00",X"00",X"00",X"1C",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"60",X"10",X"00",X"00",X"00",X"04",X"04",X"08",X"10",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"20",X"00",X"04",X"04",X"04",X"08",X"08",X"10",X"20",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"10",X"08",X"08",X"08",X"08",X"08",X"18",X"30",X"E0",
|
||||
X"00",X"00",X"00",X"20",X"20",X"10",X"08",X"08",X"08",X"08",X"08",X"18",X"30",X"E0",X"00",X"00",
|
||||
X"00",X"20",X"20",X"10",X"08",X"08",X"08",X"08",X"08",X"18",X"30",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"FE",X"DE",X"1C",X"3C",X"38",X"38",X"38",X"90",X"D0",X"A0",X"80",X"80",X"00",
|
||||
X"7C",X"7E",X"F6",X"E6",X"CE",X"1C",X"2C",X"B8",X"38",X"38",X"10",X"80",X"80",X"80",X"80",X"00",
|
||||
X"7C",X"F0",X"E4",X"C8",X"88",X"10",X"28",X"30",X"38",X"08",X"80",X"E0",X"A0",X"80",X"80",X"00",
|
||||
X"18",X"14",X"08",X"00",X"00",X"00",X"08",X"04",X"04",X"00",X"00",X"88",X"10",X"00",X"00",X"00",
|
||||
X"06",X"03",X"00",X"00",X"00",X"10",X"02",X"01",X"01",X"10",X"20",X"00",X"86",X"80",X"80",X"00",
|
||||
X"04",X"0C",X"80",X"02",X"00",X"00",X"60",X"02",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"80",X"C0",X"E0",X"F0",X"E8",X"DC",X"BE",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"0F",X"0F",X"0F",X"0E",X"8C",X"C8",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F8",X"FE",X"FC",X"F0",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"0E",X"F8",X"E1",X"07",X"1E",X"F8",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8",X"FC",X"00",X"06",X"F6",X"F0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"1E",X"F8",X"E1",X"07",X"1E",X"F8",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"E1",X"E1",X"10",X"10",X"0E",X"0E",X"E0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"0E",X"0E",X"10",X"10",X"E0",X"E0",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"0E",X"EE",X"E1",X"11",X"10",X"00",X"0E",X"EE",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"FE",X"FE",X"BA",X"BB",X"77",X"FF",X"FF",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"FF",X"FF",X"BB",X"BB",X"B7",X"FF",X"DD",X"EF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"FF",X"FF",X"BB",X"BB",X"B7",X"FF",X"DD",X"EF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"E8",X"B0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"06",X"0C",X"18",X"30",X"EE",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"81",X"C3",X"C3",X"C3",X"FF",X"FF",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"1D",X"3F",X"3E",X"3C",X"F8",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"03",X"83",X"C3",X"CF",X"FC",X"F0",X"C0",X"00",X"00",
|
||||
X"00",X"E0",X"70",X"C8",X"80",X"80",X"80",X"44",X"A0",X"B0",X"D0",X"D2",X"A0",X"40",X"80",X"00",
|
||||
X"00",X"60",X"90",X"68",X"F4",X"94",X"94",X"94",X"B4",X"6C",X"C8",X"18",X"30",X"E0",X"00",X"00",
|
||||
X"00",X"E0",X"10",X"C8",X"68",X"34",X"14",X"D4",X"74",X"94",X"C4",X"48",X"50",X"60",X"80",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"40",X"40",X"40",X"80",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"70",X"90",X"68",X"A8",X"A8",X"C8",X"30",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"20",X"D0",X"50",X"D0",X"50",X"A0",X"60",X"20",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"60",X"90",X"50",X"20",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"A0",X"A0",X"60",X"20",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"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"80",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"08",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"08",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"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",X"E0",X"60",X"B0",X"B0",X"B0",X"B0",X"B0",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"20",X"10",X"10",X"10",X"10",X"10",X"10",X"10",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"FC",X"3C",X"E0",X"0A",X"E0",X"FE",X"7E",X"FC",X"F8",X"F0",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"2A",X"2A",X"12",X"C4",X"FC",X"C0",X"9C",X"C6",X"8E",X"16",X"8C",X"98",X"00",X"00",X"00",X"00",
|
||||
X"20",X"29",X"12",X"C2",X"FC",X"C0",X"98",X"C4",X"8E",X"0E",X"8A",X"82",X"04",X"00",X"00",X"00",
|
||||
X"94",X"54",X"54",X"14",X"C4",X"F8",X"C0",X"9C",X"CE",X"8B",X"09",X"85",X"80",X"00",X"00",X"00",
|
||||
X"29",X"29",X"92",X"86",X"BC",X"E0",X"D8",X"8C",X"C6",X"8F",X"1F",X"3B",X"23",X"87",X"5F",X"3C",
|
||||
X"52",X"52",X"84",X"98",X"A0",X"EE",X"D7",X"8F",X"CB",X"8B",X"03",X"07",X"06",X"80",X"40",X"20",
|
||||
X"48",X"24",X"84",X"84",X"B8",X"E0",X"DC",X"86",X"CF",X"9F",X"1B",X"17",X"07",X"8E",X"4C",X"20",
|
||||
X"0C",X"A6",X"0B",X"0B",X"CF",X"E7",X"DA",X"CC",X"C0",X"9C",X"24",X"12",X"09",X"00",X"00",X"00",
|
||||
X"0C",X"A6",X"0B",X"0B",X"CF",X"E7",X"DA",X"CC",X"C0",X"90",X"28",X"28",X"48",X"08",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"E0",X"C0",X"9C",X"BE",X"60",X"60",X"60",X"70",X"71",X"7F",X"1F",X"1F",X"16",X"1E",X"1C",X"18",
|
||||
X"0E",X"FC",X"F8",X"FC",X"F8",X"F8",X"F0",X"F8",X"F8",X"F8",X"78",X"30",X"30",X"20",X"40",X"00",
|
||||
X"1E",X"F8",X"FE",X"F0",X"70",X"B0",X"E0",X"C8",X"D0",X"D0",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"3B",X"FE",X"FE",X"E2",X"41",X"C0",X"C0",X"80",X"00",X"04",X"18",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"10",X"10",X"10",X"1F",X"F0",X"1F",X"DF",X"DF",X"DF",X"DF",X"FF",X"FF",X"DF",X"DF",X"FF",
|
||||
X"A0",X"A0",X"A0",X"D0",X"E8",X"F7",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"00",
|
||||
X"D0",X"D0",X"D0",X"FF",X"20",X"00",X"20",X"20",X"20",X"20",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"80",X"40",X"A0",X"A0",X"A0",X"A0",X"A0",X"20",X"FE",
|
||||
X"A0",X"A0",X"A0",X"D0",X"E8",X"F4",X"FB",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"00",
|
||||
X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"20",X"FE",X"D0",X"D0",X"D0",X"FF",
|
||||
X"FE",X"D3",X"D3",X"D3",X"FF",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",X"A0",
|
||||
X"00",X"7F",X"FF",X"80",X"00",X"7F",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"E1",X"E0",X"00",
|
||||
X"F0",X"10",X"10",X"10",X"1F",X"F0",X"1F",X"DF",X"DF",X"DF",X"DF",X"FF",X"FF",X"DF",X"DF",X"FF",
|
||||
X"70",X"10",X"10",X"10",X"9F",X"70",X"9F",X"DF",X"DF",X"DF",X"DF",X"FF",X"FF",X"DF",X"DF",X"FF",
|
||||
X"10",X"10",X"10",X"1F",X"F0",X"1F",X"5F",X"DF",X"DF",X"DF",X"DF",X"DF",X"FF",X"FF",X"DF",X"DF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"10",X"24",X"88",X"98",X"A4",X"EC",X"ED",X"D9",X"FB",X"BB",X"3F",X"9F",X"1F",X"8E",X"4C",X"20",
|
||||
X"40",X"20",X"A0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",
|
||||
X"50",X"48",X"08",X"F0",X"F0",X"E0",X"FC",X"E6",X"E3",X"47",X"6D",X"6B",X"6B",X"67",X"6E",X"00",
|
||||
X"40",X"20",X"A0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",
|
||||
X"00",X"80",X"D0",X"F0",X"00",X"40",X"40",X"00",X"60",X"E0",X"A0",X"F0",X"58",X"E0",X"F8",X"70",
|
||||
X"00",X"80",X"D0",X"F0",X"00",X"40",X"40",X"00",X"70",X"FC",X"BE",X"DE",X"0E",X"04",X"00",X"00",
|
||||
X"00",X"A0",X"D0",X"E0",X"00",X"48",X"42",X"06",X"7E",X"FC",X"A0",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"E8",X"1A",X"26",X"CC",X"88",X"60",X"F0",X"A0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C3",X"AF",X"FE",X"70",X"00",X"40",X"40",X"00",X"F0",X"D0",X"A0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C3",X"AF",X"FE",X"70",X"00",X"40",X"40",X"00",X"F0",X"C8",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"FE",X"AE",X"5C",X"FC",X"B8",X"B8",X"B8",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"AE",X"5E",X"FC",X"00",X"A0",X"A0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"FE",X"AE",X"5C",X"FC",X"B8",X"B8",X"B8",X"B0",X"D0",X"80",X"80",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"C0",X"A0",X"80",X"C0",X"E0",X"A0",X"A0",X"C0",X"80",X"00",X"00",
|
||||
X"00",X"F8",X"FC",X"06",X"06",X"00",X"FC",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FE",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"FE",X"00",
|
||||
X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",
|
||||
X"00",X"10",X"18",X"1C",X"1C",X"1E",X"1E",X"1E",X"1E",X"1E",X"1E",X"1C",X"1C",X"18",X"10",X"00",
|
||||
X"00",X"30",X"38",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"38",X"30",X"00",
|
||||
X"40",X"70",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"78",X"70",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"80",X"80",X"80",
|
||||
X"00",X"00",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80",
|
||||
X"00",X"00",X"C0",X"E0",X"60",X"B0",X"B0",X"B0",X"B0",X"B0",X"F0",X"E0",X"C0",X"80",X"80",X"80",
|
||||
X"00",X"00",X"00",X"20",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"20",X"00",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"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"80",
|
||||
X"00",X"00",X"E0",X"10",X"68",X"A8",X"A8",X"A8",X"A8",X"A8",X"E8",X"10",X"E0",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"40",X"20",X"00",X"20",X"40",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"60",X"10",X"48",X"28",X"00",X"28",X"48",X"10",X"60",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"70",X"08",X"64",X"34",X"14",X"00",X"14",X"34",X"64",X"08",X"70",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"60",X"D0",X"70",X"20",X"70",X"D0",X"60",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"60",X"20",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"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"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"20",X"C8",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"A0",X"A0",X"A0",X"20",X"10",X"00",
|
||||
X"00",X"00",X"00",X"80",X"00",X"00",X"10",X"10",X"90",X"A0",X"A0",X"C0",X"C0",X"A0",X"90",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"20",X"20",X"20",X"20",X"28",X"28",X"20",X"20",X"24",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"20",X"20",X"20",X"20",X"28",X"28",X"20",X"20",X"24",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"20",X"30",X"30",X"20",X"28",X"28",X"20",X"20",X"24",
|
||||
X"00",X"00",X"00",X"00",X"2C",X"3E",X"3F",X"7F",X"CF",X"AF",X"3B",X"AB",X"DF",X"DA",X"C0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"F0",X"F0",X"78",X"F8",X"F8",X"98",X"F0",
|
||||
X"20",X"70",X"70",X"39",X"22",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"84",X"8E",X"CE",X"CC",X"FC",X"0E",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"A0",X"E0",X"E0",X"C0",X"10",X"F8",X"78",X"24",X"1E",X"0E",X"0C",X"04",X"04",X"00",X"0C",
|
||||
X"18",X"3C",X"7A",X"FB",X"7F",X"7F",X"4D",X"5E",X"8C",X"C0",X"E0",X"F0",X"60",X"00",X"00",X"00",
|
||||
X"06",X"56",X"03",X"0F",X"C7",X"E3",X"EA",X"E6",X"F0",X"EE",X"12",X"09",X"04",X"00",X"00",X"00",
|
||||
X"00",X"40",X"20",X"20",X"08",X"84",X"C4",X"E0",X"E2",X"F3",X"E1",X"E5",X"57",X"5F",X"8E",X"00",
|
||||
X"04",X"8E",X"5F",X"57",X"15",X"C5",X"E3",X"E2",X"E0",X"E4",X"E4",X"88",X"00",X"20",X"40",X"00",
|
||||
X"00",X"00",X"00",X"10",X"92",X"A4",X"18",X"C0",X"CE",X"F3",X"E7",X"CF",X"0B",X"0B",X"A6",X"0C",
|
||||
X"80",X"00",X"00",X"C0",X"00",X"10",X"94",X"C4",X"D8",X"C0",X"F8",X"CC",X"1C",X"2C",X"1C",X"78",
|
||||
X"38",X"3C",X"66",X"1E",X"04",X"98",X"C0",X"D8",X"E4",X"D4",X"90",X"00",X"C0",X"00",X"00",X"80",
|
||||
X"C0",X"A0",X"E0",X"70",X"06",X"4F",X"4F",X"06",X"F0",X"D0",X"A0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"18",X"BC",X"2C",X"18",X"46",X"8F",X"2B",X"46",X"10",X"A4",X"CC",X"D4",X"F4",X"AC",X"18",X"00",
|
||||
X"00",X"0C",X"9E",X"58",X"D2",X"CC",X"A4",X"10",X"46",X"2B",X"8F",X"46",X"18",X"2C",X"3C",X"18",
|
||||
X"00",X"00",X"00",X"00",X"00",X"D0",X"E8",X"F8",X"01",X"A5",X"A3",X"8E",X"3C",X"70",X"50",X"60",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"E0",X"68",X"18",X"00",X"70",X"B8",X"98",X"50",
|
||||
X"30",X"F8",X"98",X"68",X"00",X"10",X"68",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"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"D3",X"D3",X"D3",X"D3",X"CE",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"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"1B",X"9B",X"9B",X"9F",X"8F",X"87",X"8F",X"9B",X"13",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"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"FE",X"00",X"83",X"C3",X"CF",X"D3",X"D3",X"D3",X"D3",X"8F",X"00",X"FE",X"FE",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FE",X"FE",X"00",X"83",X"CF",X"D3",X"D3",X"8F",X"00",X"FE",X"FE",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"CF",X"D3",X"DF",X"FE",X"FE",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7t.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7t.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7t 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 obj_7t 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"07",X"07",X"00",X"00",X"00",X"00",X"0C",X"1E",X"1C",X"1F",X"0F",X"06",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"18",X"1C",X"18",X"00",X"00",X"00",X"04",X"0E",X"3E",X"7C",X"3D",X"00",X"00",X"00",X"00",
|
||||
X"30",X"60",X"60",X"60",X"00",X"00",X"01",X"03",X"17",X"37",X"37",X"0A",X"00",X"00",X"00",X"00",
|
||||
X"78",X"38",X"00",X"00",X"00",X"00",X"00",X"24",X"7E",X"7E",X"3C",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"00",
|
||||
X"00",X"10",X"1C",X"08",X"08",X"00",X"00",X"0D",X"1F",X"07",X"07",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"20",X"30",X"18",X"08",X"03",X"07",X"07",X"07",X"02",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"3C",X"00",X"00",X"00",X"1E",X"3E",X"78",X"00",X"00",X"00",X"01",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"40",X"70",X"38",X"10",X"04",X"0E",X"3E",X"7C",X"39",X"00",X"00",X"00",X"00",
|
||||
X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"08",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"0E",
|
||||
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"04",X"EE",X"FE",X"FE",X"7D",X"33",X"00",X"03",X"02",X"00",
|
||||
X"00",X"02",X"08",X"00",X"00",X"00",X"04",X"EE",X"FE",X"FE",X"7D",X"33",X"00",X"03",X"02",X"00",
|
||||
X"10",X"80",X"20",X"00",X"00",X"00",X"04",X"EE",X"EE",X"FE",X"7D",X"33",X"00",X"03",X"02",X"00",
|
||||
X"78",X"00",X"00",X"00",X"00",X"18",X"1D",X"FE",X"7D",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"78",X"00",X"00",X"00",X"3D",X"FC",X"39",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"09",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"10",X"10",X"20",X"20",X"C2",X"01",X"02",X"09",X"09",X"18",X"18",X"38",X"10",X"03",X"03",X"00",
|
||||
X"10",X"10",X"20",X"20",X"C2",X"01",X"02",X"29",X"79",X"78",X"38",X"18",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"06",X"47",X"E0",X"C0",X"C0",X"40",X"04",X"0E",X"0E",X"3E",X"3E",X"3E",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"1F",X"3E",X"1C",X"10",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"0F",X"0F",X"07",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"3F",X"7F",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"7F",X"3F",
|
||||
X"00",X"00",X"18",X"38",X"3C",X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",X"1F",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"38",X"3E",X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",X"1F",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"3E",X"7E",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"7E",X"FE",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"1E",X"7E",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"1E",X"7E",X"FC",X"FC",X"FC",X"7E",X"FE",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"3E",X"7E",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"FC",X"7C",X"3E",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"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",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"0E",X"0E",X"0E",X"0E",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"0E",X"0E",X"0E",X"0E",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"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"06",X"1E",X"3E",X"7E",X"7E",X"FE",X"FE",X"FE",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"00",X"00",X"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"1F",X"1F",X"3B",X"3F",X"3F",X"1F",X"1C",X"3F",X"38",X"73",X"F3",X"DB",X"49",X"07",
|
||||
X"03",X"07",X"1F",X"1F",X"3B",X"BF",X"FF",X"EF",X"7C",X"7F",X"38",X"13",X"03",X"1B",X"09",X"07",
|
||||
X"07",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"1F",X"3F",X"3F",X"3F",X"1F",X"1F",X"4F",X"FF",X"FF",X"FF",X"03",X"03",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",
|
||||
X"0D",X"0D",X"1D",X"39",X"FB",X"E3",X"0F",X"FE",X"F8",X"03",X"FF",X"FE",X"00",X"FF",X"FF",X"00",
|
||||
X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",X"0D",
|
||||
X"00",X"09",X"06",X"09",X"10",X"29",X"06",X"29",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"06",X"09",X"10",X"29",X"06",X"29",X"30",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"3F",X"61",X"D2",X"0C",X"52",X"21",X"12",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1C",X"3F",X"61",X"D2",X"0C",X"52",X"21",X"12",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",
|
||||
X"18",X"3F",X"61",X"D2",X"0C",X"52",X"21",X"12",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E1",X"C1",X"3F",X"61",X"D2",X"0C",X"52",X"21",X"12",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C1",X"BF",X"61",X"D2",X"0C",X"52",X"21",X"12",X"0C",X"12",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"1C",X"1E",X"1F",X"0C",X"08",X"01",X"02",X"04",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"11",X"1C",X"1F",X"0C",X"08",X"01",X"02",X"04",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0E",X"0F",X"0E",X"04",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"0F",X"3F",X"0F",X"0F",X"04",X"04",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"07",X"07",X"0F",X"09",X"02",X"02",X"04",X"00",X"00",X"00",X"01",X"01",X"00",
|
||||
X"00",X"01",X"0A",X"04",X"04",X"04",X"0A",X"01",X"00",X"01",X"F0",X"F8",X"F8",X"00",X"08",X"00",
|
||||
X"00",X"01",X"0A",X"04",X"04",X"04",X"0A",X"01",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"06",X"09",X"10",X"29",X"06",X"09",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"06",X"09",X"10",X"29",X"06",X"09",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"06",X"09",X"10",X"29",X"06",X"09",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"08",X"09",X"0A",X"0D",X"08",X"0D",X"06",X"03",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"02",X"02",X"09",X"0E",X"06",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"05",X"02",X"02",X"01",X"06",X"06",X"03",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"0A",X"04",X"04",X"04",X"0A",X"01",X"00",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"0A",X"04",X"04",X"04",X"0A",X"01",X"00",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"0A",X"04",X"04",X"04",X"0A",X"01",X"00",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"10",X"0A",X"04",X"02",X"01",X"01",X"02",X"04",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"20",X"11",X"0A",X"04",X"02",X"03",X"01",X"02",X"04",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"41",X"23",X"16",X"0C",X"0E",X"13",X"03",X"0F",X"16",X"05",X"01",X"02",X"00",X"00",X"00",
|
||||
X"00",X"08",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"21",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"01",X"00",
|
||||
X"00",X"08",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"3F",X"0F",X"33",X"1C",X"0E",X"08",X"00",X"00",X"C0",X"F0",X"FC",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"7F",X"BF",X"DF",X"07",X"00",X"03",X"01",X"00",X"80",X"C0",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"3E",X"1C",X"08",X"10",X"20",X"40",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"0F",X"80",X"60",X"18",X"07",X"00",X"80",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"07",X"80",X"60",X"18",X"07",X"00",X"80",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C0",X"80",X"00",X"7F",X"00",X"00",X"80",X"C0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"1F",X"11",X"11",X"01",X"00",X"10",X"11",X"F1",X"F1",
|
||||
X"FF",X"FF",X"FF",X"1F",X"11",X"11",X"01",X"01",X"10",X"10",X"11",X"F1",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F1",X"10",X"10",X"01",X"01",X"11",X"11",X"1F",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",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"DF",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"80",X"80",X"80",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"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"04",X"06",X"07",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"3F",X"4F",X"33",X"3C",X"0E",X"00",X"00",X"00",X"C0",X"F0",X"FC",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"7F",X"BF",X"DF",X"67",X"00",X"07",X"03",X"00",X"80",X"C0",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"7E",X"3C",X"00",X"00",X"00",X"00",X"00",
|
||||
X"03",X"0C",X"11",X"27",X"2D",X"49",X"51",X"50",X"50",X"50",X"50",X"28",X"24",X"13",X"0C",X"07",
|
||||
X"00",X"20",X"21",X"62",X"65",X"75",X"5D",X"49",X"42",X"6E",X"2C",X"37",X"1B",X"0C",X"07",X"00",
|
||||
X"03",X"0C",X"13",X"14",X"28",X"28",X"28",X"2C",X"13",X"0C",X"07",X"80",X"00",X"01",X"0F",X"03",
|
||||
X"00",X"00",X"03",X"0C",X"11",X"15",X"2A",X"29",X"28",X"28",X"14",X"17",X"08",X"07",X"00",X"00",
|
||||
X"00",X"00",X"08",X"00",X"11",X"1B",X"1E",X"15",X"11",X"0A",X"0D",X"06",X"03",X"00",X"00",X"00",
|
||||
X"00",X"00",X"03",X"04",X"0B",X"0A",X"0A",X"0B",X"04",X"03",X"00",X"00",X"04",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"01",X"02",X"05",X"02",X"03",X"02",X"05",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"0D",X"06",X"05",X"02",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"02",X"05",X"05",X"02",X"01",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"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"08",X"00",X"00",X"04",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"40",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"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"0F",X"0E",X"0E",X"0E",X"0E",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",
|
||||
X"00",X"03",X"07",X"07",X"0F",X"0F",X"07",X"07",X"07",X"03",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"03",X"03",X"03",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"3F",X"30",X"00",X"00",X"00",X"00",X"05",X"03",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"0C",X"08",X"08",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"0C",X"08",X"08",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"07",X"2C",X"08",X"08",X"02",X"00",X"00",X"00",X"02",X"02",X"00",X"00",X"00",
|
||||
X"00",X"00",X"42",X"02",X"0A",X"0A",X"08",X"02",X"00",X"00",X"00",X"00",X"01",X"03",X"04",X"08",
|
||||
X"00",X"00",X"02",X"02",X"0A",X"0A",X"08",X"02",X"00",X"00",X"00",X"00",X"01",X"03",X"04",X"08",
|
||||
X"00",X"00",X"02",X"22",X"0A",X"0A",X"08",X"02",X"00",X"00",X"00",X"00",X"01",X"03",X"04",X"08",
|
||||
X"00",X"0A",X"01",X"01",X"04",X"08",X"08",X"0B",X"04",X"00",X"02",X"02",X"00",X"00",X"00",X"00",
|
||||
X"00",X"0A",X"01",X"01",X"04",X"08",X"08",X"0B",X"04",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"3C",X"63",X"D4",X"09",X"49",X"36",X"09",X"09",X"16",X"09",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"18",X"3E",X"6B",X"08",X"14",X"08",X"08",X"02",X"00",X"01",X"03",X"03",X"03",X"03",X"01",
|
||||
X"00",X"01",X"3B",X"07",X"06",X"02",X"00",X"00",X"00",X"00",X"24",X"0E",X"0E",X"0E",X"0E",X"04",
|
||||
X"00",X"03",X"17",X"0F",X"04",X"00",X"00",X"00",X"00",X"40",X"10",X"38",X"38",X"38",X"38",X"10",
|
||||
X"FF",X"FF",X"FF",X"00",X"00",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"00",X"00",X"00",X"00",X"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"0F",X"0C",X"18",X"1F",X"19",X"1F",X"19",X"14",X"1B",X"0C",X"07",
|
||||
X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"3F",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"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"03",
|
||||
X"FF",X"FF",X"07",X"00",X"F8",X"FF",X"C7",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",
|
||||
X"FF",X"FF",X"F0",X"00",X"0F",X"FF",X"F8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",
|
||||
X"FF",X"FF",X"FE",X"00",X"01",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"02",X"02",X"02",X"02",X"00",X"02",X"00",X"00",X"00",X"02",X"01",X"03",X"04",X"08",
|
||||
X"00",X"00",X"03",X"04",X"04",X"05",X"06",X"06",X"02",X"00",X"00",X"01",X"01",X"01",X"00",X"00",
|
||||
X"00",X"00",X"03",X"04",X"04",X"04",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"03",X"04",X"04",X"05",X"06",X"06",X"02",X"00",X"00",X"01",X"01",X"01",X"00",X"00",
|
||||
X"00",X"F3",X"74",X"1C",X"0F",X"50",X"70",X"3C",X"03",X"01",X"01",X"19",X"3F",X"3E",X"3E",X"1C",
|
||||
X"78",X"3B",X"14",X"0C",X"4F",X"70",X"30",X"1C",X"13",X"71",X"F1",X"F1",X"EB",X"70",X"00",X"00",
|
||||
X"00",X"F3",X"74",X"1C",X"0F",X"70",X"F0",X"FC",X"F3",X"71",X"01",X"01",X"0B",X"30",X"00",X"00",
|
||||
X"E7",X"68",X"BF",X"D7",X"79",X"3C",X"33",X"31",X"41",X"01",X"0B",X"30",X"00",X"00",X"00",X"00",
|
||||
X"41",X"E1",X"F1",X"73",X"3C",X"10",X"10",X"0F",X"18",X"14",X"0B",X"18",X"18",X"10",X"00",X"00",
|
||||
X"41",X"E1",X"F1",X"73",X"3C",X"10",X"10",X"0F",X"18",X"64",X"E3",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"05",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"0F",X"0E",X"0E",X"0E",X"05",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"3F",X"1A",X"1D",X"0F",X"0E",X"0E",X"0E",X"05",X"01",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"3A",X"1D",X"1F",X"0F",X"0E",X"0E",X"0E",X"07",X"03",X"03",X"03",X"01",X"01",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",X"1F",X"0F",X"03",
|
||||
X"03",X"0F",X"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",
|
||||
X"03",X"0F",X"1F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",X"3F",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"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"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"0F",X"0E",X"0E",X"0E",X"0E",X"0F",X"07",X"03",X"00",X"00",X"00",
|
||||
X"00",X"00",X"03",X"07",X"07",X"0F",X"0F",X"07",X"07",X"07",X"03",X"03",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"01",X"03",X"03",X"03",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"03",X"04",X"04",X"04",X"04",X"04",X"04",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"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"03",X"04",X"0B",X"16",X"14",X"00",X"14",X"16",X"0B",X"04",X"03",X"00",X"00",X"00",
|
||||
X"07",X"0F",X"18",X"37",X"6C",X"68",X"68",X"00",X"68",X"68",X"6C",X"37",X"18",X"0F",X"07",X"00",
|
||||
X"00",X"07",X"0F",X"1F",X"3C",X"38",X"38",X"39",X"38",X"38",X"3C",X"1F",X"0F",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"07",X"0F",X"0E",X"0C",X"0D",X"0C",X"0E",X"0F",X"07",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"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"01",X"02",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"02",X"02",X"02",X"00",X"04",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",X"06",X"06",X"04",X"04",X"00",X"02",X"01",X"01",X"02",X"06",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"04",X"04",X"04",X"0C",X"0C",X"0C",X"0C",X"14",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"04",X"04",X"04",X"0C",X"0C",X"0C",X"0C",X"14",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"02",X"04",X"04",X"04",X"0C",X"0C",X"0C",X"0C",X"14",
|
||||
X"00",X"09",X"06",X"09",X"10",X"09",X"06",X"09",X"70",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"02",X"25",X"22",X"12",X"15",X"08",X"05",X"02",X"01",X"00",X"00",X"00",X"00",X"02",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"42",X"02",X"02",X"21",X"20",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"28",X"20",X"00",X"03",X"06",X"04",X"06",X"05",X"00",X"00",X"00",X"00",
|
||||
X"00",X"06",X"00",X"00",X"00",X"00",X"07",X"04",X"00",X"03",X"04",X"04",X"02",X"01",X"02",X"00",
|
||||
X"00",X"00",X"00",X"10",X"0D",X"12",X"22",X"25",X"18",X"25",X"02",X"04",X"18",X"00",X"00",X"00",
|
||||
X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"01",X"02",X"00",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",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"01",X"00",X"01",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"03",X"00",X"06",X"07",X"03",X"00",X"00",X"00",X"0A",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",X"00",X"02",X"03",X"03",X"21",X"10",X"00",X"04",X"02",X"02",X"00",
|
||||
X"00",X"02",X"04",X"00",X"15",X"20",X"20",X"01",X"02",X"02",X"02",X"00",X"00",X"00",X"00",X"00",
|
||||
X"01",X"01",X"01",X"73",X"7C",X"F0",X"F0",X"CF",X"18",X"14",X"0B",X"18",X"18",X"10",X"00",X"00",
|
||||
X"0E",X"1F",X"1F",X"1F",X"02",X"0A",X"35",X"74",X"02",X"02",X"01",X"00",X"00",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"00",X"00",X"01",X"02",X"02",X"74",X"35",X"0A",X"02",X"0F",X"1F",X"1F",X"0E",
|
||||
X"00",X"00",X"08",X"0C",X"0C",X"05",X"0A",X"0C",X"67",X"F8",X"F8",X"7E",X"39",X"00",X"00",X"00",
|
||||
X"00",X"31",X"79",X"7A",X"7B",X"7C",X"32",X"11",X"11",X"08",X"08",X"1C",X"26",X"03",X"00",X"00",
|
||||
X"00",X"00",X"03",X"26",X"1C",X"08",X"08",X"11",X"11",X"32",X"3C",X"3B",X"3E",X"3D",X"19",X"00",
|
||||
X"0D",X"06",X"0E",X"06",X"06",X"03",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3B",X"3D",X"1D",X"1D",X"1F",X"0F",X"0E",X"0F",X"07",X"06",X"07",X"05",X"01",X"01",X"00",X"00",
|
||||
X"0D",X"06",X"06",X"02",X"02",X"03",X"01",X"01",X"03",X"03",X"03",X"0A",X"00",X"01",X"11",X"0E",
|
||||
X"3D",X"0D",X"06",X"06",X"03",X"03",X"02",X"00",X"00",X"00",X"00",X"40",X"20",X"32",X"00",X"00",
|
||||
X"07",X"00",X"00",X"00",X"00",X"02",X"00",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"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"1C",X"00",X"00",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"10",X"10",X"10",X"17",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1C",X"10",X"00",X"00",
|
||||
X"10",X"10",X"10",X"17",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1C",X"10",X"00",X"00",
|
||||
X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",
|
||||
X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"06",X"1E",X"3E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"00",
|
||||
X"80",X"00",X"00",X"FF",X"26",X"04",X"55",X"55",X"55",X"55",X"55",X"56",X"FF",X"00",X"00",X"80",
|
||||
X"FF",X"FF",X"FF",X"80",X"00",X"00",X"FF",X"26",X"05",X"55",X"55",X"56",X"FF",X"00",X"00",X"80",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"00",X"00",X"04",X"55",X"54",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",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;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7u.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/obj_7u.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity obj_7u 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 obj_7u 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"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"80",X"00",X"F0",X"E0",X"00",X"00",X"00",X"40",X"30",X"70",X"60",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"1C",X"1C",X"1C",X"04",X"90",X"6C",X"EC",X"DC",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"10",X"38",X"1C",X"14",X"C0",X"F0",X"F8",X"B0",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"1C",X"00",X"00",X"00",X"00",X"00",X"94",X"66",X"EC",X"E0",X"C0",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"F0",X"E0",X"00",X"00",X"00",X"00",X"26",X"9C",X"B8",X"B0",X"60",X"00",X"00",X"00",X"00",X"40",
|
||||
X"3C",X"38",X"00",X"00",X"00",X"E0",X"E0",X"C0",X"B8",X"30",X"60",X"00",X"00",X"00",X"00",X"60",
|
||||
X"00",X"00",X"0F",X"00",X"00",X"00",X"8C",X"77",X"E6",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",
|
||||
X"1C",X"1C",X"1C",X"18",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"06",X"06",X"86",X"52",X"E2",X"C0",X"90",X"38",X"38",X"1C",X"0C",
|
||||
X"10",X"38",X"70",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"70",X"F8",X"F8",X"E8",X"70",X"78",X"38",X"98",X"80",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"08",X"1C",X"0E",X"02",X"02",X"00",X"00",X"44",X"36",X"6E",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"88",X"1C",X"0E",X"02",X"02",X"00",X"00",X"44",X"36",X"68",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"08",X"1C",X"0E",X"02",X"02",X"00",X"00",X"44",X"06",X"6E",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1E",X"00",X"00",X"00",X"00",X"00",X"54",X"EF",X"DE",X"00",X"00",X"00",X"80",X"C0",X"00",X"00",
|
||||
X"1E",X"00",X"00",X"00",X"10",X"EF",X"CE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"00",X"00",
|
||||
X"08",X"08",X"04",X"04",X"23",X"C0",X"20",X"C8",X"C8",X"0C",X"0C",X"0E",X"04",X"60",X"60",X"00",
|
||||
X"08",X"08",X"04",X"04",X"23",X"C0",X"20",X"C4",X"CE",X"0E",X"0C",X"08",X"00",X"60",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"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"60",X"74",X"F4",X"EC",X"00",X"00",X"00",
|
||||
X"00",X"60",X"C0",X"E0",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"04",X"06",X"03",X"03",X"01",X"00",X"00",X"40",X"38",X"68",X"D0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"06",X"03",X"03",X"01",X"00",X"20",X"9C",X"34",X"68",X"00",X"00",X"00",X"00",X"40",
|
||||
X"00",X"00",X"FC",X"FE",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FE",X"FC",
|
||||
X"00",X"00",X"18",X"1C",X"BC",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",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"18",X"1C",X"7C",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",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"FC",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"3E",X"1E",X"06",X"00",X"00",X"00",X"00",
|
||||
X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FC",X"FC",X"F8",X"F0",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"52",X"52",X"52",X"F7",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"7E",X"7E",X"7E",X"7E",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",
|
||||
X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"1E",X"1E",X"1E",X"1E",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"7C",X"3E",X"0E",X"00",X"00",X"00",
|
||||
X"7E",X"7E",X"7E",X"7E",X"7E",X"FE",X"FE",X"7E",X"7E",X"7E",X"7C",X"FC",X"EC",X"0C",X"08",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"00",
|
||||
X"F0",X"FC",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7E",X"7C",X"FC",X"EC",X"0C",X"08",X"00",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"00",
|
||||
X"F8",X"FC",X"7E",X"00",X"00",X"F0",X"FC",X"7E",X"7E",X"7E",X"7C",X"FC",X"EC",X"0C",X"08",X"00",
|
||||
X"1E",X"1E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"52",X"F7",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FE",X"FE",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"F0",X"F0",X"F0",X"F0",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"F7",X"F7",X"F7",X"F7",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"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FE",X"FE",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"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"C0",X"E0",X"F8",X"F8",X"BC",X"FC",X"FC",X"F0",X"70",X"F8",X"38",X"9C",X"9F",X"B7",X"24",X"E0",
|
||||
X"C0",X"E0",X"F8",X"F8",X"BC",X"FD",X"FF",X"F7",X"7E",X"FE",X"3C",X"98",X"90",X"B0",X"20",X"E0",
|
||||
X"0E",X"1C",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"C0",X"E0",X"F0",X"F0",X"68",X"FA",X"FF",X"FF",X"FF",X"F0",X"F8",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",X"FF",X"FF",X"00",
|
||||
X"B6",X"B6",X"B6",X"B6",X"B6",X"36",X"76",X"66",X"EE",X"CC",X"9C",X"38",X"F8",X"E0",X"80",X"00",
|
||||
X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",X"B6",
|
||||
X"00",X"00",X"00",X"00",X"A0",X"60",X"20",X"60",X"C0",X"80",X"04",X"0E",X"0E",X"0E",X"2E",X"04",
|
||||
X"00",X"00",X"00",X"00",X"A0",X"60",X"20",X"60",X"C2",X"87",X"07",X"17",X"07",X"02",X"00",X"00",
|
||||
X"00",X"00",X"80",X"C0",X"40",X"C0",X"40",X"00",X"00",X"00",X"1A",X"38",X"38",X"38",X"38",X"10",
|
||||
X"00",X"00",X"1C",X"F8",X"C0",X"40",X"C0",X"40",X"00",X"00",X"1A",X"38",X"38",X"38",X"38",X"10",
|
||||
X"30",X"20",X"C0",X"C0",X"40",X"C0",X"40",X"00",X"00",X"1A",X"38",X"38",X"38",X"38",X"10",X"00",
|
||||
X"C0",X"80",X"00",X"80",X"C0",X"40",X"C0",X"40",X"00",X"00",X"1A",X"38",X"38",X"38",X"38",X"10",
|
||||
X"80",X"00",X"80",X"C0",X"40",X"C0",X"40",X"00",X"00",X"1A",X"38",X"38",X"38",X"38",X"10",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0",X"70",
|
||||
X"00",X"00",X"80",X"C0",X"C0",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"08",X"F0",X"F0",X"70",
|
||||
X"00",X"00",X"E0",X"C0",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"04",X"78",X"78",X"38",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"08",X"70",X"70",X"70",X"30",
|
||||
X"00",X"00",X"E0",X"F0",X"F0",X"F0",X"C0",X"00",X"00",X"01",X"02",X"C0",X"00",X"E0",X"E0",X"E0",
|
||||
X"A0",X"10",X"A8",X"48",X"48",X"48",X"A8",X"18",X"B0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"A0",X"10",X"A8",X"48",X"48",X"48",X"A8",X"18",X"B0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"A0",X"60",X"20",X"60",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"A0",X"70",X"30",X"70",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"A0",X"64",X"2E",X"6E",X"CE",X"84",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"20",X"C0",X"20",X"10",X"28",X"C0",X"20",X"1C",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"20",X"20",X"5C",X"84",X"48",X"50",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"C4",X"34",X"24",X"48",X"88",X"50",X"60",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"A0",X"10",X"A8",X"48",X"48",X"48",X"A8",X"18",X"B0",X"E0",
|
||||
X"00",X"00",X"00",X"20",X"A0",X"10",X"A8",X"48",X"48",X"48",X"A8",X"18",X"B0",X"E0",X"00",X"00",
|
||||
X"00",X"20",X"A0",X"10",X"A8",X"48",X"48",X"48",X"A8",X"18",X"B0",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"20",X"C0",X"80",X"80",X"80",X"40",X"20",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"00",X"08",X"10",X"20",X"D0",X"00",X"80",X"80",X"40",X"20",X"00",X"00",X"00",X"00",
|
||||
X"80",X"04",X"08",X"10",X"30",X"60",X"D0",X"88",X"80",X"C0",X"60",X"10",X"00",X"00",X"00",X"00",
|
||||
X"00",X"08",X"30",X"00",X"00",X"00",X"00",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"04",X"06",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"10",X"08",X"00",X"00",X"00",X"00",X"20",X"04",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"3E",X"1C",X"08",X"10",X"20",X"40",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"FD",X"FB",X"E0",X"00",X"E0",X"C0",X"80",X"01",X"03",X"07",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FC",X"F2",X"CC",X"3C",X"18",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F8",X"F0",X"01",X"06",X"18",X"E0",X"00",X"01",X"07",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"01",X"00",X"FE",X"00",X"00",X"01",X"03",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F8",X"E0",X"01",X"06",X"18",X"E0",X"00",X"01",X"07",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F1",X"10",X"10",X"01",X"01",X"11",X"11",X"1F",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"1F",X"11",X"11",X"01",X"01",X"11",X"11",X"F1",X"F1",
|
||||
X"FF",X"FF",X"FF",X"F1",X"11",X"10",X"00",X"01",X"11",X"11",X"11",X"1F",X"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"00",X"00",X"00",X"00",X"01",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",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"DF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"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"10",X"F0",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"7E",X"3C",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"FD",X"FB",X"E6",X"00",X"E0",X"C0",X"00",X"01",X"03",X"07",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FC",X"F2",X"CC",X"3C",X"70",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",
|
||||
X"E0",X"10",X"88",X"34",X"6C",X"42",X"60",X"B0",X"50",X"48",X"28",X"28",X"50",X"B0",X"60",X"80",
|
||||
X"F0",X"98",X"6C",X"94",X"0A",X"0A",X"0A",X"0A",X"0A",X"12",X"34",X"E4",X"C8",X"10",X"E0",X"00",
|
||||
X"F0",X"18",X"E8",X"34",X"14",X"0A",X"0A",X"0A",X"8A",X"6A",X"3A",X"B4",X"AC",X"98",X"70",X"C0",
|
||||
X"00",X"00",X"80",X"E0",X"90",X"00",X"80",X"40",X"A0",X"A0",X"A0",X"A0",X"40",X"80",X"00",X"00",
|
||||
X"00",X"00",X"00",X"F0",X"88",X"68",X"94",X"14",X"14",X"34",X"C8",X"10",X"E0",X"00",X"00",X"00",
|
||||
X"00",X"00",X"E0",X"30",X"D0",X"28",X"28",X"28",X"A8",X"58",X"90",X"50",X"E0",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"80",X"40",X"40",X"40",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"60",X"90",X"60",X"A0",X"D0",X"20",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"40",X"A0",X"50",X"50",X"90",X"50",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"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"10",X"00",X"00",X"08",X"00",X"00",X"10",X"80",X"00",X"00",X"00",X"00",
|
||||
X"80",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"02",X"80",X"00",
|
||||
X"00",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"00",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"40",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"00",X"20",X"40",X"00",X"00",X"00",X"00",
|
||||
X"00",X"20",X"10",X"90",X"48",X"48",X"48",X"48",X"48",X"00",X"10",X"20",X"00",X"00",X"00",X"00",
|
||||
X"00",X"E0",X"D0",X"E8",X"E8",X"E8",X"E8",X"E8",X"E8",X"E8",X"D0",X"E0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"C0",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"0C",X"00",X"E0",X"1F",X"00",X"A0",X"70",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"C4",X"20",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"C0",X"24",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"28",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"80",X"00",X"00",X"00",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"20",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"20",
|
||||
X"00",X"00",X"80",X"88",X"80",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"20",
|
||||
X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"00",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"80",X"40",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"80",X"44",X"40",X"C0",X"42",X"02",X"00",X"60",X"E0",X"E8",X"E0",X"E0",X"40",
|
||||
X"00",X"E0",X"F0",X"FC",X"D8",X"48",X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"80",X"80",
|
||||
X"00",X"C0",X"EE",X"F0",X"70",X"30",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C8",X"FC",X"E2",X"D5",X"48",X"C8",X"B4",X"48",X"40",X"20",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"F0",X"10",X"1F",X"FF",X"F0",X"30",X"30",X"30",X"30",X"10",X"10",X"30",X"30",X"F0",
|
||||
X"67",X"63",X"61",X"30",X"18",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"33",X"33",X"33",X"00",X"E6",X"F6",X"FE",X"EE",X"E6",X"E6",X"7E",X"E6",X"E6",X"EE",X"FE",X"F6",
|
||||
X"00",X"00",X"80",X"E0",X"70",X"38",X"1C",X"8C",X"CC",X"66",X"66",X"66",X"66",X"66",X"E6",X"FE",
|
||||
X"66",X"67",X"63",X"31",X"18",X"0C",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"E6",X"FE",X"33",X"33",X"33",X"00",
|
||||
X"FE",X"30",X"30",X"30",X"00",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",X"66",
|
||||
X"00",X"00",X"00",X"60",X"C0",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"0C",X"12",X"07",X"E7",
|
||||
X"FF",X"FF",X"F0",X"10",X"1F",X"FF",X"F0",X"30",X"30",X"30",X"30",X"10",X"10",X"30",X"30",X"F0",
|
||||
X"FF",X"FF",X"70",X"10",X"9F",X"FF",X"70",X"30",X"30",X"30",X"30",X"10",X"10",X"30",X"30",X"70",
|
||||
X"FF",X"F0",X"10",X"1F",X"FF",X"F0",X"B0",X"30",X"30",X"30",X"30",X"30",X"10",X"10",X"30",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"80",X"80",X"80",X"80",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"80",X"40",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"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"9E",X"5C",X"70",X"E0",X"14",X"1C",X"78",X"80",X"00",X"00",X"30",X"F8",X"F8",X"F8",X"70",
|
||||
X"00",X"9E",X"5C",X"70",X"E4",X"1C",X"18",X"70",X"90",X"1C",X"1E",X"1E",X"AE",X"1C",X"00",X"00",
|
||||
X"3C",X"B8",X"50",X"60",X"E0",X"1C",X"1E",X"7E",X"9E",X"1C",X"00",X"00",X"A0",X"18",X"00",X"00",
|
||||
X"CE",X"2C",X"FA",X"D6",X"3C",X"78",X"98",X"18",X"04",X"00",X"A0",X"18",X"00",X"00",X"00",X"00",
|
||||
X"03",X"0F",X"1E",X"9C",X"78",X"10",X"10",X"E0",X"30",X"50",X"A0",X"30",X"30",X"10",X"00",X"00",
|
||||
X"03",X"0F",X"1E",X"9C",X"78",X"10",X"10",X"E0",X"30",X"4C",X"8E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"B0",X"D0",X"80",X"80",X"80",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"FC",X"B8",X"B8",X"B8",X"B0",X"D0",X"80",X"80",X"80",X"00",
|
||||
X"00",X"F8",X"04",X"FE",X"AE",X"5C",X"FC",X"B8",X"B8",X"B8",X"B0",X"D0",X"80",X"80",X"80",X"00",
|
||||
X"FC",X"FE",X"FE",X"AE",X"5E",X"FC",X"FC",X"B8",X"B8",X"B8",X"B0",X"D0",X"80",X"80",X"80",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"00",X"A0",X"A0",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"F8",X"04",X"00",X"00",X"00",X"00",X"A0",X"A0",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"C0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"C0",
|
||||
X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",
|
||||
X"00",X"00",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"00",X"80",X"80",X"80",X"80",X"80",
|
||||
X"00",X"00",X"40",X"20",X"20",X"20",X"20",X"20",X"20",X"20",X"00",X"20",X"40",X"80",X"80",X"80",
|
||||
X"00",X"00",X"20",X"10",X"90",X"48",X"48",X"48",X"48",X"48",X"08",X"10",X"20",X"80",X"80",X"80",
|
||||
X"00",X"00",X"E0",X"D0",X"E8",X"E8",X"E8",X"E8",X"E8",X"E8",X"E8",X"D0",X"E0",X"80",X"80",X"80",
|
||||
X"00",X"00",X"C0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"C0",X"80",X"80",X"80",
|
||||
X"00",X"00",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"80",
|
||||
X"00",X"00",X"00",X"C0",X"80",X"40",X"40",X"40",X"40",X"40",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"60",X"10",X"68",X"34",X"14",X"00",X"14",X"34",X"68",X"10",X"60",X"00",X"00",X"00",
|
||||
X"70",X"78",X"0C",X"76",X"1B",X"0B",X"0B",X"00",X"0B",X"0B",X"1B",X"76",X"0C",X"78",X"70",X"00",
|
||||
X"00",X"F0",X"F8",X"FC",X"1E",X"0E",X"8E",X"CE",X"8E",X"0E",X"1E",X"FC",X"F8",X"F0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"F8",X"38",X"98",X"D8",X"98",X"38",X"F8",X"F0",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"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"C0",X"30",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"40",X"40",X"40",X"C0",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"E0",X"E0",X"E0",X"60",X"40",X"40",X"00",X"00",X"40",X"60",X"00",
|
||||
X"00",X"00",X"40",X"40",X"40",X"40",X"40",X"40",X"40",X"50",X"50",X"50",X"50",X"58",X"58",X"10",
|
||||
X"00",X"00",X"40",X"40",X"40",X"40",X"00",X"40",X"40",X"40",X"40",X"50",X"50",X"58",X"58",X"10",
|
||||
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"58",X"58",X"10",
|
||||
X"00",X"00",X"00",X"00",X"A0",X"60",X"20",X"60",X"C0",X"80",X"04",X"14",X"00",X"00",X"00",X"00",
|
||||
X"00",X"40",X"80",X"40",X"20",X"20",X"C0",X"00",X"20",X"E0",X"00",X"00",X"00",X"00",X"60",X"00",
|
||||
X"00",X"00",X"00",X"18",X"20",X"40",X"A4",X"18",X"A4",X"44",X"48",X"B0",X"08",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"F8",X"0E",X"90",X"60",X"90",X"08",X"90",X"60",X"90",X"08",
|
||||
X"00",X"40",X"00",X"00",X"00",X"00",X"80",X"40",X"A0",X"10",X"A8",X"48",X"44",X"B4",X"40",X"00",
|
||||
X"00",X"00",X"04",X"84",X"40",X"40",X"42",X"40",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"50",X"80",X"80",X"20",X"10",X"10",X"D0",X"20",X"00",X"40",X"40",X"00",X"00",X"00",X"00",
|
||||
X"00",X"40",X"20",X"20",X"98",X"64",X"24",X"90",X"50",X"40",X"40",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"60",X"D0",X"D0",X"D0",X"84",X"04",X"28",X"00",X"20",X"40",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"20",X"E0",X"C0",X"80",X"00",X"00",X"00",X"A0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"20",X"A0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"60",X"E0",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"9C",X"7E",X"1F",X"1F",X"E6",X"30",X"50",X"A0",X"30",X"30",X"10",X"00",X"00",
|
||||
X"00",X"80",X"C0",X"64",X"38",X"10",X"10",X"88",X"88",X"4C",X"3C",X"DC",X"FC",X"BC",X"98",X"00",
|
||||
X"00",X"8C",X"9E",X"5E",X"DE",X"3C",X"4C",X"88",X"88",X"10",X"10",X"38",X"64",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"08",X"18",X"18",X"D0",X"28",X"18",X"F3",X"0F",X"0F",X"3E",X"CC",X"80",X"80",X"80",
|
||||
X"80",X"80",X"80",X"00",X"00",X"80",X"40",X"40",X"2E",X"AC",X"58",X"40",X"F0",X"F8",X"F8",X"70",
|
||||
X"30",X"F8",X"F8",X"F8",X"40",X"50",X"AC",X"2E",X"40",X"40",X"80",X"00",X"00",X"80",X"80",X"80",
|
||||
X"E0",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"00",X"00",
|
||||
X"C8",X"D0",X"B0",X"A0",X"40",X"40",X"C0",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"E0",X"C0",X"C0",X"80",X"80",X"80",X"C0",X"C0",X"C0",X"50",X"00",X"80",X"40",X"20",
|
||||
X"F8",X"F0",X"E0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"04",X"00",X"00",X"06",X"0C",X"00",X"00",
|
||||
X"80",X"00",X"02",X"00",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"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"07",X"07",X"07",X"7F",X"E7",X"E7",X"E7",X"E7",X"7F",X"00",X"00",X"00",X"00",
|
||||
X"01",X"01",X"01",X"FD",X"FF",X"FF",X"FF",X"CF",X"FF",X"FF",X"FF",X"FF",X"07",X"01",X"00",X"00",
|
||||
X"01",X"01",X"01",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"01",X"00",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"00",X"00",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"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"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",X"FE",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"01",X"00",X"00",X"FF",X"7C",X"3C",X"30",X"2C",X"2C",X"2C",X"2C",X"70",X"FF",X"00",X"00",X"01",
|
||||
X"FF",X"FF",X"FF",X"01",X"00",X"00",X"FF",X"7C",X"30",X"2C",X"2C",X"70",X"FF",X"00",X"00",X"01",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"01",X"00",X"00",X"30",X"2C",X"20",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",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;
|
||||
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/snd_rom.vhd
Normal file
278
Arcade_MiST/Nintendo Mario Bros/rtl/rom/snd_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity snd_rom 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 snd_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"34",X"00",X"86",X"15",X"E5",X"14",X"51",X"34",X"46",X"B9",X"08",X"BA",X"04",X"BB",X"00",X"23",
|
||||
X"AA",X"AF",X"AE",X"B8",X"40",X"B0",X"02",X"94",X"10",X"94",X"10",X"FA",X"97",X"A7",X"F7",X"AA",
|
||||
X"94",X"10",X"94",X"10",X"FA",X"97",X"F7",X"AA",X"E9",X"17",X"86",X"2A",X"B9",X"0E",X"BA",X"30",
|
||||
X"B8",X"22",X"27",X"A0",X"18",X"A0",X"B8",X"40",X"A0",X"F4",X"00",X"F4",X"00",X"F4",X"69",X"F4",
|
||||
X"0D",X"F4",X"0D",X"F4",X"69",X"F4",X"1A",X"F4",X"1A",X"F4",X"69",X"E9",X"39",X"05",X"34",X"13",
|
||||
X"24",X"93",X"BA",X"30",X"B8",X"22",X"B0",X"00",X"18",X"B0",X"00",X"BB",X"00",X"B8",X"40",X"B0",
|
||||
X"01",X"34",X"55",X"14",X"6F",X"80",X"92",X"63",X"14",X"6F",X"80",X"92",X"52",X"04",X"68",X"34",
|
||||
X"55",X"B8",X"23",X"F0",X"03",X"1C",X"A0",X"F6",X"A5",X"83",X"B9",X"0C",X"BA",X"10",X"27",X"B8",
|
||||
X"22",X"A0",X"18",X"A0",X"AB",X"85",X"95",X"A5",X"F4",X"00",X"14",X"A8",X"E9",X"88",X"F4",X"00",
|
||||
X"14",X"A8",X"80",X"B2",X"8E",X"1A",X"F4",X"00",X"14",X"A8",X"80",X"B2",X"7A",X"B8",X"23",X"F0",
|
||||
X"03",X"08",X"A0",X"E6",X"95",X"34",X"13",X"B3",X"80",X"F2",X"A5",X"D2",X"A5",X"09",X"53",X"0F",
|
||||
X"96",X"A5",X"36",X"A5",X"56",X"A5",X"83",X"BA",X"0A",X"B8",X"22",X"B0",X"01",X"18",X"B0",X"00",
|
||||
X"85",X"95",X"A5",X"F4",X"64",X"F6",X"A5",X"B8",X"23",X"F0",X"03",X"14",X"F6",X"A5",X"F4",X"00",
|
||||
X"80",X"F2",X"A5",X"F4",X"00",X"80",X"F2",X"A5",X"F4",X"00",X"80",X"F2",X"A5",X"14",X"C3",X"F6",
|
||||
X"A5",X"C6",X"B9",X"60",X"BA",X"FF",X"BB",X"00",X"27",X"AE",X"AF",X"B8",X"40",X"B0",X"02",X"85",
|
||||
X"94",X"10",X"C9",X"F9",X"C6",X"A5",X"53",X"0F",X"96",X"F0",X"FA",X"97",X"67",X"AA",X"04",X"F0",
|
||||
X"F6",X"55",X"27",X"B8",X"20",X"A0",X"B8",X"21",X"A0",X"B8",X"24",X"A0",X"D5",X"AE",X"AF",X"C5",
|
||||
X"34",X"13",X"E9",X"34",X"45",X"36",X"6B",X"56",X"C5",X"09",X"12",X"37",X"32",X"F2",X"52",X"39",
|
||||
X"72",X"3B",X"80",X"F2",X"43",X"D2",X"41",X"B2",X"3F",X"92",X"3D",X"53",X"0F",X"03",X"F9",X"C6",
|
||||
X"35",X"94",X"10",X"24",X"13",X"44",X"3D",X"44",X"2A",X"44",X"00",X"24",X"8D",X"04",X"52",X"04",
|
||||
X"7A",X"04",X"B7",X"04",X"E2",X"05",X"C5",X"27",X"AE",X"AF",X"85",X"A5",X"B8",X"40",X"A0",X"B8",
|
||||
X"22",X"A0",X"18",X"A0",X"83",X"85",X"95",X"A5",X"B5",X"F4",X"0D",X"F4",X"0D",X"83",X"85",X"95",
|
||||
X"A5",X"B5",X"F4",X"0D",X"36",X"6B",X"F4",X"0D",X"36",X"6B",X"83",X"B9",X"02",X"BA",X"60",X"B8",
|
||||
X"22",X"B0",X"00",X"18",X"B0",X"00",X"B8",X"40",X"B0",X"01",X"34",X"55",X"E9",X"7A",X"BA",X"80",
|
||||
X"34",X"5E",X"B8",X"23",X"F0",X"03",X"0D",X"A0",X"E6",X"80",X"34",X"13",X"E9",X"B9",X"04",X"BA",
|
||||
X"40",X"B8",X"22",X"B0",X"00",X"18",X"B0",X"00",X"B8",X"40",X"B0",X"01",X"34",X"B6",X"B9",X"04",
|
||||
X"B8",X"23",X"B0",X"00",X"BB",X"00",X"F4",X"58",X"34",X"B6",X"B9",X"40",X"B8",X"23",X"B0",X"00",
|
||||
X"BB",X"00",X"F4",X"58",X"34",X"B6",X"F4",X"64",X"34",X"5E",X"B8",X"23",X"F0",X"03",X"10",X"A0",
|
||||
X"F6",X"13",X"E9",X"B6",X"83",X"B9",X"06",X"BA",X"20",X"B8",X"22",X"B0",X"00",X"18",X"B0",X"00",
|
||||
X"85",X"95",X"A5",X"F4",X"00",X"E9",X"D3",X"F4",X"69",X"B8",X"23",X"F0",X"03",X"08",X"A0",X"F6",
|
||||
X"13",X"F4",X"00",X"F4",X"00",X"E6",X"D7",X"C6",X"D7",X"17",X"C6",X"D7",X"F9",X"E3",X"96",X"D7",
|
||||
X"24",X"D5",X"B9",X"10",X"BA",X"40",X"BB",X"00",X"F4",X"69",X"F4",X"00",X"E9",X"F8",X"24",X"13",
|
||||
X"B9",X"30",X"BA",X"20",X"BB",X"40",X"B8",X"38",X"B0",X"04",X"F4",X"58",X"F4",X"1A",X"B8",X"38",
|
||||
X"F0",X"07",X"A0",X"C6",X"19",X"E9",X"0A",X"24",X"13",X"B0",X"04",X"F4",X"5D",X"F4",X"1A",X"B8",
|
||||
X"38",X"F0",X"07",X"A0",X"C6",X"06",X"E9",X"1B",X"24",X"13",X"B9",X"10",X"BA",X"30",X"B8",X"22",
|
||||
X"B0",X"E8",X"18",X"B0",X"E0",X"F4",X"58",X"F4",X"0D",X"E9",X"35",X"24",X"13",X"B8",X"30",X"B0",
|
||||
X"45",X"18",X"B0",X"0C",X"B8",X"40",X"B0",X"04",X"A5",X"27",X"62",X"44",X"68",X"80",X"F2",X"54",
|
||||
X"53",X"0F",X"96",X"56",X"24",X"13",X"94",X"10",X"E5",X"B8",X"23",X"F0",X"03",X"08",X"E6",X"65",
|
||||
X"27",X"AE",X"AF",X"44",X"66",X"A0",X"E9",X"4D",X"D4",X"9F",X"F8",X"C6",X"3D",X"44",X"4D",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"7F",X"04",X"08",X"0C",X"10",X"14",X"18",X"1C",X"20",X"24",X"28",X"2C",X"30",X"34",X"38",X"3C",
|
||||
X"40",X"44",X"48",X"4C",X"50",X"54",X"58",X"5C",X"60",X"64",X"68",X"6C",X"70",X"74",X"78",X"7C",
|
||||
X"60",X"03",X"06",X"09",X"0C",X"0F",X"12",X"15",X"18",X"1B",X"1E",X"21",X"24",X"27",X"2A",X"2D",
|
||||
X"30",X"33",X"36",X"39",X"3C",X"3F",X"42",X"45",X"48",X"4B",X"4E",X"51",X"54",X"57",X"5A",X"5D",
|
||||
X"40",X"02",X"04",X"06",X"08",X"0A",X"0C",X"0E",X"10",X"12",X"14",X"16",X"18",X"1A",X"1C",X"1E",
|
||||
X"20",X"22",X"24",X"26",X"28",X"2A",X"2C",X"2E",X"30",X"32",X"34",X"36",X"38",X"3A",X"3C",X"3E",
|
||||
X"30",X"01",X"03",X"04",X"06",X"07",X"09",X"0A",X"0C",X"0D",X"0F",X"10",X"12",X"13",X"15",X"16",
|
||||
X"18",X"19",X"1B",X"1C",X"1E",X"1F",X"21",X"22",X"24",X"25",X"27",X"28",X"2A",X"2B",X"2D",X"2E",
|
||||
X"20",X"01",X"02",X"03",X"04",X"05",X"06",X"07",X"08",X"09",X"0A",X"0B",X"0C",X"0D",X"0E",X"0F",
|
||||
X"10",X"11",X"12",X"13",X"14",X"15",X"16",X"17",X"18",X"19",X"1A",X"1B",X"1C",X"1D",X"1E",X"1F",
|
||||
X"18",X"00",X"01",X"02",X"03",X"03",X"04",X"05",X"06",X"06",X"07",X"08",X"09",X"09",X"0A",X"0B",
|
||||
X"0C",X"0C",X"0D",X"0E",X"0F",X"0F",X"10",X"11",X"12",X"12",X"13",X"14",X"15",X"15",X"16",X"17",
|
||||
X"10",X"00",X"01",X"01",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"05",X"06",X"06",X"07",X"07",
|
||||
X"08",X"08",X"09",X"09",X"0A",X"0A",X"0B",X"0B",X"0C",X"0C",X"0D",X"0D",X"0E",X"0E",X"0F",X"0F",
|
||||
X"0C",X"00",X"00",X"01",X"01",X"01",X"02",X"02",X"03",X"03",X"03",X"04",X"04",X"04",X"05",X"05",
|
||||
X"06",X"06",X"06",X"07",X"07",X"07",X"08",X"08",X"09",X"09",X"09",X"0A",X"0A",X"0A",X"0B",X"0B",
|
||||
X"00",X"E0",X"01",X"80",X"20",X"40",X"C0",X"00",X"04",X"10",X"09",X"12",X"13",X"60",X"05",X"A0",
|
||||
X"D5",X"B8",X"20",X"80",X"53",X"0F",X"20",X"37",X"17",X"60",X"96",X"55",X"B8",X"21",X"F0",X"C6",
|
||||
X"3C",X"F2",X"E2",X"D2",X"E4",X"B2",X"E6",X"52",X"D2",X"E9",X"3C",X"FF",X"96",X"31",X"FE",X"C6",
|
||||
X"91",X"FA",X"03",X"F8",X"A9",X"F6",X"39",X"B9",X"01",X"27",X"AE",X"AF",X"B8",X"40",X"F0",X"12",
|
||||
X"48",X"32",X"4B",X"52",X"4E",X"F5",X"24",X"6F",X"F5",X"44",X"00",X"F5",X"44",X"7E",X"F5",X"24",
|
||||
X"00",X"B8",X"21",X"B0",X"00",X"B8",X"21",X"F0",X"03",X"FC",X"C6",X"D2",X"B8",X"20",X"F0",X"A3",
|
||||
X"92",X"E8",X"72",X"EA",X"F2",X"DC",X"D2",X"DE",X"B2",X"E0",X"52",X"AA",X"B8",X"21",X"F0",X"F2",
|
||||
X"E2",X"D2",X"E4",X"B2",X"E6",X"52",X"D2",X"12",X"29",X"B0",X"00",X"B8",X"20",X"F0",X"A3",X"52",
|
||||
X"AC",X"C6",X"EC",X"B8",X"21",X"A0",X"E7",X"43",X"F0",X"A8",X"B9",X"30",X"B1",X"03",X"19",X"B1",
|
||||
X"0B",X"B8",X"30",X"D4",X"36",X"B8",X"20",X"F9",X"C6",X"51",X"B9",X"08",X"B8",X"24",X"B0",X"00",
|
||||
X"FA",X"03",X"F8",X"F6",X"3C",X"FA",X"07",X"A9",X"84",X"3C",X"12",X"6C",X"B8",X"21",X"A0",X"12",
|
||||
X"BA",X"B9",X"32",X"B1",X"14",X"19",X"B1",X"0B",X"84",X"C1",X"B9",X"32",X"B1",X"27",X"19",X"B1",
|
||||
X"0B",X"B8",X"32",X"D4",X"36",X"B8",X"20",X"F9",X"C6",X"51",X"B8",X"24",X"B0",X"00",X"FA",X"A9",
|
||||
X"84",X"3C",X"B8",X"24",X"F0",X"03",X"10",X"A0",X"E9",X"3C",X"84",X"C1",X"A4",X"00",X"A4",X"2B",
|
||||
X"A4",X"4B",X"A4",X"0F",X"A4",X"38",X"A4",X"56",X"C4",X"5F",X"C4",X"B7",X"27",X"AE",X"AF",X"84",
|
||||
X"3C",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"D2",X"6D",X"B8",X"21",X"A0",X"B2",X"9D",X"B9",X"18",X"BA",X"20",X"B8",X"24",X"B0",X"20",X"D2",
|
||||
X"80",X"B2",X"A5",X"F4",X"3F",X"6A",X"AA",X"F6",X"F2",X"F9",X"12",X"E5",X"FA",X"03",X"80",X"E6",
|
||||
X"E5",X"B8",X"24",X"F0",X"03",X"20",X"A0",X"A4",X"E5",X"84",X"3C",X"B8",X"21",X"A0",X"B2",X"B9",
|
||||
X"B9",X"18",X"BA",X"40",X"B8",X"24",X"B0",X"00",X"B2",X"C1",X"F4",X"58",X"F6",X"F2",X"F9",X"03",
|
||||
X"F2",X"F6",X"58",X"B8",X"24",X"F0",X"03",X"10",X"A0",X"A4",X"58",X"B8",X"21",X"A0",X"B9",X"28",
|
||||
X"BA",X"60",X"B8",X"24",X"B0",X"00",X"F4",X"69",X"F9",X"53",X"03",X"C6",X"69",X"12",X"64",X"F4",
|
||||
X"31",X"6A",X"A4",X"E6",X"F4",X"37",X"6A",X"A4",X"E6",X"F4",X"69",X"A4",X"E5",X"37",X"B2",X"74",
|
||||
X"C5",X"F5",X"04",X"05",X"B8",X"21",X"B0",X"C0",X"B9",X"28",X"BA",X"30",X"B8",X"24",X"B0",X"00",
|
||||
X"F9",X"03",X"E0",X"96",X"89",X"BA",X"48",X"A4",X"96",X"F6",X"E5",X"F9",X"53",X"03",X"96",X"96",
|
||||
X"B8",X"24",X"F0",X"03",X"20",X"A0",X"F9",X"12",X"E5",X"F4",X"69",X"A4",X"E5",X"B9",X"80",X"BA",
|
||||
X"E0",X"B8",X"24",X"B0",X"00",X"F9",X"12",X"AC",X"F4",X"69",X"E6",X"F2",X"F9",X"03",X"F0",X"F6",
|
||||
X"E5",X"B8",X"24",X"F0",X"03",X"10",X"A0",X"A4",X"E5",X"B9",X"B0",X"BA",X"80",X"B8",X"24",X"B0",
|
||||
X"00",X"F9",X"47",X"53",X"0F",X"03",X"FA",X"E6",X"D0",X"C6",X"E1",X"A8",X"E8",X"E1",X"A4",X"D0",
|
||||
X"F4",X"64",X"F6",X"F2",X"F9",X"03",X"F0",X"F6",X"58",X"B8",X"24",X"F0",X"03",X"10",X"A0",X"A4",
|
||||
X"58",X"F4",X"69",X"A4",X"58",X"FA",X"47",X"E7",X"AE",X"53",X"1F",X"AF",X"FE",X"53",X"E0",X"AE",
|
||||
X"E9",X"29",X"B8",X"21",X"B0",X"00",X"84",X"EC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"2D",X"24",X"2F",X"D3",X"32",X"AB",X"35",X"AF",X"38",X"E0",X"00",X"00",X"3C",X"42",X"3F",X"D7",
|
||||
X"43",X"A3",X"47",X"A9",X"4B",X"EB",X"50",X"6F",X"55",X"38",X"F0",X"96",X"20",X"18",X"10",X"C8",
|
||||
X"18",X"F0",X"37",X"17",X"03",X"0B",X"C6",X"2A",X"C4",X"30",X"C8",X"F0",X"10",X"F5",X"64",X"00",
|
||||
X"C8",X"F0",X"10",X"F5",X"84",X"5A",X"D4",X"1A",X"A9",X"F2",X"41",X"C6",X"5E",X"AA",X"D4",X"1A",
|
||||
X"A9",X"F9",X"53",X"0F",X"E7",X"A8",X"A3",X"AF",X"F8",X"17",X"A3",X"AE",X"F9",X"53",X"30",X"47",
|
||||
X"A8",X"FF",X"97",X"67",X"AF",X"FE",X"67",X"AE",X"18",X"F8",X"03",X"FB",X"96",X"51",X"83",X"F4",
|
||||
X"70",X"D4",X"9F",X"D4",X"AA",X"27",X"62",X"F5",X"34",X"00",X"E5",X"80",X"53",X"0F",X"03",X"F6",
|
||||
X"96",X"74",X"84",X"10",X"B8",X"23",X"F0",X"03",X"08",X"E6",X"80",X"27",X"AE",X"AF",X"C4",X"81",
|
||||
X"A0",X"E9",X"88",X"D4",X"9F",X"F8",X"C6",X"DC",X"D5",X"B8",X"24",X"F0",X"03",X"08",X"E6",X"95",
|
||||
X"27",X"AE",X"AF",X"C4",X"96",X"A0",X"E9",X"67",X"D4",X"AA",X"F8",X"C6",X"DC",X"C4",X"67",X"B8",
|
||||
X"23",X"B0",X"00",X"C5",X"B8",X"30",X"D4",X"36",X"C4",X"B3",X"B8",X"24",X"B0",X"00",X"D5",X"B8",
|
||||
X"32",X"D4",X"36",X"FA",X"29",X"A8",X"83",X"F4",X"70",X"85",X"A5",X"D4",X"A3",X"B8",X"23",X"B0",
|
||||
X"20",X"D4",X"AE",X"B8",X"24",X"B0",X"20",X"27",X"62",X"F5",X"34",X"00",X"E5",X"E9",X"D4",X"D4",
|
||||
X"9F",X"F8",X"C6",X"DC",X"D5",X"E9",X"C9",X"D4",X"AA",X"F8",X"96",X"C9",X"27",X"D5",X"AE",X"AF",
|
||||
X"C5",X"AE",X"AF",X"24",X"13",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FA",X"47",X"E7",X"AE",X"53",X"1F",X"AF",X"FE",X"53",X"E0",X"AE",X"84",X"10",X"FA",X"77",X"77",
|
||||
X"AE",X"53",X"3F",X"AF",X"FE",X"53",X"C0",X"AE",X"84",X"10",X"FA",X"77",X"AE",X"53",X"7F",X"AF",
|
||||
X"FE",X"53",X"80",X"AE",X"84",X"10",X"FE",X"6F",X"E6",X"2B",X"1F",X"6F",X"E6",X"2F",X"1F",X"AE",
|
||||
X"83",X"FA",X"97",X"67",X"C6",X"56",X"83",X"FA",X"77",X"77",X"53",X"3F",X"C6",X"56",X"83",X"FA",
|
||||
X"47",X"E7",X"53",X"1F",X"C6",X"56",X"83",X"FA",X"47",X"53",X"0F",X"C6",X"56",X"83",X"FA",X"47",
|
||||
X"77",X"53",X"07",X"C6",X"56",X"83",X"17",X"83",X"F4",X"47",X"6A",X"AA",X"83",X"F4",X"47",X"37",
|
||||
X"17",X"6A",X"AA",X"83",X"F4",X"4E",X"6A",X"AA",X"83",X"F4",X"4E",X"37",X"17",X"6A",X"AA",X"83",
|
||||
X"53",X"07",X"E7",X"E7",X"43",X"F0",X"A8",X"B9",X"30",X"A3",X"A1",X"18",X"19",X"F8",X"A3",X"A1",
|
||||
X"18",X"19",X"F8",X"A3",X"A1",X"18",X"19",X"F8",X"A3",X"A1",X"83",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"2A",X"0B",X"35",X"0B",X"43",X"0B",X"60",X"0B",X"78",X"0B",X"9E",X"0B",X"EB",X"0B",X"F7",X"0B",
|
||||
X"9A",X"DF",X"E5",X"34",X"01",X"15",X"B9",X"08",X"BA",X"18",X"B8",X"23",X"B0",X"00",X"18",X"B0",
|
||||
X"00",X"14",X"2A",X"B9",X"80",X"BA",X"18",X"B8",X"23",X"B0",X"00",X"18",X"B0",X"00",X"14",X"2A",
|
||||
X"D5",X"BE",X"00",X"BF",X"00",X"C5",X"05",X"E5",X"34",X"13",X"FA",X"47",X"E7",X"AE",X"53",X"1F",
|
||||
X"AF",X"FE",X"53",X"E0",X"AE",X"D5",X"AE",X"C5",X"FF",X"D5",X"AF",X"E5",X"F4",X"26",X"F4",X"26",
|
||||
X"F5",X"C5",X"14",X"5E",X"E5",X"F4",X"4E",X"F5",X"37",X"17",X"6A",X"AA",X"E6",X"20",X"B8",X"23",
|
||||
X"F0",X"03",X"10",X"A0",X"18",X"F0",X"03",X"10",X"A0",X"F6",X"20",X"E9",X"2A",X"83",X"C5",X"16",
|
||||
X"61",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"E6",X"70",X"B8",X"23",X"F0",X"53",X"E0",X"AB",X"FD",
|
||||
X"77",X"77",X"53",X"3F",X"B2",X"79",X"27",X"04",X"7B",X"FB",X"E3",X"A8",X"D5",X"FC",X"6E",X"AC",
|
||||
X"FD",X"7F",X"AD",X"E6",X"8C",X"B8",X"24",X"F0",X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",
|
||||
X"B2",X"95",X"27",X"04",X"97",X"FB",X"E3",X"C5",X"68",X"90",X"16",X"9E",X"04",X"61",X"83",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"15",X"C5",X"16",X"04",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"F6",X"13",X"8A",X"20",X"00",X"9A",
|
||||
X"DF",X"24",X"1A",X"B8",X"23",X"F0",X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"28",
|
||||
X"8A",X"20",X"A3",X"9A",X"DF",X"27",X"24",X"34",X"B2",X"2E",X"00",X"00",X"24",X"32",X"37",X"17",
|
||||
X"53",X"1F",X"6B",X"E3",X"A8",X"D5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"F6",X"45",X"8A",X"20",
|
||||
X"00",X"9A",X"DF",X"24",X"4C",X"B8",X"24",X"F0",X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",
|
||||
X"96",X"5A",X"8A",X"20",X"A3",X"9A",X"DF",X"27",X"24",X"66",X"B2",X"60",X"00",X"00",X"24",X"64",
|
||||
X"37",X"17",X"53",X"1F",X"6B",X"E3",X"C5",X"68",X"90",X"16",X"6D",X"24",X"04",X"05",X"83",X"15",
|
||||
X"C5",X"16",X"73",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"E6",X"D8",X"B6",X"DA",X"B8",X"22",X"F0",
|
||||
X"18",X"60",X"A0",X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"95",X"8A",X"20",X"A3",
|
||||
X"9A",X"DF",X"27",X"24",X"A1",X"B2",X"9B",X"00",X"00",X"24",X"9F",X"37",X"17",X"53",X"1F",X"6B",
|
||||
X"E3",X"A8",X"D5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"F6",X"AD",X"24",X"B4",X"B8",X"24",X"F0",
|
||||
X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"C2",X"8A",X"20",X"A3",X"9A",X"DF",X"27",
|
||||
X"24",X"CE",X"B2",X"C8",X"00",X"00",X"24",X"CC",X"37",X"17",X"53",X"1F",X"6B",X"E3",X"C5",X"68",
|
||||
X"90",X"16",X"D5",X"24",X"73",X"05",X"E5",X"83",X"24",X"87",X"B5",X"76",X"E6",X"FE",X"97",X"F7",
|
||||
X"AE",X"FF",X"F7",X"AF",X"24",X"7D",X"FF",X"97",X"67",X"AF",X"FE",X"67",X"AE",X"24",X"7D",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"15",X"C5",X"16",X"04",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"E6",X"66",X"B6",X"68",X"B8",X"23",
|
||||
X"F0",X"53",X"E0",X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"23",X"8A",X"20",X"A3",X"9A",X"DF",
|
||||
X"27",X"44",X"2F",X"B2",X"29",X"00",X"00",X"44",X"2D",X"37",X"17",X"53",X"1F",X"6B",X"E3",X"A8",
|
||||
X"D5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"F6",X"3B",X"44",X"42",X"B8",X"24",X"F0",X"53",X"E0",
|
||||
X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"50",X"8A",X"20",X"A3",X"9A",X"DF",X"27",X"44",X"5C",
|
||||
X"B2",X"56",X"00",X"00",X"44",X"5A",X"37",X"17",X"53",X"1F",X"6B",X"E3",X"C5",X"68",X"90",X"16",
|
||||
X"63",X"44",X"04",X"05",X"E5",X"83",X"44",X"15",X"76",X"74",X"FE",X"97",X"F7",X"AE",X"FF",X"F7",
|
||||
X"AF",X"85",X"44",X"0E",X"FF",X"97",X"67",X"AF",X"FE",X"67",X"AE",X"A5",X"44",X"0E",X"C5",X"16",
|
||||
X"81",X"FF",X"96",X"85",X"1F",X"FE",X"6C",X"AC",X"FF",X"5A",X"7D",X"AD",X"B6",X"90",X"E6",X"A7",
|
||||
X"FF",X"77",X"AF",X"FE",X"67",X"AE",X"FF",X"F6",X"A1",X"12",X"A3",X"53",X"7F",X"AF",X"FD",X"44",
|
||||
X"A7",X"12",X"9B",X"43",X"80",X"AF",X"FD",X"77",X"77",X"53",X"3F",X"96",X"B3",X"A3",X"A3",X"A3",
|
||||
X"27",X"44",X"BF",X"B2",X"B9",X"00",X"00",X"44",X"BD",X"37",X"17",X"53",X"1F",X"6B",X"E3",X"A8",
|
||||
X"D5",X"FC",X"6E",X"AC",X"FD",X"7F",X"AD",X"F6",X"CB",X"44",X"D2",X"B8",X"24",X"F0",X"53",X"E0",
|
||||
X"AB",X"FD",X"77",X"77",X"53",X"3F",X"96",X"DE",X"A3",X"A3",X"A3",X"27",X"44",X"EA",X"B2",X"E4",
|
||||
X"00",X"00",X"44",X"E8",X"37",X"17",X"53",X"1F",X"6B",X"E3",X"C5",X"68",X"90",X"16",X"F1",X"44",
|
||||
X"85",X"E5",X"83",X"44",X"A7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"A3",X"E5",X"83",X"0C",X"A0",X"A0",X"A4",X"18",X"A8",X"0C",X"A4",X"06",X"A8",X"A9",X"AA",X"AB",
|
||||
X"AC",X"0C",X"B0",X"00",X"08",X"BC",X"B7",X"BC",X"B7",X"BC",X"B7",X"BC",X"B7",X"BC",X"B7",X"BC",
|
||||
X"B7",X"BC",X"B7",X"BC",X"10",X"B7",X"00",X"08",X"BA",X"00",X"0A",X"AC",X"AA",X"14",X"A8",X"A8",
|
||||
X"A8",X"AC",X"50",X"B0",X"00",X"14",X"86",X"98",X"92",X"8C",X"88",X"0A",X"80",X"82",X"84",X"88",
|
||||
X"28",X"90",X"00",X"2A",X"B0",X"0E",X"A8",X"2A",X"B0",X"0E",X"A8",X"B0",X"A8",X"B0",X"B4",X"38",
|
||||
X"B8",X"2A",X"B6",X"0E",X"B2",X"2A",X"B6",X"0E",X"B2",X"B6",X"B2",X"AC",X"B2",X"38",X"A8",X"00",
|
||||
X"2A",X"90",X"0E",X"88",X"2A",X"90",X"0E",X"88",X"70",X"90",X"2A",X"92",X"0E",X"8C",X"2A",X"92",
|
||||
X"0E",X"8C",X"1C",X"92",X"8C",X"38",X"88",X"00",X"03",X"AC",X"15",X"B0",X"18",X"AC",X"0C",X"AA",
|
||||
X"24",X"A8",X"03",X"A9",X"15",X"AA",X"18",X"A8",X"0C",X"A6",X"24",X"A4",X"18",X"A2",X"A6",X"0C",
|
||||
X"AA",X"24",X"B0",X"03",X"B1",X"2D",X"B2",X"03",X"B3",X"2D",X"B4",X"60",X"B0",X"00",X"18",X"A0",
|
||||
X"98",X"94",X"90",X"98",X"90",X"8A",X"86",X"92",X"8A",X"86",X"82",X"06",X"98",X"96",X"98",X"96",
|
||||
X"18",X"98",X"06",X"94",X"92",X"94",X"92",X"18",X"94",X"06",X"90",X"8C",X"90",X"8C",X"90",X"8C",
|
||||
X"90",X"8C",X"30",X"90",X"00",X"0E",X"AA",X"A8",X"AA",X"AC",X"B0",X"B2",X"B4",X"B2",X"B0",X"AC",
|
||||
X"AA",X"A8",X"1C",X"AA",X"0E",X"B6",X"B4",X"AC",X"B2",X"54",X"B0",X"00",X"1C",X"96",X"90",X"8A",
|
||||
X"90",X"88",X"84",X"96",X"90",X"88",X"1C",X"90",X"38",X"90",X"00",X"0A",X"A8",X"AC",X"B2",X"B6",
|
||||
X"B8",X"B6",X"B2",X"AC",X"28",X"A8",X"00",X"28",X"98",X"92",X"88",X"00",X"10",X"90",X"20",X"90",
|
||||
X"10",X"88",X"90",X"80",X"80",X"80",X"10",X"90",X"20",X"90",X"10",X"90",X"08",X"98",X"10",X"96",
|
||||
X"18",X"94",X"10",X"92",X"10",X"90",X"20",X"90",X"10",X"88",X"90",X"80",X"80",X"80",X"10",X"90",
|
||||
X"20",X"90",X"10",X"90",X"08",X"98",X"10",X"96",X"18",X"94",X"10",X"92",X"10",X"94",X"20",X"94",
|
||||
X"10",X"8C",X"94",X"84",X"84",X"84",X"10",X"94",X"20",X"94",X"10",X"94",X"08",X"9A",X"10",X"98",
|
||||
X"18",X"96",X"10",X"94",X"00",X"1C",X"A0",X"0E",X"A4",X"1C",X"9B",X"0E",X"A2",X"1C",X"A0",X"0E",
|
||||
X"A0",X"A4",X"A2",X"1C",X"99",X"0E",X"A4",X"1C",X"A2",X"00",X"A3",X"E5",X"83",X"A3",X"E5",X"83",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",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;
|
||||
329
Arcade_MiST/Nintendo Mario Bros/rtl/sdram.sv
Normal file
329
Arcade_MiST/Nintendo Mario Bros/rtl/sdram.sv
Normal file
@@ -0,0 +1,329 @@
|
||||
//
|
||||
// sdram.v
|
||||
//
|
||||
// sdram controller implementation for the MiST board
|
||||
// https://github.com/mist-devel/mist-board
|
||||
//
|
||||
// Copyright (c) 2013 Till Harbaum <till@harbaum.org>
|
||||
// Copyright (c) 2019 Gyorgy Szombathelyi
|
||||
//
|
||||
// This source file is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This source file is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
module sdram (
|
||||
|
||||
// interface to the MT48LC16M16 chip
|
||||
inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus
|
||||
output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus
|
||||
output reg SDRAM_DQML, // two byte masks
|
||||
output reg SDRAM_DQMH, // two byte masks
|
||||
output reg [1:0] SDRAM_BA, // two banks
|
||||
output SDRAM_nCS, // a single chip select
|
||||
output SDRAM_nWE, // write enable
|
||||
output SDRAM_nRAS, // row address select
|
||||
output SDRAM_nCAS, // columns address select
|
||||
|
||||
// cpu/chipset interface
|
||||
input init_n, // init signal after FPGA config to initialize RAM
|
||||
input clk, // sdram clock
|
||||
|
||||
input port1_req,
|
||||
output reg port1_ack,
|
||||
input port1_we,
|
||||
input [23:1] port1_a,
|
||||
input [1:0] port1_ds,
|
||||
input [15:0] port1_d,
|
||||
output [15:0] port1_q,
|
||||
|
||||
input [15:1] cpu1_addr,
|
||||
output reg [15:0] cpu1_q,
|
||||
|
||||
input port2_req,
|
||||
output reg port2_ack,
|
||||
input port2_we,
|
||||
input [23:1] port2_a,
|
||||
input [1:0] port2_ds,
|
||||
input [15:0] port2_d,
|
||||
output [15:0] port2_q,
|
||||
|
||||
input [15:1] snd_addr,
|
||||
output reg [15:0] snd_q
|
||||
);
|
||||
|
||||
parameter MHZ = 16'd50; // 80 MHz default clock, set it to proper value to calculate refresh rate
|
||||
|
||||
localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz
|
||||
localparam BURST_LENGTH = 3'b000; // 000=1, 001=2, 010=4, 011=8
|
||||
localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved
|
||||
localparam CAS_LATENCY = 3'd2; // 2/3 allowed
|
||||
localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed
|
||||
localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write
|
||||
|
||||
localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH};
|
||||
|
||||
// 64ms/8192 rows = 7.8us
|
||||
localparam RFRSH_CYCLES = 16'd78*MHZ/4'd10;
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// ------------------------ cycle state machine ------------------------
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
SDRAM state machine for 2 bank interleaved access
|
||||
1 word burst, CL2
|
||||
cmd issued registered
|
||||
0 RAS0 cas1
|
||||
1 ras0
|
||||
2 CAS0 data1 returned
|
||||
3 RAS1 cas0
|
||||
4 ras1
|
||||
5 CAS1 data0 returned
|
||||
*/
|
||||
|
||||
localparam STATE_RAS0 = 3'd0; // first state in cycle
|
||||
localparam STATE_RAS1 = 3'd3; // Second ACTIVE command after RAS0 + tRRD (15ns)
|
||||
localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY; // CAS phase - 3
|
||||
localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 5
|
||||
localparam STATE_READ0 = 3'd0; //STATE_CAS0 + CAS_LATENCY + 1'd1; // 7
|
||||
localparam STATE_READ1 = 3'd3;
|
||||
localparam STATE_LAST = 3'd5;
|
||||
|
||||
reg [2:0] t;
|
||||
|
||||
always @(posedge clk) begin
|
||||
t <= t + 1'd1;
|
||||
if (t == STATE_LAST) t <= STATE_RAS0;
|
||||
end
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// --------------------------- startup/reset ---------------------------
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
// wait 1ms (32 8Mhz cycles) after FPGA config is done before going
|
||||
// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0)
|
||||
reg [4:0] reset;
|
||||
reg init = 1'b1;
|
||||
always @(posedge clk, negedge init_n) begin
|
||||
if(!init_n) begin
|
||||
reset <= 5'h1f;
|
||||
init <= 1'b1;
|
||||
end else begin
|
||||
if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1;
|
||||
init <= !(reset == 0);
|
||||
end
|
||||
end
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// ------------------ generate ram control signals ---------------------
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
// all possible commands
|
||||
localparam CMD_INHIBIT = 4'b1111;
|
||||
localparam CMD_NOP = 4'b0111;
|
||||
localparam CMD_ACTIVE = 4'b0011;
|
||||
localparam CMD_READ = 4'b0101;
|
||||
localparam CMD_WRITE = 4'b0100;
|
||||
localparam CMD_BURST_TERMINATE = 4'b0110;
|
||||
localparam CMD_PRECHARGE = 4'b0010;
|
||||
localparam CMD_AUTO_REFRESH = 4'b0001;
|
||||
localparam CMD_LOAD_MODE = 4'b0000;
|
||||
|
||||
reg [3:0] sd_cmd; // current command sent to sd ram
|
||||
reg [15:0] sd_din;
|
||||
// drive control signals according to current command
|
||||
assign SDRAM_nCS = sd_cmd[3];
|
||||
assign SDRAM_nRAS = sd_cmd[2];
|
||||
assign SDRAM_nCAS = sd_cmd[1];
|
||||
assign SDRAM_nWE = sd_cmd[0];
|
||||
|
||||
reg [24:1] addr_latch[2];
|
||||
reg [24:1] addr_latch_next[2];
|
||||
reg [15:1] addr_last[2];
|
||||
reg [15:1] addr_last2[2];
|
||||
reg [15:0] din_latch[2];
|
||||
reg [1:0] oe_latch;
|
||||
reg [1:0] we_latch;
|
||||
reg [1:0] ds[2];
|
||||
|
||||
localparam PORT_NONE = 2'd0;
|
||||
localparam PORT_CPU1 = 2'd1;
|
||||
localparam PORT_REQ = 2'd2;
|
||||
|
||||
localparam PORT_SND = 2'd1;
|
||||
|
||||
reg [2:0] next_port[2];
|
||||
reg [2:0] port[2];
|
||||
reg port1_state;
|
||||
reg port2_state;
|
||||
|
||||
reg refresh;
|
||||
reg [10:0] refresh_cnt;
|
||||
wire need_refresh = (refresh_cnt >= RFRSH_CYCLES);
|
||||
|
||||
// PORT1: bank 0,1
|
||||
always @(*) begin
|
||||
if (refresh) begin
|
||||
next_port[0] = PORT_NONE;
|
||||
addr_latch_next[0] = addr_latch[0];
|
||||
end else if (port1_req ^ port1_state) begin
|
||||
next_port[0] = PORT_REQ;
|
||||
addr_latch_next[0] = { 1'b0, port1_a };
|
||||
end else if (cpu1_addr != addr_last[PORT_CPU1]) begin
|
||||
next_port[0] = PORT_CPU1;
|
||||
addr_latch_next[0] = { 9'd0, cpu1_addr };
|
||||
end else begin
|
||||
next_port[0] = PORT_NONE;
|
||||
addr_latch_next[0] = addr_latch[0];
|
||||
end
|
||||
end
|
||||
|
||||
// PORT2: bank 2,3
|
||||
always @(*) begin
|
||||
if (port2_req ^ port2_state) begin
|
||||
next_port[1] = PORT_REQ;
|
||||
addr_latch_next[1] = { 1'b1, port2_a };
|
||||
end else if (snd_addr != addr_last2[PORT_SND]) begin
|
||||
next_port[1] = PORT_SND;
|
||||
addr_latch_next[1] = { 1'b1, 8'd0, snd_addr };
|
||||
end else begin
|
||||
next_port[1] = PORT_NONE;
|
||||
addr_latch_next[1] = addr_latch[1];
|
||||
end
|
||||
end
|
||||
|
||||
always @(posedge clk) begin
|
||||
|
||||
// permanently latch ram data to reduce delays
|
||||
sd_din <= SDRAM_DQ;
|
||||
SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ;
|
||||
{ SDRAM_DQMH, SDRAM_DQML } <= 2'b11;
|
||||
sd_cmd <= CMD_NOP; // default: idle
|
||||
refresh_cnt <= refresh_cnt + 1'd1;
|
||||
|
||||
if(init) begin
|
||||
// initialization takes place at the end of the reset phase
|
||||
if(t == STATE_RAS0) begin
|
||||
|
||||
if(reset == 15) begin
|
||||
sd_cmd <= CMD_PRECHARGE;
|
||||
SDRAM_A[10] <= 1'b1; // precharge all banks
|
||||
end
|
||||
|
||||
if(reset == 10 || reset == 8) begin
|
||||
sd_cmd <= CMD_AUTO_REFRESH;
|
||||
end
|
||||
|
||||
if(reset == 2) begin
|
||||
sd_cmd <= CMD_LOAD_MODE;
|
||||
SDRAM_A <= MODE;
|
||||
SDRAM_BA <= 2'b00;
|
||||
end
|
||||
end
|
||||
end else begin
|
||||
// RAS phase
|
||||
// bank 0,1
|
||||
if(t == STATE_RAS0) begin
|
||||
addr_latch[0] <= addr_latch_next[0];
|
||||
port[0] <= next_port[0];
|
||||
{ oe_latch[0], we_latch[0] } <= 2'b00;
|
||||
|
||||
if (next_port[0] != PORT_NONE) begin
|
||||
sd_cmd <= CMD_ACTIVE;
|
||||
SDRAM_A <= addr_latch_next[0][22:10];
|
||||
SDRAM_BA <= addr_latch_next[0][24:23];
|
||||
addr_last[next_port[0]] <= addr_latch_next[0][15:1];
|
||||
if (next_port[0] == PORT_REQ) begin
|
||||
{ oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we };
|
||||
ds[0] <= port1_ds;
|
||||
din_latch[0] <= port1_d;
|
||||
port1_state <= port1_req;
|
||||
end else begin
|
||||
{ oe_latch[0], we_latch[0] } <= 2'b10;
|
||||
ds[0] <= 2'b11;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// bank 2,3
|
||||
if(t == STATE_RAS1) begin
|
||||
refresh <= 1'b0;
|
||||
addr_latch[1] <= addr_latch_next[1];
|
||||
{ oe_latch[1], we_latch[1] } <= 2'b00;
|
||||
port[1] <= next_port[1];
|
||||
|
||||
if (next_port[1] != PORT_NONE) begin
|
||||
sd_cmd <= CMD_ACTIVE;
|
||||
SDRAM_A <= addr_latch_next[1][22:10];
|
||||
SDRAM_BA <= addr_latch_next[1][24:23];
|
||||
addr_last2[next_port[1]] <= addr_latch_next[1][15:1];
|
||||
if (next_port[1] == PORT_REQ) begin
|
||||
{ oe_latch[1], we_latch[1] } <= { ~port2_we, port2_we };
|
||||
ds[1] <= port2_ds;
|
||||
din_latch[1] <= port2_d;
|
||||
port2_state <= port2_req;
|
||||
end else begin
|
||||
{ oe_latch[1], we_latch[1] } <= 2'b10;
|
||||
ds[1] <= 2'b11;
|
||||
end
|
||||
end
|
||||
|
||||
if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin
|
||||
refresh <= 1'b1;
|
||||
refresh_cnt <= 0;
|
||||
sd_cmd <= CMD_AUTO_REFRESH;
|
||||
end
|
||||
end
|
||||
|
||||
// CAS phase
|
||||
if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin
|
||||
sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ;
|
||||
{ SDRAM_DQMH, SDRAM_DQML } <= ~ds[0];
|
||||
if (we_latch[0]) begin
|
||||
SDRAM_DQ <= din_latch[0];
|
||||
port1_ack <= port1_req;
|
||||
end
|
||||
SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge
|
||||
SDRAM_BA <= addr_latch[0][24:23];
|
||||
end
|
||||
|
||||
if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin
|
||||
sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ;
|
||||
{ SDRAM_DQMH, SDRAM_DQML } <= ~ds[1];
|
||||
if (we_latch[1]) begin
|
||||
SDRAM_DQ <= din_latch[1];
|
||||
port2_ack <= port2_req;
|
||||
end
|
||||
SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge
|
||||
SDRAM_BA <= addr_latch[1][24:23];
|
||||
end
|
||||
|
||||
// Data returned
|
||||
if(t == STATE_READ0 && oe_latch[0]) begin
|
||||
case(port[0])
|
||||
PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end
|
||||
PORT_CPU1: begin cpu1_q <= sd_din; end
|
||||
default: ;
|
||||
endcase;
|
||||
end
|
||||
if(t == STATE_READ1 && oe_latch[1]) begin
|
||||
case(port[1])
|
||||
PORT_REQ: begin port2_q <= sd_din; port2_ack <= port2_req; end
|
||||
PORT_SND: begin snd_q <= sd_din; end
|
||||
default: ;
|
||||
endcase;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user