mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-04-19 00:27:45 +00:00
Add Mr Do Project Files
This commit is contained in:
30
Arcade_MiST/Universal MrDo/MrDo.qpf
Normal file
30
Arcade_MiST/Universal MrDo/MrDo.qpf
Normal file
@@ -0,0 +1,30 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2012 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 12.1 Build 243 01/31/2013 Service Pack 1 SJ Full Version
|
||||
# Date created = 08:25:10 February 28, 2013
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
QUARTUS_VERSION = "12.1"
|
||||
DATE = "08:25:10 February 28, 2013"
|
||||
|
||||
# Revisions
|
||||
|
||||
PROJECT_REVISION = "MrDo"
|
||||
241
Arcade_MiST/Universal MrDo/MrDo.qsf
Normal file
241
Arcade_MiST/Universal MrDo/MrDo.qsf
Normal file
@@ -0,0 +1,241 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# 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:07:59 March 28, 2021
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1) The default values for assignments are stored in the file:
|
||||
# MrDo_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 "12.1 SP1"
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:07:52 FEBRUARY 01, 2013"
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name SMART_RECOMPILE ON
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/MrDo_mist.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/MrDo_top.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/SN76496.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/video_timing.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/ram_dp_1k.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/cpu_ram.v
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/bg1_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/bg2_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/fg1_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/fg2_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/pal_low_prom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/pal_high_prom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/spr1_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/spr2_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/spr_col_lut_prom.vhd
|
||||
set_global_assignment -name VERILOG_FILE rtl/pll.v
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/divider_by2.sv
|
||||
set_global_assignment -name QIP_FILE ../../common/CPU/T80/T80.qip
|
||||
set_global_assignment -name QIP_FILE ../../common/mist/mist.qip
|
||||
|
||||
# Pin & Location Assignments
|
||||
# ==========================
|
||||
set_location_assignment PIN_7 -to LED
|
||||
set_location_assignment PIN_54 -to CLOCK_27
|
||||
set_location_assignment PIN_144 -to VGA_R[5]
|
||||
set_location_assignment PIN_143 -to VGA_R[4]
|
||||
set_location_assignment PIN_142 -to VGA_R[3]
|
||||
set_location_assignment PIN_141 -to VGA_R[2]
|
||||
set_location_assignment PIN_137 -to VGA_R[1]
|
||||
set_location_assignment PIN_135 -to VGA_R[0]
|
||||
set_location_assignment PIN_133 -to VGA_B[5]
|
||||
set_location_assignment PIN_132 -to VGA_B[4]
|
||||
set_location_assignment PIN_125 -to VGA_B[3]
|
||||
set_location_assignment PIN_121 -to VGA_B[2]
|
||||
set_location_assignment PIN_120 -to VGA_B[1]
|
||||
set_location_assignment PIN_115 -to VGA_B[0]
|
||||
set_location_assignment PIN_114 -to VGA_G[5]
|
||||
set_location_assignment PIN_113 -to VGA_G[4]
|
||||
set_location_assignment PIN_112 -to VGA_G[3]
|
||||
set_location_assignment PIN_111 -to VGA_G[2]
|
||||
set_location_assignment PIN_110 -to VGA_G[1]
|
||||
set_location_assignment PIN_106 -to VGA_G[0]
|
||||
set_location_assignment PIN_136 -to VGA_VS
|
||||
set_location_assignment PIN_119 -to VGA_HS
|
||||
set_location_assignment PIN_65 -to AUDIO_L
|
||||
set_location_assignment PIN_80 -to AUDIO_R
|
||||
set_location_assignment PIN_105 -to SPI_DO
|
||||
set_location_assignment PIN_88 -to SPI_DI
|
||||
set_location_assignment PIN_126 -to SPI_SCK
|
||||
set_location_assignment PIN_127 -to SPI_SS2
|
||||
set_location_assignment PIN_91 -to SPI_SS3
|
||||
set_location_assignment PIN_90 -to SPI_SS4
|
||||
set_location_assignment PIN_13 -to CONF_DATA0
|
||||
set_location_assignment PIN_49 -to SDRAM_A[0]
|
||||
set_location_assignment PIN_44 -to SDRAM_A[1]
|
||||
set_location_assignment PIN_42 -to SDRAM_A[2]
|
||||
set_location_assignment PIN_39 -to SDRAM_A[3]
|
||||
set_location_assignment PIN_4 -to SDRAM_A[4]
|
||||
set_location_assignment PIN_6 -to SDRAM_A[5]
|
||||
set_location_assignment PIN_8 -to SDRAM_A[6]
|
||||
set_location_assignment PIN_10 -to SDRAM_A[7]
|
||||
set_location_assignment PIN_11 -to SDRAM_A[8]
|
||||
set_location_assignment PIN_28 -to SDRAM_A[9]
|
||||
set_location_assignment PIN_50 -to SDRAM_A[10]
|
||||
set_location_assignment PIN_30 -to SDRAM_A[11]
|
||||
set_location_assignment PIN_32 -to SDRAM_A[12]
|
||||
set_location_assignment PIN_83 -to SDRAM_DQ[0]
|
||||
set_location_assignment PIN_79 -to SDRAM_DQ[1]
|
||||
set_location_assignment PIN_77 -to SDRAM_DQ[2]
|
||||
set_location_assignment PIN_76 -to SDRAM_DQ[3]
|
||||
set_location_assignment PIN_72 -to SDRAM_DQ[4]
|
||||
set_location_assignment PIN_71 -to SDRAM_DQ[5]
|
||||
set_location_assignment PIN_69 -to SDRAM_DQ[6]
|
||||
set_location_assignment PIN_68 -to SDRAM_DQ[7]
|
||||
set_location_assignment PIN_86 -to SDRAM_DQ[8]
|
||||
set_location_assignment PIN_87 -to SDRAM_DQ[9]
|
||||
set_location_assignment PIN_98 -to SDRAM_DQ[10]
|
||||
set_location_assignment PIN_99 -to SDRAM_DQ[11]
|
||||
set_location_assignment PIN_100 -to SDRAM_DQ[12]
|
||||
set_location_assignment PIN_101 -to SDRAM_DQ[13]
|
||||
set_location_assignment PIN_103 -to SDRAM_DQ[14]
|
||||
set_location_assignment PIN_104 -to SDRAM_DQ[15]
|
||||
set_location_assignment PIN_58 -to SDRAM_BA[0]
|
||||
set_location_assignment PIN_51 -to SDRAM_BA[1]
|
||||
set_location_assignment PIN_85 -to SDRAM_DQMH
|
||||
set_location_assignment PIN_67 -to SDRAM_DQML
|
||||
set_location_assignment PIN_60 -to SDRAM_nRAS
|
||||
set_location_assignment PIN_64 -to SDRAM_nCAS
|
||||
set_location_assignment PIN_66 -to SDRAM_nWE
|
||||
set_location_assignment PIN_59 -to SDRAM_nCS
|
||||
set_location_assignment PIN_33 -to SDRAM_CKE
|
||||
set_location_assignment PIN_43 -to SDRAM_CLK
|
||||
set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component"
|
||||
|
||||
# Classic Timing Assignments
|
||||
# ==========================
|
||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
|
||||
set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL ON
|
||||
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
|
||||
|
||||
# Analysis & Synthesis Assignments
|
||||
# ================================
|
||||
set_global_assignment -name FAMILY "Cyclone III"
|
||||
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
|
||||
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
|
||||
set_global_assignment -name TOP_LEVEL_ENTITY MrDo_mist
|
||||
|
||||
# Fitter Assignments
|
||||
# ==================
|
||||
set_global_assignment -name DEVICE EP3C25E144C8
|
||||
set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL"
|
||||
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
|
||||
set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON
|
||||
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
|
||||
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
|
||||
# Assembler Assignments
|
||||
# =====================
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
set_global_assignment -name GENERATE_RBF_FILE ON
|
||||
|
||||
# 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(MrDo_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
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
|
||||
# end DESIGN_PARTITION(Top)
|
||||
# -------------------------
|
||||
|
||||
# end ENTITY(MrDo_mist)
|
||||
# ---------------------
|
||||
BIN
Arcade_MiST/Universal MrDo/Snapshot/MrDo.rbf
Normal file
BIN
Arcade_MiST/Universal MrDo/Snapshot/MrDo.rbf
Normal file
Binary file not shown.
15
Arcade_MiST/Universal MrDo/clean.bat
Normal file
15
Arcade_MiST/Universal MrDo/clean.bat
Normal file
@@ -0,0 +1,15 @@
|
||||
@echo off
|
||||
del /s *.bak
|
||||
del /s *.orig
|
||||
del /s *.rej
|
||||
rmdir /s /q db
|
||||
rmdir /s /q incremental_db
|
||||
rmdir /s /q output_files
|
||||
rmdir /s /q simulation
|
||||
rmdir /s /q greybox_tmp
|
||||
del PLLJ_PLLSPE_INFO.txt
|
||||
del *.qws
|
||||
del *.ppf
|
||||
del *.qip
|
||||
del *.ddb
|
||||
pause
|
||||
240
Arcade_MiST/Universal MrDo/rtl/MrDo_mist.sv
Normal file
240
Arcade_MiST/Universal MrDo/rtl/MrDo_mist.sv
Normal file
@@ -0,0 +1,240 @@
|
||||
module MrDo_mist (
|
||||
output LED,
|
||||
output [5:0] VGA_R,
|
||||
output [5:0] VGA_G,
|
||||
output [5:0] VGA_B,
|
||||
output VGA_HS,
|
||||
output VGA_VS,
|
||||
output AUDIO_L,
|
||||
output AUDIO_R,
|
||||
input SPI_SCK,
|
||||
output SPI_DO,
|
||||
input SPI_DI,
|
||||
input SPI_SS2,
|
||||
input SPI_SS3,
|
||||
input CONF_DATA0,
|
||||
input CLOCK_27,
|
||||
output [12:0] SDRAM_A,
|
||||
inout [15:0] SDRAM_DQ,
|
||||
output SDRAM_DQML,
|
||||
output SDRAM_DQMH,
|
||||
output SDRAM_nWE,
|
||||
output SDRAM_nCAS,
|
||||
output SDRAM_nRAS,
|
||||
output SDRAM_nCS,
|
||||
output [1:0] SDRAM_BA,
|
||||
output SDRAM_CLK,
|
||||
output SDRAM_CKE
|
||||
|
||||
);
|
||||
|
||||
`include "rtl\build_id.v"
|
||||
|
||||
localparam CONF_STR = {
|
||||
"MRDO;;",
|
||||
"O2,Rotate Controls,Off,On;",
|
||||
"O34,Scandoubler Fx,None,CRT 25%,CRT 50%,CRT 75%;",
|
||||
"O5,Blend,Off,On;",
|
||||
|
||||
"O67,Difficulty,Easy,Medium,Hard,Hardest;",
|
||||
"O8,Rack Test ,Off,On;",
|
||||
"O9,Special ,Easy,Hard;",
|
||||
"OA,Extra ,Easy,Hard;",
|
||||
"OB,Cabinet ,Cocktail,Upright;",
|
||||
"OCD,Lives,3,4,5,2;",
|
||||
"T0,Reset;",
|
||||
"V,v1.00.",`BUILD_DATE
|
||||
};
|
||||
|
||||
wire rotate = status[2];
|
||||
wire [1:0] scanlines = status[4:3];
|
||||
wire blend = status[5];
|
||||
|
||||
wire [1:0] Difficulty = status[7:6];
|
||||
wire RackTest = status[8];//Cheat
|
||||
wire Special = status[9];
|
||||
wire Extra = status[10];
|
||||
wire Cabinet = status[11];
|
||||
wire [1:0] Lives = status[13:12];
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
assign AUDIO_R = AUDIO_L;
|
||||
assign SDRAM_CLK = ~clock_49;
|
||||
assign SDRAM_CKE = 1;
|
||||
|
||||
wire clock_98, clock_49, pll_locked;
|
||||
pll pll(
|
||||
.inclk0(CLOCK_27),
|
||||
.c0(clock_98),
|
||||
.c1(clock_49),
|
||||
.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 [7:0] audio1, audio2;
|
||||
wire hs, vs;
|
||||
wire hb, vb;
|
||||
wire blankn = ~(hb | vb);
|
||||
wire [3:0] r, g, b;
|
||||
wire [14:0] rom_addr;
|
||||
wire [15:0] rom_do;
|
||||
wire ioctl_downl;
|
||||
wire [7:0] ioctl_index;
|
||||
wire ioctl_wr;
|
||||
wire [24:0] ioctl_addr;
|
||||
wire [7:0] ioctl_dout;
|
||||
wire key_strobe;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
|
||||
data_io data_io(
|
||||
.clk_sys ( clock_49 ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS2 ( SPI_SS2 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.ioctl_download( ioctl_downl ),
|
||||
.ioctl_index ( ioctl_index ),
|
||||
.ioctl_wr ( ioctl_wr ),
|
||||
.ioctl_addr ( ioctl_addr ),
|
||||
.ioctl_dout ( ioctl_dout )
|
||||
);
|
||||
|
||||
reg port1_req;
|
||||
|
||||
sdram #(.MHZ(49)) sdram(
|
||||
.*,
|
||||
.init_n ( pll_locked ),
|
||||
.clk ( clock_49 ),
|
||||
|
||||
// ROM upload
|
||||
.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 ( ),
|
||||
|
||||
// CPU
|
||||
.cpu1_addr ( ioctl_downl ? 17'h1ffff : { 3'b000, rom_addr[14:1] } ),
|
||||
.cpu1_q ( rom_do )
|
||||
);
|
||||
|
||||
always @(posedge clock_49) begin
|
||||
reg ioctl_wr_last = 0;
|
||||
|
||||
ioctl_wr_last <= ioctl_wr;
|
||||
if (ioctl_downl) begin
|
||||
if (~ioctl_wr_last && ioctl_wr) port1_req <= ~port1_req;
|
||||
end
|
||||
end
|
||||
|
||||
reg reset = 1;
|
||||
reg rom_loaded = 0;
|
||||
always @(posedge clock_49) begin
|
||||
reg ioctl_downlD;
|
||||
ioctl_downlD <= ioctl_downl;
|
||||
|
||||
if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1;
|
||||
reset <= status[0] | buttons[1] | ~rom_loaded;
|
||||
end
|
||||
|
||||
MrDo_top MrDo_top(
|
||||
.clk_98M(clock_98),
|
||||
.clk_20M(),
|
||||
.clk_8M(),
|
||||
.reset(reset),
|
||||
.red(r),
|
||||
.green(g),
|
||||
.blue(b),
|
||||
.hsync(hs),
|
||||
.vsync(vs),
|
||||
.hblank(hb),
|
||||
.vblank(vb),
|
||||
.sound1_out(audio1),
|
||||
.sound2_out(audio2),
|
||||
.p1(~{ 1'b0, m_two_players, m_one_player, m_fireC, m_up, m_right, m_down, m_left }),
|
||||
.p2(~{ m_coin1, 1'b0, 1'b0, m_fire2C, m_up2, m_right2, m_down2, m_left2 }),
|
||||
.dsw1(~{Lives, Cabinet, Extra, Special, RackTest, Difficulty}),
|
||||
.dsw2(8'b11111111),
|
||||
.rom_addr ( rom_addr ),
|
||||
.rom_do ( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] )
|
||||
);
|
||||
|
||||
|
||||
mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(11)) mist_video(
|
||||
.clk_sys ( clock_49 ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS3 ( SPI_SS3 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.R ( blankn ? r : 0 ),
|
||||
.G ( blankn ? g : 0 ),
|
||||
.B ( blankn ? b : 0 ),
|
||||
.HSync ( hs ),
|
||||
.VSync ( vs ),
|
||||
.VGA_R ( VGA_R ),
|
||||
.VGA_G ( VGA_G ),
|
||||
.VGA_B ( VGA_B ),
|
||||
.VGA_VS ( VGA_VS ),
|
||||
.VGA_HS ( VGA_HS ),
|
||||
.ce_divider ( 1 ),
|
||||
.rotate ( { 1'b0, rotate } ),
|
||||
.scandoubler_disable( scandoublerD ),
|
||||
.scanlines ( scanlines ),
|
||||
.blend ( blend ),
|
||||
.ypbpr ( ypbpr )
|
||||
);
|
||||
|
||||
user_io #(.STRLEN(($size(CONF_STR)>>3)))user_io(
|
||||
.clk_sys (clock_49 ),
|
||||
.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(clock_49),
|
||||
.res_n_i(1),
|
||||
.dac_i({audio1, audio2}),
|
||||
.dac_o(AUDIO_L)
|
||||
);
|
||||
|
||||
wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF;
|
||||
wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F;
|
||||
wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players;
|
||||
|
||||
arcade_inputs inputs (
|
||||
.clk ( clock_49 ),
|
||||
.key_strobe ( key_strobe ),
|
||||
.key_pressed ( key_pressed ),
|
||||
.key_code ( key_code ),
|
||||
.joystick_0 ( joystick_0 ),
|
||||
.joystick_1 ( joystick_1 ),
|
||||
.rotate ( rotate ),
|
||||
.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
|
||||
991
Arcade_MiST/Universal MrDo/rtl/MrDo_top.sv
Normal file
991
Arcade_MiST/Universal MrDo/rtl/MrDo_top.sv
Normal file
@@ -0,0 +1,991 @@
|
||||
module MrDo_top(
|
||||
input clk_98M,
|
||||
|
||||
//input clk_20M,
|
||||
//input clk_8M,
|
||||
|
||||
input reset,
|
||||
output [3:0] red,
|
||||
output [3:0] green,
|
||||
output [3:0] blue,
|
||||
output hsync,
|
||||
output vsync,
|
||||
output hblank,
|
||||
output vblank,
|
||||
output reg [7:0] sound1_out,
|
||||
output reg [7:0] sound2_out,
|
||||
input [7:0] p1,
|
||||
input [7:0] p2,
|
||||
input [7:0] dsw1,
|
||||
input [7:0] dsw2,
|
||||
output [14:0] rom_addr,
|
||||
input [7:0] rom_do
|
||||
);
|
||||
|
||||
//divider_by2 gen10(
|
||||
// .out_clk(clk_10M),
|
||||
// .clk(clk_20M),
|
||||
// .rst(reset)
|
||||
//);
|
||||
//
|
||||
//divider_by2 gen5(
|
||||
// .out_clk(clk_5M),
|
||||
// .clk(clk_10M),
|
||||
// .rst(reset)
|
||||
//);
|
||||
//
|
||||
//divider_by2 gen4(
|
||||
// .out_clk(clk_4M),
|
||||
// .clk(clk_8M),
|
||||
// .rst(reset)
|
||||
//);
|
||||
|
||||
//fg_ram0 is driven by 5mhz instead of 4mhz??? check schematics!!!
|
||||
|
||||
wire clk_4M, clk_5M, clk_8M, clk_10M;
|
||||
reg [5:0] clk10_count;
|
||||
reg [5:0] clk5_count;
|
||||
reg [5:0] clk8_count;
|
||||
reg [5:0] clk4_count;
|
||||
|
||||
always @ (posedge clk_98M) begin
|
||||
if ( reset == 1 ) begin
|
||||
clk10_count <= 0;
|
||||
clk8_count <= 0;
|
||||
clk5_count <= 0;
|
||||
clk4_count <= 0;
|
||||
|
||||
end else begin
|
||||
if ( clk10_count == 4 ) begin
|
||||
clk10_count <= 0;
|
||||
clk_10M <= ~ clk_10M ;
|
||||
end else begin
|
||||
clk10_count <= clk10_count + 1;
|
||||
end
|
||||
|
||||
if ( clk8_count == 5 ) begin
|
||||
clk8_count <= 0;
|
||||
clk_8M <= ~ clk_8M ;
|
||||
end else begin
|
||||
clk8_count <= clk8_count + 1;
|
||||
end
|
||||
|
||||
if ( clk5_count == 9 ) begin
|
||||
clk5_count <= 0;
|
||||
clk_5M <= ~ clk_5M ;
|
||||
end else begin
|
||||
clk5_count <= clk5_count + 1;
|
||||
end
|
||||
|
||||
if ( clk4_count == 11 ) begin
|
||||
clk4_count <= 0;
|
||||
clk_4M <= ~ clk_4M ;
|
||||
end else begin
|
||||
clk4_count <= clk4_count + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
wire hff;
|
||||
reg [7:0]v;
|
||||
reg [7:0]h;
|
||||
|
||||
video_timing video_timing (
|
||||
.clk_pix(~clk_5M),
|
||||
.reset(reset),
|
||||
|
||||
.h(h),
|
||||
.v(v),
|
||||
|
||||
.hbl(hblank),
|
||||
.hff(hff),
|
||||
.vbl(vblank),
|
||||
|
||||
.hsync(hsync),
|
||||
.vsync(vsync)
|
||||
);
|
||||
|
||||
wire [7:0] s8_data;
|
||||
wire [7:0] u8_data;
|
||||
|
||||
wire [7:0] r8_data;
|
||||
wire [7:0] n8_data;
|
||||
|
||||
wire [7:0] f10_data;
|
||||
reg [5:0] f10_addr;
|
||||
|
||||
reg [9:0] fg_char_index ;
|
||||
reg [9:0] bg_char_index ;
|
||||
|
||||
reg [15:0] cpu_addr;
|
||||
reg [7:0] cpu_din;
|
||||
wire [7:0] cpu_dout;
|
||||
|
||||
wire [7:0] gfx_fg_tile_data ;
|
||||
wire [7:0] gfx_fg_attr_data ;
|
||||
|
||||
wire [7:0] gfx_bg_tile_data ;
|
||||
wire [7:0] gfx_bg_attr_data ;
|
||||
|
||||
reg [7:0] wr_data;
|
||||
reg [11:0] wr_addr;
|
||||
|
||||
reg cpu_ram_w ;
|
||||
|
||||
reg gfx_fg_ram0_wr ;
|
||||
reg gfx_fg_ram1_wr ;
|
||||
reg gfx_bg_ram0_wr ;
|
||||
reg gfx_bg_ram1_wr ;
|
||||
|
||||
wire [7:0] fg_ram0_data;
|
||||
wire [7:0] fg_ram1_data;
|
||||
wire [7:0] bg_ram0_data;
|
||||
wire [7:0] bg_ram1_data;
|
||||
|
||||
wire [7:0] cpu01rom_data;
|
||||
wire [7:0] cpu02rom_data;
|
||||
wire [7:0] cpu03rom_data;
|
||||
wire [7:0] cpu04rom_data;
|
||||
wire [7:0] cpu_ram_data;
|
||||
|
||||
// used to shift out the bitmap
|
||||
reg [7:0] fg_shift_0;
|
||||
reg [7:0] fg_shift_1;
|
||||
reg [7:0] bg_shift_0;
|
||||
reg [7:0] bg_shift_1;
|
||||
|
||||
//reg [8:0] fg_tile;
|
||||
reg [7:0] fg_attr;
|
||||
//reg [8:0] bg_tile;
|
||||
reg [7:0] bg_attr;
|
||||
|
||||
reg [11:0] fg_bitmap_addr;
|
||||
reg [11:0] bg_bitmap_addr;
|
||||
|
||||
// fg ----------
|
||||
//
|
||||
wire [1:0] fg = { fg_shift_1[0], fg_shift_0[0] };
|
||||
//
|
||||
reg [1:0] fg_reg;
|
||||
|
||||
reg [7:0] fg_attr_reg;
|
||||
|
||||
reg [7:0] fg_red ;
|
||||
reg [7:0] fg_green ;
|
||||
reg [7:0] fg_blue ;
|
||||
|
||||
// values the same for each channel. put this into a module
|
||||
always @ ( posedge clk_10M ) begin
|
||||
case ({ fg_pal_data_high[1:0] , fg_pal_data_low[1:0] })
|
||||
0 : fg_red <= 0;
|
||||
1 : fg_red <= 0;
|
||||
2 : fg_red <= 0;
|
||||
3 : fg_red <= 88;
|
||||
4 : fg_red <= 0;
|
||||
5 : fg_red <= 112;
|
||||
6 : fg_red <= 133;
|
||||
7 : fg_red <= 192;
|
||||
8 : fg_red <= 60;
|
||||
9 : fg_red <= 150;
|
||||
10 : fg_red <= 166;
|
||||
11 : fg_red <= 212;
|
||||
12 : fg_red <= 180;
|
||||
13 : fg_red <= 221;
|
||||
14 : fg_red <= 229;
|
||||
15 : fg_red <= 255;
|
||||
endcase
|
||||
case ({ fg_pal_data_high[3:2] , fg_pal_data_low[3:2] })
|
||||
0 : fg_green <= 0;
|
||||
1 : fg_green <= 0;
|
||||
2 : fg_green <= 0;
|
||||
3 : fg_green <= 88;
|
||||
4 : fg_green <= 0;
|
||||
5 : fg_green <= 112;
|
||||
6 : fg_green <= 133;
|
||||
7 : fg_green <= 192;
|
||||
8 : fg_green <= 60;
|
||||
9 : fg_green <= 150;
|
||||
10 : fg_green <= 166;
|
||||
11 : fg_green <= 212;
|
||||
12 : fg_green <= 180;
|
||||
13 : fg_green <= 221;
|
||||
14 : fg_green <= 229;
|
||||
15 : fg_green <= 255;
|
||||
endcase
|
||||
case ({ fg_pal_data_high[5:4] , fg_pal_data_low[5:4] })
|
||||
0 : fg_blue <= 0;
|
||||
1 : fg_blue <= 0;
|
||||
2 : fg_blue <= 0;
|
||||
3 : fg_blue <= 88;
|
||||
4 : fg_blue <= 0;
|
||||
5 : fg_blue <= 112;
|
||||
6 : fg_blue <= 133;
|
||||
7 : fg_blue <= 192;
|
||||
8 : fg_blue <= 60;
|
||||
9 : fg_blue <= 150;
|
||||
10 : fg_blue <= 166;
|
||||
11 : fg_blue <= 212;
|
||||
12 : fg_blue <= 180;
|
||||
13 : fg_blue <= 221;
|
||||
14 : fg_blue <= 229;
|
||||
15 : fg_blue <= 255;
|
||||
endcase
|
||||
end
|
||||
|
||||
//
|
||||
//// bg ----------
|
||||
//
|
||||
wire [1:0] bg = { bg_shift_1[0], bg_shift_0[0] };
|
||||
//
|
||||
reg [1:0] bg_reg;
|
||||
reg [7:0] bg_attr_reg;
|
||||
|
||||
reg [4:0] fg_pal_ofs_hi ;
|
||||
reg [4:0] fg_pal_ofs_low ;
|
||||
|
||||
//reg [4:0] bg_pal_ofs_hi ;
|
||||
//reg [4:0] bg_pal_ofs_low ;
|
||||
|
||||
reg [4:0] sp_pal_ofs_hi ;
|
||||
reg [4:0] sp_pal_ofs_low ;
|
||||
|
||||
reg [7:0] bg_scroll_y;
|
||||
|
||||
wire [7:0] bg_scroll;
|
||||
assign bg_scroll = v + bg_scroll_y;
|
||||
|
||||
//// ---------- sprites ----------
|
||||
reg spr_ram_wr;
|
||||
reg [7:0] spr_addr;
|
||||
wire [7:0] spr_ram_data;
|
||||
|
||||
reg [7:0] spr_shift_data;
|
||||
|
||||
reg [7:0] sprite_tile;
|
||||
//reg [7:0] sprite_x;
|
||||
reg [7:0] sprite_y;
|
||||
reg [7:0] sprite_color;
|
||||
reg sprite_valid;
|
||||
|
||||
wire [7:0] h5_data;
|
||||
wire [7:0] k5_data;
|
||||
reg [11:0] spr_bitmap_addr;
|
||||
|
||||
//reg [7:0] spr_data_latch;
|
||||
|
||||
// [0] tile #
|
||||
// [1] y
|
||||
// [2] color
|
||||
// [3] x
|
||||
|
||||
// --------------- fg / bg ------------
|
||||
|
||||
reg [5:0] sp_addr_cache[15:0];
|
||||
reg [5:0] a7;
|
||||
reg [3:0] a9;
|
||||
|
||||
reg [3:0] f8_buf[256];
|
||||
reg [7:0] f8_count;
|
||||
|
||||
reg [3:0] g8_buf[256];
|
||||
reg [7:0] g8_count;
|
||||
|
||||
reg [7:0] pad ;
|
||||
reg [1:0] pic ;
|
||||
reg [7:0] h10 ; // counter h10 LS393 drives timing prom J10
|
||||
reg [3:0] k6;
|
||||
reg [3:0] j6;
|
||||
reg load_shift;
|
||||
reg dec_a9;
|
||||
|
||||
wire sp_bank = ( sprite_tile[6] == 1 );
|
||||
wire flip_x = ( sprite_color[4] == 1 );
|
||||
wire flip_y = ( sprite_color[5] == 1 );
|
||||
reg flip_screen;
|
||||
|
||||
// hbl is made 64 clocks
|
||||
always @ (posedge clk_10M) begin
|
||||
if ( hblank ) begin
|
||||
// clocked on the rising edge of HA. ie h[0]
|
||||
if ( clk_5M == 1 && h[0] == 1 ) begin
|
||||
// if tile is visible and still room in address stack
|
||||
if ( j7[7:4] == 0 && a9 < 15 && h < 8'hff) begin
|
||||
sp_addr_cache[a9][5:0] <= a7;
|
||||
a9 <= a9 + 1;
|
||||
end
|
||||
a7 <= a7 + 1;
|
||||
end
|
||||
h10 <= 0;
|
||||
end else begin
|
||||
// reset a9 on last pixel of playfield
|
||||
// should be zero anyways if a9 counted down correctly
|
||||
if ( hff == 1 ) begin
|
||||
a9 <= 0;
|
||||
end else if ( dec_a9 == 1 ) begin
|
||||
// a9 counts down on falling edge of pic1 when a9 > 0 and ~hbl
|
||||
if ( a9 > 0 ) begin
|
||||
a9 <= a9 - 1;
|
||||
end
|
||||
end
|
||||
|
||||
h10 <= h10 + 1;
|
||||
a7 <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
always @ ( posedge clk_10M ) begin // neg
|
||||
// load new nibbles into the shifters
|
||||
// if not loading then shifting out
|
||||
if ( load_shift == 1 ) begin
|
||||
// select rom bank
|
||||
if ( sp_bank == 0 ) begin
|
||||
// cheat and swizzle the nibble before shifting
|
||||
if ( flip_x == 0 ) begin
|
||||
k6 <= h5_data[3:0];
|
||||
j6 <= h5_data[7:4];
|
||||
f10_addr <= {sprite_color[2:0], h5_data[0], h5_data[4]};
|
||||
end else begin
|
||||
k6 <= { h5_data[0], h5_data[1], h5_data[2], h5_data[3] };
|
||||
j6 <= { h5_data[4], h5_data[5], h5_data[6], h5_data[7] };
|
||||
f10_addr <= {sprite_color[2:0], h5_data[3], h5_data[7]};
|
||||
end
|
||||
end else begin
|
||||
if ( flip_x == 0 ) begin
|
||||
k6 <= k5_data[3:0];
|
||||
j6 <= k5_data[7:4];
|
||||
f10_addr <= {sprite_color[2:0], k5_data[0], k5_data[4]};
|
||||
end else begin
|
||||
k6 <= { k5_data[0], k5_data[1], k5_data[2], k5_data[3] };
|
||||
j6 <= { k5_data[4], k5_data[5], k5_data[6], k5_data[7] };
|
||||
f10_addr <= {sprite_color[2:0], k5_data[3], k5_data[7]};
|
||||
end
|
||||
end
|
||||
end else begin
|
||||
// the flip_x bit doesn't matter since the bits were re-ordered at load.
|
||||
k6 <= { 1'b0, k6[3:1] };
|
||||
j6 <= { 1'b0, j6[3:1] };
|
||||
// get one clock early. not sure this works.
|
||||
f10_addr <= {sprite_color[2:0], k6[1], j6[1]};
|
||||
end
|
||||
|
||||
// counters are always cleared during hbl
|
||||
// one will free count and the other will count the x offset in the current blitter
|
||||
// v[0] (schematic VADLAY) determines which buffer is blitting and which is streaming
|
||||
if ( hblank ) begin
|
||||
f8_count <= 0;
|
||||
g8_count <= 0;
|
||||
end else if ( pad[1:0] == 2'b11 ) begin
|
||||
// mux G9 gives LA4 ( L9 nand pad 1+0 ) to F8 or G8 load line
|
||||
// load one from sprite x pos, increment the other
|
||||
if ( v[0] == 1 ) begin
|
||||
//f8_count <= sprite_x;
|
||||
f8_count <= spr_ram_data ;
|
||||
g8_count <= g8_count + 1;
|
||||
end else begin
|
||||
//g8_count <= sprite_x;
|
||||
g8_count <= spr_ram_data ;
|
||||
f8_count <= f8_count + 1;
|
||||
end
|
||||
end else begin
|
||||
// increment both
|
||||
if ( v[0] == 1 ) begin
|
||||
if ( sprite_valid ) begin
|
||||
f8_count <= f8_count + 1;
|
||||
end
|
||||
g8_count <= g8_count + 1;
|
||||
end else begin
|
||||
if ( sprite_valid ) begin
|
||||
g8_count <= g8_count + 1;
|
||||
end
|
||||
f8_count <= f8_count + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
always @ ( posedge clk_10M ) begin
|
||||
// odd / even lines each have their own sprite line buffer
|
||||
if ( v[0] == 1 ) begin
|
||||
// if the pixel color is 0 then the ram cs is not asserted and no write happens
|
||||
if ( k6[0] | j6[0] ) begin
|
||||
if ( sprite_valid ) begin
|
||||
// sprite_color[3] selects high or low nibble of sprite color lookup
|
||||
if ( sprite_color[3] == 0 ) begin
|
||||
f8_buf[f8_count][3:0] <= f10_data[3:0];
|
||||
end else begin
|
||||
f8_buf[f8_count][3:0] <= f10_data[7:4];
|
||||
end
|
||||
end
|
||||
end
|
||||
if ( clk_5M == 0 ) begin
|
||||
// hack. buffer on pcb is cleared by pull-downs on the output bus
|
||||
// the ram we is asserted after the output is latched then the zero value is written on the opposite 10MHz edge.
|
||||
// address clock on the streaming buffer is at 5M. It writes 0 when the clock is low
|
||||
g8_buf[h-1][3:0] <= 0;
|
||||
end
|
||||
|
||||
end else begin
|
||||
if ( k6[0] | j6[0] ) begin
|
||||
if ( sprite_valid ) begin
|
||||
// sprite_color[3] selects high or low nibble of sprite color lookup
|
||||
if ( sprite_color[3] == 0 ) begin
|
||||
g8_buf[g8_count][3:0] <= f10_data[3:0];
|
||||
end else begin
|
||||
g8_buf[g8_count][3:0] <= f10_data[7:4];
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if ( clk_5M == 0 ) begin
|
||||
// same as g8 above
|
||||
f8_buf[h-1][3:0] <= 0;
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
always @ (posedge clk_10M) begin // neg
|
||||
// data in spr_ram_data
|
||||
// { pad[7:2], pad[1:0] } on the schematic. pad counter
|
||||
// is h counter really reset and the same time as pad counter (A7)?
|
||||
if ( hblank ) begin
|
||||
// 64 cycles of checking if y active and storing a7 if it is
|
||||
spr_addr <= { a7[5:0], 2'b01 }; // only y
|
||||
end else begin
|
||||
//spr_addr <= { 6'b0, pad[1:0] }; // only y 63-0
|
||||
//spr_addr <= { sp_addr_cache[3][5:0], pad[1:0] }; // only y 63-0
|
||||
spr_addr <= { sp_addr_cache[a9], pad[1:0] }; // only y 63-0
|
||||
end
|
||||
|
||||
if ( ~hblank ) begin
|
||||
|
||||
// set the current position into the bitmap rom based on the tile,
|
||||
// y offset and bitmap byte offset
|
||||
// last 2 bits are from timing prom pad[0] & pad[1]
|
||||
// if ( sprite_color[5] == 0 ) begin
|
||||
if ( flip_y == 0 ) begin
|
||||
if ( flip_x == 0 ) begin
|
||||
spr_bitmap_addr <= { sprite_tile[5:0], sprite_y[3:0], pic[1:0] } ;
|
||||
end else begin
|
||||
spr_bitmap_addr <= { sprite_tile[5:0], sprite_y[3:0], ~pic[1:0] } ;
|
||||
end
|
||||
end else begin
|
||||
if ( flip_x == 0 ) begin
|
||||
spr_bitmap_addr <= { sprite_tile[5:0], ~sprite_y[3:0], pic[1:0] } ;
|
||||
end else begin
|
||||
spr_bitmap_addr <= { sprite_tile[5:0], ~sprite_y[3:0], ~pic[1:0] } ;
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
// sprites are added to a visible list during the hblank of the previous line
|
||||
wire [7:0]j7 = spr_ram_data + (v+1);
|
||||
|
||||
always @ (posedge clk_10M) begin
|
||||
|
||||
// J10 logic
|
||||
if ( ~hblank ) begin
|
||||
// 8 clocks per sprite
|
||||
// even is falling 5M clk
|
||||
case ( h10[4:0] )
|
||||
0: begin
|
||||
pad <= 2'b00;
|
||||
pic <= 2'b00;
|
||||
load_shift <= 0;
|
||||
end
|
||||
2: begin
|
||||
sprite_tile <= spr_ram_data;
|
||||
//sprite_tile <= 8'h06;
|
||||
pad <= 2'b01;
|
||||
end
|
||||
4: begin
|
||||
sprite_y <= j7;//spr_ram_data + v ;
|
||||
|
||||
if ( spr_ram_data !== 0 && j7 < 16 ) begin
|
||||
sprite_valid <= 1;
|
||||
end else begin
|
||||
sprite_valid <= 0;
|
||||
end
|
||||
pad <= 2'b10;
|
||||
end
|
||||
6: begin
|
||||
sprite_color <= spr_ram_data ;
|
||||
//sprite_color <= 8'h02 ;
|
||||
pad <= 2'b11;
|
||||
end
|
||||
8: begin
|
||||
// sprite_x <= spr_ram_data ;
|
||||
//sprite_x <= 8'h68 ;
|
||||
// pad <= 2'b00; // different than prom value
|
||||
end
|
||||
10: begin
|
||||
// this should be at 8
|
||||
pad <= 2'b00;
|
||||
load_shift <= 1;
|
||||
end
|
||||
11: begin
|
||||
load_shift <= 0;
|
||||
pic <= 2'b01;
|
||||
end
|
||||
14: begin
|
||||
load_shift <= 1;
|
||||
end
|
||||
15: begin
|
||||
load_shift <= 0;
|
||||
pic <= 2'b10;
|
||||
end
|
||||
18: begin
|
||||
load_shift <= 1;
|
||||
end
|
||||
19: begin
|
||||
load_shift <= 0;
|
||||
pic <= 2'b11;
|
||||
end
|
||||
22: begin
|
||||
load_shift <= 1;
|
||||
end
|
||||
23: begin
|
||||
load_shift <= 0;
|
||||
end
|
||||
26: begin
|
||||
dec_a9 <= 1;
|
||||
end
|
||||
27: begin
|
||||
dec_a9 <= 0;
|
||||
pic <= 2'b00;
|
||||
|
||||
end
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
reg draw;
|
||||
|
||||
reg [3:0] spr_pal_ofs_hi_1 ;
|
||||
reg [3:0] spr_pal_ofs_low_1 ;
|
||||
|
||||
reg [3:0] spr_pal_ofs_hi_2 ;
|
||||
reg [3:0] spr_pal_ofs_low_2 ;
|
||||
|
||||
// tiles
|
||||
always @ (posedge clk_10M) begin
|
||||
if ( clk_5M == 1 ) begin
|
||||
// sprite
|
||||
// load palette - calculate rom offsets
|
||||
// check if bg or fg asserted priority
|
||||
|
||||
// register the sprite output or it will be off by one since the tiles are registered.
|
||||
spr_pal_ofs_hi_2 <= spr_pal_ofs_hi_1;
|
||||
spr_pal_ofs_low_2 <= spr_pal_ofs_low_1;
|
||||
|
||||
if ( ( v[0] == 1 && g8_buf[h] > 0) || (v[0] == 0 && f8_buf[h] > 0) ) begin
|
||||
if ( v[0] == 1 ) begin
|
||||
spr_pal_ofs_hi_1 <= { 1'b0, g8_buf[h] };
|
||||
spr_pal_ofs_low_1 <= { 1'b0, g8_buf[h][3:2], g8_buf[h][1:0] };
|
||||
end else begin
|
||||
spr_pal_ofs_hi_1 <= { 1'b0, f8_buf[h] };
|
||||
spr_pal_ofs_low_1 <= { 1'b0, f8_buf[h][3:2], f8_buf[h][1:0] };
|
||||
end
|
||||
end else begin
|
||||
spr_pal_ofs_hi_1 <= 0;
|
||||
spr_pal_ofs_low_1 <= 0;
|
||||
end
|
||||
|
||||
if ( spr_pal_ofs_hi_2 > 0) begin
|
||||
fg_pal_ofs_hi <= spr_pal_ofs_hi_2;
|
||||
fg_pal_ofs_low <= spr_pal_ofs_low_2;
|
||||
draw <= 1;
|
||||
end else if ( fg !== 0 || fg_attr[6] == 1 ) begin
|
||||
// fg
|
||||
fg_pal_ofs_hi <= { fg_attr[2:0] , fg_shift_1[0], fg_shift_0[0] };
|
||||
fg_pal_ofs_low <= { fg_attr[5:3] , fg_shift_1[0], fg_shift_0[0] };
|
||||
draw <= 1;
|
||||
|
||||
end else if ( bg != 0 || bg_attr[6] == 1 ) begin
|
||||
// bg
|
||||
fg_pal_ofs_hi <= { bg_attr[2:0] , bg_shift_1[0], bg_shift_0[0] };
|
||||
fg_pal_ofs_low <= { bg_attr[5:3] , bg_shift_1[0], bg_shift_0[0] };
|
||||
draw <= 1;
|
||||
end else begin
|
||||
draw <= 0;
|
||||
end
|
||||
|
||||
if ( h[2:0] !== 2 ) begin
|
||||
// unless we are loading the shift register then shift it.
|
||||
fg_shift_0 <= { fg_shift_0[0], fg_shift_0[7:1] };
|
||||
fg_shift_1 <= { fg_shift_1[0], fg_shift_1[7:1] };
|
||||
|
||||
bg_shift_0 <= { bg_shift_0[0], bg_shift_0[7:1] };
|
||||
bg_shift_1 <= { bg_shift_1[0], bg_shift_1[7:1] };
|
||||
|
||||
end
|
||||
|
||||
case ( { flip_screen, h[2:0] } )
|
||||
0: begin
|
||||
fg_char_index <= { v[7:3] , h[7:3] } ; // 32*32 characters
|
||||
bg_char_index <= { bg_scroll[7:3] , h[7:3] } ; // 32*32 characters
|
||||
end
|
||||
1: begin
|
||||
fg_bitmap_addr <= { gfx_fg_attr_data[7], gfx_fg_tile_data, v[2:0] };
|
||||
bg_bitmap_addr <= { gfx_bg_attr_data[7], gfx_bg_tile_data, bg_scroll[2:0] };
|
||||
end
|
||||
2: begin
|
||||
fg_shift_0 <= u8_data;
|
||||
fg_shift_1 <= s8_data;
|
||||
|
||||
bg_shift_0 <= n8_data ;
|
||||
bg_shift_1 <= r8_data ;
|
||||
|
||||
// these are good for the width of the tile
|
||||
// fg_tile <= { gfx_fg_attr_data[7], gfx_fg_tile_data };
|
||||
fg_attr <= gfx_fg_attr_data;
|
||||
|
||||
// bg_tile <= { gfx_bg_attr_data[7], gfx_bg_tile_data };
|
||||
bg_attr <= gfx_bg_attr_data;
|
||||
end
|
||||
8: begin
|
||||
fg_char_index <= ~{ v[7:3] , h[7:3] } ; // 32*32 characters
|
||||
bg_char_index <= ~{ bg_scroll[7:3] , h[7:3] } ; // 32*32 characters
|
||||
end
|
||||
9: begin
|
||||
fg_bitmap_addr <= { gfx_fg_attr_data[7], gfx_fg_tile_data, ~v[2:0] };
|
||||
bg_bitmap_addr <= { gfx_bg_attr_data[7], gfx_bg_tile_data, ~bg_scroll[2:0] };
|
||||
end
|
||||
10: begin
|
||||
fg_shift_0 <= { u8_data[0], u8_data[1], u8_data[2], u8_data[3], u8_data[4], u8_data[5], u8_data[6], u8_data[7]} ;
|
||||
fg_shift_1 <= { s8_data[0], s8_data[1], s8_data[2], s8_data[3], s8_data[4], s8_data[5], s8_data[6], s8_data[7]} ;
|
||||
|
||||
bg_shift_0 <= { n8_data[0], n8_data[1], n8_data[2], n8_data[3], n8_data[4], n8_data[5], n8_data[6], n8_data[7]} ;
|
||||
bg_shift_1 <= { r8_data[0], r8_data[1], r8_data[2], r8_data[3], r8_data[4], r8_data[5], r8_data[6], r8_data[7]} ;
|
||||
|
||||
// these are good for the width of the tile
|
||||
// fg_tile <= { gfx_fg_attr_data[7], gfx_fg_tile_data };
|
||||
fg_attr <= gfx_fg_attr_data;
|
||||
|
||||
// bg_tile <= { gfx_bg_attr_data[7], gfx_bg_tile_data };
|
||||
bg_attr <= gfx_bg_attr_data;
|
||||
end
|
||||
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
wire [7:0] fg_pal_data_high; // read from palette prom
|
||||
wire [7:0] fg_pal_data_low;
|
||||
|
||||
wire [7:0] bg_pal_data_high;
|
||||
wire [7:0] bg_pal_data_low;
|
||||
|
||||
always @ (posedge clk_5M ) begin
|
||||
if ( ~hblank & ~vblank ) begin
|
||||
if ( draw ) begin
|
||||
red <= fg_red[7:4];
|
||||
green <= fg_green[7:4];
|
||||
blue <= fg_blue[7:4];
|
||||
end
|
||||
end else begin
|
||||
// vblank / hblank
|
||||
red <= 0;
|
||||
green <= 0;
|
||||
blue <= 0;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
always @ (posedge clk_4M ) begin
|
||||
|
||||
if ( rd_n == 0 ) begin
|
||||
/*if (cpu_addr == 16'h049a )
|
||||
// patch rom to bypass "secret" pal protection
|
||||
// cpu tries to read val from 0x9803 which is state machine pal
|
||||
// written to on all tile ram access. should try converting pal logic to verilog.
|
||||
cpu_din <= 0;
|
||||
else*/ if ( cpu_addr >= 16'h0000 && cpu_addr < 16'h8000 )
|
||||
cpu_din <= rom_do;
|
||||
else if ( cpu_addr >= 16'h8000 && cpu_addr < 16'h8400 )
|
||||
cpu_din <= bg_ram0_data;
|
||||
else if ( cpu_addr >= 16'h8400 && cpu_addr < 16'h8800 )
|
||||
cpu_din <= bg_ram1_data;
|
||||
else if ( cpu_addr >= 16'h8800 && cpu_addr < 16'h8c00 )
|
||||
cpu_din <= fg_ram0_data;
|
||||
else if ( cpu_addr >= 16'h8c00 && cpu_addr < 16'h9000 )
|
||||
cpu_din <= fg_ram1_data;
|
||||
else if ( cpu_addr == 16'h9803 )
|
||||
cpu_din <= 0;
|
||||
else if ( cpu_addr == 16'ha000 )
|
||||
cpu_din <= p1;
|
||||
else if ( cpu_addr == 16'ha001 )
|
||||
cpu_din <= p2;
|
||||
else if ( cpu_addr == 16'ha002 )
|
||||
cpu_din <= dsw1;
|
||||
else if ( cpu_addr == 16'ha003 )
|
||||
cpu_din <= dsw2;
|
||||
else if ( cpu_addr >= 16'he000 && cpu_addr < 16'hf000 )
|
||||
cpu_din <= cpu_ram_data;
|
||||
end else begin
|
||||
|
||||
if ( cpu_addr[15:12] == 4'he ) begin
|
||||
// 0xe000-0xefff z80 ram
|
||||
cpu_ram_w <= ~wr_n ;
|
||||
end else if ( cpu_addr[15:12] == 4'h8 ) begin
|
||||
case ( cpu_addr[11:10] )
|
||||
6'b00 : gfx_bg_ram0_wr <= ~wr_n;
|
||||
6'b01 : gfx_bg_ram1_wr <= ~wr_n;
|
||||
6'b10 : gfx_fg_ram0_wr <= ~wr_n;
|
||||
6'b11 : gfx_fg_ram1_wr <= ~wr_n;
|
||||
endcase
|
||||
end else if (cpu_addr >= 16'h9000 && cpu_addr < 16'h9800 ) begin
|
||||
// 0x9000-0x90ff sprite ram
|
||||
if ( ~vblank ) begin
|
||||
spr_ram_wr <= ~wr_n ;
|
||||
end
|
||||
end else if (cpu_addr[15:11] == 5'b11111 ) begin
|
||||
// 0xF800-0xffff horz scroll latch
|
||||
if ( wr_n == 0 ) begin
|
||||
bg_scroll_y <= cpu_dout;
|
||||
end
|
||||
end else if (cpu_addr == 16'h9800 ) begin
|
||||
if ( wr_n == 0 ) begin
|
||||
flip_screen <= cpu_dout[0];
|
||||
end
|
||||
end else if (cpu_addr == 16'h9801 ) begin
|
||||
sound1_wr <= ~wr_n;
|
||||
sound1_en <= 1;
|
||||
end else if (cpu_addr == 16'h9802 ) begin
|
||||
sound2_wr <= ~wr_n;
|
||||
sound2_en <= 1;
|
||||
end else begin
|
||||
// no valid write address
|
||||
cpu_ram_w <= 0 ;
|
||||
|
||||
gfx_fg_ram0_wr <= 0 ;
|
||||
gfx_fg_ram1_wr <= 0 ;
|
||||
|
||||
gfx_bg_ram0_wr <= 0 ;
|
||||
gfx_bg_ram1_wr <= 0 ;
|
||||
|
||||
sound1_wr <= 0;
|
||||
sound1_en <= 0;
|
||||
|
||||
sound2_wr <= 0;
|
||||
sound2_en <= 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// first 256 bytes are attribute data
|
||||
// bit 7 of attr == MSB of tile
|
||||
// bit 6 tile flip
|
||||
// bit 5-0 == 64 colors from palette
|
||||
// bytes 256-511 are tile index
|
||||
|
||||
|
||||
wire wr_n;
|
||||
wire rd_n;
|
||||
|
||||
reg vert_int_n;
|
||||
always @ (posedge clk_4M ) begin
|
||||
vert_int_n <= (v !== 200 ) ;
|
||||
end
|
||||
|
||||
T80pa u_cpu(
|
||||
.RESET_n ( ~reset ),
|
||||
.CLK ( clk_8M ),
|
||||
.CEN_p ( clk_4M ),
|
||||
.CEN_n ( 1'b1 ),
|
||||
.WAIT_n ( 1'b1 ),
|
||||
.INT_n ( vert_int_n ),
|
||||
.NMI_n ( 1'b1 ),
|
||||
.BUSRQ_n ( 1'b1 ),
|
||||
.RD_n ( rd_n ),
|
||||
.WR_n ( wr_n ),
|
||||
.A ( cpu_addr ),
|
||||
.DI ( cpu_din ),
|
||||
.DO ( cpu_dout )
|
||||
);
|
||||
|
||||
reg sound1_wr;
|
||||
reg sound1_en ;
|
||||
|
||||
reg sound2_wr;
|
||||
reg sound2_en ;
|
||||
|
||||
SN76496 sound1(
|
||||
.clk(clk_4M),
|
||||
.cpuclk(clk_4M),
|
||||
.reset(reset),
|
||||
.ce(sound1_en),
|
||||
.we(sound1_wr),
|
||||
.data(cpu_dout),
|
||||
.chmsk(4'b1111),
|
||||
.sndout(sound1_out)
|
||||
);
|
||||
|
||||
SN76496 sound2(
|
||||
.clk(clk_4M),
|
||||
.cpuclk(clk_4M),
|
||||
.reset(reset),
|
||||
.ce(sound2_en),
|
||||
.we(sound2_wr),
|
||||
.data(cpu_dout),
|
||||
.chmsk(4'b1111),
|
||||
.sndout(sound2_out)
|
||||
);
|
||||
|
||||
assign rom_addr = cpu_addr[14:0];
|
||||
|
||||
cpu_ram cpu_ram_inst (
|
||||
.address ( cpu_addr[11:0] ),
|
||||
.clock ( ~clk_4M ),
|
||||
.data ( cpu_dout ),
|
||||
.wren ( cpu_ram_w ),
|
||||
.q ( cpu_ram_data )
|
||||
);
|
||||
|
||||
// foreground tile attributes
|
||||
ram_dp_1k gfx_fg_ram0_inst (
|
||||
.clock_a ( ~clk_5M ),
|
||||
.address_a ( cpu_addr[9:0] ),
|
||||
.data_a ( cpu_dout ),
|
||||
.wren_a ( gfx_fg_ram0_wr ),
|
||||
.q_a ( fg_ram0_data ),
|
||||
|
||||
.clock_b ( ~clk_10M ),
|
||||
.address_b ( fg_char_index ),
|
||||
.data_b ( 0 ),
|
||||
.wren_b ( 0 ),
|
||||
.q_b ( gfx_fg_attr_data )
|
||||
);
|
||||
|
||||
// foreground tile index
|
||||
ram_dp_1k gfx_fg_ram1_inst (
|
||||
.clock_a ( ~clk_4M ),
|
||||
.address_a ( cpu_addr[9:0] ),
|
||||
.data_a ( cpu_dout ),
|
||||
.wren_a ( gfx_fg_ram1_wr ),
|
||||
.q_a ( fg_ram1_data ),
|
||||
|
||||
.clock_b ( ~clk_10M ),
|
||||
.address_b ( fg_char_index ),
|
||||
.data_b ( 0 ),
|
||||
.wren_b ( 0 ),
|
||||
.q_b ( gfx_fg_tile_data )
|
||||
);
|
||||
|
||||
// background tile attributes
|
||||
ram_dp_1k gfx_bg_ram0_inst (
|
||||
.clock_a ( ~clk_4M ),
|
||||
.address_a ( cpu_addr[9:0] ),
|
||||
.data_a ( cpu_dout ),
|
||||
.wren_a ( gfx_bg_ram0_wr ),
|
||||
.q_a ( bg_ram0_data ),
|
||||
|
||||
.clock_b ( ~clk_10M ),
|
||||
.address_b ( bg_char_index ),
|
||||
.data_b ( 0 ),
|
||||
.wren_b ( 0 ),
|
||||
.q_b ( gfx_bg_attr_data )
|
||||
);
|
||||
|
||||
// background tile index
|
||||
ram_dp_1k gfx_bg_ram1_inst (
|
||||
.clock_a ( ~clk_4M ),
|
||||
.address_a ( cpu_addr[9:0] ),
|
||||
.data_a ( cpu_dout ),
|
||||
.wren_a ( gfx_bg_ram1_wr ),
|
||||
.q_a ( bg_ram1_data ),
|
||||
|
||||
.clock_b ( ~clk_10M ),
|
||||
.address_b ( bg_char_index ),
|
||||
.data_b ( 0 ),
|
||||
.wren_b ( 0 ),
|
||||
.q_b ( gfx_bg_tile_data )
|
||||
);
|
||||
|
||||
// sprite ram - hardware uses 2x6148 = 1k, only 256 bytes can be addressed
|
||||
ram_dp_1k spr_ram (
|
||||
.clock_a ( ~clk_4M ),
|
||||
.address_a ( { 2'b00, cpu_addr[7:0] } ),
|
||||
.data_a ( cpu_dout ),
|
||||
.wren_a ( spr_ram_wr ),
|
||||
// .q_a ( ), // cpu can't read sprite ram
|
||||
|
||||
.clock_b ( ~clk_10M ),
|
||||
.address_b ( spr_addr ),
|
||||
.data_b ( 0 ),
|
||||
.wren_b ( 0 ),
|
||||
.q_b ( spr_ram_data )
|
||||
);
|
||||
|
||||
// Programm Roms
|
||||
//cpu_rom cpu_rom(
|
||||
// .clk(~clk_4M),
|
||||
// .addr(cpu_addr[14:0]),
|
||||
// .data(cpu01rom_data)
|
||||
//);
|
||||
|
||||
|
||||
// FG Roms
|
||||
fg1_rom fg1_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(fg_bitmap_addr),
|
||||
.data(s8_data)
|
||||
);
|
||||
|
||||
fg2_rom fg2_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(fg_bitmap_addr),
|
||||
.data(u8_data)
|
||||
);
|
||||
|
||||
// BG Roms
|
||||
bg1_rom bg1_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(bg_bitmap_addr ),
|
||||
.data(r8_data)
|
||||
);
|
||||
|
||||
bg2_rom bg2_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(bg_bitmap_addr ),
|
||||
.data(n8_data)
|
||||
);
|
||||
|
||||
// Sprite Roms
|
||||
spr1_rom spr1_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(spr_bitmap_addr),
|
||||
.data(h5_data)
|
||||
);
|
||||
|
||||
spr2_rom spr2_rom(
|
||||
.clk(~clk_10M),
|
||||
.addr(spr_bitmap_addr),
|
||||
.data(k5_data)
|
||||
);
|
||||
|
||||
//Patette
|
||||
pal_high_prom pal_high_prom(
|
||||
.clk(~clk_10M),
|
||||
.addr(fg_pal_ofs_hi),
|
||||
.data(fg_pal_data_high)
|
||||
);
|
||||
|
||||
pal_low_prom pal_low_prom(
|
||||
.clk(~clk_10M),
|
||||
.addr(fg_pal_ofs_low),
|
||||
.data(fg_pal_data_low)
|
||||
);
|
||||
|
||||
//Sprite LUT
|
||||
spr_col_lut_prom spr_col_lut_prom(
|
||||
.clk(~clk_10M),
|
||||
.addr(f10_addr),
|
||||
.data(f10_data)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
174
Arcade_MiST/Universal MrDo/rtl/SN76496.v
Normal file
174
Arcade_MiST/Universal MrDo/rtl/SN76496.v
Normal file
@@ -0,0 +1,174 @@
|
||||
// Copyright (c) 2010 MiSTer-X
|
||||
|
||||
module SN76496
|
||||
(
|
||||
input clk,
|
||||
input cpuclk,
|
||||
input reset,
|
||||
input ce,
|
||||
input we,
|
||||
input [7:0] data,
|
||||
input [3:0] chmsk,
|
||||
output reg [7:0] sndout,
|
||||
output reg [3:0] chactv,
|
||||
output reg [2:0] lreg
|
||||
);
|
||||
|
||||
`define RNGINI 16'h0F35
|
||||
`define RNGFB0 16'h4000
|
||||
`define RNGFB1 16'h8100
|
||||
|
||||
function [5:0] voltbl;
|
||||
input [3:0] idx;
|
||||
case (idx)
|
||||
4'h0: voltbl = 63;
|
||||
4'h1: voltbl = 50;
|
||||
4'h2: voltbl = 40;
|
||||
4'h3: voltbl = 32;
|
||||
4'h4: voltbl = 25;
|
||||
4'h5: voltbl = 20;
|
||||
4'h6: voltbl = 16;
|
||||
4'h7: voltbl = 13;
|
||||
4'h8: voltbl = 10;
|
||||
4'h9: voltbl = 8;
|
||||
4'hA: voltbl = 6;
|
||||
4'hB: voltbl = 5;
|
||||
4'hC: voltbl = 4;
|
||||
4'hD: voltbl = 3;
|
||||
4'hE: voltbl = 2;
|
||||
4'hF: voltbl = 0;
|
||||
endcase
|
||||
endfunction
|
||||
|
||||
reg [3:0] clks;
|
||||
|
||||
reg [2:0] nzc;
|
||||
reg [9:0] fq0, fq1, fq2;
|
||||
reg [9:0] fc0, fc1, fc2;
|
||||
reg [5:0] fv0, fv1, fv2, fv3;
|
||||
reg [5:0] _fv0,_fv1,_fv2,_fv3;
|
||||
reg fo0, fo1, fo2;
|
||||
|
||||
reg [15:0] rng = `RNGINI;
|
||||
wire [15:0] rfb = rng[0] ? ( nzc[2] ? `RNGFB1 : `RNGFB0 ) : 16'h0;
|
||||
|
||||
wire [1:0] nfq = nzc[1:0];
|
||||
wire [10:0] fq3 = ( nfq == 2'b00 ) ? 11'd64 :
|
||||
( nfq == 2'b01 ) ? 11'd128 :
|
||||
( nfq == 2'b10 ) ? 11'd256 : fq2;
|
||||
reg [10:0] fc3;
|
||||
wire fo3 = rng[0];
|
||||
|
||||
wire [7:0] o0 = ( fo0 & chmsk[0] ) ? { 1'b0, fv0, 1'b0 } : 8'h0;
|
||||
wire [7:0] o1 = ( fo1 & chmsk[1] ) ? { 1'b0, fv1, 1'b0 } : 8'h0;
|
||||
wire [7:0] o2 = ( fo2 & chmsk[2] ) ? { 1'b0, fv2, 1'b0 } : 8'h0;
|
||||
wire [7:0] o3 = ( fo3 & chmsk[3] ) ? { 1'b0, fv3, 1'b0 } : 8'h0;
|
||||
|
||||
wire [8:0] sndmix = o0 + o1 + o2 + o3;
|
||||
|
||||
always @( posedge cpuclk or posedge reset ) begin
|
||||
if ( reset ) begin
|
||||
lreg <= 0;
|
||||
_fv0 <= 0;
|
||||
_fv1 <= 0;
|
||||
_fv2 <= 0;
|
||||
_fv3 <= 0;
|
||||
fq0 <= 0;
|
||||
fq1 <= 0;
|
||||
fq2 <= 0;
|
||||
nzc <= 0;
|
||||
chactv <= 0;
|
||||
end
|
||||
else begin
|
||||
// Register write
|
||||
if ( ce & we ) begin
|
||||
if ( data[7] ) begin
|
||||
lreg <= data[6:4];
|
||||
case ( data[6:4] )
|
||||
3'h0: fq0[3:0] <= data[3:0];
|
||||
3'h2: fq1[3:0] <= data[3:0];
|
||||
3'h4: fq2[3:0] <= data[3:0];
|
||||
3'h1: begin _fv0 <= voltbl(data[3:0]); chactv[0] <= (~data[3]); end
|
||||
3'h3: begin _fv1 <= voltbl(data[3:0]); chactv[1] <= (~data[3]); end
|
||||
3'h5: begin _fv2 <= voltbl(data[3:0]); chactv[2] <= (~data[3]); end
|
||||
3'h7: begin _fv3 <= voltbl(data[3:0]); chactv[3] <= (~data[3]); end
|
||||
3'h6: begin nzc <= data[2:0]; end
|
||||
endcase
|
||||
end
|
||||
else begin
|
||||
case ( lreg )
|
||||
3'h0: fq0[9:4] <= data[5:0];
|
||||
3'h2: fq1[9:4] <= data[5:0];
|
||||
3'h4: fq2[9:4] <= data[5:0];
|
||||
default: begin end
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
always @( posedge clk or posedge reset ) begin
|
||||
// Reset
|
||||
if ( reset ) begin
|
||||
sndout <= 0;
|
||||
fv0 <= 0;
|
||||
fv1 <= 0;
|
||||
fv2 <= 0;
|
||||
fv3 <= 0;
|
||||
fc0 <= 0;
|
||||
fc1 <= 0;
|
||||
fc2 <= 0;
|
||||
fc3 <= 0;
|
||||
fo0 <= 0;
|
||||
fo1 <= 0;
|
||||
fo2 <= 0;
|
||||
clks <= 0;
|
||||
rng <= `RNGINI;
|
||||
end
|
||||
else begin
|
||||
|
||||
// OSCs update
|
||||
clks <= clks+3'd1;
|
||||
if ( clks == 0 ) begin
|
||||
|
||||
fv0 <= _fv0;
|
||||
fv1 <= _fv1;
|
||||
fv2 <= _fv2;
|
||||
fv3 <= _fv3;
|
||||
|
||||
if ( fc0 == 0 ) begin
|
||||
fc0 <= fq0;
|
||||
fo0 <= ~fo0;
|
||||
end
|
||||
else fc0 <= fc0-10'd1;
|
||||
|
||||
if ( fc1 == 0 ) begin
|
||||
fc1 <= fq1;
|
||||
fo1 <= ~fo1;
|
||||
end
|
||||
else fc1 <= fc1-10'd1;
|
||||
|
||||
if ( fc2 == 0 ) begin
|
||||
fc2 <= fq2;
|
||||
fo2 <= ~fo2;
|
||||
end
|
||||
else fc2 <= fc2-10'd1;
|
||||
|
||||
// NoiseGen update
|
||||
if ( fc3 == 0 ) begin
|
||||
fc3 <= fq3;
|
||||
rng <= { 1'b0, rng[15:1] } ^ rfb;
|
||||
end
|
||||
else fc3 <= fc3-11'd1;
|
||||
|
||||
// Sound update
|
||||
sndout <= {8{sndmix[8]}}|(sndmix[7:0]);
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
endmodule
|
||||
35
Arcade_MiST/Universal MrDo/rtl/build_id.tcl
Normal file
35
Arcade_MiST/Universal MrDo/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
|
||||
172
Arcade_MiST/Universal MrDo/rtl/cpu_ram.v
Normal file
172
Arcade_MiST/Universal MrDo/rtl/cpu_ram.v
Normal file
@@ -0,0 +1,172 @@
|
||||
// megafunction wizard: %RAM: 1-PORT%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altsyncram
|
||||
|
||||
// ============================================================
|
||||
// File Name: cpu_ram.v
|
||||
// Megafunction Name(s):
|
||||
// altsyncram
|
||||
//
|
||||
// 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 cpu_ram (
|
||||
address,
|
||||
clock,
|
||||
data,
|
||||
wren,
|
||||
q);
|
||||
|
||||
input [11:0] address;
|
||||
input clock;
|
||||
input [7:0] data;
|
||||
input wren;
|
||||
output [7:0] q;
|
||||
`ifndef ALTERA_RESERVED_QIS
|
||||
// synopsys translate_off
|
||||
`endif
|
||||
tri1 clock;
|
||||
`ifndef ALTERA_RESERVED_QIS
|
||||
// synopsys translate_on
|
||||
`endif
|
||||
|
||||
wire [7:0] sub_wire0;
|
||||
wire [7:0] q = sub_wire0[7:0];
|
||||
|
||||
altsyncram altsyncram_component (
|
||||
.address_a (address),
|
||||
.clock0 (clock),
|
||||
.data_a (data),
|
||||
.wren_a (wren),
|
||||
.q_a (sub_wire0),
|
||||
.aclr0 (1'b0),
|
||||
.aclr1 (1'b0),
|
||||
.address_b (1'b1),
|
||||
.addressstall_a (1'b0),
|
||||
.addressstall_b (1'b0),
|
||||
.byteena_a (1'b1),
|
||||
.byteena_b (1'b1),
|
||||
.clock1 (1'b1),
|
||||
.clocken0 (1'b1),
|
||||
.clocken1 (1'b1),
|
||||
.clocken2 (1'b1),
|
||||
.clocken3 (1'b1),
|
||||
.data_b (1'b1),
|
||||
.eccstatus (),
|
||||
.q_b (),
|
||||
.rden_a (1'b1),
|
||||
.rden_b (1'b1),
|
||||
.wren_b (1'b0));
|
||||
defparam
|
||||
altsyncram_component.clock_enable_input_a = "BYPASS",
|
||||
altsyncram_component.clock_enable_output_a = "BYPASS",
|
||||
altsyncram_component.intended_device_family = "Cyclone III",
|
||||
altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",
|
||||
altsyncram_component.lpm_type = "altsyncram",
|
||||
altsyncram_component.numwords_a = 4096,
|
||||
altsyncram_component.operation_mode = "SINGLE_PORT",
|
||||
altsyncram_component.outdata_aclr_a = "NONE",
|
||||
altsyncram_component.outdata_reg_a = "UNREGISTERED",
|
||||
altsyncram_component.power_up_uninitialized = "FALSE",
|
||||
altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ",
|
||||
altsyncram_component.widthad_a = 12,
|
||||
altsyncram_component.width_a = 8,
|
||||
altsyncram_component.width_byteena_a = 1;
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
// ============================================================
|
||||
// CNX file retrieval info
|
||||
// ============================================================
|
||||
// Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: AclrAddr NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: AclrByte NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: AclrData NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: AclrOutput NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTE_ENABLE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: BlankMemory NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: Clken NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: DataBusSeparated NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_A"
|
||||
// Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
|
||||
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: MIFfilename STRING ""
|
||||
// Retrieval info: PRIVATE: NUMWORDS_A NUMERIC "4096"
|
||||
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
|
||||
// Retrieval info: PRIVATE: RegAddr NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: RegData NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: RegOutput NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||
// Retrieval info: PRIVATE: SingleClock NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: UseDQRAM NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: WRCONTROL_ACLR_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: WidthAddr NUMERIC "12"
|
||||
// Retrieval info: PRIVATE: WidthData NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: rden NUMERIC "0"
|
||||
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: CONSTANT: LPM_HINT STRING "ENABLE_RUNTIME_MOD=NO"
|
||||
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
|
||||
// Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "4096"
|
||||
// Retrieval info: CONSTANT: OPERATION_MODE STRING "SINGLE_PORT"
|
||||
// Retrieval info: CONSTANT: OUTDATA_ACLR_A STRING "NONE"
|
||||
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "UNREGISTERED"
|
||||
// Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
|
||||
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_PORT_A STRING "NEW_DATA_NO_NBE_READ"
|
||||
// Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "12"
|
||||
// Retrieval info: CONSTANT: WIDTH_A NUMERIC "8"
|
||||
// Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
|
||||
// Retrieval info: USED_PORT: address 0 0 12 0 INPUT NODEFVAL "address[11..0]"
|
||||
// Retrieval info: USED_PORT: clock 0 0 0 0 INPUT VCC "clock"
|
||||
// Retrieval info: USED_PORT: data 0 0 8 0 INPUT NODEFVAL "data[7..0]"
|
||||
// Retrieval info: USED_PORT: q 0 0 8 0 OUTPUT NODEFVAL "q[7..0]"
|
||||
// Retrieval info: USED_PORT: wren 0 0 0 0 INPUT NODEFVAL "wren"
|
||||
// Retrieval info: CONNECT: @address_a 0 0 12 0 address 0 0 12 0
|
||||
// Retrieval info: CONNECT: @clock0 0 0 0 0 clock 0 0 0 0
|
||||
// Retrieval info: CONNECT: @data_a 0 0 8 0 data 0 0 8 0
|
||||
// Retrieval info: CONNECT: @wren_a 0 0 0 0 wren 0 0 0 0
|
||||
// Retrieval info: CONNECT: q 0 0 8 0 @q_a 0 0 8 0
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_ram_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
16
Arcade_MiST/Universal MrDo/rtl/divider_by2.sv
Normal file
16
Arcade_MiST/Universal MrDo/rtl/divider_by2.sv
Normal file
@@ -0,0 +1,16 @@
|
||||
module divider_by2 (
|
||||
|
||||
output reg out_clk,
|
||||
input clk,
|
||||
input rst
|
||||
);
|
||||
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if (rst)
|
||||
out_clk <= 1'b0;
|
||||
else
|
||||
out_clk <= ~out_clk;
|
||||
end
|
||||
|
||||
endmodule
|
||||
337
Arcade_MiST/Universal MrDo/rtl/pll.v
Normal file
337
Arcade_MiST/Universal MrDo/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 = 27,
|
||||
altpll_component.clk0_duty_cycle = 50,
|
||||
altpll_component.clk0_multiply_by = 98,
|
||||
altpll_component.clk0_phase_shift = "0",
|
||||
altpll_component.clk1_divide_by = 27,
|
||||
altpll_component.clk1_duty_cycle = 50,
|
||||
altpll_component.clk1_multiply_by = 49,
|
||||
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 "27"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "98.000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "49.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 "98"
|
||||
// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "49"
|
||||
// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "98.00000000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "49.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 "deg"
|
||||
// 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 "27"
|
||||
// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "98"
|
||||
// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||||
// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27"
|
||||
// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "49"
|
||||
// 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
|
||||
244
Arcade_MiST/Universal MrDo/rtl/ram_dp_1k.v
Normal file
244
Arcade_MiST/Universal MrDo/rtl/ram_dp_1k.v
Normal file
@@ -0,0 +1,244 @@
|
||||
// megafunction wizard: %RAM: 2-PORT%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altsyncram
|
||||
|
||||
// ============================================================
|
||||
// File Name: ram_dp_1k.v
|
||||
// Megafunction Name(s):
|
||||
// altsyncram
|
||||
//
|
||||
// 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 ram_dp_1k (
|
||||
address_a,
|
||||
address_b,
|
||||
clock_a,
|
||||
clock_b,
|
||||
data_a,
|
||||
data_b,
|
||||
wren_a,
|
||||
wren_b,
|
||||
q_a,
|
||||
q_b);
|
||||
|
||||
input [9:0] address_a;
|
||||
input [9:0] address_b;
|
||||
input clock_a;
|
||||
input clock_b;
|
||||
input [7:0] data_a;
|
||||
input [7:0] data_b;
|
||||
input wren_a;
|
||||
input wren_b;
|
||||
output [7:0] q_a;
|
||||
output [7:0] q_b;
|
||||
`ifndef ALTERA_RESERVED_QIS
|
||||
// synopsys translate_off
|
||||
`endif
|
||||
tri1 clock_a;
|
||||
tri0 wren_a;
|
||||
tri0 wren_b;
|
||||
`ifndef ALTERA_RESERVED_QIS
|
||||
// synopsys translate_on
|
||||
`endif
|
||||
|
||||
wire [7:0] sub_wire0;
|
||||
wire [7:0] sub_wire1;
|
||||
wire [7:0] q_a = sub_wire0[7:0];
|
||||
wire [7:0] q_b = sub_wire1[7:0];
|
||||
|
||||
altsyncram altsyncram_component (
|
||||
.clock0 (clock_a),
|
||||
.wren_a (wren_a),
|
||||
.address_b (address_b),
|
||||
.clock1 (clock_b),
|
||||
.data_b (data_b),
|
||||
.wren_b (wren_b),
|
||||
.address_a (address_a),
|
||||
.data_a (data_a),
|
||||
.q_a (sub_wire0),
|
||||
.q_b (sub_wire1),
|
||||
.aclr0 (1'b0),
|
||||
.aclr1 (1'b0),
|
||||
.addressstall_a (1'b0),
|
||||
.addressstall_b (1'b0),
|
||||
.byteena_a (1'b1),
|
||||
.byteena_b (1'b1),
|
||||
.clocken0 (1'b1),
|
||||
.clocken1 (1'b1),
|
||||
.clocken2 (1'b1),
|
||||
.clocken3 (1'b1),
|
||||
.eccstatus (),
|
||||
.rden_a (1'b1),
|
||||
.rden_b (1'b1));
|
||||
defparam
|
||||
altsyncram_component.address_reg_b = "CLOCK1",
|
||||
altsyncram_component.clock_enable_input_a = "BYPASS",
|
||||
altsyncram_component.clock_enable_input_b = "BYPASS",
|
||||
altsyncram_component.clock_enable_output_a = "BYPASS",
|
||||
altsyncram_component.clock_enable_output_b = "BYPASS",
|
||||
altsyncram_component.indata_reg_b = "CLOCK1",
|
||||
altsyncram_component.intended_device_family = "Cyclone III",
|
||||
altsyncram_component.lpm_type = "altsyncram",
|
||||
altsyncram_component.numwords_a = 1024,
|
||||
altsyncram_component.numwords_b = 1024,
|
||||
altsyncram_component.operation_mode = "BIDIR_DUAL_PORT",
|
||||
altsyncram_component.outdata_aclr_a = "NONE",
|
||||
altsyncram_component.outdata_aclr_b = "NONE",
|
||||
altsyncram_component.outdata_reg_a = "UNREGISTERED",
|
||||
altsyncram_component.outdata_reg_b = "UNREGISTERED",
|
||||
altsyncram_component.power_up_uninitialized = "FALSE",
|
||||
altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ",
|
||||
altsyncram_component.read_during_write_mode_port_b = "NEW_DATA_NO_NBE_READ",
|
||||
altsyncram_component.widthad_a = 10,
|
||||
altsyncram_component.widthad_b = 10,
|
||||
altsyncram_component.width_a = 8,
|
||||
altsyncram_component.width_b = 8,
|
||||
altsyncram_component.width_byteena_a = 1,
|
||||
altsyncram_component.width_byteena_b = 1,
|
||||
altsyncram_component.wrcontrol_wraddress_reg_b = "CLOCK1";
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
// ============================================================
|
||||
// CNX file retrieval info
|
||||
// ============================================================
|
||||
// Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: ADDRESSSTALL_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTEENA_ACLR_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTEENA_ACLR_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTE_ENABLE_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTE_ENABLE_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: BlankMemory NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRdata NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRq NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRrdaddress NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRrren NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRwraddress NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: CLRwren NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: Clock NUMERIC "5"
|
||||
// Retrieval info: PRIVATE: Clock_A NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: Clock_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: INDATA_ACLR_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: INDATA_REG_B NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_A"
|
||||
// Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
|
||||
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: MEMSIZE NUMERIC "8192"
|
||||
// Retrieval info: PRIVATE: MEM_IN_BITS NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: MIFfilename STRING ""
|
||||
// Retrieval info: PRIVATE: OPERATION_MODE NUMERIC "3"
|
||||
// Retrieval info: PRIVATE: OUTDATA_ACLR_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: OUTDATA_REG_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_MIXED_PORTS NUMERIC "2"
|
||||
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
|
||||
// Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_B NUMERIC "3"
|
||||
// Retrieval info: PRIVATE: REGdata NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: REGq NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: REGrdaddress NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: REGrren NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: REGwraddress NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: REGwren NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_DIFF_CLKEN NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: UseDPRAM NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: VarWidth NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: WIDTH_READ_A NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: WIDTH_READ_B NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: WIDTH_WRITE_A NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: WIDTH_WRITE_B NUMERIC "8"
|
||||
// Retrieval info: PRIVATE: WRADDR_ACLR_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: WRADDR_REG_B NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: WRCTRL_ACLR_B NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: enable NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: rden NUMERIC "0"
|
||||
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||||
// Retrieval info: CONSTANT: ADDRESS_REG_B STRING "CLOCK1"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_B STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_B STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: INDATA_REG_B STRING "CLOCK1"
|
||||
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||||
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
|
||||
// Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "1024"
|
||||
// Retrieval info: CONSTANT: NUMWORDS_B NUMERIC "1024"
|
||||
// Retrieval info: CONSTANT: OPERATION_MODE STRING "BIDIR_DUAL_PORT"
|
||||
// Retrieval info: CONSTANT: OUTDATA_ACLR_A STRING "NONE"
|
||||
// Retrieval info: CONSTANT: OUTDATA_ACLR_B STRING "NONE"
|
||||
// Retrieval info: CONSTANT: OUTDATA_REG_A STRING "UNREGISTERED"
|
||||
// Retrieval info: CONSTANT: OUTDATA_REG_B STRING "UNREGISTERED"
|
||||
// Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
|
||||
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_PORT_A STRING "NEW_DATA_NO_NBE_READ"
|
||||
// Retrieval info: CONSTANT: READ_DURING_WRITE_MODE_PORT_B STRING "NEW_DATA_NO_NBE_READ"
|
||||
// Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "10"
|
||||
// Retrieval info: CONSTANT: WIDTHAD_B NUMERIC "10"
|
||||
// Retrieval info: CONSTANT: WIDTH_A NUMERIC "8"
|
||||
// Retrieval info: CONSTANT: WIDTH_B NUMERIC "8"
|
||||
// Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
|
||||
// Retrieval info: CONSTANT: WIDTH_BYTEENA_B NUMERIC "1"
|
||||
// Retrieval info: CONSTANT: WRCONTROL_WRADDRESS_REG_B STRING "CLOCK1"
|
||||
// Retrieval info: USED_PORT: address_a 0 0 10 0 INPUT NODEFVAL "address_a[9..0]"
|
||||
// Retrieval info: USED_PORT: address_b 0 0 10 0 INPUT NODEFVAL "address_b[9..0]"
|
||||
// Retrieval info: USED_PORT: clock_a 0 0 0 0 INPUT VCC "clock_a"
|
||||
// Retrieval info: USED_PORT: clock_b 0 0 0 0 INPUT NODEFVAL "clock_b"
|
||||
// Retrieval info: USED_PORT: data_a 0 0 8 0 INPUT NODEFVAL "data_a[7..0]"
|
||||
// Retrieval info: USED_PORT: data_b 0 0 8 0 INPUT NODEFVAL "data_b[7..0]"
|
||||
// Retrieval info: USED_PORT: q_a 0 0 8 0 OUTPUT NODEFVAL "q_a[7..0]"
|
||||
// Retrieval info: USED_PORT: q_b 0 0 8 0 OUTPUT NODEFVAL "q_b[7..0]"
|
||||
// Retrieval info: USED_PORT: wren_a 0 0 0 0 INPUT GND "wren_a"
|
||||
// Retrieval info: USED_PORT: wren_b 0 0 0 0 INPUT GND "wren_b"
|
||||
// Retrieval info: CONNECT: @address_a 0 0 10 0 address_a 0 0 10 0
|
||||
// Retrieval info: CONNECT: @address_b 0 0 10 0 address_b 0 0 10 0
|
||||
// Retrieval info: CONNECT: @clock0 0 0 0 0 clock_a 0 0 0 0
|
||||
// Retrieval info: CONNECT: @clock1 0 0 0 0 clock_b 0 0 0 0
|
||||
// Retrieval info: CONNECT: @data_a 0 0 8 0 data_a 0 0 8 0
|
||||
// Retrieval info: CONNECT: @data_b 0 0 8 0 data_b 0 0 8 0
|
||||
// Retrieval info: CONNECT: @wren_a 0 0 0 0 wren_a 0 0 0 0
|
||||
// Retrieval info: CONNECT: @wren_b 0 0 0 0 wren_b 0 0 0 0
|
||||
// Retrieval info: CONNECT: q_a 0 0 8 0 @q_a 0 0 8 0
|
||||
// Retrieval info: CONNECT: q_b 0 0 8 0 @q_b 0 0 8 0
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL ram_dp_1k_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
278
Arcade_MiST/Universal MrDo/rtl/rom/bg1_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/bg1_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity bg1_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 bg1_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"1E",X"3C",X"78",X"F0",X"E1",X"C3",X"87",X"F0",X"E1",X"C3",X"87",X"0F",X"1E",X"3C",X"78",
|
||||
X"0F",X"1E",X"3C",X"78",X"F0",X"E1",X"C3",X"87",X"38",X"6C",X"C6",X"83",X"83",X"C6",X"6C",X"38",
|
||||
X"C7",X"93",X"39",X"7C",X"7C",X"39",X"93",X"C7",X"38",X"6C",X"C6",X"83",X"83",X"C6",X"6C",X"38",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"3C",X"78",X"F0",X"F0",X"F0",X"78",X"3C",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C0",X"C0",X"C0",X"CC",X"CC",X"0C",X"0C",X"0C",
|
||||
X"3F",X"3F",X"3F",X"33",X"33",X"F3",X"F3",X"F3",X"C0",X"C0",X"C0",X"CC",X"CC",X"0C",X"0C",X"0C",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"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"F8",X"88",X"F8",X"00",X"F8",X"88",X"F8",
|
||||
X"00",X"48",X"F8",X"08",X"00",X"F8",X"88",X"F8",X"00",X"48",X"F8",X"08",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"B8",X"A8",X"E8",X"00",X"F8",X"88",X"F8",X"00",X"B8",X"A8",X"E8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"88",X"A8",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"88",X"A8",X"F8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"F0",X"10",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F0",X"10",X"F8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"E8",X"A8",X"B8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"B8",X"00",X"F8",X"88",X"F8",
|
||||
X"00",X"80",X"80",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"F8",X"00",X"F8",X"88",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"F7",X"F7",X"F7",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"F3",X"F3",X"F1",X"E1",X"E1",X"E1",X"C1",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C3",X"C1",
|
||||
X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"7F",X"3F",X"E0",X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"FE",
|
||||
X"3F",X"3F",X"3F",X"1F",X"1F",X"1F",X"1F",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"CF",X"C7",X"E7",X"E3",X"E3",X"F3",X"F3",X"F1",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"80",X"80",X"80",X"C0",X"E0",
|
||||
X"3C",X"FE",X"7F",X"7F",X"3F",X"3F",X"3F",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"1F",X"1E",X"1E",X"1F",X"0F",X"0F",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"06",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"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"FE",X"FC",X"FC",X"FC",X"FE",X"64",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"80",X"C0",X"40",X"00",X"00",X"00",X"FE",X"FF",X"FF",X"F7",X"F0",X"E0",X"F8",X"FE",
|
||||
X"00",X"00",X"C0",X"F0",X"E0",X"E0",X"E0",X"C0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FC",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"E7",X"C2",X"82",X"80",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"E0",X"C0",X"C0",X"80",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",
|
||||
X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"80",X"FF",X"FF",X"FF",X"FF",X"7F",X"3F",X"5F",X"5F",
|
||||
X"80",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"F1",X"F8",X"FC",X"FC",
|
||||
X"7F",X"FF",X"FF",X"7F",X"27",X"23",X"01",X"01",X"80",X"8F",X"38",X"F0",X"F0",X"F0",X"F8",X"F8",
|
||||
X"6F",X"6F",X"EF",X"EF",X"EF",X"EF",X"EF",X"CF",X"00",X"00",X"00",X"00",X"00",X"81",X"E3",X"FF",
|
||||
X"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"0F",X"01",X"00",X"00",X"00",X"01",X"63",
|
||||
X"F0",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"8F",X"0F",X"0F",X"07",X"02",X"00",X"00",X"00",
|
||||
X"FF",X"F8",X"F0",X"F0",X"E0",X"C0",X"80",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"0F",X"01",X"00",X"01",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"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"73",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"E0",X"F8",X"FC",X"FE",
|
||||
X"00",X"00",X"01",X"83",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"03",X"07",X"07",X"0F",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"07",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FC",X"F8",X"F0",X"E0",X"E0",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"83",X"31",X"F0",X"90",X"10",X"00",X"00",X"FF",X"FF",X"FE",X"F8",X"F3",X"EE",X"EC",X"CC",
|
||||
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"01",X"01",X"03",
|
||||
X"87",X"00",X"00",X"00",X"06",X"0C",X"08",X"18",X"FF",X"FF",X"FF",X"FE",X"FE",X"FC",X"FC",X"F8",
|
||||
X"03",X"13",X"30",X"E0",X"E0",X"C0",X"80",X"00",X"18",X"1C",X"1E",X"0F",X"0F",X"07",X"03",X"00",
|
||||
X"F8",X"F8",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F0",
|
||||
X"00",X"00",X"00",X"0F",X"3F",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"80",X"C0",X"FF",X"FF",
|
||||
X"F8",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"FF",X"FF",X"FF",X"FF",X"7F",X"03",X"00",X"F0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"87",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FE",X"F8",X"E3",X"CF",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"FF",X"FF",X"FF",X"7F",
|
||||
X"FF",X"0F",X"E0",X"FE",X"7F",X"1F",X"03",X"00",X"FF",X"EF",X"E7",X"E1",X"E0",X"F0",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"FF",
|
||||
X"F1",X"E7",X"CF",X"FF",X"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"00",X"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"F8",X"F8",
|
||||
X"3F",X"9F",X"CF",X"07",X"13",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"FB",X"FF",
|
||||
X"FF",X"CF",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FD",X"F9",X"F7",X"FC",X"F1",X"C7",X"7F",X"3F",
|
||||
X"0F",X"E0",X"FF",X"FF",X"3F",X"03",X"C0",X"F0",X"30",X"9F",X"C7",X"F0",X"FC",X"FE",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"C0",X"FC",X"F8",X"F8",X"E0",X"80",X"00",X"63",X"C9",X"C9",X"88",X"8C",X"86",X"86",X"86",
|
||||
X"F0",X"E0",X"C1",X"81",X"83",X"83",X"87",X"8F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"38",X"7C",X"70",X"F8",X"F0",X"F8",X"FC",X"FE",
|
||||
X"86",X"83",X"83",X"81",X"C1",X"C0",X"E1",X"F0",X"CF",X"EF",X"EF",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"E0",X"F0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"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"FC",X"FC",X"FC",X"78",X"30",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1E",X"00",X"7F",X"FF",X"23",X"01",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"C7",X"F3",X"F9",X"7D",X"7D",
|
||||
X"7D",X"7D",X"FD",X"FD",X"F9",X"F9",X"F9",X"F1",X"E1",X"03",X"03",X"03",X"02",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"80",X"01",X"01",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FE",X"F8",X"F0",X"E0",X"E0",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"80",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"C0",X"C3",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"0F",
|
||||
X"0F",X"1F",X"BF",X"BF",X"BF",X"BF",X"BF",X"80",X"80",X"B8",X"B8",X"B8",X"B8",X"B8",X"38",X"38",
|
||||
X"78",X"F8",X"F8",X"F8",X"F8",X"F8",X"78",X"38",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"F0",X"D8",X"CC",X"FE",X"FE",X"F2",X"00",X"00",X"03",X"03",X"03",X"01",X"00",X"00",
|
||||
X"F6",X"FC",X"FC",X"C8",X"D8",X"F0",X"00",X"00",X"00",X"01",X"03",X"03",X"03",X"03",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"02",X"08",X"00",X"00",X"08",
|
||||
X"88",X"20",X"00",X"48",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"1C",X"00",X"00",X"00",X"00",X"04",X"0E",X"1F",X"1F",
|
||||
X"3C",X"48",X"C4",X"3E",X"0E",X"04",X"00",X"00",X"1F",X"1F",X"0E",X"04",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"40",X"E0",X"F0",X"F2",X"F6",X"BE",X"00",X"00",X"00",X"00",X"03",X"07",X"07",X"03",
|
||||
X"3E",X"36",X"72",X"F0",X"E0",X"40",X"00",X"00",X"03",X"06",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"40",X"60",X"70",X"38",X"38",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"38",X"38",X"70",X"60",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"D8",X"4C",X"66",X"26",X"32",X"32",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"32",X"32",X"26",X"66",X"4C",X"D8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"22",X"22",X"EE",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"0E",
|
||||
X"00",X"22",X"22",X"EE",X"00",X"00",X"00",X"00",X"00",X"02",X"02",X"0E",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FA",X"FA",X"FA",X"FA",X"7A",X"00",X"00",X"00",X"07",X"03",X"01",X"00",X"1A",
|
||||
X"3A",X"9A",X"40",X"A0",X"D0",X"00",X"00",X"00",X"1D",X"1E",X"1F",X"1F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"3C",X"20",X"1C",X"20",X"1C",X"00",X"BC",X"00",X"44",X"6C",X"68",X"6E",X"6C",X"68",X"6E",
|
||||
X"00",X"FC",X"00",X"FC",X"18",X"24",X"24",X"00",X"6E",X"68",X"6E",X"6C",X"68",X"6C",X"44",X"00",
|
||||
X"00",X"00",X"F8",X"1C",X"0C",X"0E",X"1E",X"FE",X"00",X"00",X"03",X"07",X"0E",X"1E",X"1F",X"1F",
|
||||
X"7E",X"3E",X"3E",X"3C",X"70",X"E0",X"00",X"00",X"1C",X"18",X"18",X"08",X"0C",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"60",X"B0",X"D8",X"D8",X"D8",X"00",X"00",X"00",X"07",X"0F",X"1F",X"1F",X"19",
|
||||
X"D8",X"D8",X"D8",X"B0",X"60",X"00",X"00",X"00",X"19",X"1F",X"1F",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"F1",X"F9",X"FF",X"F9",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"07",
|
||||
X"F1",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"1F",X"1E",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"60",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"60",X"00",X"00",X"00",X"00",X"00",X"E7",X"E7",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"79",X"79",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"9E",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"06",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"06",
|
||||
X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"60",
|
||||
X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"00",X"00",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
|
||||
X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"06",X"06",X"06",X"06",X"06",X"06",X"06",
|
||||
X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"60",X"60",X"60",X"00",X"00",X"60",X"60",X"60",
|
||||
X"00",X"60",X"60",X"60",X"60",X"00",X"00",X"60",X"60",X"00",X"00",X"60",X"60",X"60",X"60",X"00",
|
||||
X"06",X"06",X"06",X"00",X"00",X"06",X"06",X"06",X"06",X"00",X"00",X"06",X"06",X"06",X"06",X"00",
|
||||
X"00",X"06",X"06",X"06",X"06",X"00",X"00",X"06",X"60",X"80",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"60",X"60",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"E7",X"E7",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"9E",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"79",X"79",X"00",X"00",X"00",X"00",X"00",X"06",X"01",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"07",X"07",X"00",X"00",X"00",X"00",X"00",X"06",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"80",X"C0",X"E0",X"F0",X"F8",X"3C",X"1E",X"07",
|
||||
X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"80",X"C0",X"60",X"30",X"08",X"04",X"F0",X"FF",
|
||||
X"03",X"01",X"00",X"00",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00",
|
||||
X"FF",X"F0",X"04",X"08",X"30",X"60",X"C0",X"80",X"FF",X"FF",X"FF",X"F0",X"00",X"00",X"01",X"03",
|
||||
X"00",X"C0",X"F0",X"FC",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"07",X"1E",X"3C",X"F8",X"F0",X"E0",X"C0",X"80",X"3F",X"0F",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"01",X"03",X"07",X"0F",X"1F",X"3C",X"70",X"C0",X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"3F",X"0F",X"03",X"03",X"0F",X"3F",X"FF",X"FF",X"7F",X"3F",X"1F",X"0F",X"07",X"03",X"01",
|
||||
X"01",X"03",X"07",X"0F",X"1F",X"3F",X"7F",X"FF",X"FF",X"3F",X"0F",X"03",X"03",X"0F",X"3F",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00",X"C0",X"70",X"3C",X"1F",X"0F",X"07",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"1C",X"3C",X"7F",X"FF",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"E0",
|
||||
X"00",X"00",X"00",X"00",X"03",X"0F",X"0F",X"07",X"00",X"00",X"00",X"00",X"6C",X"FE",X"FC",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"FD",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"0F",X"1F",X"1E",X"7F",X"FF",X"FF",X"FF",X"7E",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"FE",X"7C",X"7F",X"7F",X"7E",X"70",X"38",X"18",X"C6",X"0F",X"0F",X"8F",X"E6",X"F0",X"38",X"18",
|
||||
X"03",X"80",X"C0",X"FF",X"FF",X"78",X"18",X"78",X"FF",X"7F",X"FF",X"FF",X"7E",X"7C",X"F0",X"FC",
|
||||
X"FC",X"FC",X"F8",X"F1",X"E0",X"00",X"00",X"00",X"CF",X"CF",X"C7",X"C3",X"81",X"00",X"00",X"00",
|
||||
X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FC",
|
||||
X"00",X"00",X"60",X"E0",X"80",X"01",X"33",X"FB",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"18",X"18",X"18",X"18",X"38",X"F0",X"E0",X"80",
|
||||
X"D8",X"88",X"D8",X"78",X"18",X"78",X"FF",X"FF",X"FE",X"FF",X"FE",X"FC",X"F0",X"7C",X"3E",X"0F",
|
||||
X"00",X"00",X"80",X"C0",X"E0",X"E0",X"F0",X"F0",X"00",X"1E",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"03",X"FC",X"70",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"EE",X"CC",X"00",X"00",X"00",X"00",X"1F",X"1F",X"3F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"F0",X"F0",X"F0",X"E0",X"C0",X"C0",X"80",X"00",X"1F",X"1F",X"1F",X"83",X"8F",X"DF",X"DF",X"90",
|
||||
X"F0",X"F0",X"E7",X"EF",X"DF",X"81",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1E",X"00",
|
||||
X"03",X"03",X"01",X"01",X"00",X"38",X"7C",X"7E",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"E0",X"E0",X"E0",X"E0",X"00",X"00",X"00",X"78",X"FC",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"70",X"F8",X"F8",
|
||||
X"FE",X"FE",X"FE",X"FC",X"78",X"00",X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"60",X"20",X"00",X"40",X"FC",X"FC",X"F8",X"C0",X"FE",X"7C",X"38",X"00",X"10",X"1F",X"1F",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"E0",X"F8",X"F8",X"F8",X"70",X"0E",X"07",X"21",X"E1",
|
||||
X"E1",X"F1",X"F8",X"F8",X"F8",X"78",X"30",X"00",X"01",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"60",X"00",X"00",X"00",X"00",X"00",X"3F",X"3F",X"3F",X"1B",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"7E",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",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"38",X"78",X"F8",X"F8",X"F8",X"F8",X"F8",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"78",X"FC",X"FC",X"1F",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",
|
||||
X"38",X"38",X"B8",X"B8",X"B8",X"B8",X"B8",X"80",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"0F",X"0F",X"1F",X"3F",X"FF",X"FF",X"DF",X"0F",X"0E",X"0C",X"0C",X"0E",X"07",X"07",X"03",X"00",
|
||||
X"80",X"BF",X"BF",X"BF",X"BF",X"BF",X"1F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",
|
||||
X"0F",X"DF",X"FF",X"FF",X"3F",X"1F",X"0F",X"0F",X"00",X"03",X"07",X"07",X"0E",X"0C",X"0C",X"0E",
|
||||
X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"07",X"FC",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"FE",X"FC",X"78",X"00",X"00",X"00",X"00",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"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"60",X"E3",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"61",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"F8",X"F8",X"FE",X"FF",X"FF",X"FF",X"7F",X"CF",X"DD",X"F8",X"F8",X"FD",X"7F",X"7F",X"CF",
|
||||
X"E7",X"EF",X"FF",X"FF",X"FC",X"F8",X"F8",X"FC",X"01",X"07",X"0F",X"1F",X"3F",X"7F",X"FF",X"FF",
|
||||
X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"E7",X"C3",X"CE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FC",X"FC",X"3F",X"1F",X"1F",X"1F",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"7C",X"7E",
|
||||
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"F9",X"FC",X"EC",X"60",
|
||||
X"1F",X"FF",X"FF",X"FF",X"FF",X"7E",X"00",X"00",X"7F",X"3F",X"1F",X"07",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"60",X"70",X"38",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0E",X"07",X"FF",X"FF",X"7F",X"1F",X"0F",X"0F",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"80",X"80",X"00",X"00",X"00",X"02",X"02",X"01",X"00",X"03",
|
||||
X"3F",X"FF",X"3F",X"0F",X"1F",X"3F",X"7F",X"FE",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"F8",
|
||||
X"80",X"80",X"00",X"00",X"00",X"80",X"E0",X"FB",X"0F",X"38",X"61",X"42",X"C2",X"C1",X"81",X"00",
|
||||
X"DC",X"18",X"30",X"60",X"80",X"00",X"00",X"00",X"F1",X"C3",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"79",X"3D",X"1D",X"00",X"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"FC",X"7E",X"3E",X"0F",X"07",X"83",X"00",X"00",X"06",X"0C",X"00",X"00",X"03",X"07",
|
||||
X"00",X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"03",
|
||||
X"00",X"18",X"3C",X"3C",X"18",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"07",X"07",X"47",X"E7",
|
||||
X"47",X"E3",X"40",X"00",X"18",X"18",X"00",X"80",X"FC",X"FC",X"FC",X"F6",X"F2",X"03",X"81",X"C1",
|
||||
X"03",X"03",X"03",X"01",X"80",X"C0",X"C7",X"9F",X"00",X"18",X"18",X"00",X"01",X"33",X"33",X"01",
|
||||
X"43",X"03",X"03",X"03",X"01",X"01",X"00",X"00",X"86",X"CF",X"4F",X"66",X"20",X"20",X"00",X"00",
|
||||
X"F0",X"F2",X"E7",X"F2",X"F8",X"B8",X"90",X"D3",X"7F",X"FF",X"FF",X"FF",X"FF",X"F7",X"E3",X"80",
|
||||
X"00",X"00",X"30",X"39",X"39",X"11",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"80",X"80",X"00",X"00",X"C0",X"C0",X"C0",X"80",X"D7",X"D7",X"43",X"00",X"01",X"07",X"3F",X"32",
|
||||
X"E3",X"F7",X"7C",X"18",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"F0",X"F8",X"F8",X"F8",X"FC",X"FC",X"FE",X"7E",X"CF",X"DD",X"F8",X"F8",X"FD",X"7F",X"7F",X"CF",
|
||||
X"3F",X"7F",X"FF",X"FF",X"F7",X"F0",X"E0",X"C0",X"CE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"F8",X"F8",X"C0",X"E0",X"E0",X"00",X"80",X"FF",X"FF",X"BF",X"3F",X"1F",X"0F",X"07",X"03",
|
||||
X"00",X"C0",X"F0",X"FC",X"FC",X"00",X"00",X"80",X"0E",X"1F",X"1F",X"03",X"31",X"60",X"03",X"07",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"F0",X"10",X"10",X"10",X"10",
|
||||
X"00",X"00",X"00",X"FF",X"10",X"10",X"10",X"10",X"00",X"00",X"00",X"1F",X"10",X"10",X"10",X"10",
|
||||
X"10",X"10",X"10",X"F0",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"FF",X"10",X"10",X"10",X"10",
|
||||
X"10",X"10",X"10",X"1F",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"F0",X"00",X"00",X"00",X"00",
|
||||
X"10",X"10",X"10",X"FF",X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"1F",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/Universal MrDo/rtl/rom/bg2_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/bg2_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity bg2_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 bg2_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"1E",X"3C",X"78",X"F0",X"E1",X"C3",X"87",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F0",X"E1",X"C3",X"87",X"0F",X"1E",X"3C",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"6C",X"C6",X"83",X"83",X"C6",X"6C",X"38",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3C",X"3C",X"78",X"F0",X"F0",X"F0",X"78",X"3C",X"C3",X"C3",X"87",X"0F",X"0F",X"0F",X"87",X"C3",
|
||||
X"3C",X"3C",X"78",X"F0",X"F0",X"F0",X"78",X"3C",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"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"F8",X"88",X"F8",X"00",X"F8",X"88",X"F8",
|
||||
X"00",X"48",X"F8",X"08",X"00",X"F8",X"88",X"F8",X"00",X"48",X"F8",X"08",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"B8",X"A8",X"E8",X"00",X"F8",X"88",X"F8",X"00",X"B8",X"A8",X"E8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"88",X"A8",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"88",X"A8",X"F8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"F0",X"10",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F0",X"10",X"F8",X"00",X"E8",X"A8",X"B8",
|
||||
X"00",X"E8",X"A8",X"B8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"B8",X"00",X"F8",X"88",X"F8",
|
||||
X"00",X"80",X"80",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"F8",X"00",X"F8",X"88",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FC",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F0",X"F0",X"F0",X"F0",X"F0",X"E0",X"E0",X"E0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"F8",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F8",X"FC",X"FC",X"FC",X"FE",X"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FE",X"FC",X"FC",X"F8",X"F8",X"F8",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F0",X"E0",X"E0",X"F0",X"F8",X"FC",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"F8",X"F8",X"F0",X"F0",X"E0",X"C0",X"C0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"C0",X"80",X"80",X"80",X"80",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"FE",X"FE",X"FC",X"FC",X"F8",X"F8",X"F8",X"F0",
|
||||
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"F0",X"F0",X"F0",X"F0",
|
||||
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"E0",X"E0",X"E0",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"FE",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"C0",X"E0",X"E0",X"E0",X"F0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"C3",X"FF",X"FF",X"C7",X"03",X"00",X"00",X"60",X"A0",X"A3",X"FF",X"FF",X"F0",
|
||||
X"3C",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"80",X"80",X"00",X"80",X"C0",X"80",X"FF",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E0",X"FF",X"FF",X"7F",X"00",X"00",X"00",X"00",X"C7",X"9F",X"7F",X"FC",X"C8",X"98",X"D0",X"DC",
|
||||
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"E6",X"E0",X"C0",X"80",X"C0",X"80",X"C0",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"C7",X"03",
|
||||
X"FF",X"7F",X"3F",X"7F",X"1F",X"3F",X"0F",X"9F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"7F",X"3F",X"BF",X"FF",X"FF",X"FF",X"01",X"00",X"00",X"08",X"0F",X"1F",X"07",X"01",
|
||||
X"FF",X"FF",X"3F",X"0F",X"1F",X"1F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"01",X"01",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"E0",X"F0",X"F0",X"F8",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"E0",X"F0",X"F8",X"FC",X"FC",
|
||||
X"00",X"FE",X"FF",X"7F",X"27",X"23",X"01",X"01",X"00",X"0F",X"38",X"F0",X"F0",X"F0",X"F8",X"F8",
|
||||
X"F8",X"F8",X"F8",X"F9",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"FE",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"0F",X"01",X"00",X"00",X"00",X"01",X"63",
|
||||
X"F0",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",X"F8",
|
||||
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"01",X"07",X"FF",X"FF",X"FF",X"F9",X"F0",
|
||||
X"9C",X"0E",X"0F",X"9F",X"FF",X"FF",X"F9",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F3",X"E0",X"E0",X"E0",X"60",X"60",X"E0",X"F0",X"FF",X"FF",X"F9",X"F0",X"E0",X"E0",X"F0",X"F9",
|
||||
X"70",X"79",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"E0",X"E0",X"F0",X"F9",X"FF",X"07",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FC",X"F8",X"F8",X"F0",X"E0",
|
||||
X"FF",X"FF",X"FF",X"E3",X"C1",X"C1",X"C1",X"E3",X"E1",X"E1",X"73",X"7F",X"7F",X"7F",X"FF",X"E7",
|
||||
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"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FE",X"F8",X"00",X"00",X"00",X"00",
|
||||
X"C3",X"C3",X"E7",X"FF",X"FF",X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FF",X"FF",X"FF",X"9F",X"1F",X"13",X"33",X"00",X"03",X"0F",X"1F",X"3F",X"7E",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"F3",X"73",X"3F",X"1F",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",X"F8",X"03",X"03",X"07",X"07",X"0F",X"0F",X"1F",X"1F",
|
||||
X"0F",X"1F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"3F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"E0",X"C0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",
|
||||
X"3F",X"1F",X"0F",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"00",X"00",X"00",X"F0",X"FF",X"00",X"00",X"00",X"00",X"80",X"FC",X"FF",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"F8",X"F0",X"E0",X"E0",X"C0",X"80",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"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"FC",X"F0",X"E0",X"80",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"E0",X"E0",X"E0",X"E0",X"F0",X"F8",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"80",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"80",X"82",X"C2",X"C7",X"C7",
|
||||
X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"C0",X"E7",X"E3",X"F3",X"F1",X"F9",X"F9",X"FC",X"7C",
|
||||
X"C3",X"47",X"6E",X"B8",X"4F",X"FF",X"DF",X"D9",X"3C",X"1C",X"0E",X"07",X"00",X"71",X"FB",X"FF",
|
||||
X"00",X"80",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",X"F0",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"F0",X"00",X"80",X"C0",X"F0",X"FC",X"FE",X"FF",X"FF",
|
||||
X"C0",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"0F",X"00",X"00",X"00",X"C0",X"FF",X"FF",
|
||||
X"FF",X"FC",X"FC",X"F8",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"00",X"C0",X"FF",X"FF",
|
||||
X"FF",X"3F",X"00",X"00",X"00",X"3F",X"00",X"3F",X"FF",X"FC",X"F0",X"F8",X"F0",X"F8",X"FC",X"FE",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F8",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"00",X"00",X"00",X"00",X"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"FC",X"FC",X"FC",X"78",X"30",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1E",X"00",X"7F",X"FF",X"23",X"01",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"0F",X"3F",X"1F",X"FF",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"8F",X"0F",X"07",X"0F",X"0F",X"0F",X"07",X"03",X"01",X"00",
|
||||
X"07",X"01",X"0F",X"3F",X"3F",X"1F",X"0B",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"C0",X"F0",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"F8",X"F8",
|
||||
X"00",X"06",X"06",X"00",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"BF",X"3F",X"73",X"F3",X"00",X"03",X"0F",X"1F",X"3F",X"77",X"F2",X"FA",
|
||||
X"FF",X"FF",X"FF",X"F3",X"F3",X"FF",X"7F",X"7F",X"F8",X"FD",X"FD",X"FD",X"FC",X"F8",X"FA",X"FB",
|
||||
X"3F",X"9F",X"CF",X"EF",X"EF",X"FF",X"FF",X"FF",X"FB",X"F3",X"F7",X"F7",X"F7",X"F7",X"F7",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"8F",
|
||||
X"CF",X"DF",X"7F",X"7F",X"7F",X"7F",X"7F",X"40",X"40",X"78",X"78",X"78",X"78",X"78",X"F8",X"F8",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"78",X"38",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"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"E0",X"60",X"30",X"98",X"CC",X"CC",X"00",X"00",X"02",X"02",X"03",X"07",X"0F",X"1F",
|
||||
X"98",X"B8",X"30",X"70",X"60",X"E0",X"00",X"00",X"0F",X"07",X"03",X"03",X"02",X"02",X"00",X"00",
|
||||
X"00",X"00",X"C0",X"E0",X"E0",X"00",X"FC",X"FE",X"00",X"00",X"0F",X"1F",X"1F",X"1E",X"1C",X"1D",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FE",X"FC",X"00",X"00",X"1D",X"0D",X"01",X"01",X"01",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"F0",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"1F",
|
||||
X"E0",X"F0",X"F8",X"F0",X"E0",X"00",X"00",X"00",X"1F",X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"40",X"60",X"30",X"32",X"36",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"1C",
|
||||
X"FE",X"F6",X"B2",X"30",X"60",X"40",X"00",X"00",X"1C",X"09",X"03",X"07",X"0E",X"0C",X"00",X"00",
|
||||
X"00",X"00",X"00",X"98",X"AC",X"D6",X"D6",X"D6",X"00",X"00",X"00",X"07",X"0F",X"1F",X"1F",X"1F",
|
||||
X"D6",X"D6",X"D6",X"AC",X"98",X"00",X"00",X"00",X"1F",X"1F",X"1F",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"F8",X"FC",X"FE",X"FE",X"FE",X"FE",X"00",X"00",X"01",X"03",X"07",X"07",X"0F",X"1F",
|
||||
X"FE",X"FE",X"FE",X"FE",X"FC",X"F8",X"00",X"00",X"1F",X"0F",X"07",X"07",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"1F",X"1F",X"1F",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"FE",X"FE",X"FE",X"FE",X"7E",X"00",X"00",X"00",X"07",X"03",X"01",X"00",X"1E",
|
||||
X"3E",X"9E",X"C0",X"E0",X"F0",X"00",X"00",X"00",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"C2",X"DE",X"E2",X"DE",X"E2",X"FE",X"42",X"00",X"44",X"6F",X"7F",X"7F",X"7F",X"7F",X"7F",
|
||||
X"FE",X"02",X"FE",X"02",X"E6",X"DA",X"DA",X"00",X"7F",X"7F",X"7F",X"7F",X"7F",X"6F",X"44",X"00",
|
||||
X"00",X"00",X"F0",X"F8",X"FC",X"FE",X"FE",X"FE",X"00",X"00",X"03",X"07",X"07",X"0F",X"1F",X"1F",
|
||||
X"FE",X"FC",X"FC",X"F0",X"E0",X"C0",X"00",X"00",X"1F",X"1F",X"1F",X"0F",X"0F",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"F0",X"F8",X"FC",X"FC",X"FC",X"00",X"00",X"00",X"07",X"0F",X"1F",X"1F",X"1F",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F0",X"00",X"00",X"00",X"1F",X"1F",X"1F",X"0F",X"07",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"E0",X"31",X"19",X"0F",X"19",X"00",X"00",X"00",X"07",X"04",X"04",X"04",X"1C",
|
||||
X"31",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"34",X"27",X"21",X"33",X"1E",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"60",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"60",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"9E",X"9E",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E7",X"E7",X"00",X"00",X"00",X"00",X"00",X"00",X"79",X"79",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"00",X"00",X"01",X"01",X"06",
|
||||
X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"06",X"00",X"60",X"60",X"60",X"60",X"60",X"60",X"60",
|
||||
X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"60",X"00",
|
||||
X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"06",
|
||||
X"00",X"06",X"06",X"06",X"06",X"06",X"06",X"06",X"60",X"00",X"00",X"60",X"60",X"60",X"60",X"00",
|
||||
X"60",X"60",X"60",X"00",X"00",X"60",X"60",X"60",X"00",X"60",X"60",X"60",X"60",X"00",X"00",X"60",
|
||||
X"00",X"06",X"06",X"06",X"06",X"00",X"00",X"06",X"06",X"06",X"06",X"00",X"00",X"06",X"06",X"06",
|
||||
X"06",X"00",X"00",X"06",X"06",X"06",X"06",X"00",X"00",X"E0",X"E0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"60",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"60",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"79",X"79",X"00",X"00",X"00",X"00",X"00",X"00",X"E7",X"E7",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"9E",X"9E",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"06",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",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"80",X"C0",X"E0",X"F0",X"F8",X"FC",X"FE",X"FF",
|
||||
X"01",X"03",X"07",X"0F",X"1F",X"3F",X"7F",X"FF",X"80",X"C0",X"E0",X"F0",X"F8",X"FC",X"0E",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"0F",X"00",X"00",X"00",X"FF",X"3F",X"0F",X"03",X"03",X"0F",X"3F",X"FF",
|
||||
X"00",X"0E",X"FC",X"F8",X"F0",X"E0",X"C0",X"80",X"00",X"00",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FE",X"FC",X"F8",X"F0",X"E0",X"C0",X"80",X"C0",X"70",X"3C",X"1F",X"0F",X"07",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FC",X"F0",X"C0",X"00",
|
||||
X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",X"3F",X"0F",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"01",X"03",X"07",X"0F",X"1F",X"3C",X"70",X"C0",X"00",X"C0",X"F0",X"FC",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"3F",X"0F",X"03",X"03",X"0F",X"3F",X"FF",X"FF",X"7F",X"3F",X"1F",X"0F",X"07",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"1C",X"3C",X"7F",X"FF",X"00",X"00",X"00",X"00",X"00",X"0C",X"0E",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"70",X"F0",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"F0",X"F8",X"FC",X"FE",X"FF",X"F0",X"E0",X"01",X"00",X"00",X"00",X"00",X"81",X"C3",X"FF",
|
||||
X"00",X"00",X"01",X"03",X"03",X"07",X"07",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FC",X"FF",X"FF",X"FE",X"F0",X"38",X"18",X"39",X"F0",X"F0",X"F0",X"F9",X"FF",X"FF",X"FE",
|
||||
X"7C",X"3F",X"1F",X"FF",X"FF",X"7F",X"1F",X"7F",X"00",X"00",X"00",X"0F",X"3E",X"FC",X"F0",X"FC",
|
||||
X"02",X"03",X"06",X"0C",X"1E",X"FF",X"FF",X"FF",X"30",X"30",X"38",X"3C",X"7E",X"FF",X"FF",X"FF",
|
||||
X"C0",X"C0",X"C0",X"C0",X"E0",X"B0",X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"0F",X"07",X"03",X"02",
|
||||
X"0F",X"1F",X"7F",X"FF",X"9F",X"1E",X"3C",X"FC",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"F8",X"F8",X"F0",X"E0",X"80",
|
||||
X"FF",X"FF",X"FF",X"7F",X"1F",X"7F",X"FF",X"FF",X"FE",X"FF",X"FE",X"FC",X"F0",X"FC",X"FE",X"EF",
|
||||
X"FF",X"FF",X"7F",X"3F",X"1F",X"1F",X"0F",X"0F",X"FF",X"E1",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"7F",X"7F",X"FF",X"FF",X"FE",X"FE",X"FC",X"7C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FF",X"EE",X"CC",X"00",X"00",X"00",X"00",X"1F",X"1F",X"3F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"C0",X"C0",X"C0",X"60",X"60",X"00",X"00",X"40",
|
||||
X"0F",X"0F",X"18",X"10",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"E0",X"FC",
|
||||
X"7C",X"3C",X"3E",X"1E",X"3F",X"07",X"03",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",X"EF",X"FF",X"FF",X"87",X"03",X"01",X"01",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"F8",X"F8",X"F8",X"F8",X"88",X"00",X"00",
|
||||
X"01",X"01",X"01",X"03",X"87",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"01",X"03",X"03",X"03",X"03",
|
||||
X"80",X"C0",X"C0",X"C0",X"FC",X"FC",X"F8",X"C0",X"01",X"03",X"07",X"1F",X"1F",X"1F",X"1F",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"E0",X"00",X"00",X"00",X"80",X"FE",X"E7",X"E1",X"E1",
|
||||
X"1E",X"0E",X"07",X"07",X"07",X"07",X"0F",X"1F",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"60",X"00",X"00",X"00",X"00",X"00",X"3F",X"3F",X"3F",X"1B",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"7E",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",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"38",X"78",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"00",X"00",X"C0",X"F0",X"FC",X"FE",X"0F",X"03",
|
||||
X"00",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"1E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F8",X"F8",X"78",X"78",X"78",X"78",X"78",X"40",X"01",X"00",X"00",X"FE",X"FE",X"B6",X"B6",X"B6",
|
||||
X"0E",X"0E",X"1C",X"3D",X"F9",X"F1",X"E1",X"F1",X"7E",X"7C",X"7C",X"3E",X"3F",X"3F",X"1F",X"0F",
|
||||
X"40",X"7F",X"7F",X"7F",X"7F",X"7F",X"DF",X"CF",X"B6",X"B6",X"B6",X"86",X"86",X"00",X"00",X"01",
|
||||
X"F1",X"E1",X"F1",X"F9",X"3D",X"1C",X"0E",X"0E",X"0F",X"1F",X"3F",X"3F",X"3E",X"7C",X"7C",X"7E",
|
||||
X"8F",X"0F",X"1F",X"1F",X"1F",X"1F",X"0F",X"07",X"03",X"0F",X"FE",X"FC",X"F0",X"C0",X"00",X"00",
|
||||
X"1E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"60",X"E0",X"E0",X"E0",X"E0",X"E0",X"F0",X"70",X"10",X"30",X"71",X"F3",X"F7",X"F7",X"9F",X"1C",
|
||||
X"0C",X"3C",X"7C",X"FC",X"FD",X"FD",X"CF",X"9E",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"0F",
|
||||
X"10",X"00",X"00",X"06",X"0F",X"1F",X"1F",X"9F",X"30",X"22",X"07",X"07",X"02",X"80",X"80",X"30",
|
||||
X"18",X"10",X"00",X"00",X"03",X"07",X"07",X"03",X"1E",X"18",X"30",X"20",X"40",X"00",X"00",X"00",
|
||||
X"CF",X"87",X"07",X"07",X"0F",X"0F",X"07",X"03",X"31",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"FE",
|
||||
X"30",X"F8",X"FB",X"FB",X"38",X"18",X"18",X"10",X"00",X"00",X"03",X"07",X"06",X"04",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FF",X"FF",X"FF",X"F9",X"FC",X"EC",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"80",X"80",X"80",X"C0",X"E0",X"C0",X"F0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"01",X"03",X"07",X"0F",X"0F",X"0F",
|
||||
X"F0",X"F8",X"00",X"00",X"80",X"E0",X"F0",X"F0",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1C",
|
||||
X"C0",X"00",X"C0",X"F0",X"E0",X"C0",X"80",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"10",X"07",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
|
||||
X"20",X"E0",X"C0",X"80",X"00",X"00",X"00",X"00",X"FE",X"FC",X"FF",X"FF",X"FF",X"FE",X"F0",X"C0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"0F",X"0F",X"0F",X"07",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"C8",X"E0",X"C0",X"C0",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"3F",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"F0",X"F8",X"7C",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"20",X"60",X"70",X"80",X"C0",X"E0",X"F0",X"F8",X"F8",X"F8",X"FA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"9D",X"CF",X"E3",X"F9",X"FD",X"1C",X"1E",X"1E",
|
||||
X"03",X"03",X"03",X"81",X"E0",X"F8",X"F8",X"E0",X"78",X"7C",X"7E",X"7F",X"7F",X"7F",X"7F",X"7F",
|
||||
X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",X"7F",X"3F",X"BF",X"9E",X"DC",X"D0",X"C0",X"C0",
|
||||
X"0F",X"8F",X"DF",X"FF",X"FF",X"FF",X"F7",X"F7",X"80",X"03",X"01",X"1F",X"3F",X"77",X"E3",X"80",
|
||||
X"7F",X"7F",X"3F",X"3E",X"3E",X"1E",X"1E",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"E0",X"E0",X"E0",X"C0",X"C0",X"C0",X"C0",X"80",X"F7",X"F7",X"E7",X"83",X"01",X"07",X"3F",X"32",
|
||||
X"E3",X"F7",X"FF",X"1F",X"07",X"00",X"00",X"00",X"06",X"03",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"30",X"78",X"F8",X"F8",X"FC",X"7C",X"3E",X"9E",X"30",X"22",X"07",X"07",X"02",X"80",X"80",X"30",
|
||||
X"DF",X"8F",X"0F",X"0F",X"07",X"00",X"00",X"00",X"31",X"00",X"70",X"F8",X"FC",X"FE",X"7E",X"7F",
|
||||
X"C0",X"F8",X"F8",X"C0",X"E0",X"E0",X"00",X"80",X"7F",X"7F",X"3F",X"3F",X"1F",X"0F",X"07",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"00",X"00",X"00",X"1D",X"3E",X"7F",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"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"F0",X"10",X"10",X"10",X"10",
|
||||
X"00",X"00",X"00",X"FF",X"10",X"10",X"10",X"10",X"00",X"00",X"00",X"1F",X"10",X"10",X"10",X"10",
|
||||
X"10",X"10",X"10",X"F0",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"FF",X"10",X"10",X"10",X"10",
|
||||
X"10",X"10",X"10",X"1F",X"10",X"10",X"10",X"10",X"10",X"10",X"10",X"F0",X"00",X"00",X"00",X"00",
|
||||
X"10",X"10",X"10",X"FF",X"00",X"00",X"00",X"00",X"10",X"10",X"10",X"1F",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;
|
||||
2070
Arcade_MiST/Universal MrDo/rtl/rom/cpu_rom.vhd
Normal file
2070
Arcade_MiST/Universal MrDo/rtl/rom/cpu_rom.vhd
Normal file
File diff suppressed because it is too large
Load Diff
278
Arcade_MiST/Universal MrDo/rtl/rom/fg1_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/fg1_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity fg1_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 fg1_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"66",X"3C",X"00",X"00",X"00",X"22",X"7E",X"02",X"00",X"00",
|
||||
X"00",X"26",X"6E",X"4A",X"4A",X"4A",X"7A",X"32",X"00",X"44",X"46",X"52",X"52",X"52",X"7E",X"6C",
|
||||
X"00",X"0C",X"1C",X"34",X"64",X"44",X"7E",X"04",X"00",X"74",X"56",X"52",X"52",X"52",X"5E",X"0C",
|
||||
X"00",X"3C",X"76",X"52",X"52",X"52",X"5E",X"0C",X"00",X"40",X"42",X"46",X"4C",X"58",X"70",X"60",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"52",X"7E",X"2C",X"00",X"30",X"7A",X"4A",X"4A",X"4A",X"6E",X"3C",
|
||||
X"00",X"1E",X"34",X"64",X"44",X"64",X"34",X"1E",X"00",X"7E",X"52",X"52",X"52",X"52",X"7E",X"2C",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"42",X"42",X"00",X"7E",X"42",X"42",X"42",X"42",X"66",X"3C",
|
||||
X"00",X"7E",X"52",X"52",X"52",X"52",X"42",X"42",X"00",X"7E",X"50",X"50",X"50",X"50",X"40",X"40",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"4A",X"6A",X"2E",X"00",X"7E",X"10",X"10",X"10",X"10",X"10",X"7E",
|
||||
X"00",X"00",X"00",X"42",X"7E",X"42",X"00",X"00",X"00",X"0C",X"06",X"02",X"02",X"02",X"06",X"7C",
|
||||
X"00",X"7E",X"06",X"0C",X"18",X"34",X"66",X"42",X"00",X"7E",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"00",X"7E",X"30",X"18",X"0C",X"18",X"30",X"7E",X"00",X"7E",X"60",X"30",X"18",X"0C",X"06",X"7E",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"66",X"3C",X"00",X"7E",X"48",X"48",X"48",X"48",X"78",X"30",
|
||||
X"00",X"3C",X"66",X"42",X"4A",X"4C",X"66",X"3A",X"00",X"7E",X"48",X"48",X"48",X"4E",X"7A",X"32",
|
||||
X"00",X"24",X"76",X"52",X"5A",X"4A",X"6E",X"24",X"00",X"40",X"40",X"40",X"7E",X"40",X"40",X"40",
|
||||
X"00",X"7C",X"06",X"02",X"02",X"02",X"06",X"7C",X"00",X"70",X"1C",X"06",X"02",X"06",X"1C",X"70",
|
||||
X"00",X"7C",X"06",X"0C",X"18",X"0C",X"06",X"7C",X"00",X"42",X"66",X"2C",X"18",X"34",X"66",X"42",
|
||||
X"00",X"60",X"30",X"18",X"0E",X"18",X"30",X"60",X"00",X"42",X"46",X"4E",X"5A",X"72",X"62",X"42",
|
||||
X"00",X"20",X"60",X"40",X"5A",X"50",X"70",X"20",X"00",X"00",X"00",X"00",X"7A",X"60",X"00",X"00",
|
||||
X"00",X"6C",X"7E",X"52",X"42",X"16",X"1C",X"10",X"00",X"30",X"78",X"7C",X"3E",X"7C",X"78",X"30",
|
||||
X"00",X"00",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"7C",X"82",X"BA",X"AA",X"AA",X"82",X"7C",X"00",X"08",X"08",X"08",X"08",X"08",X"08",X"08",
|
||||
X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"68",X"70",X"00",X"00",X"00",X"00",
|
||||
X"00",X"DE",X"18",X"80",X"08",X"40",X"90",X"80",X"00",X"02",X"00",X"00",X"04",X"03",X"2B",X"07",
|
||||
X"94",X"00",X"22",X"02",X"02",X"32",X"00",X"00",X"0F",X"29",X"0F",X"06",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"1F",X"C7",X"F3",X"FB",X"E9",X"ED",X"FD",X"FF",X"F8",X"E3",X"CF",X"DF",X"9F",X"BF",X"BF",
|
||||
X"FD",X"ED",X"E9",X"FB",X"F3",X"C7",X"1F",X"FF",X"BF",X"BF",X"9F",X"DF",X"CF",X"E3",X"F8",X"FF",
|
||||
X"00",X"FE",X"0F",X"0F",X"0F",X"0F",X"FE",X"00",X"F0",X"FF",X"F0",X"00",X"00",X"F0",X"FF",X"F0",
|
||||
X"00",X"00",X"0F",X"FF",X"0F",X"C0",X"F0",X"3C",X"00",X"00",X"F0",X"FF",X"3C",X"0F",X"03",X"F0",
|
||||
X"FF",X"0F",X"00",X"00",X"0F",X"FF",X"0F",X"00",X"FF",X"F0",X"00",X"00",X"F0",X"FF",X"F0",X"00",
|
||||
X"00",X"00",X"00",X"EF",X"3F",X"3F",X"EF",X"00",X"00",X"F0",X"FF",X"F1",X"00",X"00",X"F1",X"FF",
|
||||
X"00",X"00",X"00",X"0F",X"FF",X"8F",X"8F",X"8F",X"F0",X"00",X"00",X"F0",X"FF",X"F1",X"F1",X"F1",
|
||||
X"CF",X"CF",X"1F",X"00",X"00",X"0F",X"FF",X"0F",X"F3",X"F3",X"F8",X"00",X"00",X"F0",X"FF",X"F1",
|
||||
X"C0",X"F8",X"3E",X"0F",X"0F",X"00",X"00",X"1F",X"F1",X"F1",X"F9",X"7F",X"3E",X"00",X"00",X"7E",
|
||||
X"1F",X"0E",X"8F",X"CF",X"CF",X"FF",X"7E",X"00",X"FF",X"F3",X"F3",X"F1",X"70",X"F8",X"F8",X"00",
|
||||
X"00",X"0F",X"7F",X"CF",X"40",X"40",X"CF",X"7F",X"00",X"00",X"00",X"F3",X"FE",X"FE",X"F3",X"00",
|
||||
X"0F",X"00",X"00",X"0F",X"FF",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"F0",X"FF",X"F0",X"00",X"00",
|
||||
X"0F",X"3F",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"E0",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"07",X"05",X"05",
|
||||
X"20",X"20",X"20",X"20",X"00",X"00",X"00",X"00",X"05",X"05",X"04",X"04",X"00",X"00",X"00",X"00",
|
||||
X"00",X"20",X"60",X"C0",X"80",X"40",X"60",X"20",X"00",X"04",X"06",X"02",X"01",X"03",X"06",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"04",X"04",X"04",
|
||||
X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"04",X"04",X"04",X"00",X"00",X"00",X"00",
|
||||
X"00",X"E0",X"80",X"80",X"80",X"E0",X"A0",X"20",X"00",X"07",X"04",X"04",X"04",X"04",X"07",X"03",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"40",X"40",X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"06",
|
||||
X"40",X"40",X"40",X"E0",X"00",X"00",X"00",X"00",X"04",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"60",X"30",X"18",X"30",X"60",X"FF",X"00",X"3F",X"08",X"18",X"10",X"10",X"18",X"08",
|
||||
X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"81",X"81",X"81",X"81",X"C3",X"7E",
|
||||
X"00",X"1E",X"33",X"21",X"21",X"21",X"33",X"1E",X"00",X"03",X"03",X"00",X"3C",X"F8",X"F0",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"F0",X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"00",X"00",X"01",X"01",X"03",X"06",X"0D",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"00",X"00",X"1B",X"37",X"2E",X"31",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"00",X"00",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"00",X"00",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"00",X"00",
|
||||
X"1B",X"37",X"2E",X"31",X"1F",X"3F",X"3F",X"3F",X"00",X"00",X"E0",X"F9",X"F9",X"FF",X"FE",X"FD",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"00",X"00",
|
||||
X"00",X"00",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FB",X"F7",X"EE",X"F1",X"FF",X"E0",X"00",X"00",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"06",X"0D",
|
||||
X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"7F",X"00",X"B2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"4D",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",
|
||||
X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"F7",X"EF",X"FF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"E7",X"DF",X"DF",X"DF",X"E7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"1B",X"37",X"2E",X"31",X"1F",X"00",X"07",X"1F",X"00",X"00",X"00",X"81",X"81",X"C7",X"C6",X"CD",
|
||||
X"F8",X"E0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F0",X"FB",X"FB",X"FB",X"F9",X"F1",X"00",X"00",X"00",
|
||||
X"00",X"00",X"F0",X"F9",X"F9",X"FB",X"FB",X"F3",X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"E0",X"F8",
|
||||
X"DB",X"F7",X"EE",X"B1",X"9F",X"00",X"00",X"00",X"1F",X"07",X"00",X"01",X"01",X"07",X"06",X"0D",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"00",X"00",X"00",X"01",X"01",X"03",X"03",X"03",
|
||||
X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F8",
|
||||
X"F8",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",
|
||||
X"03",X"03",X"03",X"01",X"01",X"00",X"00",X"00",X"1F",X"07",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",X"3F",X"7F",X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"1F",
|
||||
X"00",X"B0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"32",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FC",X"FE",X"FE",X"FC",X"FC",X"FC",X"F8",X"F8",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"0D",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"4C",X"00",
|
||||
X"F8",X"E0",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"FC",X"FC",X"FC",X"F9",X"F9",X"E3",X"03",X"03",
|
||||
X"3F",X"3F",X"3F",X"9F",X"9F",X"C7",X"C0",X"C0",X"1F",X"07",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"03",X"03",X"E3",X"F9",X"F9",X"FC",X"FC",X"FC",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"E0",X"F8",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"07",X"1F",X"C0",X"C0",X"C7",X"9F",X"9F",X"3F",X"3F",X"3F",
|
||||
X"F8",X"E0",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FC",X"F9",X"F9",X"FB",X"FB",X"F3",
|
||||
X"3F",X"3F",X"3F",X"9F",X"9F",X"C7",X"C6",X"CD",X"1F",X"07",X"E0",X"F9",X"F9",X"FF",X"FE",X"FD",
|
||||
X"FB",X"FB",X"FB",X"F9",X"F9",X"FC",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"E0",X"F8",
|
||||
X"FB",X"F7",X"EE",X"F1",X"FF",X"E0",X"07",X"1F",X"DB",X"F7",X"EE",X"B1",X"9F",X"3F",X"3F",X"3F",
|
||||
X"03",X"03",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"03",X"03",
|
||||
X"00",X"00",X"E0",X"F8",X"F8",X"FC",X"FF",X"FF",X"00",X"00",X"07",X"1F",X"1F",X"3F",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"C0",X"C0",X"C0",X"C0",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FF",X"FF",X"3F",X"1F",X"1F",X"07",X"00",X"00",X"FF",X"FF",X"FC",X"F8",X"F8",X"E0",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"1F",X"1F",X"07",X"07",X"1F",X"1F",X"07",X"07",X"1F",X"1F",X"3F",X"3F",X"7F",
|
||||
X"00",X"02",X"07",X"9F",X"9F",X"FF",X"FF",X"FF",X"00",X"80",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",
|
||||
X"F8",X"E0",X"E0",X"F8",X"F8",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"F8",X"F8",X"E0",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"F9",X"F9",X"E0",X"40",X"00",X"FF",X"FF",X"FF",X"9F",X"9F",X"07",X"01",X"00",
|
||||
X"1F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"3F",X"3F",X"3F",X"3F",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"4F",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F8",
|
||||
X"3F",X"7F",X"3F",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"BF",X"3F",X"3F",X"7F",
|
||||
X"F8",X"F2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FD",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"FD",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"01",X"01",X"07",X"06",X"1D",X"00",X"00",X"00",X"01",X"01",X"07",X"06",X"0D",
|
||||
X"00",X"00",X"F0",X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"00",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"F8",X"F0",X"00",X"00",X"00",
|
||||
X"1B",X"37",X"2E",X"31",X"1F",X"00",X"00",X"00",X"1B",X"37",X"2E",X"31",X"1F",X"00",X"00",X"00",
|
||||
X"1B",X"37",X"2E",X"31",X"7F",X"7F",X"3F",X"7F",X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3E",X"1D",
|
||||
X"00",X"B0",X"FE",X"FF",X"FF",X"FF",X"FE",X"FD",X"00",X"32",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FC",X"FE",X"FE",X"FC",X"FC",X"FC",X"F8",X"F8",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"0D",X"00",X"FB",X"F7",X"EE",X"F1",X"FF",X"FE",X"4C",X"00",
|
||||
X"1B",X"37",X"2E",X"31",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"06",X"0D",
|
||||
X"00",X"00",X"E0",X"F9",X"F9",X"FF",X"FE",X"FD",X"00",X"00",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"00",X"00",X"FB",X"F7",X"EE",X"F1",X"FF",X"E0",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"1F",X"1F",X"07",X"06",X"1D",X"1B",X"37",X"2E",X"31",X"1F",X"3F",X"3F",X"7F",
|
||||
X"00",X"02",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"80",X"E0",X"F9",X"F9",X"FF",X"FE",X"FD",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"F8",X"F8",X"F8",X"F8",X"F8",
|
||||
X"FB",X"F7",X"EE",X"F1",X"FF",X"E0",X"40",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"01",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"FE",X"FD",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FB",X"F7",X"EE",X"F1",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"1F",X"08",X"08",X"08",X"04",X"00",X"0E",X"11",X"11",X"1A",X"0F",X"00",X"1F",X"10",X"10",
|
||||
X"18",X"0F",X"00",X"7F",X"04",X"0A",X"0B",X"09",X"00",X"09",X"15",X"15",X"15",X"12",X"00",X"0E",
|
||||
X"11",X"11",X"11",X"11",X"00",X"0E",X"11",X"11",X"11",X"0E",X"00",X"1F",X"08",X"08",X"08",X"04",
|
||||
X"00",X"1F",X"10",X"10",X"18",X"0F",X"00",X"0E",X"11",X"11",X"1A",X"0F",X"00",X"1F",X"10",X"0F",
|
||||
X"10",X"0F",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"09",X"15",X"15",X"15",X"12",X"00",X"0E",
|
||||
X"11",X"11",X"11",X"11",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"1F",X"10",X"10",X"18",X"0F",
|
||||
X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"00",X"10",X"7F",X"11",X"00",X"00",X"2F",X"00",
|
||||
X"00",X"1F",X"10",X"0F",X"10",X"0F",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"CF",X"07",X"03",X"01",X"71",X"D1",X"11",X"FF",X"FF",X"FE",X"F0",X"C0",X"00",X"01",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"F0",X"C0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"11",X"11",X"11",X"71",X"C1",X"03",X"07",X"0F",X"38",X"E0",X"00",X"00",X"01",X"07",X"1C",X"30",
|
||||
X"00",X"01",X"07",X"3C",X"E0",X"80",X"00",X"00",X"FF",X"FC",X"F0",X"C0",X"80",X"83",X"86",X"8C",
|
||||
X"07",X"03",X"C1",X"71",X"11",X"11",X"11",X"11",X"1C",X"07",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"F0",X"1C",X"06",X"1C",X"88",X"88",X"8C",X"87",X"C0",X"E0",X"F0",X"E0",
|
||||
X"11",X"71",X"C1",X"03",X"07",X"0F",X"07",X"03",X"00",X"00",X"01",X"07",X"1C",X"30",X"1C",X"07",
|
||||
X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"C0",X"87",X"8C",X"88",X"88",X"8C",X"86",X"83",
|
||||
X"C1",X"71",X"11",X"11",X"11",X"11",X"D1",X"71",X"01",X"00",X"00",X"E0",X"38",X"07",X"01",X"00",
|
||||
X"E0",X"3C",X"07",X"01",X"00",X"00",X"00",X"00",X"80",X"C0",X"F0",X"F8",X"F8",X"F8",X"F8",X"F8",
|
||||
X"F1",X"11",X"11",X"11",X"11",X"11",X"F1",X"01",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"80",
|
||||
X"FF",X"80",X"80",X"80",X"80",X"80",X"F8",X"09",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",
|
||||
X"FF",X"FF",X"1F",X"07",X"03",X"81",X"E1",X"31",X"FF",X"FF",X"80",X"00",X"00",X"1F",X"70",X"C0",
|
||||
X"FF",X"FF",X"FF",X"7E",X"7C",X"38",X"38",X"10",X"01",X"00",X"00",X"00",X"3C",X"7E",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"19",X"33",X"62",X"43",X"C1",X"80",X"80",X"80",
|
||||
X"FE",X"FE",X"FC",X"F8",X"F8",X"F8",X"F8",X"F8",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"11",
|
||||
X"80",X"80",X"80",X"80",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"FF",X"FF",X"7E",X"3C",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"C1",X"63",X"3E",X"00",X"00",X"F8",X"0E",X"03",X"F8",X"F8",X"F8",X"F0",X"C0",X"81",X"87",X"8C",
|
||||
X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"80",X"80",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"11",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"40",X"40",X"40",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"03",X"02",X"02",X"02",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",
|
||||
X"11",X"11",X"11",X"11",X"11",X"11",X"11",X"31",X"40",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"03",X"06",X"0C",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"80",X"C0",X"60",X"30",X"1C",X"02",X"03",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"21",X"61",X"41",X"C3",X"83",X"87",X"07",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"06",X"E0",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"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"80",X"C0",X"70",X"88",X"8C",X"84",X"86",X"C3",X"C1",X"E0",X"F0",
|
||||
X"1F",X"3F",X"7F",X"3F",X"1F",X"1F",X"8F",X"8F",X"0C",X"18",X"30",X"18",X"0E",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"F0",X"10",X"70",X"C0",X"80",X"00",
|
||||
X"00",X"E0",X"1F",X"00",X"00",X"00",X"E1",X"E1",X"1E",X"03",X"00",X"00",X"F0",X"FF",X"FF",X"FF",
|
||||
X"F8",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"C7",X"47",X"63",X"23",X"23",X"31",X"11",X"11",
|
||||
X"00",X"00",X"00",X"80",X"C0",X"60",X"20",X"20",X"00",X"00",X"FF",X"81",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"01",X"03",X"06",X"04",X"04",X"E3",X"E2",X"C6",X"C4",X"C4",X"8C",X"88",X"88",
|
||||
X"11",X"11",X"11",X"11",X"31",X"23",X"23",X"63",X"20",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"81",X"FF",X"04",X"04",X"04",X"04",X"06",X"03",X"01",X"00",
|
||||
X"88",X"88",X"88",X"88",X"8C",X"C4",X"C4",X"C6",X"47",X"C7",X"8F",X"8F",X"1F",X"1F",X"1F",X"1F",
|
||||
X"00",X"00",X"00",X"01",X"03",X"0E",X"38",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"81",
|
||||
X"00",X"00",X"00",X"80",X"C0",X"70",X"1C",X"07",X"E2",X"E3",X"F1",X"F1",X"F8",X"FC",X"FE",X"FF",
|
||||
X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"00",X"02",X"07",X"8D",X"DB",X"72",X"06",X"84",
|
||||
X"FF",X"00",X"02",X"03",X"C2",X"E3",X"F1",X"F1",X"80",X"E0",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"07",X"C3",X"63",X"E3",X"07",X"07",X"0F",X"FF",
|
||||
X"87",X"01",X"00",X"C7",X"6C",X"28",X"38",X"11",X"F1",X"03",X"06",X"0F",X"E0",X"60",X"C2",X"87",
|
||||
X"FF",X"C0",X"00",X"00",X"3F",X"E0",X"00",X"03",X"FF",X"FF",X"F8",X"00",X"00",X"1F",X"F0",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"E0",X"80",X"03",X"1E",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"11",X"81",X"81",X"C3",X"FF",X"FF",X"FF",X"FF",
|
||||
X"0F",X"1F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"06",X"1C",X"30",X"E0",X"81",X"03",X"0F",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"01",X"07",X"0C",X"38",X"30",X"60",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F8",X"F0",X"E1",X"C3",X"C6",X"8C",X"88",X"8C",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"60",X"C0",X"03",X"07",X"1F",X"7F",X"FF",X"FF",
|
||||
X"00",X"01",X"0F",X"F8",X"00",X"00",X"03",X"FF",X"84",X"C6",X"C3",X"E1",X"F0",X"F8",X"FE",X"FF",
|
||||
X"1C",X"3E",X"3E",X"1E",X"0F",X"0F",X"0F",X"07",X"00",X"00",X"00",X"06",X"0F",X"0F",X"06",X"00",
|
||||
X"00",X"00",X"00",X"00",X"3C",X"3C",X"18",X"00",X"80",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00",
|
||||
X"01",X"03",X"03",X"01",X"C0",X"CC",X"1E",X"1F",X"00",X"00",X"00",X"00",X"00",X"0C",X"1E",X"1E",
|
||||
X"03",X"03",X"03",X"00",X"38",X"38",X"38",X"B8",X"00",X"C0",X"E0",X"E0",X"C0",X"00",X"03",X"07",
|
||||
X"00",X"00",X"81",X"81",X"00",X"00",X"00",X"30",X"C0",X"C3",X"C7",X"E7",X"E3",X"F0",X"F0",X"C0",
|
||||
X"1F",X"1F",X"3F",X"3F",X"3F",X"7F",X"FF",X"FE",X"0C",X"00",X"06",X"0F",X"0F",X"06",X"60",X"F1",
|
||||
X"B8",X"38",X"38",X"38",X"38",X"18",X"18",X"08",X"07",X"03",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"78",X"78",X"30",X"04",X"0E",X"04",X"00",X"0E",X"40",X"40",X"40",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FE",X"FF",X"FF",X"FF",X"F1",X"60",X"00",X"00",X"73",X"63",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"80",X"80",X"80",X"80",X"80",X"00",
|
||||
X"0E",X"0F",X"1F",X"3F",X"7F",X"6F",X"0F",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"00",X"00",X"00",X"00",
|
||||
X"18",X"38",X"38",X"38",X"38",X"38",X"38",X"38",X"38",X"18",X"18",X"00",X"00",X"0C",X"0E",X"8E",
|
||||
X"8E",X"1E",X"0F",X"07",X"07",X"03",X"03",X"03",X"07",X"03",X"00",X"00",X"80",X"00",X"40",X"E0",
|
||||
X"78",X"78",X"30",X"01",X"03",X"01",X"00",X"00",X"40",X"40",X"40",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"FC",X"FC",X"F0",X"B8",X"38",X"00",X"00",X"E0",X"E1",X"F9",X"FD",X"FD",X"E8",X"60",X"00",
|
||||
X"00",X"00",X"01",X"03",X"03",X"02",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"DF",X"CF",X"EF",X"E7",
|
||||
X"FF",X"FF",X"FF",X"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"F7",X"F3",X"FB",X"F9",X"FD",X"FC",X"FE",X"FE",X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"3F",X"7F",
|
||||
X"7F",X"3F",X"BF",X"9F",X"C7",X"C2",X"82",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EF",X"CF",X"DF",X"9F",X"BF",X"3F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"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",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FE",X"FC",X"FD",X"F9",X"FB",X"F3",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"F7",X"E7",X"EF",X"CF",X"1F",X"3F",X"3F",X"7F",X"FE",X"FE",X"EE",X"E6",X"F6",X"F6",X"F7",X"F7",
|
||||
X"00",X"00",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"01",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"FF",X"FF",X"FF",X"FE",X"FC",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"C0",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FC",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"01",
|
||||
X"00",X"80",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"3F",X"FF",X"FF",X"FF",X"00",X"00",
|
||||
X"3F",X"03",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",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"E0",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"FC",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"1F",X"00",X"1F",X"FF",X"FF",X"E0",X"00",
|
||||
X"03",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FC",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"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"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"80",X"80",X"80",X"F0",X"F0",
|
||||
X"FF",X"03",X"03",X"03",X"03",X"03",X"1F",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"00",X"00",X"FF",X"FF",X"FF",X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"F8",X"FF",X"FF",X"80",X"80",X"F0",X"FE",X"FF",X"9F",
|
||||
X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"83",X"80",X"00",X"00",X"00",X"00",X"03",X"03",
|
||||
X"87",X"FF",X"FF",X"FE",X"00",X"00",X"FC",X"FE",X"FF",X"FF",X"7F",X"3F",X"00",X"00",X"3F",X"7F",
|
||||
X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"E0",
|
||||
X"FE",X"8F",X"07",X"03",X"03",X"01",X"01",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"FE",X"FC",X"00",X"00",X"FF",X"E0",X"71",X"7F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"C0",X"00",X"00",X"00",X"FF",X"7F",X"3F",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"3F",X"FF",X"FF",X"C0",X"C0",X"C0",X"C0",
|
||||
X"00",X"00",X"07",X"FF",X"FF",X"F9",X"01",X"F9",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"FF",X"FF",X"3F",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
278
Arcade_MiST/Universal MrDo/rtl/rom/fg2_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/fg2_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity fg2_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 fg2_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"66",X"3C",X"00",X"00",X"00",X"22",X"7E",X"02",X"00",X"00",
|
||||
X"00",X"26",X"6E",X"4A",X"4A",X"4A",X"7A",X"32",X"00",X"44",X"46",X"52",X"52",X"52",X"7E",X"6C",
|
||||
X"00",X"0C",X"1C",X"34",X"64",X"44",X"7E",X"04",X"00",X"74",X"56",X"52",X"52",X"52",X"5E",X"0C",
|
||||
X"00",X"3C",X"76",X"52",X"52",X"52",X"5E",X"0C",X"00",X"40",X"42",X"46",X"4C",X"58",X"70",X"60",
|
||||
X"00",X"2C",X"7E",X"52",X"52",X"52",X"7E",X"2C",X"00",X"30",X"7A",X"4A",X"4A",X"4A",X"6E",X"3C",
|
||||
X"00",X"1E",X"34",X"64",X"44",X"64",X"34",X"1E",X"00",X"7E",X"52",X"52",X"52",X"52",X"7E",X"2C",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"42",X"42",X"00",X"7E",X"42",X"42",X"42",X"42",X"66",X"3C",
|
||||
X"00",X"7E",X"52",X"52",X"52",X"52",X"42",X"42",X"00",X"7E",X"50",X"50",X"50",X"50",X"40",X"40",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"4A",X"6A",X"2E",X"00",X"7E",X"10",X"10",X"10",X"10",X"10",X"7E",
|
||||
X"00",X"00",X"00",X"42",X"7E",X"42",X"00",X"00",X"00",X"0C",X"06",X"02",X"02",X"02",X"06",X"7C",
|
||||
X"00",X"7E",X"06",X"0C",X"18",X"34",X"66",X"42",X"00",X"7E",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"00",X"7E",X"30",X"18",X"0C",X"18",X"30",X"7E",X"00",X"7E",X"60",X"30",X"18",X"0C",X"06",X"7E",
|
||||
X"00",X"3C",X"66",X"42",X"42",X"42",X"66",X"3C",X"00",X"7E",X"48",X"48",X"48",X"48",X"78",X"30",
|
||||
X"00",X"3C",X"66",X"42",X"4A",X"4C",X"66",X"3A",X"00",X"7E",X"48",X"48",X"48",X"4E",X"7A",X"32",
|
||||
X"00",X"24",X"76",X"52",X"5A",X"4A",X"6E",X"24",X"00",X"40",X"40",X"40",X"7E",X"40",X"40",X"40",
|
||||
X"00",X"7C",X"06",X"02",X"02",X"02",X"06",X"7C",X"00",X"70",X"1C",X"06",X"02",X"06",X"1C",X"70",
|
||||
X"00",X"7C",X"06",X"0C",X"18",X"0C",X"06",X"7C",X"00",X"42",X"66",X"2C",X"18",X"34",X"66",X"42",
|
||||
X"00",X"60",X"30",X"18",X"0E",X"18",X"30",X"60",X"00",X"42",X"46",X"4E",X"5A",X"72",X"62",X"42",
|
||||
X"00",X"20",X"60",X"40",X"5A",X"50",X"70",X"20",X"00",X"00",X"00",X"00",X"7A",X"60",X"00",X"00",
|
||||
X"00",X"6C",X"7E",X"52",X"42",X"16",X"1C",X"10",X"00",X"30",X"78",X"7C",X"3E",X"7C",X"78",X"30",
|
||||
X"00",X"00",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"7C",X"82",X"BA",X"AA",X"AA",X"82",X"7C",X"00",X"08",X"08",X"08",X"08",X"08",X"08",X"08",
|
||||
X"00",X"00",X"00",X"18",X"18",X"00",X"00",X"00",X"00",X"00",X"68",X"70",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",X"C0",X"D8",X"D8",X"F8",X"78",X"FC",X"00",X"00",X"04",X"0C",X"1C",X"3C",X"7C",X"7A",
|
||||
X"FE",X"FE",X"74",X"34",X"30",X"30",X"00",X"00",X"7F",X"79",X"3F",X"06",X"00",X"00",X"00",X"00",
|
||||
X"00",X"E0",X"38",X"0C",X"04",X"46",X"E2",X"E2",X"00",X"07",X"1C",X"30",X"26",X"6F",X"4F",X"59",
|
||||
X"E2",X"E2",X"46",X"04",X"0C",X"38",X"E0",X"00",X"5F",X"49",X"6F",X"26",X"30",X"1C",X"07",X"00",
|
||||
X"00",X"FE",X"0F",X"0F",X"0F",X"0F",X"FE",X"00",X"F0",X"FF",X"F0",X"00",X"00",X"F0",X"FF",X"F0",
|
||||
X"00",X"00",X"0F",X"FF",X"0F",X"C0",X"F0",X"3C",X"00",X"00",X"F0",X"FF",X"3C",X"0F",X"03",X"F0",
|
||||
X"FF",X"0F",X"00",X"00",X"0F",X"FF",X"0F",X"00",X"FF",X"F0",X"00",X"00",X"F0",X"FF",X"F0",X"00",
|
||||
X"00",X"00",X"00",X"EF",X"3F",X"3F",X"EF",X"00",X"00",X"F0",X"FF",X"F1",X"00",X"00",X"F1",X"FF",
|
||||
X"00",X"00",X"00",X"0F",X"FF",X"8F",X"8F",X"8F",X"F0",X"00",X"00",X"F0",X"FF",X"F1",X"F1",X"F1",
|
||||
X"CF",X"CF",X"1F",X"00",X"00",X"0F",X"FF",X"0F",X"F3",X"F3",X"F8",X"00",X"00",X"F0",X"FF",X"F1",
|
||||
X"C0",X"F8",X"3E",X"0F",X"0F",X"00",X"00",X"1F",X"F1",X"F1",X"F9",X"7F",X"3E",X"00",X"00",X"7E",
|
||||
X"1F",X"0E",X"8F",X"CF",X"CF",X"FF",X"7E",X"00",X"FF",X"F3",X"F3",X"F1",X"70",X"F8",X"F8",X"00",
|
||||
X"00",X"0F",X"7F",X"CF",X"40",X"40",X"CF",X"7F",X"00",X"00",X"00",X"F3",X"FE",X"FE",X"F3",X"00",
|
||||
X"0F",X"00",X"00",X"0F",X"FF",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"F0",X"FF",X"F0",X"00",X"00",
|
||||
X"0F",X"3F",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"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",X"C0",
|
||||
X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"60",X"30",X"18",X"30",X"60",X"FF",X"00",X"3F",X"08",X"18",X"10",X"10",X"18",X"08",
|
||||
X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"81",X"81",X"81",X"81",X"C3",X"7E",
|
||||
X"00",X"1E",X"33",X"21",X"21",X"21",X"33",X"1E",X"00",X"03",X"03",X"00",X"3C",X"F8",X"F0",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"F0",X"98",X"08",X"08",X"98",X"F0",X"00",X"00",X"00",X"01",X"01",X"03",X"07",X"0F",
|
||||
X"98",X"08",X"08",X"98",X"F0",X"00",X"00",X"00",X"1F",X"3F",X"3F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"00",X"00",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"00",X"00",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"1F",X"3F",X"3F",X"3F",X"00",X"00",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FC",X"98",X"08",X"08",X"98",X"F0",X"9F",X"0F",X"0F",X"9F",X"FF",X"07",X"00",X"00",
|
||||
X"00",X"00",X"F7",X"9F",X"0F",X"0F",X"9F",X"FF",X"98",X"08",X"08",X"98",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"E0",X"00",X"00",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"07",X"0F",
|
||||
X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"7F",X"00",X"B2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"4D",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",
|
||||
X"3F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"3F",X"1F",X"1F",X"1F",X"9F",X"FF",X"FF",X"FF",X"FB",X"F8",X"F4",X"FA",X"F1",
|
||||
X"5F",X"3F",X"3F",X"3F",X"7F",X"FF",X"FF",X"FF",X"E1",X"F6",X"F8",X"F0",X"F6",X"FF",X"FF",X"FF",
|
||||
X"1F",X"3F",X"3F",X"3F",X"1F",X"00",X"07",X"1F",X"00",X"00",X"00",X"81",X"81",X"C7",X"C7",X"CF",
|
||||
X"F8",X"E0",X"F0",X"98",X"08",X"08",X"98",X"F0",X"9B",X"0B",X"0B",X"99",X"F1",X"00",X"00",X"00",
|
||||
X"00",X"00",X"F0",X"99",X"09",X"0B",X"9B",X"F3",X"98",X"08",X"08",X"98",X"F0",X"00",X"E0",X"F8",
|
||||
X"DF",X"FF",X"FF",X"BF",X"9F",X"00",X"00",X"00",X"1F",X"07",X"00",X"01",X"01",X"07",X"07",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"1F",X"00",X"00",X"00",X"01",X"01",X"03",X"03",X"03",
|
||||
X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"F8",
|
||||
X"F8",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",
|
||||
X"03",X"03",X"03",X"01",X"01",X"00",X"00",X"00",X"1F",X"07",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",X"3F",X"7F",X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"1F",
|
||||
X"00",X"B0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"32",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FE",X"FC",X"FE",X"FE",X"FC",X"FC",X"FC",X"F8",X"F8",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"0D",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"4C",X"00",
|
||||
X"F8",X"E0",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"FC",X"FC",X"FC",X"F9",X"F9",X"E3",X"03",X"03",
|
||||
X"3F",X"3F",X"3F",X"9F",X"9F",X"C7",X"C0",X"C0",X"1F",X"07",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"03",X"03",X"E3",X"F9",X"F9",X"FC",X"FC",X"FC",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"E0",X"F8",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"07",X"1F",X"C0",X"C0",X"C7",X"9F",X"9F",X"3F",X"3F",X"3F",
|
||||
X"F8",X"E0",X"F7",X"9F",X"0F",X"0F",X"9F",X"FF",X"FC",X"FC",X"FC",X"99",X"09",X"0B",X"9B",X"F3",
|
||||
X"3F",X"3F",X"3F",X"9F",X"9F",X"C7",X"C7",X"CF",X"1F",X"07",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",
|
||||
X"9B",X"0B",X"0B",X"99",X"F9",X"FC",X"FC",X"FC",X"9F",X"0F",X"0F",X"9F",X"FF",X"07",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"E0",X"07",X"1F",X"DF",X"FF",X"FF",X"BF",X"9F",X"3F",X"3F",X"3F",
|
||||
X"03",X"03",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"0F",X"03",X"03",
|
||||
X"00",X"00",X"E0",X"F8",X"F8",X"FC",X"FF",X"FF",X"00",X"00",X"07",X"1F",X"1F",X"3F",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FC",X"F8",X"F8",X"E0",X"C0",X"C0",X"C0",X"C0",X"E0",X"F8",X"F8",X"FC",X"FC",X"FC",
|
||||
X"FF",X"FF",X"3F",X"1F",X"1F",X"07",X"00",X"00",X"FF",X"FF",X"FC",X"F8",X"F8",X"E0",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"1F",X"1F",X"07",X"07",X"1F",X"1F",X"07",X"07",X"1F",X"1F",X"3F",X"3F",X"7F",
|
||||
X"00",X"02",X"07",X"9F",X"9F",X"FF",X"FF",X"FF",X"00",X"80",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",
|
||||
X"F8",X"E0",X"E0",X"F8",X"F8",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"F8",X"F8",X"E0",X"E0",X"F8",
|
||||
X"FF",X"FF",X"FF",X"F9",X"F9",X"E0",X"40",X"00",X"FF",X"FF",X"FF",X"9F",X"9F",X"07",X"01",X"00",
|
||||
X"1F",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F8",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FC",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"1F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"3F",X"3F",X"3F",X"3F",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"4F",X"1F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F1",X"F8",
|
||||
X"3F",X"7F",X"3F",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"BF",X"3F",X"3F",X"7F",
|
||||
X"F8",X"F2",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"8F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FD",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"FD",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"01",X"01",X"07",X"07",X"1F",X"00",X"00",X"00",X"01",X"01",X"07",X"07",X"0F",
|
||||
X"00",X"00",X"F0",X"98",X"08",X"08",X"98",X"F0",X"00",X"00",X"F0",X"98",X"08",X"08",X"98",X"F8",
|
||||
X"98",X"08",X"08",X"98",X"F0",X"00",X"00",X"00",X"98",X"08",X"08",X"98",X"F0",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"1F",X"00",X"00",X"00",X"1F",X"3F",X"3F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"7F",X"7F",X"3F",X"7F",X"3F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"1F",
|
||||
X"00",X"B0",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"32",X"FF",X"9F",X"0F",X"0F",X"9F",X"FF",
|
||||
X"FE",X"FC",X"FE",X"9E",X"0C",X"0C",X"9C",X"F8",X"98",X"0C",X"0E",X"9E",X"FC",X"FC",X"FE",X"FC",
|
||||
X"9F",X"0F",X"0F",X"9F",X"FF",X"7F",X"0D",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"4C",X"00",
|
||||
X"1F",X"3F",X"3F",X"3F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"1F",X"07",X"07",X"0F",
|
||||
X"00",X"00",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",X"00",X"00",X"F7",X"9F",X"0F",X"0F",X"9F",X"FF",
|
||||
X"FC",X"FC",X"FC",X"98",X"08",X"08",X"98",X"F0",X"98",X"08",X"08",X"98",X"F8",X"FC",X"FC",X"FC",
|
||||
X"9F",X"0F",X"0F",X"9F",X"FF",X"07",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"E0",X"00",X"00",
|
||||
X"3F",X"7F",X"3F",X"1F",X"1F",X"07",X"07",X"1F",X"1F",X"3F",X"3F",X"3F",X"1F",X"3F",X"3F",X"7F",
|
||||
X"00",X"02",X"F7",X"9F",X"0F",X"0F",X"9F",X"FF",X"00",X"80",X"E0",X"F9",X"F9",X"FF",X"FF",X"FF",
|
||||
X"98",X"08",X"08",X"98",X"F8",X"FC",X"FE",X"FC",X"FE",X"FC",X"FC",X"98",X"08",X"08",X"98",X"F8",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"E0",X"40",X"00",X"9F",X"0F",X"0F",X"9F",X"FF",X"07",X"01",X"00",
|
||||
X"FF",X"FF",X"FF",X"9F",X"0F",X"0F",X"9F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"9F",X"0F",X"0F",X"9F",X"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"1F",X"08",X"08",X"08",X"04",X"00",X"0E",X"11",X"11",X"1A",X"0F",X"00",X"1F",X"10",X"10",
|
||||
X"18",X"0F",X"00",X"7F",X"04",X"0A",X"0B",X"09",X"00",X"09",X"15",X"15",X"15",X"12",X"00",X"0E",
|
||||
X"11",X"11",X"11",X"11",X"00",X"0E",X"11",X"11",X"11",X"0E",X"00",X"1F",X"08",X"08",X"08",X"04",
|
||||
X"00",X"1F",X"10",X"10",X"18",X"0F",X"00",X"0E",X"11",X"11",X"1A",X"0F",X"00",X"1F",X"10",X"0F",
|
||||
X"10",X"0F",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"09",X"15",X"15",X"15",X"12",X"00",X"0E",
|
||||
X"11",X"11",X"11",X"11",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"1F",X"10",X"10",X"18",X"0F",
|
||||
X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"00",X"10",X"7F",X"11",X"00",X"00",X"2F",X"00",
|
||||
X"00",X"1F",X"10",X"0F",X"10",X"0F",X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"00",X"00",
|
||||
X"78",X"FC",X"FE",X"FF",X"FF",X"FF",X"DF",X"1F",X"00",X"03",X"1F",X"7F",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"03",X"1F",X"7F",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",
|
||||
X"1F",X"1F",X"1F",X"7F",X"FF",X"FF",X"FE",X"FC",X"F8",X"E0",X"00",X"00",X"01",X"07",X"1F",X"3F",
|
||||
X"FF",X"FF",X"FF",X"FC",X"E0",X"80",X"00",X"00",X"07",X"1F",X"7F",X"FF",X"FF",X"FF",X"FE",X"FC",
|
||||
X"FE",X"FF",X"FF",X"7F",X"1F",X"1F",X"1F",X"1F",X"1F",X"07",X"01",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"80",X"F0",X"FC",X"FE",X"FC",X"F8",X"F8",X"FC",X"FF",X"FF",X"7F",X"3F",X"7F",
|
||||
X"1F",X"7F",X"FF",X"FF",X"FE",X"FC",X"FE",X"FF",X"00",X"00",X"01",X"07",X"1F",X"3F",X"1F",X"07",
|
||||
X"F0",X"80",X"00",X"00",X"00",X"00",X"00",X"80",X"FF",X"FF",X"FC",X"F8",X"F8",X"FC",X"FE",X"FF",
|
||||
X"FF",X"7F",X"1F",X"1F",X"1F",X"1F",X"DF",X"FF",X"01",X"00",X"00",X"E0",X"F8",X"FF",X"FF",X"FF",
|
||||
X"E0",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"1F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"FF",X"1F",X"1F",X"1F",X"1F",X"1F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",
|
||||
X"FF",X"80",X"80",X"80",X"80",X"80",X"F8",X"F9",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"00",X"F0",X"FC",X"FE",X"FF",X"FF",X"FF",X"3F",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"C0",
|
||||
X"80",X"80",X"C3",X"C7",X"EF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"E7",X"C3",X"81",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F9",X"F3",X"E3",X"C3",X"C1",X"80",X"80",X"80",
|
||||
X"03",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
|
||||
X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"80",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"81",X"C3",X"E7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C1",X"E3",X"FF",X"FF",X"FF",X"FF",X"0F",X"03",X"0F",X"0F",X"1F",X"7F",X"FF",X"FF",X"FF",X"FC",
|
||||
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"80",X"80",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"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"C0",X"C0",X"C0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",
|
||||
X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"3F",X"C0",X"C0",X"80",X"80",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",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"7F",X"3F",X"1F",X"03",X"03",X"01",X"01",X"00",X"00",X"00",X"00",
|
||||
X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"F8",X"3F",X"7F",X"7F",X"FF",X"FE",X"FE",X"FC",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"01",X"03",X"07",X"E0",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"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"80",X"C0",X"F0",X"F8",X"FC",X"FC",X"FE",X"FF",X"7F",X"7F",X"3F",
|
||||
X"F8",X"F0",X"E0",X"F0",X"F0",X"F8",X"F8",X"FC",X"0F",X"1F",X"3F",X"1F",X"0F",X"03",X"01",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"C0",X"80",X"00",
|
||||
X"00",X"E0",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"FE",X"FF",X"FF",X"FF",X"FF",X"1F",X"01",X"00",
|
||||
X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"FC",X"7E",X"7E",X"3E",X"3F",X"3F",X"1F",X"1F",
|
||||
X"00",X"00",X"00",X"80",X"C0",X"E0",X"E0",X"E0",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"01",X"03",X"07",X"07",X"07",X"3F",X"7E",X"7E",X"7C",X"FC",X"FC",X"F8",X"F8",
|
||||
X"1F",X"1F",X"1F",X"1F",X"3F",X"3F",X"3E",X"7E",X"E0",X"E0",X"E0",X"E0",X"E0",X"C0",X"80",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"07",X"07",X"07",X"07",X"07",X"03",X"01",X"00",
|
||||
X"F8",X"F8",X"F8",X"F8",X"FC",X"FC",X"7C",X"7E",X"7E",X"FC",X"FC",X"F8",X"F8",X"F0",X"F0",X"F0",
|
||||
X"00",X"00",X"00",X"01",X"03",X"0F",X"3F",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"81",
|
||||
X"00",X"00",X"00",X"80",X"C0",X"F0",X"FC",X"FF",X"7E",X"3F",X"3F",X"1F",X"1F",X"0F",X"07",X"03",
|
||||
X"F0",X"F0",X"F0",X"E0",X"E0",X"F0",X"F8",X"FC",X"FF",X"FF",X"FF",X"FD",X"FB",X"73",X"07",X"87",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FE",X"7F",X"3F",X"1F",X"FF",X"FF",X"3F",X"0F",X"01",X"00",X"00",X"00",
|
||||
X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FE",X"FF",X"7F",X"FE",X"FE",X"FC",X"FC",X"F8",
|
||||
X"87",X"01",X"00",X"C7",X"EF",X"EF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"7F",X"FF",X"FF",
|
||||
X"7F",X"FF",X"FF",X"FF",X"FF",X"E0",X"00",X"03",X"00",X"0F",X"FF",X"FF",X"FF",X"FF",X"F0",X"00",
|
||||
X"00",X"00",X"01",X"3F",X"FF",X"FF",X"FF",X"FE",X"00",X"00",X"00",X"00",X"00",X"01",X"07",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FE",X"FE",X"7C",X"00",X"00",X"00",
|
||||
X"FD",X"F9",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"07",X"1F",X"3F",X"FF",X"FF",X"FF",X"FE",X"F8",
|
||||
X"00",X"00",X"00",X"00",X"01",X"07",X"0F",X"3F",X"F0",X"E0",X"C0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"3F",X"7F",X"7F",X"FE",X"FC",X"F8",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"C0",X"80",X"00",X"00",X"00",X"00",X"00",X"7F",X"FF",X"FF",X"FE",X"FC",X"F0",X"C0",X"00",
|
||||
X"00",X"01",X"0F",X"FF",X"FF",X"FF",X"FF",X"FE",X"FC",X"FE",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",
|
||||
X"00",X"80",X"C0",X"E0",X"F0",X"F0",X"F4",X"E0",X"00",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"07",X"7F",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"03",X"0F",X"3F",
|
||||
X"1C",X"78",X"F8",X"F0",X"F0",X"F0",X"E0",X"E0",X"00",X"00",X"01",X"03",X"07",X"0F",X"1F",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C0",X"FF",X"F0",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"3F",X"7F",X"FF",X"FF",X"FF",X"FF",X"C3",
|
||||
X"E0",X"E0",X"C7",X"C3",X"FF",X"FF",X"FF",X"DF",X"7F",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"C0",X"C0",X"80",X"20",X"00",X"00",X"00",X"00",X"3F",X"0F",X"03",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"7F",X"3F",X"3F",X"3F",X"DF",X"EE",X"EE",X"C0",X"C0",X"C0",X"80",X"0F",X"3F",X"7F",X"7F",
|
||||
X"8F",X"03",X"8F",X"DF",X"FF",X"7E",X"1C",X"00",X"7F",X"7E",X"3F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"80",X"80",X"80",X"80",X"00",
|
||||
X"FE",X"FF",X"FF",X"FF",X"FF",X"EF",X"CF",X"07",X"FF",X"FF",X"FF",X"FF",X"7F",X"7F",X"3F",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"80",X"C0",X"C0",X"C0",X"C0",X"C0",X"A0",X"00",X"00",X"00",X"00",X"80",X"E0",X"F0",X"F0",
|
||||
X"F0",X"E0",X"C4",X"00",X"00",X"00",X"00",X"00",X"BF",X"8F",X"C3",X"C0",X"C0",X"C0",X"C0",X"E0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"F7",X"F7",X"F3",X"E0",X"C3",X"C3",X"C3",X"83",X"03",X"03",X"01",X"00",
|
||||
X"F0",X"FC",X"FC",X"F0",X"B8",X"38",X"00",X"00",X"E0",X"E1",X"F9",X"FD",X"FD",X"E8",X"60",X"00",
|
||||
X"00",X"00",X"01",X"03",X"03",X"02",X"00",X"00",X"80",X"80",X"80",X"C0",X"C0",X"C0",X"E0",X"E0",
|
||||
X"01",X"07",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"01",X"3F",X"3F",X"1F",X"1F",
|
||||
X"F0",X"F0",X"F8",X"FC",X"FE",X"FE",X"FF",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"0F",X"0F",X"07",X"07",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"FF",X"F0",X"40",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"00",X"00",X"00",X"00",X"00",X"80",X"F0",X"00",X"00",X"10",X"38",X"3C",X"7E",X"7F",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"FF",X"FF",X"FE",X"FE",X"FC",X"F8",X"F0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"01",X"01",X"03",X"03",X"07",X"07",X"0F",
|
||||
X"E0",X"C0",X"C0",X"C0",X"80",X"80",X"80",X"00",X"FF",X"FF",X"FF",X"3F",X"0F",X"07",X"03",X"01",
|
||||
X"0F",X"1B",X"10",X"30",X"20",X"00",X"00",X"00",X"00",X"00",X"10",X"18",X"08",X"08",X"08",X"08",
|
||||
X"00",X"00",X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"01",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"FF",X"FF",X"FF",X"FE",X"FC",X"00",X"00",X"00",X"00",X"01",X"FF",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"C0",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FC",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"1F",X"01",
|
||||
X"00",X"80",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"3F",X"FF",X"FF",X"FF",X"00",X"00",
|
||||
X"3F",X"03",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",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"E0",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"FC",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"1F",X"00",X"1F",X"FF",X"FF",X"E0",X"00",
|
||||
X"03",X"00",X"00",X"00",X"03",X"FF",X"FF",X"FC",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"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"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"80",X"80",X"80",X"80",X"F0",X"F0",
|
||||
X"FF",X"03",X"03",X"03",X"03",X"03",X"1F",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"00",X"00",X"FF",X"FF",X"FF",X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"FF",
|
||||
X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"F8",X"FF",X"FF",X"80",X"80",X"F0",X"FE",X"FF",X"9F",
|
||||
X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"83",X"80",X"00",X"00",X"00",X"00",X"03",X"03",
|
||||
X"87",X"FF",X"FF",X"FE",X"00",X"00",X"FC",X"FE",X"FF",X"FF",X"7F",X"3F",X"00",X"00",X"3F",X"7F",
|
||||
X"FC",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"80",X"80",X"C0",X"C0",X"E0",
|
||||
X"FE",X"8F",X"07",X"03",X"03",X"01",X"01",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"FE",X"FC",X"00",X"00",X"FF",X"E0",X"71",X"7F",X"3F",X"1F",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"C0",X"00",X"00",X"00",X"FF",X"7F",X"3F",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"00",X"3F",X"FF",X"FF",X"C0",X"C0",X"C0",X"C0",
|
||||
X"00",X"00",X"07",X"FF",X"FF",X"F9",X"01",X"F9",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"C0",X"FF",X"FF",X"3F",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",
|
||||
X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"0E",X"15",X"15",X"15",X"0C",X"00",X"00",X"0F",X"1E",X"3C",X"78",X"F0",X"E1",X"C3",X"87");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
24
Arcade_MiST/Universal MrDo/rtl/rom/pal_high_prom.vhd
Normal file
24
Arcade_MiST/Universal MrDo/rtl/rom/pal_high_prom.vhd
Normal file
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity pal_high_prom 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 pal_high_prom is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"0C",X"03",X"00",X"0F",X"0B",X"0C",X"3F",X"0D",X"0F",X"0F",X"0C",X"0C",X"3C",X"0C",X"30",
|
||||
X"0C",X"03",X"30",X"03",X"0C",X"0F",X"00",X"3F",X"03",X"1E",X"00",X"0F",X"37",X"36",X"0D",X"33");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
24
Arcade_MiST/Universal MrDo/rtl/rom/pal_low_prom.vhd
Normal file
24
Arcade_MiST/Universal MrDo/rtl/rom/pal_low_prom.vhd
Normal file
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity pal_low_prom 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 pal_low_prom is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"0C",X"03",X"00",X"0C",X"03",X"00",X"3F",X"0F",X"03",X"0F",X"3F",X"0C",X"0F",X"0F",X"3A",
|
||||
X"03",X"0F",X"00",X"0C",X"00",X"0F",X"3F",X"03",X"2A",X"0C",X"00",X"0A",X"0C",X"0E",X"3F",X"0F");
|
||||
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/Universal MrDo/rtl/rom/spr1_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/spr1_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity spr1_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 spr1_rom 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"EE",X"1D",X"22",X"00",X"88",X"D1",X"40",X"00",X"80",X"58",X"C0",X"00",
|
||||
X"08",X"D0",X"84",X"10",X"80",X"B4",X"F3",X"30",X"80",X"E9",X"7B",X"52",X"C0",X"78",X"D7",X"70",
|
||||
X"A4",X"69",X"0F",X"70",X"E0",X"F0",X"09",X"52",X"62",X"52",X"0F",X"30",X"62",X"30",X"06",X"00",
|
||||
X"22",X"30",X"00",X"00",X"22",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"11",X"00",X"00",X"80",X"00",X"80",X"10",X"80",X"10",
|
||||
X"C0",X"30",X"48",X"30",X"84",X"34",X"F3",X"52",X"A4",X"E9",X"7B",X"70",X"E0",X"78",X"D7",X"70",
|
||||
X"68",X"78",X"0F",X"52",X"E2",X"D2",X"09",X"70",X"A2",X"70",X"0F",X"30",X"22",X"21",X"06",X"00",
|
||||
X"22",X"30",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"22",X"00",X"30",X"00",X"10",X"00",X"12",X"80",X"10",
|
||||
X"00",X"70",X"48",X"30",X"E2",X"E1",X"F3",X"30",X"E2",X"F8",X"7B",X"52",X"E2",X"5A",X"D7",X"70",
|
||||
X"2A",X"78",X"0F",X"52",X"A2",X"D2",X"09",X"70",X"88",X"F0",X"0F",X"30",X"88",X"94",X"06",X"00",
|
||||
X"88",X"C0",X"00",X"00",X"88",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"30",X"00",X"00",X"A4",X"52",X"00",X"00",X"F0",X"70",X"00",
|
||||
X"80",X"B4",X"07",X"00",X"C0",X"E9",X"0D",X"00",X"22",X"6E",X"0D",X"00",X"00",X"EE",X"07",X"00",
|
||||
X"4A",X"7C",X"21",X"00",X"C2",X"D2",X"70",X"00",X"00",X"E0",X"B4",X"12",X"E6",X"B4",X"E1",X"12",
|
||||
X"E6",X"E1",X"30",X"00",X"22",X"80",X"E1",X"00",X"22",X"00",X"FC",X"33",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"30",X"00",X"00",X"D2",X"61",X"00",X"A2",X"F0",X"70",X"00",
|
||||
X"C0",X"A5",X"07",X"00",X"00",X"F8",X"0D",X"00",X"00",X"6E",X"0D",X"00",X"00",X"EE",X"07",X"00",
|
||||
X"00",X"4C",X"21",X"00",X"00",X"C4",X"70",X"00",X"00",X"F0",X"D2",X"12",X"80",X"B4",X"78",X"12",
|
||||
X"80",X"F0",X"61",X"00",X"00",X"96",X"30",X"00",X"00",X"C0",X"FE",X"11",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"22",X"B4",X"61",X"00",X"C0",X"F0",X"70",X"00",
|
||||
X"80",X"A5",X"07",X"00",X"00",X"F8",X"0D",X"00",X"00",X"6E",X"0D",X"00",X"00",X"EE",X"07",X"00",
|
||||
X"00",X"6C",X"E1",X"12",X"00",X"F0",X"78",X"12",X"4A",X"78",X"52",X"00",X"C2",X"D2",X"F0",X"00",
|
||||
X"00",X"E0",X"ED",X"33",X"00",X"E0",X"00",X"00",X"00",X"EE",X"33",X"00",X"00",X"00",X"00",X"00",
|
||||
X"EE",X"11",X"22",X"00",X"88",X"11",X"40",X"00",X"80",X"10",X"C0",X"00",X"08",X"30",X"84",X"10",
|
||||
X"80",X"70",X"F3",X"30",X"80",X"DA",X"7B",X"52",X"C0",X"78",X"D7",X"70",X"A4",X"69",X"0F",X"70",
|
||||
X"E0",X"F0",X"09",X"52",X"62",X"52",X"0F",X"30",X"62",X"30",X"06",X"00",X"22",X"34",X"00",X"00",
|
||||
X"2A",X"3C",X"00",X"00",X"08",X"0F",X"00",X"00",X"08",X"0F",X"00",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"11",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"10",X"80",X"30",X"48",X"30",
|
||||
X"48",X"70",X"F3",X"52",X"E0",X"DA",X"7B",X"70",X"A4",X"78",X"D7",X"70",X"E0",X"69",X"0F",X"52",
|
||||
X"E2",X"F0",X"09",X"70",X"A2",X"61",X"0F",X"30",X"22",X"30",X"06",X"00",X"22",X"34",X"00",X"00",
|
||||
X"08",X"3C",X"00",X"00",X"08",X"0F",X"00",X"00",X"08",X"0F",X"00",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"40",X"E2",X"10",X"00",X"60",X"E2",X"61",X"80",X"70",
|
||||
X"E2",X"F0",X"F3",X"52",X"6A",X"DA",X"7B",X"70",X"A2",X"78",X"D7",X"52",X"C0",X"78",X"0F",X"30",
|
||||
X"68",X"D2",X"09",X"30",X"E0",X"60",X"0F",X"10",X"62",X"60",X"06",X"00",X"22",X"68",X"00",X"00",
|
||||
X"22",X"69",X"01",X"00",X"22",X"0F",X"01",X"00",X"00",X"0F",X"01",X"00",X"00",X"0E",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"10",X"00",X"00",X"D2",X"21",X"00",X"80",X"F0",X"30",X"00",
|
||||
X"C0",X"5A",X"03",X"00",X"68",X"7C",X"06",X"00",X"11",X"3F",X"06",X"00",X"00",X"7F",X"03",X"00",
|
||||
X"00",X"2E",X"10",X"07",X"00",X"F0",X"38",X"0F",X"80",X"D2",X"D2",X"1E",X"F3",X"78",X"F0",X"1E",
|
||||
X"7B",X"F0",X"10",X"07",X"11",X"48",X"70",X"00",X"11",X"80",X"FE",X"11",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"F0",X"10",X"00",X"80",X"69",X"30",X"00",X"D1",X"F0",X"30",X"00",
|
||||
X"68",X"5A",X"03",X"00",X"80",X"7C",X"06",X"00",X"00",X"3F",X"06",X"00",X"00",X"7F",X"03",X"00",
|
||||
X"00",X"2E",X"10",X"07",X"00",X"F0",X"38",X"0F",X"80",X"D2",X"F0",X"1E",X"80",X"78",X"D2",X"1E",
|
||||
X"80",X"E1",X"30",X"07",X"00",X"D2",X"10",X"00",X"00",X"E0",X"FF",X"00",X"00",X"00",X"00",X"00",
|
||||
X"11",X"00",X"00",X"00",X"E0",X"70",X"00",X"00",X"C0",X"A5",X"10",X"00",X"80",X"F0",X"30",X"00",
|
||||
X"80",X"5A",X"03",X"00",X"00",X"7C",X"06",X"00",X"00",X"3F",X"06",X"00",X"00",X"7F",X"03",X"07",
|
||||
X"00",X"3E",X"18",X"0F",X"80",X"F0",X"F0",X"1E",X"80",X"D2",X"E1",X"1E",X"48",X"F0",X"10",X"07",
|
||||
X"C0",X"D2",X"21",X"00",X"C0",X"B0",X"70",X"00",X"CC",X"77",X"FC",X"33",X"00",X"00",X"00",X"00",
|
||||
X"EE",X"11",X"00",X"00",X"88",X"11",X"22",X"00",X"80",X"10",X"40",X"00",X"80",X"30",X"C0",X"00",
|
||||
X"80",X"61",X"84",X"10",X"80",X"F0",X"F3",X"21",X"C0",X"E9",X"F3",X"70",X"E0",X"78",X"D7",X"61",
|
||||
X"52",X"69",X"0F",X"70",X"62",X"B4",X"09",X"52",X"22",X"E0",X"0F",X"30",X"22",X"C0",X"16",X"00",
|
||||
X"22",X"00",X"70",X"00",X"00",X"00",X"2C",X"00",X"00",X"00",X"0C",X"01",X"00",X"00",X"00",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"80",X"00",
|
||||
X"80",X"70",X"80",X"10",X"6A",X"D2",X"48",X"30",X"E2",X"F0",X"F3",X"52",X"6A",X"DA",X"7B",X"70",
|
||||
X"A2",X"78",X"D7",X"70",X"22",X"5A",X"0F",X"52",X"00",X"F0",X"09",X"70",X"08",X"A1",X"0F",X"30",
|
||||
X"0C",X"80",X"16",X"00",X"00",X"80",X"10",X"00",X"00",X"08",X"03",X"00",X"00",X"00",X"02",X"00",
|
||||
X"00",X"07",X"00",X"00",X"00",X"03",X"00",X"22",X"62",X"30",X"00",X"40",X"E2",X"30",X"00",X"60",
|
||||
X"6A",X"70",X"80",X"70",X"E2",X"D2",X"F3",X"52",X"A2",X"F8",X"7B",X"70",X"80",X"5A",X"D7",X"52",
|
||||
X"E2",X"78",X"0F",X"30",X"6A",X"D2",X"09",X"30",X"E2",X"70",X"0F",X"10",X"A2",X"10",X"06",X"00",
|
||||
X"A2",X"10",X"00",X"00",X"08",X"01",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"30",X"00",X"00",X"20",X"52",X"00",X"00",X"5A",X"70",X"0C",
|
||||
X"80",X"F0",X"07",X"06",X"C0",X"E9",X"0D",X"16",X"22",X"6E",X"0D",X"30",X"00",X"EE",X"87",X"10",
|
||||
X"00",X"6A",X"E1",X"00",X"00",X"F0",X"D2",X"00",X"80",X"F0",X"70",X"00",X"F3",X"A5",X"21",X"00",
|
||||
X"F3",X"F0",X"10",X"00",X"11",X"C0",X"21",X"00",X"11",X"80",X"FE",X"11",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"70",X"00",X"00",X"A4",X"D2",X"00",X"44",X"F0",X"F0",X"00",
|
||||
X"80",X"5A",X"1E",X"00",X"00",X"E0",X"1B",X"01",X"00",X"CC",X"0B",X"0D",X"00",X"CC",X"1F",X"34",
|
||||
X"00",X"E8",X"C3",X"34",X"00",X"F0",X"70",X"00",X"00",X"5A",X"D2",X"00",X"00",X"F0",X"78",X"00",
|
||||
X"00",X"5A",X"18",X"01",X"00",X"E0",X"00",X"01",X"00",X"EE",X"33",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F0",X"00",X"00",X"A2",X"5A",X"30",X"00",X"00",X"F0",X"70",X"00",
|
||||
X"00",X"B4",X"07",X"00",X"00",X"E8",X"0D",X"00",X"00",X"6E",X"0D",X"00",X"00",X"EE",X"07",X"00",
|
||||
X"00",X"6A",X"21",X"00",X"01",X"F0",X"70",X"00",X"C3",X"5A",X"52",X"00",X"C3",X"F0",X"F0",X"12",
|
||||
X"80",X"E1",X"D2",X"16",X"C0",X"30",X"70",X"04",X"CC",X"77",X"FF",X"11",X"00",X"00",X"00",X"00",
|
||||
X"EE",X"11",X"00",X"00",X"88",X"1F",X"22",X"00",X"80",X"1E",X"41",X"00",X"80",X"3C",X"C1",X"00",
|
||||
X"80",X"69",X"85",X"10",X"80",X"F0",X"F3",X"21",X"C0",X"E9",X"F3",X"70",X"E0",X"78",X"D7",X"61",
|
||||
X"A4",X"69",X"0F",X"70",X"62",X"B4",X"09",X"52",X"22",X"E0",X"0F",X"30",X"22",X"C0",X"16",X"00",
|
||||
X"22",X"00",X"70",X"00",X"00",X"00",X"2C",X"00",X"00",X"00",X"0C",X"01",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"0C",X"01",X"11",X"00",X"0E",X"83",X"00",
|
||||
X"80",X"78",X"83",X"10",X"6A",X"D2",X"4B",X"30",X"E2",X"F0",X"F3",X"52",X"6A",X"DA",X"7B",X"70",
|
||||
X"A2",X"78",X"D7",X"70",X"22",X"5A",X"0F",X"52",X"00",X"F0",X"09",X"70",X"08",X"A1",X"0F",X"30",
|
||||
X"0C",X"80",X"16",X"00",X"00",X"80",X"10",X"00",X"00",X"08",X"03",X"00",X"00",X"00",X"02",X"00",
|
||||
X"00",X"07",X"00",X"00",X"00",X"03",X"00",X"22",X"62",X"38",X"03",X"40",X"E2",X"3C",X"07",X"60",
|
||||
X"6A",X"78",X"87",X"70",X"E2",X"D2",X"F3",X"52",X"A2",X"F8",X"7B",X"70",X"80",X"5A",X"D7",X"52",
|
||||
X"E2",X"78",X"0F",X"30",X"6A",X"D2",X"09",X"30",X"E2",X"70",X"0F",X"10",X"A2",X"10",X"06",X"00",
|
||||
X"A2",X"10",X"00",X"00",X"08",X"01",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"30",X"00",X"00",X"E0",X"52",X"00",X"00",X"5A",X"70",X"0C",
|
||||
X"80",X"F0",X"07",X"06",X"C0",X"E9",X"0D",X"16",X"22",X"6E",X"0D",X"30",X"0C",X"EF",X"87",X"10",
|
||||
X"0E",X"6D",X"E1",X"00",X"0E",X"F0",X"D2",X"00",X"86",X"F0",X"70",X"00",X"F3",X"A5",X"21",X"00",
|
||||
X"F3",X"F0",X"10",X"00",X"11",X"C0",X"21",X"00",X"11",X"80",X"FE",X"11",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"70",X"00",X"00",X"A4",X"D2",X"00",X"44",X"F0",X"F0",X"00",
|
||||
X"80",X"5A",X"1E",X"00",X"00",X"E0",X"1B",X"01",X"08",X"CF",X"0B",X"0D",X"0C",X"CF",X"1F",X"34",
|
||||
X"0C",X"E9",X"C3",X"34",X"0C",X"F0",X"70",X"00",X"08",X"5A",X"D2",X"00",X"00",X"F0",X"78",X"00",
|
||||
X"00",X"5A",X"18",X"01",X"00",X"E0",X"00",X"01",X"00",X"EE",X"33",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"C0",X"F0",X"00",X"00",X"A2",X"5A",X"30",X"00",X"00",X"F0",X"70",X"00",
|
||||
X"00",X"B4",X"07",X"00",X"08",X"E9",X"0D",X"00",X"0C",X"6F",X"0D",X"00",X"0C",X"EF",X"07",X"00",
|
||||
X"0C",X"6D",X"B1",X"00",X"09",X"F0",X"70",X"00",X"C3",X"5A",X"52",X"00",X"C3",X"F0",X"F0",X"12",
|
||||
X"80",X"E1",X"D2",X"16",X"C0",X"30",X"70",X"04",X"CC",X"77",X"FF",X"11",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"EE",X"11",X"00",X"00",X"88",X"11",X"22",X"00",X"80",X"10",X"40",X"00",
|
||||
X"08",X"10",X"C0",X"00",X"80",X"30",X"84",X"10",X"80",X"52",X"F3",X"30",X"48",X"F8",X"7B",X"52",
|
||||
X"E0",X"78",X"D7",X"70",X"E0",X"69",X"0F",X"70",X"62",X"F0",X"09",X"52",X"22",X"52",X"0F",X"30",
|
||||
X"22",X"30",X"06",X"00",X"22",X"30",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",
|
||||
X"00",X"70",X"80",X"00",X"80",X"D2",X"80",X"10",X"6A",X"F0",X"48",X"30",X"E2",X"D2",X"F3",X"52",
|
||||
X"E2",X"F8",X"7B",X"70",X"A2",X"69",X"D7",X"70",X"22",X"78",X"0F",X"52",X"00",X"30",X"09",X"70",
|
||||
X"00",X"30",X"0F",X"30",X"00",X"30",X"06",X"00",X"00",X"03",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"62",X"00",X"00",X"00",X"E2",X"00",X"00",X"00",
|
||||
X"6A",X"10",X"00",X"22",X"E2",X"30",X"00",X"40",X"A2",X"61",X"00",X"60",X"80",X"B4",X"80",X"70",
|
||||
X"C0",X"E1",X"F3",X"52",X"C0",X"F8",X"7B",X"70",X"C4",X"69",X"D7",X"52",X"44",X"78",X"0F",X"30",
|
||||
X"44",X"30",X"09",X"30",X"44",X"30",X"0F",X"10",X"00",X"03",X"06",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"EE",X"11",X"00",X"00",X"88",X"11",X"22",X"00",X"80",X"1C",X"40",X"00",
|
||||
X"80",X"1E",X"C1",X"00",X"80",X"2D",X"85",X"10",X"80",X"78",X"F3",X"30",X"C0",X"E9",X"7B",X"52",
|
||||
X"E0",X"78",X"D7",X"70",X"A4",X"69",X"0F",X"70",X"62",X"F0",X"09",X"52",X"22",X"52",X"0F",X"30",
|
||||
X"22",X"30",X"06",X"00",X"22",X"30",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"01",X"11",
|
||||
X"00",X"78",X"83",X"00",X"80",X"D2",X"83",X"10",X"6A",X"F0",X"4B",X"30",X"E2",X"D2",X"F3",X"52",
|
||||
X"E2",X"F8",X"7B",X"70",X"A2",X"69",X"D7",X"70",X"22",X"78",X"0F",X"52",X"00",X"30",X"09",X"70",
|
||||
X"00",X"30",X"0F",X"30",X"00",X"30",X"06",X"00",X"00",X"03",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"62",X"00",X"00",X"00",X"E2",X"00",X"00",X"00",
|
||||
X"6A",X"1C",X"01",X"22",X"E2",X"3C",X"03",X"40",X"A2",X"69",X"03",X"60",X"80",X"B4",X"83",X"70",
|
||||
X"C0",X"E1",X"F3",X"52",X"C0",X"F8",X"7B",X"70",X"C4",X"69",X"D7",X"52",X"44",X"78",X"0F",X"30",
|
||||
X"44",X"30",X"09",X"30",X"44",X"30",X"0F",X"10",X"00",X"03",X"06",X"00",X"00",X"07",X"00",X"00",
|
||||
X"00",X"06",X"22",X"00",X"00",X"0F",X"40",X"00",X"00",X"0F",X"C0",X"00",X"00",X"16",X"84",X"10",
|
||||
X"00",X"30",X"F3",X"30",X"A6",X"F8",X"7B",X"52",X"E2",X"5A",X"D7",X"70",X"6A",X"78",X"0F",X"70",
|
||||
X"A2",X"F0",X"09",X"52",X"A2",X"A5",X"0F",X"30",X"80",X"D0",X"06",X"00",X"80",X"D0",X"00",X"00",
|
||||
X"88",X"1D",X"00",X"00",X"88",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"EE",X"1D",X"00",X"22",X"88",X"D1",X"00",X"40",X"80",X"58",X"00",X"60",X"80",X"D0",X"80",X"70",
|
||||
X"80",X"E1",X"F3",X"52",X"80",X"BC",X"7B",X"70",X"C0",X"69",X"D7",X"52",X"A4",X"78",X"0F",X"30",
|
||||
X"E0",X"E1",X"09",X"30",X"62",X"70",X"0F",X"10",X"62",X"30",X"06",X"00",X"22",X"30",X"00",X"00",
|
||||
X"22",X"03",X"03",X"00",X"00",X"08",X"07",X"00",X"00",X"08",X"07",X"00",X"00",X"00",X"03",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"10",X"00",X"00",X"D2",X"21",X"00",X"80",X"F0",X"30",X"00",
|
||||
X"C0",X"5A",X"03",X"00",X"68",X"7C",X"06",X"00",X"11",X"3F",X"06",X"00",X"00",X"7F",X"03",X"00",
|
||||
X"06",X"2E",X"F0",X"01",X"0F",X"E0",X"D2",X"23",X"0F",X"B4",X"30",X"22",X"86",X"F0",X"D2",X"33",
|
||||
X"00",X"68",X"F0",X"33",X"00",X"C2",X"00",X"00",X"00",X"EE",X"33",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"E0",X"70",X"00",X"00",X"D1",X"A5",X"10",X"00",X"80",X"F0",X"30",X"00",
|
||||
X"80",X"5A",X"03",X"00",X"00",X"7C",X"06",X"06",X"00",X"3F",X"06",X"0F",X"00",X"7F",X"03",X"0F",
|
||||
X"A5",X"3E",X"10",X"06",X"E1",X"D2",X"30",X"00",X"00",X"F0",X"F0",X"01",X"F3",X"A5",X"E1",X"01",
|
||||
X"F3",X"F0",X"10",X"00",X"11",X"48",X"70",X"00",X"11",X"80",X"FE",X"11",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"EE",X"11",X"00",X"00",X"60",X"44",X"00",X"00",X"A4",X"80",X"00",X"00",
|
||||
X"E0",X"E3",X"00",X"00",X"4A",X"6B",X"00",X"00",X"4A",X"C2",X"00",X"00",X"68",X"C3",X"00",X"00",
|
||||
X"68",X"4B",X"00",X"00",X"4A",X"C2",X"00",X"00",X"4A",X"A7",X"00",X"00",X"E0",X"63",X"00",X"00",
|
||||
X"A4",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"EE",X"11",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"79",X"10",X"44",X"00",X"C0",X"30",X"44",X"08",X"49",X"70",X"C4",X"90",X"90",X"52",
|
||||
X"4C",X"B0",X"B0",X"70",X"C0",X"52",X"12",X"00",X"80",X"F0",X"38",X"33",X"00",X"5A",X"3C",X"67",
|
||||
X"00",X"F0",X"12",X"07",X"80",X"5A",X"1E",X"07",X"E0",X"F0",X"1E",X"07",X"A4",X"69",X"12",X"07",
|
||||
X"E2",X"90",X"3C",X"67",X"22",X"00",X"38",X"33",X"22",X"00",X"30",X"00",X"22",X"00",X"03",X"00",
|
||||
X"00",X"CC",X"77",X"00",X"00",X"00",X"60",X"00",X"84",X"10",X"F0",X"00",X"84",X"21",X"D2",X"00",
|
||||
X"80",X"F0",X"E0",X"10",X"00",X"DE",X"B4",X"10",X"00",X"8F",X"F1",X"21",X"0A",X"0C",X"A5",X"30",
|
||||
X"4A",X"0F",X"E1",X"10",X"68",X"0F",X"A5",X"21",X"48",X"0C",X"E1",X"30",X"00",X"8F",X"B5",X"10",
|
||||
X"00",X"CE",X"F0",X"00",X"00",X"E0",X"30",X"00",X"CC",X"F3",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0C",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"48",X"00",X"00",X"22",X"C0",X"00",X"00",X"22",
|
||||
X"48",X"F3",X"70",X"66",X"0C",X"E7",X"B4",X"74",X"02",X"87",X"E1",X"65",X"0E",X"87",X"B4",X"54",
|
||||
X"0E",X"87",X"61",X"00",X"02",X"87",X"70",X"00",X"0C",X"E7",X"A5",X"00",X"48",X"F3",X"F0",X"10",
|
||||
X"C0",X"00",X"68",X"10",X"84",X"00",X"C0",X"32",X"C0",X"00",X"88",X"33",X"0C",X"00",X"FF",X"11",
|
||||
X"0C",X"CC",X"33",X"00",X"C0",X"C0",X"00",X"00",X"48",X"48",X"00",X"00",X"C0",X"C0",X"00",X"00",
|
||||
X"48",X"F3",X"10",X"00",X"0C",X"E7",X"21",X"07",X"02",X"87",X"30",X"05",X"0E",X"87",X"01",X"05",
|
||||
X"0E",X"87",X"10",X"05",X"02",X"87",X"21",X"05",X"0C",X"E7",X"30",X"07",X"48",X"F3",X"10",X"00",
|
||||
X"C0",X"48",X"00",X"00",X"84",X"C0",X"00",X"00",X"C0",X"C0",X"00",X"00",X"0C",X"CC",X"33",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"11",X"00",X"CC",X"FF",X"3B",X"01",
|
||||
X"88",X"F7",X"3F",X"03",X"00",X"F3",X"36",X"03",X"88",X"73",X"36",X"03",X"CC",X"73",X"7E",X"01",
|
||||
X"CC",X"73",X"FE",X"00",X"88",X"73",X"7E",X"01",X"00",X"73",X"3E",X"03",X"88",X"73",X"36",X"03",
|
||||
X"CC",X"73",X"36",X"03",X"88",X"73",X"3A",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"EE",X"FF",X"33",X"00",X"CC",X"FF",X"77",X"03",
|
||||
X"88",X"F1",X"7E",X"07",X"EE",X"30",X"7C",X"04",X"CC",X"10",X"6C",X"04",X"88",X"10",X"EC",X"03",
|
||||
X"88",X"10",X"EC",X"11",X"CC",X"10",X"EC",X"03",X"EE",X"10",X"6C",X"07",X"88",X"10",X"6C",X"04",
|
||||
X"CC",X"10",X"6C",X"04",X"EE",X"10",X"64",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"07",X"0C",X"01",X"08",X"0F",X"0E",X"03",
|
||||
X"08",X"09",X"17",X"02",X"00",X"8F",X"3F",X"01",X"88",X"FF",X"FF",X"33",X"CC",X"F1",X"F0",X"30",
|
||||
X"CC",X"30",X"00",X"00",X"CC",X"F1",X"F0",X"30",X"CC",X"FF",X"FF",X"33",X"CC",X"FF",X"FF",X"33",
|
||||
X"CC",X"DD",X"BB",X"33",X"88",X"88",X"11",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"07",X"0C",X"01",X"08",X"09",X"06",X"02",X"08",X"09",X"17",X"02",
|
||||
X"00",X"8F",X"3F",X"01",X"88",X"FF",X"FF",X"33",X"CC",X"F1",X"F0",X"30",X"CC",X"30",X"00",X"00",
|
||||
X"CC",X"10",X"00",X"00",X"CC",X"10",X"00",X"00",X"CC",X"30",X"00",X"00",X"CC",X"F1",X"F0",X"30",
|
||||
X"CC",X"FF",X"FF",X"33",X"CC",X"66",X"66",X"33",X"44",X"22",X"44",X"22",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0C",X"00",X"88",X"AA",X"1F",X"01",X"CC",X"FF",X"13",X"01",X"88",X"FF",X"13",X"01",
|
||||
X"EE",X"FF",X"3F",X"11",X"CC",X"F1",X"F8",X"1F",X"EE",X"30",X"C0",X"19",X"E6",X"10",X"80",X"3A",
|
||||
X"F3",X"00",X"00",X"FC",X"71",X"00",X"00",X"E8",X"31",X"00",X"00",X"C8",X"31",X"00",X"00",X"C0",
|
||||
X"30",X"00",X"00",X"80",X"10",X"00",X"00",X"80",X"10",X"00",X"00",X"80",X"10",X"00",X"00",X"80",
|
||||
X"00",X"0E",X"F7",X"F0",X"00",X"02",X"F1",X"00",X"00",X"8A",X"30",X"00",X"0E",X"F7",X"10",X"00",
|
||||
X"03",X"E3",X"00",X"00",X"03",X"61",X"00",X"00",X"0E",X"31",X"00",X"00",X"EE",X"31",X"00",X"00",
|
||||
X"EE",X"31",X"00",X"00",X"CC",X"31",X"00",X"00",X"EE",X"71",X"00",X"01",X"CC",X"F3",X"00",X"00",
|
||||
X"EE",X"F7",X"10",X"00",X"44",X"FF",X"30",X"00",X"00",X"DD",X"F1",X"10",X"00",X"00",X"FF",X"F0",
|
||||
X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"C2",X"18",X"0F",X"00",X"C2",X"78",X"78",X"01",
|
||||
X"C2",X"B4",X"F0",X"01",X"C2",X"F0",X"F0",X"01",X"C2",X"F3",X"F0",X"01",X"C0",X"F3",X"87",X"01",
|
||||
X"C2",X"F3",X"84",X"01",X"C2",X"F3",X"84",X"01",X"C2",X"B7",X"F0",X"01",X"82",X"B7",X"78",X"01",
|
||||
X"02",X"3F",X"3C",X"00",X"00",X"3B",X"07",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"70",X"0F",X"01",X"86",X"F0",X"E1",X"03",
|
||||
X"0C",X"78",X"F0",X"12",X"08",X"E1",X"F0",X"12",X"80",X"FE",X"F0",X"12",X"80",X"FE",X"1F",X"12",
|
||||
X"80",X"F8",X"19",X"12",X"08",X"F8",X"19",X"12",X"0E",X"C8",X"F1",X"12",X"08",X"89",X"F1",X"03",
|
||||
X"00",X"8B",X"79",X"01",X"00",X"88",X"1F",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"08",X"F0",X"00",X"00",X"08",X"F0",X"1E",X"00",
|
||||
X"08",X"F0",X"69",X"03",X"08",X"F0",X"F0",X"12",X"08",X"F7",X"F0",X"16",X"88",X"F7",X"F0",X"34",
|
||||
X"88",X"F1",X"3C",X"25",X"88",X"F1",X"34",X"24",X"88",X"F1",X"34",X"24",X"88",X"D1",X"E1",X"34",
|
||||
X"88",X"11",X"C3",X"16",X"88",X"00",X"0E",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"08",X"0F",X"0F",X"00",
|
||||
X"0C",X"F0",X"78",X"01",X"84",X"78",X"C3",X"03",X"84",X"78",X"C0",X"12",X"84",X"78",X"C0",X"12",
|
||||
X"0C",X"F0",X"F0",X"03",X"80",X"E1",X"3C",X"01",X"80",X"FC",X"FF",X"33",X"C0",X"FC",X"FF",X"77",
|
||||
X"E0",X"F0",X"F0",X"00",X"C0",X"F0",X"70",X"00",X"0C",X"07",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"08",X"0F",X"0F",X"00",X"0C",X"F0",X"78",X"01",
|
||||
X"84",X"78",X"C3",X"03",X"84",X"78",X"C0",X"12",X"84",X"78",X"C0",X"12",X"0C",X"F8",X"FF",X"33",
|
||||
X"80",X"ED",X"FF",X"77",X"E0",X"FC",X"70",X"00",X"C0",X"FC",X"30",X"01",X"C0",X"D2",X"38",X"01",
|
||||
X"80",X"C3",X"1E",X"00",X"08",X"01",X"04",X"00",X"08",X"00",X"04",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0C",X"0F",X"01",X"00",X"87",X"F0",X"03",X"00",X"E1",X"81",X"12",
|
||||
X"08",X"E1",X"81",X"12",X"08",X"F0",X"87",X"12",X"08",X"F0",X"F0",X"03",X"80",X"E1",X"78",X"01",
|
||||
X"C0",X"F0",X"F0",X"00",X"C0",X"FC",X"F0",X"00",X"C0",X"FC",X"70",X"00",X"E0",X"FC",X"FF",X"11",
|
||||
X"0C",X"8F",X"FF",X"33",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"60",X"00",X"84",X"D0",X"E0",X"00",X"84",X"F1",X"F4",X"10",
|
||||
X"84",X"FB",X"FD",X"30",X"8C",X"FE",X"FF",X"31",X"8C",X"9F",X"FE",X"73",X"80",X"1F",X"3F",X"77",
|
||||
X"8A",X"3F",X"2F",X"67",X"86",X"7A",X"2F",X"47",X"02",X"7F",X"07",X"46",X"02",X"EA",X"07",X"46",
|
||||
X"02",X"00",X"1E",X"23",X"00",X"00",X"8E",X"11",X"00",X"00",X"06",X"00",X"00",X"00",X"07",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"60",X"00",X"82",X"D0",X"E0",X"00",X"86",X"F1",X"F4",X"10",
|
||||
X"82",X"FB",X"FD",X"30",X"8A",X"FE",X"F0",X"31",X"8A",X"9F",X"FE",X"73",X"80",X"9F",X"3F",X"77",
|
||||
X"8C",X"97",X"3F",X"67",X"84",X"9F",X"3F",X"47",X"04",X"9F",X"36",X"46",X"04",X"8E",X"37",X"46",
|
||||
X"04",X"06",X"3E",X"23",X"00",X"06",X"EE",X"11",X"00",X"07",X"00",X"00",X"08",X"03",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"80",X"40",X"60",X"00",X"84",X"D0",X"E0",X"00",X"84",X"F1",X"F4",X"07",
|
||||
X"84",X"FB",X"1F",X"0F",X"8C",X"7E",X"0F",X"3D",X"8C",X"1F",X"CF",X"3F",X"80",X"1F",X"3F",X"7F",
|
||||
X"8A",X"F7",X"3F",X"67",X"86",X"FD",X"3F",X"47",X"02",X"FF",X"36",X"46",X"02",X"EA",X"37",X"46",
|
||||
X"02",X"00",X"3E",X"23",X"00",X"00",X"EE",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C8",X"FF",X"00",X"00",X"FC",X"1F",X"11",X"80",X"FE",X"03",X"23",
|
||||
X"C0",X"7F",X"03",X"23",X"E8",X"7F",X"0F",X"0F",X"E0",X"FE",X"3F",X"0F",X"80",X"FB",X"0F",X"18",
|
||||
X"C0",X"7F",X"8F",X"00",X"E0",X"3D",X"E7",X"00",X"80",X"3F",X"FD",X"00",X"C8",X"FD",X"77",X"00",
|
||||
X"E0",X"F6",X"31",X"00",X"0C",X"07",X"02",X"00",X"00",X"00",X"0F",X"01",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C8",X"FF",X"00",X"00",X"FC",X"1F",X"11",X"80",X"FE",X"03",X"23",
|
||||
X"C0",X"7F",X"03",X"23",X"E8",X"7F",X"0F",X"23",X"E0",X"FE",X"FF",X"33",X"80",X"FB",X"FB",X"10",
|
||||
X"C0",X"F0",X"FE",X"00",X"E0",X"3E",X"0F",X"07",X"80",X"3F",X"0F",X"0F",X"C8",X"FD",X"77",X"0C",
|
||||
X"E0",X"F6",X"31",X"08",X"08",X"00",X"0F",X"01",X"0C",X"07",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"0F",X"00",X"00",X"08",X"8F",X"FF",X"00",X"08",X"ED",X"1F",X"11",X"08",X"EF",X"03",X"33",
|
||||
X"C0",X"4F",X"03",X"23",X"E8",X"4F",X"0F",X"23",X"E0",X"8F",X"FF",X"33",X"80",X"9F",X"FB",X"10",
|
||||
X"C0",X"1F",X"FE",X"00",X"E0",X"3E",X"F7",X"00",X"80",X"3F",X"FD",X"00",X"C8",X"FD",X"77",X"00",
|
||||
X"E0",X"F6",X"31",X"00",X"0C",X"07",X"02",X"00",X"00",X"00",X"0F",X"01",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"02",X"70",X"0E",X"03",X"0E",X"F0",X"D2",X"16",
|
||||
X"02",X"F0",X"E1",X"34",X"02",X"F0",X"F0",X"34",X"02",X"F6",X"F0",X"34",X"00",X"F6",X"3C",X"25",
|
||||
X"08",X"F6",X"30",X"25",X"08",X"F6",X"30",X"25",X"08",X"F6",X"E1",X"34",X"08",X"66",X"E1",X"16",
|
||||
X"08",X"66",X"C3",X"03",X"00",X"66",X"0E",X"01",X"00",X"EE",X"00",X"00",X"00",X"AA",X"11",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"08",X"E0",X"0E",X"03",X"08",X"F0",X"D2",X"16",
|
||||
X"08",X"F0",X"E1",X"34",X"08",X"F0",X"F0",X"34",X"08",X"F6",X"F0",X"34",X"00",X"F6",X"3C",X"25",
|
||||
X"02",X"F6",X"30",X"25",X"0E",X"F6",X"30",X"25",X"02",X"F6",X"E1",X"34",X"02",X"66",X"E1",X"16",
|
||||
X"02",X"66",X"C3",X"03",X"00",X"66",X"0E",X"01",X"00",X"EE",X"00",X"00",X"00",X"AA",X"11",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"02",X"F0",X"00",X"00",X"0E",X"F0",X"1E",X"00",
|
||||
X"02",X"F0",X"69",X"03",X"02",X"F0",X"F0",X"12",X"02",X"F6",X"F0",X"16",X"00",X"F6",X"F0",X"34",
|
||||
X"08",X"F6",X"3C",X"25",X"08",X"F6",X"34",X"24",X"08",X"F6",X"34",X"24",X"08",X"E6",X"E1",X"34",
|
||||
X"08",X"66",X"C3",X"16",X"00",X"66",X"0E",X"03",X"00",X"EE",X"00",X"00",X"00",X"AA",X"11",X"00",
|
||||
X"80",X"10",X"00",X"00",X"84",X"16",X"00",X"00",X"84",X"2D",X"00",X"00",X"84",X"78",X"00",X"00",
|
||||
X"84",X"78",X"00",X"00",X"8C",X"79",X"00",X"00",X"8C",X"79",X"00",X"00",X"88",X"5B",X"00",X"00",
|
||||
X"88",X"5B",X"00",X"00",X"8C",X"5B",X"00",X"00",X"8C",X"59",X"00",X"00",X"8C",X"59",X"00",X"00",
|
||||
X"8C",X"79",X"00",X"00",X"8C",X"79",X"00",X"00",X"8C",X"3D",X"00",X"00",X"88",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"E0",X"20",X"00",X"00",X"42",X"20",X"00",
|
||||
X"00",X"03",X"30",X"00",X"80",X"90",X"16",X"00",X"C0",X"C0",X"0F",X"00",X"0C",X"C0",X"0F",X"01",
|
||||
X"08",X"90",X"0F",X"00",X"80",X"B0",X"16",X"00",X"00",X"30",X"30",X"00",X"00",X"43",X"30",X"00",
|
||||
X"00",X"42",X"20",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",
|
||||
X"00",X"CC",X"77",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"CC",X"00",X"88",X"55",X"44",X"00",
|
||||
X"44",X"77",X"00",X"00",X"CC",X"DD",X"00",X"00",X"CC",X"FF",X"00",X"00",X"44",X"BB",X"00",X"00",
|
||||
X"88",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00",
|
||||
X"00",X"0F",X"03",X"00",X"08",X"0F",X"01",X"00",X"80",X"0F",X"00",X"00",X"C0",X"1E",X"00",X"00",
|
||||
X"C0",X"3E",X"00",X"00",X"80",X"4F",X"00",X"00",X"40",X"CF",X"01",X"00",X"E0",X"3F",X"03",X"00",
|
||||
X"E0",X"0E",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
|
||||
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/Universal MrDo/rtl/rom/spr2_rom.vhd
Normal file
278
Arcade_MiST/Universal MrDo/rtl/rom/spr2_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity spr2_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 spr2_rom 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"80",X"00",X"00",
|
||||
X"00",X"C0",X"30",X"00",X"00",X"C0",X"70",X"00",X"00",X"C0",X"78",X"00",X"00",X"C4",X"3C",X"01",
|
||||
X"00",X"CC",X"3C",X"01",X"00",X"CC",X"79",X"00",X"00",X"C8",X"73",X"00",X"00",X"C0",X"77",X"00",
|
||||
X"00",X"80",X"EE",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"66",X"00",X"00",
|
||||
X"00",X"53",X"00",X"00",X"88",X"21",X"00",X"00",X"88",X"21",X"00",X"00",X"88",X"21",X"00",X"00",
|
||||
X"88",X"21",X"00",X"00",X"88",X"21",X"00",X"00",X"88",X"21",X"00",X"00",X"00",X"53",X"00",X"00",
|
||||
X"00",X"66",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FD",X"10",X"00",X"CC",X"C4",X"30",X"00",
|
||||
X"66",X"E6",X"70",X"00",X"E6",X"F2",X"10",X"00",X"E2",X"F3",X"00",X"00",X"22",X"F3",X"00",X"00",
|
||||
X"22",X"F3",X"00",X"00",X"E2",X"F3",X"00",X"00",X"E6",X"F2",X"10",X"00",X"66",X"E6",X"70",X"00",
|
||||
X"CC",X"C4",X"30",X"00",X"88",X"FD",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"CC",X"CC",X"CC",X"00",X"CC",X"CC",X"CC",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"CC",X"CC",X"CC",X"00",X"CC",X"CC",X"CC",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"70",X"00",
|
||||
X"00",X"F0",X"30",X"00",X"00",X"F0",X"10",X"00",X"00",X"F0",X"00",X"00",X"00",X"70",X"00",X"10",
|
||||
X"00",X"30",X"80",X"10",X"00",X"10",X"C0",X"10",X"00",X"00",X"E0",X"10",X"00",X"00",X"F0",X"10",
|
||||
X"00",X"80",X"F0",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"2C",X"C3",X"00",X"00",X"E0",X"D2",X"30",X"00",X"2C",X"E1",X"70",X"01",
|
||||
X"E0",X"D2",X"10",X"01",X"2C",X"E1",X"30",X"01",X"E0",X"F0",X"70",X"01",X"2C",X"4B",X"10",X"01",
|
||||
X"E0",X"F0",X"10",X"01",X"2C",X"0F",X"70",X"01",X"E0",X"F0",X"10",X"01",X"2C",X"0F",X"30",X"01",
|
||||
X"68",X"E1",X"70",X"01",X"A4",X"D2",X"20",X"00",X"A4",X"D2",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",
|
||||
X"00",X"00",X"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"E0",X"70",X"00",
|
||||
X"10",X"FC",X"73",X"00",X"90",X"BE",X"73",X"00",X"F0",X"1F",X"73",X"00",X"90",X"BE",X"73",X"00",
|
||||
X"10",X"FC",X"FB",X"00",X"00",X"E0",X"F8",X"11",X"00",X"00",X"EE",X"11",X"00",X"00",X"CC",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"88",X"FF",X"1F",X"01",X"CC",X"FF",X"13",X"01",X"EE",X"FF",X"13",X"01",X"EE",X"FF",X"3E",X"17",
|
||||
X"CC",X"F7",X"FE",X"0F",X"88",X"F7",X"FF",X"09",X"CC",X"F7",X"FF",X"09",X"EE",X"F7",X"FF",X"9F",
|
||||
X"EE",X"F7",X"FF",X"FF",X"CC",X"F7",X"FE",X"FF",X"88",X"FF",X"FE",X"FF",X"CC",X"FF",X"FE",X"77",
|
||||
X"EE",X"FF",X"FE",X"77",X"EE",X"FF",X"FE",X"33",X"CC",X"FF",X"FE",X"11",X"88",X"77",X"FC",X"00",
|
||||
X"CC",X"FF",X"77",X"00",X"EE",X"FF",X"FF",X"00",X"EE",X"F3",X"FF",X"17",X"CC",X"FB",X"FF",X"0F",
|
||||
X"88",X"FB",X"FF",X"09",X"88",X"F3",X"FF",X"09",X"CC",X"F7",X"FF",X"17",X"EE",X"F7",X"FF",X"33",
|
||||
X"EE",X"F7",X"FF",X"33",X"CC",X"F7",X"FF",X"17",X"88",X"F3",X"FF",X"09",X"88",X"FB",X"FF",X"09",
|
||||
X"CC",X"FB",X"FF",X"0F",X"EE",X"F3",X"FF",X"17",X"EE",X"FF",X"FF",X"00",X"CC",X"FF",X"77",X"00",
|
||||
X"00",X"00",X"00",X"00",X"CC",X"11",X"EE",X"00",X"EE",X"FF",X"FF",X"17",X"EE",X"FF",X"FF",X"0F",
|
||||
X"CC",X"FB",X"FF",X"0D",X"88",X"F1",X"FF",X"0D",X"CC",X"B1",X"FE",X"17",X"EE",X"31",X"FE",X"33",
|
||||
X"EE",X"31",X"FE",X"33",X"CC",X"B1",X"FE",X"17",X"88",X"F1",X"FF",X"0D",X"CC",X"FB",X"FF",X"0D",
|
||||
X"EE",X"FF",X"FF",X"0F",X"EE",X"FF",X"FF",X"17",X"CC",X"11",X"EE",X"00",X"00",X"00",X"00",X"00",
|
||||
X"CC",X"33",X"00",X"00",X"CC",X"77",X"00",X"00",X"88",X"3E",X"00",X"00",X"CC",X"3E",X"00",X"00",
|
||||
X"CC",X"3A",X"00",X"00",X"88",X"3A",X"00",X"01",X"CC",X"3A",X"00",X"00",X"CC",X"3E",X"00",X"00",
|
||||
X"CC",X"76",X"00",X"00",X"CC",X"3E",X"00",X"00",X"88",X"3E",X"00",X"00",X"CC",X"3A",X"00",X"00",
|
||||
X"CC",X"3A",X"00",X"00",X"88",X"3A",X"00",X"01",X"CC",X"3E",X"00",X"00",X"CC",X"32",X"00",X"00",
|
||||
X"22",X"00",X"00",X"00",X"22",X"0F",X"07",X"00",X"2A",X"E1",X"3C",X"01",X"2E",X"F0",X"78",X"03",
|
||||
X"A6",X"F0",X"F8",X"13",X"A6",X"00",X"40",X"13",X"84",X"60",X"50",X"13",X"84",X"60",X"58",X"03",
|
||||
X"84",X"60",X"58",X"03",X"84",X"60",X"50",X"13",X"A6",X"E0",X"50",X"13",X"A6",X"E0",X"D8",X"13",
|
||||
X"2E",X"F0",X"78",X"03",X"2A",X"E1",X"3C",X"01",X"22",X"0F",X"07",X"00",X"22",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"44",X"0E",X"0F",X"00",X"44",X"C3",X"78",X"03",X"4C",X"E1",X"F0",X"07",
|
||||
X"4C",X"F0",X"F0",X"37",X"4C",X"FE",X"F7",X"26",X"4C",X"F2",X"F5",X"26",X"08",X"F2",X"F5",X"07",
|
||||
X"88",X"F2",X"F5",X"07",X"CC",X"F2",X"F5",X"26",X"6E",X"F2",X"F4",X"26",X"3B",X"F2",X"F4",X"37",
|
||||
X"19",X"E1",X"F0",X"07",X"11",X"C3",X"78",X"03",X"00",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"00",X"11",X"C3",X"78",X"03",X"19",X"E1",X"F0",X"07",
|
||||
X"3B",X"F0",X"F0",X"37",X"6E",X"FE",X"F7",X"04",X"CC",X"F2",X"F5",X"04",X"88",X"F2",X"F5",X"07",
|
||||
X"08",X"F2",X"F5",X"07",X"4C",X"F2",X"F5",X"04",X"4C",X"F2",X"F4",X"04",X"4C",X"F2",X"F4",X"37",
|
||||
X"4C",X"E1",X"F0",X"07",X"44",X"C3",X"78",X"03",X"44",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"22",X"00",X"00",X"00",X"22",X"0F",X"07",X"00",X"2A",X"E1",X"3C",X"01",X"2E",X"F0",X"78",X"03",
|
||||
X"A6",X"F0",X"F8",X"13",X"A6",X"E0",X"50",X"13",X"84",X"C0",X"40",X"13",X"84",X"90",X"68",X"03",
|
||||
X"84",X"30",X"78",X"03",X"84",X"50",X"60",X"13",X"A6",X"C0",X"40",X"13",X"A6",X"E0",X"D8",X"13",
|
||||
X"2E",X"F0",X"78",X"03",X"2A",X"E1",X"3C",X"01",X"22",X"0F",X"07",X"00",X"22",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"44",X"0E",X"0F",X"00",X"44",X"C3",X"78",X"03",X"4C",X"E1",X"F0",X"07",
|
||||
X"4C",X"F0",X"F0",X"37",X"4C",X"F2",X"F4",X"26",X"4C",X"F6",X"F6",X"26",X"08",X"FC",X"F2",X"07",
|
||||
X"88",X"F8",X"F1",X"07",X"CC",X"F4",X"F3",X"26",X"6E",X"F6",X"F6",X"26",X"3B",X"F2",X"F4",X"37",
|
||||
X"19",X"E1",X"F0",X"07",X"11",X"C3",X"78",X"03",X"00",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"00",X"11",X"C3",X"78",X"03",X"19",X"E1",X"F0",X"07",
|
||||
X"3B",X"F0",X"F0",X"37",X"6E",X"F2",X"F4",X"04",X"CC",X"F6",X"F6",X"04",X"88",X"FC",X"F2",X"07",
|
||||
X"08",X"F8",X"F1",X"07",X"4C",X"F4",X"F3",X"04",X"4C",X"F6",X"F6",X"04",X"4C",X"F2",X"F4",X"37",
|
||||
X"4C",X"E1",X"F0",X"07",X"44",X"C3",X"78",X"03",X"44",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"22",X"00",X"00",X"00",X"22",X"0F",X"07",X"00",X"2A",X"E1",X"3C",X"01",X"2E",X"F0",X"78",X"03",
|
||||
X"A6",X"F0",X"F8",X"13",X"A6",X"F0",X"50",X"13",X"84",X"F0",X"50",X"13",X"84",X"F0",X"58",X"03",
|
||||
X"84",X"00",X"48",X"03",X"84",X"F0",X"50",X"13",X"A6",X"F0",X"50",X"13",X"A6",X"F0",X"D8",X"13",
|
||||
X"2E",X"F0",X"78",X"03",X"2A",X"E1",X"3C",X"01",X"22",X"0F",X"07",X"00",X"22",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"44",X"0E",X"0F",X"00",X"44",X"C3",X"78",X"03",X"4C",X"E1",X"F0",X"07",
|
||||
X"4C",X"F0",X"F0",X"37",X"4C",X"F0",X"F4",X"26",X"4C",X"F0",X"F4",X"26",X"08",X"F0",X"F4",X"07",
|
||||
X"88",X"FE",X"F7",X"07",X"CC",X"F0",X"F4",X"26",X"6E",X"F0",X"F4",X"26",X"3B",X"F0",X"F4",X"37",
|
||||
X"19",X"E1",X"F0",X"07",X"11",X"C3",X"78",X"03",X"00",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"00",X"11",X"C3",X"78",X"03",X"19",X"E1",X"F0",X"07",
|
||||
X"3B",X"F0",X"F0",X"37",X"6E",X"F0",X"F4",X"04",X"CC",X"F0",X"F4",X"04",X"88",X"F0",X"F4",X"07",
|
||||
X"08",X"FE",X"F7",X"07",X"4C",X"F0",X"F4",X"04",X"4C",X"F0",X"F4",X"04",X"4C",X"F0",X"F4",X"37",
|
||||
X"4C",X"E1",X"F0",X"07",X"44",X"C3",X"78",X"03",X"44",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"22",X"00",X"00",X"00",X"22",X"0F",X"07",X"00",X"2A",X"E1",X"3C",X"01",X"2E",X"F0",X"78",X"03",
|
||||
X"A6",X"F0",X"F8",X"13",X"A6",X"00",X"40",X"13",X"84",X"B0",X"50",X"13",X"84",X"B0",X"58",X"03",
|
||||
X"84",X"B0",X"58",X"03",X"84",X"80",X"50",X"13",X"A6",X"20",X"40",X"13",X"A6",X"60",X"E8",X"13",
|
||||
X"2E",X"F0",X"78",X"03",X"2A",X"E1",X"3C",X"01",X"22",X"FF",X"07",X"00",X"22",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"44",X"0E",X"0F",X"00",X"44",X"C3",X"78",X"03",X"4C",X"E1",X"F0",X"07",
|
||||
X"4C",X"F0",X"F0",X"37",X"4C",X"FE",X"F7",X"26",X"4C",X"F8",X"F4",X"26",X"08",X"F8",X"F4",X"07",
|
||||
X"88",X"F8",X"F4",X"07",X"CC",X"FE",X"F4",X"26",X"6E",X"FA",X"F7",X"26",X"3B",X"F2",X"F3",X"37",
|
||||
X"19",X"E1",X"F0",X"07",X"11",X"C3",X"78",X"03",X"00",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"00",X"11",X"C3",X"78",X"03",X"19",X"E1",X"F0",X"07",
|
||||
X"3B",X"F0",X"F0",X"37",X"6E",X"FE",X"F7",X"04",X"CC",X"F8",X"F4",X"04",X"88",X"F8",X"F4",X"07",
|
||||
X"08",X"F8",X"F4",X"07",X"4C",X"FE",X"F4",X"04",X"4C",X"FA",X"F7",X"04",X"4C",X"F2",X"F3",X"37",
|
||||
X"4C",X"E1",X"F0",X"07",X"44",X"C3",X"78",X"03",X"44",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"22",X"00",X"00",X"00",X"22",X"0F",X"07",X"00",X"2A",X"E1",X"3C",X"01",X"2E",X"F0",X"78",X"03",
|
||||
X"A6",X"F0",X"F8",X"13",X"A6",X"00",X"70",X"13",X"84",X"50",X"60",X"13",X"84",X"D0",X"48",X"03",
|
||||
X"84",X"D0",X"58",X"03",X"84",X"D0",X"40",X"13",X"A6",X"50",X"60",X"13",X"A6",X"00",X"F8",X"13",
|
||||
X"2E",X"F0",X"78",X"03",X"2A",X"E1",X"3C",X"01",X"22",X"0F",X"07",X"00",X"22",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"44",X"0E",X"0F",X"00",X"44",X"C3",X"78",X"03",X"4C",X"E1",X"F0",X"07",
|
||||
X"4C",X"F0",X"F0",X"37",X"4C",X"FE",X"F1",X"26",X"4C",X"F4",X"F3",X"26",X"08",X"F4",X"F6",X"07",
|
||||
X"88",X"F4",X"F4",X"07",X"CC",X"F4",X"F6",X"26",X"6E",X"F4",X"F3",X"26",X"3B",X"FE",X"F1",X"37",
|
||||
X"19",X"E1",X"F0",X"07",X"11",X"C3",X"78",X"03",X"00",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"0E",X"0F",X"00",X"11",X"C3",X"78",X"03",X"19",X"E1",X"F0",X"07",
|
||||
X"3B",X"F0",X"F0",X"37",X"6E",X"FE",X"F1",X"04",X"CC",X"F4",X"F3",X"04",X"88",X"F4",X"F6",X"37",
|
||||
X"08",X"F4",X"F4",X"37",X"4C",X"F4",X"F6",X"04",X"4C",X"F4",X"F3",X"04",X"4C",X"FE",X"F1",X"37",
|
||||
X"4C",X"E1",X"F0",X"07",X"44",X"C3",X"78",X"03",X"44",X"0E",X"0F",X"00",X"00",X"00",X"00",X"00",
|
||||
X"08",X"07",X"00",X"00",X"4C",X"3C",X"00",X"00",X"4C",X"7C",X"00",X"00",X"4C",X"7C",X"00",X"00",
|
||||
X"4C",X"7C",X"00",X"00",X"4C",X"38",X"00",X"00",X"4C",X"38",X"00",X"00",X"08",X"3C",X"00",X"00",
|
||||
X"08",X"3C",X"00",X"00",X"4C",X"38",X"00",X"00",X"4C",X"38",X"00",X"00",X"4C",X"7C",X"00",X"00",
|
||||
X"4C",X"7C",X"00",X"00",X"4C",X"7C",X"00",X"00",X"4C",X"3C",X"00",X"00",X"08",X"07",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"10",X"00",X"00",X"F3",X"F0",X"10",X"88",X"F1",X"F0",X"30",
|
||||
X"CC",X"F1",X"F0",X"70",X"CC",X"F0",X"F0",X"70",X"CC",X"F3",X"F0",X"52",X"CC",X"F1",X"78",X"61",
|
||||
X"C4",X"F0",X"78",X"77",X"EE",X"96",X"78",X"FC",X"EE",X"96",X"4B",X"B8",X"E6",X"B4",X"87",X"21",
|
||||
X"CC",X"F0",X"87",X"30",X"88",X"F1",X"D2",X"10",X"00",X"F0",X"F0",X"10",X"00",X"C0",X"70",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"E0",X"F0",X"00",X"88",X"F1",X"F0",X"10",X"CC",X"F0",X"F0",X"30",
|
||||
X"EE",X"F0",X"F0",X"30",X"E6",X"F0",X"F0",X"21",X"EE",X"F1",X"78",X"30",X"EE",X"F0",X"78",X"FF",
|
||||
X"E6",X"F0",X"78",X"B8",X"EE",X"96",X"4B",X"30",X"EE",X"96",X"87",X"21",X"E6",X"B4",X"87",X"30",
|
||||
X"CC",X"F0",X"D2",X"30",X"88",X"F1",X"F0",X"10",X"00",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",X"70",X"00",X"00",X"F0",X"F0",X"10",X"CC",X"F0",X"F0",X"10",X"C4",X"F0",X"F0",X"21",
|
||||
X"EE",X"F0",X"78",X"30",X"E6",X"F0",X"78",X"FF",X"EE",X"F1",X"78",X"B9",X"CC",X"F0",X"78",X"30",
|
||||
X"C4",X"F0",X"C3",X"61",X"CC",X"3C",X"1E",X"70",X"CC",X"3D",X"1E",X"70",X"CC",X"78",X"B4",X"30",
|
||||
X"88",X"F1",X"F0",X"30",X"00",X"F3",X"F0",X"10",X"00",X"C0",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"E0",X"F0",X"00",
|
||||
X"88",X"F1",X"F0",X"10",X"CC",X"F0",X"F0",X"30",X"EE",X"F0",X"F0",X"30",X"E6",X"F0",X"F0",X"21",
|
||||
X"EE",X"F1",X"78",X"30",X"EE",X"F0",X"78",X"33",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"88",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E6",X"F0",X"78",X"30",X"EE",X"96",X"4B",X"30",
|
||||
X"EE",X"96",X"87",X"21",X"E6",X"B4",X"87",X"30",X"CC",X"F0",X"D2",X"30",X"88",X"F1",X"F0",X"10",
|
||||
X"00",X"E0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",
|
||||
X"00",X"C0",X"F0",X"30",X"00",X"E0",X"F0",X"30",X"88",X"F1",X"F0",X"52",X"88",X"F0",X"F0",X"61",
|
||||
X"CC",X"F1",X"F0",X"61",X"CC",X"F1",X"F0",X"01",X"CC",X"F7",X"78",X"00",X"88",X"F3",X"0F",X"33",
|
||||
X"88",X"11",X"00",X"EE",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"11",X"00",X"00",
|
||||
X"88",X"71",X"00",X"00",X"CC",X"F3",X"10",X"00",X"CC",X"3D",X"61",X"00",X"CC",X"3C",X"96",X"01",
|
||||
X"88",X"78",X"96",X"61",X"88",X"F1",X"87",X"61",X"00",X"F0",X"96",X"21",X"00",X"E0",X"F0",X"30",
|
||||
X"00",X"80",X"F0",X"10",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"80",X"96",X"01",X"00",X"C0",X"9E",X"01",X"00",X"E0",X"9E",X"01",X"00",X"E0",X"9E",X"01",X"00",
|
||||
X"E0",X"DE",X"11",X"00",X"E0",X"9E",X"01",X"00",X"E0",X"1E",X"01",X"00",X"E0",X"1E",X"01",X"00",
|
||||
X"E0",X"1E",X"01",X"00",X"C4",X"1E",X"01",X"00",X"CC",X"1E",X"01",X"00",X"88",X"3F",X"01",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"00",X"00",
|
||||
X"88",X"3F",X"01",X"00",X"CC",X"1E",X"01",X"00",X"C4",X"1E",X"01",X"00",X"E0",X"1E",X"01",X"00",
|
||||
X"E0",X"1E",X"01",X"00",X"E0",X"1E",X"01",X"00",X"E0",X"9E",X"01",X"00",X"E0",X"DE",X"11",X"00",
|
||||
X"E0",X"9E",X"01",X"00",X"E0",X"9E",X"01",X"00",X"C0",X"9E",X"01",X"00",X"80",X"96",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"8C",X"01",X"00",X"00",X"CE",X"33",X"00",X"00",X"EE",X"37",X"00",
|
||||
X"00",X"CE",X"77",X"00",X"00",X"CC",X"37",X"00",X"00",X"08",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"00",X"00",X"00",X"00",X"00",X"8C",X"01",X"00",X"00",X"CE",X"13",X"00",X"00",X"EE",X"33",X"00",
|
||||
X"00",X"EE",X"33",X"00",X"00",X"EE",X"33",X"00",X"00",X"CE",X"13",X"00",X"00",X"8C",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"CE",X"13",X"00",X"00",X"EF",X"37",X"00",X"00",X"FF",X"77",X"00",
|
||||
X"00",X"EF",X"37",X"00",X"00",X"CE",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"11",X"00",X"00",X"08",X"02",X"00",
|
||||
X"00",X"8C",X"72",X"00",X"00",X"CE",X"C6",X"00",X"00",X"E3",X"B9",X"00",X"88",X"F1",X"4E",X"00",
|
||||
X"80",X"FE",X"51",X"00",X"00",X"ED",X"B2",X"00",X"00",X"C2",X"8D",X"00",X"00",X"84",X"35",X"00",
|
||||
X"00",X"08",X"22",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"10",X"00",X"00",X"08",X"13",X"00",
|
||||
X"00",X"8C",X"24",X"00",X"00",X"CE",X"59",X"00",X"00",X"E3",X"D6",X"00",X"88",X"F1",X"51",X"00",
|
||||
X"80",X"FE",X"BE",X"00",X"00",X"ED",X"6D",X"00",X"00",X"C2",X"A2",X"00",X"00",X"84",X"12",X"00",
|
||||
X"00",X"08",X"31",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"01",X"00",X"00",X"88",X"21",X"00",
|
||||
X"00",X"C4",X"55",X"00",X"00",X"E2",X"A9",X"00",X"00",X"3D",X"26",X"00",X"80",X"1E",X"A5",X"00",
|
||||
X"08",X"E1",X"4E",X"00",X"00",X"D3",X"9D",X"00",X"00",X"2E",X"52",X"00",X"00",X"4C",X"62",X"00",
|
||||
X"00",X"88",X"01",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"00",X"00",X"80",X"00",X"00",X"00",X"C2",X"90",X"F0",X"00",X"42",X"F0",X"80",X"10",
|
||||
X"42",X"00",X"00",X"10",X"42",X"EE",X"00",X"10",X"42",X"EE",X"03",X"10",X"40",X"6E",X"04",X"10",
|
||||
X"42",X"6E",X"04",X"10",X"42",X"66",X"03",X"10",X"C2",X"66",X"00",X"10",X"82",X"70",X"80",X"10",
|
||||
X"02",X"C0",X"C0",X"00",X"00",X"80",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"0E",X"07",X"00",X"08",X"03",X"0C",X"01",X"0C",X"00",X"00",X"03",
|
||||
X"04",X"00",X"66",X"02",X"06",X"54",X"FF",X"06",X"02",X"FE",X"FF",X"04",X"02",X"EE",X"99",X"15",
|
||||
X"02",X"EE",X"FF",X"15",X"02",X"FE",X"99",X"04",X"06",X"54",X"FF",X"06",X"04",X"00",X"66",X"02",
|
||||
X"0C",X"00",X"00",X"03",X"08",X"03",X"0C",X"01",X"00",X"0E",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"06",X"00",X"00",
|
||||
X"00",X"0F",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"06",X"10",X"00",X"00",X"00",X"20",X"00",
|
||||
X"00",X"06",X"40",X"00",X"00",X"0F",X"80",X"00",X"00",X"0F",X"10",X"10",X"00",X"06",X"E0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"10",X"00",X"00",X"3C",X"30",X"00",X"00",X"1E",X"21",X"00",X"00",X"1E",X"21",X"00",X"00",
|
||||
X"3C",X"30",X"00",X"00",X"E0",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"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"88",X"BF",X"8F",X"11",X"88",X"DF",X"AF",X"11",X"88",X"DF",X"AF",X"11",
|
||||
X"88",X"3F",X"FF",X"11",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",
|
||||
X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",X"00",X"FF",X"FF",X"00",
|
||||
X"88",X"FF",X"FF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",
|
||||
X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"FF",X"FF",X"11",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"00",X"00",X"00",X"00",X"00",X"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"88",X"FF",X"FF",X"11",X"88",X"FF",X"FF",X"11",X"88",X"DF",X"DF",X"11",
|
||||
X"88",X"1F",X"8F",X"11",X"88",X"DF",X"FF",X"11",X"88",X"FF",X"FF",X"11",X"88",X"FF",X"FF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"FF",X"00",X"88",X"FF",X"FF",X"11",X"88",X"9F",X"DF",X"11",X"88",X"5F",X"BF",X"11",
|
||||
X"88",X"5F",X"BF",X"11",X"88",X"5F",X"BF",X"11",X"88",X"DF",X"CF",X"11",X"88",X"FF",X"FF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"FF",X"00",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"FF",X"11",X"88",X"BF",X"EF",X"11",
|
||||
X"88",X"BF",X"DF",X"11",X"88",X"1F",X"8F",X"11",X"88",X"BF",X"FF",X"11",X"88",X"FF",X"FF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"FF",X"00",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"CF",X"11",X"88",X"DF",X"AF",X"11",
|
||||
X"88",X"DF",X"AF",X"11",X"88",X"DF",X"AF",X"11",X"88",X"3F",X"FF",X"11",X"88",X"FF",X"FF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"FF",X"FF",X"00",X"88",X"FF",X"FF",X"11",X"88",X"3F",X"DF",X"11",X"88",X"DF",X"AF",X"11",
|
||||
X"88",X"DF",X"AF",X"11",X"88",X"DF",X"AF",X"11",X"88",X"3F",X"DF",X"11",X"88",X"FF",X"FF",X"11",
|
||||
X"88",X"3F",X"CF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"DF",X"BF",X"11",X"88",X"3F",X"CF",X"11",
|
||||
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"F0",X"F0",X"00",
|
||||
X"80",X"F0",X"F0",X"10",X"80",X"F0",X"F0",X"10",X"C0",X"F0",X"F0",X"30",X"C0",X"F0",X"F0",X"30",
|
||||
X"C0",X"F0",X"F0",X"30",X"C0",X"F0",X"F0",X"30",X"80",X"F0",X"F0",X"10",X"80",X"F0",X"F0",X"10",
|
||||
X"00",X"F0",X"F0",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"CC",X"33",X"00",X"00",X"6E",X"67",X"00",X"00",X"3F",X"CF",X"00",X"00",X"1F",X"8F",X"00",X"00",
|
||||
X"1F",X"8F",X"00",X"00",X"3F",X"CF",X"00",X"00",X"6E",X"67",X"00",X"00",X"CC",X"33",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"82",X"13",X"6D",X"10",X"86",X"DB",X"6D",X"32",
|
||||
X"82",X"DB",X"6D",X"32",X"82",X"DB",X"6D",X"32",X"82",X"DB",X"2D",X"32",X"80",X"DB",X"0F",X"32",
|
||||
X"82",X"DB",X"09",X"32",X"86",X"DB",X"09",X"32",X"82",X"DB",X"0F",X"32",X"02",X"9B",X"6D",X"32",
|
||||
X"02",X"88",X"6D",X"10",X"00",X"00",X"6D",X"00",X"00",X"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"8A",X"21",X"B6",X"11",X"8E",X"6D",X"B6",X"13",
|
||||
X"8A",X"6D",X"B6",X"13",X"8A",X"6D",X"3E",X"13",X"8A",X"6D",X"3E",X"13",X"88",X"6D",X"E1",X"13",
|
||||
X"8A",X"6D",X"18",X"13",X"8E",X"6D",X"18",X"13",X"8A",X"6D",X"96",X"13",X"02",X"29",X"B6",X"13",
|
||||
X"02",X"08",X"B6",X"11",X"00",X"00",X"B6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"0A",X"23",X"DB",X"01",X"0E",X"B6",X"DB",X"21",
|
||||
X"0A",X"B6",X"DB",X"21",X"0A",X"B6",X"5B",X"21",X"0A",X"B6",X"1F",X"21",X"08",X"B6",X"1F",X"21",
|
||||
X"0A",X"B6",X"19",X"21",X"0E",X"B6",X"19",X"21",X"0A",X"B6",X"9F",X"21",X"02",X"B2",X"DB",X"21",
|
||||
X"02",X"80",X"DB",X"01",X"00",X"00",X"DB",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"FF",X"FF",X"00",X"C0",X"F0",X"F0",X"10",
|
||||
X"0C",X"0F",X"0F",X"03",X"CC",X"3F",X"8C",X"33",X"C0",X"78",X"84",X"30",X"0C",X"0F",X"0F",X"03",
|
||||
X"88",X"FF",X"FF",X"11",X"80",X"F0",X"70",X"00",X"0C",X"0F",X"0F",X"00",X"EE",X"FF",X"FF",X"00",
|
||||
X"C0",X"F0",X"70",X"00",X"08",X"00",X"02",X"00",X"0C",X"07",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"08",X"0F",X"0F",X"00",X"CC",X"FF",X"FF",X"11",
|
||||
X"C0",X"1E",X"C3",X"30",X"0C",X"0F",X"0C",X"03",X"CC",X"7F",X"8C",X"33",X"C0",X"F0",X"F0",X"30",
|
||||
X"08",X"0F",X"0F",X"01",X"88",X"FF",X"77",X"00",X"C0",X"F0",X"F0",X"00",X"0E",X"0F",X"0F",X"00",
|
||||
X"CC",X"FF",X"77",X"00",X"08",X"00",X"02",X"00",X"0C",X"07",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"80",X"F0",X"F0",X"00",X"0C",X"0F",X"0F",X"01",
|
||||
X"CC",X"1F",X"CF",X"33",X"C0",X"3C",X"84",X"30",X"0C",X"0F",X"0C",X"03",X"CC",X"FF",X"FF",X"33",
|
||||
X"80",X"F0",X"F0",X"10",X"08",X"0F",X"07",X"00",X"CC",X"FF",X"FF",X"00",X"E0",X"F0",X"F0",X"00",
|
||||
X"0C",X"0F",X"07",X"00",X"08",X"00",X"02",X"00",X"0C",X"07",X"0F",X"01",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;
|
||||
24
Arcade_MiST/Universal MrDo/rtl/rom/spr_col_lut_prom.vhd
Normal file
24
Arcade_MiST/Universal MrDo/rtl/rom/spr_col_lut_prom.vhd
Normal file
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity spr_col_lut_prom 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 spr_col_lut_prom is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"97",X"71",X"F9",X"00",X"27",X"A5",X"13",X"00",X"32",X"77",X"3F",X"00",X"A7",X"72",X"F9",
|
||||
X"00",X"1F",X"9A",X"77",X"00",X"15",X"27",X"38",X"00",X"C2",X"55",X"69",X"00",X"7F",X"76",X"7A");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
24
Arcade_MiST/Universal MrDo/rtl/rom/timing_prom.vhd
Normal file
24
Arcade_MiST/Universal MrDo/rtl/rom/timing_prom.vhd
Normal file
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity timing_prom 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 timing_prom is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"06",X"06",X"0D",X"0D",X"13",X"13",X"1F",X"1F",X"07",X"07",X"87",X"27",X"27",X"27",X"A7",X"47",
|
||||
X"47",X"47",X"C7",X"67",X"67",X"67",X"E7",X"67",X"67",X"67",X"67",X"07",X"07",X"07",X"07",X"07");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
242
Arcade_MiST/Universal MrDo/rtl/sdram.sv
Normal file
242
Arcade_MiST/Universal MrDo/rtl/sdram.sv
Normal file
@@ -0,0 +1,242 @@
|
||||
//
|
||||
// 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 [17:1] cpu1_addr,
|
||||
output reg [15:0] cpu1_q
|
||||
);
|
||||
|
||||
parameter MHZ = 80; // 80 MHz default clock, adjust to calculate the refresh rate correctly
|
||||
|
||||
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 -> 842 cycles@108MHz
|
||||
localparam RFRSH_CYCLES = 16'd78*MHZ/10;
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// ------------------------ cycle state machine ------------------------
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
SDRAM state machine
|
||||
1 word burst, CL2
|
||||
cmd issued registered
|
||||
0 RAS0 data ready
|
||||
1
|
||||
2 CAS0
|
||||
3
|
||||
4
|
||||
5 DATA0
|
||||
*/
|
||||
|
||||
localparam STATE_RAS0 = 3'd0; // first state in cycle
|
||||
localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY; // CAS phase - 2
|
||||
localparam STATE_READ0 = 3'd0; //STATE_CAS0 + CAS_LATENCY + 2'd2; // 6
|
||||
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;
|
||||
reg [24:1] addr_latch_next;
|
||||
reg [17:1] addr_last;
|
||||
reg [15:0] din_latch;
|
||||
reg oe_latch;
|
||||
reg we_latch;
|
||||
reg [1:0] ds;
|
||||
|
||||
localparam PORT_NONE = 2'd0;
|
||||
localparam PORT_CPU1 = 2'd1;
|
||||
localparam PORT_REQ = 2'd2;
|
||||
|
||||
reg [2:0] next_port;
|
||||
reg [2:0] port;
|
||||
reg port1_state;
|
||||
|
||||
// PORT1
|
||||
always @(*) begin
|
||||
if (port1_req ^ port1_state) begin
|
||||
next_port = PORT_REQ;
|
||||
addr_latch_next = { 1'b0, port1_a };
|
||||
end else if (cpu1_addr != addr_last) begin
|
||||
next_port = PORT_CPU1;
|
||||
addr_latch_next = { 7'd0, cpu1_addr };
|
||||
end else begin
|
||||
next_port = PORT_NONE;
|
||||
addr_latch_next = addr_latch;
|
||||
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
|
||||
|
||||
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
|
||||
if(t == STATE_RAS0) begin
|
||||
addr_latch <= addr_latch_next;
|
||||
port <= next_port;
|
||||
{ oe_latch, we_latch } <= 2'b00;
|
||||
|
||||
if (next_port != PORT_NONE) begin
|
||||
sd_cmd <= CMD_ACTIVE;
|
||||
SDRAM_A <= addr_latch_next[22:10];
|
||||
SDRAM_BA <= addr_latch_next[24:23];
|
||||
if (next_port == PORT_REQ) begin
|
||||
{ oe_latch, we_latch } <= { ~port1_we, port1_we };
|
||||
ds <= port1_ds;
|
||||
din_latch <= port1_d;
|
||||
port1_state <= port1_req;
|
||||
end else begin
|
||||
{ oe_latch, we_latch } <= 2'b10;
|
||||
ds <= 2'b11;
|
||||
addr_last <= cpu1_addr;
|
||||
end
|
||||
end else begin
|
||||
sd_cmd <= CMD_AUTO_REFRESH;
|
||||
end
|
||||
end
|
||||
|
||||
// CAS phase
|
||||
if(t == STATE_CAS0 && (we_latch || oe_latch)) begin
|
||||
sd_cmd <= we_latch?CMD_WRITE:CMD_READ;
|
||||
{ SDRAM_DQMH, SDRAM_DQML } <= ~ds;
|
||||
if (we_latch) begin
|
||||
SDRAM_DQ <= din_latch;
|
||||
port1_ack <= port1_req;
|
||||
end
|
||||
SDRAM_A <= { 4'b0010, addr_latch[9:1] }; // auto precharge
|
||||
SDRAM_BA <= addr_latch[24:23];
|
||||
end
|
||||
|
||||
// Data returned
|
||||
if(t == STATE_READ0 && oe_latch) begin
|
||||
case(port)
|
||||
PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end
|
||||
PORT_CPU1: begin cpu1_q <= sd_din; end
|
||||
default: ;
|
||||
endcase;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
83
Arcade_MiST/Universal MrDo/rtl/video_timing.v
Normal file
83
Arcade_MiST/Universal MrDo/rtl/video_timing.v
Normal file
@@ -0,0 +1,83 @@
|
||||
|
||||
module video_timing (
|
||||
input clk_pix, // pixel clock
|
||||
input reset, // reset
|
||||
|
||||
output reg [7:0]v, // { vd_, vc_, vb_, va_, vd, vc, vb, va } _ == backtick
|
||||
output reg [7:0]h, // { hd_, hc_, hb_, ha_, hd, hc, hb, ha } _ == backtick
|
||||
|
||||
output reg hbl,
|
||||
// output reg hx,
|
||||
output reg hff,
|
||||
output reg vbl,
|
||||
|
||||
output reg hsync, // horizontal sync
|
||||
output reg vsync, // vertical sync
|
||||
output reg de // data enable (low in blanking interval)
|
||||
);
|
||||
|
||||
// sync is enable low
|
||||
// screen.set_raw(VIDEO_CLOCK/4, 312, 8, 248, 262, 32, 224);
|
||||
|
||||
// horizontal timings
|
||||
parameter HBLANK_START = 256;
|
||||
parameter HSYNC_START = 264;
|
||||
parameter HSYNC_END = 304;
|
||||
parameter HBLANK_END = 8;
|
||||
parameter H_TOTAL = 312;
|
||||
|
||||
// vertical timings
|
||||
parameter VBLANK_START = 224;
|
||||
parameter VSYNC_START = 256;
|
||||
parameter VSYNC_END = 258;
|
||||
parameter VBLANK_END = 32;
|
||||
parameter V_TOTAL = 262;
|
||||
|
||||
reg [9:0] sx;
|
||||
reg [9:0] sy;
|
||||
|
||||
always @ (posedge clk_pix) begin
|
||||
hsync <= ~(sx >= HSYNC_START && sx < HSYNC_END); // invert: negative polarity
|
||||
vsync <= ~(sy >= VSYNC_START && sy < VSYNC_END); // invert: negative polarity
|
||||
|
||||
de <= 1;//( sy < VERT_ACTIVE_END && sx < HORZ_ACTIVE_END ) ;
|
||||
// adjust de for 1 pixel latency. character data is not displayed until on pix_clk after begin read
|
||||
end
|
||||
|
||||
always @ (posedge clk_pix) begin
|
||||
if (reset) begin
|
||||
sx <= 0;
|
||||
sy <= 0;
|
||||
hbl <= 1;
|
||||
vbl <= 0;
|
||||
end else begin
|
||||
if ( sx < H_TOTAL ) begin
|
||||
sx <= sx + 1;
|
||||
end else begin
|
||||
sx <= 0;
|
||||
if ( sy < V_TOTAL ) begin
|
||||
sy <= sy + 1;
|
||||
end else begin
|
||||
sy <= 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
case ( sx )
|
||||
HBLANK_START-1: hff <= 1;
|
||||
HBLANK_START: hbl <= 1;
|
||||
HBLANK_END-1: hff <= 0;
|
||||
HBLANK_END: hbl <= 0;
|
||||
endcase
|
||||
|
||||
case ( sy )
|
||||
VBLANK_START: vbl <= 1;
|
||||
VBLANK_END: vbl <= 0;
|
||||
endcase
|
||||
|
||||
h <= sx[7:0];
|
||||
v <= sy[7:0];
|
||||
|
||||
end
|
||||
|
||||
endmodule
|
||||
@@ -118,6 +118,7 @@ entity T80 is
|
||||
TS : out std_logic_vector(2 downto 0);
|
||||
IntCycle_n : out std_logic;
|
||||
IntE : out std_logic;
|
||||
RETI_n : out std_logic;
|
||||
Stop : out std_logic;
|
||||
R800_mode : in std_logic := '0';
|
||||
out0 : in std_logic := '0'; -- 0 => OUT(C),0, 1 => OUT(C),255
|
||||
@@ -424,8 +425,11 @@ begin
|
||||
PreserveC_r <= '0';
|
||||
XY_Ind <= '0';
|
||||
I_RXDD <= '0';
|
||||
RETI_n <= '1';
|
||||
|
||||
elsif rising_edge(CLK_n) then
|
||||
|
||||
RETI_n <= not I_RETN;
|
||||
|
||||
if DIRSet = '1' then
|
||||
ACC <= DIR( 7 downto 0);
|
||||
|
||||
@@ -104,6 +104,7 @@ package T80_Pack is
|
||||
TS : out std_logic_vector(2 downto 0);
|
||||
IntCycle_n : out std_logic;
|
||||
IntE : out std_logic;
|
||||
RETI_n : out std_logic;
|
||||
Stop : out std_logic;
|
||||
R800_mode : in std_logic := '0';
|
||||
out0 : in std_logic := '0'; -- 0 => OUT(C),0, 1 => OUT(C),255
|
||||
|
||||
@@ -96,7 +96,9 @@ entity T80se is
|
||||
BUSAK_n : out std_logic;
|
||||
A : out std_logic_vector(15 downto 0);
|
||||
DI : in std_logic_vector(7 downto 0);
|
||||
DO : out std_logic_vector(7 downto 0)
|
||||
DO : out std_logic_vector(7 downto 0);
|
||||
IntE : out std_logic;
|
||||
RETI_n : out std_logic
|
||||
);
|
||||
end T80se;
|
||||
|
||||
@@ -137,7 +139,9 @@ begin
|
||||
DO => DO,
|
||||
MC => MCycle,
|
||||
TS => TState,
|
||||
IntCycle_n => IntCycle_n);
|
||||
IntCycle_n => IntCycle_n,
|
||||
IntE => IntE,
|
||||
RETI_n => RETI_n);
|
||||
|
||||
process (RESET_n, CLK_n)
|
||||
begin
|
||||
|
||||
36
common/mist/mist_audio.v
Normal file
36
common/mist/mist_audio.v
Normal file
@@ -0,0 +1,36 @@
|
||||
module mist_audio
|
||||
(
|
||||
input clk,
|
||||
input reset_n,
|
||||
input [BITS-1:0] audio_inL,
|
||||
input [BITS-1:0] audio_inR,
|
||||
output AUDIO_L,
|
||||
output AUDIO_R
|
||||
);
|
||||
|
||||
parameter BITS = 16;
|
||||
parameter STEREO = 0;
|
||||
parameter SIGNED = 0;
|
||||
|
||||
wire [BITS-1:0] aud_left = ~SIGNED ? audio_inL : {~audio_inL[BITS-1],audio_inL[BITS-2:0]};
|
||||
wire [BITS-1:0] aud_right = ~STEREO ? ~SIGNED ? audio_inR : {~audio_inR[BITS-1],audio_inR[BITS-2:0]} : aud_left;
|
||||
|
||||
dac #(
|
||||
.C_bits(BITS))
|
||||
dacl(
|
||||
.clk_i(clk),
|
||||
.res_n_i(reset_n),
|
||||
.dac_i(aud_left),
|
||||
.dac_o(AUDIO_L)
|
||||
);
|
||||
|
||||
dac #(
|
||||
.C_bits(BITS))
|
||||
dacr(
|
||||
.clk_i(clk),
|
||||
.res_n_i(reset_n),
|
||||
.dac_i(aud_right),
|
||||
.dac_o(AUDIO_R)
|
||||
);
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user