mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-01-20 01:34:38 +00:00
Midway MCR2: mix all cores
This commit is contained in:
parent
1a9080b2b3
commit
35a912751c
@ -1,20 +1,34 @@
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- Arcade: SatansHollow port to MiST by Gehstock
|
||||
-- 13 November 2019
|
||||
--
|
||||
-- VGA Only
|
||||
-- Satan's Hollow/Tron/Wacko/Kozmik Krooz'r/Two Tigers/Domino Man Arcade
|
||||
-- Based on Dar's Satan's Hollow VHDL code
|
||||
-- Interlaced 15kHz/31kHz VGA
|
||||
--
|
||||
-- Controls: joystick, mouse, standard MAME keys
|
||||
-- Coin: ESC, 5, 6
|
||||
-- Start: F1, F2, 1, 2
|
||||
|
||||
-- Tron: Joystick 1 for movement, Joystick 2 (MAME keys: D, G) for turret
|
||||
-- Wacko: control Captain Krooz'r with the mouse, shoot with the joystick
|
||||
-- Kozmik Krooz'r: use the mouse for movement and shoot, rotate the turret with the joystick
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
-- DE10_lite Top level for Kick (Midway MCR) by Dar (darfpga@aol.fr) (19/10/2019)
|
||||
-- DE10_lite Top level for Satan Hollow (Midway MCR) by Dar (darfpga@aol.fr) (19/10/2019)
|
||||
-- http://darfpga.blogspot.fr
|
||||
---------------------------------------------------------------------------------
|
||||
--
|
||||
-- release rev 02 : add TV 15kHz mode
|
||||
-- (22/11/2019) use merged sprite 8bits roms (make it easier to externalize)
|
||||
--
|
||||
-- release 01 : improve ssio read input (fix mirror addressing)
|
||||
-- improve memory access (fix mirror addressing)
|
||||
--
|
||||
-- release 00 : initial release
|
||||
---------------------------------------------------------------------------------
|
||||
-- Educational use only
|
||||
-- Do not redistribute synthetized file with roms
|
||||
-- Do not redistribute roms whatever the form
|
||||
-- Use at your own risk
|
||||
---------------------------------------------------------------------------------
|
||||
-- Use kick_de10_lite.sdc to compile (Timequest constraints)
|
||||
-- Use satan_hollow_de10_lite.sdc to compile (Timequest constraints)
|
||||
-- /!\
|
||||
-- Don't forget to set device configuration mode with memory initialization
|
||||
-- (Assignments/Device/Pin options/Configuration mode)
|
||||
@ -37,20 +51,20 @@
|
||||
--
|
||||
-- Keyboard players inputs :
|
||||
--
|
||||
-- F3 : Add coin
|
||||
-- F2 : Start 2 players
|
||||
-- F1 : Start 1 player
|
||||
-- SPACE : move faster
|
||||
-- F1 : Add coin
|
||||
-- F2 : Start 1 player
|
||||
-- F3 : Start 2 players
|
||||
-- F5 : Sevice mode ON/OFF
|
||||
-- SPACE : fire
|
||||
-- RIGHT arrow : move right
|
||||
-- LEFT arrow : move left
|
||||
-- UP arrow : toggle service mode ON/OFF
|
||||
-- DOWN arrow : kick
|
||||
-- UP arrow : shield
|
||||
--
|
||||
-- Other details : see kick.vhd
|
||||
-- Other details : see satans_hollow.vhd
|
||||
-- For USB inputs and SGT5000 audio output see my other project: xevious_de10_lite
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
-- Kick by Dar (darfpga@aol.fr) (19/10/2019)
|
||||
---------------------------------------------------------------------------------
|
||||
-- Satans Hollow by Dar (darfpga@aol.fr) (09/11/2019)
|
||||
-- http://darfpga.blogspot.fr
|
||||
---------------------------------------------------------------------------------
|
||||
-- gen_ram.vhd & io_ps2_keyboard
|
||||
@ -71,43 +85,52 @@
|
||||
-- Do not redistribute roms whatever the form
|
||||
-- Use at your own risk
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
--
|
||||
-- release rev 02 : add TV 15kHz mode
|
||||
-- (22/11/2019) use merged sprite 8bits roms (make it easier to externalize)
|
||||
--
|
||||
-- release rev 01 : improve ssio read input (fix mirror addressing)
|
||||
-- improve memory access (fix mirror addressing)
|
||||
--
|
||||
-- release rev 00 : initial release
|
||||
--
|
||||
---------------------------------------------------------------------------------
|
||||
-- Features :
|
||||
-- Video : 31Khz/60Hz
|
||||
-- Coctail mode : NO
|
||||
-- Sound : OK
|
||||
|
||||
-- Use with MAME roms from kick.zip and midssio.zip
|
||||
-- Use with MAME roms from shollow.zip
|
||||
--
|
||||
-- Use make_kick_proms.bat to build vhd file from binaries
|
||||
-- Use make_satans_hollow_proms.bat to build vhd file from binaries
|
||||
-- (CRC list included)
|
||||
|
||||
-- Kick/Kickman (Midway mcr) Hardware caracteristics :
|
||||
-- Satans hollow (midway mcr) Hardware caracteristics :
|
||||
--
|
||||
-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram,
|
||||
-- sprite data ram, I/O, sound board register and trigger.
|
||||
-- 24Kx8bits program rom
|
||||
-- 48Kx8bits program rom
|
||||
--
|
||||
-- One char/background tile map 30x32
|
||||
-- 2x4Kx8bits graphics rom 4bits/pixel
|
||||
-- rbg programmable ram palette 16 colors 12bits : 4red 4green 4blue
|
||||
-- 2x8Kx8bits graphics rom 4bits/pixel
|
||||
-- rbg programmable ram palette 64 colors 9bits : 3red 3green 3blue
|
||||
--
|
||||
-- 128 sprites, up to ~15/line, 32x32 with flip H/V
|
||||
-- 4x4Kx8bits graphics rom 4bits/pixel
|
||||
-- rbg programmable ram palette 16 colors 12bits : 4red 4green 4blue
|
||||
-- 4x8Kx8bits graphics rom 4bits/pixel
|
||||
-- rbg programmable ram palette 64 colors 9bits : 3red 3green 3blue
|
||||
--
|
||||
-- Working ram : 2Kx8bits
|
||||
-- video (char/background) ram : 1Kx8bits
|
||||
-- video (char/background) ram : 2Kx8bits
|
||||
-- Sprites ram : 512x8bits + 512x8bits cache buffer
|
||||
|
||||
-- Sprites line buffer rams : 1 scan line delay flip/flop 2x256x8bits
|
||||
--
|
||||
-- SOUND : see Kick_sound_board.vhd
|
||||
-- SOUND : see satans_hollow_sound_board.vhd
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
-- Schematics remarks :
|
||||
--
|
||||
-- Display is 512x480 pixels (video 635x525 lines @ 20MHz )
|
||||
-- Display is 512x480 pixels (video 635x525 lines @ 20MHz )
|
||||
|
||||
-- 635/20e6 = 31.75us per line (31.750KHz)
|
||||
-- 31.75*525 = 16.67ms per frame (59.99Hz)
|
||||
@ -126,6 +149,13 @@
|
||||
-- /!\ For VHDL port interlaced video mode is replaced with progressive video
|
||||
-- mode.
|
||||
--
|
||||
-- Real hardware uses background ram access after each 1/2 frame (~line 240
|
||||
-- and 480). In these areas cpu can access ram since scanlines are out of
|
||||
-- visible display. In progessive mode there are video access around lines 240.
|
||||
-- These accesses will create video artfacts aound mid display. In VHDL code
|
||||
-- ram access is muliplexed between cpu and scanlines by using hcnt(0) in
|
||||
-- order to avoid these artefacts.
|
||||
--
|
||||
-- Sprite data are stored first by cpu into a 'cache' buffer (staging ram at
|
||||
-- K6/L6) this buffer is read and write for cpu. After visible display, cache
|
||||
-- buffer (512x8) is moved to actual sprite ram buffer (512x8). Actual sprite
|
||||
@ -141,7 +171,7 @@
|
||||
-- bytes #3 : Horizontal position
|
||||
-- bytes #4 : not used
|
||||
--
|
||||
-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on
|
||||
-- Athough 1x1 pixel defintion sprite position horizontal/vertical is made on
|
||||
-- on a 2x2 grid (due to only 8bits for position data)
|
||||
--
|
||||
-- Z80-CTC : interruption ar managed by CTC chip. ONly channel 3 is trigered
|
||||
@ -149,79 +179,59 @@
|
||||
-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be
|
||||
-- unsued for that (Kick) game.
|
||||
--
|
||||
-- CPU programs 4 interuptions : (Vector D0)
|
||||
--
|
||||
-- IT ch 3 : triggered by line 493 : once per frame : start @00D8
|
||||
-- set timer ch0 to launch interrupt around line 20
|
||||
-- set timer ch1 to launch interrupt around line 240
|
||||
--
|
||||
-- IT ch 0 : triggered by timer ch 0 : once per frame : start @017E
|
||||
-- stop timer 0
|
||||
--
|
||||
-- IT ch 1 : triggered by timer ch 1 : once per frame : start @0192
|
||||
-- stop timer 1
|
||||
--
|
||||
-- IT ch 2 : trigged by timer ch 2 : once every ~105 scanlines : start @04E1
|
||||
-- read angle decoder
|
||||
--
|
||||
-- Z80-CTC VHDL port keep separated interrupt controler and each counter so
|
||||
-- one can use them on its own. Priority daisy-chain is not done (not used in
|
||||
-- that game). clock polarity selection is not done since it has no meaning
|
||||
-- with digital clock/enable (e.g cpu_ena signal) method.
|
||||
--
|
||||
-- Angle (spin) decoder : Original design is a simple Up/Down 4 bits counter.
|
||||
-- Replacement is proposed in kick_de10_lite.vhd as a 10bits counter allowing
|
||||
-- more stable speed. It make use of CTC zc_to channel 2 signal to avoid
|
||||
-- aliasing problems. Despite speed selection (faster/slower) is available
|
||||
-- from keyboard key it hardly simulate a real spinner.
|
||||
--
|
||||
-- Ressource : input clock 40MHz is chosen to allow easy making of 20MHz for
|
||||
-- pixel clock and 8MHz signal for amplitude modulation circuit of ssio board
|
||||
--
|
||||
--
|
||||
-- TODO :
|
||||
-- Working ram could be initialized to set initial difficulty level and
|
||||
-- initial bases (live) number. Otherwise one can set it up by using service
|
||||
-- menu at each power up.
|
||||
--
|
||||
|
||||
+----------------------------------------------------------------------------------+
|
||||
; Fitter Summary ;
|
||||
+------------------------------------+---------------------------------------------+
|
||||
; Fitter Status ; Successful - Sat Nov 02 22:31:20 2019 ;
|
||||
; Fitter Status ; Successful - Wed Nov 13 19:50:34 2019 ;
|
||||
; Quartus Prime Version ; 18.1.0 Build 625 09/12/2018 SJ Lite Edition ;
|
||||
; Revision Name ; kick_de10_lite ;
|
||||
; Top-level Entity Name ; kick_de10_lite ;
|
||||
; Revision Name ; satans_hollow_de10_lite ;
|
||||
; Top-level Entity Name ; satans_hollow_de10_lite ;
|
||||
; Family ; MAX 10 ;
|
||||
; Device ; 10M50DAF484C6GES ;
|
||||
; Timing Models ; Preliminary ;
|
||||
; Total logic elements ; 7,125 / 49,760 ( 14 % ) ;
|
||||
; Total combinational functions ; 6,705 / 49,760 ( 13 % ) ;
|
||||
; Dedicated logic registers ; 2,068 / 49,760 ( 4 % ) ;
|
||||
; Total registers ; 2068 ;
|
||||
; Total logic elements ; 6,545 / 49,760 ( 13 % ) ;
|
||||
; Total combinational functions ; 6,307 / 49,760 ( 13 % ) ;
|
||||
; Dedicated logic registers ; 1,671 / 49,760 ( 3 % ) ;
|
||||
; Total registers ; 1671 ;
|
||||
; Total pins ; 105 / 360 ( 29 % ) ;
|
||||
; Total virtual pins ; 0 ;
|
||||
; Total memory bits ; 700,416 / 1,677,312 ( 42 % ) ;
|
||||
; Total memory bits ; 938,560 / 1,677,312 ( 56 % ) ;
|
||||
; Embedded Multiplier 9-bit elements ; 0 / 288 ( 0 % ) ;
|
||||
; Total PLLs ; 1 / 4 ( 25 % ) ;
|
||||
; UFM blocks ; 0 / 1 ( 0 % ) ;
|
||||
; ADC blocks ; 0 / 2 ( 0 % ) ;
|
||||
+------------------------------------+---------------------------------------------+
|
||||
|
||||
|
||||
---------------
|
||||
VHDL File list
|
||||
---------------
|
||||
|
||||
de10_lite/max10_pll_40M.vhd Pll 40MHz from 50MHz altera mf
|
||||
|
||||
rtl_dar/kick_de10_lite.vhd Top level for de10_lite board
|
||||
rtl_dar/kick.vhd Main CPU and video boards logic
|
||||
rtl_dar/kick_sound_board.vhd Main sound board logic
|
||||
rtl_dar/ctc_controler.vhd Z80-CTC controler
|
||||
rtl_dar/ctc_counter.vhd Z80-CTC counter
|
||||
rtl_dar/satans_hollow_de10_lite.vhd Top level for de10_lite board
|
||||
rtl_dar/satans_hollow.vhd Main CPU and video boards logic
|
||||
rtl_dar/satans_hollow_sound_board.vhd Main sound board logic
|
||||
rtl_dar/ctc_controler.vhd Z80-CTC controler
|
||||
rtl_dar/ctc_counter.vhd Z80-CTC counter
|
||||
|
||||
rtl_mikej/YM2149_linmix.vhd Copyright (c) MikeJ - Jan 2005
|
||||
|
||||
rtl_T80_304/T80se.vhdT80 Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
|
||||
rtl_T80_304/T80se.vhdT80 Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
|
||||
rtl_T80_304/T80_Reg.vhd
|
||||
rtl_T80_304/T80_Pack.vhd
|
||||
rtl_T80_304/T80_MCode.vhd
|
||||
@ -233,72 +243,69 @@ rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft
|
||||
rtl_dar/gen_ram.vhd Generic RAM (Peter Wendrich + DAR Modification)
|
||||
rtl_dar/decodeur_7_seg.vhd 7 segments display decoder
|
||||
|
||||
rtl_dar/proms/kick_cpu.vhd CPU board PROMS
|
||||
rtl_dar/proms/kick_bg_bits_2.vhd
|
||||
rtl_dar/proms/kick_bg_bits_1.vhd
|
||||
rtl_dar/proms/satans_hollow_cpu.vhd CPU board PROMS
|
||||
rtl_dar/proms/satans_hollow_bg_bits_2.vhd
|
||||
rtl_dar/proms/satans_hollow_bg_bits_1.vhd
|
||||
|
||||
rtl_dar/proms/kick_sp_bits_4.vhd Video board PROMS
|
||||
rtl_dar/proms/kick_sp_bits_3.vhd
|
||||
rtl_dar/proms/kick_sp_bits_2.vhd
|
||||
rtl_dar/proms/kick_sp_bits_1.vhd
|
||||
rtl_dar/proms/satans_hollow_sp_bits.vhd Video board PROMS
|
||||
|
||||
rtl_dar/proms/kick_sound_cpu.vhd Sound board PROMS
|
||||
rtl_dar/proms/satans_hollow_sound_cpu.vhd Sound board PROMS
|
||||
rtl_dar/proms/midssio_82s123.vhd
|
||||
|
||||
----------------------
|
||||
Quartus project files
|
||||
----------------------
|
||||
de10_lite/kick_de10_lite.sdc Timequest constraints file
|
||||
de10_lite/kick_de10_lite.qsf de10_lite settings (files,pins...)
|
||||
de10_lite/kick_de10_lite.qpf de10_lite project
|
||||
de10_lite/satans_hollow_de10_lite.sdc Timequest constraints file
|
||||
de10_lite/satans_hollow_de10_lite.qsf de10_lite settings (files,pins...)
|
||||
de10_lite/satans_hollow_de10_lite.qpf de10_lite project
|
||||
|
||||
-----------------------------
|
||||
Required ROMs (Not included)
|
||||
-----------------------------
|
||||
You need the following 17 ROMs binary files from kick.zip and midssio.zip(MAME)
|
||||
You need the following 16 ROMs binary files from satans_hollow.zip and midssio.zip(MAME)
|
||||
|
||||
1200a-v2.b3 CRC 65924917
|
||||
1300b-v2.b4 CRC 27929f52
|
||||
1400c-v2.b5 CRC 69107ce6
|
||||
1500d-v2.d4 CRC 04a23aa1
|
||||
1600e-v2.d5 CRC 1d2834c0
|
||||
1700f-v2.d6 CRC ddf84ce1
|
||||
1800g-v2.g4 CRC b4d120f3
|
||||
1900h-v2.g5 CRC c3ba4893
|
||||
sh-pro.00 CRC 95e2b800
|
||||
sh-pro.01 CRC b99f6ff8
|
||||
sh-pro.02 CRC 1202c7b2
|
||||
sh-pro.03 CRC 0a64afb9
|
||||
sh-pro.04 CRC 22fa9175
|
||||
sh-pro.05 CRC 1716e2bb
|
||||
|
||||
2600a-v2.1e CRC 2c5d6b55
|
||||
2700b-v2.1d CRC 565ea97d
|
||||
2800c-v2.1b CRC f3be56a1
|
||||
2900d-v2.1a CRC 77da795e
|
||||
sh-snd.01 CRC 55a297cc
|
||||
sh-snd.02 CRC 46fc31f6
|
||||
sh-snd.03 CRC b1f4a6a8
|
||||
|
||||
sh-bg.00 CRC 3e2b333c
|
||||
sh-bg.01 CRC d1d70cc4
|
||||
|
||||
sh-fg.00 CRC 33f4554e
|
||||
sh-fg.01 CRC ba1a38b4
|
||||
sh-fg.02 CRC 6b57f6da
|
||||
sh-fg.03 CRC 37ea9d07
|
||||
|
||||
4200-a.a7 CRC 9e35c02e
|
||||
4300-b.a8 CRC ca2b7c28
|
||||
4400-c.a9 CRC d1901551
|
||||
4500-d.a10 CRC d36ddcdc
|
||||
midssio_82s123.12d CRC e1281ee9
|
||||
|
||||
------
|
||||
Tools
|
||||
------
|
||||
You need to build vhdl files from the binary file :
|
||||
- Unzip the roms file in the tools/kick_unzip directory
|
||||
- Double click (execute) the script tools/make_kick_proms.bat to get the following 9 files
|
||||
- Unzip the roms file in the tools/satans_hollow_unzip directory
|
||||
- Double click (execute) the script tools/make_satans_hollow_proms.bat to get the following 6 files
|
||||
|
||||
satans_hollow_cpu.vhd
|
||||
satans_hollow_sound_cpu.vhd
|
||||
satans_hollow_bg_bits_1.vhd
|
||||
satans_hollow_bg_bits_2.vhd
|
||||
satans_hollow_sp_bits.vhd
|
||||
|
||||
make_vhdl_prom midssio_82s123.12d midssio_82s123.vhd
|
||||
|
||||
kick_cpu.vhd
|
||||
kick_bg_bits_2.vhd
|
||||
kick_bg_bits_1.vhd
|
||||
kick_sp_bits_4.vhd
|
||||
kick_sp_bits_3.vhd
|
||||
kick_sp_bits_2.vhd
|
||||
kick_sp_bits_1.vhd
|
||||
kick_sound_cpu.vhd
|
||||
midssio_82s123.vhd
|
||||
|
||||
*DO NOT REDISTRIBUTE THESE FILES*
|
||||
|
||||
VHDL files are needed to compile and include roms into the project
|
||||
|
||||
The script make_kick_proms.bat uses make_vhdl_prom executables delivered both in linux and windows version. The script itself is delivered only in windows version (.bat) but should be easily ported to linux.
|
||||
The script make_satans_hollow_proms.bat uses make_vhdl_prom executables delivered both in linux and windows version. The script itself is delivered only in windows version (.bat) but should be easily ported to linux.
|
||||
|
||||
Source code of make_vhdl_prom.c is also delivered.
|
||||
|
||||
@ -311,8 +318,8 @@ You can build the project with ROM image embeded in the sof file.
|
||||
3 steps
|
||||
|
||||
- put the VHDL ROM files (.vhd) into the rtl_dar/proms directory
|
||||
- build kick_de10_lite
|
||||
- program kick_de10_lite.sof
|
||||
- build satans_hollow_de10_lite
|
||||
- program satans_hollow_de10_lite.sof
|
||||
|
||||
------------------------
|
||||
------------------------
|
||||
|
||||
@ -217,16 +217,14 @@ set_global_assignment -name SYSTEMVERILOG_FILE rtl/SatansHollow_MiST.sv
|
||||
set_global_assignment -name VHDL_FILE rtl/satans_hollow.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/satans_hollow_sound_board.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/YM2149_linmix_sep.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/ctc_counter.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/ctc_controler.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/gen_ram.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/spinner.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/cmos_ram.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/midssio_82s123.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/satans_hollow_bg_bits_2.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/satans_hollow_bg_bits_1.vhd
|
||||
set_global_assignment -name VHDL_FILE rtl/rom/satans_hollow_sp_bits.vhd
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE rtl/sdram.sv
|
||||
set_global_assignment -name VHDL_FILE rtl/pll_mist.vhd
|
||||
set_global_assignment -name QIP_FILE ../../../common/IO/Z80CTC/z80ctc.qip
|
||||
set_global_assignment -name QIP_FILE ../../../common/CPU/T80/T80.qip
|
||||
set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
@ -1,5 +1,6 @@
|
||||
//============================================================================
|
||||
// Arcade: Kickman by DarFPGA
|
||||
// Midway SatansHollow/Tron/DominoMan/Wacko/Kozmik Krooz'r/Two Tigers
|
||||
// arcade top-level for MiST
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify it
|
||||
// under the terms of the GNU General Public License as published by the Free
|
||||
@ -47,16 +48,83 @@ module SatansHollow_MiST(
|
||||
|
||||
`include "rtl/build_id.v"
|
||||
|
||||
// Uncomment one to choose core name/inputs
|
||||
`define CORE_NAME "SHOLLOW"
|
||||
//`define CORE_NAME "TRON"
|
||||
//`define CORE_NAME "TWOTIGER"
|
||||
//`define CORE_NAME "WACKO"
|
||||
//`define CORE_NAME "KROOZR"
|
||||
//`define CORE_NAME "DOMINO"
|
||||
|
||||
localparam CONF_STR = {
|
||||
"SHOLLOW;;",
|
||||
`CORE_NAME,";ROM;",
|
||||
"O2,Rotate Controls,Off,On;",
|
||||
"O34,Scanlines,Off,25%,50%,75%;",
|
||||
"O5,Blend,Off,On;",
|
||||
"O6,Service,Off,On;",
|
||||
"O6,Swap Joysticks,Off,On;",
|
||||
"O7,Service,Off,On;",
|
||||
"T0,Reset;",
|
||||
"V,v1.1.",`BUILD_DATE
|
||||
"V,v2.0.",`BUILD_DATE
|
||||
};
|
||||
|
||||
wire rotate = status[2];
|
||||
wire blend = status[5];
|
||||
wire joyswap = status[6];
|
||||
wire service = status[7];
|
||||
|
||||
reg oneplayer;
|
||||
reg [1:0] orientation; //left/right / portrait/landscape
|
||||
reg [7:0] input_0;
|
||||
reg [7:0] input_1;
|
||||
reg [7:0] input_2;
|
||||
reg [7:0] input_3;
|
||||
reg [7:0] input_4;
|
||||
|
||||
always @(*) begin
|
||||
input_4 = 8'hFF;
|
||||
oneplayer = 1'b1;
|
||||
orientation = 2'b10;
|
||||
|
||||
if (`CORE_NAME == "SHOLLOW") begin
|
||||
orientation = 2'b11;
|
||||
input_0 = ~{ service, 1'b0, m_tilt, 1'b0, m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = ~{ m_fire2A, m_fire2B, m_right2, m_left2, m_fireA, m_fireB, m_right, m_left };
|
||||
input_2 = 8'hFF;
|
||||
input_3 = ~{ 8'b00000010 };
|
||||
end else if (`CORE_NAME == "TRON") begin
|
||||
orientation = 2'b11;
|
||||
oneplayer = 1'b0;
|
||||
input_0 = ~{ service, 1'b0, m_tilt, m_fireA, m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = ~{ 1'b0, spin_angle2 };
|
||||
input_2 = ~{ m_down, m_up, m_right, m_left, m_down, m_up, m_right, m_left };
|
||||
input_3 = ~{ m_fireA, 7'b00000010 };
|
||||
input_4 = ~{ 1'b0, spin_angle2 };
|
||||
end else if (`CORE_NAME == "TWOTIGER") begin
|
||||
oneplayer = 1'b0;
|
||||
input_0 = ~{ service, 1'b0, m_tilt, m_three_players, m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = ~{ 1'b0, spin_angle1 };
|
||||
input_2 = ~{ 4'b0000, m_fire2B, m_fire2A, m_fireB, m_fireA };
|
||||
input_3 = 8'hFF;
|
||||
input_4 = ~{ 1'b0, spin_angle2 };
|
||||
end else if (`CORE_NAME == "WACKO") begin
|
||||
input_0 = ~{ service, 1'b0, m_tilt, 1'b0, m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = x_pos[10:3];
|
||||
input_2 = y_pos[10:3];
|
||||
input_3 = ~{ 8'b01000000 };
|
||||
input_4 = ~{ m_up2, m_down2, m_left2, m_right2, m_up, m_down, m_left, m_right };
|
||||
end else if (`CORE_NAME == "KROOZR") begin
|
||||
input_0 = ~{ service, 1'b0, m_tilt, m_fireA | mouse_btns[0], m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = ~{ (m_fireB | mouse_btns[1]), spin_angle1[6], 3'b111, spin_angle1[5:3] };
|
||||
input_2 = { x_pos_kroozr[9], x_pos_kroozr[9], x_pos_kroozr[7:2] };
|
||||
input_3 = ~{ 8'b01000000 };
|
||||
input_4 = { y_pos_kroozr[9], y_pos_kroozr[9], y_pos_kroozr[7:2] };
|
||||
end else if (`CORE_NAME == "DOMINO") begin
|
||||
input_0 = ~{ service, 1'b0, m_tilt, m_fireA, m_two_players, m_one_player, m_coin2, m_coin1 };
|
||||
input_1 = ~{ 4'b0000, m_down, m_up, m_right, m_left };
|
||||
input_2 = ~{ 3'b000, m_fire2A, m_down2, m_up2, m_right2, m_left2 };
|
||||
input_3 = ~{ 8'b01000000 };
|
||||
end
|
||||
end
|
||||
|
||||
assign LED = ~ioctl_downl;
|
||||
assign SDRAM_CLK = clk_sys;
|
||||
assign SDRAM_CKE = 1;
|
||||
@ -81,6 +149,14 @@ wire [15:0] audio_l, audio_r;
|
||||
wire hs, vs, cs;
|
||||
wire blankn;
|
||||
wire [2:0] g, r, b;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
wire key_strobe;
|
||||
wire signed [8:0] mouse_x;
|
||||
wire signed [8:0] mouse_y;
|
||||
wire mouse_strobe;
|
||||
reg [7:0] mouse_flags;
|
||||
|
||||
wire [15:0] rom_addr;
|
||||
wire [15:0] rom_do;
|
||||
wire [13:0] snd_addr;
|
||||
@ -91,6 +167,13 @@ wire ioctl_wr;
|
||||
wire [24:0] ioctl_addr;
|
||||
wire [7:0] ioctl_dout;
|
||||
|
||||
/* ROM structure
|
||||
00000 - 0BFFF 48k CPU1
|
||||
0C000 - 0FFFF 16k CPU2
|
||||
10000 - 13FFF 16k GFX1
|
||||
14000 - 1BFFF 32k GFX2
|
||||
*/
|
||||
|
||||
data_io data_io(
|
||||
.clk_sys ( clk_sys ),
|
||||
.SPI_SCK ( SPI_SCK ),
|
||||
@ -152,7 +235,7 @@ always @(posedge clk_sys) begin
|
||||
ioctl_downlD <= ioctl_downl;
|
||||
|
||||
if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1;
|
||||
reset <= status[0] | buttons[1] | ~rom_loaded;
|
||||
reset <= status[0] | buttons[1] | ioctl_downl | ~rom_loaded;
|
||||
end
|
||||
|
||||
satans_hollow satans_hollow(
|
||||
@ -166,31 +249,24 @@ satans_hollow satans_hollow(
|
||||
.video_vs(vs),
|
||||
.video_csync(cs),
|
||||
.tv15Khz_mode(scandoublerD),
|
||||
.separate_audio(1'b0),
|
||||
.separate_audio(1'b1),
|
||||
.audio_out_l(audio_l),
|
||||
.audio_out_r(audio_r),
|
||||
.coin1(btn_coin),
|
||||
.coin2(1'b0),
|
||||
.start2(btn_two_players),
|
||||
.start1(btn_one_player),
|
||||
|
||||
.left(m_left),
|
||||
.right(m_right),
|
||||
.fire1(m_fire),
|
||||
.fire2(m_bomb),
|
||||
|
||||
.left_c(m_left),
|
||||
.right_c(m_right),
|
||||
.fire1_c(m_fire),
|
||||
.fire2_c(m_bomb),
|
||||
|
||||
.cocktail(0),
|
||||
.coin_meters(),
|
||||
.service(status[6]),
|
||||
.input_0 ( input_0 ),
|
||||
.input_1 ( input_1 ),
|
||||
.input_2 ( input_2 ),
|
||||
.input_3 ( input_3 ),
|
||||
.input_4 ( input_4 ),
|
||||
|
||||
.cpu_rom_addr ( rom_addr ),
|
||||
.cpu_rom_do ( rom_addr[0] ? rom_do[15:8] : rom_do[7:0] ),
|
||||
.snd_rom_addr ( snd_addr ),
|
||||
.snd_rom_do ( snd_addr[0] ? snd_do[15:8] : snd_do[7:0] ),
|
||||
|
||||
.dl_addr ( ioctl_addr[16:0]),
|
||||
.dl_wr ( ioctl_wr ),
|
||||
.dl_data ( ioctl_dout )
|
||||
);
|
||||
|
||||
wire vs_out;
|
||||
@ -213,12 +289,12 @@ mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
|
||||
.VGA_B ( VGA_B ),
|
||||
.VGA_VS ( vs_out ),
|
||||
.VGA_HS ( hs_out ),
|
||||
.rotate ( {1'b1,status[2]} ),
|
||||
.ce_divider ( 1 ),
|
||||
.blend ( status[5] ),
|
||||
.rotate ( { orientation[1], rotate } ),
|
||||
.ce_divider ( 1'b1 ),
|
||||
.blend ( blend ),
|
||||
.scandoubler_disable( 1'b1 ),
|
||||
.no_csync ( 1'b1 ),
|
||||
.scanlines ( status[4:3] ),
|
||||
.scanlines ( ),
|
||||
.ypbpr ( ypbpr )
|
||||
);
|
||||
|
||||
@ -238,6 +314,10 @@ user_io(
|
||||
.key_strobe (key_strobe ),
|
||||
.key_pressed (key_pressed ),
|
||||
.key_code (key_code ),
|
||||
.mouse_x (mouse_x ),
|
||||
.mouse_y (mouse_y ),
|
||||
.mouse_strobe (mouse_strobe ),
|
||||
.mouse_flags (mouse_flags ),
|
||||
.joystick_0 (joystick_0 ),
|
||||
.joystick_1 (joystick_1 ),
|
||||
.status (status )
|
||||
@ -251,7 +331,7 @@ dac_l(
|
||||
.dac_i(audio_l),
|
||||
.dac_o(AUDIO_L)
|
||||
);
|
||||
|
||||
|
||||
dac #(
|
||||
.C_bits(16))
|
||||
dac_r(
|
||||
@ -261,43 +341,81 @@ dac_r(
|
||||
.dac_o(AUDIO_R)
|
||||
);
|
||||
|
||||
// Rotated Normal
|
||||
//wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3];
|
||||
//wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2];
|
||||
wire m_left = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_left | joystick_0[1] | joystick_1[1];
|
||||
wire m_right = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_right | joystick_0[0] | joystick_1[0];
|
||||
wire m_fire = btn_fire1 | joystick_0[4] | joystick_1[4];
|
||||
wire m_bomb = btn_fire2 | joystick_0[5] | joystick_1[5];
|
||||
|
||||
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;
|
||||
wire key_pressed;
|
||||
wire [7:0] key_code;
|
||||
wire key_strobe;
|
||||
// Mouse controls for Wacko
|
||||
reg signed [10:0] x_pos;
|
||||
reg signed [10:0] y_pos;
|
||||
|
||||
always @(posedge clk_sys) begin
|
||||
if(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
|
||||
if (mouse_strobe) begin
|
||||
if (rotate) begin
|
||||
x_pos <= x_pos - mouse_y;
|
||||
y_pos <= y_pos + mouse_x;
|
||||
end else begin
|
||||
x_pos <= x_pos + mouse_x;
|
||||
y_pos <= y_pos + mouse_y;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
// Controls for Kozmik Krooz'r
|
||||
reg signed [9:0] x_pos_kroozr;
|
||||
reg signed [9:0] y_pos_kroozr;
|
||||
wire signed [8:0] move_x = rotate ? -mouse_y : mouse_x;
|
||||
wire signed [8:0] move_y = rotate ? mouse_x : mouse_y;
|
||||
wire signed [9:0] x_pos_new = x_pos_kroozr - move_x;
|
||||
wire signed [9:0] y_pos_new = y_pos_kroozr + move_y;
|
||||
reg [1:0] mouse_btns;
|
||||
|
||||
always @(posedge clk_sys) begin
|
||||
if (mouse_strobe) begin
|
||||
mouse_btns <= mouse_flags[1:0];
|
||||
if (!((move_x[8] & ~x_pos_kroozr[9] & x_pos_new[9]) || (~move_x[8] & x_pos_kroozr[9] & ~x_pos_new[9]))) x_pos_kroozr <= x_pos_new;
|
||||
if (!((move_y[8] & y_pos_kroozr[9] & ~y_pos_new[9]) || (~move_y[8] & ~y_pos_kroozr[9] & y_pos_new[9]))) y_pos_kroozr <= y_pos_new;
|
||||
end
|
||||
end
|
||||
|
||||
// Spinners for Tron, Two Tigers, Krooz'r
|
||||
wire [6:0] spin_angle1;
|
||||
spinner spinner1 (
|
||||
.clock_40(clk_sys),
|
||||
.reset(reset),
|
||||
.btn_acc(1),
|
||||
.btn_left(m_left | m_up),
|
||||
.btn_right(m_right | m_down),
|
||||
.ctc_zc_to_2(vs),
|
||||
.spin_angle(spin_angle1)
|
||||
);
|
||||
|
||||
wire [6:0] spin_angle2;
|
||||
spinner spinner2 (
|
||||
.clock_40(clk_sys),
|
||||
.reset(reset),
|
||||
.btn_acc(1),
|
||||
.btn_left(m_left2 | m_up2),
|
||||
.btn_right(m_right2 | m_down2),
|
||||
.ctc_zc_to_2(vs),
|
||||
.spin_angle(spin_angle2)
|
||||
);
|
||||
|
||||
// Arcade inputs
|
||||
wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF;
|
||||
wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F;
|
||||
wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players;
|
||||
|
||||
arcade_inputs inputs (
|
||||
.clk ( clk_sys ),
|
||||
.key_strobe ( key_strobe ),
|
||||
.key_pressed ( key_pressed ),
|
||||
.key_code ( key_code ),
|
||||
.joystick_0 ( joystick_0 ),
|
||||
.joystick_1 ( joystick_1 ),
|
||||
.rotate ( rotate ),
|
||||
.orientation ( orientation ),
|
||||
.joyswap ( joyswap ),
|
||||
.oneplayer ( oneplayer ),
|
||||
.controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ),
|
||||
.player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ),
|
||||
.player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
||||
@ -1,106 +0,0 @@
|
||||
---------------------------------------------------------------------------------
|
||||
-- Z80-CTC controler by Dar (darfpga@aol.fr) (19/10/2019)
|
||||
-- http://darfpga.blogspot.fr
|
||||
---------------------------------------------------------------------------------
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.std_logic_unsigned.all;
|
||||
use ieee.numeric_std.all;
|
||||
|
||||
entity ctc_controler is
|
||||
port(
|
||||
clock : in std_logic;
|
||||
clock_ena : in std_logic;
|
||||
reset : in std_logic;
|
||||
|
||||
d_in : in std_logic_vector( 7 downto 0);
|
||||
load_data : in std_logic;
|
||||
int_ack : in std_logic;
|
||||
|
||||
int_pulse_0 : in std_logic;
|
||||
int_pulse_1 : in std_logic;
|
||||
int_pulse_2 : in std_logic;
|
||||
int_pulse_3 : in std_logic;
|
||||
|
||||
d_out : out std_logic_vector( 7 downto 0);
|
||||
int_n : out std_logic
|
||||
|
||||
);
|
||||
end ctc_controler;
|
||||
|
||||
architecture struct of ctc_controler is
|
||||
|
||||
signal int_vector : std_logic_vector(4 downto 0);
|
||||
|
||||
signal wait_for_time_constant : std_logic;
|
||||
signal load_data_r : std_logic; -- make sure load_data toggles to get one new data
|
||||
|
||||
signal int_reg_0 : std_logic;
|
||||
signal int_reg_1 : std_logic;
|
||||
signal int_reg_2 : std_logic;
|
||||
signal int_reg_3 : std_logic;
|
||||
|
||||
signal int_ack_r : std_logic;
|
||||
|
||||
begin
|
||||
|
||||
int_n <= '0' when (int_reg_0 or int_reg_1 or int_reg_2 or int_reg_3) = '1' else '1';
|
||||
|
||||
d_out <= int_vector & "000" when int_reg_0 = '1' else
|
||||
int_vector & "010" when int_reg_1 = '1' else
|
||||
int_vector & "100" when int_reg_2 = '1' else
|
||||
int_vector & "110" when int_reg_3 = '1' else (others => '0');
|
||||
|
||||
process (reset, clock)
|
||||
begin
|
||||
|
||||
if reset = '1' then -- hardware and software reset
|
||||
wait_for_time_constant <= '0';
|
||||
int_reg_0 <= '0';
|
||||
int_reg_1 <= '0';
|
||||
int_reg_2 <= '0';
|
||||
int_reg_3 <= '0';
|
||||
load_data_r <= load_data;
|
||||
int_vector <= (others => '0');
|
||||
else
|
||||
if rising_edge(clock) then
|
||||
if clock_ena = '1' then
|
||||
|
||||
load_data_r <= load_data;
|
||||
int_ack_r <= int_ack;
|
||||
|
||||
if load_data = '1' and load_data_r = '0' then
|
||||
|
||||
if wait_for_time_constant = '1' then
|
||||
wait_for_time_constant <= '0';
|
||||
else
|
||||
if d_in(0) = '1' then -- check if its a control world
|
||||
wait_for_time_constant <= d_in(2);
|
||||
-- if d_in(1) = '1' then -- software reset
|
||||
-- wait_for_time_constant <= '0';
|
||||
-- end if;
|
||||
else -- its an interrupt vector
|
||||
int_vector <= d_in(7 downto 3);
|
||||
end if;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
|
||||
if int_pulse_0 = '1' then int_reg_0 <= '1'; end if;
|
||||
if int_pulse_1 = '1' then int_reg_1 <= '1'; end if;
|
||||
if int_pulse_2 = '1' then int_reg_2 <= '1'; end if;
|
||||
if int_pulse_3 = '1' then int_reg_3 <= '1'; end if;
|
||||
|
||||
if int_ack_r = '1' and int_ack = '0' then
|
||||
if int_reg_0 = '1' then int_reg_0 <= '0';
|
||||
elsif int_reg_1 = '1' then int_reg_1 <= '0';
|
||||
elsif int_reg_2 = '1' then int_reg_2 <= '0';
|
||||
elsif int_reg_3 = '1' then int_reg_3 <= '0'; end if;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
end struct;
|
||||
@ -1,152 +0,0 @@
|
||||
---------------------------------------------------------------------------------
|
||||
-- Z80-CTC counter by Dar (darfpga@aol.fr) (19/10/2019)
|
||||
-- http://darfpga.blogspot.fr
|
||||
---------------------------------------------------------------------------------
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.std_logic_unsigned.all;
|
||||
use ieee.numeric_std.all;
|
||||
|
||||
entity ctc_counter is
|
||||
port(
|
||||
clock : in std_logic;
|
||||
clock_ena : in std_logic;
|
||||
reset : in std_logic;
|
||||
|
||||
d_in : in std_logic_vector( 7 downto 0);
|
||||
load_data : in std_logic;
|
||||
|
||||
clk_trg : in std_logic;
|
||||
|
||||
d_out : out std_logic_vector(7 downto 0);
|
||||
zc_to : out std_logic;
|
||||
int_pulse : out std_logic
|
||||
|
||||
);
|
||||
end ctc_counter;
|
||||
|
||||
architecture struct of ctc_counter is
|
||||
|
||||
signal control_word : std_logic_vector(7 downto 0);
|
||||
signal wait_for_time_constant : std_logic;
|
||||
signal time_constant_loaded : std_logic;
|
||||
signal restart_on_next_clock : std_logic;
|
||||
signal restart_on_next_trigger : std_logic;
|
||||
|
||||
signal prescale_max : std_logic_vector(7 downto 0);
|
||||
signal prescale_in : std_logic_vector(7 downto 0) := (others => '0');
|
||||
signal count_max : std_logic_vector(8 downto 0);
|
||||
signal count_in : std_logic_vector(8 downto 0) := (others => '0');
|
||||
signal zc_to_in : std_logic;
|
||||
signal clk_trg_r : std_logic;
|
||||
signal trigger : std_logic;
|
||||
signal count_ena : std_logic;
|
||||
signal load_data_r : std_logic; -- make sure load_data toggles to get one new data
|
||||
|
||||
begin
|
||||
|
||||
prescale_max <=
|
||||
(others => '0') when control_word(6) = '1' else -- counter mode (prescale max = 0)
|
||||
X"0F" when control_word(6 downto 5) = "00" else -- timer mode prescale 16
|
||||
X"FF"; -- timer mode prescale 256
|
||||
|
||||
trigger <=
|
||||
'1' when (clk_trg = '0' and clk_trg_r = '1' and control_word(4) = '0') or -- falling edge
|
||||
(clk_trg = '1' and clk_trg_r = '0' and control_word(4) = '1') else '0'; -- rising edge
|
||||
|
||||
d_out <= count_in(7 downto 0);
|
||||
|
||||
zc_to <= zc_to_in;
|
||||
int_pulse <= zc_to_in when control_word(7) = '1' else '0';
|
||||
|
||||
process (reset, clock)
|
||||
begin
|
||||
|
||||
if reset = '1' then -- hardware reset
|
||||
count_ena <= '0';
|
||||
wait_for_time_constant <= '0';
|
||||
time_constant_loaded <= '0';
|
||||
restart_on_next_clock <= '0';
|
||||
restart_on_next_trigger <= '0';
|
||||
count_in <= (others=> '0');
|
||||
zc_to_in <= '0';
|
||||
clk_trg_r <= clk_trg;
|
||||
else
|
||||
if rising_edge(clock) then
|
||||
if clock_ena = '1' then
|
||||
|
||||
clk_trg_r <= clk_trg;
|
||||
load_data_r <= load_data;
|
||||
|
||||
if (restart_on_next_trigger = '1' and trigger = '1') or (restart_on_next_clock = '1') then
|
||||
restart_on_next_clock <= '0';
|
||||
restart_on_next_trigger <= '0';
|
||||
count_ena <= '1';
|
||||
count_in <= count_max;
|
||||
prescale_in <= prescale_max;
|
||||
end if;
|
||||
|
||||
if load_data = '1' and load_data_r = '0' then
|
||||
|
||||
if wait_for_time_constant = '1' then
|
||||
wait_for_time_constant <= '0';
|
||||
time_constant_loaded <= '1';
|
||||
|
||||
if d_in = X"00" then
|
||||
count_max <= '1'&X"00";
|
||||
else
|
||||
count_max <= '0'&d_in;
|
||||
end if;
|
||||
|
||||
if control_word(6) = '0' and count_ena = '0' then -- in timer mode, if count was stooped
|
||||
if control_word(3) = '0' then -- auto start when time_constant loaded
|
||||
restart_on_next_clock <= '1';
|
||||
else -- wait for trigger to start
|
||||
restart_on_next_trigger <= '1';
|
||||
end if;
|
||||
end if;
|
||||
|
||||
else -- not waiting for time constant
|
||||
|
||||
if d_in(0) = '1' then -- check if its a control world
|
||||
control_word <= d_in;
|
||||
wait_for_time_constant <= d_in(2);
|
||||
restart_on_next_clock <= '0';
|
||||
restart_on_next_trigger <= '0';
|
||||
|
||||
if d_in(1) = '1' then -- software reset
|
||||
count_ena <= '0';
|
||||
time_constant_loaded <= '0';
|
||||
zc_to_in <= '0';
|
||||
-- zc_to_in_r <= '0';
|
||||
clk_trg_r <= clk_trg;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
|
||||
end if; -- end load data
|
||||
|
||||
-- counter
|
||||
zc_to_in <= '0';
|
||||
if ((control_word(6) = '1' and trigger = '1' ) or
|
||||
(control_word(6) = '0' and count_ena = '1') ) and time_constant_loaded = '1' then
|
||||
if prescale_in = 0 then
|
||||
prescale_in <= '0'&prescale_max(7 downto 1); -- test divide by 2 !
|
||||
if count_in = 0 then
|
||||
zc_to_in <= '1';
|
||||
count_in <= count_max;
|
||||
else
|
||||
count_in <= count_in - '1';
|
||||
end if;
|
||||
else
|
||||
prescale_in <= prescale_in - '1';
|
||||
end if;
|
||||
end if;
|
||||
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
end struct;
|
||||
81
Arcade_MiST/Midway MCR 2/SatansHollow_MiST/rtl/dpram.vhd
Normal file
81
Arcade_MiST/Midway MCR 2/SatansHollow_MiST/rtl/dpram.vhd
Normal file
@ -0,0 +1,81 @@
|
||||
-- -----------------------------------------------------------------------
|
||||
--
|
||||
-- Syntiac's generic VHDL support files.
|
||||
--
|
||||
-- -----------------------------------------------------------------------
|
||||
-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com)
|
||||
-- http://www.syntiac.com/fpga64.html
|
||||
--
|
||||
-- Modified April 2016 by Dar (darfpga@aol.fr)
|
||||
-- http://darfpga.blogspot.fr
|
||||
-- Remove address register when writing
|
||||
--
|
||||
-- -----------------------------------------------------------------------
|
||||
--
|
||||
-- dpram.vhd
|
||||
--
|
||||
-- -----------------------------------------------------------------------
|
||||
--
|
||||
-- generic ram.
|
||||
--
|
||||
-- -----------------------------------------------------------------------
|
||||
|
||||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
use IEEE.numeric_std.ALL;
|
||||
|
||||
-- -----------------------------------------------------------------------
|
||||
|
||||
entity dpram is
|
||||
generic (
|
||||
dWidth : integer := 8;
|
||||
aWidth : integer := 10
|
||||
);
|
||||
port (
|
||||
clk_a : in std_logic;
|
||||
we_a : in std_logic := '0';
|
||||
addr_a : in std_logic_vector((aWidth-1) downto 0);
|
||||
d_a : in std_logic_vector((dWidth-1) downto 0) := (others => '0');
|
||||
q_a : out std_logic_vector((dWidth-1) downto 0);
|
||||
|
||||
clk_b : in std_logic;
|
||||
we_b : in std_logic := '0';
|
||||
addr_b : in std_logic_vector((aWidth-1) downto 0);
|
||||
d_b : in std_logic_vector((dWidth-1) downto 0) := (others => '0');
|
||||
q_b : out std_logic_vector((dWidth-1) downto 0)
|
||||
);
|
||||
end entity;
|
||||
|
||||
-- -----------------------------------------------------------------------
|
||||
|
||||
architecture rtl of dpram is
|
||||
subtype addressRange is integer range 0 to ((2**aWidth)-1);
|
||||
type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0);
|
||||
signal ram: ramDef;
|
||||
signal addr_a_reg: std_logic_vector((aWidth-1) downto 0);
|
||||
signal addr_b_reg: std_logic_vector((aWidth-1) downto 0);
|
||||
begin
|
||||
|
||||
-- -----------------------------------------------------------------------
|
||||
process(clk_a)
|
||||
begin
|
||||
if rising_edge(clk_a) then
|
||||
if we_a = '1' then
|
||||
ram(to_integer(unsigned(addr_a))) <= d_a;
|
||||
end if;
|
||||
q_a <= ram(to_integer(unsigned(addr_a)));
|
||||
end if;
|
||||
end process;
|
||||
|
||||
process(clk_b)
|
||||
begin
|
||||
if rising_edge(clk_b) then
|
||||
if we_b = '1' then
|
||||
ram(to_integer(unsigned(addr_b))) <= d_b;
|
||||
end if;
|
||||
q_b <= ram(to_integer(unsigned(addr_b)));
|
||||
end if;
|
||||
end process;
|
||||
|
||||
end architecture;
|
||||
|
||||
@ -1,534 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity satans_hollow_bg_bits_1 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 satans_hollow_bg_bits_1 is
|
||||
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",
|
||||
X"FF",X"AA",X"FF",X"AA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"FA",X"FF",X"FB",
|
||||
X"6A",X"56",X"D6",X"95",X"F9",X"6A",X"FA",X"D5",X"FE",X"BE",X"FF",X"BA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"BF",X"FF",X"AF",X"FF",X"AB",X"C0",X"EB",X"2A",X"E0",X"A5",X"FA",X"95",X"0A",X"55",X"A9",X"56",
|
||||
X"A9",X"55",X"59",X"54",X"68",X"00",X"68",X"00",X"A9",X"40",X"9A",X"96",X"A5",X"A5",X"AF",X"55",
|
||||
X"FE",X"AF",X"FA",X"AA",X"FA",X"FA",X"2A",X"0A",X"6A",X"55",X"59",X"55",X"59",X"A9",X"A9",X"A9",
|
||||
X"54",X"28",X"52",X"80",X"01",X"69",X"00",X"06",X"02",X"A1",X"80",X"00",X"6A",X"AA",X"55",X"55",
|
||||
X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"6A",X"50",X"6A",X"55",X"55",X"54",X"55",X"56",
|
||||
X"00",X"05",X"40",X"01",X"40",X"01",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"55",X"55",
|
||||
X"00",X"00",X"54",X"00",X"EA",X"FF",X"CA",X"00",X"28",X"A0",X"A8",X"05",X"5A",X"80",X"F5",X"55",
|
||||
X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",
|
||||
X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"55",X"55",X"55",X"00",X"15",X"00",X"15",
|
||||
X"00",X"00",X"05",X"55",X"96",X"55",X"65",X"55",X"1A",X"AA",X"05",X"55",X"00",X"00",X"55",X"50",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"FF",X"F9",X"FC",X"06",X"00",X"01",X"00",X"00",
|
||||
X"00",X"00",X"00",X"04",X"55",X"54",X"55",X"51",X"55",X"00",X"00",X"04",X"AA",X"A8",X"55",X"55",
|
||||
X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"54",X"00",X"50",X"00",X"80",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FF",X"FF",X"FF",X"FC",X"00",X"01",X"00",X"55",X"00",X"55",X"01",X"55",X"05",X"55",X"15",X"55",
|
||||
X"EA",X"AA",X"FA",X"AA",X"FE",X"AA",X"FF",X"AA",X"FF",X"EA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FE",
|
||||
X"FF",X"C0",X"FF",X"00",X"FC",X"00",X"F0",X"00",X"F0",X"00",X"C0",X"00",X"00",X"00",X"C0",X"00",
|
||||
X"FF",X"00",X"FF",X"F0",X"FF",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"F0",
|
||||
X"FF",X"F0",X"FF",X"FC",X"FF",X"FF",X"FF",X"FC",X"FF",X"F0",X"FC",X"00",X"FF",X"00",X"F0",X"00",
|
||||
X"FF",X"C0",X"FC",X"00",X"F0",X"00",X"F0",X"00",X"C0",X"00",X"00",X"00",X"FC",X"00",X"FF",X"C0",
|
||||
X"00",X"00",X"00",X"01",X"00",X"05",X"00",X"15",X"00",X"54",X"01",X"50",X"00",X"00",X"00",X"00",
|
||||
X"15",X"55",X"55",X"55",X"00",X"55",X"C1",X"55",X"F0",X"55",X"00",X"2A",X"02",X"AA",X"00",X"00",
|
||||
X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"05",X"00",X"55",X"05",X"55",
|
||||
X"15",X"6A",X"05",X"6A",X"00",X"0A",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"55",
|
||||
X"FF",X"F0",X"FF",X"00",X"FC",X"00",X"C0",X"00",X"01",X"40",X"05",X"50",X"15",X"54",X"55",X"50",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"FF",X"FC",X"FF",X"00",X"FF",X"F0",
|
||||
X"00",X"00",X"AA",X"50",X"00",X"04",X"00",X"05",X"00",X"10",X"00",X"00",X"00",X"54",X"00",X"00",
|
||||
X"55",X"00",X"54",X"00",X"50",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",
|
||||
X"55",X"00",X"AA",X"80",X"AA",X"A0",X"15",X"58",X"55",X"A8",X"55",X"2A",X"55",X"4A",X"55",X"50",
|
||||
X"00",X"28",X"00",X"80",X"2A",X"00",X"AA",X"A0",X"55",X"54",X"AA",X"A8",X"AA",X"A0",X"55",X"40",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",
|
||||
X"FF",X"C0",X"FF",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"FC",X"40",X"FF",X"12",X"FF",X"06",X"FF",X"CA",X"FF",X"CA",X"FF",X"EA",X"FF",X"AA",X"FF",X"2A",
|
||||
X"FF",X"FC",X"FF",X"F0",X"FF",X"C0",X"FF",X"00",X"FF",X"01",X"FF",X"C5",X"C0",X"15",X"F0",X"55",
|
||||
X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",X"AA",X"2A",X"AA",
|
||||
X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",
|
||||
X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"A2",X"AA",X"80",X"AA",X"80",X"AA",X"00",X"AA",
|
||||
X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",
|
||||
X"CA",X"AA",X"CA",X"AA",X"CA",X"AA",X"CA",X"AA",X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",
|
||||
X"C2",X"A5",X"C2",X"A5",X"C2",X"A5",X"C2",X"A5",X"C2",X"A5",X"C2",X"A9",X"C2",X"A9",X"C2",X"A9",
|
||||
X"AA",X"A5",X"AA",X"A5",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"55",X"AA",X"55",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"A5",X"AA",X"A5",
|
||||
X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",
|
||||
X"95",X"55",X"95",X"55",X"95",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",
|
||||
X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",
|
||||
X"96",X"A5",X"96",X"A5",X"96",X"A5",X"96",X"A5",X"96",X"A5",X"96",X"AA",X"96",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"A8",X"AA",X"A8",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A2",X"A8",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"28",X"A0",X"28",X"A2",X"28",X"A2",X"28",X"A2",X"00",X"A2",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"28",X"A2",X"28",X"A2",X"28",X"A2",X"28",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"AA",X"8A",X"AA",X"8A",X"A8",X"0A",X"A8",X"0A",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"00",X"A2",X"00",X"A2",X"28",X"A2",X"28",X"A2",X"28",X"A0",X"28",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"80",X"A2",X"80",X"A2",X"88",X"A2",X"88",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"AA",X"A2",X"AA",X"A0",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"28",X"A2",X"28",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"88",X"A2",X"88",X"A0",X"08",X"A0",X"08",X"AA",X"AA",
|
||||
X"5F",X"97",X"5F",X"97",X"5E",X"97",X"5E",X"A5",X"5E",X"A5",X"5E",X"A5",X"5E",X"A5",X"5E",X"A5",
|
||||
X"A9",X"7E",X"A9",X"7E",X"A9",X"7E",X"A9",X"7A",X"A9",X"7A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",
|
||||
X"97",X"FF",X"97",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",
|
||||
X"A9",X"7E",X"AA",X"5E",X"AA",X"5E",X"AA",X"5E",X"AA",X"5E",X"AA",X"96",X"AA",X"9A",X"AA",X"AA",
|
||||
X"AA",X"5A",X"AA",X"5A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",
|
||||
X"A5",X"FF",X"A5",X"FF",X"A9",X"7F",X"A9",X"7F",X"A9",X"7F",X"AA",X"5F",X"AA",X"5F",X"AA",X"5F",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"8A",X"A2",X"8A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"80",X"A0",X"00",X"A0",X"88",X"A0",X"88",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A2",X"A8",X"A2",X"A8",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A8",X"02",X"A0",X"00",X"A0",X"A0",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A2",X"28",X"A2",X"28",X"A2",X"28",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"A2",X"AA",X"A2",X"8A",X"A2",X"8A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"80",X"A2",X"80",X"A2",X"A8",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"AA",X"8A",X"AA",X"8A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A2",X"A8",X"AA",X"AA",
|
||||
X"A2",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A2",X"A8",X"AA",X"80",X"AA",X"80",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A2",X"A0",X"A0",X"82",X"A8",X"0A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"A0",X"AA",X"A0",X"AA",X"A8",X"AA",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A2",X"AA",X"A0",X"00",X"A2",X"AA",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"AA",X"02",X"A8",X"2A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"0A",X"A0",X"0A",X"A2",X"8A",X"A2",X"8A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"A2",X"A0",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"20",X"A0",X"00",X"A2",X"0A",X"A2",X"2A",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"A2",X"00",X"A2",X"00",X"A2",X"28",X"A2",X"28",X"A0",X"28",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"AA",X"A2",X"A8",X"A0",X"00",X"A0",X"00",X"A2",X"A8",X"A0",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"A0",X"00",X"AA",X"A8",X"AA",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"AA",X"A0",X"0A",X"AA",X"80",X"A0",X"00",X"A0",X"0A",X"A2",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A0",X"00",X"AA",X"A8",X"A0",X"00",X"AA",X"A8",X"A0",X"00",X"A0",X"00",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A0",X"80",X"AA",X"0A",X"A0",X"2A",X"A0",X"8A",X"A2",X"A0",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"AA",X"A0",X"AA",X"AA",X"00",X"A8",X"00",X"A0",X"2A",X"A2",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"A2",X"A8",X"A0",X"A8",X"A0",X"28",X"A2",X"08",X"A2",X"80",X"A2",X"A0",X"AA",X"AA",
|
||||
X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",
|
||||
X"AA",X"AA",X"AA",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"7F",X"FA",X"7F",X"FA",X"7F",X"FA",X"7F",X"FA",X"7F",X"FE",X"7F",X"FE",X"7F",X"FE",X"7F",X"FE",
|
||||
X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"FE",X"AA",X"FE",X"AA",
|
||||
X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"FF",X"EF",X"FF",X"EF",X"FF",X"EF",X"FF",X"EF",X"FF",X"EB",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"C1",X"55",X"01",X"55",X"02",X"55",X"02",X"55",X"0A",X"95",X"0A",X"95",X"0A",X"95",X"0A",X"A5",
|
||||
X"CA",X"A5",X"CA",X"A5",X"CA",X"A5",X"CA",X"A5",X"C2",X"95",X"C2",X"95",X"C2",X"95",X"C2",X"55",
|
||||
X"EA",X"AA",X"EA",X"AA",X"EA",X"A9",X"EA",X"A9",X"CA",X"A5",X"CA",X"A5",X"CA",X"A5",X"CA",X"A5",
|
||||
X"FF",X"EA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FE",
|
||||
X"55",X"55",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"95",X"55",X"95",X"55",X"95",X"55",
|
||||
X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",X"A5",X"55",
|
||||
X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",
|
||||
X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"FF",X"FD",X"FF",X"FD",X"FF",X"D5",X"FF",X"D5",
|
||||
X"FF",X"FF",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"D5",X"FF",X"55",X"FF",X"55",X"FD",X"55",
|
||||
X"BF",X"FA",X"AF",X"EA",X"AB",X"AB",X"EA",X"AB",X"EA",X"AB",X"EA",X"AF",X"FA",X"AF",X"FA",X"BF",
|
||||
X"F7",X"77",X"5D",X"DD",X"57",X"77",X"55",X"DD",X"55",X"77",X"55",X"DD",X"55",X"77",X"55",X"55",
|
||||
X"55",X"00",X"55",X"00",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"54",X"55",X"55",
|
||||
X"50",X"00",X"50",X"01",X"40",X"05",X"50",X"0A",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"00",
|
||||
X"FF",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"55",X"40",X"55",X"50",X"55",X"54",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"65",X"CF",X"69",X"F3",X"AB",X"F3",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"A5",X"55",X"A5",X"55",X"AA",X"55",X"AA",X"55",
|
||||
X"E5",X"FF",X"D7",X"FF",X"D5",X"7F",X"F5",X"7F",X"FD",X"BF",X"FF",X"AF",X"FF",X"5F",X"FD",X"6F",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"FF",X"57",X"FF",X"5F",X"FF",X"5F",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"D5",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"55",X"AA",X"A9",X"AA",X"A9",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"7F",X"55",X"7F",X"55",X"7F",X"55",X"7F",X"55",X"7F",X"55",X"7F",X"55",X"5F",X"55",X"5F",
|
||||
X"66",X"BE",X"55",X"7E",X"EA",X"67",X"7E",X"A5",X"57",X"57",X"F7",X"F7",X"DD",X"AB",X"D5",X"FB",
|
||||
X"FF",X"FD",X"BF",X"FF",X"AF",X"FF",X"AB",X"FF",X"AA",X"C0",X"AA",X"8D",X"AA",X"87",X"AA",X"8D",
|
||||
X"7F",X"FF",X"5F",X"FF",X"D7",X"FF",X"D5",X"FF",X"F5",X"7F",X"FD",X"5F",X"FF",X"5F",X"FF",X"DF",
|
||||
X"C1",X"56",X"F0",X"5A",X"7C",X"6A",X"5C",X"6A",X"5C",X"2A",X"5F",X"0A",X"DF",X"CA",X"F7",X"CA",
|
||||
X"FF",X"06",X"F7",X"CA",X"F7",X"CA",X"D7",X"C2",X"D7",X"C2",X"F7",X"F2",X"F5",X"F2",X"FD",X"F2",
|
||||
X"FF",X"FF",X"FF",X"DF",X"FF",X"DF",X"FF",X"DF",X"FF",X"5F",X"FF",X"57",X"FD",X"57",X"55",X"55",
|
||||
X"2F",X"15",X"2F",X"15",X"2F",X"15",X"2F",X"15",X"2F",X"15",X"2F",X"15",X"3C",X"15",X"F0",X"55",
|
||||
X"AB",X"C5",X"AB",X"C5",X"AB",X"C5",X"AB",X"C5",X"AB",X"C5",X"AB",X"C5",X"AB",X"C5",X"AF",X"15",
|
||||
X"AB",X"30",X"AB",X"0C",X"AB",X"0F",X"AB",X"CF",X"AB",X"C3",X"AB",X"C7",X"AB",X"C7",X"AB",X"C7",
|
||||
X"FC",X"FF",X"5F",X"0F",X"5F",X"CF",X"5F",X"CF",X"5F",X"CF",X"9F",X"C3",X"97",X"F0",X"97",X"FC",
|
||||
X"55",X"7C",X"55",X"7F",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"A5",X"57",X"AA",X"AB",X"AA",X"AB",
|
||||
X"7C",X"FC",X"7C",X"FC",X"7C",X"FC",X"0F",X"3C",X"57",X"F1",X"57",X"F1",X"57",X"F1",X"57",X"05",
|
||||
X"CF",X"FF",X"CF",X"FF",X"F3",X"FF",X"F3",X"FF",X"F3",X"FF",X"F3",X"FC",X"F3",X"F1",X"F3",X"F1",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"1A",X"FF",X"16",X"FF",X"15",X"FC",X"15",X"F0",X"55",X"F1",X"55",X"F1",X"55",X"F1",X"55",
|
||||
X"FF",X"F1",X"FF",X"C1",X"FF",X"C5",X"FF",X"C5",X"FF",X"05",X"FF",X"15",X"FF",X"15",X"FF",X"16",
|
||||
X"D5",X"F3",X"F5",X"F3",X"FF",X"F0",X"FF",X"CC",X"FF",X"CC",X"FF",X"CF",X"FF",X"CF",X"FF",X"C3",
|
||||
X"F3",X"FF",X"FC",X"FF",X"FC",X"3F",X"BF",X"3F",X"AF",X"0F",X"AF",X"CF",X"AF",X"C3",X"AB",X"F3",
|
||||
X"AB",X"F3",X"AA",X"FC",X"6A",X"FC",X"6A",X"BF",X"6A",X"BF",X"6A",X"BF",X"5A",X"AF",X"5A",X"AF",
|
||||
X"F3",X"FE",X"F3",X"FB",X"F3",X"FB",X"F3",X"EE",X"F0",X"FB",X"FC",X"EE",X"FC",X"BB",X"FC",X"EE",
|
||||
X"FC",X"FB",X"FC",X"3E",X"FF",X"3B",X"FF",X"0E",X"FF",X"CF",X"FF",X"CE",X"FF",X"C1",X"7F",X"F1",
|
||||
X"7F",X"0D",X"5F",X"CD",X"5F",X"CF",X"5F",X"CF",X"5F",X"C3",X"57",X"F3",X"57",X"F3",X"57",X"F3",
|
||||
X"53",X"F3",X"43",X"F3",X"43",X"F3",X"03",X"FC",X"03",X"FC",X"43",X"F0",X"50",X"F2",X"54",X"CA",
|
||||
X"57",X"FC",X"5F",X"FC",X"5F",X"F0",X"5F",X"F1",X"5F",X"C1",X"5F",X"C6",X"7F",X"0A",X"FF",X"15",
|
||||
X"99",X"99",X"66",X"66",X"99",X"99",X"66",X"66",X"99",X"99",X"66",X"66",X"99",X"99",X"66",X"66",
|
||||
X"91",X"FC",X"64",X"FC",X"91",X"FC",X"67",X"FC",X"13",X"FC",X"47",X"FC",X"53",X"FC",X"57",X"FC",
|
||||
X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"F0",X"FF",X"F1",
|
||||
X"3F",X"FF",X"1F",X"FF",X"17",X"FF",X"15",X"FF",X"15",X"7F",X"15",X"5F",X"15",X"57",X"15",X"57",
|
||||
X"BF",X"FF",X"B7",X"FF",X"FE",X"FF",X"5E",X"FF",X"E9",X"BF",X"E9",X"BF",X"76",X"BF",X"EA",X"DF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"7F",X"FF",X"FF",X"FF",X"D5",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D7",
|
||||
X"55",X"55",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"F5",X"FF",X"F5",X"FF",X"D5",X"FF",X"D5",X"F5",X"55",X"F5",X"55",X"F5",X"55",X"FF",X"55",
|
||||
X"FF",X"FF",X"7F",X"FF",X"7F",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"7F",X"55",X"55",
|
||||
X"55",X"5F",X"55",X"5F",X"55",X"FF",X"55",X"FF",X"5F",X"FF",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"55",X"6A",X"5A",X"AA",X"5A",X"AA",X"6A",X"AA",X"6A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"55",X"6F",X"56",X"AF",X"57",X"FF",X"5B",X"FF",X"5B",X"FF",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"95",X"6A",X"55",X"95",X"55",X"55",X"55",
|
||||
X"56",X"A5",X"55",X"A9",X"55",X"6A",X"55",X"5A",X"55",X"56",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"55",X"55",X"D5",X"55",X"F5",X"55",X"FD",X"55",X"FF",X"55",X"FF",X"D5",X"FF",X"F5",X"FF",X"FD",
|
||||
X"AA",X"AB",X"AA",X"AF",X"AA",X"BF",X"AA",X"FF",X"AB",X"FF",X"AF",X"FF",X"BF",X"FF",X"FF",X"FF",
|
||||
X"55",X"57",X"55",X"5F",X"55",X"7F",X"55",X"FF",X"57",X"FF",X"5F",X"FF",X"7F",X"FF",X"FF",X"FF",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",
|
||||
X"FF",X"FC",X"FF",X"F1",X"FF",X"C7",X"FF",X"0D",X"FC",X"37",X"FC",X"DD",X"F3",X"77",X"C1",X"DD",
|
||||
X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"BF",
|
||||
X"FF",X"C0",X"FC",X"00",X"C0",X"00",X"28",X"00",X"80",X"00",X"C0",X"80",X"FE",X"00",X"FF",X"00",
|
||||
X"FF",X"C4",X"03",X"C0",X"13",X"C0",X"13",X"C0",X"10",X"01",X"15",X"55",X"15",X"55",X"15",X"55",
|
||||
X"FF",X"FD",X"FF",X"FF",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"5F",X"FF",X"5F",X"7F",X"FF",
|
||||
X"FF",X"37",X"FC",X"1D",X"FC",X"77",X"FC",X"DD",X"FC",X"77",X"FC",X"DD",X"FC",X"77",X"FC",X"DD",
|
||||
X"FF",X"C7",X"FF",X"CD",X"FF",X"07",X"FF",X"1D",X"FF",X"37",X"FF",X"1D",X"FF",X"37",X"FF",X"1D",
|
||||
X"70",X"00",X"00",X"01",X"00",X"07",X"00",X"DD",X"07",X"74",X"DD",X"D1",X"77",X"07",X"DC",X"DD",
|
||||
X"77",X"00",X"00",X"01",X"00",X"55",X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"40",
|
||||
X"FC",X"00",X"3C",X"1D",X"30",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"C1",X"DD",
|
||||
X"FF",X"C7",X"FF",X"CD",X"FF",X"C7",X"FF",X"CD",X"FF",X"C7",X"FF",X"CD",X"FF",X"C7",X"FF",X"0D",
|
||||
X"FF",X"FF",X"FF",X"FC",X"FF",X"C0",X"FF",X"CD",X"FF",X"C7",X"FF",X"CD",X"FF",X"C7",X"FF",X"CD",
|
||||
X"00",X"00",X"00",X"0D",X"03",X"77",X"01",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",
|
||||
X"00",X"00",X"00",X"00",X"00",X"37",X"0D",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",
|
||||
X"F3",X"77",X"F1",X"DD",X"C7",X"77",X"CD",X"DD",X"C7",X"77",X"CD",X"DD",X"C7",X"77",X"DD",X"DD",
|
||||
X"FF",X"C0",X"FF",X"C1",X"FF",X"37",X"FF",X"1D",X"FC",X"77",X"FC",X"DD",X"FC",X"77",X"FC",X"00",
|
||||
X"00",X"00",X"DD",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"DD",
|
||||
X"00",X"77",X"1D",X"DD",X"77",X"77",X"DD",X"DD",X"77",X"77",X"DD",X"C0",X"00",X"37",X"DD",X"DD",
|
||||
X"37",X"70",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"1D",
|
||||
X"FC",X"00",X"FC",X"00",X"FC",X"00",X"FC",X"1D",X"FC",X"37",X"FC",X"1D",X"FC",X"37",X"F0",X"DD",
|
||||
X"FF",X"F3",X"FF",X"F1",X"FF",X"C7",X"FF",X"CD",X"FF",X"37",X"FF",X"1D",X"FF",X"37",X"FF",X"00",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"BF",X"FE",X"BF",X"FA",X"BF",X"EA",X"BF",X"AA",X"BF",X"AA",X"AA",
|
||||
X"FF",X"F3",X"FF",X"C3",X"FF",X"03",X"FC",X"03",X"F0",X"0F",X"C0",X"0F",X"00",X"3F",X"AA",X"AA",
|
||||
X"AA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"FA",X"FF",X"FE",
|
||||
X"55",X"56",X"55",X"5A",X"55",X"5A",X"55",X"6A",X"55",X"AA",X"56",X"AA",X"5A",X"AA",X"6A",X"AA",
|
||||
X"AB",X"FF",X"AB",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"BF",
|
||||
X"DD",X"DD",X"77",X"77",X"5D",X"DD",X"57",X"77",X"55",X"DD",X"55",X"77",X"55",X"5D",X"55",X"57",
|
||||
X"FF",X"FF",X"FF",X"FF",X"F3",X"00",X"F3",X"00",X"F3",X"3C",X"F3",X"3C",X"F0",X"3C",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"FF",X"CF",X"FF",X"CF",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"FF",X"FF",X"FF",X"F0",X"FF",X"F0",X"FF",X"FC",X"FF",X"FC",X"F0",X"00",X"F0",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"DD",X"DF",X"77",X"7F",X"DD",X"FF",X"77",X"FF",X"DF",X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"77",X"7F",X"DD",X"DF",X"77",X"FF",X"DD",X"FF",X"7F",X"FF",X"DF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"00",X"82",X"C0",X"00",X"C0",X"00",X"F0",X"28",X"C2",X"80",X"CA",X"00",X"20",X"00",X"00",X"08",
|
||||
X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"BF",
|
||||
X"55",X"5A",X"55",X"AA",X"56",X"AA",X"5A",X"AA",X"56",X"AA",X"55",X"AA",X"55",X"6A",X"55",X"5A",
|
||||
X"57",X"FF",X"57",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",
|
||||
X"57",X"75",X"DF",X"FD",X"75",X"57",X"FD",X"DD",X"5D",X"FF",X"DF",X"D5",X"FD",X"5D",X"DD",X"7F",
|
||||
X"FF",X"FF",X"FF",X"FC",X"3F",X"F0",X"FF",X"02",X"C0",X"00",X"20",X"00",X"80",X"A8",X"02",X"00",
|
||||
X"14",X"51",X"14",X"51",X"14",X"54",X"15",X"14",X"45",X"44",X"51",X"44",X"51",X"45",X"11",X"45",
|
||||
X"FF",X"FF",X"FE",X"FF",X"FE",X"FF",X"FF",X"BF",X"FF",X"EF",X"FF",X"EF",X"FF",X"FB",X"FF",X"FE",
|
||||
X"55",X"51",X"15",X"51",X"15",X"51",X"15",X"11",X"15",X"11",X"15",X"15",X"55",X"15",X"55",X"15",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"DD",X"FF",X"F7",X"DF",X"FF",X"77",X"FF",X"DF",X"FF",
|
||||
X"FF",X"5F",X"FD",X"DF",X"FD",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"D7",X"5F",X"DD",X"DF",X"F5",
|
||||
X"FF",X"FF",X"FD",X"FF",X"DD",X"DF",X"F7",X"7F",X"5D",X"D7",X"F7",X"7F",X"DD",X"DF",X"FD",X"FF",
|
||||
X"FF",X"0A",X"FF",X"A0",X"F0",X"00",X"CA",X"00",X"20",X"02",X"80",X"0A",X"00",X"28",X"00",X"0A",
|
||||
X"15",X"5A",X"15",X"AA",X"16",X"AA",X"5A",X"AA",X"56",X"AA",X"55",X"AA",X"45",X"6A",X"45",X"5A",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"EA",X"FA",X"BF",X"AB",X"FF",X"FF",X"FF",
|
||||
X"A8",X"2A",X"A8",X"A2",X"A2",X"82",X"A2",X"02",X"A2",X"82",X"A0",X"A2",X"A0",X"2A",X"A0",X"0A",
|
||||
X"77",X"7F",X"DD",X"DF",X"77",X"FF",X"DD",X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"A0",X"0A",X"A0",X"2A",X"A0",X"A2",X"A0",X"82",X"A2",X"02",X"A2",X"82",X"A8",X"22",X"A8",X"2A",
|
||||
X"55",X"51",X"51",X"51",X"51",X"51",X"51",X"55",X"51",X"55",X"51",X"55",X"51",X"55",X"55",X"55",
|
||||
X"FF",X"FF",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"F3",X"FC",X"F3",X"FC",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FC",X"FF",X"FC",X"F0",X"00",X"F0",X"00",X"F3",X"FC",X"F3",X"FC",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"3C",X"F0",X"3C",X"F3",X"3C",X"F3",X"3C",X"F3",X"00",X"F3",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"F3",X"3C",X"F3",X"3C",X"F3",X"3C",X"F3",X"3C",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"FF",X"CF",X"FF",X"CF",X"FC",X"0F",X"FC",X"0F",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F3",X"00",X"F3",X"00",X"F3",X"3C",X"F3",X"3C",X"F3",X"3C",X"F0",X"3C",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F3",X"C0",X"F3",X"C0",X"F3",X"CC",X"F3",X"CC",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"F3",X"FF",X"F3",X"FF",X"F0",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"F3",X"3C",X"F3",X"3C",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"00",X"F0",X"00",X"F3",X"CC",X"F3",X"CC",X"F0",X"0C",X"F0",X"0C",X"FF",X"FF",
|
||||
X"FF",X"0F",X"FC",X"0F",X"F0",X"8F",X"C2",X"8F",X"0A",X"8F",X"2A",X"8F",X"AA",X"80",X"AA",X"AA",
|
||||
X"FF",X"FF",X"F3",X"FC",X"F3",X"3C",X"F3",X"3C",X"F3",X"3C",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"80",X"02",X"2A",X"A8",X"22",X"88",X"22",X"88",X"22",X"88",X"28",X"28",X"2A",X"A8",X"80",X"02",
|
||||
X"FF",X"FF",X"FF",X"FC",X"F3",X"FC",X"F3",X"FC",X"F3",X"FC",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"30",X"F0",X"00",X"F3",X"0F",X"F3",X"3F",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FC",X"03",X"F0",X"00",X"F0",X"F0",X"F3",X"FC",X"F0",X"00",X"F0",X"00",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F3",X"FC",X"F3",X"FC",X"F0",X"00",X"F0",X"00",X"F3",X"FC",X"F3",X"FC",X"FF",X"FF",
|
||||
X"FF",X"FF",X"F0",X"FF",X"F3",X"FC",X"F0",X"00",X"F0",X"00",X"F3",X"FC",X"F0",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",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;
|
||||
@ -1,534 +0,0 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all,ieee.numeric_std.all;
|
||||
|
||||
entity satans_hollow_bg_bits_2 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 satans_hollow_bg_bits_2 is
|
||||
type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
|
||||
signal rom_data: rom := (
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"15",X"FE",X"01",X"7F",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"00",X"5F",X"05",X"7F",X"05",X"FF",X"57",X"FE",
|
||||
X"A3",X"FF",X"F3",X"FC",X"C0",X"03",X"07",X"FF",X"17",X"FF",X"05",X"7D",X"00",X"5F",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"FF",X"F3",X"FF",X"F3",X"AB",X"A3",X"AB",
|
||||
X"FC",X"17",X"F1",X"7F",X"FC",X"17",X"FF",X"F1",X"FE",X"AC",X"7F",X"FF",X"D5",X"55",X"3F",X"FF",
|
||||
X"00",X"03",X"03",X"FF",X"FF",X"FF",X"00",X"0F",X"EA",X"FF",X"EA",X"FF",X"FF",X"FC",X"FF",X"FD",
|
||||
X"3F",X"FA",X"0F",X"FE",X"00",X"02",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",
|
||||
X"FF",X"FF",X"03",X"FF",X"3F",X"00",X"05",X"FF",X"17",X"AF",X"57",X"FF",X"05",X"7F",X"00",X"00",
|
||||
X"FF",X"EA",X"FF",X"EA",X"FF",X"EA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"3F",X"FA",
|
||||
X"00",X"0F",X"FF",X"FA",X"FF",X"AA",X"FF",X"AA",X"55",X"AA",X"00",X"AA",X"FF",X"EA",X"FF",X"EA",
|
||||
X"F0",X"00",X"0F",X"FF",X"7E",X"FF",X"1F",X"FF",X"C5",X"55",X"30",X"00",X"0F",X"CF",X"FF",X"C3",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"01",X"00",X"FC",X"FF",X"FC",
|
||||
X"FF",X"F3",X"FF",X"F0",X"FF",X"FC",X"FF",X"F0",X"00",X"F3",X"FF",X"F0",X"55",X"54",X"FF",X"FC",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"FF",X"F3",X"FF",X"4F",X"FF",X"3F",X"FF",X"FF",X"FF",
|
||||
X"00",X"00",X"00",X"00",X"00",X"02",X"FF",X"AA",X"FF",X"AA",X"FE",X"AA",X"FA",X"AA",X"EA",X"AA",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"3F",X"00",X"FF",X"03",X"F0",X"0F",X"F0",X"0F",X"00",X"3F",X"00",X"FF",X"C0",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0F",X"03",X"FF",X"00",X"FC",X"0F",X"00",
|
||||
X"00",X"3F",X"03",X"FC",X"0F",X"C0",X"0F",X"00",X"30",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",
|
||||
X"C0",X"00",X"00",X"03",X"00",X"0F",X"00",X"3F",X"00",X"FF",X"03",X"FF",X"00",X"FF",X"00",X"3F",
|
||||
X"3F",X"FF",X"FF",X"FF",X"00",X"FF",X"03",X"FF",X"00",X"FF",X"F0",X"15",X"FD",X"55",X"F0",X"15",
|
||||
X"03",X"FF",X"00",X"15",X"C0",X"01",X"FC",X"00",X"FF",X"03",X"00",X"0F",X"00",X"FF",X"0F",X"FF",
|
||||
X"FF",X"D5",X"0F",X"D5",X"00",X"05",X"00",X"00",X"00",X"0F",X"00",X"05",X"00",X"15",X"00",X"FF",
|
||||
X"00",X"00",X"00",X"03",X"00",X"0F",X"30",X"3F",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"03",X"00",X"FF",X"00",X"0C",
|
||||
X"55",X"4F",X"55",X"F0",X"FD",X"5C",X"FF",X"FF",X"0F",X"F0",X"0F",X"05",X"00",X"FF",X"01",X"55",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"0F",X"FF",X"50",X"FF",X"54",X"0F",
|
||||
X"FF",X"55",X"55",X"55",X"55",X"55",X"3F",X"F5",X"FF",X"57",X"FF",X"15",X"FF",X"C5",X"FF",X"F3",
|
||||
X"55",X"54",X"05",X"40",X"15",X"00",X"55",X"53",X"FF",X"FD",X"55",X"55",X"55",X"55",X"FF",X"D5",
|
||||
X"05",X"D5",X"F5",X"F5",X"F5",X"FD",X"F5",X"FD",X"F5",X"FF",X"D5",X"FF",X"55",X"7F",X"55",X"7D",
|
||||
X"00",X"13",X"00",X"4F",X"01",X"5F",X"55",X"5F",X"45",X"4F",X"15",X"3F",X"14",X"FD",X"11",X"F5",
|
||||
X"01",X"D5",X"00",X"75",X"00",X"5D",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"55",X"00",X"55",
|
||||
X"00",X"01",X"00",X"05",X"00",X"15",X"00",X"55",X"00",X"57",X"00",X"1F",X"15",X"7F",X"05",X"FF",
|
||||
X"FC",X"55",X"3C",X"55",X"3C",X"55",X"3C",X"55",X"0D",X"55",X"05",X"55",X"05",X"55",X"15",X"55",
|
||||
X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FC",X"55",X"FC",X"55",X"FC",X"55",X"FC",X"55",X"FC",X"55",
|
||||
X"F1",X"55",X"F1",X"55",X"F1",X"55",X"F1",X"55",X"51",X"55",X"7C",X"55",X"7C",X"55",X"FC",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"3D",X"55",X"3D",X"55",X"3D",X"55",X"35",X"55",X"35",X"55",X"35",X"55",X"35",X"55",X"15",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"02",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"08",X"02",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"82",X"0A",X"82",X"08",X"82",X"08",X"82",X"08",X"AA",X"08",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"82",X"08",X"82",X"08",X"82",X"08",X"82",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"00",X"20",X"00",X"20",X"02",X"A0",X"02",X"A0",X"00",X"00",
|
||||
X"00",X"00",X"08",X"AA",X"08",X"AA",X"08",X"82",X"08",X"82",X"08",X"82",X"0A",X"82",X"00",X"00",
|
||||
X"00",X"00",X"08",X"2A",X"08",X"2A",X"08",X"22",X"08",X"22",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"00",X"08",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"82",X"08",X"82",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"22",X"08",X"22",X"0A",X"A2",X"0A",X"A2",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"20",X"08",X"20",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"2A",X"0A",X"AA",X"0A",X"22",X"0A",X"22",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"08",X"02",X"08",X"02",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"02",X"A8",X"0A",X"AA",X"0A",X"0A",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"08",X"82",X"08",X"82",X"08",X"82",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"08",X"00",X"08",X"20",X"08",X"20",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"2A",X"08",X"2A",X"08",X"02",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"00",X"20",X"00",X"20",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"08",X"02",X"00",X"00",
|
||||
X"08",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"08",X"02",X"00",X"2A",X"00",X"2A",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"08",X"0A",X"0A",X"28",X"02",X"A0",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"0A",X"00",X"0A",X"00",X"02",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"08",X"00",X"0A",X"AA",X"08",X"00",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"00",X"A8",X"02",X"80",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"A0",X"0A",X"A0",X"08",X"20",X"08",X"20",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"08",X"0A",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"8A",X"0A",X"AA",X"08",X"A0",X"08",X"80",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"08",X"AA",X"08",X"AA",X"08",X"82",X"08",X"82",X"0A",X"82",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"00",X"08",X"02",X"0A",X"AA",X"0A",X"AA",X"08",X"02",X"0A",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"0A",X"AA",X"00",X"02",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"00",X"0A",X"A0",X"00",X"2A",X"0A",X"AA",X"0A",X"A0",X"08",X"00",X"00",X"00",
|
||||
X"00",X"00",X"0A",X"AA",X"00",X"02",X"0A",X"AA",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"0A",X"2A",X"00",X"A0",X"0A",X"80",X"0A",X"20",X"08",X"0A",X"00",X"00",
|
||||
X"00",X"00",X"08",X"00",X"0A",X"00",X"00",X"AA",X"02",X"AA",X"0A",X"80",X"08",X"00",X"00",X"00",
|
||||
X"00",X"00",X"08",X"02",X"0A",X"02",X"0A",X"82",X"08",X"A2",X"08",X"2A",X"08",X"0A",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"3D",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55",
|
||||
X"35",X"55",X"35",X"55",X"35",X"55",X"35",X"55",X"3D",X"55",X"3D",X"55",X"3D",X"55",X"3D",X"55",
|
||||
X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"35",X"55",X"35",X"55",X"35",X"55",X"35",X"55",
|
||||
X"00",X"15",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"01",
|
||||
X"00",X"00",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"2A",X"AA",X"2A",X"AA",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"2A",X"00",X"02",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"FF",X"AA",X"FF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AA",
|
||||
X"AF",X"FF",X"AF",X"FE",X"BF",X"FF",X"AF",X"F5",X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",
|
||||
X"00",X"00",X"00",X"FF",X"FF",X"FF",X"BF",X"FF",X"AA",X"BF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"9A",X"4A",X"96",X"52",X"55",X"52",
|
||||
X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"FF",X"FF",X"FF",X"FF",X"5A",X"AA",X"5A",X"AA",X"55",X"FF",X"55",X"AA",
|
||||
X"9A",X"55",X"AA",X"55",X"AA",X"95",X"AA",X"95",X"AA",X"55",X"AA",X"55",X"AA",X"A5",X"AA",X"95",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"AA",X"55",X"02",X"55",X"56",X"55",X"56",
|
||||
X"AA",X"AA",X"AA",X"AA",X"0A",X"AA",X"5A",X"AA",X"50",X"AA",X"55",X"2A",X"55",X"6A",X"55",X"40",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"99",X"69",X"AA",X"A9",X"95",X"9A",X"A9",X"5A",X"AA",X"AA",X"AA",X"AA",X"AA",X"56",X"AA",X"A6",
|
||||
X"AA",X"AA",X"6A",X"AA",X"5A",X"AA",X"56",X"AA",X"55",X"80",X"55",X"4A",X"55",X"4A",X"55",X"4A",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"42",X"A9",X"50",X"A5",X"94",X"95",X"A4",X"95",X"A4",X"15",X"A5",X"05",X"A5",X"45",X"A9",X"45",
|
||||
X"A5",X"09",X"A9",X"45",X"A9",X"45",X"A9",X"41",X"A9",X"41",X"A9",X"51",X"AA",X"51",X"AA",X"51",
|
||||
X"AA",X"95",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A9",X"AA",X"A9",X"AA",X"AA",
|
||||
X"15",X"2A",X"15",X"2A",X"15",X"2A",X"15",X"2A",X"15",X"2A",X"15",X"2A",X"14",X"2A",X"50",X"AA",
|
||||
X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"2A",
|
||||
X"55",X"10",X"55",X"04",X"55",X"05",X"55",X"45",X"55",X"41",X"55",X"49",X"55",X"49",X"55",X"49",
|
||||
X"54",X"AA",X"A5",X"0A",X"A5",X"4A",X"F5",X"4A",X"A5",X"4A",X"65",X"42",X"69",X"50",X"69",X"54",
|
||||
X"FF",X"D4",X"FF",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"5F",X"FD",X"55",X"55",X"55",X"55",
|
||||
X"94",X"94",X"94",X"94",X"94",X"94",X"F5",X"14",X"A9",X"52",X"A9",X"52",X"A9",X"52",X"BD",X"0A",
|
||||
X"4A",X"A5",X"4A",X"A5",X"52",X"A5",X"52",X"95",X"52",X"95",X"52",X"94",X"52",X"92",X"52",X"92",
|
||||
X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",
|
||||
X"95",X"25",X"95",X"29",X"55",X"2A",X"54",X"2A",X"50",X"AA",X"52",X"AA",X"52",X"AA",X"52",X"AA",
|
||||
X"A9",X"52",X"A9",X"42",X"A9",X"4A",X"A9",X"4A",X"A5",X"0A",X"A5",X"2A",X"95",X"2A",X"95",X"29",
|
||||
X"AA",X"52",X"AA",X"52",X"A9",X"50",X"A9",X"44",X"A9",X"44",X"A9",X"45",X"A9",X"45",X"A9",X"41",
|
||||
X"52",X"AA",X"54",X"AA",X"54",X"2A",X"55",X"2A",X"55",X"0A",X"55",X"4A",X"55",X"42",X"55",X"52",
|
||||
X"55",X"52",X"55",X"54",X"95",X"54",X"95",X"55",X"95",X"55",X"95",X"55",X"A5",X"55",X"A5",X"55",
|
||||
X"52",X"A9",X"52",X"A6",X"52",X"A6",X"52",X"99",X"50",X"A6",X"54",X"99",X"54",X"66",X"54",X"99",
|
||||
X"94",X"A6",X"94",X"29",X"95",X"26",X"95",X"09",X"95",X"4A",X"95",X"49",X"A5",X"42",X"A5",X"52",
|
||||
X"95",X"0A",X"A5",X"4A",X"A5",X"4A",X"A5",X"4A",X"A5",X"42",X"A9",X"52",X"A9",X"52",X"A9",X"52",
|
||||
X"AD",X"51",X"FD",X"51",X"FD",X"51",X"FD",X"54",X"FD",X"54",X"BD",X"50",X"FF",X"51",X"AB",X"45",
|
||||
X"A9",X"54",X"A5",X"54",X"A5",X"50",X"A5",X"52",X"A5",X"42",X"A5",X"49",X"95",X"05",X"55",X"2A",
|
||||
X"66",X"66",X"99",X"99",X"66",X"66",X"99",X"99",X"66",X"66",X"99",X"99",X"66",X"66",X"99",X"99",
|
||||
X"6E",X"54",X"9B",X"54",X"6E",X"54",X"99",X"54",X"ED",X"54",X"B9",X"54",X"AD",X"54",X"A9",X"54",
|
||||
X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"2A",
|
||||
X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",
|
||||
X"AA",X"55",X"AA",X"54",X"AA",X"54",X"AA",X"54",X"AA",X"54",X"AA",X"54",X"A9",X"50",X"A9",X"52",
|
||||
X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",
|
||||
X"65",X"55",X"69",X"55",X"A9",X"55",X"A9",X"55",X"96",X"55",X"96",X"55",X"A9",X"55",X"95",X"A5",
|
||||
X"A9",X"55",X"A9",X"55",X"A9",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"95",X"AA",X"95",
|
||||
X"AA",X"AA",X"2A",X"AA",X"2A",X"AA",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"02",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"95",X"A5",X"55",X"A5",X"55",X"95",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"9A",X"A9",X"5A",X"AA",X"AA",X"A6",X"AA",X"A6",X"AA",X"5A",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"A6",X"AA",X"A6",X"AA",X"9A",X"AA",X"9A",X"AA",X"6A",X"95",X"AA",X"6A",X"AA",X"AA",X"AA",
|
||||
X"A9",X"5A",X"AA",X"56",X"AA",X"95",X"AA",X"A5",X"AA",X"A9",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"55",X"56",X"55",X"5A",X"55",X"6A",X"55",X"AA",X"56",X"AA",X"5A",X"AA",X"6A",X"AA",X"AA",X"AA",
|
||||
X"AA",X"A9",X"AA",X"A5",X"AA",X"95",X"AA",X"55",X"A9",X"55",X"A5",X"55",X"95",X"55",X"55",X"55",
|
||||
X"AA",X"AA",X"6A",X"AA",X"5A",X"AA",X"56",X"AA",X"55",X"AA",X"55",X"6A",X"55",X"5A",X"55",X"56",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"55",X"54",X"55",X"52",X"55",X"4A",X"55",X"0A",X"54",X"2A",X"54",X"AA",X"52",X"AA",X"42",X"AA",
|
||||
X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"D5",X"FF",X"D5",
|
||||
X"AA",X"82",X"A8",X"08",X"80",X"A0",X"2A",X"82",X"AA",X"28",X"80",X"AA",X"AA",X"AA",X"AA",X"0A",
|
||||
X"AA",X"8B",X"02",X"8F",X"22",X"8C",X"22",X"80",X"20",X"02",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"AA",X"2A",X"A8",X"2A",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",
|
||||
X"AA",X"8A",X"AA",X"8A",X"AA",X"0A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",
|
||||
X"AF",X"FC",X"FF",X"02",X"F0",X"0A",X"00",X"AA",X"0A",X"AB",X"AA",X"AE",X"AA",X"FA",X"AB",X"AA",
|
||||
X"AA",X"FC",X"FF",X"02",X"C0",X"AA",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"AA",X"B0",
|
||||
X"54",X"00",X"14",X"2A",X"10",X"FF",X"13",X"FF",X"0F",X"C0",X"3C",X"00",X"00",X"AA",X"82",X"AA",
|
||||
X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"0A",
|
||||
X"55",X"55",X"55",X"54",X"55",X"40",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",X"55",X"4A",
|
||||
X"00",X"0F",X"FF",X"FA",X"FE",X"AA",X"02",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"FF",X"FF",X"FF",X"00",X"00",X"2A",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"52",X"AA",X"52",X"AA",X"4A",X"AA",X"4A",X"AA",X"4A",X"AA",X"4A",X"AA",X"4A",X"AA",X"6A",X"AA",
|
||||
X"55",X"40",X"55",X"42",X"55",X"2A",X"55",X"2A",X"54",X"AA",X"54",X"AA",X"54",X"AA",X"54",X"FF",
|
||||
X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"00",X"AA",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BF",X"FF",X"EA",X"AA",X"AA",
|
||||
X"2A",X"AF",X"2B",X"FF",X"3F",X"FF",X"3F",X"FC",X"3F",X"F0",X"30",X"00",X"00",X"00",X"80",X"2A",
|
||||
X"54",X"3F",X"54",X"00",X"54",X"00",X"54",X"2A",X"54",X"2A",X"54",X"2A",X"54",X"2A",X"50",X"AA",
|
||||
X"55",X"52",X"55",X"52",X"55",X"4A",X"55",X"4A",X"55",X"2A",X"55",X"2A",X"55",X"2A",X"55",X"3F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"C0",X"03",X"C0",X"0F",X"C0",X"3F",X"C0",X"FF",X"C0",X"FF",X"FF",
|
||||
X"00",X"08",X"00",X"28",X"00",X"A8",X"02",X"A8",X"0A",X"A0",X"2A",X"A0",X"AA",X"80",X"FF",X"FF",
|
||||
X"FF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"AF",X"AA",X"AB",
|
||||
X"AA",X"AB",X"AA",X"AF",X"AA",X"AF",X"AA",X"BF",X"AA",X"FF",X"AB",X"FF",X"AF",X"FF",X"BF",X"FF",
|
||||
X"FD",X"55",X"FD",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"D5",
|
||||
X"AA",X"AA",X"6A",X"AA",X"5A",X"AA",X"56",X"AA",X"55",X"AA",X"55",X"6A",X"55",X"5A",X"55",X"56",
|
||||
X"55",X"55",X"55",X"55",X"59",X"AA",X"59",X"AA",X"59",X"96",X"59",X"96",X"5A",X"96",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"55",X"65",X"55",X"65",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"55",X"56",X"55",X"5A",X"55",X"6A",X"55",X"AA",X"56",X"AA",X"5A",X"AA",X"6A",X"AA",
|
||||
X"55",X"55",X"55",X"5A",X"55",X"5A",X"55",X"56",X"55",X"56",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"00",X"00",X"00",X"03",X"30",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"C0",X"00",X"00",X"03",
|
||||
X"AA",X"A9",X"AA",X"A5",X"AA",X"95",X"AA",X"55",X"A9",X"55",X"A5",X"55",X"95",X"55",X"55",X"55",
|
||||
X"AA",X"A5",X"AA",X"A5",X"AA",X"55",X"AA",X"55",X"A5",X"55",X"A5",X"55",X"55",X"55",X"55",X"55",
|
||||
X"2A",X"82",X"8A",X"A0",X"82",X"A8",X"A0",X"2A",X"82",X"AA",X"8A",X"A8",X"2A",X"A0",X"AA",X"A8",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"AA",X"AF",X"AA",X"FF",X"AB",X"FF",X"AF",X"FF",X"AB",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"AF",
|
||||
X"A9",X"55",X"A9",X"55",X"A9",X"55",X"AA",X"55",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",X"AA",X"A5",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"AA",X"AA",X"AA",X"A8",X"AA",X"A2",X"AA",X"0A",X"80",X"A8",X"2A",X"A2",X"AA",X"A8",X"02",X"00",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"03",X"00",X"02",X"C0",X"02",X"C0",X"00",X"B0",X"00",X"2C",X"00",X"2C",X"00",X"0B",X"00",X"02",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"C0",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"AA",X"0A",X"AA",X"A2",X"A0",X"2A",X"8A",X"A8",X"2A",X"A2",X"AA",X"8A",X"AA",X"2A",X"0A",X"AA",
|
||||
X"55",X"5F",X"55",X"FF",X"57",X"FF",X"5F",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"7F",X"55",X"5F",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"0A",X"B0",X"AB",X"00",X"C0",X"00",
|
||||
X"FC",X"3F",X"FC",X"F3",X"F3",X"C3",X"F3",X"03",X"F3",X"C3",X"F0",X"F3",X"F0",X"3F",X"F0",X"0F",
|
||||
X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",
|
||||
X"F0",X"0F",X"F0",X"3F",X"F0",X"F3",X"F0",X"C3",X"F3",X"03",X"F3",X"C3",X"FC",X"33",X"FC",X"3F",
|
||||
X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",
|
||||
X"FF",X"FF",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"FF",X"FF",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"59",X"56",X"59",X"56",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"55",X"56",X"55",X"56",X"5A",X"AA",X"5A",X"AA",X"59",X"56",X"59",X"56",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"96",X"5A",X"96",X"59",X"96",X"59",X"96",X"59",X"AA",X"59",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"59",X"96",X"59",X"96",X"59",X"96",X"59",X"96",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"55",X"65",X"55",X"65",X"56",X"A5",X"56",X"A5",X"55",X"55",
|
||||
X"55",X"55",X"59",X"AA",X"59",X"AA",X"59",X"96",X"59",X"96",X"59",X"96",X"5A",X"96",X"55",X"55",
|
||||
X"55",X"55",X"59",X"6A",X"59",X"6A",X"59",X"66",X"59",X"66",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"59",X"55",X"59",X"55",X"5A",X"55",X"55",X"55",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"59",X"96",X"59",X"96",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"AA",X"5A",X"AA",X"59",X"66",X"59",X"66",X"5A",X"A6",X"5A",X"A6",X"55",X"55",
|
||||
X"00",X"A0",X"02",X"A0",X"0A",X"E0",X"2B",X"E0",X"AF",X"E0",X"BF",X"E0",X"FF",X"EA",X"FF",X"FF",
|
||||
X"55",X"55",X"59",X"56",X"59",X"96",X"59",X"96",X"59",X"96",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"2A",X"A8",X"80",X"02",X"88",X"22",X"88",X"22",X"88",X"22",X"82",X"82",X"80",X"02",X"2A",X"A8",
|
||||
X"55",X"55",X"55",X"56",X"59",X"56",X"59",X"56",X"59",X"56",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"9A",X"5A",X"AA",X"59",X"A5",X"59",X"95",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"56",X"A9",X"5A",X"AA",X"5A",X"5A",X"59",X"56",X"5A",X"AA",X"5A",X"AA",X"55",X"55",
|
||||
X"55",X"55",X"59",X"56",X"59",X"56",X"5A",X"AA",X"5A",X"AA",X"59",X"56",X"59",X"56",X"55",X"55",
|
||||
X"55",X"55",X"5A",X"55",X"59",X"56",X"5A",X"AA",X"5A",X"AA",X"59",X"56",X"5A",X"55",X"55",X"55",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
|
||||
X"00",X"00",X"00",X"00",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;
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
||||
---------------------------------------------------------------------------------
|
||||
-- Midway 90010 CPU board, 91399 Video board, 90913 Sound board
|
||||
-- Satans Hollow by Dar (darfpga@aol.fr) (09/11/2019)
|
||||
-- http://darfpga.blogspot.fr
|
||||
---------------------------------------------------------------------------------
|
||||
@ -151,26 +152,12 @@ port(
|
||||
separate_audio : in std_logic;
|
||||
audio_out_l : out std_logic_vector(15 downto 0);
|
||||
audio_out_r : out std_logic_vector(15 downto 0);
|
||||
|
||||
coin1 : in std_logic;
|
||||
coin2 : in std_logic;
|
||||
start1 : in std_logic;
|
||||
start2 : in std_logic;
|
||||
|
||||
left : in std_logic;
|
||||
right : in std_logic;
|
||||
fire1 : in std_logic;
|
||||
fire2 : in std_logic;
|
||||
|
||||
left_c : in std_logic;
|
||||
right_c : in std_logic;
|
||||
fire1_c : in std_logic;
|
||||
fire2_c : in std_logic;
|
||||
|
||||
coin_meters : in std_logic;
|
||||
cocktail : in std_logic;
|
||||
|
||||
service : in std_logic;
|
||||
input_0 : in std_logic_vector( 7 downto 0);
|
||||
input_1 : in std_logic_vector( 7 downto 0);
|
||||
input_2 : in std_logic_vector( 7 downto 0);
|
||||
input_3 : in std_logic_vector( 7 downto 0);
|
||||
input_4 : in std_logic_vector( 7 downto 0);
|
||||
|
||||
cpu_rom_addr : out std_logic_vector(15 downto 0);
|
||||
cpu_rom_do : in std_logic_vector(7 downto 0);
|
||||
@ -179,7 +166,10 @@ port(
|
||||
snd_rom_addr : out std_logic_vector(13 downto 0);
|
||||
snd_rom_do : in std_logic_vector(7 downto 0);
|
||||
snd_rom_rd : out std_logic;
|
||||
dbg_cpu_addr : out std_logic_vector(15 downto 0)
|
||||
|
||||
dl_addr : in std_logic_vector(16 downto 0);
|
||||
dl_wr : in std_logic;
|
||||
dl_data : in std_logic_vector( 7 downto 0)
|
||||
);
|
||||
end satans_hollow;
|
||||
|
||||
@ -210,31 +200,19 @@ architecture struct of satans_hollow is
|
||||
signal cpu_ioreq_n : std_logic;
|
||||
signal cpu_irq_n : std_logic;
|
||||
signal cpu_m1_n : std_logic;
|
||||
signal cpu_int_ack_n : std_logic;
|
||||
|
||||
signal ctc_controler_we : std_logic;
|
||||
signal ctc_controler_do : std_logic_vector(7 downto 0);
|
||||
signal ctc_int_ack : std_logic;
|
||||
signal ctc_int_ack_phase : std_logic_vector(1 downto 0);
|
||||
|
||||
signal ctc_counter_0_we : std_logic;
|
||||
-- signal ctc_counter_0_trg : std_logic;
|
||||
signal ctc_counter_0_do : std_logic_vector(7 downto 0);
|
||||
signal ctc_counter_0_int : std_logic;
|
||||
|
||||
signal ctc_counter_1_we : std_logic;
|
||||
-- signal ctc_counter_1_trg : std_logic;
|
||||
signal ctc_counter_1_do : std_logic_vector(7 downto 0);
|
||||
signal ctc_counter_1_int : std_logic;
|
||||
|
||||
signal ctc_counter_2_we : std_logic;
|
||||
-- signal ctc_counter_2_trg : std_logic;
|
||||
signal ctc_counter_2_do : std_logic_vector(7 downto 0);
|
||||
signal ctc_counter_2_int : std_logic;
|
||||
|
||||
signal ctc_counter_3_we : std_logic;
|
||||
signal ctc_counter_1_trg : std_logic;
|
||||
signal ctc_counter_3_trg : std_logic;
|
||||
signal ctc_counter_3_do : std_logic_vector(7 downto 0);
|
||||
signal ctc_counter_3_int : std_logic;
|
||||
|
||||
signal ctc_ce : std_logic;
|
||||
signal ctc_do : std_logic_vector(7 downto 0);
|
||||
|
||||
-- signal cpu_rom_do : std_logic_vector( 7 downto 0);
|
||||
|
||||
signal wram_we : std_logic;
|
||||
@ -306,26 +284,17 @@ architecture struct of satans_hollow is
|
||||
|
||||
signal ssio_iowe : std_logic;
|
||||
signal ssio_do : std_logic_vector(7 downto 0);
|
||||
|
||||
signal input_0 : std_logic_vector(7 downto 0);
|
||||
signal input_1 : std_logic_vector(7 downto 0);
|
||||
signal input_2 : std_logic_vector(7 downto 0);
|
||||
signal input_3 : std_logic_vector(7 downto 0);
|
||||
|
||||
|
||||
signal bg_graphics_1_we : std_logic;
|
||||
signal bg_graphics_2_we : std_logic;
|
||||
signal sprite_graphics_we : std_logic;
|
||||
|
||||
begin
|
||||
|
||||
clock_vid <= clock_40;
|
||||
clock_vidn <= not clock_40;
|
||||
reset_n <= not reset;
|
||||
|
||||
-- debug
|
||||
process (reset, clock_vid)
|
||||
begin
|
||||
if rising_edge(clock_vid) and cpu_ena ='1' and cpu_mreq_n ='0' then
|
||||
dbg_cpu_addr<= "000000000000000"&service; --cpu_addr;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
-- make enables clock from clock_vid
|
||||
process (clock_vid, reset)
|
||||
begin
|
||||
@ -356,35 +325,34 @@ begin
|
||||
hcnt <= (others=>'0');
|
||||
vcnt <= (others=>'0');
|
||||
top_frame <= '0';
|
||||
else
|
||||
if rising_edge(clock_vid) then
|
||||
if pix_ena = '1' then
|
||||
|
||||
hcnt <= hcnt + 1;
|
||||
if hcnt = 633 then
|
||||
hcnt <= (others=>'0');
|
||||
vcnt <= vcnt + 1;
|
||||
if (vcnt = 524 and tv15Khz_mode = '0') or (vcnt = 263 and tv15Khz_mode = '1') then
|
||||
vcnt <= (others=>'0');
|
||||
top_frame <= not top_frame;
|
||||
end if;
|
||||
elsif rising_edge(clock_vid) then
|
||||
if pix_ena = '1' then
|
||||
|
||||
hcnt <= hcnt + 1;
|
||||
if hcnt = 633 then
|
||||
hcnt <= (others=>'0');
|
||||
vcnt <= vcnt + 1;
|
||||
if (vcnt = 524 and tv15Khz_mode = '0') or (vcnt = 263 and tv15Khz_mode = '1') then
|
||||
vcnt <= (others=>'0');
|
||||
top_frame <= not top_frame;
|
||||
end if;
|
||||
|
||||
if tv15Khz_mode = '0' then
|
||||
-- progessive mode
|
||||
|
||||
if vcnt = 490-1 then video_vs <= '0'; end if; -- front porch 10
|
||||
if vcnt = 492-1 then video_vs <= '1'; end if; -- sync pulse 2
|
||||
-- back porch 33
|
||||
end if;
|
||||
|
||||
if tv15Khz_mode = '0' then
|
||||
-- progessive mode
|
||||
|
||||
if vcnt = 490-1 then video_vs <= '0'; end if; -- front porch 10
|
||||
if vcnt = 492-1 then video_vs <= '1'; end if; -- sync pulse 2
|
||||
-- back porch 33
|
||||
|
||||
if hcnt = 512+13+9 then video_hs <= '0'; end if; -- front porch 16/25*20 = 13
|
||||
if hcnt = 512+90+9 then video_hs <= '1'; end if; -- sync pulse 96/25*20 = 77
|
||||
-- back porch 48/25*20 = 38
|
||||
video_blankn <= '0';
|
||||
if hcnt >= 2+16 and hcnt < 514+16 and
|
||||
vcnt >= 2 and vcnt < 481 then video_blankn <= '1';end if;
|
||||
if hcnt = 512+13+9 then video_hs <= '0'; end if; -- front porch 16/25*20 = 13
|
||||
if hcnt = 512+90+9 then video_hs <= '1'; end if; -- sync pulse 96/25*20 = 77
|
||||
-- back porch 48/25*20 = 38
|
||||
video_blankn <= '0';
|
||||
if hcnt >= 2+16 and hcnt < 514+16 and
|
||||
vcnt >= 2 and vcnt < 481 then video_blankn <= '1';end if;
|
||||
|
||||
else -- interlaced mode
|
||||
else -- interlaced mode
|
||||
|
||||
if hcnt = 530+18 then
|
||||
hs_cnt <= (others => '0');
|
||||
@ -396,14 +364,17 @@ begin
|
||||
else
|
||||
hs_cnt <= hs_cnt + 1;
|
||||
end if;
|
||||
|
||||
|
||||
if vcnt = 260 then video_vs <= '0'; end if;
|
||||
if vcnt = 262 then video_vs <= '1'; end if;
|
||||
|
||||
video_blankn <= '0';
|
||||
if hcnt >= 2+16 and hcnt < 514+16 and
|
||||
vcnt >= 1 and vcnt < 241 then video_blankn <= '1';end if;
|
||||
|
||||
|
||||
if hs_cnt = 0 then hsync0 <= '0';
|
||||
elsif hs_cnt = 47 then hsync0 <= '1';
|
||||
if hs_cnt = 0 then hsync0 <= '0'; video_hs <= '0';
|
||||
elsif hs_cnt = 47 then hsync0 <= '1'; video_hs <= '1';
|
||||
end if;
|
||||
|
||||
if hs_cnt = 0 then hsync1 <= '0';
|
||||
@ -447,50 +418,29 @@ begin
|
||||
elsif vs_cnt = 11 then video_csync <= hsync0;
|
||||
else video_csync <= hsync0;
|
||||
end if;
|
||||
|
||||
|
||||
end if;
|
||||
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
--------------------
|
||||
-- players inputs --
|
||||
--------------------
|
||||
-- "111" for test & tilt & unused
|
||||
|
||||
input_0 <= not service & "111" & not start2 & not start1 & not coin2 & not coin1;
|
||||
input_1 <= not fire1_c & not fire2_c & not right_c & not left_c & not fire1 & not fire2 & not right & not left;
|
||||
input_2 <= x"FF";
|
||||
input_3 <= "111111" & cocktail & coin_meters;
|
||||
|
||||
------------------------------------------
|
||||
-- cpu data input with address decoding --
|
||||
------------------------------------------
|
||||
cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"C" else -- 0000-BFFF
|
||||
wram_do when cpu_mreq_n = '0' and (cpu_addr and X"E000") = x"C000" else -- C000-C7FF + mirroring 1800
|
||||
sp_ram_cache_do_r when cpu_mreq_n = '0' and (cpu_addr and x"E800") = x"E000" else -- sprite ram E000-E1FF + mirroring 1600
|
||||
bg_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"E800") = x"E800" else -- video ram E800-EFFF + mirroring 1000
|
||||
ctc_controler_do when cpu_ioreq_n = '0' and cpu_m1_n = '0' else -- ctc ctrl (interrupt vector)
|
||||
ssio_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 5) = "000" else -- 0x00-0x1F
|
||||
ctc_counter_3_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else
|
||||
ctc_counter_2_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else
|
||||
ctc_counter_1_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else
|
||||
ctc_counter_0_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else
|
||||
X"FF";
|
||||
|
||||
cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"C" else -- 0000-BFFF
|
||||
wram_do when cpu_mreq_n = '0' and (cpu_addr and X"E000") = x"C000" else -- C000-C7FF + mirroring 1800
|
||||
sp_ram_cache_do_r when cpu_mreq_n = '0' and (cpu_addr and x"E800") = x"E000" else -- sprite ram E000-E1FF + mirroring 1600
|
||||
bg_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"E800") = x"E800" else -- video ram E800-EFFF + mirroring 1000
|
||||
ctc_do when cpu_int_ack_n = '0' or ctc_ce = '1' else -- ctc (interrupt vector or counter data)
|
||||
ssio_do when cpu_ioreq_n = '0' and cpu_addr(7 downto 5) = "000" else -- 0x00-0x1F
|
||||
X"FF";
|
||||
|
||||
------------------------------------------------------------------------
|
||||
-- Misc registers : ctc write enable / interrupt acknowledge
|
||||
------------------------------------------------------------------------
|
||||
ctc_counter_3_trg <= '1' when (vcnt = 246 and tv15Khz_mode = '1') or (vcnt = 493 and tv15Khz_mode = '0')else '0';
|
||||
ctc_counter_3_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F3" else '0';
|
||||
ctc_counter_2_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F2" else '0';
|
||||
ctc_counter_1_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F1" else '0';
|
||||
ctc_counter_0_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0';
|
||||
ctc_controler_we <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' and cpu_addr(7 downto 0) = X"F0" else '0'; -- only channel 0 receive int vector
|
||||
ctc_int_ack <= '1' when cpu_ioreq_n = '0' and cpu_m1_n = '0' else '0';
|
||||
ctc_counter_3_trg <= '1' when top_frame = '1' and ((vcnt = 246 and tv15Khz_mode = '1') or (vcnt = 493 and tv15Khz_mode = '0')) else '0';
|
||||
cpu_int_ack_n <= cpu_ioreq_n or cpu_m1_n;
|
||||
ctc_ce <= '1' when cpu_ioreq_n = '0' and cpu_addr(7 downto 4) = x"F" else '0';
|
||||
|
||||
------------------------------------------
|
||||
-- write enable / ram access from CPU --
|
||||
@ -688,92 +638,28 @@ port map(
|
||||
DO => cpu_do
|
||||
);
|
||||
|
||||
-- CTC interrupt controler Z80-CTC (MK3882)
|
||||
ctc_controler : entity work.ctc_controler
|
||||
port map(
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
|
||||
d_in => cpu_do,
|
||||
load_data => ctc_controler_we,
|
||||
int_ack => ctc_int_ack,
|
||||
|
||||
int_pulse_0 => ctc_counter_0_int,
|
||||
int_pulse_1 => ctc_counter_1_int,
|
||||
int_pulse_2 => ctc_counter_2_int,
|
||||
int_pulse_3 => ctc_counter_3_int,
|
||||
|
||||
d_out => ctc_controler_do,
|
||||
int_n => cpu_irq_n
|
||||
);
|
||||
|
||||
ctc_counter_0 : entity work.ctc_counter
|
||||
port map(
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
|
||||
d_in => cpu_do,
|
||||
load_data => ctc_counter_0_we,
|
||||
|
||||
clk_trg => '0',
|
||||
|
||||
d_out => ctc_counter_0_do,
|
||||
zc_to => open, -- zc/to #0 (pin 7) connected to clk_trg #1 (pin 22) on schematics (seems to be not used)
|
||||
int_pulse => ctc_counter_0_int
|
||||
|
||||
);
|
||||
|
||||
ctc_counter_1 : entity work.ctc_counter
|
||||
port map(
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
|
||||
d_in => cpu_do,
|
||||
load_data => ctc_counter_1_we,
|
||||
|
||||
clk_trg => '0',
|
||||
|
||||
d_out => ctc_counter_1_do,
|
||||
zc_to => open,
|
||||
int_pulse => ctc_counter_1_int
|
||||
|
||||
);
|
||||
|
||||
ctc_counter_2 : entity work.ctc_counter
|
||||
port map(
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
|
||||
d_in => cpu_do,
|
||||
load_data => ctc_counter_2_we,
|
||||
|
||||
clk_trg => '0',
|
||||
|
||||
d_out => ctc_counter_2_do,
|
||||
zc_to => open,
|
||||
int_pulse => ctc_counter_2_int
|
||||
|
||||
);
|
||||
|
||||
ctc_counter_3 : entity work.ctc_counter
|
||||
port map(
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
|
||||
d_in => cpu_do,
|
||||
load_data => ctc_counter_3_we,
|
||||
|
||||
clk_trg => ctc_counter_3_trg,
|
||||
|
||||
d_out => ctc_counter_3_do,
|
||||
zc_to => open,
|
||||
int_pulse => ctc_counter_3_int
|
||||
|
||||
-- Z80-CTC (MK3882)
|
||||
z80ctc : entity work.z80ctc_top
|
||||
port map (
|
||||
clock => clock_vid,
|
||||
clock_ena => cpu_ena,
|
||||
reset => reset,
|
||||
din => cpu_do,
|
||||
cpu_din => cpu_di,
|
||||
dout => ctc_do,
|
||||
ce_n => not ctc_ce,
|
||||
cs => cpu_addr(1 downto 0),
|
||||
m1_n => cpu_m1_n,
|
||||
iorq_n => cpu_ioreq_n,
|
||||
rd_n => cpu_rd_n,
|
||||
int_n => cpu_irq_n,
|
||||
trg0 => '0',
|
||||
to0 => ctc_counter_1_trg,
|
||||
trg1 => ctc_counter_1_trg,
|
||||
to1 => open,
|
||||
trg2 => '0',
|
||||
to2 => open,
|
||||
trg3 => ctc_counter_3_trg
|
||||
);
|
||||
|
||||
-- cpu program ROM 0x0000-0xBFFF
|
||||
@ -853,60 +739,46 @@ port map(
|
||||
);
|
||||
|
||||
-- background graphics ROM G3
|
||||
bg_graphics_1 : entity work.satans_hollow_bg_bits_1
|
||||
bg_graphics_1 : entity work.dpram
|
||||
generic map( dWidth => 8, aWidth => 13)
|
||||
port map(
|
||||
clk => clock_vidn,
|
||||
addr => bg_code_line,
|
||||
data => bg_graphx1_do
|
||||
clk_a => clock_vidn,
|
||||
addr_a => bg_code_line,
|
||||
q_a => bg_graphx1_do,
|
||||
clk_b => clock_vid,
|
||||
addr_b => dl_addr(12 downto 0),
|
||||
we_b => bg_graphics_1_we,
|
||||
d_b => dl_data
|
||||
);
|
||||
bg_graphics_1_we <= '1' when dl_wr = '1' and dl_addr(16 downto 13) = "1000" else '0'; -- 10000-11FFF
|
||||
|
||||
-- background graphics ROM G4
|
||||
bg_graphics_2 : entity work.satans_hollow_bg_bits_2
|
||||
bg_graphics_2 : entity work.dpram
|
||||
generic map( dWidth => 8, aWidth => 13)
|
||||
port map(
|
||||
clk => clock_vidn,
|
||||
addr => bg_code_line,
|
||||
data => bg_graphx2_do
|
||||
clk_a => clock_vidn,
|
||||
addr_a => bg_code_line,
|
||||
q_a => bg_graphx2_do,
|
||||
clk_b => clock_vid,
|
||||
addr_b => dl_addr(12 downto 0),
|
||||
we_b => bg_graphics_2_we,
|
||||
d_b => dl_data
|
||||
);
|
||||
|
||||
----sprite graphics ROM 1E
|
||||
--sprite_graphics_1 : entity work.satans_hollow_sp_bits_1
|
||||
--port map(
|
||||
-- clk => clock_vidn,
|
||||
-- addr => sp_code_line,
|
||||
-- data => sp_graphx1_do
|
||||
--);
|
||||
--
|
||||
---- sprite graphics ROM 1D
|
||||
--sprite_graphics_2 : entity work.satans_hollow_sp_bits_2
|
||||
--port map(
|
||||
-- clk => clock_vidn,
|
||||
-- addr => sp_code_line,
|
||||
-- data => sp_graphx2_do
|
||||
--);
|
||||
--
|
||||
---- sprite graphics ROM 1B
|
||||
--sprite_graphics_3 : entity work.satans_hollow_sp_bits_3
|
||||
--port map(
|
||||
-- clk => clock_vidn,
|
||||
-- addr => sp_code_line,
|
||||
-- data => sp_graphx3_do
|
||||
--);
|
||||
--
|
||||
---- sprite graphics ROM 1A
|
||||
--sprite_graphics_4 : entity work.satans_hollow_sp_bits_4
|
||||
--port map(
|
||||
-- clk => clock_vidn,
|
||||
-- addr => sp_code_line,
|
||||
-- data => sp_graphx4_do
|
||||
--);
|
||||
bg_graphics_2_we <= '1' when dl_wr = '1' and dl_addr(16 downto 13) = "1001" else '0'; -- 12000-13FFF
|
||||
|
||||
-- sprite graphics ROM 1E/1D/1B/1A
|
||||
sprite_graphics : entity work.satans_hollow_sp_bits
|
||||
sprite_graphics : entity work.dpram
|
||||
generic map( dWidth => 8, aWidth => 15)
|
||||
port map(
|
||||
clk => clock_vidn,
|
||||
addr => sp_code_line_mux,
|
||||
data => sp_graphx_do
|
||||
clk_a => clock_vidn,
|
||||
addr_a => sp_code_line_mux,
|
||||
q_a => sp_graphx_do,
|
||||
clk_b => clock_vid,
|
||||
addr_b => not dl_addr(14) & dl_addr(13 downto 0),
|
||||
we_b => sprite_graphics_we,
|
||||
d_b => dl_data
|
||||
);
|
||||
sprite_graphics_we <= '1' when dl_wr = '1' and dl_addr(16) = '1' else '0'; -- 14000-1BFFF
|
||||
|
||||
--satans_hollow_sound_board
|
||||
sound_board : entity work.satans_hollow_sound_board
|
||||
@ -924,7 +796,7 @@ port map(
|
||||
input_1 => input_1,
|
||||
input_2 => input_2,
|
||||
input_3 => input_3,
|
||||
input_4 => x"FF",
|
||||
input_4 => input_4,
|
||||
|
||||
separate_audio => separate_audio,
|
||||
audio_out_l => audio_out_l,
|
||||
|
||||
@ -162,6 +162,8 @@ localparam PORT_SND = 2'd1;
|
||||
|
||||
reg [2:0] next_port[2];
|
||||
reg [2:0] port[2];
|
||||
reg port1_state;
|
||||
reg port2_state;
|
||||
|
||||
reg refresh;
|
||||
reg [10:0] refresh_cnt;
|
||||
@ -172,7 +174,7 @@ always @(*) begin
|
||||
if (refresh) begin
|
||||
next_port[0] = PORT_NONE;
|
||||
addr_latch_next[0] = addr_latch[0];
|
||||
end else if (port1_req ^ port1_ack) begin
|
||||
end else if (port1_req ^ port1_state) begin
|
||||
next_port[0] = PORT_REQ;
|
||||
addr_latch_next[0] = { 1'b0, port1_a };
|
||||
end else if (cpu1_addr != addr_last[PORT_CPU1]) begin
|
||||
@ -186,7 +188,7 @@ end
|
||||
|
||||
// PORT2: bank 2,3
|
||||
always @(*) begin
|
||||
if (port2_req ^ port2_ack) begin
|
||||
if (port2_req ^ port2_state) begin
|
||||
next_port[1] = PORT_REQ;
|
||||
addr_latch_next[1] = { 1'b1, port2_a };
|
||||
end else if (snd_addr != addr_last2[PORT_SND]) begin
|
||||
@ -243,6 +245,7 @@ always @(posedge clk) begin
|
||||
{ oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we };
|
||||
ds[0] <= port1_ds;
|
||||
din_latch[0] <= port1_d;
|
||||
port1_state <= port1_req;
|
||||
end else begin
|
||||
{ oe_latch[0], we_latch[0] } <= 2'b10;
|
||||
ds[0] <= 2'b11;
|
||||
@ -266,6 +269,7 @@ always @(posedge clk) begin
|
||||
{ oe_latch[1], we_latch[1] } <= { ~port2_we, port2_we };
|
||||
ds[1] <= port2_ds;
|
||||
din_latch[1] <= port2_d;
|
||||
port2_state <= port2_req;
|
||||
end else begin
|
||||
{ oe_latch[1], we_latch[1] } <= 2'b10;
|
||||
ds[1] <= 2'b11;
|
||||
|
||||
46
Arcade_MiST/Midway MCR 2/SatansHollow_MiST/rtl/spinner.vhd
Normal file
46
Arcade_MiST/Midway MCR 2/SatansHollow_MiST/rtl/spinner.vhd
Normal file
@ -0,0 +1,46 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.std_logic_unsigned.all;
|
||||
use ieee.numeric_std.all;
|
||||
|
||||
entity spinner is
|
||||
port(
|
||||
clock_40 : in std_logic;
|
||||
reset : in std_logic;
|
||||
btn_left : in std_logic;
|
||||
btn_right : in std_logic;
|
||||
btn_acc : in std_logic; -- speed up button
|
||||
ctc_zc_to_2 : in std_logic;
|
||||
spin_angle : out std_logic_vector(6 downto 0)
|
||||
);
|
||||
end spinner;
|
||||
|
||||
architecture rtl of spinner is
|
||||
|
||||
signal ctc_zc_to_2_r : std_logic;
|
||||
signal spin_count : std_logic_vector(9 downto 0);
|
||||
|
||||
begin
|
||||
|
||||
spin_angle <= spin_count(9 downto 3);
|
||||
|
||||
process (clock_40, reset)
|
||||
begin
|
||||
if reset = '1' then
|
||||
spin_count <= (others => '0');
|
||||
elsif rising_edge(clock_40) then
|
||||
ctc_zc_to_2_r <= ctc_zc_to_2;
|
||||
|
||||
if ctc_zc_to_2_r ='0' and ctc_zc_to_2 = '1' then
|
||||
if btn_acc = '0' then -- space -- speed up
|
||||
if btn_left = '1' then spin_count <= spin_count - 20; end if; -- left
|
||||
if btn_right = '1' then spin_count <= spin_count + 20; end if; -- right
|
||||
else
|
||||
if btn_left = '1' then spin_count <= spin_count - 55; end if;
|
||||
if btn_right = '1' then spin_count <= spin_count + 55; end if;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
|
||||
end rtl;
|
||||
Loading…
x
Reference in New Issue
Block a user