mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-05-12 10:21:15 +00:00
add DigDug Project Files
This commit is contained in:
31
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.qpf
Normal file
31
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.qpf
Normal file
@@ -0,0 +1,31 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 2017 Intel Corporation. All rights reserved.
|
||||
# Your use of Intel 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 Intel Program License
|
||||
# Subscription Agreement, the Intel Quartus Prime License Agreement,
|
||||
# the Intel 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 Intel and sold by Intel or its
|
||||
# authorized distributors. Please refer to the applicable
|
||||
# agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus Prime
|
||||
# Version 17.0.1 Build 598 06/07/2017 SJ Standard Edition
|
||||
# Date created = 04:04:47 October 16, 2017
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
QUARTUS_VERSION = "17.0"
|
||||
DATE = "04:04:47 October 16, 2017"
|
||||
|
||||
# Revisions
|
||||
|
||||
PROJECT_REVISION = "DigDug_MiST"
|
||||
232
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.qsf
Normal file
232
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.qsf
Normal file
@@ -0,0 +1,232 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2014 Altera Corporation
|
||||
# Your use of Altera Corporation's design tools, logic functions
|
||||
# and other software and tools, and its AMPP partner logic
|
||||
# functions, and any output files from any of the foregoing
|
||||
# (including device programming or simulation files), and any
|
||||
# associated documentation or information are expressly subject
|
||||
# to the terms and conditions of the Altera Program License
|
||||
# Subscription Agreement, Altera MegaCore Function License
|
||||
# Agreement, or other applicable license agreement, including,
|
||||
# without limitation, that your use is for the sole purpose of
|
||||
# programming logic devices manufactured by Altera and sold by
|
||||
# Altera or its authorized distributors. Please refer to the
|
||||
# applicable agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 64-Bit
|
||||
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
|
||||
# Date created = 13:43:38 September 23, 2019
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1) The default values for assignments are stored in the file:
|
||||
# DigDug_MiST_assignment_defaults.qdf
|
||||
# If this file doesn't exist, see file:
|
||||
# assignment_defaults.qdf
|
||||
#
|
||||
# 2) Altera recommends that you do not modify this file. This
|
||||
# file is updated automatically by the Quartus II software
|
||||
# and any changes you make may be lost or overwritten.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
|
||||
|
||||
# Project-Wide Assignments
|
||||
# ========================
|
||||
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 16.1.2
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "01:53:30 APRIL 20, 2017"
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
|
||||
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl"
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/DigDug.sv
|
||||
set_global_assignment -name VERILOG_FILE rtl/FPGA_DIGDUG.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/DIGDUG_CORES.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/cpucore.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/DIGDUG_CUSIO.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/DIGDUG_IODEV.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/DIGDUG_SPRITE.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/DIGDUG_VIDEO.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/hvgen.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/dprams.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/wsg.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/LINEBUF.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/pll.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/TV80/tv80s.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/TV80/tv80_reg.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/TV80/tv80_mcode.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/TV80/tv80_core.v
|
||||
set_global_assignment -name VERILOG_FILE rtl/TV80/tv80_alu.v
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/wave_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/spclut_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/spchip_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/palette_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/fgchip_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/cpu2_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/cpu1_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/cpu0_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/bgscrn_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/bgclut_rom.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/roms/bgchip_rom.vhd
|
||||
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../../common/mist/sdram.sv
|
||||
|
||||
# Pin & Location Assignments
|
||||
# ==========================
|
||||
set_location_assignment PIN_7 -to LED
|
||||
set_location_assignment PIN_54 -to CLOCK_27
|
||||
set_location_assignment PIN_144 -to VGA_R[5]
|
||||
set_location_assignment PIN_143 -to VGA_R[4]
|
||||
set_location_assignment PIN_142 -to VGA_R[3]
|
||||
set_location_assignment PIN_141 -to VGA_R[2]
|
||||
set_location_assignment PIN_137 -to VGA_R[1]
|
||||
set_location_assignment PIN_135 -to VGA_R[0]
|
||||
set_location_assignment PIN_133 -to VGA_B[5]
|
||||
set_location_assignment PIN_132 -to VGA_B[4]
|
||||
set_location_assignment PIN_125 -to VGA_B[3]
|
||||
set_location_assignment PIN_121 -to VGA_B[2]
|
||||
set_location_assignment PIN_120 -to VGA_B[1]
|
||||
set_location_assignment PIN_115 -to VGA_B[0]
|
||||
set_location_assignment PIN_114 -to VGA_G[5]
|
||||
set_location_assignment PIN_113 -to VGA_G[4]
|
||||
set_location_assignment PIN_112 -to VGA_G[3]
|
||||
set_location_assignment PIN_111 -to VGA_G[2]
|
||||
set_location_assignment PIN_110 -to VGA_G[1]
|
||||
set_location_assignment PIN_106 -to VGA_G[0]
|
||||
set_location_assignment PIN_136 -to VGA_VS
|
||||
set_location_assignment PIN_119 -to VGA_HS
|
||||
set_location_assignment PIN_65 -to AUDIO_L
|
||||
set_location_assignment PIN_80 -to AUDIO_R
|
||||
set_location_assignment PIN_105 -to SPI_DO
|
||||
set_location_assignment PIN_88 -to SPI_DI
|
||||
set_location_assignment PIN_126 -to SPI_SCK
|
||||
set_location_assignment PIN_127 -to SPI_SS2
|
||||
set_location_assignment PIN_91 -to SPI_SS3
|
||||
set_location_assignment PIN_13 -to CONF_DATA0
|
||||
set_location_assignment PIN_49 -to SDRAM_A[0]
|
||||
set_location_assignment PIN_44 -to SDRAM_A[1]
|
||||
set_location_assignment PIN_42 -to SDRAM_A[2]
|
||||
set_location_assignment PIN_39 -to SDRAM_A[3]
|
||||
set_location_assignment PIN_4 -to SDRAM_A[4]
|
||||
set_location_assignment PIN_6 -to SDRAM_A[5]
|
||||
set_location_assignment PIN_8 -to SDRAM_A[6]
|
||||
set_location_assignment PIN_10 -to SDRAM_A[7]
|
||||
set_location_assignment PIN_11 -to SDRAM_A[8]
|
||||
set_location_assignment PIN_28 -to SDRAM_A[9]
|
||||
set_location_assignment PIN_50 -to SDRAM_A[10]
|
||||
set_location_assignment PIN_30 -to SDRAM_A[11]
|
||||
set_location_assignment PIN_32 -to SDRAM_A[12]
|
||||
set_location_assignment PIN_83 -to SDRAM_DQ[0]
|
||||
set_location_assignment PIN_79 -to SDRAM_DQ[1]
|
||||
set_location_assignment PIN_77 -to SDRAM_DQ[2]
|
||||
set_location_assignment PIN_76 -to SDRAM_DQ[3]
|
||||
set_location_assignment PIN_72 -to SDRAM_DQ[4]
|
||||
set_location_assignment PIN_71 -to SDRAM_DQ[5]
|
||||
set_location_assignment PIN_69 -to SDRAM_DQ[6]
|
||||
set_location_assignment PIN_68 -to SDRAM_DQ[7]
|
||||
set_location_assignment PIN_86 -to SDRAM_DQ[8]
|
||||
set_location_assignment PIN_87 -to SDRAM_DQ[9]
|
||||
set_location_assignment PIN_98 -to SDRAM_DQ[10]
|
||||
set_location_assignment PIN_99 -to SDRAM_DQ[11]
|
||||
set_location_assignment PIN_100 -to SDRAM_DQ[12]
|
||||
set_location_assignment PIN_101 -to SDRAM_DQ[13]
|
||||
set_location_assignment PIN_103 -to SDRAM_DQ[14]
|
||||
set_location_assignment PIN_104 -to SDRAM_DQ[15]
|
||||
set_location_assignment PIN_58 -to SDRAM_BA[0]
|
||||
set_location_assignment PIN_51 -to SDRAM_BA[1]
|
||||
set_location_assignment PIN_85 -to SDRAM_DQMH
|
||||
set_location_assignment PIN_67 -to SDRAM_DQML
|
||||
set_location_assignment PIN_60 -to SDRAM_nRAS
|
||||
set_location_assignment PIN_64 -to SDRAM_nCAS
|
||||
set_location_assignment PIN_66 -to SDRAM_nWE
|
||||
set_location_assignment PIN_59 -to SDRAM_nCS
|
||||
set_location_assignment PIN_33 -to SDRAM_CKE
|
||||
set_location_assignment PIN_43 -to SDRAM_CLK
|
||||
set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component"
|
||||
|
||||
# Classic Timing Assignments
|
||||
# ==========================
|
||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
|
||||
|
||||
# Analysis & Synthesis Assignments
|
||||
# ================================
|
||||
set_global_assignment -name FAMILY "Cyclone III"
|
||||
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144
|
||||
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8
|
||||
set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP
|
||||
set_global_assignment -name VERILOG_INPUT_VERSION VERILOG_2001
|
||||
set_global_assignment -name VERILOG_SHOW_LMF_MAPPING_MESSAGES OFF
|
||||
set_global_assignment -name TOP_LEVEL_ENTITY DigDug
|
||||
|
||||
# Fitter Assignments
|
||||
# ==================
|
||||
set_global_assignment -name DEVICE EP3C25E144C8
|
||||
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
|
||||
set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
|
||||
set_global_assignment -name ENABLE_NCE_PIN OFF
|
||||
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
|
||||
set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL"
|
||||
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
|
||||
set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON
|
||||
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO"
|
||||
|
||||
# EDA Netlist Writer Assignments
|
||||
# ==============================
|
||||
set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
|
||||
|
||||
# Assembler Assignments
|
||||
# =====================
|
||||
set_global_assignment -name GENERATE_RBF_FILE ON
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
|
||||
# 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 EDA_TOOL_SETTINGS(eda_simulation)
|
||||
# ---------------------------------------
|
||||
|
||||
# EDA Netlist Writer Assignments
|
||||
# ==============================
|
||||
set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation
|
||||
|
||||
# end EDA_TOOL_SETTINGS(eda_simulation)
|
||||
# -------------------------------------
|
||||
|
||||
# --------------------
|
||||
# start ENTITY(DigDug)
|
||||
|
||||
# start DESIGN_PARTITION(Top)
|
||||
# ---------------------------
|
||||
|
||||
# Incremental Compilation Assignments
|
||||
# ===================================
|
||||
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
|
||||
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
|
||||
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
||||
|
||||
# end DESIGN_PARTITION(Top)
|
||||
# -------------------------
|
||||
|
||||
# end ENTITY(DigDug)
|
||||
# ------------------
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
12
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.srf
Normal file
12
Arcade_MiST/Galaga Hardware/DigDug_MiST/DigDug_MiST.srf
Normal file
@@ -0,0 +1,12 @@
|
||||
{ "" "" "" "Verilog HDL Declaration warning at tv80s.v(55): \"do\" is SystemVerilog-2005 keyword" { } { } 0 10463 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "Unrecognized synthesis attribute \"dc_script_begin\" at rtl/TV80/tv80_reg.v(67)" { } { } 0 10335 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "Net \"R\" at tv80_core.v(97) has no driver or initial value, using a default initial value '0'" { } { } 0 10030 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "Verilog HDL warning at tv80_core.v(97): object R used but never assigned" { } { } 0 10858 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10335 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10463 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10230 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 276027 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10268 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10036 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10273 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
{ "" "" "" "*" { } { } 0 10270 "" 0 0 "Quartus II" 0 -1 0 ""}
|
||||
37
Arcade_MiST/Galaga Hardware/DigDug_MiST/clean.bat
Normal file
37
Arcade_MiST/Galaga Hardware/DigDug_MiST/clean.bat
Normal file
@@ -0,0 +1,37 @@
|
||||
@echo off
|
||||
del /s *.bak
|
||||
del /s *.orig
|
||||
del /s *.rej
|
||||
del /s *~
|
||||
rmdir /s /q db
|
||||
rmdir /s /q incremental_db
|
||||
rmdir /s /q output_files
|
||||
rmdir /s /q simulation
|
||||
rmdir /s /q greybox_tmp
|
||||
rmdir /s /q hc_output
|
||||
rmdir /s /q .qsys_edit
|
||||
rmdir /s /q hps_isw_handoff
|
||||
rmdir /s /q sys\.qsys_edit
|
||||
rmdir /s /q sys\vip
|
||||
cd sys
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
cd ..
|
||||
for /d %%i in (*_sim) do rmdir /s /q "%%~nxi"
|
||||
del build_id.v
|
||||
del c5_pin_model_dump.txt
|
||||
del PLLJ_PLLSPE_INFO.txt
|
||||
del /s *.qws
|
||||
del /s *.ppf
|
||||
del /s *.ddb
|
||||
del /s *.csv
|
||||
del /s *.cmp
|
||||
del /s *.sip
|
||||
del /s *.spd
|
||||
del /s *.bsf
|
||||
del /s *.f
|
||||
del /s *.sopcinfo
|
||||
del /s *.xml
|
||||
del /s new_rtl_netlist
|
||||
del /s old_rtl_netlist
|
||||
|
||||
pause
|
||||
58
Arcade_MiST/Galaga Hardware/DigDug_MiST/readme.txt
Normal file
58
Arcade_MiST/Galaga Hardware/DigDug_MiST/readme.txt
Normal file
@@ -0,0 +1,58 @@
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- Arcade: DigDug port to MiSTer by MiSTer-X
|
||||
-- 21 September 2019
|
||||
--
|
||||
---------------------------------------------------------------------------------
|
||||
-- FPGA DigDug for XILINX Spartan-6
|
||||
------------------------------------------------
|
||||
-- Copyright (c) 2017 MiSTer-X
|
||||
---------------------------------------------------------------------------------
|
||||
-- T80/T80s - Version : 0242
|
||||
-----------------------------
|
||||
-- TV80 8-Bit Microprocessor Core
|
||||
-- Based on the VHDL T80 core by Daniel Wallner (jesus@opencores.org)
|
||||
--
|
||||
-- Copyright (c) 2004 Guy Hutchison (ghutchis@opencores.org)
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
--
|
||||
-- Keyboard inputs :
|
||||
--
|
||||
-- F2 : Coin + Start 2 players
|
||||
-- F1 : Coin + Start 1 player
|
||||
-- UP,DOWN,LEFT,RIGHT arrows : Movements
|
||||
-- SPACE,CTRL : Pump
|
||||
--
|
||||
--
|
||||
-- Joystick support.
|
||||
--
|
||||
--
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
*** Attention ***
|
||||
|
||||
ROM is not included. In order to use this arcade, you need to provide a correct ROM file.
|
||||
|
||||
Find this zip file somewhere. You need to find the file exactly as required.
|
||||
Do not rename other zip files even if they also represent the same game - they are not compatible!
|
||||
The name of zip is taken from M.A.M.E. project, so you can get more info about
|
||||
hashes and contained files there.
|
||||
|
||||
To generate the ROM using Windows:
|
||||
1) Copy the zip into "releases" directory
|
||||
2) Execute bat file - it will show the name of zip file containing required files.
|
||||
3) Put required zip into the same directory and execute the bat again.
|
||||
4) If everything will go without errors or warnings, then you will get the a.*.rom file.
|
||||
5) Copy generated a.*.rom into root of SD card along with the Arcade-*.rbf file
|
||||
|
||||
To generate the ROM using Linux/MacOS:
|
||||
1) Copy the zip into "releases" directory
|
||||
2) Execute build_rom.sh
|
||||
3) Copy generated a.*.rom into root of SD card along with the Arcade-*.rbf file
|
||||
|
||||
To generate the ROM using MiSTer:
|
||||
1) scp "releases" directory along with the zip file onto MiSTer:/media/fat/
|
||||
2) Using OSD execute build_rom.sh
|
||||
3) Copy generated a.*.rom into root of SD card along with the Arcade-*.rbf file
|
||||
|
||||
205
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_CORES.v
Normal file
205
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_CORES.v
Normal file
@@ -0,0 +1,205 @@
|
||||
//--------------------------------------------
|
||||
// FPGA DigDug (CPU part)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module DIGDUG_CORES
|
||||
(
|
||||
input MCLK, // Clock (48.0MHz)
|
||||
input [2:0] RSTS, // RESET [2:0]
|
||||
input [2:0] IRQS, // IRQ [2:0]
|
||||
input [2:0] NMIS, // NMI [2:0]
|
||||
|
||||
output DEV_CL, // I/O device Interface
|
||||
output [15:0] DEV_AD,
|
||||
output DEV_RD,
|
||||
input DEV_DV,
|
||||
input [7:0] DEV_DO,
|
||||
output DEV_WR,
|
||||
output [7:0] DEV_DI
|
||||
);
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPU0
|
||||
//-----------------------------------------------
|
||||
wire CPU0CL;
|
||||
wire [15:0] CPU0AD;
|
||||
wire CPU0RD;
|
||||
wire CPU0DV;
|
||||
wire [7:0] CPU0DI;
|
||||
wire CPU0WR;
|
||||
wire [7:0] CPU0DO;
|
||||
|
||||
wire [7:0] CPU0IR;
|
||||
//DLROM #(14,8) rom0( DEV_CL, CPU0AD[13:0], CPU0IR, ROMCL,ROMAD[13:0],ROMDT,ROMEN & (ROMAD[15:14]==2'b00) );
|
||||
cpu0_rom rom0(
|
||||
.clk(DEV_CL),
|
||||
.addr(CPU0AD[13:0]),
|
||||
.data(CPU0IR)
|
||||
);
|
||||
|
||||
wire NMI0;
|
||||
CPUNMIACK n0( RSTS[0], CPU0CL, CPU0AD, NMIS[0], NMI0 );
|
||||
|
||||
CPUCORE cpu0 (
|
||||
.RESET(RSTS[0]),.CLK(CPU0CL),
|
||||
.IRQ(IRQS[0]),.NMI(NMI0),
|
||||
.AD(CPU0AD),.IR(CPU0IR),
|
||||
.RD(CPU0RD),.DV(CPU0DV),.DI(CPU0DI),
|
||||
.WR(CPU0WR),.DO(CPU0DO)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPU1
|
||||
//-----------------------------------------------
|
||||
wire CPU1CL;
|
||||
wire [15:0] CPU1AD;
|
||||
wire CPU1RD;
|
||||
wire CPU1DV;
|
||||
wire [7:0] CPU1DI;
|
||||
wire CPU1WR;
|
||||
wire [7:0] CPU1DO;
|
||||
|
||||
wire [7:0] CPU1IR;
|
||||
//DLROM #(13,8) rom1( DEV_CL, CPU1AD[12:0], CPU1IR, ROMCL,ROMAD[12:0],ROMDT,ROMEN & (ROMAD[15:13]==3'b100) );
|
||||
cpu1_rom rom1(
|
||||
.clk(DEV_CL),
|
||||
.addr(CPU0AD[12:0]),
|
||||
.data(CPU1IR)
|
||||
);
|
||||
|
||||
CPUCORE cpu1 (
|
||||
.RESET(RSTS[1]),.CLK(CPU1CL),
|
||||
.IRQ(IRQS[1]),.NMI(NMIS[1]),
|
||||
.AD(CPU1AD),.IR(CPU1IR),
|
||||
.RD(CPU1RD),.DV(CPU1DV),.DI(CPU1DI),
|
||||
.WR(CPU1WR),.DO(CPU1DO)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPU2
|
||||
//-----------------------------------------------
|
||||
wire CPU2CL;
|
||||
wire [15:0] CPU2AD;
|
||||
wire CPU2RD;
|
||||
wire CPU2DV;
|
||||
wire [7:0] CPU2DI;
|
||||
wire CPU2WR;
|
||||
wire [7:0] CPU2DO;
|
||||
|
||||
wire [7:0] CPU2IR;
|
||||
//DLROM #(12,8) rom2( DEV_CL, CPU2AD[11:0], CPU2IR, ROMCL,ROMAD[11:0],ROMDT,ROMEN & (ROMAD[15:12]==4'hA) );
|
||||
cpu2_rom rom2(
|
||||
.clk(DEV_CL),
|
||||
.addr(CPU0AD[11:0]),
|
||||
.data(CPU2IR)
|
||||
);
|
||||
|
||||
wire NMI2;
|
||||
CPUNMIACK n2( RSTS[2], CPU2CL, CPU2AD, NMIS[2], NMI2 );
|
||||
|
||||
CPUCORE cpu2 (
|
||||
.RESET(RSTS[2]),.CLK(CPU2CL),
|
||||
.IRQ(IRQS[2]),.NMI(NMI2),
|
||||
.AD(CPU2AD),.IR(CPU2IR),
|
||||
.RD(CPU2RD),.DV(CPU2DV),.DI(CPU2DI),
|
||||
.WR(CPU2WR),.DO(CPU2DO)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPU Access Arbiter
|
||||
//-----------------------------------------------
|
||||
CPUARB arb
|
||||
(
|
||||
MCLK,
|
||||
DEV_CL, DEV_AD, DEV_RD, DEV_DV, DEV_DO, DEV_WR, DEV_DI,
|
||||
CPU0CL, CPU0AD, CPU0RD, CPU0DV, CPU0DI, CPU0WR, CPU0DO,
|
||||
CPU1CL, CPU1AD, CPU1RD, CPU1DV, CPU1DI, CPU1WR, CPU1DO,
|
||||
CPU2CL, CPU2AD, CPU2RD, CPU2DV, CPU2DI, CPU2WR, CPU2DO
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module CPUARB
|
||||
(
|
||||
input CLK48M,
|
||||
|
||||
output DEV_CL,
|
||||
output [15:0] DEV_AD,
|
||||
output DEV_RD,
|
||||
input DEV_DV,
|
||||
input [7:0] DEV_DO,
|
||||
output DEV_WR,
|
||||
output [7:0] DEV_DI,
|
||||
|
||||
output CPU0CL,
|
||||
input [15:0] CPU0AD,
|
||||
input CPU0RD,
|
||||
output CPU0DV,
|
||||
output [7:0] CPU0DI,
|
||||
input CPU0WR,
|
||||
input [7:0] CPU0DO,
|
||||
|
||||
output CPU1CL,
|
||||
input [15:0] CPU1AD,
|
||||
input CPU1RD,
|
||||
output CPU1DV,
|
||||
output [7:0] CPU1DI,
|
||||
input CPU1WR,
|
||||
input [7:0] CPU1DO,
|
||||
|
||||
output CPU2CL,
|
||||
input [15:0] CPU2AD,
|
||||
input CPU2RD,
|
||||
output CPU2DV,
|
||||
output [7:0] CPU2DI,
|
||||
input CPU2WR,
|
||||
input [7:0] CPU2DO
|
||||
);
|
||||
|
||||
reg [1:0] clkdiv;
|
||||
always @( posedge CLK48M ) clkdiv <= clkdiv+1;
|
||||
wire CLK24M = clkdiv[0];
|
||||
wire CLK12M = clkdiv[1];
|
||||
|
||||
reg [3:0] CLKS = 4'b1000;
|
||||
reg [3:0] BUSS = 4'b0001;
|
||||
always @( posedge CLK12M ) CLKS <= {CLKS[2:0],CLKS[3]};
|
||||
always @( negedge CLK12M ) BUSS <= {BUSS[2:0],BUSS[3]};
|
||||
|
||||
assign CPU0CL = CLKS[0];
|
||||
assign CPU1CL = CLKS[1];
|
||||
assign CPU2CL = CLKS[2];
|
||||
|
||||
assign DEV_CL = CLK24M;
|
||||
|
||||
assign DEV_AD = BUSS[0] ? CPU0AD :
|
||||
BUSS[1] ? CPU1AD :
|
||||
BUSS[2] ? CPU2AD : 0;
|
||||
|
||||
assign DEV_RD = BUSS[0] ? CPU0RD :
|
||||
BUSS[1] ? CPU1RD :
|
||||
BUSS[2] ? CPU2RD : 0;
|
||||
|
||||
assign CPU0DV = BUSS[0] ? DEV_DV : 0;
|
||||
assign CPU1DV = BUSS[1] ? DEV_DV : 0;
|
||||
assign CPU2DV = BUSS[2] ? DEV_DV : 0;
|
||||
|
||||
assign CPU0DI = BUSS[0] ? DEV_DO : 0;
|
||||
assign CPU1DI = BUSS[1] ? DEV_DO : 0;
|
||||
assign CPU2DI = BUSS[2] ? DEV_DO : 0;
|
||||
|
||||
assign DEV_WR = BUSS[0] ? CPU0WR :
|
||||
BUSS[1] ? CPU1WR :
|
||||
BUSS[2] ? CPU2WR : 0;
|
||||
|
||||
assign DEV_DI = BUSS[0] ? CPU0DO :
|
||||
BUSS[1] ? CPU1DO :
|
||||
BUSS[2] ? CPU2DO : 0;
|
||||
|
||||
endmodule
|
||||
|
||||
266
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_CUSIO.v
Normal file
266
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_CUSIO.v
Normal file
@@ -0,0 +1,266 @@
|
||||
//-----------------------------------------------
|
||||
// FPGA DigDug (Custom I/O chip emulation part)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//-----------------------------------------------
|
||||
module DIGDUG_CUSIO
|
||||
(
|
||||
input RESET,
|
||||
input VBLK,
|
||||
|
||||
input [7:0] INP0,
|
||||
input [7:0] INP1,
|
||||
input [7:0] DSW0,
|
||||
input [7:0] DSW1,
|
||||
|
||||
input CL,
|
||||
input CS,
|
||||
input WR,
|
||||
input [4:0] AD,
|
||||
input [7:0] DI,
|
||||
output [7:0] DO,
|
||||
output NMI0
|
||||
);
|
||||
|
||||
reg MODE;
|
||||
reg [7:0] COMMAND;
|
||||
|
||||
reg [3:0] r2, r3, r4, r5;
|
||||
reg [3:0] LCINPCRE, LCREPCIN, LCOINS;
|
||||
reg [3:0] RCINPCRE, RCREPCIN, RCOINS;
|
||||
reg CREDITAT;
|
||||
reg [7:0] CREDITS;
|
||||
|
||||
reg [11:0] CLK50uc;
|
||||
reg CLK50u;
|
||||
|
||||
always @( posedge CL ) begin
|
||||
if (RESET) begin
|
||||
CLK50u <= 0;
|
||||
CLK50uc <= 0;
|
||||
end
|
||||
else begin
|
||||
if ( CLK50uc == 2200 ) CLK50u <= 1'b1;
|
||||
if ( CLK50uc == 2400 ) begin
|
||||
CLK50u <= 1'b0;
|
||||
CLK50uc <= 0;
|
||||
end
|
||||
else CLK50uc <= CLK50uc + 1;
|
||||
end
|
||||
end
|
||||
|
||||
reg NMI0EN = 1'b0;
|
||||
assign NMI0 = NMI0EN & CLK50u;
|
||||
|
||||
always @( posedge CL or posedge RESET ) begin
|
||||
if (RESET) begin
|
||||
NMI0EN <= 0;
|
||||
MODE <= 0;
|
||||
COMMAND <= 0;
|
||||
|
||||
LCINPCRE <= 0;
|
||||
LCREPCIN <= 0;
|
||||
RCINPCRE <= 0;
|
||||
RCREPCIN <= 0;
|
||||
CREDITAT <= 0;
|
||||
end
|
||||
else begin
|
||||
if (CS&WR) begin
|
||||
if (AD[4]) begin
|
||||
// command write
|
||||
COMMAND <= DI;
|
||||
MODE <= (DI==8'hA1) ? 1'b1 : ((DI==8'hC1)|(DI==8'hE1)) ? 0 : MODE;
|
||||
NMI0EN <= (DI!=8'h10);
|
||||
end
|
||||
else begin
|
||||
// data write
|
||||
if (COMMAND == 8'hC1) case (AD[3:0])
|
||||
4'h2: r2 <= DI[3:0];
|
||||
4'h3: r3 <= DI[3:0];
|
||||
4'h4: r4 <= DI[3:0];
|
||||
4'h5: r5 <= DI[3:0];
|
||||
4'h8: begin
|
||||
LCINPCRE <= r2;
|
||||
LCREPCIN <= r3;
|
||||
RCINPCRE <= r4;
|
||||
RCREPCIN <= r5;
|
||||
CREDITAT <= 1'b1;
|
||||
end
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
// data read
|
||||
wire [3:0] ADR = AD[3:0];
|
||||
wire [7:0] NONE = 8'hFF;
|
||||
|
||||
reg [7:0] SW_CC;
|
||||
reg [7:0] SW_P1;
|
||||
reg [7:0] SW_P2;
|
||||
|
||||
wire [7:0] ST_CC;
|
||||
BCDCONV bcd( CREDITS, ST_CC[3:0], ST_CC[7:4] );
|
||||
|
||||
reg [7:0] ST_P1 = 8'hF8;
|
||||
reg [7:0] ST_P2 = 8'hF8;
|
||||
|
||||
wire [7:0] SWMODE = (ADR==0) ? (~SW_CC) :
|
||||
(ADR==1) ? (~SW_P1) :
|
||||
(ADR==2) ? (~SW_P2) : NONE;
|
||||
|
||||
wire [7:0] STMODE = (ADR==0) ? ST_CC :
|
||||
(ADR==1) ? ST_P1 :
|
||||
(ADR==2) ? ST_P2 : NONE;
|
||||
|
||||
wire [7:0] READh71 = MODE ? SWMODE : STMODE;
|
||||
|
||||
wire [7:0] READhB1 = {8{~(ADR<=2)}};
|
||||
|
||||
wire [7:0] READhD2 = (ADR==0) ? DSW0 :
|
||||
(ADR==1) ? DSW1 : NONE;
|
||||
|
||||
wire [7:0] READDAT = (COMMAND == 8'h71) ? READh71 :
|
||||
(COMMAND == 8'hB1) ? READhB1 :
|
||||
(COMMAND == 8'hD2) ? READhD2 : NONE;
|
||||
|
||||
assign DO = AD[4] ? COMMAND : READDAT;
|
||||
|
||||
//------------------------------------------------------------
|
||||
|
||||
// INP0 = { SERVICE, 1'b0, m_coin2, m_coin1, m_start2, m_start1, m_pump2, m_pump1 };
|
||||
// INP1 = { m_left2, m_down2, m_right2, m_up2, m_left1, m_down1, m_right1, m_up1 };
|
||||
|
||||
reg [15:0] pINP,piINP,piINP0,piINP1,piINP2;
|
||||
wire [15:0] nINP = {INP0,INP1};
|
||||
wire [15:0] iINP = (pINP^nINP) & nINP;
|
||||
|
||||
function [3:0] stick;
|
||||
input [3:0] stk;
|
||||
stick = stk[0] ? 0 :
|
||||
stk[1] ? 2 :
|
||||
stk[2] ? 4 :
|
||||
stk[3] ? 6 : 8;
|
||||
endfunction
|
||||
|
||||
always @( posedge VBLK or posedge RESET ) begin
|
||||
if (RESET) begin
|
||||
LCOINS = 0;
|
||||
RCOINS = 0;
|
||||
CREDITS = 0;
|
||||
|
||||
SW_CC <= 0;
|
||||
SW_P1 <= 0;
|
||||
SW_P2 <= 0;
|
||||
ST_P1 <= 8'hF8;
|
||||
ST_P2 <= 8'hF8;
|
||||
|
||||
pINP <= 0;
|
||||
piINP <= 0;
|
||||
piINP0 <= 0;
|
||||
piINP1 <= 0;
|
||||
piINP2 <= 0;
|
||||
end
|
||||
else begin
|
||||
|
||||
SW_CC <= {nINP[15],1'b0,piINP[11],piINP[10],2'b00,iINP[13],iINP[12]};
|
||||
SW_P1 <= {2'b00, pINP[8], iINP[8],nINP[3:0]};
|
||||
SW_P2 <= {2'b00, pINP[9], iINP[9],nINP[7:4]};
|
||||
ST_P1 <= {2'b11,~pINP[8],~iINP[8],stick(nINP[3:0])};
|
||||
ST_P2 <= {2'b11,~pINP[9],~iINP[9],stick(nINP[7:4])};
|
||||
|
||||
if (CREDITAT) begin
|
||||
if ( LCINPCRE > 0 ) begin
|
||||
if ( iINP[12] & ( CREDITS < 99 ) ) begin
|
||||
LCOINS = LCOINS+1;
|
||||
if ( LCOINS >= LCINPCRE ) begin
|
||||
CREDITS = CREDITS + LCREPCIN;
|
||||
LCOINS = 0;
|
||||
end
|
||||
end
|
||||
if ( iINP[13] & ( CREDITS < 99 ) ) begin
|
||||
RCOINS = RCOINS+1;
|
||||
if ( RCOINS >= RCINPCRE ) begin
|
||||
CREDITS = CREDITS + RCREPCIN;
|
||||
RCOINS = 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
else CREDITS = 2;
|
||||
if ( CREDITS > 99 ) CREDITS = 99;
|
||||
|
||||
if ( piINP[10] & (CREDITS >= 1) ) CREDITS = CREDITS-1;
|
||||
if ( piINP[11] & (CREDITS >= 2) ) CREDITS = CREDITS-2;
|
||||
end
|
||||
|
||||
pINP <= nINP;
|
||||
piINP0 <= iINP;
|
||||
piINP1 <= piINP0;
|
||||
piINP2 <= piINP1;
|
||||
piINP <= piINP2; // delay start buttons
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
|
||||
//----------------------------------------
|
||||
// BCD Converter
|
||||
//----------------------------------------
|
||||
module add3(in,out);
|
||||
|
||||
input [3:0] in;
|
||||
output [3:0] out;
|
||||
reg [3:0] out;
|
||||
|
||||
always @ (in)
|
||||
case (in)
|
||||
4'b0000: out <= 4'b0000;
|
||||
4'b0001: out <= 4'b0001;
|
||||
4'b0010: out <= 4'b0010;
|
||||
4'b0011: out <= 4'b0011;
|
||||
4'b0100: out <= 4'b0100;
|
||||
4'b0101: out <= 4'b1000;
|
||||
4'b0110: out <= 4'b1001;
|
||||
4'b0111: out <= 4'b1010;
|
||||
4'b1000: out <= 4'b1011;
|
||||
4'b1001: out <= 4'b1100;
|
||||
default: out <= 4'b0000;
|
||||
endcase
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module BCDCONV(A,ONES,TENS);
|
||||
|
||||
input [7:0] A;
|
||||
output [3:0] ONES, TENS;
|
||||
wire [3:0] c1,c2,c3,c4,c5,c6,c7;
|
||||
wire [3:0] d1,d2,d3,d4,d5,d6,d7;
|
||||
|
||||
assign d1 = {1'b0,A[7:5]};
|
||||
assign d2 = {c1[2:0],A[4]};
|
||||
assign d3 = {c2[2:0],A[3]};
|
||||
assign d4 = {c3[2:0],A[2]};
|
||||
assign d5 = {c4[2:0],A[1]};
|
||||
assign d6 = {1'b0,c1[3],c2[3],c3[3]};
|
||||
assign d7 = {c6[2:0],c4[3]};
|
||||
|
||||
add3 m1(d1,c1);
|
||||
add3 m2(d2,c2);
|
||||
add3 m3(d3,c3);
|
||||
add3 m4(d4,c4);
|
||||
add3 m5(d5,c5);
|
||||
add3 m6(d6,c6);
|
||||
add3 m7(d7,c7);
|
||||
|
||||
assign ONES = {c5[2:0],A[0]};
|
||||
assign TENS = {c7[2:0],c5[3]};
|
||||
|
||||
endmodule
|
||||
|
||||
197
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_IODEV.v
Normal file
197
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_IODEV.v
Normal file
@@ -0,0 +1,197 @@
|
||||
//--------------------------------------------
|
||||
// FPGA DigDug (I/O device part)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module DIGDUG_IODEV
|
||||
(
|
||||
input RESET,
|
||||
|
||||
input [7:0] INP0,
|
||||
input [7:0] INP1,
|
||||
input [7:0] DSW0,
|
||||
input [7:0] DSW1,
|
||||
|
||||
input VBLK, // V-BLANK
|
||||
|
||||
input CL, // CPU Interface
|
||||
input [15:0] AD,
|
||||
input WR,
|
||||
input [7:0] DI,
|
||||
input RD,
|
||||
output DV,
|
||||
output [7:0] DO,
|
||||
|
||||
output [2:0] RSTS, // CPU Reset Ctrl & Interrupt
|
||||
output [2:0] IRQS,
|
||||
output [2:0] NMIS,
|
||||
|
||||
input CLK48M,
|
||||
output PCMCLK,
|
||||
output [7:0] PCMOUT,
|
||||
|
||||
output WAVECL, // Wave ROM
|
||||
output [7:0] WAVEAD,
|
||||
input [3:0] WAVEDT,
|
||||
|
||||
input FGSCCL, // FG VRAM
|
||||
input [9:0] FGSCAD,
|
||||
output [7:0] FGSCDT,
|
||||
|
||||
input SPATCL, // SP ARAM
|
||||
input [6:0] SPATAD,
|
||||
output [23:0] SPATDT,
|
||||
|
||||
output [1:0] BG_SELECT, // Video Ctrl.
|
||||
output [1:0] BG_COLBNK,
|
||||
output BG_CUTOFF,
|
||||
output FG_CLMODE
|
||||
|
||||
);
|
||||
|
||||
// Work & Video Memory
|
||||
wire CSM0 = (AD[15:11] == 5'b1000_0); // $8000-$87FF
|
||||
wire CSM1 = (AD[15:11] == 5'b1000_1); // $8800-$8FFF
|
||||
wire CSM2 = (AD[15:11] == 5'b1001_0); // $9000-$97FF
|
||||
wire CSM3 = (AD[15:11] == 5'b1001_1); // $9800-$9FFF
|
||||
|
||||
wire [10:0] MAD = AD[10:0];
|
||||
wire [7:0] DOM0, DOM1, DOM2, DOM3;
|
||||
DPR2KV ram0( CL, MAD, CSM0, WR, DI, DOM0, FGSCCL, {1'b0,FGSCAD}, FGSCDT ); // (FGTX) $8000-$8300
|
||||
DPR2KV ram1( CL, MAD, CSM1, WR, DI, DOM1, SPATCL, {4'h7,SPATAD}, SPATDT[ 7: 0] ); // (SPA0) $8B80-$8BFF
|
||||
DPR2KV ram2( CL, MAD, CSM2, WR, DI, DOM2, SPATCL, {4'h7,SPATAD}, SPATDT[15: 8] ); // (SPA1) $9380-$93FF
|
||||
DPR2KV ram3( CL, MAD, CSM3, WR, DI, DOM3, SPATCL, {4'h7,SPATAD}, SPATDT[23:16] ); // (SPA2) $9B80-$9BFF
|
||||
|
||||
|
||||
// NAMCO WSG
|
||||
wire WSGWR =( AD[15:5] == 11'b0110_1000_000 ) & WR; // $6800-$681F
|
||||
WSG_3CH wsg( CLK48M, RESET, CL, AD[4:0], DI[3:0], WSGWR, WAVECL, WAVEAD, WAVEDT, PCMCLK, PCMOUT );
|
||||
|
||||
|
||||
// NAMCO Custom I/O Chip
|
||||
wire CSCUSIO = (AD[15:9] == 7'b0111_000); // $70xx-$71xx
|
||||
wire [7:0] DOCUSIO;
|
||||
wire NMI0;
|
||||
DIGDUG_CUSIO cusio( RESET, VBLK, INP0, INP1, DSW0, DSW1, CL, CSCUSIO, WR, {AD[8],AD[3:0]}, DI, DOCUSIO, NMI0 );
|
||||
|
||||
|
||||
// Video Ctrl Latches
|
||||
wire VLWR = (AD[15:3] == 13'b1010_0000_0000_0) & WR; // $A000-$A007
|
||||
DIGDUG_VLATCH vlats( RESET, CL, AD[2:0], VLWR, DI[0], BG_SELECT, BG_COLBNK, BG_CUTOFF, FG_CLMODE );
|
||||
|
||||
|
||||
// CPU Ctrl Latches
|
||||
wire CLWR = (AD[15:3] == 13'b0110_1000_0010_0) & WR; // $6820-$6827
|
||||
wire NMI2;
|
||||
DIGDUG_CLATCH clats( RESET, CL, AD[2:0], CLWR, DI[0], VBLK, RSTS, IRQS, NMI2 );
|
||||
|
||||
|
||||
// To CPU
|
||||
assign DV = CSM0|CSM1|CSM2|CSM3|CSCUSIO;
|
||||
assign DO = CSM0 ? DOM0 : CSM1 ? DOM1 : CSM2 ? DOM2 : CSM3 ? DOM3 : CSCUSIO ? DOCUSIO : 8'hFF;
|
||||
assign NMIS = {NMI2,1'b0,NMI0};
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module DIGDUG_VLATCH
|
||||
(
|
||||
input RESET,
|
||||
input CL,
|
||||
input [2:0] AD,
|
||||
input WR,
|
||||
input DI,
|
||||
|
||||
output reg [1:0] BG_SELECT,
|
||||
output reg [1:0] BG_COLBNK,
|
||||
output reg BG_CUTOFF,
|
||||
output reg FG_CLMODE
|
||||
);
|
||||
|
||||
always @( posedge CL or posedge RESET ) begin
|
||||
if (RESET) begin
|
||||
BG_SELECT <= 2'b00;
|
||||
BG_COLBNK <= 2'b00;
|
||||
BG_CUTOFF <= 1'b0;
|
||||
FG_CLMODE <= 1'b0;
|
||||
end
|
||||
else begin
|
||||
if (WR) case(AD)
|
||||
3'h0: BG_SELECT[0] <= DI;
|
||||
3'h1: BG_SELECT[1] <= DI;
|
||||
3'h2: FG_CLMODE <= DI;
|
||||
3'h3: BG_CUTOFF <= DI;
|
||||
3'h4: BG_COLBNK[0] <= DI;
|
||||
3'h5: BG_COLBNK[1] <= DI;
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module DIGDUG_CLATCH
|
||||
(
|
||||
input RESET,
|
||||
input CL, // 24MHz
|
||||
input [2:0] AD,
|
||||
input WR,
|
||||
input DI,
|
||||
|
||||
input VBLK,
|
||||
output [2:0] RSTS,
|
||||
output [2:0] IRQS,
|
||||
output NMI2
|
||||
);
|
||||
|
||||
// OSC 120Hz
|
||||
`define H120FLOW (12500)
|
||||
reg [3:0] clkdiv;
|
||||
always @( posedge CL ) clkdiv <= clkdiv+1;
|
||||
reg [13:0] H120CNT;
|
||||
always @( posedge clkdiv[3] or posedge RESET ) begin
|
||||
if (RESET) H120CNT <= 0;
|
||||
else H120CNT <= (H120CNT==`H120FLOW) ? 0 : (H120CNT+1);
|
||||
end
|
||||
wire H120 = ( H120CNT >= (`H120FLOW-200) ) ? 1'b1 : 0;
|
||||
|
||||
|
||||
reg IRQ0EN, IRQ0LC;
|
||||
reg IRQ1EN, IRQ1LC;
|
||||
reg NMI2EN, NMI2LC;
|
||||
reg NMI0LC;
|
||||
|
||||
reg C12RST = 1'b1;
|
||||
reg pH120;
|
||||
|
||||
always @( posedge CL or posedge RESET ) begin
|
||||
if (RESET) begin
|
||||
IRQ0EN <= 1'b0; IRQ0LC <= 1'b0;
|
||||
IRQ1EN <= 1'b0; IRQ1LC <= 1'b0;
|
||||
NMI2EN <= 1'b0; NMI2LC <= 1'b0;
|
||||
C12RST <= 1'b1; NMI0LC <= 1'b0;
|
||||
pH120 <= 1'b0;
|
||||
end
|
||||
else begin
|
||||
if (WR) begin
|
||||
case(AD)
|
||||
3'h0: begin IRQ0EN <= DI; if (~DI) IRQ0LC <= 1'b0; end
|
||||
3'h1: begin IRQ1EN <= DI; if (~DI) IRQ1LC <= 1'b0; end
|
||||
3'h2: begin NMI2EN <=~DI; if ( DI) NMI2LC <= 1'b0; end
|
||||
3'h3: C12RST <= ~DI;
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
if (VBLK) begin IRQ0LC <= 1'b1; IRQ1LC <= 1'b1; end
|
||||
if ((pH120^H120)&H120) NMI2LC <= 1'b1;
|
||||
pH120 <= H120;
|
||||
end
|
||||
end
|
||||
|
||||
assign RSTS = {{2{C12RST}},RESET};
|
||||
assign IRQS = {1'b0,(IRQ1EN & IRQ1LC),(IRQ0EN & IRQ0LC)};
|
||||
assign NMI2 = (NMI2EN & NMI2LC);
|
||||
|
||||
endmodule
|
||||
|
||||
113
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_SPRITE.v
Normal file
113
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_SPRITE.v
Normal file
@@ -0,0 +1,113 @@
|
||||
//--------------------------------------------
|
||||
// FPGA DigDug (Sprite part)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module DIGDUG_SPRITE
|
||||
(
|
||||
input RCLK, // Rendering Clock
|
||||
input VCLK, // Video Dot Clock
|
||||
input VCLKx2, // Video Dot Clockx2
|
||||
|
||||
input [8:0] POSH,
|
||||
input [8:0] POSV,
|
||||
|
||||
output SPATCL,
|
||||
output [6:0] SPATAD,
|
||||
input [23:0] SPATDT,
|
||||
|
||||
output reg [4:0] SPCOL
|
||||
);
|
||||
|
||||
wire [8:0] PH = POSH+1;
|
||||
wire [8:0] PV = POSV+2;
|
||||
wire [8:0] TY;
|
||||
|
||||
|
||||
reg [3:0] PHASE;
|
||||
reg SIDE;
|
||||
|
||||
reg [7:0] ADR;
|
||||
reg [23:0] ATR0, ATR1;
|
||||
|
||||
reg [8:0] WXP;
|
||||
reg [8:0] WCN;
|
||||
|
||||
|
||||
wire SZ = ATR0[7]; // Size
|
||||
wire [8:0] SS = SZ ? 32 : 16; // Size (Pixels)
|
||||
wire [5:0] SC = ATR1[5:0]; // Color
|
||||
wire [8:0] SX = {1'b0,ATR1[15:8]}-9'd39; // Position X
|
||||
wire [8:0] SY = (9'd256-TY); // Position Y
|
||||
wire [8:0] SU = (SS-WCN)^{9{ATR0[16]}}; // Position U
|
||||
wire [8:0] SV = (PV-SY )^{9{ATR0[17]}}; // Position V
|
||||
wire [7:0] SM = ATR0[7:0]; // Code (for Normal)
|
||||
wire [7:0] SL = {SM[7]|SM[5],SM[6]|SM[4],SM[3:0],SV[4],SU[4]}; // Code (for Size)
|
||||
wire [7:0] SN = SZ ? SL : SM; // Code
|
||||
wire SD = ATR1[17]|((PV<SY)&(SY<496))|(PV>=(SY+SS)); // Visiblity (False:Visible)
|
||||
|
||||
assign TY = ((({1'b0,ATR0[15:8]}+1)+(SZ ? 9'd16 : 9'd0)) & 9'd255) + 9'd30;
|
||||
|
||||
wire ABORT = (PH==288);
|
||||
wire STANDBY = (PH!=289);
|
||||
wire ATRTAIL = (ADR[7]);
|
||||
wire DRAWING = (WCN!=1);
|
||||
|
||||
|
||||
assign SPATCL = ~RCLK;
|
||||
assign SPATAD = ADR[6:0];
|
||||
|
||||
wire [8:0] WSX = {1'b0,SX[7:0]} + ((SX[7:0]<8'd16) ? 9'd256 : 9'd0);
|
||||
|
||||
always @( posedge RCLK ) begin
|
||||
if (ABORT) begin PHASE <= 0; WCN <= 0; end
|
||||
else case (PHASE)
|
||||
`define LOOP (PHASE)
|
||||
`define NEXT (PHASE+1)
|
||||
`define NXTA (1)
|
||||
0: begin SIDE <= PV[0]; ADR <= 0; WCN <= 0; PHASE <= STANDBY ? `LOOP : `NEXT; end
|
||||
1: begin PHASE <= ATRTAIL ? `NXTA : `NEXT; end
|
||||
2: begin ATR0 <= SPATDT; ADR <= ADR+1; PHASE <= `NEXT; end
|
||||
3: begin ATR1 <= SPATDT; ADR <= ADR+1; PHASE <= `NEXT; end
|
||||
4: begin WXP <= WSX; WCN <= SS; PHASE <= SD ? `NXTA : `NEXT; end
|
||||
// CHIP Read
|
||||
5: begin /* CLUT Read */ PHASE <= `NEXT; end
|
||||
// LBUF Write
|
||||
6: begin WXP <= WXP+1; WCN <= WCN-1; PHASE <= DRAWING ? 5 : `NXTA; end
|
||||
default:;
|
||||
endcase
|
||||
end
|
||||
|
||||
wire [7:0] CHRD;
|
||||
//DLROMe #(14,8) spchip((PHASE==5),~RCLK,{SN,SV[3],SU[3:2],SV[2:0]},CHRD, ROMCL,ROMAD[14:0],ROMDT,ROMEN & (ROMAD[15:14]==2'b01));
|
||||
spchip_rom spchip(
|
||||
.clk(~RCLK),
|
||||
.addr({SN,SV[3],SU[3:2],SV[2:0]}),
|
||||
.data(CHRD)
|
||||
);
|
||||
|
||||
wire [7:0] PIX = CHRD << (SU[1:0]);
|
||||
|
||||
wire [7:0] WDT;
|
||||
//DLROMe #(8,8) spclut((PHASE==5), RCLK,{SC,PIX[7],PIX[3]},WDT, ROMCL,ROMAD[7:0],ROMDT,ROMEN & (ROMAD[15:8]==8'hD9));
|
||||
spclut_rom spclut(
|
||||
.clk(RCLK),
|
||||
.addr({SC,PIX[7],PIX[3]}),
|
||||
.data(WDT)
|
||||
);
|
||||
|
||||
wire [4:0] LBOUT;
|
||||
LBUF1K lbuf (
|
||||
~RCLK, {SIDE,WXP}, (PHASE==6) & (PIX[7]|PIX[3]), {4'h1,WDT[3:0]},
|
||||
VCLKx2, {~SIDE,PH}, (radr0==radr1), 8'h0, LBOUT
|
||||
);
|
||||
|
||||
reg [9:0] radr0=0,radr1=1;
|
||||
always @(posedge VCLK) radr0 <= {~SIDE,PH};
|
||||
always @(negedge VCLK) begin
|
||||
if (radr0!=radr1) SPCOL <= LBOUT;
|
||||
radr1 <= radr0;
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
148
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_VIDEO.v
Normal file
148
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DIGDUG_VIDEO.v
Normal file
@@ -0,0 +1,148 @@
|
||||
//--------------------------------------------
|
||||
// FPGA DigDug (Video part)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module DIGDUG_VIDEO
|
||||
(
|
||||
input CLK48M,
|
||||
input [8:0] POSH,
|
||||
input [8:0] POSV,
|
||||
|
||||
input [1:0] BG_SELECT,
|
||||
input [1:0] BG_COLBNK,
|
||||
input BG_CUTOFF,
|
||||
input FG_CLMODE,
|
||||
|
||||
output FGSCCL,
|
||||
output [9:0] FGSCAD,
|
||||
input [7:0] FGSCDT,
|
||||
|
||||
output SPATCL,
|
||||
output [6:0] SPATAD,
|
||||
input [23:0] SPATDT,
|
||||
|
||||
output VBLK,
|
||||
output PCLK,
|
||||
output [7:0] POUT
|
||||
);
|
||||
|
||||
//---------------------------------------
|
||||
// Clock Generator
|
||||
//---------------------------------------
|
||||
reg [2:0] clkdiv;
|
||||
always @( posedge CLK48M ) clkdiv <= clkdiv+1;
|
||||
wire VCLKx8 = CLK48M;
|
||||
//wire VCLKx4 = clkdiv[0];
|
||||
wire VCLKx2 = clkdiv[1];
|
||||
wire VCLK = clkdiv[2];
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// Local Offset
|
||||
//---------------------------------------
|
||||
reg [8:0] PH, PV;
|
||||
always@( posedge VCLK ) begin
|
||||
PH <= POSH-1;
|
||||
PV <= POSV-2;
|
||||
end
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// VRAM Scan Address Generator
|
||||
//---------------------------------------
|
||||
wire [5:0] SCOL = PH[8:3]-2;
|
||||
wire [5:0] SROW = PV[8:3]+2;
|
||||
wire [9:0] VSAD = SCOL[5] ? {SCOL[4:0],SROW[4:0]} : {SROW[4:0],SCOL[4:0]};
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// Sprite ScanLine Generator
|
||||
//---------------------------------------
|
||||
wire [4:0] SPCOL;
|
||||
|
||||
DIGDUG_SPRITE sprite
|
||||
(
|
||||
.RCLK(VCLKx8),.VCLK(VCLK),.VCLKx2(VCLKx2),
|
||||
.POSH(PH-1),.POSV(PV),
|
||||
.SPATCL(SPATCL),.SPATAD(SPATAD),.SPATDT(SPATDT),
|
||||
|
||||
.SPCOL(SPCOL)
|
||||
);
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// FG ScanLine Generator
|
||||
//---------------------------------------
|
||||
reg [4:0] FGCOL;
|
||||
|
||||
assign FGSCCL = VCLKx2;
|
||||
assign FGSCAD = VSAD;
|
||||
|
||||
wire [10:0] FGCHAD = {1'b0,FGSCDT[6:0],PV[2:0]};
|
||||
wire [7:0] FGCHDT;
|
||||
//DLROM #(11,8) fgchip(~VCLKx2,FGCHAD,FGCHDT, ROMCL,ROMAD[10:0],ROMDT,ROMEN & (ROMAD[15:11]=={4'hD,1'b0}));
|
||||
fgchip_rom fgchip(
|
||||
.clk(~VCLKx2),
|
||||
.addr(FGCHAD),
|
||||
.data(FGCHDT)
|
||||
);
|
||||
|
||||
wire [7:0] FGCHPX = FGCHDT >> (PH[2:0]);
|
||||
|
||||
wire [3:0] FGCLUT = FG_CLMODE ? FGSCDT[3:0] : ({FGSCDT[7:5],1'b0}|{2'b00,FGSCDT[4],1'b0});
|
||||
|
||||
always @( posedge VCLKx2 ) FGCOL <= {FGCHPX[0],FGCLUT};
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// BG ScanLine Generator
|
||||
//---------------------------------------
|
||||
wire [3:0] BGCOL;
|
||||
|
||||
wire [11:0] BGSCAD = {BG_SELECT,VSAD};
|
||||
wire [7:0] BGSCDT;
|
||||
//DLROM #(12,8) bgscrn(VCLKx2,BGSCAD,BGSCDT, ROMCL,ROMAD[11:0],ROMDT,ROMEN & (ROMAD[15:12]==4'hB));
|
||||
bgscrn_rom bgscrn(
|
||||
.clk(VCLKx2),
|
||||
.addr(BGSCAD),
|
||||
.data(BGSCDT)
|
||||
);
|
||||
|
||||
wire [11:0] BGCHAD = {BGSCDT,~PH[2],PV[2:0]};
|
||||
wire [7:0] BGCHDT;
|
||||
//DLROM #(12,8) bgchip(~VCLKx2,BGCHAD,BGCHDT, ROMCL,ROMAD[11:0],ROMDT,ROMEN & (ROMAD[15:12]==4'hC));
|
||||
bgchip_rom bgchip(
|
||||
.clk(~VCLKx2),
|
||||
.addr(BGCHAD),
|
||||
.data(BGCHDT)
|
||||
);
|
||||
|
||||
wire [7:0] BGCHPI = BGCHDT << (PH[1:0]);
|
||||
wire [1:0] BGCHPX = {BGCHPI[7],BGCHPI[3]};
|
||||
|
||||
wire [7:0] BGCLAD = BG_CUTOFF ? {6'h0F,BGCHPX} : {BG_COLBNK,BGSCDT[7:4],BGCHPX};
|
||||
//DLROM #(8,4) bgclut(VCLKx2,BGCLAD,BGCOL, ROMCL,ROMAD[7:0],ROMDT,ROMEN & (ROMAD[15:8]==8'hDA));
|
||||
bgclut_rom bgclut(
|
||||
.clk(VCLKx2),
|
||||
.addr(BGCLAD),
|
||||
.data(BGCOL)
|
||||
);
|
||||
|
||||
//---------------------------------------
|
||||
// Color Mixer & Pixel Output
|
||||
//---------------------------------------
|
||||
wire [4:0] CMIX = SPCOL[4] ? {1'b1,SPCOL[3:0]} : FGCOL[4] ? {1'b0,FGCOL[3:0]} : {1'b0,BGCOL};
|
||||
|
||||
//DLROM #(5,8) palet( VCLK, CMIX, POUT, ROMCL,ROMAD[4:0],ROMDT,ROMEN & (ROMAD[15:5]=={8'hDB,3'b000}) );
|
||||
palette_rom palet(
|
||||
.clk(VCLK),
|
||||
.addr(CMIX),
|
||||
.data(POUT)
|
||||
);
|
||||
|
||||
assign PCLK = ~VCLK;
|
||||
assign VBLK = (PH<16)&(PV==224);
|
||||
|
||||
endmodule
|
||||
|
||||
211
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DigDug.sv
Normal file
211
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/DigDug.sv
Normal file
@@ -0,0 +1,211 @@
|
||||
module DigDug(
|
||||
output LED,
|
||||
output [5:0] VGA_R,
|
||||
output [5:0] VGA_G,
|
||||
output [5:0] VGA_B,
|
||||
output VGA_HS,
|
||||
output VGA_VS,
|
||||
output AUDIO_L,
|
||||
output AUDIO_R,
|
||||
input SPI_SCK,
|
||||
output SPI_DO,
|
||||
input SPI_DI,
|
||||
input SPI_SS2,
|
||||
input SPI_SS3,
|
||||
input CONF_DATA0,
|
||||
input CLOCK_27);
|
||||
|
||||
`include "rtl\build_id.v"
|
||||
|
||||
localparam CONF_STR = {
|
||||
"DIGDUG;;",
|
||||
"O89,Difficulty,Medium,Hardest,Easy,Hard;",
|
||||
"OAB,Life,3,5,1,2;",
|
||||
"OCE,Bonus Life,M3,M4,M5,M6,M7,Nothing,M1,M2;",
|
||||
"OF,Allow Continue,No,Yes;",
|
||||
"OG,Demo Sound,Off,On;",
|
||||
"OH,Service Mode,Off,On;",
|
||||
"O34,Scanlines,None,CRT 25%,CRT 50%,CRT 75%;",
|
||||
"T6,Reset;",
|
||||
"V,v1.00.",`BUILD_DATE
|
||||
};
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
assign AUDIO_R = AUDIO_L;
|
||||
|
||||
wire clock_48, pll_locked;
|
||||
pll pll(
|
||||
.inclk0(CLOCK_27),
|
||||
.c0(clock_48),
|
||||
.c1(SDRAM_CLK),
|
||||
.locked (pll_locked)
|
||||
);
|
||||
|
||||
wire [31:0] status;
|
||||
wire [1:0] buttons;
|
||||
wire [1:0] switches;
|
||||
wire [11:0] kbjoy;
|
||||
wire [7:0] joystick_0;
|
||||
wire [7:0] joystick_1;
|
||||
wire scandoublerD;
|
||||
wire ypbpr;
|
||||
wire [7:0] audio;
|
||||
wire hs, vs;
|
||||
wire hb, vb;
|
||||
wire blankn = ~(hb | vb);
|
||||
wire [3:0] r, g, b;
|
||||
wire key_strobe;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
wire [7:0] ioctl_index;
|
||||
wire ioctl_downl;
|
||||
wire ioctl_wr;
|
||||
wire [24:0] ioctl_addr;
|
||||
wire [7:0] ioctl_dout;
|
||||
wire [13:0] rom_addr;
|
||||
wire [15:0] rom_do;
|
||||
|
||||
reg reset = 1;
|
||||
reg rom_loaded = 0;
|
||||
always @(posedge clock_48) begin
|
||||
reg ioctl_downlD;
|
||||
ioctl_downlD <= ioctl_downl;
|
||||
if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1;
|
||||
reset <= status[0] | buttons[1] | status[6] | ~rom_loaded;
|
||||
end
|
||||
|
||||
wire [7:0] oPIX;
|
||||
assign POUT = {oPIX[7:6],2'b00,oPIX[5:3],1'b0,oPIX[2:0],1'b0};
|
||||
wire PCLK;
|
||||
wire [8:0] HPOS,VPOS;
|
||||
wire [11:0] POUT;
|
||||
hvgen hvgen(
|
||||
.HPOS(HPOS),
|
||||
.VPOS(VPOS),
|
||||
.PCLK(PCLK),
|
||||
.iRGB(POUT),
|
||||
.oRGB({b,g,r}),
|
||||
.HBLK(hb),
|
||||
.VBLK(vb),
|
||||
.HSYN(hs),
|
||||
.VSYN(vs)
|
||||
);
|
||||
|
||||
|
||||
wire [1:0] COIA = 2'b00; // 1coin/1credit
|
||||
wire [2:0] COIB = 3'b001; // 1coin/1credit
|
||||
wire CABI = 1'b1;
|
||||
wire FRZE = 1'b1;
|
||||
|
||||
wire [1:0] DIFC = status[9:8]+2'h2;
|
||||
wire [1:0] LIFE = status[11:10]+2'h2;
|
||||
wire [2:0] EXMD = status[14:12]+3'h3;
|
||||
wire CONT = ~status[15];
|
||||
wire DSND = ~status[16];
|
||||
wire SERVICE = status[17];
|
||||
|
||||
FPGA_DIGDUG GameCore(
|
||||
.RESET(reset),
|
||||
.MCLK(clock_48),
|
||||
.INP0({SERVICE, 1'b0, 1'b0, btn_coin, btn_two_players, btn_one_player, m_fire2, m_fire1 }),
|
||||
.INP1({m_left2, m_down2, m_right2, m_up2, m_left1, m_down1, m_right1, m_up1}),
|
||||
.DSW0({LIFE,EXMD,COIB}),
|
||||
.DSW1({COIA,FRZE,DSND,CONT,CABI,DIFC}),
|
||||
.PH(HPOS),
|
||||
.PV(VPOS),
|
||||
.PCLK(PCLK),
|
||||
.POUT(oPIX),
|
||||
.SOUT(audio)
|
||||
);
|
||||
|
||||
mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(10)) mist_video(
|
||||
.clk_sys ( clock_48 ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
.SPI_SS3 ( SPI_SS3 ),
|
||||
.SPI_DI ( SPI_DI ),
|
||||
.R ( blankn ? r : 0 ),
|
||||
.G ( blankn ? g : 0 ),
|
||||
.B ( blankn ? b : 0 ),
|
||||
.HSync ( hs ),
|
||||
.VSync ( vs ),
|
||||
.VGA_R ( VGA_R ),
|
||||
.VGA_G ( VGA_G ),
|
||||
.VGA_B ( VGA_B ),
|
||||
.VGA_VS ( VGA_VS ),
|
||||
.VGA_HS ( VGA_HS ),
|
||||
.scandoubler_disable( scandoublerD ),
|
||||
.scanlines ( status[4:3] ),
|
||||
.ypbpr ( ypbpr )
|
||||
);
|
||||
|
||||
user_io #(.STRLEN(($size(CONF_STR)>>3)))user_io(
|
||||
.clk_sys (clock_48 ),
|
||||
.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_48),
|
||||
.res_n_i(1),
|
||||
.dac_i({audio,audio}),
|
||||
.dac_o(AUDIO_L)
|
||||
);
|
||||
|
||||
wire m_up1 = btn_up | joystick_0[3];
|
||||
wire m_down1 = btn_down | joystick_0[2];
|
||||
wire m_left1 = btn_left | joystick_0[1];
|
||||
wire m_right1 = btn_right | joystick_0[0];
|
||||
wire m_fire1 = btn_fire1 | joystick_0[4];
|
||||
|
||||
wire m_up2 = joystick_1[3];
|
||||
wire m_down2 = joystick_1[2];
|
||||
wire m_left2 = joystick_1[1];
|
||||
wire m_right2 = joystick_1[0];
|
||||
wire m_fire2 = joystick_1[4];
|
||||
|
||||
|
||||
reg btn_one_player = 0;
|
||||
reg btn_two_players = 0;
|
||||
reg btn_left = 0;
|
||||
reg btn_right = 0;
|
||||
reg btn_down = 0;
|
||||
reg btn_up = 0;
|
||||
reg btn_fire1 = 0;
|
||||
//reg btn_fire2 = 0;
|
||||
//reg btn_fire3 = 0;
|
||||
reg btn_coin = 0;
|
||||
|
||||
always @(posedge clock_48) begin
|
||||
reg old_state;
|
||||
old_state <= key_strobe;
|
||||
if(old_state != key_strobe) begin
|
||||
case(key_code)
|
||||
'h75: btn_up <= key_pressed; // up
|
||||
'h72: btn_down <= key_pressed; // down
|
||||
'h6B: btn_left <= key_pressed; // left
|
||||
'h74: btn_right <= key_pressed; // right
|
||||
'h76: btn_coin <= key_pressed; // ESC
|
||||
'h05: btn_one_player <= key_pressed; // F1
|
||||
'h06: btn_two_players <= key_pressed; // F2
|
||||
// 'h14: btn_fire3 <= key_pressed; // ctrl
|
||||
// 'h11: btn_fire2 <= key_pressed; // alt
|
||||
'h29: btn_fire1 <= key_pressed; // Space
|
||||
endcase
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
endmodule
|
||||
138
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/FPGA_DIGDUG.v
Normal file
138
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/FPGA_DIGDUG.v
Normal file
@@ -0,0 +1,138 @@
|
||||
//--------------------------------------------
|
||||
// FPGA DigDug (Top module)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module FPGA_DIGDUG
|
||||
(
|
||||
input RESET, // RESET
|
||||
input MCLK, // Master Clock (48.0MHz) = VCLKx8
|
||||
input [7:0] INP0, // Control Panel
|
||||
input [7:0] INP1,
|
||||
input [7:0] DSW0,
|
||||
input [7:0] DSW1,
|
||||
|
||||
input [8:0] PH, // PIXEL H
|
||||
input [8:0] PV, // PIXEL V
|
||||
output PCLK, // PIXEL CLOCK
|
||||
output [7:0] POUT, // PIXEL OUT
|
||||
|
||||
output reg [7:0] SOUT
|
||||
);
|
||||
|
||||
// Common I/O Device Bus
|
||||
wire DEV_CL;
|
||||
wire [15:0] DEV_AD;
|
||||
wire DEV_RD;
|
||||
wire DEV_DV;
|
||||
wire [7:0] DEV_DO;
|
||||
wire DEV_WR;
|
||||
wire [7:0] DEV_DI;
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// CPUs
|
||||
//-----------------------------------------------
|
||||
wire [2:0] RSTS,IRQS,NMIS;
|
||||
|
||||
DIGDUG_CORES cores
|
||||
(
|
||||
.MCLK(MCLK),
|
||||
.RSTS(RSTS),
|
||||
.IRQS(IRQS),
|
||||
.NMIS(NMIS),
|
||||
.DEV_CL(DEV_CL),
|
||||
.DEV_AD(DEV_AD),
|
||||
.DEV_RD(DEV_RD),
|
||||
.DEV_DV(DEV_DV),
|
||||
.DEV_DO(DEV_DO),
|
||||
.DEV_WR(DEV_WR),
|
||||
.DEV_DI(DEV_DI)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// Sound wave ROM
|
||||
//-----------------------------------------------
|
||||
wire WAVECL;
|
||||
wire [7:0] WAVEAD;
|
||||
wire [7:0] WAVEDT;
|
||||
|
||||
//DLROM #(8,4) wave(WAVECL,WAVEAD,WAVEDT, ROMCL,ROMAD[7:0],ROMDT,ROMEN & (ROMAD[15:8]==8'hD8));
|
||||
wave_rom wave(
|
||||
.clk(WAVECL),
|
||||
.addr(WAVEAD),
|
||||
.data(WAVEDT)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// Common I/O Device Module
|
||||
//-----------------------------------------------
|
||||
wire PCMCLK;
|
||||
wire [7:0] PCMOUT;
|
||||
always @(posedge PCMCLK) SOUT <= PCMOUT;
|
||||
|
||||
wire FGSCCL;
|
||||
wire [9:0] FGSCAD;
|
||||
wire [7:0] FGSCDT;
|
||||
|
||||
wire SPATCL;
|
||||
wire [6:0] SPATAD;
|
||||
wire [23:0] SPATDT;
|
||||
|
||||
wire [1:0] BG_SELECT;
|
||||
wire [1:0] BG_COLBNK;
|
||||
wire BG_CUTOFF;
|
||||
wire FG_CLMODE;
|
||||
|
||||
wire VBLK;
|
||||
|
||||
DIGDUG_IODEV iodev
|
||||
(
|
||||
.RESET(RESET),
|
||||
.VBLK(VBLK),
|
||||
|
||||
.INP0(INP0),
|
||||
.INP1(INP1),
|
||||
.DSW0(DSW0),
|
||||
.DSW1(DSW1),
|
||||
|
||||
.CL(DEV_CL), // Access Clock: 24.0MHz
|
||||
.AD(DEV_AD),.WR(DEV_WR),.DI(DEV_DI),
|
||||
.RD(DEV_RD),.DV(DEV_DV),.DO(DEV_DO),
|
||||
|
||||
.RSTS(RSTS),.IRQS(IRQS),.NMIS(NMIS),
|
||||
|
||||
.CLK48M(MCLK),.PCMCLK(PCMCLK),.PCMOUT(PCMOUT),
|
||||
|
||||
.WAVECL(WAVECL),.WAVEAD(WAVEAD),.WAVEDT(WAVEDT[3:0]),
|
||||
|
||||
.FGSCCL(FGSCCL),.FGSCAD(FGSCAD),.FGSCDT(FGSCDT),
|
||||
.SPATCL(SPATCL),.SPATAD(SPATAD),.SPATDT(SPATDT),
|
||||
|
||||
.BG_SELECT(BG_SELECT),.BG_COLBNK(BG_COLBNK),.BG_CUTOFF(BG_CUTOFF),
|
||||
.FG_CLMODE(FG_CLMODE)
|
||||
);
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// Video Module
|
||||
//-----------------------------------------------
|
||||
DIGDUG_VIDEO video
|
||||
(
|
||||
.CLK48M(MCLK),
|
||||
.POSH(PH+1),.POSV(PV+2),
|
||||
|
||||
.BG_SELECT(BG_SELECT),.BG_COLBNK(BG_COLBNK),.BG_CUTOFF(BG_CUTOFF),
|
||||
.FG_CLMODE(FG_CLMODE),
|
||||
|
||||
.FGSCCL(FGSCCL),.FGSCAD(FGSCAD),.FGSCDT(FGSCDT),
|
||||
.SPATCL(SPATCL),.SPATAD(SPATAD),.SPATDT(SPATDT),
|
||||
|
||||
.VBLK(VBLK),.PCLK(PCLK),.POUT(POUT)
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
4
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/LINEBUF.qip
Normal file
4
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/LINEBUF.qip
Normal file
@@ -0,0 +1,4 @@
|
||||
set_global_assignment -name IP_TOOL_NAME "RAM: 2-PORT"
|
||||
set_global_assignment -name IP_TOOL_VERSION "17.1"
|
||||
set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{Cyclone V}"
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "LINEBUF.v"]
|
||||
246
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/LINEBUF.v
Normal file
246
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/LINEBUF.v
Normal file
@@ -0,0 +1,246 @@
|
||||
// megafunction wizard: %RAM: 2-PORT%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altsyncram
|
||||
|
||||
// ============================================================
|
||||
// File Name: LINEBUF.v
|
||||
// Megafunction Name(s):
|
||||
// altsyncram
|
||||
//
|
||||
// Simulation Library Files(s):
|
||||
// altera_mf
|
||||
// ============================================================
|
||||
// ************************************************************
|
||||
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||||
//
|
||||
// 17.1.0 Build 590 10/25/2017 SJ Lite Edition
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//Copyright (C) 2017 Intel Corporation. All rights reserved.
|
||||
//Your use of Intel 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 Intel Program License
|
||||
//Subscription Agreement, the Intel Quartus Prime License Agreement,
|
||||
//the Intel FPGA IP License Agreement, or other applicable license
|
||||
//agreement, including, without limitation, that your use is for
|
||||
//the sole purpose of programming logic devices manufactured by
|
||||
//Intel and sold by Intel 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 LINEBUF (
|
||||
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 (
|
||||
.address_a (address_a),
|
||||
.address_b (address_b),
|
||||
.clock0 (clock_a),
|
||||
.clock1 (clock_b),
|
||||
.data_a (data_a),
|
||||
.data_b (data_b),
|
||||
.wren_a (wren_a),
|
||||
.wren_b (wren_b),
|
||||
.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.ram_block_type = "M9K",
|
||||
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 "2"
|
||||
// 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: RAM_BLOCK_TYPE STRING "M9K"
|
||||
// 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 LINEBUF.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL LINEBUF.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL LINEBUF.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL LINEBUF.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL LINEBUF_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL LINEBUF_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
442
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_alu.v
Normal file
442
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_alu.v
Normal file
@@ -0,0 +1,442 @@
|
||||
//
|
||||
// TV80 8-Bit Microprocessor Core
|
||||
// Based on the VHDL T80 core by Daniel Wallner (jesus@opencores.org)
|
||||
//
|
||||
// Copyright (c) 2004 Guy Hutchison (ghutchis@opencores.org)
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
module tv80_alu (/*AUTOARG*/
|
||||
// Outputs
|
||||
Q, F_Out,
|
||||
// Inputs
|
||||
Arith16, Z16, ALU_Op, IR, ISet, BusA, BusB, F_In
|
||||
);
|
||||
|
||||
parameter Mode = 0;
|
||||
parameter Flag_C = 0;
|
||||
parameter Flag_N = 1;
|
||||
parameter Flag_P = 2;
|
||||
parameter Flag_X = 3;
|
||||
parameter Flag_H = 4;
|
||||
parameter Flag_Y = 5;
|
||||
parameter Flag_Z = 6;
|
||||
parameter Flag_S = 7;
|
||||
|
||||
input Arith16;
|
||||
input Z16;
|
||||
input [3:0] ALU_Op ;
|
||||
input [5:0] IR;
|
||||
input [1:0] ISet;
|
||||
input [7:0] BusA;
|
||||
input [7:0] BusB;
|
||||
input [7:0] F_In;
|
||||
output [7:0] Q;
|
||||
output [7:0] F_Out;
|
||||
reg [7:0] Q;
|
||||
reg [7:0] F_Out;
|
||||
|
||||
function [4:0] AddSub4;
|
||||
input [3:0] A;
|
||||
input [3:0] B;
|
||||
input Sub;
|
||||
input Carry_In;
|
||||
begin
|
||||
AddSub4 = { 1'b0, A } + { 1'b0, (Sub)?~B:B } + Carry_In;
|
||||
end
|
||||
endfunction // AddSub4
|
||||
|
||||
function [3:0] AddSub3;
|
||||
input [2:0] A;
|
||||
input [2:0] B;
|
||||
input Sub;
|
||||
input Carry_In;
|
||||
begin
|
||||
AddSub3 = { 1'b0, A } + { 1'b0, (Sub)?~B:B } + Carry_In;
|
||||
end
|
||||
endfunction // AddSub4
|
||||
|
||||
function [1:0] AddSub1;
|
||||
input A;
|
||||
input B;
|
||||
input Sub;
|
||||
input Carry_In;
|
||||
begin
|
||||
AddSub1 = { 1'b0, A } + { 1'b0, (Sub)?~B:B } + Carry_In;
|
||||
end
|
||||
endfunction // AddSub4
|
||||
|
||||
// AddSub variables (temporary signals)
|
||||
reg UseCarry;
|
||||
reg Carry7_v;
|
||||
reg OverFlow_v;
|
||||
reg HalfCarry_v;
|
||||
reg Carry_v;
|
||||
reg [7:0] Q_v;
|
||||
|
||||
reg [7:0] BitMask;
|
||||
|
||||
|
||||
always @(/*AUTOSENSE*/ALU_Op or BusA or BusB or F_In or IR)
|
||||
begin
|
||||
case (IR[5:3])
|
||||
3'b000 : BitMask = 8'b00000001;
|
||||
3'b001 : BitMask = 8'b00000010;
|
||||
3'b010 : BitMask = 8'b00000100;
|
||||
3'b011 : BitMask = 8'b00001000;
|
||||
3'b100 : BitMask = 8'b00010000;
|
||||
3'b101 : BitMask = 8'b00100000;
|
||||
3'b110 : BitMask = 8'b01000000;
|
||||
default: BitMask = 8'b10000000;
|
||||
endcase // case(IR[5:3])
|
||||
|
||||
UseCarry = ~ ALU_Op[2] && ALU_Op[0];
|
||||
{ HalfCarry_v, Q_v[3:0] } = AddSub4(BusA[3:0], BusB[3:0], ALU_Op[1], ALU_Op[1] ^ (UseCarry && F_In[Flag_C]) );
|
||||
{ Carry7_v, Q_v[6:4] } = AddSub3(BusA[6:4], BusB[6:4], ALU_Op[1], HalfCarry_v);
|
||||
{ Carry_v, Q_v[7] } = AddSub1(BusA[7], BusB[7], ALU_Op[1], Carry7_v);
|
||||
OverFlow_v = Carry_v ^ Carry7_v;
|
||||
end // always @ *
|
||||
|
||||
reg [7:0] Q_t;
|
||||
reg [8:0] DAA_Q;
|
||||
|
||||
always @ (/*AUTOSENSE*/ALU_Op or Arith16 or BitMask or BusA or BusB
|
||||
or Carry_v or F_In or HalfCarry_v or IR or ISet
|
||||
or OverFlow_v or Q_v or Z16)
|
||||
begin
|
||||
Q_t = 8'hxx;
|
||||
DAA_Q = {9{1'bx}};
|
||||
|
||||
F_Out = F_In;
|
||||
case (ALU_Op)
|
||||
4'b0000, 4'b0001, 4'b0010, 4'b0011, 4'b0100, 4'b0101, 4'b0110, 4'b0111 :
|
||||
begin
|
||||
F_Out[Flag_N] = 1'b0;
|
||||
F_Out[Flag_C] = 1'b0;
|
||||
|
||||
case (ALU_Op[2:0])
|
||||
|
||||
3'b000, 3'b001 : // ADD, ADC
|
||||
begin
|
||||
Q_t = Q_v;
|
||||
F_Out[Flag_C] = Carry_v;
|
||||
F_Out[Flag_H] = HalfCarry_v;
|
||||
F_Out[Flag_P] = OverFlow_v;
|
||||
end
|
||||
|
||||
3'b010, 3'b011, 3'b111 : // SUB, SBC, CP
|
||||
begin
|
||||
Q_t = Q_v;
|
||||
F_Out[Flag_N] = 1'b1;
|
||||
F_Out[Flag_C] = ~ Carry_v;
|
||||
F_Out[Flag_H] = ~ HalfCarry_v;
|
||||
F_Out[Flag_P] = OverFlow_v;
|
||||
end
|
||||
|
||||
3'b100 : // AND
|
||||
begin
|
||||
Q_t[7:0] = BusA & BusB;
|
||||
F_Out[Flag_H] = 1'b1;
|
||||
end
|
||||
|
||||
3'b101 : // XOR
|
||||
begin
|
||||
Q_t[7:0] = BusA ^ BusB;
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
end
|
||||
|
||||
default : // OR 3'b110
|
||||
begin
|
||||
Q_t[7:0] = BusA | BusB;
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
end
|
||||
|
||||
endcase // case(ALU_OP[2:0])
|
||||
|
||||
if (ALU_Op[2:0] == 3'b111 )
|
||||
begin // CP
|
||||
F_Out[Flag_X] = BusB[3];
|
||||
F_Out[Flag_Y] = BusB[5];
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_X] = Q_t[3];
|
||||
F_Out[Flag_Y] = Q_t[5];
|
||||
end
|
||||
|
||||
if (Q_t[7:0] == 8'b00000000 )
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b1;
|
||||
if (Z16 == 1'b1 )
|
||||
begin
|
||||
F_Out[Flag_Z] = F_In[Flag_Z]; // 16 bit ADC,SBC
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b0;
|
||||
end // else: !if(Q_t[7:0] == 8'b00000000 )
|
||||
|
||||
F_Out[Flag_S] = Q_t[7];
|
||||
case (ALU_Op[2:0])
|
||||
3'b000, 3'b001, 3'b010, 3'b011, 3'b111 : // ADD, ADC, SUB, SBC, CP
|
||||
;
|
||||
|
||||
default :
|
||||
F_Out[Flag_P] = ~(^Q_t);
|
||||
endcase // case(ALU_Op[2:0])
|
||||
|
||||
if (Arith16 == 1'b1 )
|
||||
begin
|
||||
F_Out[Flag_S] = F_In[Flag_S];
|
||||
F_Out[Flag_Z] = F_In[Flag_Z];
|
||||
F_Out[Flag_P] = F_In[Flag_P];
|
||||
end
|
||||
end // case: 4'b0000, 4'b0001, 4'b0010, 4'b0011, 4'b0100, 4'b0101, 4'b0110, 4'b0111
|
||||
|
||||
4'b1100 :
|
||||
begin
|
||||
// DAA
|
||||
F_Out[Flag_H] = F_In[Flag_H];
|
||||
F_Out[Flag_C] = F_In[Flag_C];
|
||||
DAA_Q[7:0] = BusA;
|
||||
DAA_Q[8] = 1'b0;
|
||||
if (F_In[Flag_N] == 1'b0 )
|
||||
begin
|
||||
// After addition
|
||||
// Alow > 9 || H == 1
|
||||
if (DAA_Q[3:0] > 9 || F_In[Flag_H] == 1'b1 )
|
||||
begin
|
||||
if ((DAA_Q[3:0] > 9) )
|
||||
begin
|
||||
F_Out[Flag_H] = 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
end
|
||||
DAA_Q = DAA_Q + 6;
|
||||
end // if (DAA_Q[3:0] > 9 || F_In[Flag_H] == 1'b1 )
|
||||
|
||||
// new Ahigh > 9 || C == 1
|
||||
if (DAA_Q[8:4] > 9 || F_In[Flag_C] == 1'b1 )
|
||||
begin
|
||||
DAA_Q = DAA_Q + 96; // 0x60
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
// After subtraction
|
||||
if (DAA_Q[3:0] > 9 || F_In[Flag_H] == 1'b1 )
|
||||
begin
|
||||
if (DAA_Q[3:0] > 5 )
|
||||
begin
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
end
|
||||
DAA_Q[7:0] = DAA_Q[7:0] - 6;
|
||||
end
|
||||
if (BusA > 153 || F_In[Flag_C] == 1'b1 )
|
||||
begin
|
||||
DAA_Q = DAA_Q - 352; // 0x160
|
||||
end
|
||||
end // else: !if(F_In[Flag_N] == 1'b0 )
|
||||
|
||||
F_Out[Flag_X] = DAA_Q[3];
|
||||
F_Out[Flag_Y] = DAA_Q[5];
|
||||
F_Out[Flag_C] = F_In[Flag_C] || DAA_Q[8];
|
||||
Q_t = DAA_Q[7:0];
|
||||
|
||||
if (DAA_Q[7:0] == 8'b00000000 )
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b0;
|
||||
end
|
||||
|
||||
F_Out[Flag_S] = DAA_Q[7];
|
||||
F_Out[Flag_P] = ~ (^DAA_Q);
|
||||
end // case: 4'b1100
|
||||
|
||||
4'b1101, 4'b1110 :
|
||||
begin
|
||||
// RLD, RRD
|
||||
Q_t[7:4] = BusA[7:4];
|
||||
if (ALU_Op[0] == 1'b1 )
|
||||
begin
|
||||
Q_t[3:0] = BusB[7:4];
|
||||
end
|
||||
else
|
||||
begin
|
||||
Q_t[3:0] = BusB[3:0];
|
||||
end
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
F_Out[Flag_N] = 1'b0;
|
||||
F_Out[Flag_X] = Q_t[3];
|
||||
F_Out[Flag_Y] = Q_t[5];
|
||||
if (Q_t[7:0] == 8'b00000000 )
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b0;
|
||||
end
|
||||
F_Out[Flag_S] = Q_t[7];
|
||||
F_Out[Flag_P] = ~(^Q_t);
|
||||
end // case: when 4'b1101, 4'b1110
|
||||
|
||||
4'b1001 :
|
||||
begin
|
||||
// BIT
|
||||
Q_t[7:0] = BusB & BitMask;
|
||||
F_Out[Flag_S] = Q_t[7];
|
||||
if (Q_t[7:0] == 8'b00000000 )
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b1;
|
||||
F_Out[Flag_P] = 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b0;
|
||||
F_Out[Flag_P] = 1'b0;
|
||||
end
|
||||
F_Out[Flag_H] = 1'b1;
|
||||
F_Out[Flag_N] = 1'b0;
|
||||
F_Out[Flag_X] = 1'b0;
|
||||
F_Out[Flag_Y] = 1'b0;
|
||||
if (IR[2:0] != 3'b110 )
|
||||
begin
|
||||
F_Out[Flag_X] = BusB[3];
|
||||
F_Out[Flag_Y] = BusB[5];
|
||||
end
|
||||
end // case: when 4'b1001
|
||||
|
||||
4'b1010 :
|
||||
// SET
|
||||
Q_t[7:0] = BusB | BitMask;
|
||||
|
||||
4'b1011 :
|
||||
// RES
|
||||
Q_t[7:0] = BusB & ~ BitMask;
|
||||
|
||||
4'b1000 :
|
||||
begin
|
||||
// ROT
|
||||
case (IR[5:3])
|
||||
3'b000 : // RLC
|
||||
begin
|
||||
Q_t[7:1] = BusA[6:0];
|
||||
Q_t[0] = BusA[7];
|
||||
F_Out[Flag_C] = BusA[7];
|
||||
end
|
||||
|
||||
3'b010 : // RL
|
||||
begin
|
||||
Q_t[7:1] = BusA[6:0];
|
||||
Q_t[0] = F_In[Flag_C];
|
||||
F_Out[Flag_C] = BusA[7];
|
||||
end
|
||||
|
||||
3'b001 : // RRC
|
||||
begin
|
||||
Q_t[6:0] = BusA[7:1];
|
||||
Q_t[7] = BusA[0];
|
||||
F_Out[Flag_C] = BusA[0];
|
||||
end
|
||||
|
||||
3'b011 : // RR
|
||||
begin
|
||||
Q_t[6:0] = BusA[7:1];
|
||||
Q_t[7] = F_In[Flag_C];
|
||||
F_Out[Flag_C] = BusA[0];
|
||||
end
|
||||
|
||||
3'b100 : // SLA
|
||||
begin
|
||||
Q_t[7:1] = BusA[6:0];
|
||||
Q_t[0] = 1'b0;
|
||||
F_Out[Flag_C] = BusA[7];
|
||||
end
|
||||
|
||||
3'b110 : // SLL (Undocumented) / SWAP
|
||||
begin
|
||||
if (Mode == 3 )
|
||||
begin
|
||||
Q_t[7:4] = BusA[3:0];
|
||||
Q_t[3:0] = BusA[7:4];
|
||||
F_Out[Flag_C] = 1'b0;
|
||||
end
|
||||
else
|
||||
begin
|
||||
Q_t[7:1] = BusA[6:0];
|
||||
Q_t[0] = 1'b1;
|
||||
F_Out[Flag_C] = BusA[7];
|
||||
end // else: !if(Mode == 3 )
|
||||
end // case: 3'b110
|
||||
|
||||
3'b101 : // SRA
|
||||
begin
|
||||
Q_t[6:0] = BusA[7:1];
|
||||
Q_t[7] = BusA[7];
|
||||
F_Out[Flag_C] = BusA[0];
|
||||
end
|
||||
|
||||
default : // SRL
|
||||
begin
|
||||
Q_t[6:0] = BusA[7:1];
|
||||
Q_t[7] = 1'b0;
|
||||
F_Out[Flag_C] = BusA[0];
|
||||
end
|
||||
endcase // case(IR[5:3])
|
||||
|
||||
F_Out[Flag_H] = 1'b0;
|
||||
F_Out[Flag_N] = 1'b0;
|
||||
F_Out[Flag_X] = Q_t[3];
|
||||
F_Out[Flag_Y] = Q_t[5];
|
||||
F_Out[Flag_S] = Q_t[7];
|
||||
if (Q_t[7:0] == 8'b00000000 )
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b1;
|
||||
end
|
||||
else
|
||||
begin
|
||||
F_Out[Flag_Z] = 1'b0;
|
||||
end
|
||||
F_Out[Flag_P] = ~(^Q_t);
|
||||
|
||||
if (ISet == 2'b00 )
|
||||
begin
|
||||
F_Out[Flag_P] = F_In[Flag_P];
|
||||
F_Out[Flag_S] = F_In[Flag_S];
|
||||
F_Out[Flag_Z] = F_In[Flag_Z];
|
||||
end
|
||||
end // case: 4'b1000
|
||||
|
||||
|
||||
default :
|
||||
;
|
||||
|
||||
endcase // case(ALU_Op)
|
||||
|
||||
Q = Q_t;
|
||||
end // always @ (Arith16, ALU_OP, F_In, BusA, BusB, IR, Q_v, Carry_v, HalfCarry_v, OverFlow_v, BitMask, ISet, Z16)
|
||||
|
||||
endmodule // T80_ALU
|
||||
1356
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_core.v
Normal file
1356
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_core.v
Normal file
File diff suppressed because it is too large
Load Diff
2653
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_mcode.v
Normal file
2653
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_mcode.v
Normal file
File diff suppressed because it is too large
Load Diff
71
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_reg.v
Normal file
71
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80_reg.v
Normal file
@@ -0,0 +1,71 @@
|
||||
//
|
||||
// TV80 8-Bit Microprocessor Core
|
||||
// Based on the VHDL T80 core by Daniel Wallner (jesus@opencores.org)
|
||||
//
|
||||
// Copyright (c) 2004 Guy Hutchison (ghutchis@opencores.org)
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
module tv80_reg (/*AUTOARG*/
|
||||
// Outputs
|
||||
DOBH, DOAL, DOCL, DOBL, DOCH, DOAH,
|
||||
// Inputs
|
||||
AddrC, AddrA, AddrB, DIH, DIL, clk, CEN, WEH, WEL
|
||||
);
|
||||
input [2:0] AddrC;
|
||||
output [7:0] DOBH;
|
||||
input [2:0] AddrA;
|
||||
input [2:0] AddrB;
|
||||
input [7:0] DIH;
|
||||
output [7:0] DOAL;
|
||||
output [7:0] DOCL;
|
||||
input [7:0] DIL;
|
||||
output [7:0] DOBL;
|
||||
output [7:0] DOCH;
|
||||
output [7:0] DOAH;
|
||||
input clk, CEN, WEH, WEL;
|
||||
|
||||
reg [7:0] RegsH [0:7];
|
||||
reg [7:0] RegsL [0:7];
|
||||
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if (CEN)
|
||||
begin
|
||||
if (WEH) RegsH[AddrA] <= DIH;
|
||||
if (WEL) RegsL[AddrA] <= DIL;
|
||||
end
|
||||
end
|
||||
|
||||
assign DOAH = RegsH[AddrA];
|
||||
assign DOAL = RegsL[AddrA];
|
||||
assign DOBH = RegsH[AddrB];
|
||||
assign DOBL = RegsL[AddrB];
|
||||
assign DOCH = RegsH[AddrC];
|
||||
assign DOCL = RegsL[AddrC];
|
||||
|
||||
// break out ram bits for waveform debug
|
||||
wire [7:0] H = RegsH[2];
|
||||
wire [7:0] L = RegsL[2];
|
||||
|
||||
// synopsys dc_script_begin
|
||||
// set_attribute current_design "revision" "$Id: tv80_reg.v,v 1.1 2004/05/16 17:39:57 ghutchis Exp $" -type string -quiet
|
||||
// synopsys dc_script_end
|
||||
endmodule
|
||||
|
||||
164
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80s.v
Normal file
164
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/TV80/tv80s.v
Normal file
@@ -0,0 +1,164 @@
|
||||
//
|
||||
// TV80 8-Bit Microprocessor Core
|
||||
// Based on the VHDL T80 core by Daniel Wallner (jesus@opencores.org)
|
||||
//
|
||||
// Copyright (c) 2004 Guy Hutchison (ghutchis@opencores.org)
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
//`define TV80_REFRESH
|
||||
|
||||
module tv80s (/*AUTOARG*/
|
||||
// Outputs
|
||||
m1_n, mreq_n, iorq_n, rd_n, wr_n, rfsh_n, halt_n, busak_n, A, do,
|
||||
// Inputs
|
||||
reset_n, clk, wait_n, int_n, nmi_n, busrq_n, di
|
||||
);
|
||||
|
||||
parameter Mode = 0; // 0 => Z80, 1 => Fast Z80, 2 => 8080, 3 => GB
|
||||
parameter T2Write = 1; // 0 => wr_n active in T3, /=0 => wr_n active in T2
|
||||
parameter IOWait = 1; // 0 => Single cycle I/O, 1 => Std I/O cycle
|
||||
|
||||
|
||||
input reset_n;
|
||||
input clk;
|
||||
input wait_n;
|
||||
input int_n;
|
||||
input nmi_n;
|
||||
input busrq_n;
|
||||
output m1_n;
|
||||
output mreq_n;
|
||||
output iorq_n;
|
||||
output rd_n;
|
||||
output wr_n;
|
||||
output rfsh_n;
|
||||
output halt_n;
|
||||
output busak_n;
|
||||
output [15:0] A;
|
||||
input [7:0] di;
|
||||
output [7:0] do;
|
||||
|
||||
reg mreq_n;
|
||||
reg iorq_n;
|
||||
reg rd_n;
|
||||
reg wr_n;
|
||||
|
||||
wire cen;
|
||||
wire intcycle_n;
|
||||
wire no_read;
|
||||
wire write;
|
||||
wire iorq;
|
||||
reg [7:0] di_reg;
|
||||
wire [6:0] mcycle;
|
||||
wire [6:0] tstate;
|
||||
|
||||
assign cen = 1;
|
||||
|
||||
tv80_core #(Mode, IOWait) i_tv80_core
|
||||
(
|
||||
.cen (cen),
|
||||
.m1_n (m1_n),
|
||||
.iorq (iorq),
|
||||
.no_read (no_read),
|
||||
.write (write),
|
||||
.rfsh_n (rfsh_n),
|
||||
.halt_n (halt_n),
|
||||
.wait_n (wait_n),
|
||||
.int_n (int_n),
|
||||
.nmi_n (nmi_n),
|
||||
.reset_n (reset_n),
|
||||
.busrq_n (busrq_n),
|
||||
.busak_n (busak_n),
|
||||
.clk (clk),
|
||||
.IntE (),
|
||||
.stop (),
|
||||
.A (A),
|
||||
.dinst (di),
|
||||
.di (di_reg),
|
||||
.do (do),
|
||||
.mc (mcycle),
|
||||
.ts (tstate),
|
||||
.intcycle_n (intcycle_n)
|
||||
);
|
||||
|
||||
always @(posedge clk)
|
||||
begin
|
||||
if (!reset_n)
|
||||
begin
|
||||
rd_n <= #1 1'b1;
|
||||
wr_n <= #1 1'b1;
|
||||
iorq_n <= #1 1'b1;
|
||||
mreq_n <= #1 1'b1;
|
||||
di_reg <= #1 0;
|
||||
end
|
||||
else
|
||||
begin
|
||||
rd_n <= #1 1'b1;
|
||||
wr_n <= #1 1'b1;
|
||||
iorq_n <= #1 1'b1;
|
||||
mreq_n <= #1 1'b1;
|
||||
if (mcycle[0])
|
||||
begin
|
||||
if (tstate[1] || (tstate[2] && wait_n == 1'b0))
|
||||
begin
|
||||
rd_n <= #1 ~ intcycle_n;
|
||||
mreq_n <= #1 ~ intcycle_n;
|
||||
iorq_n <= #1 intcycle_n;
|
||||
end
|
||||
`ifdef TV80_REFRESH
|
||||
if (tstate[3])
|
||||
mreq_n <= #1 1'b0;
|
||||
`endif
|
||||
end // if (mcycle[0])
|
||||
else
|
||||
begin
|
||||
if ((tstate[1] || (tstate[2] && wait_n == 1'b0)) && no_read == 1'b0 && write == 1'b0)
|
||||
begin
|
||||
rd_n <= #1 1'b0;
|
||||
iorq_n <= #1 ~ iorq;
|
||||
mreq_n <= #1 iorq;
|
||||
end
|
||||
if (T2Write == 0)
|
||||
begin
|
||||
if (tstate[2] && write == 1'b1)
|
||||
begin
|
||||
wr_n <= #1 1'b0;
|
||||
iorq_n <= #1 ~ iorq;
|
||||
mreq_n <= #1 iorq;
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
if ((tstate[1] || (tstate[2] && wait_n == 1'b0)) && write == 1'b1)
|
||||
begin
|
||||
wr_n <= #1 1'b0;
|
||||
iorq_n <= #1 ~ iorq;
|
||||
mreq_n <= #1 iorq;
|
||||
end
|
||||
end // else: !if(T2write == 0)
|
||||
|
||||
end // else: !if(mcycle[0])
|
||||
|
||||
if (tstate[2] && wait_n == 1'b1)
|
||||
di_reg <= #1 di;
|
||||
end // else: !if(!reset_n)
|
||||
end // always @ (posedge clk or negedge reset_n)
|
||||
|
||||
endmodule // t80s
|
||||
|
||||
35
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/build_id.tcl
Normal file
35
Arcade_MiST/Galaga Hardware/DigDug_MiST/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
|
||||
84
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/cpucore.v
Normal file
84
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/cpucore.v
Normal file
@@ -0,0 +1,84 @@
|
||||
module CPUCORE
|
||||
(
|
||||
input RESET,
|
||||
input CLK,
|
||||
input IRQ,
|
||||
input NMI,
|
||||
output RD,
|
||||
output WR,
|
||||
output [15:0] AD,
|
||||
input DV,
|
||||
input [7:0] DI,
|
||||
input [7:0] IR,
|
||||
output [7:0] DO
|
||||
);
|
||||
|
||||
wire [7:0] m_do;
|
||||
wire [15:0] m_ad;
|
||||
wire m_irq, m_nmi, m_me, m_ie, m_rd, m_wr;
|
||||
|
||||
wire m_mx = (~m_me);
|
||||
wire m_mr = (~m_rd) & m_mx;
|
||||
wire m_mw = (~m_wr) & m_mx;
|
||||
|
||||
wire cs_mrom = ( m_ad[15:14] == 2'b00 );
|
||||
wire cs_nodv = cs_mrom;
|
||||
|
||||
wire [7:0] m_di = cs_mrom ? IR : DV ? DI : 8'hFF;
|
||||
|
||||
assign m_irq = ~IRQ;
|
||||
assign m_nmi = ~NMI;
|
||||
|
||||
tv80s core(
|
||||
.mreq_n(m_me),
|
||||
.iorq_n(m_ie),
|
||||
.rd_n(m_rd),
|
||||
.wr_n(m_wr),
|
||||
.A(m_ad),
|
||||
.do(m_do),
|
||||
|
||||
.reset_n(~RESET),
|
||||
.clk(CLK),
|
||||
.wait_n(1'b1),
|
||||
.int_n(m_irq),
|
||||
.nmi_n(m_nmi),
|
||||
.busrq_n(1'b1),
|
||||
.di(m_di)
|
||||
);
|
||||
|
||||
assign RD = m_mr & ~cs_nodv;
|
||||
assign WR = m_mw & ~cs_nodv;
|
||||
assign AD = m_ad;
|
||||
assign DO = m_do;
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// NMI Ack Control
|
||||
//-----------------------------------------------
|
||||
module CPUNMIACK
|
||||
(
|
||||
input RST,
|
||||
input CL,
|
||||
input [15:0] AD,
|
||||
input NMI,
|
||||
output reg NMIo
|
||||
);
|
||||
|
||||
reg pNMI = 1'b0;
|
||||
wire NMIACK = ( AD == 16'h0066 );
|
||||
always @( negedge CL or posedge RST ) begin
|
||||
if (RST) begin
|
||||
pNMI <= 1'b0;
|
||||
NMIo <= 1'b0;
|
||||
end
|
||||
else begin
|
||||
if (NMIACK) NMIo <= 0;
|
||||
else if ((pNMI^NMI) & NMI) NMIo <= 1'b1;
|
||||
pNMI <= NMI;
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
130
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/dprams.v
Normal file
130
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/dprams.v
Normal file
@@ -0,0 +1,130 @@
|
||||
//--------------------------------------------
|
||||
// Dualport RAM modules for FPGA DigDug
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module DPR2KV
|
||||
(
|
||||
input CL0,
|
||||
input [10:0] AD0,
|
||||
input EN0,
|
||||
input WR0,
|
||||
input [7:0] DI0,
|
||||
output [7:0] DO0,
|
||||
|
||||
input CL1,
|
||||
input [10:0] AD1,
|
||||
output [7:0] DO1
|
||||
);
|
||||
|
||||
DPR2K ram(
|
||||
CL0, AD0, EN0, WR0, DI0, DO0,
|
||||
CL1, AD1, 1'b1, 1'b0, 8'h0, DO1
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module DPR2K
|
||||
(
|
||||
input CL0,
|
||||
input [10:0] AD0,
|
||||
input EN0,
|
||||
input WR0,
|
||||
input [7:0] DI0,
|
||||
output reg [7:0] DO0,
|
||||
|
||||
input CL1,
|
||||
input [10:0] AD1,
|
||||
input EN1,
|
||||
input WR1,
|
||||
input [7:0] DI1,
|
||||
output reg [7:0] DO1
|
||||
);
|
||||
|
||||
reg [7:0] mram[0:2047];
|
||||
|
||||
always @( posedge CL0 ) begin
|
||||
if (EN0) begin
|
||||
DO0 <= mram[AD0];
|
||||
if (WR0) mram[AD0] <= DI0;
|
||||
end
|
||||
end
|
||||
|
||||
always @( posedge CL1 ) begin
|
||||
if (EN1) begin
|
||||
DO1 <= mram[AD1];
|
||||
if (WR1) mram[AD1] <= DI1;
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module LBUF1K
|
||||
(
|
||||
input CL0,
|
||||
input [9:0] AD0,
|
||||
input WR0,
|
||||
input [7:0] DI0,
|
||||
|
||||
input CL1,
|
||||
input [9:0] AD1,
|
||||
input WR1,
|
||||
input [7:0] DI1,
|
||||
output [7:0] DO1
|
||||
);
|
||||
|
||||
wire [7:0] non;
|
||||
|
||||
LINEBUF lbuf(
|
||||
AD0,AD1,
|
||||
CL0,CL1,
|
||||
DI0,DI1,
|
||||
WR0,WR1,
|
||||
non,DO1
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module DLROM #(parameter AW,parameter DW)
|
||||
(
|
||||
input CL0,
|
||||
input [(AW-1):0] AD0,
|
||||
output reg [(DW-1):0] DO0,
|
||||
|
||||
input CL1,
|
||||
input [(AW-1):0] AD1,
|
||||
input [(DW-1):0] DI1,
|
||||
input WE1
|
||||
);
|
||||
|
||||
reg [DW:0] core[0:((2**AW)-1)];
|
||||
|
||||
always @(posedge CL0) DO0 <= core[AD0];
|
||||
always @(posedge CL1) if (WE1) core[AD1] <= DI1;
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module DLROMe #(parameter AW,parameter DW)
|
||||
(
|
||||
input RE0,
|
||||
input CL0,
|
||||
input [(AW-1):0] AD0,
|
||||
output reg [(DW-1):0] DO0,
|
||||
|
||||
input CL1,
|
||||
input [(AW-1):0] AD1,
|
||||
input [(DW-1):0] DI1,
|
||||
input WE1
|
||||
);
|
||||
|
||||
reg [DW:0] core[0:((2**AW)-1)];
|
||||
|
||||
always @(posedge CL0) if (RE0) DO0 <= core[AD0];
|
||||
always @(posedge CL1) if (WE1) core[AD1] <= DI1;
|
||||
|
||||
endmodule
|
||||
|
||||
40
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/hvgen.v
Normal file
40
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/hvgen.v
Normal file
@@ -0,0 +1,40 @@
|
||||
module hvgen
|
||||
(
|
||||
output [8:0] HPOS,
|
||||
output [8:0] VPOS,
|
||||
input PCLK,
|
||||
input [11:0] iRGB,
|
||||
|
||||
output reg [11:0] oRGB,
|
||||
output reg HBLK = 1,
|
||||
output reg VBLK = 1,
|
||||
output reg HSYN = 1,
|
||||
output reg VSYN = 1
|
||||
);
|
||||
|
||||
reg [8:0] hcnt = 0;
|
||||
reg [8:0] vcnt = 0;
|
||||
|
||||
assign HPOS = hcnt;
|
||||
assign VPOS = vcnt;
|
||||
|
||||
always @(posedge PCLK) begin
|
||||
case (hcnt)
|
||||
289: begin HBLK <= 1; HSYN <= 0; hcnt <= hcnt+1; end
|
||||
311: begin HSYN <= 1; hcnt <= hcnt+1; end
|
||||
383: begin
|
||||
HBLK <= 0; HSYN <= 1; hcnt <= 0;
|
||||
case (vcnt)
|
||||
223: begin VBLK <= 1; vcnt <= vcnt+1; end
|
||||
226: begin VSYN <= 0; vcnt <= vcnt+1; end
|
||||
233: begin VSYN <= 1; vcnt <= vcnt+1; end
|
||||
262: begin VBLK <= 0; vcnt <= 0; end
|
||||
default: vcnt <= vcnt+1;
|
||||
endcase
|
||||
end
|
||||
default: hcnt <= hcnt+1;
|
||||
endcase
|
||||
oRGB <= (HBLK|VBLK|(hcnt==0)) ? 12'h0 : iRGB;
|
||||
end
|
||||
|
||||
endmodule
|
||||
4
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/pll.qip
Normal file
4
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/pll.qip
Normal file
@@ -0,0 +1,4 @@
|
||||
set_global_assignment -name IP_TOOL_NAME "ALTPLL"
|
||||
set_global_assignment -name IP_TOOL_VERSION "13.1"
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "pll.v"]
|
||||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.ppf"]
|
||||
337
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/pll.v
Normal file
337
Arcade_MiST/Galaga Hardware/DigDug_MiST/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 Web Edition
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//Copyright (C) 1991-2014 Altera Corporation
|
||||
//Your use of Altera Corporation's design tools, logic functions
|
||||
//and other software and tools, and its AMPP partner logic
|
||||
//functions, and any output files from any of the foregoing
|
||||
//(including device programming or simulation files), and any
|
||||
//associated documentation or information are expressly subject
|
||||
//to the terms and conditions of the Altera Program License
|
||||
//Subscription Agreement, Altera MegaCore Function License
|
||||
//Agreement, or other applicable license agreement, including,
|
||||
//without limitation, that your use is for the sole purpose of
|
||||
//programming logic devices manufactured by Altera and sold by
|
||||
//Altera or its authorized distributors. Please refer to the
|
||||
//applicable agreement for further details.
|
||||
|
||||
|
||||
// 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 = 1125,
|
||||
altpll_component.clk0_duty_cycle = 50,
|
||||
altpll_component.clk0_multiply_by = 2048,
|
||||
altpll_component.clk0_phase_shift = "0",
|
||||
altpll_component.clk1_divide_by = 25,
|
||||
altpll_component.clk1_duty_cycle = 50,
|
||||
altpll_component.clk1_multiply_by = 91,
|
||||
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 "39"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "25"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "49.152000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "98.279999"
|
||||
// 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 "71"
|
||||
// Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "91"
|
||||
// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "49.15200000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "98.30400000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "ps"
|
||||
// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||||
// Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif"
|
||||
// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||||
// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
|
||||
// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
|
||||
// Retrieval info: PRIVATE: SPREAD_USE STRING "0"
|
||||
// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK1 STRING "1"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: USE_CLK1 STRING "1"
|
||||
// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_CLKENA1 STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
|
||||
// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||||
// Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"
|
||||
// Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "1125"
|
||||
// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "2048"
|
||||
// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||||
// Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "25"
|
||||
// Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "91"
|
||||
// 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
|
||||
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.109
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.109
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.110
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.110
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.111
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.111
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.112
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.112
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.113
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/136007.113
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/51xx.bin
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/51xx.bin
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/53xx.bin
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/53xx.bin
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/DIGDUG.ROM
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/DIGDUG.ROM
Normal file
Binary file not shown.
278
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/bgchip_rom.vhd
Normal file
278
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/bgchip_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity bgchip_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 bgchip_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",
|
||||
X"F3",X"F1",X"E1",X"F3",X"F3",X"F1",X"F1",X"F3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",
|
||||
X"FF",X"FF",X"EF",X"FF",X"7F",X"FF",X"FF",X"7F",X"FF",X"DF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",
|
||||
X"C3",X"E1",X"E1",X"C3",X"C3",X"E1",X"E1",X"C3",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"68",X"18",X"78",X"18",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"01",
|
||||
X"78",X"78",X"78",X"69",X"0F",X"0F",X"0F",X"00",X"07",X"07",X"07",X"03",X"03",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"88",X"00",X"02",X"0A",X"0E",X"00",X"22",X"77",X"FF",X"22",X"27",X"2F",X"2F",
|
||||
X"0E",X"08",X"0A",X"0A",X"0E",X"0E",X"00",X"00",X"3C",X"3C",X"3C",X"E1",X"E3",X"26",X"22",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"68",X"18",X"78",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",
|
||||
X"18",X"78",X"78",X"78",X"69",X"0F",X"0F",X"0F",X"01",X"07",X"07",X"07",X"03",X"03",X"01",X"00",
|
||||
X"00",X"88",X"CC",X"66",X"EE",X"EE",X"EE",X"2A",X"33",X"11",X"C0",X"C0",X"C4",X"7F",X"4F",X"4F",
|
||||
X"08",X"08",X"0A",X"0E",X"0E",X"0E",X"0A",X"00",X"69",X"69",X"69",X"4B",X"C3",X"C3",X"0F",X"06",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"A0",X"A0",X"0E",X"08",X"00",X"00",X"00",
|
||||
X"F0",X"E0",X"E0",X"0F",X"0F",X"0E",X"0E",X"00",X"0F",X"1E",X"1E",X"0F",X"07",X"03",X"00",X"00",
|
||||
X"00",X"88",X"CC",X"66",X"33",X"11",X"C0",X"C0",X"00",X"FF",X"77",X"7F",X"2E",X"2E",X"FF",X"1E",
|
||||
X"00",X"0C",X"08",X"0F",X"0F",X"78",X"F0",X"0F",X"00",X"07",X"03",X"07",X"07",X"0F",X"3C",X"34",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"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"1F",X"1E",X"1F",X"17",X"1F",X"1F",X"17",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"3F",X"3F",X"3E",X"3F",X"37",X"3F",X"3F",X"37",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"7F",X"7F",X"7E",X"7F",X"77",X"7F",X"7F",X"77",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"1F",X"1D",X"1F",X"1F",X"1F",X"1F",X"17",X"1F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"3F",X"3D",X"3F",X"3F",X"3F",X"3F",X"37",X"3F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"7F",X"7D",X"7F",X"7F",X"7F",X"7F",X"77",X"7F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"1F",X"1E",X"1F",X"17",X"1F",X"1F",X"17",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"3F",X"3F",X"3E",X"3F",X"37",X"3F",X"3F",X"37",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"7F",X"7F",X"7E",X"7F",X"77",X"7F",X"7F",X"77",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"1F",X"1D",X"1F",X"1F",X"1F",X"1F",X"17",X"1F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"3F",X"3D",X"3F",X"3F",X"3F",X"3F",X"37",X"3F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"7F",X"7D",X"7F",X"7F",X"7F",X"7F",X"77",X"7F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1F",X"1F",X"1E",X"1F",X"17",X"1F",X"1F",X"17",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"3F",X"3F",X"3E",X"3F",X"37",X"3F",X"3F",X"37",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"7F",X"7F",X"7E",X"7F",X"77",X"7F",X"7F",X"77",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"0F",X"0D",X"0F",X"0F",X"0F",X"0F",X"07",X"0F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"1F",X"1D",X"1F",X"1F",X"1F",X"1F",X"17",X"1F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"3F",X"3D",X"3F",X"3F",X"3F",X"3F",X"37",X"3F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"7F",X"7D",X"7F",X"7F",X"7F",X"7F",X"77",X"7F",
|
||||
X"FF",X"FF",X"FE",X"FF",X"F7",X"FF",X"FF",X"F7",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"C3",X"E1",X"E1",X"C3",X"C3",X"E1",X"E1",X"C3",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",
|
||||
X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",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"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"00",X"77",X"77",X"77",X"77",X"77",X"77",X"77",X"00",
|
||||
X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",
|
||||
X"00",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",X"EE",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"77",X"77",X"77",X"77",X"77",X"77",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"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"B0",X"F0",X"4F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"90",X"F0",X"CF",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"90",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"10",X"F0",X"CF",X"0F",X"70",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"B0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"B0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"B0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"90",X"F0",X"4F",X"0F",X"F0",X"F0",X"EF",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"10",X"F0",X"EF",X"0F",X"70",X"F0",X"FF",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"10",X"F0",X"FF",X"0F",X"70",X"F0",X"FF",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"30",X"F0",X"EF",X"0F",X"30",X"F0",X"EF",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"CF",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",
|
||||
X"F0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F",X"B0",X"F0",X"0F",X"0F",X"F0",X"F0",X"0F",X"0F");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -0,0 +1,38 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity bgclut_rom is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(7 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of bgclut_rom is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"06",X"08",X"01",X"00",X"02",X"08",X"0A",X"06",X"01",X"01",X"03",X"01",X"03",X"03",X"05",
|
||||
X"03",X"05",X"05",X"07",X"02",X"06",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"08",X"0B",X"00",X"02",X"08",X"0A",X"09",X"0B",X"0C",X"0E",X"0C",X"0E",X"09",X"01",
|
||||
X"09",X"01",X"07",X"03",X"02",X"06",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"08",X"0B",X"00",X"02",X"08",X"0A",X"09",X"0B",X"0C",X"09",X"0C",X"09",X"00",X"0D",
|
||||
X"00",X"0D",X"09",X"0C",X"02",X"06",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"09",X"08",X"0E",X"00",X"02",X"08",X"0A",X"09",X"0E",X"05",X"0E",X"05",X"0E",X"0C",X"0E",
|
||||
X"0C",X"0E",X"07",X"0E",X"02",X"06",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
|
||||
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/Galaga Hardware/DigDug_MiST/rtl/roms/bgscrn_rom.vhd
Normal file
278
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/bgscrn_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity bgscrn_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 bgscrn_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"10",X"11",X"10",X"11",
|
||||
X"10",X"11",X"10",X"11",X"10",X"11",X"10",X"11",X"10",X"11",X"10",X"11",X"10",X"11",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"12",X"13",X"12",X"13",
|
||||
X"12",X"13",X"12",X"13",X"12",X"13",X"12",X"13",X"12",X"13",X"12",X"13",X"12",X"13",X"01",X"01",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"34",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"34",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"44",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"35",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"27",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"47",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"26",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"47",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"46",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"03",X"04",X"04",X"04",X"04",X"04",X"04",X"04",X"25",X"27",X"27",X"27",X"27",X"27",
|
||||
X"27",X"27",X"36",X"37",X"37",X"37",X"37",X"37",X"37",X"37",X"45",X"47",X"47",X"47",X"47",X"47",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",X"02",
|
||||
X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",
|
||||
X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",
|
||||
X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",
|
||||
X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",X"57",X"56",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",
|
||||
X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",
|
||||
X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",X"57",X"54",
|
||||
X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",
|
||||
X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"65",X"04",X"27",X"75",X"27",X"2F",X"85",X"2F",X"37",X"95",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"51",X"53",X"04",X"64",X"04",X"27",X"74",X"27",X"2F",X"84",X"2F",X"37",X"94",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"50",X"52",X"04",X"63",X"04",X"27",X"73",X"27",X"2F",X"83",X"2F",X"37",X"93",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"49",X"48",X"04",X"62",X"04",X"27",X"72",X"27",X"2F",X"82",X"2F",X"37",X"92",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"4B",X"4A",X"04",X"62",X"04",X"27",X"72",X"27",X"2F",X"82",X"2F",X"37",X"92",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6F",X"01",X"01",X"01",X"01",
|
||||
X"01",X"14",X"16",X"04",X"61",X"04",X"27",X"71",X"27",X"2F",X"81",X"2F",X"37",X"92",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6E",X"01",X"01",X"01",X"01",
|
||||
X"01",X"15",X"17",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"91",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6D",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6C",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6B",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"6A",X"01",X"1B",X"1A",X"44",
|
||||
X"45",X"51",X"53",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"69",X"01",X"19",X"18",X"46",
|
||||
X"47",X"50",X"52",X"04",X"65",X"04",X"27",X"75",X"27",X"2F",X"85",X"2F",X"37",X"95",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"68",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"64",X"04",X"27",X"74",X"27",X"2F",X"84",X"2F",X"37",X"94",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"67",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"04",X"63",X"04",X"27",X"73",X"27",X"2F",X"83",X"2F",X"37",X"93",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"66",X"01",X"01",X"01",X"01",
|
||||
X"01",X"41",X"43",X"04",X"62",X"04",X"27",X"72",X"27",X"2F",X"82",X"2F",X"37",X"92",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"40",X"42",X"04",X"62",X"04",X"27",X"72",X"27",X"2F",X"82",X"2F",X"37",X"92",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"49",X"48",X"04",X"60",X"04",X"27",X"70",X"27",X"2F",X"80",X"2F",X"37",X"90",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"4B",X"4A",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"14",X"16",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"15",X"17",X"04",X"04",X"04",X"27",X"27",X"27",X"2F",X"2F",X"2F",X"37",X"37",X"37",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"52",X"52",X"52",X"51",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",X"50",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",
|
||||
X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01",X"01");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
copy /b dd1a.1 + dd1a.2 + dd1a.3 + dd1a.4 cpu0
|
||||
make_vhdl_prom.exe cpu0 cpu0_rom.vhd
|
||||
|
||||
copy /b dd1a.5 + dd1a.6 cpu1
|
||||
make_vhdl_prom.exe cpu1 cpu1_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.7 cpu2_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.9 fgchip_rom.vhd
|
||||
|
||||
copy /b dd1.15 + dd1.14 + dd1.13 + dd1.12 spchip
|
||||
make_vhdl_prom.exe spchip spchip_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.11 bgchip_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.10b bgscrn_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe 136007.113 palette_rom.vhd
|
||||
make_vhdl_prom.exe 136007.111 spclut_rom.vhd
|
||||
make_vhdl_prom.exe 136007.112 bgclut_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe 136007.110 wave_rom.vhd
|
||||
pause
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
copy /b dd1.1 + dd1.2 + dd1.3 + dd1.4b cpu0
|
||||
make_vhdl_prom.exe cpu0 cpu0_rom.vhd
|
||||
|
||||
copy /b dd1.5b + dd1.6b cpu1
|
||||
make_vhdl_prom.exe cpu1 cpu1_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.7 cpu2_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.9 fgchip_rom.vhd
|
||||
|
||||
copy /b dd1.15 + dd1.14 + dd1.13 + dd1.12 spchip
|
||||
make_vhdl_prom.exe spchip spchip_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.11 bgchip_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe dd1.10b bgscrn_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe 136007.113 palette_rom.vhd
|
||||
make_vhdl_prom.exe 136007.111 spclut_rom.vhd
|
||||
make_vhdl_prom.exe 136007.112 bgclut_rom.vhd
|
||||
|
||||
make_vhdl_prom.exe 136007.110 wave_rom.vhd
|
||||
pause
|
||||
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu0
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu0
Normal file
Binary file not shown.
1046
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu0_rom.vhd
Normal file
1046
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu0_rom.vhd
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu1
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu1
Normal file
Binary file not shown.
534
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu1_rom.vhd
Normal file
534
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu1_rom.vhd
Normal file
@@ -0,0 +1,534 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity cpu1_rom is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(12 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of cpu1_rom is
|
||||
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"F3",X"ED",X"56",X"C3",X"68",X"00",X"00",X"00",X"87",X"30",X"05",X"24",X"C3",X"10",X"00",X"00",
|
||||
X"85",X"6F",X"D0",X"24",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E5",X"D5",X"C5",X"F5",X"CD",X"80",X"00",X"F1",
|
||||
X"C1",X"D1",X"E1",X"FB",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"ED",X"45",X"AF",X"32",X"21",X"68",X"31",X"80",X"9A",X"CD",
|
||||
X"07",X"1F",X"3E",X"01",X"32",X"21",X"68",X"FB",X"31",X"80",X"9A",X"CD",X"DC",X"1D",X"18",X"F8",
|
||||
X"AF",X"32",X"21",X"68",X"32",X"02",X"A0",X"3A",X"9A",X"87",X"A7",X"C2",X"DF",X"02",X"CD",X"4C",
|
||||
X"0E",X"CD",X"9F",X"1B",X"3A",X"CF",X"87",X"CB",X"6F",X"CA",X"D0",X"02",X"3A",X"8C",X"89",X"A7",
|
||||
X"20",X"02",X"3E",X"05",X"32",X"09",X"84",X"21",X"E5",X"89",X"11",X"EF",X"89",X"06",X"04",X"C5",
|
||||
X"CD",X"6F",X"04",X"C1",X"10",X"F9",X"3A",X"E2",X"89",X"E6",X"0F",X"32",X"E2",X"89",X"3A",X"F3",
|
||||
X"89",X"FE",X"3C",X"20",X"12",X"AF",X"32",X"F3",X"89",X"21",X"E8",X"89",X"06",X"03",X"37",X"7E",
|
||||
X"CE",X"00",X"27",X"77",X"2B",X"10",X"F8",X"21",X"CC",X"87",X"CB",X"4E",X"28",X"05",X"CB",X"56",
|
||||
X"CA",X"D0",X"02",X"00",X"3A",X"57",X"86",X"E6",X"03",X"C2",X"9B",X"04",X"21",X"85",X"87",X"11",
|
||||
X"00",X"84",X"1A",X"CB",X"4F",X"20",X"06",X"CB",X"56",X"20",X"33",X"18",X"10",X"CB",X"5E",X"20",
|
||||
X"33",X"3A",X"81",X"9A",X"FE",X"00",X"CA",X"D0",X"02",X"CB",X"DE",X"18",X"0A",X"3A",X"81",X"9A",
|
||||
X"FE",X"00",X"CA",X"D0",X"02",X"CB",X"D6",X"21",X"87",X"04",X"22",X"5A",X"86",X"3E",X"0A",X"32",
|
||||
X"5C",X"86",X"21",X"00",X"00",X"22",X"5E",X"86",X"CD",X"51",X"03",X"C3",X"D0",X"02",X"CB",X"46",
|
||||
X"20",X"0A",X"18",X"04",X"CB",X"4E",X"20",X"04",X"CB",X"FE",X"18",X"23",X"CB",X"BE",X"3A",X"D5",
|
||||
X"85",X"A7",X"C2",X"E5",X"02",X"21",X"00",X"84",X"CB",X"6E",X"CA",X"E5",X"02",X"23",X"CB",X"7E",
|
||||
X"28",X"03",X"C3",X"E5",X"02",X"CB",X"6E",X"20",X"06",X"CD",X"51",X"03",X"C3",X"E5",X"02",X"CD",
|
||||
X"51",X"12",X"3A",X"01",X"84",X"CB",X"7F",X"C2",X"D0",X"02",X"3A",X"85",X"87",X"CB",X"7F",X"20",
|
||||
X"0F",X"3A",X"6F",X"89",X"CB",X"47",X"CA",X"D0",X"02",X"3A",X"57",X"86",X"CB",X"4F",X"28",X"40",
|
||||
X"3A",X"5C",X"86",X"A7",X"CA",X"DF",X"02",X"2A",X"5E",X"86",X"7D",X"B4",X"20",X"25",X"2A",X"5A",
|
||||
X"86",X"7E",X"32",X"77",X"86",X"23",X"56",X"23",X"5E",X"ED",X"53",X"5E",X"86",X"23",X"22",X"5A",
|
||||
X"86",X"3A",X"5C",X"86",X"3D",X"32",X"5C",X"86",X"7B",X"B2",X"20",X"07",X"AF",X"32",X"5C",X"86",
|
||||
X"C3",X"DF",X"02",X"2A",X"5E",X"86",X"2B",X"22",X"5E",X"86",X"3A",X"77",X"86",X"32",X"70",X"89",
|
||||
X"3A",X"01",X"84",X"CB",X"5F",X"F5",X"C4",X"4E",X"10",X"F1",X"C2",X"9D",X"02",X"3A",X"46",X"86",
|
||||
X"CB",X"47",X"C2",X"35",X"02",X"21",X"03",X"84",X"CB",X"56",X"28",X"4F",X"3A",X"85",X"87",X"CB",
|
||||
X"7F",X"20",X"07",X"3A",X"57",X"86",X"CB",X"4F",X"28",X"05",X"3A",X"70",X"89",X"18",X"03",X"3A",
|
||||
X"B0",X"85",X"4F",X"E6",X"0F",X"FE",X"08",X"CA",X"4E",X"02",X"79",X"CB",X"6F",X"28",X"4F",X"21",
|
||||
X"9F",X"87",X"7E",X"E6",X"0F",X"FE",X"00",X"28",X"03",X"35",X"18",X"47",X"21",X"03",X"84",X"CB",
|
||||
X"96",X"23",X"CB",X"96",X"AF",X"32",X"41",X"86",X"32",X"A0",X"98",X"32",X"A1",X"98",X"21",X"82",
|
||||
X"98",X"06",X"08",X"36",X"00",X"23",X"32",X"30",X"68",X"10",X"F8",X"CD",X"C7",X"10",X"21",X"04",
|
||||
X"84",X"CB",X"96",X"18",X"68",X"AF",X"32",X"A0",X"98",X"32",X"A1",X"98",X"3A",X"AE",X"85",X"CB",
|
||||
X"4F",X"28",X"04",X"3E",X"1D",X"18",X"02",X"3E",X"1C",X"32",X"22",X"98",X"18",X"4F",X"3E",X"01",
|
||||
X"32",X"9F",X"87",X"3A",X"A2",X"98",X"32",X"A0",X"98",X"3A",X"A3",X"98",X"32",X"A1",X"98",X"3A",
|
||||
X"22",X"99",X"32",X"20",X"99",X"3E",X"07",X"32",X"21",X"98",X"3A",X"03",X"84",X"CB",X"5F",X"20",
|
||||
X"17",X"3A",X"E4",X"87",X"CB",X"4F",X"28",X"08",X"11",X"0E",X"0C",X"CD",X"0E",X"04",X"18",X"1D",
|
||||
X"11",X"0A",X"08",X"CD",X"0E",X"04",X"18",X"15",X"3A",X"AE",X"85",X"CB",X"4F",X"28",X"08",X"11",
|
||||
X"0F",X"0D",X"CD",X"0E",X"04",X"18",X"06",X"11",X"0B",X"09",X"CD",X"0E",X"04",X"CD",X"0E",X"13",
|
||||
X"CD",X"67",X"19",X"3A",X"46",X"86",X"CB",X"47",X"20",X"1C",X"CB",X"4F",X"20",X"18",X"21",X"01",
|
||||
X"84",X"CB",X"66",X"20",X"11",X"CD",X"15",X"03",X"3A",X"A2",X"98",X"32",X"80",X"98",X"3A",X"A3",
|
||||
X"98",X"32",X"81",X"98",X"18",X"0A",X"AF",X"32",X"80",X"98",X"32",X"81",X"98",X"CD",X"15",X"03",
|
||||
X"32",X"30",X"68",X"21",X"56",X"86",X"CB",X"5E",X"28",X"05",X"CB",X"9E",X"CD",X"EA",X"02",X"3E",
|
||||
X"01",X"32",X"21",X"68",X"C9",X"CD",X"67",X"19",X"18",X"E6",X"2A",X"DC",X"85",X"E5",X"FD",X"E1",
|
||||
X"2A",X"DA",X"85",X"E5",X"DD",X"E1",X"2A",X"D6",X"85",X"ED",X"5B",X"D8",X"85",X"3A",X"AE",X"85",
|
||||
X"E6",X"0F",X"CA",X"4D",X"15",X"FE",X"02",X"CA",X"62",X"15",X"FE",X"04",X"CA",X"19",X"15",X"FE",
|
||||
X"06",X"CA",X"35",X"15",X"C9",X"3A",X"46",X"86",X"E6",X"03",X"20",X"30",X"3A",X"01",X"84",X"CB",
|
||||
X"7F",X"20",X"29",X"3A",X"03",X"84",X"CB",X"57",X"20",X"22",X"3A",X"85",X"87",X"CB",X"7F",X"20",
|
||||
X"0C",X"3A",X"57",X"86",X"CB",X"4F",X"20",X"05",X"3A",X"B0",X"85",X"18",X"03",X"3A",X"70",X"89",
|
||||
X"E6",X"0F",X"FE",X"08",X"28",X"06",X"3E",X"01",X"32",X"91",X"9A",X"C9",X"AF",X"32",X"91",X"9A",
|
||||
X"C9",X"3A",X"00",X"84",X"CB",X"4F",X"20",X"05",X"3A",X"0D",X"84",X"18",X"03",X"3A",X"0E",X"84",
|
||||
X"11",X"01",X"00",X"A7",X"28",X"0F",X"1F",X"47",X"30",X"04",X"7A",X"83",X"27",X"57",X"7B",X"87",
|
||||
X"27",X"5F",X"78",X"18",X"EE",X"21",X"D5",X"98",X"DD",X"21",X"55",X"98",X"FD",X"21",X"28",X"04",
|
||||
X"CD",X"58",X"04",X"DD",X"21",X"54",X"98",X"21",X"D4",X"98",X"7A",X"E6",X"0F",X"5F",X"7A",X"E6",
|
||||
X"F0",X"4F",X"16",X"00",X"FE",X"70",X"38",X"04",X"1E",X"08",X"0E",X"60",X"79",X"FD",X"21",X"3A",
|
||||
X"04",X"FE",X"00",X"28",X"2C",X"FD",X"21",X"52",X"04",X"FE",X"10",X"28",X"24",X"FD",X"21",X"4C",
|
||||
X"04",X"FE",X"20",X"28",X"1C",X"FD",X"21",X"46",X"04",X"FE",X"30",X"28",X"14",X"FD",X"21",X"40",
|
||||
X"04",X"FE",X"40",X"28",X"0C",X"FD",X"21",X"34",X"04",X"FE",X"50",X"28",X"04",X"FD",X"21",X"2E",
|
||||
X"04",X"CD",X"58",X"04",X"21",X"8A",X"98",X"06",X"09",X"3E",X"61",X"91",X"77",X"23",X"36",X"08",
|
||||
X"23",X"C6",X"10",X"10",X"F7",X"21",X"16",X"04",X"19",X"11",X"0A",X"98",X"06",X"09",X"7E",X"12",
|
||||
X"23",X"13",X"3E",X"19",X"12",X"13",X"10",X"F6",X"3A",X"00",X"84",X"CB",X"4F",X"C8",X"CB",X"57",
|
||||
X"C8",X"21",X"D4",X"98",X"06",X"06",X"3E",X"10",X"86",X"77",X"23",X"10",X"F9",X"C9",X"21",X"20",
|
||||
X"98",X"73",X"23",X"23",X"72",X"C9",X"32",X"32",X"32",X"32",X"32",X"32",X"32",X"32",X"32",X"69",
|
||||
X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"69",X"00",X"00",X"00",X"18",X"18",X"18",X"D1",X"B1",
|
||||
X"91",X"CE",X"CE",X"CE",X"E1",X"C1",X"A1",X"CE",X"CE",X"CE",X"00",X"00",X"00",X"32",X"32",X"32",
|
||||
X"00",X"D1",X"B1",X"32",X"CE",X"CE",X"00",X"E1",X"C1",X"32",X"CE",X"CE",X"00",X"00",X"D1",X"32",
|
||||
X"32",X"CE",X"00",X"00",X"E1",X"32",X"32",X"CE",X"06",X"03",X"FD",X"7E",X"03",X"DD",X"77",X"00",
|
||||
X"FD",X"7E",X"00",X"77",X"23",X"23",X"FD",X"23",X"DD",X"23",X"DD",X"23",X"10",X"EC",X"C9",X"1A",
|
||||
X"CB",X"3F",X"CB",X"3F",X"CB",X"3F",X"CB",X"3F",X"47",X"13",X"1A",X"CB",X"27",X"CB",X"27",X"CB",
|
||||
X"27",X"CB",X"27",X"B0",X"77",X"2B",X"C9",X"36",X"00",X"01",X"38",X"00",X"1E",X"36",X"00",X"64",
|
||||
X"34",X"00",X"E4",X"32",X"00",X"08",X"38",X"01",X"00",X"FF",X"FF",X"21",X"87",X"87",X"36",X"FF",
|
||||
X"21",X"57",X"86",X"CB",X"46",X"CA",X"17",X"05",X"CB",X"CE",X"CB",X"76",X"20",X"0A",X"CB",X"F6",
|
||||
X"21",X"58",X"86",X"36",X"00",X"C3",X"17",X"05",X"21",X"58",X"86",X"7E",X"E6",X"0F",X"47",X"CB",
|
||||
X"66",X"20",X"2B",X"78",X"A7",X"CA",X"26",X"05",X"3D",X"CA",X"A2",X"06",X"3D",X"CA",X"0D",X"07",
|
||||
X"3D",X"CA",X"48",X"07",X"3D",X"3D",X"3D",X"CA",X"5D",X"07",X"3D",X"CA",X"85",X"07",X"3D",X"CA",
|
||||
X"C0",X"07",X"3D",X"CA",X"5E",X"08",X"3D",X"CA",X"7D",X"08",X"36",X"00",X"18",X"29",X"78",X"A7",
|
||||
X"CA",X"82",X"08",X"3D",X"CA",X"B5",X"09",X"3D",X"CA",X"18",X"0A",X"3D",X"CA",X"BC",X"0B",X"3D",
|
||||
X"3D",X"3D",X"CA",X"BF",X"0B",X"3D",X"CA",X"C7",X"0B",X"3D",X"CA",X"DC",X"0B",X"3D",X"CA",X"EB",
|
||||
X"0B",X"3D",X"CA",X"F3",X"0B",X"36",X"00",X"21",X"57",X"86",X"CB",X"46",X"20",X"02",X"36",X"00",
|
||||
X"3E",X"01",X"32",X"21",X"68",X"C9",X"CB",X"E6",X"21",X"80",X"98",X"06",X"80",X"36",X"00",X"23",
|
||||
X"10",X"FB",X"21",X"00",X"A0",X"36",X"01",X"23",X"36",X"01",X"23",X"23",X"36",X"00",X"21",X"10",
|
||||
X"80",X"11",X"30",X"80",X"06",X"10",X"3E",X"7F",X"77",X"12",X"23",X"13",X"10",X"F8",X"11",X"1B",
|
||||
X"80",X"21",X"9C",X"05",X"06",X"06",X"7E",X"12",X"23",X"1B",X"10",X"FA",X"21",X"13",X"80",X"36",
|
||||
X"10",X"21",X"40",X"80",X"01",X"80",X"03",X"36",X"7F",X"23",X"0B",X"32",X"30",X"68",X"79",X"B0",
|
||||
X"20",X"F5",X"21",X"68",X"86",X"06",X"07",X"36",X"00",X"23",X"10",X"FB",X"21",X"59",X"86",X"36",
|
||||
X"01",X"21",X"40",X"98",X"06",X"0A",X"0E",X"86",X"71",X"0C",X"23",X"36",X"0B",X"23",X"10",X"F8",
|
||||
X"21",X"40",X"99",X"06",X"14",X"36",X"00",X"23",X"10",X"FB",X"18",X"1A",X"1C",X"2B",X"1E",X"1D",
|
||||
X"22",X"2D",X"31",X"10",X"51",X"10",X"71",X"10",X"91",X"10",X"B1",X"10",X"31",X"30",X"51",X"30",
|
||||
X"71",X"30",X"91",X"30",X"B1",X"30",X"21",X"A2",X"05",X"11",X"C0",X"98",X"01",X"14",X"00",X"ED",
|
||||
X"B0",X"3E",X"F1",X"32",X"80",X"98",X"32",X"A2",X"98",X"32",X"E4",X"98",X"32",X"EC",X"98",X"21",
|
||||
X"D4",X"98",X"CD",X"9A",X"06",X"3E",X"10",X"32",X"81",X"98",X"32",X"A3",X"98",X"32",X"E5",X"98",
|
||||
X"32",X"ED",X"98",X"21",X"D5",X"98",X"CD",X"9A",X"06",X"3E",X"02",X"32",X"22",X"98",X"21",X"22",
|
||||
X"99",X"CD",X"9A",X"06",X"32",X"64",X"99",X"32",X"6C",X"99",X"32",X"6D",X"98",X"AF",X"32",X"23",
|
||||
X"98",X"21",X"54",X"99",X"CD",X"9A",X"06",X"3E",X"20",X"32",X"64",X"98",X"3E",X"01",X"32",X"65",
|
||||
X"98",X"3E",X"24",X"32",X"6C",X"98",X"3E",X"05",X"32",X"25",X"98",X"32",X"27",X"98",X"32",X"29",
|
||||
X"98",X"3E",X"09",X"21",X"55",X"98",X"CD",X"9A",X"06",X"21",X"DD",X"06",X"11",X"8A",X"98",X"01",
|
||||
X"18",X"00",X"C5",X"ED",X"B0",X"C1",X"21",X"F5",X"06",X"11",X"0A",X"98",X"ED",X"B0",X"21",X"0A",
|
||||
X"99",X"06",X"0C",X"36",X"00",X"23",X"23",X"10",X"FA",X"21",X"54",X"98",X"06",X"04",X"3E",X"48",
|
||||
X"77",X"3C",X"23",X"23",X"10",X"FA",X"21",X"F6",X"0B",X"22",X"5A",X"86",X"21",X"48",X"0C",X"22",
|
||||
X"5C",X"86",X"21",X"2C",X"0C",X"22",X"5E",X"86",X"21",X"04",X"0C",X"22",X"60",X"86",X"21",X"0E",
|
||||
X"0C",X"22",X"62",X"86",X"21",X"18",X"0C",X"22",X"64",X"86",X"21",X"22",X"0C",X"22",X"66",X"86",
|
||||
X"21",X"C0",X"83",X"06",X"3F",X"7E",X"FE",X"8C",X"20",X"02",X"36",X"0C",X"23",X"10",X"F6",X"3E",
|
||||
X"00",X"32",X"04",X"A0",X"32",X"05",X"A0",X"C3",X"17",X"05",X"06",X"04",X"77",X"23",X"23",X"10",
|
||||
X"FB",X"C9",X"CB",X"E6",X"21",X"03",X"A0",X"36",X"01",X"21",X"40",X"80",X"01",X"80",X"03",X"36",
|
||||
X"7D",X"7D",X"E6",X"1F",X"FE",X"04",X"30",X"02",X"36",X"8C",X"23",X"0B",X"79",X"B0",X"20",X"EF",
|
||||
X"21",X"84",X"80",X"11",X"20",X"00",X"0E",X"08",X"06",X"18",X"E5",X"36",X"7F",X"19",X"10",X"FB",
|
||||
X"E1",X"23",X"0D",X"20",X"F3",X"21",X"76",X"86",X"36",X"00",X"C3",X"17",X"05",X"21",X"90",X"41",
|
||||
X"90",X"A9",X"90",X"C9",X"90",X"21",X"B0",X"41",X"B0",X"A9",X"B0",X"C9",X"B0",X"21",X"B0",X"89",
|
||||
X"B0",X"B9",X"90",X"31",X"90",X"C0",X"1A",X"C1",X"1A",X"C2",X"1B",X"C3",X"1B",X"C4",X"1A",X"C5",
|
||||
X"1A",X"C6",X"1B",X"C7",X"1B",X"C8",X"1C",X"CB",X"1A",X"CC",X"1C",X"CD",X"1C",X"CB",X"E6",X"21",
|
||||
X"76",X"86",X"36",X"00",X"AF",X"32",X"E4",X"98",X"32",X"E5",X"98",X"32",X"EC",X"98",X"32",X"ED",
|
||||
X"98",X"32",X"A2",X"98",X"32",X"A3",X"98",X"32",X"80",X"98",X"32",X"81",X"98",X"21",X"0A",X"98",
|
||||
X"11",X"8A",X"98",X"06",X"18",X"3E",X"00",X"0E",X"32",X"71",X"12",X"23",X"13",X"10",X"FA",X"21",
|
||||
X"5F",X"80",X"22",X"5A",X"86",X"C3",X"17",X"05",X"CB",X"E6",X"21",X"00",X"99",X"06",X"80",X"36",
|
||||
X"00",X"23",X"10",X"FB",X"21",X"00",X"00",X"22",X"5A",X"86",X"C3",X"17",X"05",X"CB",X"E6",X"06",
|
||||
X"80",X"21",X"00",X"98",X"11",X"80",X"98",X"DD",X"21",X"00",X"99",X"AF",X"77",X"12",X"DD",X"77",
|
||||
X"00",X"23",X"13",X"DD",X"23",X"10",X"F4",X"21",X"00",X"A0",X"AF",X"77",X"23",X"77",X"23",X"77",
|
||||
X"23",X"77",X"C3",X"17",X"05",X"CB",X"E6",X"21",X"0D",X"84",X"11",X"A9",X"87",X"7E",X"12",X"4F",
|
||||
X"23",X"13",X"7E",X"12",X"79",X"13",X"12",X"21",X"76",X"86",X"36",X"10",X"23",X"36",X"00",X"21",
|
||||
X"80",X"87",X"34",X"CB",X"46",X"20",X"05",X"21",X"E3",X"15",X"18",X"03",X"21",X"6D",X"16",X"22",
|
||||
X"5A",X"86",X"3E",X"7E",X"32",X"5C",X"86",X"21",X"00",X"00",X"22",X"5E",X"86",X"C3",X"17",X"05",
|
||||
X"CB",X"E6",X"21",X"0D",X"84",X"11",X"A9",X"87",X"1A",X"77",X"23",X"13",X"1A",X"77",X"21",X"40",
|
||||
X"80",X"01",X"80",X"03",X"36",X"0C",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"21",X"80",X"98",X"06",
|
||||
X"80",X"36",X"00",X"23",X"10",X"FB",X"21",X"00",X"98",X"06",X"40",X"36",X"32",X"23",X"36",X"00",
|
||||
X"23",X"10",X"F8",X"21",X"C0",X"83",X"06",X"3F",X"7E",X"FE",X"8C",X"20",X"02",X"36",X"0C",X"32",
|
||||
X"30",X"68",X"23",X"10",X"F3",X"21",X"A2",X"05",X"11",X"C0",X"98",X"01",X"14",X"00",X"ED",X"B0",
|
||||
X"21",X"40",X"98",X"06",X"0A",X"0E",X"86",X"71",X"0C",X"23",X"36",X"0B",X"23",X"10",X"F8",X"21",
|
||||
X"40",X"99",X"06",X"14",X"36",X"00",X"23",X"10",X"FB",X"21",X"2B",X"81",X"11",X"20",X"00",X"06",
|
||||
X"0E",X"DD",X"21",X"50",X"08",X"DD",X"7E",X"00",X"77",X"DD",X"23",X"19",X"10",X"F7",X"21",X"03",
|
||||
X"A0",X"36",X"01",X"21",X"5E",X"86",X"36",X"FF",X"21",X"CC",X"87",X"CB",X"C6",X"C3",X"17",X"05",
|
||||
X"7F",X"7F",X"7F",X"7F",X"15",X"7F",X"2D",X"2C",X"1E",X"1B",X"7F",X"7F",X"7F",X"7F",X"CB",X"E6",
|
||||
X"3E",X"01",X"2A",X"00",X"A0",X"77",X"23",X"77",X"23",X"23",X"36",X"00",X"21",X"40",X"80",X"01",
|
||||
X"80",X"03",X"36",X"7F",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"C3",X"17",X"05",X"CB",X"E6",X"C3",
|
||||
X"17",X"05",X"21",X"4E",X"0C",X"3A",X"59",X"86",X"96",X"32",X"59",X"86",X"D2",X"17",X"05",X"3A",
|
||||
X"68",X"86",X"A7",X"20",X"27",X"2A",X"5A",X"86",X"7E",X"32",X"6F",X"86",X"23",X"7E",X"23",X"22",
|
||||
X"5A",X"86",X"FE",X"09",X"20",X"13",X"32",X"68",X"86",X"3E",X"8C",X"32",X"82",X"80",X"32",X"A2",
|
||||
X"80",X"32",X"83",X"80",X"32",X"A3",X"80",X"18",X"03",X"32",X"68",X"86",X"3A",X"68",X"86",X"3D",
|
||||
X"32",X"68",X"86",X"CD",X"4F",X"0C",X"3A",X"A2",X"98",X"32",X"80",X"98",X"3A",X"A3",X"98",X"32",
|
||||
X"81",X"98",X"FE",X"10",X"20",X"08",X"21",X"80",X"98",X"36",X"00",X"23",X"36",X"00",X"3E",X"38",
|
||||
X"32",X"00",X"98",X"3E",X"06",X"32",X"01",X"98",X"3A",X"A3",X"98",X"FE",X"10",X"28",X"03",X"CD",
|
||||
X"0E",X"13",X"3A",X"69",X"86",X"A7",X"20",X"10",X"2A",X"5C",X"86",X"7E",X"32",X"70",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"5C",X"86",X"32",X"69",X"86",X"3A",X"69",X"86",X"3D",X"32",X"69",X"86",X"CD",
|
||||
X"EE",X"0C",X"3A",X"6A",X"86",X"A7",X"20",X"10",X"2A",X"5E",X"86",X"7E",X"32",X"71",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"5E",X"86",X"32",X"6A",X"86",X"3A",X"6A",X"86",X"3D",X"32",X"6A",X"86",X"CD",
|
||||
X"4D",X"0D",X"3A",X"6B",X"86",X"A7",X"20",X"10",X"2A",X"60",X"86",X"7E",X"32",X"72",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"60",X"86",X"32",X"6B",X"86",X"3A",X"6B",X"86",X"3D",X"32",X"6B",X"86",X"CD",
|
||||
X"FB",X"0C",X"3A",X"6C",X"86",X"A7",X"20",X"10",X"2A",X"62",X"86",X"7E",X"32",X"73",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"62",X"86",X"32",X"6C",X"86",X"3A",X"6C",X"86",X"3D",X"32",X"6C",X"86",X"CD",
|
||||
X"08",X"0D",X"3A",X"6D",X"86",X"A7",X"20",X"10",X"2A",X"64",X"86",X"7E",X"32",X"74",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"64",X"86",X"32",X"6D",X"86",X"3A",X"6D",X"86",X"3D",X"32",X"6D",X"86",X"CD",
|
||||
X"15",X"0D",X"3A",X"6E",X"86",X"A7",X"20",X"10",X"2A",X"66",X"86",X"7E",X"32",X"75",X"86",X"23",
|
||||
X"7E",X"23",X"22",X"66",X"86",X"32",X"6E",X"86",X"3A",X"6E",X"86",X"3D",X"32",X"6E",X"86",X"CD",
|
||||
X"22",X"0D",X"C3",X"17",X"05",X"21",X"76",X"86",X"34",X"7E",X"FE",X"05",X"30",X"0F",X"F5",X"21",
|
||||
X"C1",X"98",X"06",X"0A",X"34",X"34",X"34",X"34",X"23",X"23",X"10",X"F8",X"F1",X"FE",X"05",X"38",
|
||||
X"15",X"FE",X"09",X"30",X"11",X"F5",X"21",X"E5",X"98",X"11",X"ED",X"98",X"34",X"34",X"34",X"34",
|
||||
X"EB",X"34",X"34",X"34",X"34",X"F1",X"FE",X"09",X"20",X"0A",X"21",X"64",X"98",X"36",X"23",X"21",
|
||||
X"6C",X"98",X"36",X"27",X"FE",X"05",X"38",X"13",X"FE",X"37",X"30",X"0F",X"F5",X"21",X"D5",X"98",
|
||||
X"06",X"04",X"34",X"34",X"34",X"34",X"23",X"23",X"10",X"F8",X"F1",X"FE",X"72",X"C2",X"FB",X"0D",
|
||||
X"21",X"58",X"86",X"36",X"02",X"C3",X"FB",X"0D",X"21",X"76",X"86",X"34",X"CB",X"46",X"CA",X"17",
|
||||
X"05",X"2A",X"5A",X"86",X"11",X"3F",X"80",X"A7",X"ED",X"52",X"20",X"02",X"18",X"1B",X"2A",X"5A",
|
||||
X"86",X"11",X"F0",X"87",X"1A",X"CB",X"DF",X"12",X"11",X"20",X"00",X"06",X"1C",X"36",X"7F",X"19",
|
||||
X"10",X"FB",X"2A",X"5A",X"86",X"2B",X"22",X"5A",X"86",X"21",X"76",X"86",X"7E",X"FE",X"07",X"20",
|
||||
X"28",X"AF",X"21",X"D4",X"98",X"06",X"08",X"77",X"23",X"10",X"FC",X"21",X"D4",X"93",X"06",X"08",
|
||||
X"77",X"23",X"10",X"FC",X"21",X"72",X"0A",X"11",X"9C",X"81",X"06",X"07",X"CD",X"3B",X"0E",X"C3",
|
||||
X"17",X"05",X"BF",X"BE",X"BD",X"BC",X"BB",X"BA",X"B9",X"FE",X"0B",X"20",X"1F",X"21",X"8B",X"0A",
|
||||
X"11",X"FA",X"80",X"06",X"11",X"CD",X"3B",X"0E",X"C3",X"17",X"05",X"35",X"1D",X"2D",X"25",X"7F",
|
||||
X"28",X"1C",X"26",X"1A",X"27",X"7F",X"12",X"18",X"19",X"11",X"7F",X"38",X"FE",X"15",X"20",X"20",
|
||||
X"21",X"AE",X"0A",X"11",X"D5",X"80",X"06",X"12",X"CD",X"3B",X"0E",X"C3",X"17",X"05",X"6B",X"5A",
|
||||
X"60",X"72",X"5F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"7F",X"5A",X"64",X"68",X"68",X"69",
|
||||
X"FE",X"23",X"20",X"17",X"21",X"D2",X"0A",X"11",X"6E",X"81",X"06",X"09",X"CD",X"3B",X"0E",X"C3",
|
||||
X"17",X"05",X"6B",X"5E",X"6D",X"5C",X"5A",X"6B",X"5A",X"61",X"5C",X"FE",X"61",X"20",X"33",X"21",
|
||||
X"F0",X"87",X"CB",X"9E",X"AF",X"32",X"64",X"99",X"3C",X"32",X"65",X"98",X"3C",X"32",X"6D",X"98",
|
||||
X"32",X"6C",X"99",X"3E",X"90",X"32",X"E5",X"98",X"32",X"ED",X"98",X"3E",X"B2",X"32",X"EC",X"98",
|
||||
X"3E",X"52",X"32",X"E4",X"98",X"3E",X"20",X"32",X"64",X"98",X"3E",X"24",X"32",X"6C",X"98",X"C3",
|
||||
X"17",X"05",X"21",X"6D",X"98",X"FE",X"77",X"20",X"05",X"36",X"0C",X"C3",X"17",X"05",X"FE",X"7F",
|
||||
X"20",X"05",X"36",X"02",X"C3",X"17",X"05",X"FE",X"87",X"20",X"02",X"18",X"EC",X"FE",X"8F",X"20",
|
||||
X"02",X"18",X"EF",X"FE",X"B3",X"20",X"13",X"36",X"02",X"DD",X"21",X"A4",X"98",X"06",X"06",X"DD",
|
||||
X"36",X"00",X"00",X"DD",X"23",X"10",X"F8",X"C3",X"17",X"05",X"DD",X"21",X"24",X"98",X"FD",X"21",
|
||||
X"A4",X"98",X"11",X"EC",X"98",X"FE",X"97",X"20",X"2D",X"36",X"0C",X"1A",X"D6",X"10",X"FD",X"77",
|
||||
X"00",X"D6",X"10",X"FD",X"77",X"02",X"D6",X"10",X"FD",X"77",X"04",X"13",X"1A",X"FD",X"77",X"01",
|
||||
X"FD",X"77",X"03",X"FD",X"77",X"05",X"3E",X"2C",X"DD",X"77",X"00",X"3E",X"32",X"DD",X"77",X"02",
|
||||
X"DD",X"77",X"04",X"C3",X"17",X"05",X"FE",X"9D",X"20",X"11",X"3E",X"2D",X"DD",X"77",X"00",X"3C",
|
||||
X"DD",X"77",X"02",X"3E",X"32",X"DD",X"77",X"04",X"C3",X"17",X"05",X"FE",X"A3",X"20",X"10",X"3E",
|
||||
X"2F",X"DD",X"77",X"00",X"3C",X"DD",X"77",X"02",X"3C",X"DD",X"77",X"04",X"C3",X"17",X"05",X"FE",
|
||||
X"FF",X"C2",X"17",X"05",X"21",X"58",X"86",X"36",X"03",X"C3",X"17",X"05",X"C3",X"00",X"17",X"21",
|
||||
X"58",X"86",X"36",X"07",X"C3",X"17",X"05",X"3A",X"76",X"86",X"FE",X"80",X"CA",X"5F",X"01",X"FE",
|
||||
X"90",X"C2",X"17",X"05",X"21",X"58",X"86",X"36",X"08",X"C3",X"5F",X"07",X"21",X"5E",X"86",X"35",
|
||||
X"C2",X"17",X"05",X"21",X"58",X"86",X"36",X"09",X"C3",X"17",X"05",X"21",X"58",X"86",X"36",X"00",
|
||||
X"C3",X"17",X"05",X"C3",X"17",X"05",X"13",X"68",X"12",X"20",X"11",X"58",X"10",X"20",X"11",X"09",
|
||||
X"13",X"01",X"20",X"00",X"00",X"78",X"10",X"28",X"00",X"10",X"10",X"20",X"00",X"FA",X"00",X"80",
|
||||
X"10",X"20",X"00",X"10",X"10",X"20",X"00",X"FA",X"00",X"88",X"10",X"18",X"00",X"10",X"10",X"20",
|
||||
X"00",X"FA",X"00",X"90",X"10",X"10",X"00",X"10",X"10",X"20",X"00",X"FA",X"00",X"68",X"10",X"38",
|
||||
X"31",X"02",X"30",X"02",X"31",X"02",X"30",X"02",X"31",X"02",X"21",X"01",X"22",X"01",X"23",X"03",
|
||||
X"20",X"01",X"30",X"01",X"10",X"1F",X"00",X"FA",X"00",X"B0",X"10",X"20",X"00",X"FA",X"40",X"3A",
|
||||
X"6F",X"86",X"E6",X"F0",X"FE",X"20",X"20",X"06",X"21",X"58",X"86",X"36",X"01",X"C9",X"FE",X"10",
|
||||
X"C0",X"3A",X"AE",X"85",X"32",X"AF",X"85",X"21",X"22",X"98",X"11",X"22",X"99",X"3A",X"6F",X"86",
|
||||
X"E6",X"03",X"20",X"15",X"36",X"00",X"AF",X"12",X"21",X"A3",X"98",X"35",X"35",X"AF",X"32",X"AE",
|
||||
X"85",X"3E",X"04",X"32",X"8B",X"80",X"C3",X"D4",X"0C",X"FE",X"01",X"20",X"15",X"36",X"02",X"AF",
|
||||
X"12",X"21",X"A2",X"98",X"34",X"34",X"3E",X"02",X"32",X"AE",X"85",X"3E",X"05",X"32",X"6B",X"83",
|
||||
X"18",X"32",X"FE",X"02",X"20",X"1F",X"36",X"00",X"3E",X"01",X"12",X"21",X"A3",X"98",X"34",X"34",
|
||||
X"3E",X"04",X"32",X"AE",X"85",X"3E",X"8C",X"32",X"63",X"83",X"32",X"43",X"83",X"32",X"62",X"83",
|
||||
X"32",X"42",X"83",X"18",X"0F",X"36",X"02",X"3E",X"02",X"12",X"21",X"A2",X"98",X"35",X"35",X"3E",
|
||||
X"06",X"32",X"AE",X"85",X"3A",X"A3",X"98",X"FE",X"10",X"20",X"07",X"21",X"22",X"98",X"34",X"34",
|
||||
X"34",X"34",X"21",X"76",X"86",X"34",X"CB",X"46",X"C0",X"21",X"22",X"98",X"34",X"C9",X"3A",X"70",
|
||||
X"86",X"21",X"E4",X"98",X"11",X"64",X"98",X"CD",X"2F",X"0D",X"C9",X"3A",X"72",X"86",X"21",X"D4",
|
||||
X"98",X"11",X"54",X"98",X"CD",X"47",X"0D",X"C9",X"3A",X"73",X"86",X"21",X"D6",X"98",X"11",X"56",
|
||||
X"98",X"CD",X"47",X"0D",X"C9",X"3A",X"74",X"86",X"21",X"D8",X"98",X"11",X"58",X"98",X"CD",X"47",
|
||||
X"0D",X"C9",X"3A",X"75",X"86",X"21",X"DA",X"98",X"11",X"5A",X"98",X"CD",X"47",X"0D",X"C9",X"F5",
|
||||
X"3E",X"21",X"12",X"01",X"77",X"86",X"0A",X"3C",X"02",X"E6",X"07",X"FE",X"02",X"30",X"03",X"1A",
|
||||
X"3D",X"12",X"F1",X"CD",X"47",X"0D",X"C9",X"E6",X"F0",X"C8",X"35",X"35",X"C9",X"21",X"6C",X"98",
|
||||
X"36",X"24",X"11",X"78",X"86",X"1A",X"3C",X"12",X"CB",X"57",X"20",X"01",X"34",X"3A",X"71",X"86",
|
||||
X"E6",X"F0",X"C8",X"FE",X"10",X"20",X"06",X"21",X"EC",X"98",X"35",X"35",X"C9",X"FE",X"30",X"20",
|
||||
X"10",X"3A",X"71",X"86",X"21",X"6D",X"98",X"CB",X"47",X"20",X"03",X"36",X"02",X"C9",X"36",X"0C",
|
||||
X"C9",X"DD",X"21",X"A4",X"98",X"3A",X"EC",X"98",X"D6",X"10",X"DD",X"77",X"00",X"D6",X"10",X"DD",
|
||||
X"77",X"02",X"D6",X"10",X"DD",X"77",X"04",X"3A",X"ED",X"98",X"DD",X"77",X"01",X"DD",X"77",X"03",
|
||||
X"DD",X"77",X"05",X"DD",X"21",X"24",X"98",X"3A",X"71",X"86",X"E6",X"0F",X"20",X"1A",X"3E",X"32",
|
||||
X"DD",X"77",X"00",X"DD",X"77",X"02",X"DD",X"77",X"04",X"DD",X"21",X"A4",X"98",X"06",X"06",X"DD",
|
||||
X"36",X"00",X"00",X"DD",X"23",X"10",X"F8",X"C9",X"FE",X"01",X"20",X"0E",X"3E",X"2C",X"DD",X"77",
|
||||
X"00",X"3E",X"32",X"DD",X"77",X"02",X"DD",X"77",X"04",X"C9",X"FE",X"02",X"20",X"0F",X"3E",X"2D",
|
||||
X"DD",X"77",X"00",X"3C",X"DD",X"77",X"02",X"3E",X"32",X"DD",X"77",X"04",X"C9",X"3E",X"2F",X"DD",
|
||||
X"77",X"00",X"3C",X"DD",X"77",X"02",X"3C",X"DD",X"77",X"04",X"C9",X"FE",X"06",X"DA",X"17",X"05",
|
||||
X"FE",X"17",X"30",X"10",X"3A",X"76",X"86",X"CB",X"47",X"CA",X"17",X"05",X"0E",X"FF",X"CD",X"2E",
|
||||
X"0E",X"C3",X"17",X"05",X"FE",X"1A",X"DA",X"17",X"05",X"FE",X"29",X"D2",X"17",X"05",X"3A",X"76",
|
||||
X"86",X"CB",X"47",X"CA",X"17",X"05",X"0E",X"01",X"CD",X"2E",X"0E",X"C3",X"17",X"05",X"21",X"C1",
|
||||
X"98",X"06",X"0A",X"7E",X"81",X"77",X"23",X"23",X"10",X"F9",X"C9",X"EB",X"D5",X"DD",X"E1",X"11",
|
||||
X"20",X"00",X"DD",X"7E",X"00",X"DD",X"23",X"77",X"19",X"10",X"F7",X"C9",X"21",X"80",X"98",X"11",
|
||||
X"80",X"93",X"06",X"40",X"3A",X"F0",X"87",X"CB",X"5F",X"C0",X"3A",X"00",X"84",X"CB",X"4F",X"28",
|
||||
X"06",X"CB",X"57",X"28",X"02",X"18",X"0D",X"7E",X"12",X"23",X"13",X"7E",X"C6",X"37",X"12",X"23",
|
||||
X"13",X"10",X"F4",X"C9",X"3E",X"F2",X"96",X"12",X"13",X"23",X"3E",X"27",X"96",X"12",X"23",X"13",
|
||||
X"10",X"F2",X"C9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"3A",X"85",X"87",X"CB",X"7F",X"20",X"07",X"3A",X"57",X"86",X"CB",X"4F",X"28",X"05",X"21",X"70",
|
||||
X"89",X"18",X"03",X"21",X"B0",X"85",X"7E",X"E6",X"0E",X"E5",X"7E",X"E6",X"0F",X"FE",X"08",X"20",
|
||||
X"07",X"21",X"AE",X"85",X"CB",X"F6",X"E1",X"C9",X"21",X"AE",X"85",X"7E",X"23",X"E6",X"3F",X"77",
|
||||
X"E1",X"7E",X"E6",X"3F",X"32",X"AE",X"85",X"E6",X"0F",X"6F",X"3A",X"AF",X"85",X"E6",X"0F",X"BD",
|
||||
X"20",X"06",X"21",X"AE",X"85",X"CB",X"BE",X"C9",X"21",X"AE",X"85",X"CB",X"FE",X"C9",X"21",X"01",
|
||||
X"84",X"CB",X"5E",X"28",X"30",X"21",X"AE",X"85",X"7E",X"21",X"22",X"98",X"11",X"22",X"99",X"E6",
|
||||
X"0F",X"28",X"0D",X"FE",X"04",X"28",X"0E",X"FE",X"02",X"28",X"10",X"FE",X"06",X"28",X"10",X"C9",
|
||||
X"36",X"10",X"AF",X"12",X"C9",X"36",X"10",X"3E",X"01",X"12",X"C9",X"36",X"11",X"18",X"F3",X"36",
|
||||
X"11",X"3E",X"02",X"12",X"C9",X"21",X"AE",X"85",X"7E",X"21",X"22",X"98",X"11",X"22",X"99",X"01",
|
||||
X"00",X"00",X"E6",X"0F",X"28",X"13",X"03",X"FE",X"04",X"28",X"0E",X"01",X"00",X"02",X"FE",X"02",
|
||||
X"28",X"07",X"03",X"03",X"FE",X"06",X"28",X"01",X"C9",X"70",X"79",X"12",X"3A",X"01",X"84",X"CB",
|
||||
X"67",X"C8",X"34",X"34",X"34",X"34",X"C9",X"3A",X"AE",X"85",X"E6",X"0F",X"20",X"1A",X"3E",X"02",
|
||||
X"32",X"AE",X"85",X"CD",X"4E",X"10",X"C9",X"CD",X"00",X"10",X"AF",X"32",X"A0",X"98",X"32",X"A1",
|
||||
X"98",X"3A",X"A3",X"98",X"FE",X"08",X"28",X"DF",X"CD",X"1F",X"11",X"CD",X"8F",X"11",X"CD",X"EA",
|
||||
X"11",X"21",X"AE",X"85",X"7E",X"E6",X"0F",X"FE",X"08",X"28",X"47",X"7E",X"CB",X"76",X"20",X"42",
|
||||
X"3A",X"B3",X"85",X"21",X"B1",X"85",X"96",X"32",X"B3",X"85",X"D0",X"3A",X"AE",X"85",X"CB",X"7F",
|
||||
X"28",X"04",X"CD",X"4E",X"10",X"C9",X"CD",X"4E",X"10",X"21",X"B2",X"85",X"34",X"CB",X"46",X"28",
|
||||
X"04",X"21",X"22",X"98",X"34",X"3A",X"01",X"84",X"CB",X"57",X"C0",X"CD",X"36",X"11",X"C9",X"3A",
|
||||
X"01",X"84",X"CB",X"67",X"20",X"06",X"3E",X"40",X"32",X"B1",X"85",X"C9",X"3E",X"50",X"32",X"B1",
|
||||
X"85",X"C9",X"CD",X"4E",X"10",X"C9",X"21",X"AE",X"85",X"7E",X"21",X"A3",X"98",X"E6",X"0F",X"28",
|
||||
X"25",X"FE",X"04",X"28",X"13",X"2B",X"FE",X"02",X"28",X"0E",X"FE",X"06",X"28",X"18",X"C9",X"3A",
|
||||
X"A3",X"98",X"5F",X"3A",X"A2",X"98",X"57",X"C9",X"34",X"34",X"CD",X"4F",X"11",X"CD",X"74",X"11",
|
||||
X"CB",X"49",X"C8",X"35",X"35",X"C9",X"35",X"35",X"CD",X"4F",X"11",X"CD",X"74",X"11",X"CB",X"49",
|
||||
X"C8",X"34",X"34",X"C9",X"F5",X"CB",X"89",X"7A",X"FE",X"11",X"38",X"0F",X"FE",X"E2",X"30",X"0B",
|
||||
X"7B",X"FE",X"08",X"38",X"06",X"FE",X"F1",X"30",X"02",X"F1",X"C9",X"CB",X"C9",X"F1",X"C9",X"E5",
|
||||
X"C5",X"21",X"AE",X"85",X"7E",X"E6",X"0F",X"28",X"04",X"FE",X"04",X"20",X"0B",X"3A",X"A2",X"98",
|
||||
X"E6",X"0F",X"FE",X"01",X"28",X"26",X"18",X"19",X"FE",X"02",X"28",X"04",X"FE",X"06",X"20",X"1C",
|
||||
X"3A",X"A3",X"98",X"FE",X"20",X"30",X"06",X"FE",X"08",X"28",X"11",X"18",X"04",X"E6",X"0F",X"28",
|
||||
X"0B",X"23",X"7E",X"E6",X"0F",X"2B",X"77",X"CB",X"87",X"C1",X"E1",X"C9",X"3A",X"57",X"86",X"CB",
|
||||
X"4F",X"20",X"13",X"3A",X"AE",X"85",X"E6",X"0F",X"4F",X"3A",X"AF",X"85",X"E6",X"0F",X"B9",X"28",
|
||||
X"05",X"21",X"B3",X"85",X"36",X"02",X"CB",X"C7",X"18",X"DF",X"3A",X"AE",X"85",X"21",X"A2",X"98",
|
||||
X"11",X"E1",X"85",X"E6",X"0F",X"28",X"0D",X"FE",X"04",X"28",X"13",X"FE",X"02",X"28",X"19",X"FE",
|
||||
X"06",X"28",X"1F",X"C9",X"7E",X"12",X"23",X"1B",X"7E",X"D6",X"10",X"12",X"18",X"1C",X"7E",X"12",
|
||||
X"23",X"1B",X"7E",X"C6",X"10",X"12",X"18",X"12",X"7E",X"C6",X"10",X"12",X"23",X"1B",X"7E",X"12",
|
||||
X"18",X"08",X"7E",X"D6",X"10",X"12",X"23",X"1B",X"7E",X"12",X"21",X"65",X"84",X"06",X"08",X"11",
|
||||
X"08",X"00",X"E5",X"3A",X"E1",X"85",X"BE",X"20",X"0E",X"3A",X"E0",X"85",X"23",X"BE",X"20",X"07",
|
||||
X"E1",X"21",X"01",X"84",X"CB",X"D6",X"C9",X"21",X"01",X"84",X"CB",X"96",X"E1",X"19",X"10",X"E2",
|
||||
X"C9",X"3A",X"57",X"86",X"CB",X"4F",X"28",X"1C",X"21",X"28",X"85",X"11",X"10",X"00",X"06",X"08",
|
||||
X"0E",X"08",X"CB",X"7E",X"28",X"01",X"0D",X"19",X"10",X"F8",X"79",X"FE",X"01",X"20",X"05",X"21",
|
||||
X"76",X"86",X"36",X"90",X"2A",X"25",X"86",X"11",X"60",X"09",X"A7",X"ED",X"52",X"20",X"05",X"21",
|
||||
X"53",X"86",X"CB",X"CE",X"2A",X"25",X"86",X"7C",X"A7",X"20",X"27",X"7D",X"FE",X"96",X"28",X"0A",
|
||||
X"A7",X"20",X"1F",X"21",X"46",X"86",X"CB",X"DE",X"18",X"1C",X"3A",X"4A",X"86",X"CB",X"6F",X"20",
|
||||
X"11",X"CB",X"EF",X"32",X"4A",X"86",X"3A",X"F0",X"87",X"CB",X"47",X"20",X"05",X"3E",X"01",X"32",
|
||||
X"89",X"9A",X"2B",X"22",X"25",X"86",X"21",X"4A",X"86",X"CB",X"66",X"C0",X"21",X"28",X"85",X"06",
|
||||
X"08",X"0E",X"08",X"11",X"10",X"00",X"CB",X"7E",X"28",X"01",X"0D",X"19",X"10",X"F8",X"79",X"A7",
|
||||
X"C8",X"21",X"00",X"84",X"3A",X"0D",X"84",X"CB",X"4E",X"28",X"03",X"3A",X"0E",X"84",X"06",X"02",
|
||||
X"FE",X"04",X"38",X"1B",X"04",X"FE",X"08",X"38",X"16",X"04",X"FE",X"0C",X"38",X"11",X"04",X"FE",
|
||||
X"10",X"38",X"0C",X"04",X"FE",X"14",X"38",X"07",X"04",X"FE",X"18",X"38",X"02",X"18",X"03",X"79",
|
||||
X"B8",X"D0",X"21",X"04",X"01",X"22",X"25",X"86",X"21",X"4A",X"86",X"CB",X"E6",X"C9",X"2A",X"D6",
|
||||
X"85",X"22",X"DE",X"85",X"3A",X"A2",X"98",X"57",X"3A",X"A3",X"98",X"5F",X"CD",X"93",X"13",X"CD",
|
||||
X"53",X"13",X"2A",X"D6",X"85",X"3A",X"DE",X"85",X"BD",X"20",X"06",X"3A",X"DF",X"85",X"BC",X"28",
|
||||
X"0C",X"3A",X"46",X"86",X"CB",X"47",X"C0",X"CD",X"0A",X"14",X"CD",X"0A",X"14",X"3A",X"46",X"86",
|
||||
X"CB",X"47",X"C0",X"3A",X"AE",X"85",X"E6",X"07",X"47",X"3A",X"AF",X"85",X"E6",X"07",X"B8",X"C4",
|
||||
X"EF",X"14",X"C9",X"06",X"00",X"2A",X"D6",X"85",X"CD",X"04",X"14",X"2A",X"D8",X"85",X"CD",X"04",
|
||||
X"14",X"2A",X"DA",X"85",X"CD",X"04",X"14",X"2A",X"DC",X"85",X"CD",X"04",X"14",X"78",X"21",X"01",
|
||||
X"84",X"CB",X"A6",X"A7",X"C0",X"CB",X"E6",X"C9",X"CD",X"CB",X"13",X"DD",X"21",X"FA",X"85",X"18",
|
||||
X"2C",X"CD",X"CB",X"13",X"DD",X"21",X"02",X"86",X"18",X"23",X"CD",X"CB",X"13",X"DD",X"21",X"0A",
|
||||
X"86",X"18",X"1A",X"3A",X"AE",X"85",X"E6",X"0F",X"28",X"0C",X"FE",X"06",X"28",X"08",X"3E",X"06",
|
||||
X"82",X"57",X"3E",X"06",X"83",X"5F",X"CD",X"CB",X"13",X"DD",X"21",X"D6",X"85",X"DD",X"75",X"00",
|
||||
X"DD",X"74",X"01",X"CD",X"FD",X"13",X"DD",X"73",X"02",X"DD",X"72",X"03",X"23",X"DD",X"75",X"04",
|
||||
X"DD",X"74",X"05",X"13",X"DD",X"73",X"06",X"DD",X"72",X"07",X"C9",X"7A",X"D6",X"11",X"CB",X"3F",
|
||||
X"CB",X"3F",X"57",X"CB",X"3F",X"CB",X"27",X"CB",X"27",X"CB",X"27",X"CB",X"27",X"CB",X"27",X"6F",
|
||||
X"7A",X"CB",X"3F",X"CB",X"3F",X"CB",X"3F",X"CB",X"3F",X"67",X"16",X"00",X"CB",X"3B",X"CB",X"3B",
|
||||
X"CB",X"3B",X"A7",X"ED",X"52",X"EB",X"21",X"A0",X"83",X"A7",X"ED",X"52",X"C9",X"11",X"E0",X"FF",
|
||||
X"EB",X"19",X"EB",X"C9",X"7E",X"FE",X"7F",X"C0",X"04",X"C9",X"2A",X"D6",X"85",X"E5",X"DD",X"E1",
|
||||
X"ED",X"4B",X"D8",X"85",X"2A",X"DA",X"85",X"ED",X"5B",X"DC",X"85",X"3A",X"AE",X"85",X"E6",X"0F",
|
||||
X"28",X"10",X"FE",X"04",X"CA",X"DC",X"14",X"FE",X"02",X"CA",X"D4",X"14",X"FE",X"06",X"CA",X"85",
|
||||
X"14",X"C9",X"7E",X"FE",X"08",X"CA",X"E4",X"14",X"FE",X"09",X"CA",X"E4",X"14",X"FE",X"0C",X"28",
|
||||
X"1B",X"FE",X"8D",X"38",X"04",X"FE",X"90",X"38",X"13",X"FE",X"8C",X"28",X"0F",X"FE",X"7F",X"CC",
|
||||
X"CB",X"15",X"FE",X"7E",X"20",X"04",X"36",X"8C",X"18",X"02",X"36",X"03",X"1A",X"FE",X"08",X"CA",
|
||||
X"E7",X"14",X"FE",X"09",X"CA",X"E7",X"14",X"FE",X"0C",X"C8",X"FE",X"8D",X"38",X"03",X"FE",X"90",
|
||||
X"D8",X"FE",X"8C",X"C8",X"FE",X"7F",X"CC",X"CB",X"15",X"FE",X"7E",X"20",X"04",X"3E",X"8C",X"12",
|
||||
X"C9",X"3E",X"02",X"12",X"C9",X"0A",X"FE",X"02",X"28",X"61",X"FE",X"03",X"28",X"5D",X"FE",X"7F",
|
||||
X"28",X"16",X"FE",X"0C",X"28",X"18",X"FE",X"8C",X"28",X"14",X"FE",X"7E",X"28",X"10",X"FE",X"8D",
|
||||
X"38",X"04",X"FE",X"90",X"38",X"08",X"FE",X"7F",X"CC",X"CB",X"15",X"3E",X"08",X"02",X"1A",X"FE",
|
||||
X"02",X"28",X"34",X"FE",X"03",X"28",X"30",X"FE",X"7F",X"28",X"12",X"FE",X"0C",X"C8",X"FE",X"8C",
|
||||
X"C8",X"FE",X"7E",X"C8",X"FE",X"8D",X"38",X"03",X"FE",X"90",X"D8",X"FE",X"7F",X"CC",X"CB",X"15",
|
||||
X"3E",X"09",X"12",X"C9",X"DD",X"E5",X"C1",X"E5",X"D1",X"C3",X"85",X"14",X"DD",X"E5",X"E1",X"C5",
|
||||
X"D1",X"C3",X"32",X"14",X"36",X"0C",X"C9",X"3E",X"0C",X"12",X"C9",X"3E",X"0C",X"02",X"C9",X"CD",
|
||||
X"D3",X"15",X"2A",X"DC",X"85",X"E5",X"FD",X"E1",X"2A",X"DA",X"85",X"E5",X"DD",X"E1",X"2A",X"D6",
|
||||
X"85",X"ED",X"5B",X"D8",X"85",X"3A",X"AE",X"85",X"E6",X"0F",X"28",X"0D",X"FE",X"02",X"28",X"25",
|
||||
X"FE",X"04",X"28",X"39",X"FE",X"06",X"28",X"4A",X"C9",X"DD",X"7E",X"00",X"CD",X"7B",X"15",X"CB",
|
||||
X"47",X"28",X"04",X"DD",X"36",X"00",X"05",X"FD",X"7E",X"00",X"CD",X"7B",X"15",X"CB",X"47",X"C8",
|
||||
X"FD",X"36",X"00",X"04",X"C9",X"7E",X"CD",X"7B",X"15",X"CB",X"47",X"28",X"02",X"36",X"06",X"DD",
|
||||
X"7E",X"00",X"CD",X"7B",X"15",X"CB",X"47",X"C8",X"DD",X"36",X"00",X"07",X"C9",X"7E",X"CD",X"7B",
|
||||
X"15",X"CB",X"47",X"28",X"02",X"36",X"01",X"1A",X"CD",X"7B",X"15",X"CB",X"47",X"C8",X"3E",X"00",
|
||||
X"12",X"C9",X"1A",X"CD",X"7B",X"15",X"CB",X"47",X"28",X"03",X"3E",X"0A",X"12",X"FD",X"7E",X"00",
|
||||
X"CD",X"7B",X"15",X"CB",X"47",X"C8",X"FD",X"36",X"00",X"0B",X"C9",X"F5",X"3A",X"01",X"84",X"CB",
|
||||
X"7F",X"20",X"10",X"3A",X"AE",X"85",X"C6",X"04",X"E6",X"07",X"47",X"3A",X"AF",X"85",X"E6",X"07",
|
||||
X"B8",X"20",X"0B",X"F1",X"FE",X"7F",X"CC",X"CB",X"15",X"28",X"2D",X"CB",X"87",X"C9",X"F1",X"FE",
|
||||
X"7F",X"CC",X"CB",X"15",X"28",X"22",X"A7",X"28",X"1F",X"FE",X"01",X"28",X"1B",X"FE",X"04",X"28",
|
||||
X"17",X"FE",X"05",X"28",X"13",X"FE",X"06",X"28",X"0F",X"FE",X"07",X"28",X"0B",X"FE",X"0A",X"28",
|
||||
X"07",X"FE",X"0B",X"28",X"03",X"CB",X"87",X"C9",X"CB",X"C7",X"C9",X"E5",X"21",X"56",X"86",X"CB",
|
||||
X"D6",X"E1",X"C9",X"3A",X"A2",X"98",X"57",X"3A",X"A3",X"98",X"5F",X"3A",X"AF",X"85",X"C3",X"96",
|
||||
X"13",X"38",X"00",X"38",X"00",X"25",X"32",X"00",X"13",X"38",X"00",X"02",X"30",X"00",X"3B",X"10",
|
||||
X"00",X"01",X"00",X"00",X"01",X"10",X"00",X"69",X"30",X"00",X"3F",X"38",X"00",X"01",X"32",X"00",
|
||||
X"77",X"12",X"00",X"01",X"02",X"00",X"01",X"12",X"00",X"75",X"32",X"00",X"35",X"38",X"00",X"01",
|
||||
X"34",X"01",X"5E",X"38",X"00",X"01",X"36",X"00",X"4B",X"30",X"00",X"28",X"38",X"00",X"01",X"36",
|
||||
X"00",X"8C",X"38",X"00",X"01",X"30",X"00",X"3E",X"38",X"00",X"01",X"36",X"00",X"7B",X"38",X"00",
|
||||
X"02",X"30",X"00",X"05",X"38",X"00",X"01",X"36",X"00",X"27",X"38",X"00",X"02",X"34",X"00",X"73",
|
||||
X"38",X"00",X"01",X"32",X"01",X"7E",X"32",X"00",X"02",X"30",X"00",X"42",X"38",X"00",X"01",X"36",
|
||||
X"00",X"9A",X"30",X"00",X"89",X"38",X"00",X"07",X"30",X"00",X"7B",X"38",X"00",X"02",X"34",X"00",
|
||||
X"02",X"14",X"00",X"01",X"04",X"00",X"01",X"14",X"00",X"03",X"18",X"00",X"79",X"38",X"00",X"2D",
|
||||
X"36",X"00",X"6D",X"38",X"00",X"01",X"34",X"00",X"EE",X"38",X"00",X"04",X"30",X"00",X"3C",X"38",
|
||||
X"00",X"02",X"18",X"00",X"01",X"08",X"00",X"01",X"18",X"00",X"2E",X"14",X"00",X"04",X"34",X"00",
|
||||
X"0C",X"38",X"00",X"01",X"30",X"00",X"02",X"10",X"00",X"01",X"00",X"00",X"01",X"10",X"00",X"13",
|
||||
X"30",X"00",X"9D",X"38",X"00",X"02",X"34",X"00",X"03",X"14",X"00",X"01",X"04",X"00",X"01",X"14",
|
||||
X"00",X"04",X"18",X"00",X"33",X"10",X"00",X"03",X"30",X"00",X"60",X"38",X"00",X"01",X"36",X"00",
|
||||
X"10",X"38",X"00",X"01",X"30",X"00",X"24",X"32",X"00",X"85",X"38",X"00",X"01",X"34",X"01",X"71",
|
||||
X"38",X"00",X"03",X"36",X"00",X"5B",X"38",X"00",X"03",X"32",X"00",X"0F",X"38",X"00",X"01",X"30",
|
||||
X"00",X"CF",X"38",X"00",X"01",X"32",X"00",X"76",X"38",X"00",X"01",X"30",X"00",X"47",X"38",X"00",
|
||||
X"1F",X"30",X"00",X"11",X"38",X"00",X"01",X"36",X"00",X"26",X"38",X"00",X"01",X"32",X"00",X"B1",
|
||||
X"2A",X"5A",X"86",X"23",X"22",X"5A",X"86",X"7C",X"FE",X"03",X"20",X"0E",X"7D",X"FE",X"1A",X"C2",
|
||||
X"17",X"05",X"21",X"58",X"86",X"36",X"06",X"C3",X"17",X"05",X"FE",X"02",X"20",X"1D",X"7D",X"FE",
|
||||
X"DE",X"CA",X"81",X"18",X"FE",X"32",X"CA",X"21",X"19",X"FE",X"22",X"CA",X"17",X"19",X"FE",X"12",
|
||||
X"CA",X"2D",X"18",X"FE",X"02",X"CA",X"FB",X"18",X"C3",X"17",X"05",X"FE",X"01",X"20",X"2F",X"7D",
|
||||
X"FE",X"F2",X"CA",X"2D",X"18",X"FE",X"E2",X"CA",X"09",X"19",X"FE",X"BE",X"CA",X"F0",X"18",X"D2",
|
||||
X"17",X"05",X"FE",X"BA",X"D2",X"E7",X"17",X"FE",X"B2",X"D2",X"EC",X"17",X"FE",X"AA",X"D2",X"F1",
|
||||
X"17",X"FE",X"A9",X"CA",X"A3",X"18",X"FE",X"6D",X"CA",X"81",X"18",X"C3",X"17",X"05",X"7D",X"FE",
|
||||
X"C2",X"CA",X"47",X"18",X"FE",X"B2",X"CA",X"33",X"18",X"FE",X"A2",X"CA",X"2D",X"18",X"FE",X"92",
|
||||
X"CA",X"04",X"18",X"FE",X"82",X"CA",X"2D",X"18",X"FE",X"72",X"CA",X"16",X"18",X"FE",X"52",X"CA",
|
||||
X"F9",X"17",X"D2",X"17",X"05",X"FE",X"4F",X"30",X"3C",X"FE",X"47",X"30",X"3D",X"FE",X"3F",X"30",
|
||||
X"3E",X"FE",X"3E",X"CA",X"9F",X"18",X"FE",X"02",X"28",X"03",X"C3",X"17",X"05",X"21",X"A2",X"98",
|
||||
X"36",X"82",X"23",X"36",X"90",X"21",X"22",X"98",X"36",X"06",X"23",X"36",X"00",X"21",X"22",X"99",
|
||||
X"36",X"02",X"21",X"88",X"98",X"36",X"82",X"23",X"36",X"90",X"21",X"08",X"98",X"36",X"13",X"23",
|
||||
X"36",X"06",X"C3",X"17",X"05",X"21",X"82",X"98",X"35",X"35",X"21",X"84",X"98",X"35",X"35",X"21",
|
||||
X"86",X"98",X"35",X"35",X"C3",X"17",X"05",X"21",X"82",X"98",X"34",X"34",X"21",X"84",X"98",X"34",
|
||||
X"34",X"21",X"86",X"98",X"34",X"34",X"C3",X"17",X"05",X"CD",X"61",X"19",X"21",X"64",X"98",X"36",
|
||||
X"23",X"C3",X"17",X"05",X"CD",X"5B",X"19",X"21",X"64",X"98",X"36",X"81",X"21",X"E5",X"98",X"7E",
|
||||
X"D6",X"03",X"77",X"C3",X"17",X"05",X"CD",X"5B",X"19",X"21",X"64",X"98",X"36",X"80",X"21",X"E4",
|
||||
X"98",X"7E",X"D6",X"08",X"77",X"23",X"7E",X"D6",X"04",X"77",X"C3",X"17",X"05",X"CD",X"61",X"19",
|
||||
X"C3",X"17",X"05",X"CD",X"5B",X"19",X"21",X"64",X"98",X"34",X"21",X"82",X"98",X"06",X"06",X"36",
|
||||
X"00",X"23",X"10",X"FB",X"C3",X"17",X"05",X"21",X"F4",X"98",X"06",X"04",X"0E",X"90",X"3E",X"37",
|
||||
X"77",X"C6",X"10",X"23",X"71",X"23",X"10",X"F8",X"36",X"51",X"23",X"71",X"21",X"64",X"98",X"36",
|
||||
X"32",X"21",X"E4",X"98",X"36",X"00",X"23",X"36",X"00",X"21",X"77",X"18",X"11",X"74",X"98",X"01",
|
||||
X"0A",X"00",X"ED",X"B0",X"C3",X"8E",X"18",X"39",X"0A",X"47",X"0A",X"3C",X"0A",X"47",X"0A",X"65",
|
||||
X"00",X"21",X"F4",X"98",X"06",X"0A",X"36",X"00",X"23",X"10",X"FB",X"C3",X"17",X"05",X"21",X"22",
|
||||
X"98",X"36",X"06",X"21",X"22",X"99",X"36",X"00",X"2B",X"2B",X"36",X"00",X"C3",X"17",X"05",X"06",
|
||||
X"02",X"18",X"02",X"06",X"00",X"21",X"22",X"98",X"36",X"11",X"DD",X"21",X"82",X"98",X"FD",X"21",
|
||||
X"02",X"98",X"3E",X"82",X"0E",X"90",X"DD",X"77",X"00",X"DD",X"77",X"02",X"DD",X"77",X"04",X"DD",
|
||||
X"71",X"01",X"DD",X"71",X"03",X"DD",X"71",X"05",X"FD",X"36",X"00",X"37",X"FD",X"36",X"02",X"37",
|
||||
X"FD",X"36",X"04",X"36",X"FD",X"36",X"01",X"08",X"FD",X"36",X"03",X"08",X"FD",X"36",X"05",X"08",
|
||||
X"DD",X"21",X"02",X"99",X"DD",X"70",X"00",X"DD",X"70",X"02",X"DD",X"70",X"04",X"C3",X"17",X"05",
|
||||
X"CD",X"61",X"19",X"21",X"6C",X"98",X"36",X"27",X"C3",X"17",X"05",X"CD",X"5B",X"19",X"21",X"6C",
|
||||
X"98",X"36",X"84",X"21",X"ED",X"98",X"C3",X"0F",X"18",X"CD",X"5B",X"19",X"21",X"6C",X"98",X"36",
|
||||
X"83",X"21",X"EC",X"98",X"C3",X"21",X"18",X"CD",X"5B",X"19",X"21",X"6C",X"98",X"34",X"C3",X"3A",
|
||||
X"18",X"21",X"6C",X"98",X"36",X"32",X"21",X"EC",X"98",X"36",X"00",X"23",X"36",X"00",X"21",X"F4",
|
||||
X"98",X"06",X"04",X"0E",X"90",X"3E",X"97",X"77",X"C6",X"10",X"23",X"71",X"23",X"10",X"F8",X"36",
|
||||
X"B1",X"23",X"71",X"21",X"51",X"19",X"11",X"74",X"98",X"01",X"0A",X"00",X"ED",X"B0",X"C3",X"8E",
|
||||
X"18",X"39",X"0A",X"47",X"0A",X"3F",X"0A",X"47",X"0A",X"65",X"00",X"21",X"22",X"98",X"36",X"0D",
|
||||
X"C9",X"21",X"22",X"98",X"36",X"0C",X"C9",X"21",X"6C",X"89",X"CB",X"4E",X"C2",X"E3",X"19",X"CB",
|
||||
X"46",X"20",X"30",X"21",X"F0",X"87",X"CB",X"46",X"20",X"51",X"21",X"6D",X"89",X"36",X"00",X"21",
|
||||
X"28",X"85",X"0E",X"00",X"06",X"08",X"32",X"30",X"68",X"11",X"10",X"00",X"CB",X"7E",X"28",X"01",
|
||||
X"0C",X"19",X"32",X"30",X"68",X"10",X"F5",X"79",X"FE",X"07",X"20",X"2F",X"21",X"F0",X"87",X"CB",
|
||||
X"C6",X"18",X"40",X"21",X"A1",X"83",X"36",X"7E",X"23",X"7E",X"FE",X"0E",X"28",X"04",X"FE",X"0F",
|
||||
X"20",X"02",X"36",X"7E",X"11",X"20",X"00",X"19",X"3E",X"7E",X"77",X"2B",X"77",X"19",X"77",X"23",
|
||||
X"77",X"21",X"86",X"9A",X"36",X"01",X"21",X"6C",X"89",X"CB",X"CE",X"00",X"3A",X"F0",X"87",X"CB",
|
||||
X"47",X"28",X"10",X"21",X"6D",X"89",X"7E",X"FE",X"1E",X"20",X"07",X"21",X"6C",X"89",X"CB",X"C6",
|
||||
X"18",X"01",X"34",X"00",X"3A",X"00",X"84",X"CB",X"4F",X"20",X"0E",X"2A",X"D4",X"87",X"22",X"ED",
|
||||
X"87",X"3A",X"DA",X"87",X"32",X"EB",X"87",X"18",X"0C",X"3A",X"D8",X"87",X"32",X"EB",X"87",X"2A",
|
||||
X"D2",X"87",X"22",X"ED",X"87",X"3A",X"99",X"87",X"21",X"EB",X"87",X"CB",X"47",X"28",X"06",X"CB",
|
||||
X"87",X"32",X"99",X"87",X"34",X"00",X"3A",X"EB",X"87",X"FE",X"02",X"20",X"21",X"21",X"F0",X"87",
|
||||
X"CB",X"EE",X"CD",X"1E",X"1B",X"21",X"EF",X"87",X"36",X"46",X"21",X"F0",X"87",X"CB",X"B6",X"21",
|
||||
X"9E",X"98",X"36",X"71",X"23",X"36",X"80",X"21",X"EB",X"87",X"34",X"C3",X"02",X"1B",X"3A",X"F0",
|
||||
X"87",X"CB",X"6F",X"28",X"1F",X"2A",X"ED",X"87",X"23",X"22",X"ED",X"87",X"11",X"58",X"02",X"A7",
|
||||
X"ED",X"52",X"20",X"10",X"21",X"9E",X"98",X"36",X"00",X"23",X"36",X"E0",X"21",X"F0",X"87",X"CB",
|
||||
X"AE",X"C3",X"02",X"1B",X"3A",X"01",X"84",X"CB",X"7F",X"C0",X"3A",X"00",X"84",X"CB",X"6F",X"20",
|
||||
X"06",X"3A",X"57",X"86",X"CB",X"4F",X"C8",X"21",X"9E",X"98",X"11",X"A2",X"98",X"1A",X"BE",X"20",
|
||||
X"0E",X"23",X"13",X"1A",X"BE",X"20",X"08",X"3A",X"F0",X"87",X"CB",X"F7",X"32",X"F0",X"87",X"3A",
|
||||
X"F0",X"87",X"CB",X"77",X"CA",X"02",X"1B",X"21",X"EF",X"87",X"7E",X"A7",X"CA",X"02",X"1B",X"35",
|
||||
X"7E",X"FE",X"44",X"20",X"3C",X"21",X"93",X"9A",X"36",X"01",X"21",X"A7",X"87",X"CB",X"C6",X"3A",
|
||||
X"E6",X"87",X"32",X"76",X"98",X"AF",X"32",X"77",X"98",X"21",X"7E",X"98",X"36",X"64",X"23",X"36",
|
||||
X"00",X"3A",X"9E",X"98",X"D6",X"08",X"32",X"F6",X"98",X"C6",X"10",X"32",X"FE",X"98",X"3A",X"9F",
|
||||
X"98",X"32",X"F7",X"98",X"32",X"FF",X"98",X"21",X"9E",X"98",X"36",X"00",X"23",X"36",X"E0",X"18",
|
||||
X"21",X"FE",X"02",X"20",X"12",X"21",X"F6",X"98",X"36",X"00",X"23",X"36",X"00",X"21",X"FE",X"98",
|
||||
X"36",X"00",X"23",X"36",X"00",X"18",X"0B",X"FE",X"01",X"20",X"07",X"36",X"00",X"21",X"F0",X"87",
|
||||
X"CB",X"B6",X"3A",X"00",X"84",X"CB",X"4F",X"2A",X"ED",X"87",X"3A",X"EB",X"87",X"20",X"08",X"32",
|
||||
X"DA",X"87",X"22",X"D4",X"87",X"18",X"06",X"32",X"D8",X"87",X"22",X"D2",X"87",X"C9",X"3A",X"00",
|
||||
X"84",X"CB",X"4F",X"20",X"05",X"21",X"0D",X"84",X"18",X"03",X"21",X"0E",X"84",X"7E",X"21",X"E8",
|
||||
X"87",X"FE",X"12",X"38",X"02",X"3E",X"12",X"77",X"D6",X"01",X"87",X"87",X"5F",X"16",X"00",X"21",
|
||||
X"57",X"1B",X"19",X"7E",X"32",X"1E",X"98",X"23",X"7E",X"32",X"1F",X"98",X"23",X"7E",X"32",X"E7",
|
||||
X"87",X"23",X"7E",X"32",X"E6",X"87",X"C9",X"53",X"0E",X"04",X"5D",X"55",X"10",X"06",X"5E",X"58",
|
||||
X"12",X"08",X"5F",X"54",X"0F",X"10",X"60",X"54",X"0F",X"10",X"60",X"57",X"11",X"20",X"4E",X"57",
|
||||
X"11",X"20",X"4E",X"56",X"10",X"30",X"4F",X"56",X"10",X"30",X"4F",X"59",X"13",X"40",X"61",X"59",
|
||||
X"13",X"40",X"61",X"5A",X"14",X"50",X"50",X"5A",X"14",X"50",X"50",X"52",X"0D",X"60",X"62",X"52",
|
||||
X"0D",X"60",X"62",X"5B",X"15",X"70",X"51",X"5B",X"15",X"70",X"51",X"5C",X"16",X"80",X"63",X"3A",
|
||||
X"57",X"86",X"CB",X"4F",X"28",X"04",X"3E",X"02",X"18",X"05",X"3A",X"8D",X"89",X"E6",X"03",X"87",
|
||||
X"87",X"87",X"87",X"6F",X"26",X"00",X"3A",X"10",X"84",X"3D",X"5F",X"16",X"00",X"19",X"EB",X"21",
|
||||
X"FE",X"1B",X"19",X"7E",X"32",X"BD",X"87",X"3A",X"00",X"84",X"CB",X"4F",X"20",X"05",X"3A",X"0D",
|
||||
X"84",X"18",X"03",X"3A",X"0E",X"84",X"21",X"BD",X"87",X"D6",X"1E",X"38",X"06",X"86",X"77",X"30",
|
||||
X"02",X"36",X"FF",X"21",X"3E",X"1C",X"06",X"06",X"DD",X"21",X"A0",X"87",X"E5",X"19",X"7E",X"E1",
|
||||
X"DD",X"77",X"00",X"D5",X"11",X"40",X"00",X"19",X"D1",X"DD",X"23",X"10",X"EF",X"C9",X"73",X"73",
|
||||
X"78",X"78",X"78",X"80",X"80",X"80",X"84",X"84",X"84",X"84",X"87",X"8C",X"96",X"80",X"78",X"78",
|
||||
X"78",X"78",X"78",X"80",X"80",X"84",X"84",X"84",X"84",X"84",X"87",X"8C",X"96",X"80",X"7C",X"7C",
|
||||
X"7C",X"7C",X"7C",X"80",X"80",X"84",X"84",X"84",X"84",X"84",X"87",X"8C",X"96",X"80",X"7E",X"7E",
|
||||
X"7E",X"7E",X"7E",X"87",X"87",X"87",X"87",X"87",X"87",X"8A",X"8C",X"90",X"96",X"80",X"7C",X"80",
|
||||
X"80",X"85",X"89",X"92",X"96",X"9A",X"9F",X"9F",X"A3",X"A3",X"A3",X"A3",X"A8",X"80",X"80",X"85",
|
||||
X"89",X"89",X"8D",X"96",X"96",X"9A",X"9F",X"9F",X"A3",X"A3",X"A3",X"A3",X"A8",X"80",X"89",X"8D",
|
||||
X"91",X"92",X"92",X"9A",X"9A",X"9F",X"9F",X"A3",X"A3",X"A3",X"A3",X"A3",X"A8",X"80",X"92",X"92",
|
||||
X"96",X"96",X"9A",X"9F",X"9F",X"A3",X"A3",X"A8",X"A8",X"A8",X"AC",X"AC",X"B4",X"80",X"80",X"89",
|
||||
X"8D",X"92",X"9A",X"A3",X"A8",X"AC",X"AC",X"AC",X"B0",X"B4",X"B4",X"B8",X"BC",X"80",X"85",X"8D",
|
||||
X"96",X"9A",X"9F",X"A8",X"A8",X"AC",X"AC",X"B0",X"B0",X"B4",X"B4",X"B8",X"BC",X"80",X"92",X"96",
|
||||
X"9A",X"9F",X"A3",X"A8",X"A8",X"AC",X"AC",X"B0",X"B0",X"B4",X"B4",X"B8",X"BC",X"80",X"9A",X"9F",
|
||||
X"A3",X"A3",X"A8",X"AC",X"B0",X"B4",X"B4",X"B4",X"B8",X"B8",X"BC",X"C1",X"C5",X"80",X"AC",X"B0",
|
||||
X"B4",X"B4",X"BC",X"C1",X"C5",X"CA",X"CE",X"D2",X"D2",X"DB",X"DB",X"DF",X"DF",X"80",X"B0",X"B4",
|
||||
X"B8",X"BC",X"C1",X"CA",X"CA",X"CE",X"CE",X"D2",X"D7",X"DB",X"DB",X"DF",X"DF",X"80",X"B8",X"BC",
|
||||
X"C1",X"C5",X"CA",X"CE",X"CE",X"D2",X"D2",X"D7",X"D7",X"D2",X"D2",X"DF",X"DF",X"80",X"C1",X"C5",
|
||||
X"CA",X"CA",X"CE",X"D2",X"D7",X"DB",X"DB",X"DB",X"DF",X"DF",X"DF",X"DF",X"DF",X"80",X"85",X"89",
|
||||
X"89",X"8D",X"8D",X"9A",X"9F",X"A3",X"A8",X"A8",X"AC",X"AC",X"AC",X"AC",X"B0",X"80",X"89",X"8D",
|
||||
X"92",X"92",X"96",X"9F",X"9F",X"A3",X"A8",X"A8",X"AC",X"AC",X"AC",X"AC",X"B0",X"80",X"92",X"96",
|
||||
X"9A",X"9A",X"A4",X"A3",X"A3",X"A8",X"A8",X"AC",X"AC",X"AC",X"AC",X"AC",X"B0",X"80",X"9F",X"9F",
|
||||
X"A3",X"A3",X"A8",X"AC",X"B0",X"B0",X"B0",X"B4",X"B4",X"B4",X"B8",X"B8",X"C1",X"80",X"8D",X"96",
|
||||
X"9A",X"9F",X"A8",X"B0",X"B4",X"B4",X"B8",X"B8",X"BC",X"C1",X"C1",X"C5",X"CA",X"80",X"92",X"9A",
|
||||
X"A3",X"A8",X"AC",X"B4",X"B4",X"B8",X"B8",X"BC",X"BC",X"C1",X"C1",X"C5",X"CA",X"80",X"9F",X"A3",
|
||||
X"A8",X"AC",X"B0",X"B4",X"B4",X"B8",X"B8",X"BC",X"BC",X"C1",X"C1",X"C5",X"CA",X"80",X"A8",X"AC",
|
||||
X"B0",X"B0",X"B4",X"B8",X"BC",X"C1",X"C1",X"C1",X"C5",X"C5",X"CA",X"CE",X"D2",X"80",X"B7",X"BB",
|
||||
X"BF",X"BF",X"C7",X"CC",X"D0",X"D5",X"D9",X"DD",X"DD",X"E2",X"E6",X"EA",X"EA",X"80",X"BB",X"BF",
|
||||
X"C3",X"C7",X"CC",X"D5",X"D5",X"D9",X"D9",X"DD",X"E2",X"E6",X"E6",X"EA",X"EA",X"80",X"C3",X"C7",
|
||||
X"CF",X"D1",X"D5",X"D9",X"D9",X"DD",X"DD",X"E2",X"E2",X"E6",X"E6",X"EA",X"EA",X"80",X"CC",X"D0",
|
||||
X"D5",X"D5",X"D9",X"DD",X"E2",X"E6",X"E6",X"E6",X"EA",X"EA",X"EA",X"EA",X"EA",X"80",X"40",X"40",
|
||||
X"40",X"40",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"44",X"46",X"48",X"51",X"51",X"51",
|
||||
X"51",X"51",X"53",X"53",X"53",X"53",X"53",X"53",X"53",X"53",X"53",X"55",X"3A",X"CF",X"89",X"A7",
|
||||
X"20",X"0F",X"3A",X"3D",X"9B",X"FE",X"05",X"D0",X"21",X"F6",X"1D",X"CF",X"7E",X"23",X"66",X"6F",
|
||||
X"E9",X"AF",X"32",X"3D",X"9B",X"C9",X"00",X"1E",X"3A",X"1E",X"34",X"1F",X"0B",X"1E",X"01",X"1E",
|
||||
X"C9",X"CD",X"AB",X"1E",X"20",X"05",X"AF",X"32",X"3D",X"9B",X"C9",X"21",X"DE",X"1E",X"CD",X"7A",
|
||||
X"1E",X"11",X"30",X"B8",X"06",X"04",X"CD",X"7F",X"1E",X"11",X"DE",X"1E",X"21",X"00",X"B8",X"06",
|
||||
X"25",X"CD",X"B3",X"1E",X"CC",X"AB",X"1E",X"32",X"CF",X"89",X"21",X"DE",X"1E",X"11",X"A0",X"89",
|
||||
X"01",X"25",X"00",X"ED",X"B0",X"AF",X"32",X"3D",X"9B",X"C9",X"21",X"00",X"B8",X"11",X"A0",X"89",
|
||||
X"06",X"25",X"36",X"00",X"3E",X"08",X"32",X"40",X"B8",X"3C",X"32",X"40",X"B8",X"00",X"3E",X"08",
|
||||
X"32",X"40",X"B8",X"3E",X"0C",X"00",X"32",X"40",X"B8",X"3E",X"0D",X"32",X"40",X"B8",X"00",X"0E",
|
||||
X"01",X"ED",X"A0",X"3E",X"04",X"32",X"40",X"B8",X"10",X"D8",X"AF",X"32",X"3D",X"9B",X"C9",X"CD",
|
||||
X"77",X"1E",X"AF",X"32",X"3D",X"9B",X"C9",X"21",X"A0",X"89",X"11",X"00",X"B8",X"06",X"25",X"0E",
|
||||
X"01",X"ED",X"A0",X"3E",X"0E",X"32",X"40",X"B8",X"CD",X"A0",X"1E",X"3E",X"04",X"32",X"40",X"B8",
|
||||
X"3E",X"0A",X"32",X"40",X"B8",X"CD",X"A0",X"1E",X"3E",X"04",X"32",X"40",X"B8",X"10",X"E0",X"C9",
|
||||
X"C5",X"01",X"DB",X"24",X"0D",X"20",X"FD",X"10",X"FB",X"C1",X"C9",X"21",X"30",X"B8",X"11",X"03",
|
||||
X"1F",X"06",X"04",X"36",X"00",X"3E",X"08",X"32",X"40",X"B8",X"3C",X"32",X"40",X"B8",X"00",X"3E",
|
||||
X"08",X"32",X"40",X"B8",X"3E",X"0C",X"00",X"32",X"40",X"B8",X"3E",X"0D",X"32",X"40",X"B8",X"00",
|
||||
X"1A",X"AE",X"C0",X"23",X"13",X"3E",X"04",X"32",X"40",X"B8",X"10",X"D7",X"AF",X"C9",X"01",X"00",
|
||||
X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"00",X"28",X"35",
|
||||
X"28",X"1C",X"35",X"1C",X"26",X"35",X"26",X"1A",X"35",X"1A",X"27",X"35",X"27",X"00",X"01",X"01",
|
||||
X"01",X"01",X"01",X"A5",X"C3",X"EE",X"18",X"21",X"00",X"00",X"F3",X"11",X"FE",X"1F",X"06",X"10",
|
||||
X"AF",X"86",X"2C",X"20",X"FC",X"24",X"10",X"F9",X"EB",X"BE",X"20",X"10",X"EB",X"1C",X"20",X"EE",
|
||||
X"3E",X"FF",X"32",X"00",X"8A",X"3A",X"00",X"8A",X"A7",X"20",X"FA",X"C9",X"3E",X"06",X"85",X"32",
|
||||
X"00",X"8A",X"18",X"F8",X"CD",X"77",X"1E",X"11",X"A0",X"89",X"21",X"00",X"B8",X"06",X"25",X"CD",
|
||||
X"B3",X"1E",X"3A",X"CF",X"89",X"A7",X"28",X"0B",X"21",X"57",X"1F",X"11",X"30",X"B8",X"06",X"04",
|
||||
X"CD",X"7F",X"1E",X"32",X"3D",X"9B",X"C9",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"D9",X"11",X"BB");
|
||||
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/Galaga Hardware/DigDug_MiST/rtl/roms/cpu2_rom.vhd
Normal file
278
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/cpu2_rom.vhd
Normal file
@@ -0,0 +1,278 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity cpu2_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 cpu2_rom is
|
||||
type rom is array(0 to 4095) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"31",X"80",X"8B",X"C3",X"85",X"00",X"FF",X"FF",X"87",X"30",X"05",X"24",X"18",X"02",X"FF",X"FF",
|
||||
X"85",X"6F",X"D0",X"24",X"C9",X"FF",X"FF",X"FF",X"77",X"23",X"10",X"FC",X"C9",X"FF",X"FF",X"FF",
|
||||
X"CF",X"7E",X"23",X"66",X"6F",X"E9",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"E5",X"3A",X"3C",X"9B",X"A7",X"28",X"08",X"AF",X"32",
|
||||
X"3C",X"9B",X"E1",X"F1",X"ED",X"45",X"3E",X"01",X"32",X"3C",X"9B",X"32",X"22",X"68",X"AF",X"32",
|
||||
X"22",X"68",X"C3",X"B5",X"00",X"3E",X"01",X"32",X"22",X"68",X"CD",X"7F",X"06",X"21",X"40",X"8A",
|
||||
X"06",X"08",X"AF",X"DF",X"21",X"80",X"9A",X"36",X"00",X"11",X"81",X"9A",X"01",X"FF",X"00",X"ED",
|
||||
X"B0",X"21",X"E7",X"07",X"11",X"0A",X"9B",X"01",X"15",X"00",X"ED",X"B0",X"AF",X"32",X"22",X"68",
|
||||
X"31",X"80",X"8B",X"18",X"FB",X"21",X"20",X"9B",X"36",X"00",X"11",X"21",X"9B",X"01",X"0F",X"00",
|
||||
X"ED",X"B0",X"3A",X"57",X"86",X"CB",X"4F",X"28",X"3F",X"3A",X"CF",X"87",X"CB",X"67",X"28",X"10",
|
||||
X"21",X"80",X"9A",X"36",X"00",X"11",X"81",X"9A",X"01",X"27",X"00",X"ED",X"B0",X"C3",X"F5",X"02",
|
||||
X"AF",X"21",X"80",X"9A",X"06",X"0A",X"DF",X"21",X"96",X"9A",X"06",X"0A",X"DF",X"32",X"8E",X"9A",
|
||||
X"32",X"A4",X"9A",X"21",X"90",X"9A",X"06",X"03",X"DF",X"21",X"A6",X"9A",X"06",X"03",X"DF",X"32",
|
||||
X"94",X"9A",X"32",X"AA",X"9A",X"C3",X"D0",X"01",X"3A",X"33",X"9B",X"A7",X"28",X"09",X"21",X"80",
|
||||
X"9A",X"86",X"77",X"AF",X"32",X"33",X"9B",X"3A",X"81",X"9A",X"A7",X"28",X"0B",X"21",X"34",X"9B",
|
||||
X"36",X"01",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"88",X"9A",X"A7",X"28",X"0B",X"21",X"34",
|
||||
X"9B",X"36",X"08",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"82",X"9A",X"A7",X"28",X"0B",X"21",
|
||||
X"34",X"9B",X"36",X"02",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"83",X"9A",X"A7",X"28",X"0B",
|
||||
X"21",X"34",X"9B",X"36",X"03",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"94",X"9A",X"A7",X"28",
|
||||
X"0B",X"21",X"34",X"9B",X"36",X"14",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"87",X"9A",X"A7",
|
||||
X"28",X"0B",X"21",X"34",X"9B",X"36",X"07",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"84",X"9A",
|
||||
X"A7",X"28",X"0B",X"21",X"34",X"9B",X"36",X"04",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",X"85",
|
||||
X"9A",X"A7",X"28",X"0B",X"21",X"34",X"9B",X"36",X"05",X"CD",X"91",X"03",X"C3",X"E7",X"02",X"3A",
|
||||
X"91",X"9A",X"A7",X"28",X"10",X"21",X"34",X"9B",X"36",X"11",X"CD",X"91",X"03",X"3E",X"50",X"32",
|
||||
X"3B",X"9B",X"C3",X"D0",X"01",X"3A",X"3B",X"9B",X"3D",X"32",X"3B",X"9B",X"20",X"12",X"21",X"3B",
|
||||
X"9B",X"34",X"3A",X"92",X"9A",X"A7",X"28",X"08",X"21",X"34",X"9B",X"36",X"12",X"CD",X"91",X"03",
|
||||
X"21",X"34",X"9B",X"36",X"0F",X"3A",X"8F",X"9A",X"A7",X"28",X"0A",X"AF",X"32",X"8F",X"9A",X"CD",
|
||||
X"1A",X"03",X"C3",X"0F",X"02",X"3A",X"A5",X"9A",X"A7",X"28",X"06",X"CD",X"4E",X"03",X"C3",X"0F",
|
||||
X"02",X"21",X"34",X"9B",X"36",X"10",X"3A",X"90",X"9A",X"A7",X"28",X"0A",X"AF",X"32",X"90",X"9A",
|
||||
X"CD",X"1A",X"03",X"C3",X"0F",X"02",X"3A",X"A6",X"9A",X"A7",X"28",X"03",X"CD",X"4E",X"03",X"21",
|
||||
X"34",X"9B",X"36",X"0A",X"3A",X"8A",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"8A",X"9A",X"CD",X"1A",
|
||||
X"03",X"18",X"3B",X"3A",X"A0",X"9A",X"A7",X"28",X"05",X"CD",X"4E",X"03",X"18",X"30",X"3A",X"8B",
|
||||
X"9A",X"A7",X"28",X"0B",X"21",X"34",X"9B",X"36",X"0B",X"CD",X"91",X"03",X"C3",X"5E",X"02",X"3A",
|
||||
X"8C",X"9A",X"A7",X"28",X"0B",X"21",X"34",X"9B",X"36",X"0C",X"CD",X"91",X"03",X"C3",X"5E",X"02",
|
||||
X"3A",X"8D",X"9A",X"A7",X"28",X"08",X"21",X"34",X"9B",X"36",X"0D",X"CD",X"91",X"03",X"21",X"34",
|
||||
X"9B",X"36",X"0E",X"3A",X"8E",X"9A",X"A7",X"28",X"09",X"AF",X"32",X"8E",X"9A",X"CD",X"1A",X"03",
|
||||
X"18",X"09",X"3A",X"A4",X"9A",X"A7",X"28",X"03",X"CD",X"4E",X"03",X"3A",X"89",X"9A",X"A7",X"28",
|
||||
X"1B",X"21",X"46",X"86",X"CB",X"46",X"28",X"09",X"AF",X"32",X"89",X"9A",X"32",X"9F",X"9A",X"18",
|
||||
X"0B",X"21",X"34",X"9B",X"36",X"09",X"CD",X"91",X"03",X"C3",X"C1",X"02",X"3A",X"86",X"9A",X"A7",
|
||||
X"28",X"1F",X"21",X"46",X"86",X"CB",X"46",X"20",X"07",X"21",X"01",X"84",X"CB",X"7E",X"28",X"09",
|
||||
X"AF",X"32",X"86",X"9A",X"32",X"9C",X"9A",X"18",X"08",X"21",X"34",X"9B",X"36",X"06",X"CD",X"91",
|
||||
X"03",X"3A",X"93",X"9A",X"A7",X"28",X"20",X"3A",X"57",X"86",X"CB",X"4F",X"C2",X"DF",X"02",X"21",
|
||||
X"01",X"84",X"CB",X"6E",X"20",X"09",X"AF",X"32",X"93",X"9A",X"32",X"A9",X"9A",X"18",X"08",X"21",
|
||||
X"34",X"9B",X"36",X"13",X"CD",X"91",X"03",X"3A",X"80",X"9A",X"A7",X"28",X"08",X"21",X"34",X"9B",
|
||||
X"36",X"00",X"CD",X"91",X"03",X"21",X"20",X"9B",X"11",X"10",X"68",X"01",X"10",X"00",X"ED",X"B0",
|
||||
X"3A",X"30",X"9B",X"32",X"05",X"68",X"3A",X"31",X"9B",X"32",X"0A",X"68",X"3A",X"32",X"9B",X"32",
|
||||
X"0F",X"68",X"AF",X"32",X"3C",X"9B",X"E1",X"F1",X"ED",X"45",X"21",X"96",X"9A",X"3A",X"34",X"9B",
|
||||
X"D7",X"34",X"21",X"34",X"9B",X"7E",X"87",X"86",X"21",X"54",X"07",X"D7",X"11",X"35",X"9B",X"01",
|
||||
X"03",X"00",X"ED",X"B0",X"21",X"36",X"9B",X"46",X"48",X"21",X"DB",X"9A",X"3A",X"35",X"9B",X"D7",
|
||||
X"AF",X"DF",X"41",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",X"AF",X"DF",X"18",X"12",X"21",X"34",
|
||||
X"9B",X"7E",X"87",X"86",X"21",X"54",X"07",X"D7",X"11",X"35",X"9B",X"01",X"03",X"00",X"ED",X"B0",
|
||||
X"CD",X"D5",X"04",X"21",X"36",X"9B",X"35",X"28",X"0A",X"21",X"35",X"9B",X"34",X"21",X"37",X"9B",
|
||||
X"34",X"18",X"ED",X"3A",X"38",X"9B",X"A7",X"C8",X"AF",X"32",X"38",X"9B",X"21",X"96",X"9A",X"3A",
|
||||
X"34",X"9B",X"D7",X"36",X"00",X"21",X"0D",X"04",X"3A",X"34",X"9B",X"CF",X"5E",X"23",X"56",X"EB",
|
||||
X"E9",X"21",X"34",X"9B",X"7E",X"87",X"86",X"21",X"54",X"07",X"D7",X"11",X"35",X"9B",X"01",X"03",
|
||||
X"00",X"ED",X"B0",X"21",X"96",X"9A",X"3A",X"34",X"9B",X"D7",X"7E",X"A7",X"20",X"19",X"34",X"21",
|
||||
X"36",X"9B",X"46",X"48",X"21",X"DB",X"9A",X"3A",X"35",X"9B",X"D7",X"AF",X"DF",X"41",X"21",X"AC",
|
||||
X"9A",X"3A",X"35",X"9B",X"D7",X"AF",X"DF",X"CD",X"D5",X"04",X"21",X"36",X"9B",X"35",X"28",X"0A",
|
||||
X"21",X"35",X"9B",X"34",X"21",X"37",X"9B",X"34",X"18",X"ED",X"3A",X"38",X"9B",X"A7",X"C8",X"AF",
|
||||
X"32",X"38",X"9B",X"21",X"96",X"9A",X"3A",X"34",X"9B",X"D7",X"36",X"00",X"21",X"80",X"9A",X"3A",
|
||||
X"34",X"9B",X"D7",X"3A",X"34",X"9B",X"A7",X"28",X"12",X"FE",X"14",X"28",X"0E",X"36",X"00",X"21",
|
||||
X"0D",X"04",X"3A",X"34",X"9B",X"CF",X"5E",X"23",X"56",X"EB",X"E9",X"35",X"C9",X"37",X"04",X"38",
|
||||
X"04",X"37",X"04",X"37",X"04",X"C6",X"04",X"48",X"04",X"5F",X"04",X"6E",X"04",X"48",X"04",X"63",
|
||||
X"04",X"37",X"04",X"37",X"04",X"40",X"04",X"37",X"04",X"90",X"04",X"37",X"04",X"37",X"04",X"37",
|
||||
X"04",X"37",X"04",X"AB",X"04",X"37",X"04",X"C9",X"AF",X"32",X"94",X"9A",X"32",X"AA",X"9A",X"C9",
|
||||
X"AF",X"32",X"8D",X"9A",X"32",X"A3",X"9A",X"C9",X"AF",X"32",X"86",X"9A",X"32",X"89",X"9A",X"32",
|
||||
X"9C",X"9A",X"32",X"9F",X"9A",X"32",X"93",X"9A",X"32",X"A9",X"9A",X"3E",X"10",X"18",X"06",X"3E",
|
||||
X"0A",X"18",X"02",X"3E",X"0C",X"32",X"1B",X"9B",X"AF",X"32",X"A7",X"9A",X"18",X"07",X"AF",X"32",
|
||||
X"93",X"9A",X"32",X"A9",X"9A",X"21",X"8A",X"9A",X"11",X"8B",X"9A",X"01",X"08",X"00",X"36",X"00",
|
||||
X"ED",X"B0",X"21",X"A0",X"9A",X"11",X"A1",X"9A",X"01",X"08",X"00",X"36",X"00",X"ED",X"B0",X"C9",
|
||||
X"21",X"8A",X"9A",X"11",X"8B",X"9A",X"01",X"03",X"00",X"36",X"00",X"ED",X"B0",X"21",X"A0",X"9A",
|
||||
X"11",X"A1",X"9A",X"01",X"03",X"00",X"36",X"00",X"ED",X"B0",X"C9",X"21",X"8A",X"9A",X"11",X"8B",
|
||||
X"9A",X"01",X"06",X"00",X"36",X"00",X"ED",X"B0",X"21",X"A0",X"9A",X"11",X"A1",X"9A",X"01",X"06",
|
||||
X"00",X"36",X"00",X"ED",X"B0",X"C9",X"AF",X"32",X"86",X"9A",X"32",X"89",X"9A",X"32",X"9C",X"9A",
|
||||
X"32",X"9F",X"9A",X"18",X"99",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",X"34",X"3A",X"35",X"9B",
|
||||
X"21",X"00",X"07",X"CF",X"5E",X"23",X"56",X"21",X"DB",X"9A",X"3A",X"35",X"9B",X"D7",X"7E",X"EB",
|
||||
X"D7",X"22",X"39",X"9B",X"7E",X"3C",X"CA",X"13",X"06",X"21",X"BD",X"07",X"3A",X"35",X"9B",X"D7",
|
||||
X"7E",X"A7",X"28",X"0D",X"3D",X"28",X"05",X"11",X"65",X"06",X"18",X"08",X"11",X"4B",X"06",X"18",
|
||||
X"03",X"11",X"31",X"06",X"2A",X"39",X"9B",X"7E",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"EB",X"CF",
|
||||
X"4E",X"23",X"46",X"EB",X"7E",X"E6",X"0F",X"28",X"07",X"CB",X"38",X"CB",X"19",X"3D",X"20",X"F9",
|
||||
X"3A",X"37",X"9B",X"A7",X"28",X"0D",X"3D",X"28",X"05",X"21",X"2B",X"9B",X"18",X"08",X"21",X"26",
|
||||
X"9B",X"18",X"03",X"21",X"21",X"9B",X"71",X"7E",X"0F",X"0F",X"0F",X"0F",X"23",X"77",X"23",X"70",
|
||||
X"7E",X"0F",X"0F",X"0F",X"0F",X"23",X"77",X"3A",X"37",X"9B",X"A7",X"28",X"0D",X"3D",X"28",X"05",
|
||||
X"11",X"2F",X"9B",X"18",X"08",X"11",X"2A",X"9B",X"18",X"03",X"11",X"25",X"9B",X"2A",X"39",X"9B",
|
||||
X"7E",X"D6",X"C0",X"28",X"4A",X"3A",X"35",X"9B",X"21",X"FC",X"07",X"D7",X"A7",X"28",X"21",X"3D",
|
||||
X"28",X"0F",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",X"7E",X"FE",X"06",X"30",X"12",X"2F",X"18",
|
||||
X"33",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",X"7E",X"FE",X"06",X"30",X"03",X"87",X"18",X"24",
|
||||
X"21",X"26",X"08",X"3A",X"35",X"9B",X"D7",X"7E",X"A7",X"28",X"17",X"47",X"21",X"AC",X"9A",X"3A",
|
||||
X"35",X"9B",X"D7",X"7E",X"90",X"38",X"0B",X"D6",X"0A",X"30",X"04",X"ED",X"44",X"18",X"05",X"AF",
|
||||
X"18",X"02",X"3E",X"0A",X"12",X"21",X"30",X"9B",X"3A",X"37",X"9B",X"D7",X"EB",X"21",X"93",X"07",
|
||||
X"3A",X"35",X"9B",X"D7",X"ED",X"A0",X"21",X"0A",X"9B",X"3A",X"34",X"9B",X"D7",X"7E",X"2A",X"39",
|
||||
X"9B",X"23",X"5E",X"16",X"00",X"21",X"00",X"00",X"06",X"08",X"CB",X"3F",X"30",X"01",X"19",X"CB",
|
||||
X"23",X"CB",X"12",X"10",X"F5",X"45",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",X"78",X"BE",X"C0",
|
||||
X"21",X"DB",X"9A",X"3A",X"35",X"9B",X"D7",X"34",X"34",X"21",X"AC",X"9A",X"3A",X"35",X"9B",X"D7",
|
||||
X"36",X"00",X"C9",X"3A",X"37",X"9B",X"A7",X"28",X"0D",X"3D",X"28",X"05",X"21",X"2F",X"9B",X"18",
|
||||
X"08",X"21",X"2A",X"9B",X"18",X"03",X"21",X"25",X"9B",X"36",X"00",X"3E",X"01",X"32",X"38",X"9B",
|
||||
X"C9",X"50",X"81",X"00",X"89",X"26",X"91",X"C8",X"99",X"EC",X"A2",X"9D",X"AC",X"E0",X"B6",X"C0",
|
||||
X"C1",X"45",X"CD",X"7A",X"D9",X"69",X"E6",X"1C",X"F4",X"00",X"00",X"35",X"82",X"F2",X"89",X"27",
|
||||
X"92",X"D8",X"9A",X"0C",X"A4",X"CE",X"AD",X"23",X"B8",X"17",X"C3",X"B0",X"CE",X"FB",X"DA",X"01",
|
||||
X"E8",X"CC",X"F5",X"00",X"00",X"6E",X"80",X"11",X"88",X"29",X"90",X"BC",X"98",X"D0",X"A1",X"70",
|
||||
X"AB",X"A1",X"B5",X"6E",X"C0",X"DF",X"CB",X"FE",X"D7",X"D7",X"E4",X"72",X"F2",X"00",X"00",X"21",
|
||||
X"00",X"00",X"06",X"10",X"AF",X"86",X"2C",X"20",X"FC",X"24",X"10",X"F9",X"FE",X"AA",X"20",X"0C",
|
||||
X"3E",X"FF",X"32",X"01",X"8A",X"3A",X"01",X"8A",X"A7",X"20",X"FA",X"C9",X"3E",X"06",X"32",X"01",
|
||||
X"8A",X"18",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"50",X"08",X"9F",X"08",X"EE",X"08",X"31",X"09",X"31",X"09",X"4E",X"09",X"67",X"09",X"DC",X"09",
|
||||
X"51",X"0A",X"B2",X"0A",X"B2",X"0A",X"C9",X"0A",X"E2",X"0A",X"09",X"0B",X"36",X"0B",X"57",X"0B",
|
||||
X"62",X"0B",X"6D",X"0B",X"8E",X"0B",X"E5",X"0B",X"66",X"0C",X"77",X"0C",X"90",X"0C",X"90",X"0C",
|
||||
X"90",X"0C",X"A3",X"0C",X"BA",X"0C",X"E3",X"0C",X"0C",X"0D",X"35",X"0D",X"66",X"0D",X"73",X"0D",
|
||||
X"8C",X"0D",X"A5",X"0D",X"BE",X"0D",X"D7",X"0D",X"E2",X"0D",X"ED",X"0D",X"F8",X"0D",X"09",X"0E",
|
||||
X"62",X"0E",X"BB",X"0E",X"14",X"01",X"02",X"00",X"03",X"00",X"06",X"03",X"00",X"09",X"03",X"00",
|
||||
X"23",X"03",X"00",X"1A",X"03",X"00",X"21",X"02",X"00",X"16",X"03",X"00",X"03",X"03",X"00",X"1F",
|
||||
X"02",X"00",X"0D",X"01",X"02",X"19",X"01",X"02",X"11",X"01",X"02",X"0F",X"02",X"01",X"1D",X"02",
|
||||
X"01",X"15",X"01",X"00",X"0C",X"01",X"00",X"12",X"02",X"00",X"0E",X"01",X"01",X"26",X"01",X"00",
|
||||
X"27",X"03",X"00",X"02",X"00",X"05",X"03",X"00",X"04",X"02",X"00",X"05",X"05",X"02",X"04",X"05",
|
||||
X"04",X"06",X"02",X"01",X"02",X"03",X"04",X"03",X"03",X"00",X"01",X"05",X"02",X"02",X"02",X"02",
|
||||
X"00",X"01",X"05",X"05",X"02",X"04",X"02",X"02",X"02",X"02",X"02",X"00",X"05",X"00",X"01",X"00",
|
||||
X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",
|
||||
X"01",X"00",X"00",X"00",X"01",X"02",X"00",X"00",X"01",X"02",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"01",X"02",X"00",X"00",X"00",X"00",X"08",X"10",X"0C",X"0C",X"08",X"06",X"10",X"0E",X"0C",
|
||||
X"10",X"02",X"04",X"02",X"04",X"02",X"04",X"02",X"10",X"04",X"08",X"0C",X"00",X"01",X"02",X"00",
|
||||
X"01",X"00",X"00",X"01",X"02",X"00",X"01",X"00",X"00",X"00",X"00",X"02",X"01",X"00",X"02",X"02",
|
||||
X"02",X"02",X"01",X"00",X"02",X"00",X"01",X"01",X"01",X"02",X"01",X"02",X"01",X"02",X"01",X"02",
|
||||
X"02",X"02",X"02",X"00",X"00",X"02",X"01",X"00",X"04",X"01",X"01",X"06",X"03",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"03",X"00",X"00",X"00",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"04",X"06",X"04",X"06",X"00",X"00",X"00",X"00",X"01",X"06",X"00",
|
||||
X"05",X"01",X"15",X"01",X"15",X"01",X"15",X"01",X"06",X"01",X"16",X"01",X"16",X"01",X"16",X"01",
|
||||
X"07",X"01",X"17",X"01",X"17",X"01",X"17",X"01",X"C0",X"01",X"15",X"01",X"15",X"01",X"15",X"01",
|
||||
X"15",X"01",X"C0",X"01",X"A6",X"01",X"C0",X"01",X"15",X"01",X"A6",X"02",X"15",X"01",X"35",X"01",
|
||||
X"A6",X"01",X"A6",X"01",X"A6",X"02",X"86",X"01",X"66",X"02",X"76",X"01",X"C0",X"01",X"16",X"01",
|
||||
X"C0",X"01",X"76",X"01",X"16",X"02",X"76",X"02",X"86",X"01",X"86",X"01",X"86",X"05",X"FF",X"06",
|
||||
X"01",X"16",X"01",X"16",X"01",X"16",X"01",X"07",X"01",X"17",X"01",X"17",X"01",X"17",X"01",X"08",
|
||||
X"01",X"18",X"01",X"18",X"01",X"18",X"01",X"C0",X"01",X"16",X"01",X"16",X"01",X"16",X"01",X"16",
|
||||
X"01",X"C0",X"01",X"A7",X"01",X"C0",X"01",X"16",X"01",X"A7",X"02",X"16",X"01",X"36",X"01",X"A7",
|
||||
X"01",X"A7",X"01",X"A7",X"02",X"87",X"01",X"67",X"02",X"77",X"01",X"C0",X"01",X"17",X"01",X"C0",
|
||||
X"01",X"77",X"01",X"17",X"02",X"77",X"02",X"87",X"01",X"87",X"01",X"87",X"05",X"FF",X"C0",X"0C",
|
||||
X"C0",X"01",X"18",X"01",X"38",X"01",X"58",X"01",X"68",X"01",X"18",X"01",X"68",X"01",X"18",X"01",
|
||||
X"68",X"01",X"18",X"01",X"68",X"01",X"18",X"01",X"68",X"01",X"18",X"01",X"68",X"01",X"18",X"01",
|
||||
X"68",X"01",X"18",X"01",X"68",X"01",X"18",X"01",X"48",X"01",X"18",X"01",X"48",X"01",X"18",X"01",
|
||||
X"48",X"01",X"18",X"01",X"48",X"01",X"18",X"01",X"58",X"01",X"18",X"01",X"58",X"01",X"18",X"05",
|
||||
X"FF",X"A6",X"01",X"B6",X"01",X"05",X"01",X"15",X"02",X"A6",X"01",X"B6",X"02",X"86",X"01",X"A6",
|
||||
X"02",X"66",X"01",X"86",X"02",X"56",X"01",X"66",X"03",X"65",X"02",X"66",X"04",X"FF",X"C0",X"03",
|
||||
X"18",X"02",X"C0",X"01",X"28",X"02",X"C0",X"01",X"38",X"02",X"C0",X"01",X"58",X"02",X"C0",X"01",
|
||||
X"68",X"04",X"C0",X"01",X"68",X"04",X"FF",X"A6",X"02",X"B6",X"01",X"15",X"02",X"A6",X"01",X"86",
|
||||
X"02",X"66",X"03",X"86",X"01",X"A6",X"02",X"36",X"01",X"16",X"02",X"C0",X"01",X"16",X"01",X"C0",
|
||||
X"01",X"16",X"04",X"A6",X"02",X"B6",X"01",X"15",X"02",X"A6",X"01",X"86",X"02",X"66",X"03",X"86",
|
||||
X"01",X"A6",X"02",X"16",X"01",X"36",X"02",X"C0",X"01",X"36",X"01",X"C0",X"01",X"36",X"04",X"B6",
|
||||
X"02",X"15",X"01",X"35",X"02",X"B6",X"01",X"A6",X"02",X"86",X"02",X"C0",X"01",X"86",X"01",X"A6",
|
||||
X"02",X"B6",X"01",X"15",X"02",X"A6",X"01",X"86",X"02",X"66",X"02",X"C0",X"01",X"66",X"01",X"86",
|
||||
X"02",X"A6",X"01",X"B6",X"02",X"86",X"01",X"66",X"02",X"56",X"03",X"36",X"01",X"56",X"02",X"16",
|
||||
X"01",X"66",X"02",X"C0",X"01",X"66",X"01",X"C0",X"01",X"66",X"04",X"FF",X"A7",X"02",X"B7",X"01",
|
||||
X"16",X"02",X"A7",X"01",X"87",X"02",X"67",X"03",X"87",X"01",X"A7",X"02",X"37",X"01",X"17",X"02",
|
||||
X"C0",X"01",X"17",X"01",X"C0",X"01",X"17",X"04",X"A7",X"02",X"B7",X"01",X"16",X"02",X"A7",X"01",
|
||||
X"87",X"02",X"67",X"03",X"87",X"01",X"A7",X"02",X"17",X"01",X"37",X"02",X"C0",X"01",X"37",X"01",
|
||||
X"C0",X"01",X"37",X"04",X"B7",X"02",X"16",X"01",X"36",X"02",X"B7",X"01",X"A7",X"02",X"87",X"02",
|
||||
X"C0",X"01",X"87",X"01",X"A7",X"02",X"B7",X"01",X"16",X"02",X"A7",X"01",X"87",X"02",X"67",X"02",
|
||||
X"C0",X"01",X"67",X"01",X"87",X"02",X"A7",X"01",X"B7",X"02",X"87",X"01",X"67",X"02",X"57",X"03",
|
||||
X"37",X"01",X"57",X"02",X"17",X"01",X"67",X"02",X"C0",X"01",X"67",X"01",X"C0",X"01",X"67",X"04",
|
||||
X"FF",X"C0",X"03",X"69",X"04",X"C0",X"01",X"69",X"03",X"C0",X"01",X"69",X"02",X"C0",X"01",X"69",
|
||||
X"04",X"C0",X"01",X"69",X"03",X"C0",X"01",X"69",X"02",X"C0",X"01",X"69",X"04",X"C0",X"01",X"89",
|
||||
X"03",X"C0",X"01",X"A9",X"02",X"C0",X"01",X"B9",X"04",X"C0",X"01",X"B9",X"03",X"C0",X"01",X"A9",
|
||||
X"02",X"C0",X"01",X"89",X"04",X"C0",X"01",X"A9",X"03",X"C0",X"01",X"B9",X"02",X"C0",X"01",X"A9",
|
||||
X"04",X"C0",X"01",X"89",X"03",X"C0",X"01",X"69",X"02",X"C0",X"01",X"89",X"04",X"C0",X"01",X"19",
|
||||
X"03",X"C0",X"01",X"B9",X"02",X"C0",X"01",X"A9",X"02",X"C0",X"01",X"89",X"01",X"C0",X"01",X"69",
|
||||
X"04",X"FF",X"B7",X"01",X"06",X"01",X"16",X"01",X"26",X"02",X"36",X"01",X"46",X"02",X"56",X"03",
|
||||
X"16",X"01",X"66",X"03",X"16",X"02",X"66",X"07",X"FF",X"67",X"02",X"C0",X"01",X"57",X"02",X"C0",
|
||||
X"01",X"47",X"02",X"C0",X"01",X"37",X"02",X"C0",X"01",X"27",X"02",X"C0",X"01",X"17",X"02",X"68",
|
||||
X"07",X"FF",X"05",X"01",X"55",X"01",X"15",X"01",X"65",X"01",X"25",X"01",X"75",X"01",X"35",X"01",
|
||||
X"85",X"01",X"45",X"01",X"95",X"01",X"55",X"01",X"A5",X"01",X"65",X"01",X"B5",X"01",X"B7",X"02",
|
||||
X"A7",X"02",X"97",X"02",X"87",X"02",X"C0",X"02",X"FF",X"08",X"01",X"38",X"01",X"28",X"01",X"58",
|
||||
X"01",X"48",X"01",X"78",X"01",X"68",X"01",X"96",X"01",X"88",X"01",X"B8",X"01",X"A8",X"01",X"17",
|
||||
X"01",X"07",X"01",X"37",X"01",X"27",X"01",X"57",X"01",X"47",X"01",X"77",X"01",X"67",X"01",X"97",
|
||||
X"01",X"87",X"01",X"B7",X"01",X"FF",X"05",X"01",X"15",X"01",X"05",X"01",X"B6",X"01",X"05",X"01",
|
||||
X"15",X"01",X"05",X"01",X"B6",X"01",X"06",X"01",X"16",X"01",X"06",X"01",X"B7",X"01",X"06",X"01",
|
||||
X"16",X"01",X"06",X"01",X"B7",X"01",X"FF",X"16",X"04",X"B5",X"01",X"55",X"01",X"A5",X"01",X"65",
|
||||
X"01",X"FF",X"09",X"01",X"18",X"01",X"27",X"01",X"36",X"01",X"45",X"04",X"FF",X"08",X"01",X"B9",
|
||||
X"01",X"08",X"01",X"18",X"01",X"08",X"01",X"B9",X"01",X"08",X"01",X"18",X"01",X"58",X"01",X"48",
|
||||
X"01",X"58",X"01",X"68",X"01",X"58",X"01",X"48",X"01",X"58",X"01",X"68",X"01",X"FF",X"06",X"01",
|
||||
X"16",X"01",X"16",X"01",X"16",X"02",X"16",X"01",X"16",X"01",X"16",X"01",X"16",X"01",X"16",X"01",
|
||||
X"16",X"01",X"16",X"02",X"16",X"01",X"16",X"01",X"16",X"01",X"A7",X"02",X"87",X"01",X"A7",X"02",
|
||||
X"87",X"01",X"A7",X"01",X"87",X"01",X"A7",X"04",X"87",X"04",X"97",X"01",X"A7",X"01",X"A7",X"01",
|
||||
X"A7",X"02",X"A7",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"02",
|
||||
X"A7",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"02",X"87",X"01",X"A7",X"02",X"87",X"01",X"A7",X"01",
|
||||
X"87",X"01",X"16",X"08",X"FF",X"68",X"01",X"17",X"01",X"68",X"01",X"17",X"01",X"58",X"01",X"17",
|
||||
X"01",X"58",X"01",X"17",X"01",X"48",X"01",X"17",X"01",X"48",X"01",X"17",X"01",X"38",X"01",X"17",
|
||||
X"01",X"38",X"01",X"17",X"01",X"28",X"01",X"B8",X"01",X"28",X"01",X"B8",X"01",X"28",X"01",X"B8",
|
||||
X"01",X"28",X"01",X"B8",X"01",X"18",X"01",X"B8",X"01",X"18",X"01",X"B8",X"01",X"38",X"01",X"B8",
|
||||
X"01",X"58",X"01",X"B8",X"01",X"68",X"01",X"17",X"01",X"68",X"01",X"17",X"01",X"58",X"01",X"17",
|
||||
X"01",X"58",X"01",X"17",X"01",X"48",X"01",X"17",X"01",X"48",X"01",X"17",X"01",X"38",X"01",X"17",
|
||||
X"01",X"38",X"01",X"17",X"01",X"28",X"01",X"B8",X"01",X"28",X"01",X"B8",X"01",X"28",X"01",X"B8",
|
||||
X"01",X"28",X"01",X"B8",X"01",X"18",X"01",X"B8",X"01",X"18",X"01",X"B8",X"01",X"38",X"01",X"B8",
|
||||
X"01",X"58",X"01",X"B8",X"01",X"FF",X"26",X"01",X"36",X"01",X"66",X"01",X"A6",X"01",X"15",X"01",
|
||||
X"A6",X"01",X"66",X"01",X"36",X"01",X"FF",X"86",X"01",X"05",X"01",X"15",X"01",X"55",X"01",X"86",
|
||||
X"01",X"05",X"01",X"15",X"01",X"55",X"01",X"86",X"01",X"05",X"01",X"15",X"01",X"55",X"01",X"FF",
|
||||
X"66",X"01",X"86",X"01",X"A6",X"01",X"36",X"01",X"16",X"01",X"C0",X"01",X"35",X"01",X"C0",X"01",
|
||||
X"15",X"04",X"FF",X"0A",X"01",X"7A",X"01",X"29",X"01",X"99",X"01",X"48",X"01",X"B8",X"01",X"67",
|
||||
X"01",X"57",X"01",X"67",X"01",X"77",X"01",X"67",X"01",X"FF",X"16",X"01",X"06",X"01",X"B7",X"01",
|
||||
X"A7",X"01",X"B7",X"01",X"A7",X"01",X"97",X"01",X"87",X"01",X"97",X"01",X"87",X"01",X"77",X"01",
|
||||
X"67",X"01",X"77",X"01",X"67",X"01",X"57",X"01",X"47",X"01",X"37",X"01",X"B7",X"01",X"77",X"01",
|
||||
X"36",X"01",X"FF",X"77",X"01",X"67",X"01",X"57",X"01",X"47",X"01",X"57",X"01",X"47",X"01",X"37",
|
||||
X"01",X"27",X"01",X"37",X"01",X"27",X"01",X"17",X"01",X"07",X"01",X"17",X"01",X"07",X"01",X"B8",
|
||||
X"01",X"A8",X"01",X"98",X"01",X"57",X"01",X"17",X"01",X"97",X"01",X"FF",X"47",X"01",X"37",X"01",
|
||||
X"27",X"01",X"17",X"01",X"27",X"01",X"17",X"01",X"07",X"01",X"B8",X"01",X"07",X"01",X"B8",X"01",
|
||||
X"A8",X"01",X"98",X"01",X"A8",X"01",X"98",X"01",X"88",X"01",X"78",X"01",X"68",X"01",X"27",X"01",
|
||||
X"A8",X"01",X"67",X"01",X"FF",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",
|
||||
X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",
|
||||
X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",X"01",X"55",X"01",X"A5",
|
||||
X"01",X"55",X"01",X"A5",X"01",X"FF",X"09",X"04",X"19",X"04",X"29",X"04",X"39",X"04",X"49",X"04",
|
||||
X"39",X"04",X"FF",X"16",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"01",X"26",X"01",X"A7",X"01",X"A7",
|
||||
X"01",X"A7",X"01",X"36",X"01",X"A7",X"01",X"A7",X"01",X"A7",X"05",X"FF",X"27",X"01",X"17",X"01",
|
||||
X"27",X"01",X"17",X"01",X"27",X"01",X"17",X"01",X"27",X"01",X"17",X"01",X"27",X"01",X"17",X"01",
|
||||
X"27",X"01",X"17",X"05",X"FF",X"16",X"01",X"16",X"01",X"A7",X"01",X"16",X"01",X"36",X"01",X"56",
|
||||
X"01",X"66",X"01",X"86",X"01",X"A6",X"01",X"A6",X"01",X"A6",X"01",X"A6",X"05",X"FF",X"68",X"01",
|
||||
X"18",X"02",X"18",X"01",X"68",X"01",X"18",X"02",X"18",X"01",X"68",X"01",X"18",X"02",X"18",X"02",
|
||||
X"18",X"01",X"18",X"01",X"18",X"01",X"FF",X"75",X"01",X"B5",X"01",X"34",X"01",X"64",X"01",X"75",
|
||||
X"02",X"FF",X"76",X"01",X"B6",X"01",X"35",X"01",X"65",X"01",X"76",X"02",X"FF",X"57",X"01",X"17",
|
||||
X"01",X"98",X"01",X"68",X"01",X"57",X"02",X"FF",X"55",X"01",X"65",X"01",X"95",X"01",X"A5",X"01",
|
||||
X"04",X"01",X"34",X"01",X"14",X"01",X"A5",X"01",X"FF",X"15",X"01",X"A6",X"01",X"15",X"01",X"25",
|
||||
X"01",X"A6",X"01",X"25",X"01",X"35",X"01",X"A6",X"01",X"35",X"01",X"25",X"01",X"A6",X"01",X"25",
|
||||
X"01",X"15",X"01",X"A6",X"01",X"15",X"01",X"05",X"01",X"A6",X"01",X"05",X"01",X"C0",X"02",X"26",
|
||||
X"01",X"C0",X"02",X"26",X"01",X"96",X"01",X"66",X"01",X"96",X"01",X"A6",X"01",X"66",X"01",X"A6",
|
||||
X"01",X"B6",X"01",X"66",X"01",X"B6",X"01",X"A6",X"01",X"66",X"01",X"A6",X"01",X"96",X"01",X"66",
|
||||
X"01",X"96",X"01",X"A6",X"01",X"66",X"01",X"A6",X"01",X"C0",X"02",X"26",X"01",X"C0",X"02",X"26",
|
||||
X"01",X"FF",X"A6",X"01",X"66",X"01",X"A6",X"01",X"A6",X"01",X"66",X"01",X"A6",X"01",X"A6",X"01",
|
||||
X"66",X"01",X"A6",X"01",X"A6",X"01",X"66",X"01",X"A6",X"01",X"A6",X"01",X"66",X"01",X"A6",X"01",
|
||||
X"A6",X"01",X"66",X"01",X"A6",X"01",X"C0",X"02",X"06",X"01",X"C0",X"02",X"06",X"01",X"66",X"01",
|
||||
X"06",X"01",X"66",X"01",X"66",X"01",X"16",X"01",X"66",X"01",X"66",X"01",X"26",X"01",X"66",X"01",
|
||||
X"66",X"01",X"16",X"01",X"66",X"01",X"66",X"01",X"06",X"01",X"66",X"01",X"66",X"01",X"16",X"01",
|
||||
X"66",X"01",X"C0",X"02",X"06",X"01",X"C0",X"02",X"06",X"01",X"FF",X"69",X"04",X"C0",X"01",X"69",
|
||||
X"03",X"C0",X"01",X"69",X"02",X"C0",X"01",X"69",X"04",X"C0",X"01",X"69",X"03",X"C0",X"01",X"69",
|
||||
X"02",X"C0",X"01",X"18",X"04",X"C0",X"01",X"18",X"03",X"C0",X"01",X"18",X"02",X"C0",X"01",X"18",
|
||||
X"04",X"C0",X"01",X"18",X"03",X"C0",X"01",X"18",X"02",X"C0",X"01",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"C7");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.1
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.1
Normal file
Binary file not shown.
1
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.10b
Normal file
1
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.10b
Normal file
@@ -0,0 +1 @@
|
||||
&'''''''67777777EGGGGG&'''''''67777777EGGGGG&'''''''67777777DGGGGG''''''''57777777EGGGGG''''''''57777777FGGGGG''''''''57777777FGGGGG''''''''47777777FGGGGG&'''''''47777777FGGGGG&'''''''57777777FGGGGG&'''''''57777777FGGGGG%'''''''67777777FGGGGG%'''''''67777777EGGGGG%'''''''77777777EGGGGG%'''''''77777777DGGGGG%'''''''77777777DGGGGG%'''''''77777777DGGGGG%'''''''67777777DGGGGG%'''''''67777777DGGGGG&'''''''67777777EGGGGG&'''''''67777777EGGGGG&'''''''57777777EGGGGG''''''''57777777FGGGGG''''''''67777777FGGGGG&'''''''67777777GGGGGG&'''''''67777777GGGGGG%'''''''77777777FGGGGG%'''''''77777777FGGGGG%'''''''67777777EGGGGGWTWTWTWTWTWTWTWTWTWTWTWTWTWTWTWTVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVWVTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUTUWTWTWTWTWTWTWTWTWTWTWTWTWTWTWTWTVUVUVUVUVUVUVUVUVUVUVUVUVUVUVUVU'''///777e'u'/<2F>/7<>7QSd't'/<2F>/7<>7PRc's'/<2F>/7<>7IHb'r'/<2F>/7<>7KJb'r'/<2F>/7<>7oa'q'/<2F>/7<>7n'''///7<>7m'''///777lk'''///777'''///777jDEQS'''///777iFGPRe'u'/<2F>/7<>7hd't'/<2F>/7<>7gc's'/<2F>/7<>7fACb'r'/<2F>/7<>7@Bb'r'/<2F>/7<>7IH`'p'/<2F>/7<>7KJ'''///777'''///777'''///777RRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPPRRRQPPPPPPPPPPPPPPPPPPPPPPPPPPPP
|
||||
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.11
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.11
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.12
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.12
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.13
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.13
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.14
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.14
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.15
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.15
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.2
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.2
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.3
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.3
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.4b
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.4b
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.5b
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.5b
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.6b
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.6b
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.7
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.7
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.9
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1.9
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.1
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.1
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.2
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.2
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.3
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.3
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.4
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.4
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.5
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.5
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.6
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/dd1a.6
Normal file
Binary file not shown.
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/digdug (1).zip
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/digdug (1).zip
Normal file
Binary file not shown.
150
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/fgchip_rom.vhd
Normal file
150
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/fgchip_rom.vhd
Normal file
@@ -0,0 +1,150 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity fgchip_rom is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(10 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of fgchip_rom is
|
||||
type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"60",X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",X"80",X"00",
|
||||
X"00",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"99",X"00",
|
||||
X"00",X"06",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"01",X"00",
|
||||
X"FC",X"FE",X"FE",X"FC",X"F8",X"F0",X"00",X"00",X"7F",X"3F",X"3F",X"3F",X"1F",X"0F",X"00",X"00",
|
||||
X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",X"FE",X"FC",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"3F",X"7F",
|
||||
X"00",X"00",X"F0",X"F8",X"FC",X"FE",X"FE",X"FC",X"00",X"00",X"0F",X"1F",X"3F",X"7F",X"7F",X"3F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"01",X"03",X"03",X"01",X"01",X"03",X"03",X"01",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"FF",X"FF",X"66",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"1C",X"3E",X"43",X"41",X"61",X"3E",X"1C",X"00",X"40",X"40",X"7F",X"7F",X"42",X"40",X"00",X"00",
|
||||
X"46",X"4F",X"5D",X"59",X"79",X"73",X"62",X"00",X"31",X"7B",X"4F",X"4D",X"49",X"61",X"20",X"00",
|
||||
X"10",X"7F",X"7F",X"13",X"16",X"1C",X"18",X"00",X"38",X"7D",X"45",X"45",X"45",X"67",X"27",X"00",
|
||||
X"30",X"79",X"49",X"49",X"4B",X"7E",X"3C",X"00",X"03",X"07",X"0D",X"79",X"71",X"03",X"03",X"00",
|
||||
X"30",X"76",X"59",X"59",X"4D",X"4F",X"36",X"00",X"1E",X"3F",X"69",X"49",X"49",X"4F",X"06",X"00",
|
||||
X"7C",X"7E",X"13",X"11",X"13",X"7E",X"7C",X"00",X"36",X"7F",X"49",X"49",X"49",X"7F",X"7F",X"00",
|
||||
X"22",X"63",X"41",X"41",X"63",X"3E",X"1C",X"00",X"1C",X"3E",X"63",X"41",X"41",X"7F",X"7F",X"00",
|
||||
X"41",X"49",X"49",X"49",X"49",X"7F",X"7F",X"00",X"01",X"09",X"09",X"09",X"09",X"7F",X"7F",X"00",
|
||||
X"79",X"79",X"49",X"41",X"63",X"3E",X"1C",X"00",X"7F",X"7F",X"08",X"08",X"08",X"7F",X"7F",X"00",
|
||||
X"41",X"41",X"7F",X"7F",X"41",X"41",X"00",X"00",X"3F",X"7F",X"40",X"40",X"40",X"60",X"20",X"00",
|
||||
X"41",X"63",X"76",X"3C",X"18",X"7F",X"7F",X"00",X"40",X"40",X"40",X"40",X"7F",X"7F",X"00",X"00",
|
||||
X"7F",X"7F",X"0E",X"1C",X"0E",X"7F",X"7F",X"00",X"7F",X"7F",X"38",X"1C",X"0E",X"7F",X"7F",X"00",
|
||||
X"3E",X"7F",X"41",X"41",X"41",X"7F",X"3E",X"00",X"0E",X"1F",X"11",X"11",X"11",X"7F",X"7F",X"00",
|
||||
X"5E",X"3F",X"71",X"51",X"41",X"7F",X"3E",X"00",X"4E",X"6F",X"79",X"31",X"11",X"7F",X"7F",X"00",
|
||||
X"30",X"7A",X"4B",X"49",X"49",X"6F",X"26",X"00",X"01",X"01",X"7F",X"7F",X"01",X"01",X"00",X"00",
|
||||
X"3F",X"7F",X"60",X"60",X"60",X"7F",X"3F",X"00",X"0F",X"1F",X"38",X"70",X"38",X"1F",X"0F",X"00",
|
||||
X"7F",X"7F",X"38",X"1C",X"38",X"7F",X"7F",X"00",X"63",X"77",X"3E",X"1C",X"3E",X"77",X"63",X"00",
|
||||
X"07",X"0F",X"78",X"78",X"0F",X"07",X"00",X"00",X"43",X"47",X"4F",X"5D",X"79",X"71",X"61",X"00",
|
||||
X"00",X"07",X"6F",X"6E",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"03",X"07",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"03",X"03",X"03",X"03",X"FF",X"FF",X"00",X"00",
|
||||
X"DB",X"DB",X"FB",X"F8",X"00",X"00",X"FE",X"FF",X"FF",X"00",X"00",X"FE",X"FF",X"FF",X"DB",X"DB",
|
||||
X"FF",X"03",X"03",X"FF",X"FF",X"03",X"03",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"FE",
|
||||
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",X"C3",
|
||||
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"F0",X"F0",X"F0",X"F0",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"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",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"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"F0",X"F0",
|
||||
X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",
|
||||
X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"00",
|
||||
X"1C",X"3E",X"43",X"41",X"61",X"3E",X"1C",X"00",X"40",X"40",X"7F",X"7F",X"42",X"40",X"00",X"00",
|
||||
X"46",X"4F",X"5D",X"59",X"79",X"73",X"62",X"00",X"31",X"7B",X"4F",X"4D",X"49",X"61",X"20",X"00",
|
||||
X"10",X"7F",X"7F",X"13",X"16",X"1C",X"18",X"00",X"38",X"7D",X"45",X"45",X"45",X"67",X"27",X"00",
|
||||
X"30",X"79",X"49",X"49",X"4B",X"7E",X"3C",X"00",X"03",X"07",X"0D",X"79",X"71",X"03",X"03",X"00",
|
||||
X"30",X"76",X"59",X"59",X"4D",X"4F",X"36",X"00",X"1E",X"3F",X"69",X"49",X"49",X"4F",X"06",X"00",
|
||||
X"7C",X"7E",X"13",X"11",X"13",X"7E",X"7C",X"00",X"36",X"7F",X"49",X"49",X"49",X"7F",X"7F",X"00",
|
||||
X"22",X"63",X"41",X"41",X"63",X"3E",X"1C",X"00",X"1C",X"3E",X"63",X"41",X"41",X"7F",X"7F",X"00",
|
||||
X"41",X"49",X"49",X"49",X"49",X"7F",X"7F",X"00",X"01",X"09",X"09",X"09",X"09",X"7F",X"7F",X"00",
|
||||
X"79",X"79",X"49",X"41",X"63",X"3E",X"1C",X"00",X"7F",X"7F",X"08",X"08",X"08",X"7F",X"7F",X"00",
|
||||
X"41",X"41",X"7F",X"7F",X"41",X"41",X"00",X"00",X"3F",X"7F",X"40",X"40",X"40",X"60",X"20",X"00",
|
||||
X"41",X"63",X"76",X"3C",X"18",X"7F",X"7F",X"00",X"40",X"40",X"40",X"40",X"7F",X"7F",X"00",X"00",
|
||||
X"7F",X"7F",X"0E",X"1C",X"0E",X"7F",X"7F",X"00",X"7F",X"7F",X"38",X"1C",X"0E",X"7F",X"7F",X"00",
|
||||
X"3E",X"7F",X"41",X"41",X"41",X"7F",X"3E",X"00",X"0E",X"1F",X"11",X"11",X"11",X"7F",X"7F",X"00",
|
||||
X"5E",X"3F",X"71",X"51",X"41",X"7F",X"3E",X"00",X"4E",X"6F",X"79",X"31",X"11",X"7F",X"7F",X"00",
|
||||
X"30",X"7A",X"4B",X"49",X"49",X"6F",X"26",X"00",X"01",X"01",X"7F",X"7F",X"01",X"01",X"00",X"00",
|
||||
X"3F",X"7F",X"60",X"60",X"60",X"7F",X"3F",X"00",X"0F",X"1F",X"38",X"70",X"38",X"1F",X"0F",X"00",
|
||||
X"7F",X"7F",X"38",X"1C",X"38",X"7F",X"7F",X"00",X"63",X"77",X"3E",X"1C",X"3E",X"77",X"63",X"00",
|
||||
X"07",X"0F",X"78",X"78",X"0F",X"07",X"00",X"00",X"43",X"47",X"4F",X"5D",X"79",X"71",X"61",X"00",
|
||||
X"00",X"07",X"6F",X"6E",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"03",X"07",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"06",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"01",X"00",
|
||||
X"00",X"66",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"99",X"00",
|
||||
X"00",X"60",X"F0",X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"F0",X"80",X"00",
|
||||
X"3F",X"7F",X"7F",X"3F",X"1F",X"0F",X"00",X"00",X"FE",X"FC",X"FC",X"FC",X"F8",X"F0",X"00",X"00",
|
||||
X"3F",X"7F",X"7F",X"3F",X"3F",X"7F",X"7F",X"3F",X"FE",X"FC",X"FC",X"FE",X"FE",X"FC",X"FC",X"FE",
|
||||
X"00",X"00",X"0F",X"1F",X"3F",X"7F",X"7F",X"3F",X"00",X"00",X"F0",X"F8",X"FC",X"FE",X"FE",X"FC",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"80",X"C0",X"C0",X"80",X"80",X"C0",X"C0",X"80",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"FF",X"FF",X"66",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
|
||||
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
|
||||
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
|
||||
X"82",X"92",X"92",X"92",X"92",X"FE",X"FE",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
|
||||
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
|
||||
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
|
||||
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
|
||||
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
|
||||
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
|
||||
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
|
||||
X"FC",X"FE",X"06",X"06",X"06",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
|
||||
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
|
||||
X"00",X"E0",X"F6",X"76",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",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"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00",
|
||||
X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"FF",X"DB",X"DB",
|
||||
X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F",
|
||||
X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3",X"C3",
|
||||
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"0F",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"0F",X"0F",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",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"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",X"0F",
|
||||
X"FF",X"FF",X"FF",X"FF",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"0F",X"0F",X"0F",X"0F",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"F0",X"0F",X"0F",X"0F",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",X"0F",X"0F",X"0F",X"0F",
|
||||
X"0F",X"0F",X"0F",X"0F",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F0",X"00",X"00",X"00",X"00",
|
||||
X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00",
|
||||
X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00",
|
||||
X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00",
|
||||
X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00",
|
||||
X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",
|
||||
X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00",
|
||||
X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00",
|
||||
X"82",X"92",X"92",X"92",X"92",X"FE",X"FE",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00",
|
||||
X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",
|
||||
X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00",
|
||||
X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00",
|
||||
X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",
|
||||
X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00",
|
||||
X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00",
|
||||
X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00",
|
||||
X"FC",X"FE",X"06",X"06",X"06",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00",
|
||||
X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",
|
||||
X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",
|
||||
X"00",X"E0",X"F6",X"76",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"C0",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"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"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;
|
||||
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity palette_rom 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 palette_rom is
|
||||
type rom is array(0 to 31) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"00",X"2F",X"F6",X"1E",X"28",X"0D",X"36",X"04",X"80",X"5B",X"07",X"A4",X"52",X"5A",X"65",X"00",
|
||||
X"00",X"07",X"2F",X"28",X"E8",X"F6",X"36",X"1F",X"65",X"14",X"0A",X"DF",X"D8",X"D0",X"84",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/spchip
Normal file
BIN
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/spchip
Normal file
Binary file not shown.
1046
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/spchip_rom.vhd
Normal file
1046
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/roms/spchip_rom.vhd
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity spclut_rom is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(7 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of spclut_rom is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"0F",X"01",X"05",X"0C",X"0F",X"01",X"06",X"05",X"0F",X"01",X"03",X"05",X"0F",X"00",X"06",X"05",
|
||||
X"0F",X"08",X"09",X"0A",X"0F",X"01",X"06",X"07",X"0F",X"00",X"00",X"00",X"0F",X"01",X"06",X"04",
|
||||
X"0F",X"01",X"00",X"05",X"0F",X"01",X"0F",X"05",X"0F",X"00",X"04",X"00",X"0F",X"06",X"07",X"0B",
|
||||
X"0F",X"05",X"03",X"05",X"0F",X"01",X"03",X"08",X"0F",X"01",X"03",X"08",X"0F",X"00",X"03",X"05",
|
||||
X"0F",X"05",X"03",X"08",X"0F",X"0E",X"0B",X"0D",X"0F",X"05",X"08",X"01",X"0F",X"01",X"05",X"03",
|
||||
X"0F",X"09",X"07",X"02",X"0F",X"06",X"01",X"0D",X"0F",X"06",X"03",X"09",X"0F",X"06",X"03",X"0B",
|
||||
X"0F",X"06",X"03",X"01",X"0F",X"07",X"03",X"05",X"0F",X"0D",X"05",X"01",X"0F",X"0D",X"05",X"03",
|
||||
X"0F",X"04",X"03",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
@@ -0,0 +1,38 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity wave_rom is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
addr : in std_logic_vector(7 downto 0);
|
||||
data : out std_logic_vector(7 downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
architecture prom of wave_rom is
|
||||
type rom is array(0 to 255) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"07",X"09",X"0A",X"0B",X"0C",X"0D",X"0D",X"0E",X"0E",X"0E",X"0D",X"0D",X"0C",X"0B",X"0A",X"09",
|
||||
X"07",X"05",X"04",X"03",X"02",X"01",X"01",X"00",X"00",X"00",X"01",X"01",X"02",X"03",X"04",X"05",
|
||||
X"07",X"09",X"0A",X"0B",X"07",X"0D",X"0D",X"07",X"0E",X"07",X"0D",X"0D",X"07",X"0B",X"0A",X"09",
|
||||
X"07",X"05",X"07",X"03",X"07",X"01",X"07",X"00",X"07",X"00",X"07",X"01",X"07",X"03",X"07",X"05",
|
||||
X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",X"0E",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"0B",X"0D",X"0E",X"0D",X"0C",X"0A",X"08",X"08",X"08",X"0A",X"0C",X"0D",X"0E",X"0D",X"0B",X"08",
|
||||
X"04",X"02",X"01",X"02",X"03",X"05",X"07",X"07",X"07",X"05",X"03",X"02",X"01",X"02",X"04",X"07",
|
||||
X"07",X"0A",X"0C",X"0D",X"0E",X"0D",X"0C",X"0A",X"07",X"04",X"02",X"01",X"00",X"01",X"02",X"04",
|
||||
X"07",X"0B",X"0D",X"0E",X"0D",X"0B",X"07",X"03",X"01",X"00",X"01",X"03",X"07",X"0E",X"07",X"00",
|
||||
X"07",X"0E",X"0C",X"09",X"0C",X"0E",X"0A",X"07",X"0C",X"0F",X"0D",X"08",X"0A",X"0B",X"07",X"02",
|
||||
X"08",X"0D",X"09",X"04",X"05",X"07",X"02",X"00",X"03",X"08",X"05",X"01",X"03",X"06",X"03",X"01",
|
||||
X"07",X"08",X"0A",X"0C",X"0E",X"0D",X"0C",X"0C",X"0B",X"0A",X"08",X"07",X"05",X"06",X"07",X"08",
|
||||
X"08",X"09",X"0A",X"0B",X"09",X"08",X"06",X"05",X"04",X"04",X"03",X"02",X"04",X"06",X"08",X"09",
|
||||
X"0A",X"0C",X"0C",X"0A",X"07",X"07",X"08",X"0B",X"0D",X"0E",X"0D",X"0A",X"06",X"05",X"05",X"07",
|
||||
X"09",X"09",X"08",X"04",X"01",X"00",X"01",X"03",X"06",X"07",X"07",X"04",X"02",X"02",X"04",X"07");
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if rising_edge(clk) then
|
||||
data <= rom_data(to_integer(unsigned(addr)));
|
||||
end if;
|
||||
end process;
|
||||
end architecture;
|
||||
249
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/wsg.v
Normal file
249
Arcade_MiST/Galaga Hardware/DigDug_MiST/rtl/wsg.v
Normal file
@@ -0,0 +1,249 @@
|
||||
//--------------------------------------------
|
||||
// Wave-base Sound Generator (3ch)
|
||||
//
|
||||
// Copyright (c) 2017 MiSTer-X
|
||||
//--------------------------------------------
|
||||
module WSG_3CH
|
||||
(
|
||||
input CLK48M,
|
||||
input RESET,
|
||||
|
||||
input CPUCLK,
|
||||
input [4:0] ADRS,
|
||||
input [3:0] DATA,
|
||||
input WR,
|
||||
|
||||
output WROMCLK,
|
||||
output [7:0] WROMADR,
|
||||
input [3:0] WROMDAT,
|
||||
|
||||
output PCMCLK,
|
||||
output [7:0] PCMOUT
|
||||
);
|
||||
|
||||
wire WSGCLKx4;
|
||||
WSGCLKGEN cgen( CLK48M, WSGCLKx4 );
|
||||
|
||||
wire [2:0] W0, W1, W2;
|
||||
wire [3:0] V0, V1, V2;
|
||||
wire [19:0] F0;
|
||||
wire [15:0] F1, F2;
|
||||
|
||||
WSGREGS regs
|
||||
(
|
||||
RESET,
|
||||
CPUCLK, ADRS, WR, DATA,
|
||||
|
||||
W0, W1, W2,
|
||||
V0, V1, V2,
|
||||
F0, F1, F2
|
||||
);
|
||||
|
||||
WSGCORE core
|
||||
(
|
||||
RESET, WSGCLKx4,
|
||||
WROMCLK, WROMADR, WROMDAT,
|
||||
|
||||
W0, W1, W2,
|
||||
V0, V1, V2,
|
||||
F0, F1, F2,
|
||||
|
||||
PCMCLK, PCMOUT
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module WSGREGS
|
||||
(
|
||||
input RESET,
|
||||
input CPUCLK,
|
||||
input [4:0] ADRS,
|
||||
input WR,
|
||||
input [3:0] DATA,
|
||||
|
||||
output reg [2:0] W0,
|
||||
output reg [2:0] W1,
|
||||
output reg [2:0] W2,
|
||||
|
||||
output reg [3:0] V0,
|
||||
output reg [3:0] V1,
|
||||
output reg [3:0] V2,
|
||||
|
||||
output reg [19:0] F0,
|
||||
output reg [15:0] F1,
|
||||
output reg [15:0] F2
|
||||
);
|
||||
|
||||
always @ ( posedge CPUCLK or posedge RESET ) begin
|
||||
|
||||
if ( RESET ) begin
|
||||
|
||||
W0 <= 0;
|
||||
W1 <= 0;
|
||||
W2 <= 0;
|
||||
|
||||
F0 <= 0;
|
||||
F1 <= 0;
|
||||
F2 <= 0;
|
||||
|
||||
V0 <= 0;
|
||||
V1 <= 0;
|
||||
V2 <= 0;
|
||||
|
||||
end
|
||||
else begin
|
||||
|
||||
if ( WR ) case ( ADRS )
|
||||
|
||||
5'h05: W0 <= DATA[2:0];
|
||||
5'h0A: W1 <= DATA[2:0];
|
||||
5'h0F: W2 <= DATA[2:0];
|
||||
|
||||
5'h15: V0 <= DATA;
|
||||
5'h1A: V1 <= DATA;
|
||||
5'h1F: V2 <= DATA;
|
||||
|
||||
5'h10: F0[3:0] <= DATA;
|
||||
5'h11: F0[7:4] <= DATA;
|
||||
5'h12: F0[11:8] <= DATA;
|
||||
5'h13: F0[15:12] <= DATA;
|
||||
5'h14: F0[19:16] <= DATA;
|
||||
|
||||
5'h16: F1[3:0] <= DATA;
|
||||
5'h17: F1[7:4] <= DATA;
|
||||
5'h18: F1[11:8] <= DATA;
|
||||
5'h19: F1[15:12] <= DATA;
|
||||
|
||||
5'h1B: F2[3:0] <= DATA;
|
||||
5'h1C: F2[7:4] <= DATA;
|
||||
5'h1D: F2[11:8] <= DATA;
|
||||
5'h1E: F2[15:12] <= DATA;
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
module WSGCORE
|
||||
(
|
||||
input RESET,
|
||||
input WSGCLKx4,
|
||||
|
||||
output WROMCLK,
|
||||
output [7:0] WROMADR,
|
||||
input [3:0] WROMDAT,
|
||||
|
||||
input [2:0] W0,
|
||||
input [2:0] W1,
|
||||
input [2:0] W2,
|
||||
|
||||
input [3:0] V0,
|
||||
input [3:0] V1,
|
||||
input [3:0] V2,
|
||||
|
||||
input [19:0] F0,
|
||||
input [15:0] F1,
|
||||
input [15:0] F2,
|
||||
|
||||
output reg outclk,
|
||||
output reg [7:0] sndout
|
||||
);
|
||||
|
||||
reg [7:0] waveadr, cc1, cc2;
|
||||
|
||||
reg [19:0] c0;
|
||||
reg [15:0] c1, c2;
|
||||
|
||||
reg [3:0] wavevol;
|
||||
wire [7:0] waveout = wavevol * WROMDAT;
|
||||
|
||||
reg [9:0] sndmix;
|
||||
wire [10:0] sndmixdown = { 1'b0, sndmix };
|
||||
|
||||
reg [1:0] phase;
|
||||
always @ ( posedge WSGCLKx4 or posedge RESET ) begin
|
||||
|
||||
if ( RESET ) begin
|
||||
phase <= 0;
|
||||
sndout <= 0;
|
||||
outclk <= 0;
|
||||
cc1 <= 0;
|
||||
cc2 <= 0;
|
||||
end
|
||||
else begin
|
||||
|
||||
case ( phase )
|
||||
|
||||
0: begin
|
||||
sndout <= ( sndmixdown[9:2] | {8{sndmixdown[10]}} );
|
||||
|
||||
cc1 <= {W1,c1[15:11]};
|
||||
cc2 <= {W2,c2[15:11]};
|
||||
|
||||
sndmix <= 0;
|
||||
waveadr <= {W0,c0[19:15]};
|
||||
wavevol <= (F0!=0) ? V0 : 0;
|
||||
end
|
||||
|
||||
1: begin
|
||||
outclk <= 1'b1;
|
||||
sndmix <= sndmix + waveout;
|
||||
|
||||
waveadr <= cc1;
|
||||
wavevol <= (F1!=0) ? V1 : 0;
|
||||
end
|
||||
|
||||
2: begin
|
||||
sndmix <= sndmix + waveout;
|
||||
|
||||
waveadr <= cc2;
|
||||
wavevol <= (F2!=0) ? V2 : 0;
|
||||
end
|
||||
|
||||
3: begin
|
||||
outclk <= 0;
|
||||
sndmix <= sndmix + waveout;
|
||||
end
|
||||
|
||||
default:;
|
||||
|
||||
endcase
|
||||
|
||||
phase <= phase+1;
|
||||
|
||||
c0 <= c0 + F0;
|
||||
c1 <= c1 + F1;
|
||||
c2 <= c2 + F2;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
assign WROMCLK = ~WSGCLKx4;
|
||||
assign WROMADR = waveadr;
|
||||
|
||||
endmodule
|
||||
|
||||
|
||||
/*
|
||||
Clock Generator
|
||||
in: 48000000Hz -> out: 96000Hz
|
||||
*/
|
||||
module WSGCLKGEN( input in, output reg out );
|
||||
reg [7:0] count;
|
||||
always @( posedge in ) begin
|
||||
if (count > 8'd249) begin
|
||||
count <= count - 8'd249;
|
||||
out <= ~out;
|
||||
end
|
||||
else count <= count + 8'd1;
|
||||
end
|
||||
endmodule
|
||||
|
||||
@@ -96,8 +96,8 @@ port(
|
||||
roms_addr : out std_logic_vector(14 downto 0);
|
||||
roms_do : in std_logic_vector(7 downto 0);
|
||||
roms_rd : out std_logic;
|
||||
dip_switch_1 : in std_logic_vector(7 downto 0); -- Coinage_B / Coinage_A
|
||||
dip_switch_2 : in std_logic_vector(7 downto 0); -- Sound(8)/Difficulty(7-5)/Bonus(4)/Cocktail(3)/lives(2-1)
|
||||
dip_switch_1 : in std_logic_vector(7 downto 0);--Cabinet Unknown Lives Lives Initial_Energy Unknown Unknown Unknown
|
||||
dip_switch_2 : in std_logic_vector(7 downto 0);--Stop_at_Junctions, Unknown, Unknown, Cheat, Coin_B Coin_B Coin_A Coin_A
|
||||
|
||||
start2 : in std_logic;
|
||||
start1 : in std_logic;
|
||||
@@ -343,7 +343,7 @@ spram_addr <= cpu_addr(7 downto 0) when cpu_ena = '1' else "00" & spcnt & pxcnt(
|
||||
wram_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 12) = X"A" else '0';
|
||||
spram1_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 12) = X"B" and cpu_addr(10) = '0' else '0';
|
||||
spram2_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 12) = X"B" and cpu_addr(10) = '1' else '0';
|
||||
C0xx_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 8) = "11000000" else '0';
|
||||
C0xx_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 8) = "11000000" else '0';--
|
||||
C3xx_we <= '1' when cpu_wr_n = '0' and cpu_ena = '1' and cpu_addr(15 downto 12) = X"C" and cpu_addr(9 downto 8) = "11" else '0';
|
||||
|
||||
process (clock_6)
|
||||
|
||||
@@ -70,6 +70,7 @@ Aviable Arcade Cores
|
||||
|
||||
#Konami Classic
|
||||
Pooyan
|
||||
Power Surge
|
||||
Time Pilot
|
||||
|
||||
#Midway / Taito 8080 Hardware
|
||||
@@ -82,6 +83,9 @@ Aviable Arcade Cores
|
||||
Space Laser
|
||||
Super Earth Invasion
|
||||
|
||||
#Namco Rally X Hardware
|
||||
Rally X
|
||||
|
||||
#Non Arcade
|
||||
2048
|
||||
Arkanoid
|
||||
|
||||
Reference in New Issue
Block a user